initial import
[vuplus_webkit] / Source / WebCore / ChangeLog-2010-12-06
1 2010-12-06  Yael Aharon  <yael.aharon@nokia.com>
2
3         Reviewed by Andreas Kling.
4
5         [Qt] Support focus ring outline color for links.
6         https://bugs.webkit.org/show_bug.cgi?id=50428
7
8         Take width and offset into account when drawing focus ring.
9
10         Tests: fast/css/focus-ring-outline-color.html
11                fast/css/focus-ring-outline-offset.html
12                fast/css/focus-ring-outline-width.html
13
14         * platform/graphics/qt/GraphicsContextQt.cpp:
15         (WebCore::GraphicsContext::drawFocusRing):
16
17 2010-12-06  Yael Aharon  <yael.aharon@nokia.com>
18
19         Reviewed by Andreas Kling.
20
21         [Qt] Fix focus ring outline color support
22         https://bugs.webkit.org/show_bug.cgi?id=50325
23
24         * platform/graphics/qt/GraphicsContextQt.cpp:
25         (WebCore::GraphicsContext::drawFocusRing):
26
27         Take the outline width into account when drawing the focus ring of image map.
28         Change the outline-style from dotted to solid. The default outline-width is 
29         5 pixels, and dotted lines just don't make sense anymore.
30         Give the focus ring alpha of 50%, following what other ports do.
31         Save and restore the pen when drawing a focus ring.
32
33 2010-12-06  Andras Becsi  <abecsi@webkit.org>
34
35         Reviewed by Csaba Osztrogonác.
36
37         [Qt][V8] Build fix after r73283.
38
39         No new tests needed.
40
41         * WebCore.pri: Add missing webaudio directory
42         to IDL generator includes.
43
44 2010-12-06  Philippe Normand  <pnormand@igalia.com>
45
46         Reviewed by Martin Robinson.
47
48         [soup] implement ResourceHandle::platformSetDefersLoading
49         https://bugs.webkit.org/show_bug.cgi?id=44158
50
51         * platform/network/soup/ResourceHandleSoup.cpp:
52         (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
53         using the soup_session_{,un}pause_message APIs.
54
55 2010-12-06  Sergio Villar Senin  <svillar@igalia.com>
56
57         Reviewed by Martin Robinson.
58
59         [GTK] Leak in webkit_soup_cache_load if file contents load fails
60         https://bugs.webkit.org/show_bug.cgi?id=50558
61
62         g_file_get_contents() could return an error after allocating a
63         buffer for file contents. We must free that memory before
64         returning.
65
66         * platform/network/soup/cache/webkit/soup-cache.c:
67         (webkit_soup_cache_load): Added a missing g_free().
68
69 2010-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
70
71         Unreviewed, rolling out r73351.
72         http://trac.webkit.org/changeset/73351
73         https://bugs.webkit.org/show_bug.cgi?id=50560
74
75         "The change broke plugin tests in Chromium" (Requested by
76         yurys on #webkit).
77
78         * bindings/js/ScriptCallStackFactory.cpp:
79         (WebCore::ScriptCallStack::stackTrace):
80         * bindings/js/ScriptCallStackFactory.h:
81         * bindings/v8/ScriptCallStackFactory.cpp:
82         (WebCore::toScriptCallFrame):
83         (WebCore::toScriptCallFramesVector):
84         (WebCore::createScriptCallStack):
85         (WebCore::ScriptCallStack::stackTrace):
86         * bindings/v8/ScriptCallStackFactory.h:
87         * bindings/v8/V8ConsoleMessage.cpp:
88         (WebCore::V8ConsoleMessage::handler):
89         * inspector/ScriptCallFrame.cpp:
90         (WebCore::ScriptCallFrame::ScriptCallFrame):
91         (WebCore::ScriptCallFrame::isEqual):
92         (WebCore::ScriptCallFrame::buildInspectorObject):
93         * inspector/ScriptCallFrame.h:
94         (WebCore::ScriptCallFrame::sourceURL):
95         * inspector/ScriptCallStack.h:
96         * inspector/TimelineRecordFactory.cpp:
97         (WebCore::TimelineRecordFactory::createGenericRecord):
98         * inspector/front-end/ConsoleView.js:
99         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
100
101 2010-12-06  Robert Hogan  <robert@webkit.org>
102
103         Reviewed by Kenneth Rohde Christiansen.
104
105         [Qt] Report zero width for zero size fonts
106
107         Report zero width when font size is zero.
108
109         Fixes fast/text/font-size-zero.html
110
111         https://bugs.webkit.org/show_bug.cgi?id=50539
112
113         * platform/graphics/qt/FontQt.cpp:
114         (WebCore::Font::floatWidthForSimpleText):
115         (WebCore::Font::floatWidthForComplexText):
116
117 2010-12-03  Yury Semikhatsky  <yurys@chromium.org>
118
119         Reviewed by Pavel Feldman.
120
121         [v8] Web Inspector: remove duplicate code for capturing stack trace
122         https://bugs.webkit.org/show_bug.cgi?id=50461
123
124         No new tests. Covered with existing inspector tests.
125
126         * bindings/js/ScriptCallStackFactory.cpp:
127         (WebCore::createScriptCallStack):
128         * bindings/js/ScriptCallStackFactory.h:
129         * bindings/v8/ScriptCallStackFactory.cpp:
130         (WebCore::toScriptCallFrame):
131         (WebCore::toScriptCallFramesVector):
132         (WebCore::createScriptCallStack):
133         * bindings/v8/ScriptCallStackFactory.h:
134         * bindings/v8/V8ConsoleMessage.cpp:
135         (WebCore::V8ConsoleMessage::handler):
136         * inspector/ScriptCallFrame.cpp:
137         (WebCore::ScriptCallFrame::ScriptCallFrame):
138         (WebCore::ScriptCallFrame::isEqual):
139         (WebCore::ScriptCallFrame::buildInspectorObject):
140         * inspector/ScriptCallFrame.h:
141         (WebCore::ScriptCallFrame::sourceURL):
142         * inspector/ScriptCallStack.h:
143         * inspector/TimelineRecordFactory.cpp:
144         (WebCore::TimelineRecordFactory::createGenericRecord):
145         * inspector/front-end/ConsoleView.js:
146         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
147
148 2010-12-06  Sergio Villar Senin  <svillar@igalia.com>
149
150         Reviewed by Martin Robinson.
151
152         [GTK] webkit_soup_cache_clear() does not delete all entries in the cache
153         https://bugs.webkit.org/show_bug.cgi?id=50462
154
155         Do not use g_hash_table_foreach to remove entries from the cache
156         entries hashtable. Iterate over a list of entries to remove them
157         from the hash table.
158
159         * platform/network/soup/ResourceHandleSoup.cpp:
160         * platform/network/soup/cache/webkit/soup-cache.c:
161         (remove_cache_item):
162         (webkit_soup_cache_finalize):
163         (clear_cache_item):
164         (webkit_soup_cache_clear):
165
166 2010-12-05  Kent Tamura  <tkent@chromium.org>
167
168         Unreviewed. Run sort-Xcode-project-file.
169
170         * WebCore.xcodeproj/project.pbxproj:
171
172 2010-11-30  Luiz Agostini  <luiz.agostini@openbossa.org>
173
174         Reviewed by Darin Adler.
175
176         HTML5 <details> and <summary> initial implementation
177         https://bugs.webkit.org/show_bug.cgi?id=50309
178
179         HTML5 <details> and <summary> elements initial implementation. The main objective is
180         to add the files for html element and renderers, and to get rid of build system issues
181         in future patches.
182
183         See: http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
184              http://www.w3.org/TR/html5/interactive-elements.html#the-summary-element
185
186         build systems
187
188         * CMakeLists.txt:
189         * DerivedSources.cpp:
190         * DerivedSources.make:
191         * GNUmakefile.am:
192         * WebCore.gypi:
193         * WebCore.pri:
194         * WebCore.pro:
195         * WebCore.vcproj/WebCore.vcproj:
196         * WebCore.xcodeproj/project.pbxproj:
197         * bindings/gobject/GNUmakefile.am:
198
199         Some css properties to the new html elements.
200
201         * css/html.css:
202         (details):
203         (summary):
204
205         New html element associated with the corresponding tag.
206
207         * html/HTMLAttributeNames.in:
208         * html/HTMLTagNames.in:
209
210         1 html element and 3 renderers were added.
211
212         * html/HTMLDetailsElement.cpp: Added.
213         * html/HTMLDetailsElement.h: Added.
214         * html/HTMLDetailsElement.idl: Added.
215         * html/HTMLElementsAllInOne.cpp:
216         * rendering/RenderDetails.cpp: Added.
217         * rendering/RenderDetails.h: Added.
218         * rendering/RenderDetailsMarker.cpp: Added.
219         * rendering/RenderDetailsMarker.h: Added.
220         * rendering/RenderSummary.cpp: Added.
221         * rendering/RenderSummary.h: Added.
222         * rendering/RenderingAllInOne.cpp:
223
224         New renderer type checkers.
225
226         * rendering/RenderObject.h:
227         (WebCore::RenderObject::isDetails):
228         (WebCore::RenderObject::isDetailsMarker):
229         (WebCore::RenderObject::isSummary):
230
231 2010-12-05  Rob Buis  <rwlbuis@gmail.com>
232
233         Reviewed by Nikolas Zimmermann.
234
235         createSVGTransformFromMatrix(undefined) => NULL ptr
236         https://bugs.webkit.org/show_bug.cgi?id=49564
237
238         Throw TYPE_MISMATCH_ERR when using undefined or null as value for matrix parameter.
239
240         * svg/SVGTransformList.idl:
241         * svg/properties/SVGTransformListPropertyTearOff.h:
242         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
243
244 2010-12-05  Alejandro G. Castro  <alex@igalia.com>
245
246         Reviewed by Xan Lopez.
247
248         [GTK] Fix compilation warnings reported by clang
249         https://bugs.webkit.org/show_bug.cgi?id=50252
250
251         * platform/graphics/Path.h: CairoPath is now a class, not a
252         struct.
253         * platform/network/soup/ResourceHandleSoup.cpp:
254         (WebCore::sendRequestCallback): Cast the status_code to int.
255
256 2010-12-05  Alejandro G. Castro  <alex@igalia.com>
257
258         Reviewed by Martin Robinson.
259
260         [GTK] Remove setColor functions it was replicated in
261         CairoUtilities: setSourceRGBAFromColor.
262
263         * platform/graphics/cairo/GraphicsContextCairo.cpp:
264         (WebCore::setPlatformFill):
265         (WebCore::setPlatformStroke):
266         (WebCore::fillRectSourceOver):
267         (WebCore::GraphicsContext::drawRect):
268         (WebCore::GraphicsContext::drawLine):
269         (WebCore::GraphicsContext::drawEllipse):
270         (WebCore::GraphicsContext::strokeArc):
271         (WebCore::GraphicsContext::drawConvexPolygon):
272         (WebCore::GraphicsContext::drawFocusRing):
273         (WebCore::GraphicsContext::fillRoundedRect):
274
275 2010-12-05  Adam Roben  <aroben@apple.com>
276
277         Windows production build fix
278
279         Put spaces after trailing backslashes when setting
280         %WebKitVSPropsRedirectionDir%. According to MSDN
281         <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
282
283            A backslash ( \ ) followed by a newline character is interpreted as
284            a space in the command; use a backslash at the end of a line to
285            continue a command onto the next line. NMAKE interprets the
286            backslash literally if any other character, including a space or
287            tab, follows the backslash.
288
289         * WebCore.vcproj/WebCore.make:
290
291 2010-12-05  Robert Hogan  <robert@webkit.org>
292
293         Reviewed by Andreas Kling.
294
295         [Qt] Zero-sized font does not yet work
296
297         Fix fast/text/font-size-zero.html
298
299         Copy other ports by setting minimumFontSize to 0 for DRT runs,
300         copy a fix to SimpleFontData from chromium/safari, and set font
301         size in FontPlatformData to zero if size zero is requested
302         and QFont::pixelSize otherwise. (Note that QFont doesn't accept
303         a pixel size of zero).
304
305         Also fix QFont::setPixelSize in FontPlatformData to use
306         description.computedPixelSize rather than computedSize and
307         pixelSize() rather than pointSizeF - since the latter gets
308         set to -1 if pixelSize is set at all.
309
310         https://bugs.webkit.org/show_bug.cgi?id=49759
311
312         * platform/graphics/qt/FontPlatformData.h:
313         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
314         (WebCore::FontPlatformData::pixelSize):
315         * platform/graphics/qt/FontPlatformDataQt.cpp:
316         (WebCore::FontPlatformData::FontPlatformData):
317         * platform/graphics/qt/FontQt.cpp:
318         (WebCore::drawTextCommon):
319         * platform/graphics/qt/SimpleFontDataQt.cpp:
320         (WebCore::SimpleFontData::platformInit):
321         (WebCore::SimpleFontData::platformGlyphInit):
322         (WebCore::SimpleFontData::platformCharWidthInit):
323
324 2010-12-04  Daniel Bates  <dbates@rim.com>
325
326         Reviewed by Darin Adler.
327
328         Add support for lower-armenian and upper-armenian
329         https://bugs.webkit.org/show_bug.cgi?id=49641
330
331         Implement support for list-style-types lower-armenian and upper-armenian
332         for lowercase Armenian and uppercase Armenian numerals, respectively.
333
334         Tests: fast/lists/w3-css3-lower-armenian.html
335                fast/lists/w3-css3-upper-armenian.html
336
337         * css/CSSPrimitiveValueMappings.h:
338         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added enum values LowerArmenian
339         and UpperArmenian.
340         * css/CSSValueKeywords.in: Added "upper-armenian" and "lower-armenian".
341         * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
342         * rendering/RenderListMarker.cpp:
343         (WebCore::effectiveListMarkerType): Added enum values LowerArmenian
344         and UpperArmenian.
345         (WebCore::listMarkerSuffix): Ditto.
346         (WebCore::listMarkerText): Ditto.
347         (WebCore::RenderListMarker::paint): Ditto.
348         (WebCore::RenderListMarker::computePreferredLogicalWidths): Ditto.
349         (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
350         * rendering/style/RenderStyleConstants.h: Ditto.
351
352 2010-12-04  Dan Bernstein  <mitz@apple.com>
353
354         Reviewed by Sam Weinig.
355
356         WebCore part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
357         https://bugs.webkit.org/show_bug.cgi?id=50530
358
359         * WebCore.exp.in: Export Range version of countMatchesForText().
360         * editing/Editor.cpp:
361         (WebCore::isFrameInRange): Added this helper method.
362         (WebCore::Editor::countMatchesForText): Added a Range parameter and restricted the result to
363         matches that occur in the range.
364         * editing/Editor.h:
365
366 2010-12-04  Gavin Peters  <gavinp@chromium.org>
367
368         Reviewed by Adam Barth.
369
370         Implement onload events for <link rel=prefetch>
371         https://bugs.webkit.org/show_bug.cgi?id=50187
372
373         Tests: fast/dom/HTMLLinkElement/link-and-subresource-test.html
374                fast/dom/HTMLLinkElement/prefetch-onload.html
375
376         * html/HTMLLinkElement.cpp:
377         (WebCore::HTMLLinkElement::HTMLLinkElement):
378         (WebCore::HTMLLinkElement::~HTMLLinkElement):
379         (WebCore::HTMLLinkElement::parseMappedAttribute):
380         (WebCore::HTMLLinkElement::process):
381         (WebCore::HTMLLinkElement::onloadTimerFired):
382         (WebCore::HTMLLinkElement::notifyFinished):
383         * html/HTMLLinkElement.h:
384         * loader/cache/CachedResource.cpp:
385         (WebCore::CachedResource::data):
386
387 2010-12-04  Xan Lopez  <xlopez@igalia.com>
388
389         Reviewed by Martin Robinson.
390
391         [GTK] Drop GdkDrawable usage, it's deprecated in GTK+3.x and we can use GdkWindow
392         https://bugs.webkit.org/show_bug.cgi?id=50451
393
394         GdkDrawable has been removed in GTK+3.x. To cope with this we can
395         actually stop using it altogether, since GdkWindow is just a
396         typedef for it and that seems to be good enough for us.
397
398         * platform/graphics/GraphicsContext.h: s/GdkDrawable/GdkWindow/.
399         * platform/graphics/cairo/GraphicsContextCairo.cpp:
400         (WebCore::GraphicsContext::gdkWindow): ditto.
401         * platform/gtk/GtkVersioning.h: declare GDK_WINDOW_XWINDOW for GTK 3.x builds.
402         * platform/gtk/PlatformScreenGtk.cpp:
403         (WebCore::screenAvailableRect): s/GdkDrawable/GdkWindow/.
404         * platform/gtk/WidgetGtk.cpp:
405         (WebCore::gdkWindow): ditto.
406         (WebCore::Widget::setCursor): ditto.
407         * platform/gtk/WidgetRenderingContextGtk2.cpp: ditto.
408
409 2010-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
410
411         Reviewed by Darin Adler.
412
413         REGRESSION(r71934): input event fires twice when editing text inside a text input.
414         https://bugs.webkit.org/show_bug.cgi?id=50477
415
416         Now that events escape the shadow DOM boundary, the input event is fired twice
417         for each input, once triggered by editing, once triggered by value change.
418
419         Test: fast/forms/text-input-event.html
420
421         * dom/InputElement.cpp:
422         (WebCore::InputElement::setValueFromRenderer): Added a check to ensure editable fields
423             don't fire an extra input event.
424
425 2010-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>
426
427         Unreviewed, rolling out r73302.
428         http://trac.webkit.org/changeset/73302
429         https://bugs.webkit.org/show_bug.cgi?id=50499
430
431         Causes crashes in debug LayoutTests (Requested by xan_ on
432         #webkit).
433
434         * accessibility/AccessibilityRenderObject.cpp:
435         (WebCore::AccessibilityRenderObject::renderParentObject):
436         (WebCore::AccessibilityRenderObject::addChildren):
437         * accessibility/AccessibilityRenderObject.h:
438         * accessibility/chromium/AccessibilityObjectChromium.cpp:
439         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
440
441 2010-12-01  Ilya Tikhonovsky  <loislo@chromium.org>
442
443         Reviewed by Pavel Feldman.
444
445         Web Inspector: Inspector protocol cleanup task.
446
447         The patch has just small renames and adjustments for the protocol things.
448         'handler' keyword in idl file was replaced with 'domain'.
449         'domain' property was assigned for the each backend to frontend messages.
450         At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
451
452         https://bugs.webkit.org/show_bug.cgi?id=50337
453
454         * inspector/CodeGeneratorInspector.pm:
455         * inspector/Inspector.idl:
456         * inspector/front-end/inspector.js:
457         (WebInspector_syncDispatch):
458
459 2010-12-03  Alexander Pavlov  <apavlov@chromium.org>
460
461         Reviewed by Yury Semikhatsky.
462
463         Web Inspector: Duplicate "!important" for !important properties displayed in the Styles pane
464         https://bugs.webkit.org/show_bug.cgi?id=50460
465
466         * inspector/front-end/StylesSidebarPane.js:
467         * inspector/front-end/inspector.css:
468
469 2010-12-03  Xan Lopez  <xlopez@igalia.com>
470
471         Unreviewed build fix.
472
473         The JS code generator includes headers unconditionally, so we need
474         to generate them unconditionally and disable the feature. The
475         WebAudio files hadn't been added to our sources list.
476
477         * GNUmakefile.am:
478
479 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
480
481         Unreviewed build fix.
482
483         Try to fix EFL build after r73273.
484
485         * CMakeLists.txt:
486
487 2010-12-03  Chris Guillory  <chris.guillory@google.com>
488
489         Reviewed by Chris Fleizach.
490
491         Include the FrameView widget of a RenderWidget in the accessibility tree.
492         https://bugs.webkit.org/show_bug.cgi?id=49106
493
494         Include render widget children in the accessibility tree for not mac webkit ports.
495
496         * accessibility/AccessibilityRenderObject.cpp:
497         (WebCore::AccessibilityRenderObject::renderParentObject):
498         (WebCore::AccessibilityRenderObject::addChildren):
499         (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
500         * accessibility/AccessibilityRenderObject.h:
501         * accessibility/chromium/AccessibilityObjectChromium.cpp:
502         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
503
504 2010-11-30  Abhishek Arya  <inferno@chromium.org>
505
506         Reviewed by Dave Hyatt.
507
508         Don't clone an anonymous block, instead create a new one in splitBlocks. Also,
509         when beforeChild is not in one of our children, then do the processing first
510         to get its anonymous container before calling splitBlocks.
511         https://bugs.webkit.org/show_bug.cgi?id=49928
512
513         Tests: fast/multicol/span/anonymous-before-child-parent-crash.html
514                fast/multicol/span/anonymous-split-block-crash.html
515
516         * rendering/RenderBlock.cpp:
517         (WebCore::RenderBlock::splitBlocks):
518         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
519
520 2010-12-03  Mark Rowe  <mrowe@apple.com>
521
522         Reviewed by Eric Seidel.
523
524         Animated GIF animates much more slowly in Safari than Firefox
525         <rdar://problem/7689300> / <http://webkit.org/b/26455>
526
527         Adopt Firefox's behavior for frame duration clamping. Images that specify a frame duration
528         of <= 10ms are treated as having a frame duration of 100ms, while all other images use the
529         frame duration that they specify.
530
531         ImageIO currently implements its own clamping of frame durations (<rdar://problem/7689297>)
532         which will result in this change having no observable effect on platforms where it is used
533         until an updated version of ImageIO becomes available.
534
535         * platform/graphics/ImageSource.cpp:
536         (WebCore::ImageSource::frameDurationAtIndex): Update the formatting of the comment and style
537         of the code to match that in ImageSourceCG.
538         * platform/graphics/cg/ImageSourceCG.cpp:
539         (WebCore::ImageSource::frameDurationAtIndex):
540
541 2010-12-03  Chris Rogers  <crogers@google.com>
542
543         Unreviewed build fix.
544
545         Fix M_E compile error on Chromium Win
546         https://bugs.webkit.org/show_bug.cgi?id=50479
547
548         * platform/audio/AudioUtilities.cpp:
549         (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
550
551 2010-12-03  Chris Rogers  <crogers@google.com>
552
553         Unreviewed build fix.
554
555         Try to fix GTK build due to recent web audio makefile changes (disable ENABLE_WEB_AUDIO explicitly)
556         https://bugs.webkit.org/show_bug.cgi?id=50478
557
558         * GNUmakefile.am:
559
560 2010-12-03  Simon Fraser  <simon.fraser@apple.com>
561
562         Reviewed by Dirk Schulze.
563
564         Clean up some text-related code on GraphicsContext
565         https://bugs.webkit.org/show_bug.cgi?id=50464
566
567         Save 8 bytes in GraphicsContextState by rearranging the
568         data members to reduce padding.
569
570         * platform/graphics/GraphicsContextPrivate.h:
571         (WebCore::GraphicsContextState::GraphicsContextState):
572
573 2010-12-03  Simon Fraser  <simon.fraser@apple.com>
574
575         Another Chromium build fix.
576
577         * platform/graphics/skia/GraphicsContextSkia.cpp:
578         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
579
580 2010-12-03  Simon Fraser  <simon.fraser@apple.com>
581
582         Fix Chromium build.
583
584         * platform/graphics/skia/PlatformContextSkia.h:
585
586 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
587
588         Reviewed by Andreas Kling.
589
590         [CMake] Remove WebCore_IDL_PURE_FILES
591         https://bugs.webkit.org/show_bug.cgi?id=50445
592
593         * CMakeLists.txt:
594
595 2010-12-03  Jia Pu  <jpu@apple.com>
596
597         Reviewed by Darin Adler.
598
599         Need to move all code that applies correction into correction panel callback.
600         https://bugs.webkit.org/show_bug.cgi?id=50426
601         <rdar://problem/8720832>
602
603         No new test, since there's no behavioral change.
604
605         This patch is to prepare WebKit to work with upcoming AppKit changes. The main changes are:
606         1. Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
607         2. Added more user dictionary learning code.
608         3. Removed m_ prefix in all member variables of CorrectionPanelInfo.
609
610         * editing/CorrectionPanelInfo.h: Remove m_ prefix on member variables. Added ReasonForDismissingCorrectionPanel enum type.
611
612         * editing/Editor.cpp: Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
613           Adopted new member variable naming in class CorrectionPanelInfo.
614         (WebCore::Editor::respondToChangedSelection):
615         (WebCore::Editor::~Editor):
616         (WebCore::Editor::markMisspellingsAfterTypingToWord):
617         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
618         (WebCore::Editor::correctionPanelTimerFired):
619         (WebCore::Editor::handleCorrectionPanelResult):
620         (WebCore::Editor::startCorrectionPanelTimer):
621         (WebCore::Editor::stopCorrectionPanelTimer):
622         (WebCore::Editor::handleCancelOperation):
623         (WebCore::Editor::dismissCorrectionPanel):
624         (WebCore::Editor::applyCorrectionPanelInfo):
625
626         * editing/Editor.h: Changed signature of dismissCorrectionPanel to use ReasonForDismissingCorrectionPanel.
627
628         * loader/EmptyClients.h: Ditto.
629         (WebCore::EmptyEditorClient::dismissCorrectionPanel):
630
631         * page/EditorClient.h: Ditto.
632
633 2010-12-03  Pavel Feldman  <pfeldman@chromium.org>
634
635         Reviewed by Yury Semikhatsky.
636
637         Web Inspector: reveal in elements panel does not switch the panel itself.
638         https://bugs.webkit.org/show_bug.cgi?id=50408
639
640         * inspector/front-end/ElementsTreeOutline.js:
641         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
642         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
643         * inspector/front-end/ObjectPropertiesSection.js:
644         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
645
646 2010-12-03  Simon Fraser  <simon.fraser@apple.com>
647
648         Reviewed by Nikolas Zimmermann.
649
650         Clean up some text-related code on GraphicsContext
651         https://bugs.webkit.org/show_bug.cgi?id=50464
652
653         Use defined types for textDrawingMode and it's associated flags.
654
655         * html/canvas/CanvasRenderingContext2D.cpp:
656         (WebCore::CanvasRenderingContext2D::drawTextInternal):
657         * platform/graphics/GraphicsContext.cpp:
658         (WebCore::GraphicsContext::textDrawingMode):
659         (WebCore::GraphicsContext::setTextDrawingMode):
660         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
661         * platform/graphics/GraphicsContext.h:
662         * platform/graphics/GraphicsContextPrivate.h:
663         (WebCore::GraphicsContextState::GraphicsContextState):
664         * platform/graphics/cairo/FontCairo.cpp:
665         (WebCore::drawGlyphsShadow):
666         (WebCore::Font::drawGlyphs):
667         * platform/graphics/cg/GraphicsContextCG.cpp:
668         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
669         * platform/graphics/chromium/FontLinux.cpp:
670         (WebCore::Font::drawGlyphs):
671         (WebCore::Font::drawComplexText):
672         * platform/graphics/gtk/FontGtk.cpp:
673         (WebCore::drawGlyphsShadow):
674         (WebCore::Font::drawComplexText):
675         * platform/graphics/mac/FontMac.mm:
676         (WebCore::Font::drawGlyphs):
677         * platform/graphics/openvg/PainterOpenVG.cpp:
678         (WebCore::PlatformPainterState::PlatformPainterState):
679         (WebCore::PainterOpenVG::textDrawingMode):
680         (WebCore::PainterOpenVG::setTextDrawingMode):
681         (WebCore::PainterOpenVG::drawText):
682         * platform/graphics/qt/FontQt.cpp:
683         (WebCore::drawTextCommon):
684         * platform/graphics/skia/PlatformContextSkia.cpp:
685         (WebCore::PlatformContextSkia::State::State):
686         (WebCore::PlatformContextSkia::getTextDrawingMode):
687         (WebCore::PlatformContextSkia::setTextDrawingMode):
688         * platform/graphics/skia/SkiaFontWin.cpp:
689         (WebCore::windowsCanHandleTextDrawing):
690         (WebCore::paintSkiaText):
691         * platform/graphics/texmap/TextureMapper.h:
692         (WebCore::TextureMapper::setTextDrawingMode):
693         (WebCore::TextureMapper::textDrawingMode):
694         (WebCore::TextureMapper::TextureMapper):
695         * platform/graphics/win/FontCGWin.cpp:
696         (WebCore::drawGDIGlyphs):
697         (WebCore::Font::drawGlyphs):
698         * platform/graphics/wince/GraphicsContextWinCE.cpp:
699         (WebCore::GraphicsContext::drawText):
700         * rendering/InlineTextBox.cpp:
701         (WebCore::updateGraphicsContext):
702         * rendering/RenderSVGResourceGradient.cpp:
703         (WebCore::RenderSVGResourceGradient::applyResource):
704         * rendering/RenderSVGResourcePattern.cpp:
705         (WebCore::RenderSVGResourcePattern::applyResource):
706         * rendering/RenderSVGResourceSolidColor.cpp:
707         (WebCore::RenderSVGResourceSolidColor::applyResource):
708         * svg/SVGFont.cpp:
709         (WebCore::Font::drawTextUsingSVGFont):
710
711 2010-12-03  Chris Rogers  <crogers@google.com>
712
713         Reviewed by Kenneth Russell.
714
715         First steps to adding web audio files to build systems
716         https://bugs.webkit.org/show_bug.cgi?id=49952
717
718         No new tests since audio API is not yet implemented.
719
720         * CMakeLists.txt:
721         * DerivedSources.make:
722         * ForwardingHeaders/wtf/Complex.h: Added.
723         * GNUmakefile.am:
724         * WebCore.gyp/WebCore.gyp:
725         * WebCore.gypi:
726         * WebCore.pri:
727         * WebCore.pro:
728         * bindings/js/JSDOMWindowCustom.cpp:
729         (WebCore::JSDOMWindow::audioContext):
730         * features.pri:
731         * page/DOMWindow.idl:
732         * platform/audio/HRTFElevation.cpp:
733
734 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
735
736         Reviewed by David Levin.
737
738         Use String::adopt in TextCodecWinCE::decode
739         https://bugs.webkit.org/show_bug.cgi?id=50319
740
741         * platform/text/wince/TextCodecWinCE.cpp:
742         (WebCore::TextCodecWinCE::decode):
743
744 2010-12-03  Brady Eidson  <beidson@apple.com>
745
746         Reviewed by Anders Carlsson.
747
748         Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
749         WebKit2 Authentication Support
750
751         * WebCore.exp.in:
752
753         Expose the AuthenticationClient for WK2 platforms (Windows already does this):
754         * platform/network/mac/AuthenticationChallenge.h:
755         * platform/network/mac/AuthenticationMac.mm:
756         (-[WebCoreAuthenticationClientAsChallengeSender client]):
757         (WebCore::AuthenticationChallenge::authenticationClient):
758
759         * platform/network/qt/AuthenticationChallenge.h:
760         (WebCore::AuthenticationChallenge::authenticationClient):
761
762 2010-12-03  Ryosuke Niwa  <rniwa@webkit.org>
763
764         Reviewed by Darin Adler.
765
766         REGRESSION: Crash when deleting text after textarea's value is modified on input event
767         https://bugs.webkit.org/show_bug.cgi?id=49962
768
769         The crash was caused by TypingCommand::deleteKeyPressed's reusing a typing command for
770         textarea's shadow DOM after its input event handler rewrote the value set by the typing command.
771         Because the reused typing command's ending selection was pointing at a shadow node
772         that has been detached from the document when the event handler set the new value,
773         rootEditableElement of the ending selection was null and caused the crash.
774
775         Fixed the bug by updating the ending selection of the last typing command when it differsfrom
776         that of the current selection held by the SelectionController in TypingCommand::deleteKeyPressed.
777         Also fixed similar bugs in forwardDeleteKeyPressed and insertText, and insertTextRunWithoutNewlines.
778
779         Tests: editing/input/set-value-on-input-and-delete.html
780                editing/input/set-value-on-input-and-forward-delete.html
781                editing/input/set-value-on-input-and-type-input.html
782                editing/input/set-value-on-input-and-type-textarea.html
783
784         * editing/InsertTextCommand.h: Added TypingCommand as a friend because it needs to update selection.
785         * editing/TypingCommand.cpp:
786         (WebCore::TypingCommand::deleteKeyPressed): Updates the last typing command's selection as needed.
787         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
788         (WebCore::TypingCommand::insertText): Ditto.
789         (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection): Added.
790         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Updates InsertTextCommand's selection as needed.
791         * editing/TypingCommand.h:
792
793 2010-12-03  Daniel Cheng  <dcheng@chromium.org>
794
795         Reviewed by Tony Chang.
796
797         Dragging and dropping into an empty document crashes WebKit.
798         https://bugs.webkit.org/show_bug.cgi?id=48793
799
800         Remove the assert and update callers to check for a null return value.
801
802         Test: manual-tests/drop-in-empty-doc.html
803
804         * manual-tests/drop-in-empty-doc.html: Added.
805         * manual-tests/resources/drop-in-empty-doc.xhtml: Added.
806         * page/DragController.cpp:
807         (WebCore::elementUnderMouse):
808         (WebCore::DragController::tryDocumentDrag):
809         (WebCore::DragController::concludeEditDrag):
810
811 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
812
813         Reviewed by Andreas Kling.
814
815         Move Inspector generator logic into main CMakeLists.txt file
816         https://bugs.webkit.org/show_bug.cgi?id=50445
817
818         * CMakeLists.txt:
819
820 2010-12-03 Patrick Gansterer <paroga@webkit.org>
821
822         Reviewed by Andreas Kling.
823
824         Move StringWx.cpp into wtf directory
825         https://bugs.webkit.org/show_bug.cgi?id=50060
826
827         * WebCore.gypi:
828         * platform/text/wx/StringWx.cpp: Removed.
829
830 2010-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
831
832         Reviewed by Darin Adler.
833
834         REGRESSION(r72783): DOMActivate fires multiple times from input type=file
835         https://bugs.webkit.org/show_bug.cgi?id=50396
836
837         Test: fast/events/shadow-boundary-crossing-2.html
838
839         * dom/EventContext.cpp: Reverted changes made in r72783.
840         * dom/EventContext.h: Ditto.
841         * dom/Node.cpp:
842         (WebCore::Node::containsIncludingShadowDOM): Added.
843         (WebCore::Node::dispatchGenericEvent): Reverted changes made in r72783.
844         * dom/Node.h: Added decl.
845         * html/HTMLLabelElement.cpp:
846         (WebCore::HTMLLabelElement::defaultEventHandler): Reverted changes made in r72783.
847
848 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
849
850         Reviewed by Andreas Kling.
851
852         Move StringBrew.cpp into wtf directory
853         https://bugs.webkit.org/show_bug.cgi?id=50058
854
855         * platform/text/brew/StringBrew.cpp: Removed.
856
857 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
858
859         Reviewed by Andreas Kling.
860
861         Move StringHaiku.cpp into wtf directory
862         https://bugs.webkit.org/show_bug.cgi?id=50057
863
864         * platform/text/haiku/StringHaiku.cpp: Removed.
865
866 2010-12-03  Jessie Berlin  <jberlin@apple.com>
867
868         Reviewed by Sam Weinig.
869
870         Need a WebKit2 Equivalent of WebSecurityOrigin
871         https://bugs.webkit.org/show_bug.cgi?id=50170
872
873         * WebCore.exp.in:
874         Export the symbol for SecurityOrigin::createFromDatabaseIdentifier.
875
876 2010-12-03  Andras Becsi  <abecsi@inf.u-szeged.hu>
877
878         Unreviewed build fix after r73254.
879
880         [Qt][V8] Add missing headers to $headerIncludes rather than $implIncludes
881         because headers are needed by the generated .h files.
882
883         No new tests needed.
884
885         * bindings/scripts/CodeGeneratorV8.pm:
886
887 2010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>
888
889         Reviewed by Dirk Schulze.
890
891         1336 files in WebCore rebuild when you touch SVGNames
892         https://bugs.webkit.org/show_bug.cgi?id=42025
893
894         Remove global SVGNames.h dependency, as SVGAnimatedPropertyMacros.h included it.
895         This requires to add the SVGNames.h include to lots of cpp files.
896
897         No functional changes, thus no new tests.
898
899         * css/CSSCursorImageValue.cpp:
900         * css/CSSFontFaceSource.cpp:
901         * dom/Node.cpp:
902         * loader/cache/CachedFont.cpp:
903         * rendering/RenderSVGResourceClipper.cpp:
904         * rendering/RenderSVGResourceFilter.cpp:
905         * rendering/RenderSVGTransformableContainer.cpp:
906         * rendering/RenderSVGViewportContainer.cpp:
907         * rendering/SVGRenderTreeAsText.cpp:
908         * rendering/SVGResources.cpp:
909         * rendering/svg/RenderSVGTextPath.cpp:
910         * rendering/svg/SVGRootInlineBox.cpp:
911         * svg/SVGAnimateElement.cpp:
912         * svg/SVGAnimateMotionElement.cpp:
913         * svg/SVGAnimateTransformElement.cpp:
914         * svg/SVGDefsElement.cpp:
915         * svg/SVGFEBlendElement.cpp:
916         * svg/SVGFEDisplacementMapElement.cpp:
917         * svg/SVGFEMergeElement.cpp:
918         * svg/SVGFEMergeNodeElement.cpp:
919         * svg/SVGFEOffsetElement.cpp:
920         * svg/SVGFETileElement.cpp:
921         * svg/SVGFETurbulenceElement.cpp:
922         * svg/SVGFont.cpp:
923         * svg/SVGGElement.cpp:
924         * svg/SVGImageElement.cpp:
925         * svg/SVGLength.cpp:
926         * svg/SVGMPathElement.cpp:
927         * svg/SVGPathElement.cpp:
928         * svg/SVGPathSegList.cpp:
929         * svg/SVGStyledTransformableElement.cpp:
930         * svg/SVGSymbolElement.cpp:
931         * svg/SVGTextContentElement.cpp:
932         * svg/SVGTextElement.cpp:
933         * svg/SVGTextPathElement.cpp:
934         * svg/SVGUseElement.cpp:
935         * svg/SVGViewSpec.cpp:
936         * svg/animation/SMILTimeContainer.cpp:
937         * svg/properties/SVGAnimatedPropertyMacros.h:
938         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
939
940 2010-12-02  Philippe Normand  <pnormand@igalia.com>
941
942         Reviewed by Martin Robinson.
943
944         [GStreamer] hasVideo/Audio return false until the pipeline reaches PAUSED
945         https://bugs.webkit.org/show_bug.cgi?id=50382
946
947         Go to PAUSED even if preload is deactivated. In that case don't
948         process the GStreamer state changes until commitLoad() has been
949         called. This patch also fixes hasVideo and hasAudio methods,
950         making them reactive to the playbin2 audio/video tags-changed
951         signals.
952
953         Test: media/controls-without-preload.html
954
955         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
956         (WebCore::mediaPlayerPrivateMessageCallback):
957         (WebCore::mediaPlayerPrivateVideoTagsChangedCallback):
958         (WebCore::mediaPlayerPrivateAudioTagsChangedCallback):
959         (WebCore::mediaPlayerPrivateAudioTagsChangeTimeoutCallback):
960         (WebCore::mediaPlayerPrivateVideoTagsChangeTimeoutCallback):
961         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
962         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
963         (WebCore::MediaPlayerPrivateGStreamer::load):
964         (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
965         (WebCore::MediaPlayerPrivateGStreamer::videoTagsChanged):
966         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoTags):
967         (WebCore::MediaPlayerPrivateGStreamer::audioTagsChanged):
968         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudioTags):
969         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
970         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
971         (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
972         (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
973         (WebCore::MediaPlayerPrivateGStreamer::loadDelayed):
974
975 2010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>
976
977         Reviewed by Dirk Schulze.
978
979         Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types
980         https://bugs.webkit.org/show_bug.cgi?id=50440
981
982         Continuing the work on bug 42025: Introduce (DECLARE|DEFINE)_ANIMATED_(ANGLE|BOOLEAN|INTEGER|PRESERVEASPECTRATIO|RECT).
983         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
984
985         No functional changes, thus no new tests.
986
987         * svg/SVGAElement.cpp:
988         * svg/SVGAElement.h:
989         * svg/SVGAnimatedAngle.h:
990         * svg/SVGAnimatedBoolean.h:
991         * svg/SVGAnimatedInteger.h:
992         * svg/SVGAnimatedPreserveAspectRatio.h:
993         * svg/SVGAnimatedRect.h:
994         * svg/SVGAnimationElement.cpp:
995         * svg/SVGAnimationElement.h:
996         (WebCore::SVGAnimationElement::calculateDistance):
997         (WebCore::SVGAnimationElement::animationPath):
998         * svg/SVGCircleElement.cpp:
999         * svg/SVGCircleElement.h:
1000         * svg/SVGClipPathElement.cpp:
1001         * svg/SVGClipPathElement.h:
1002         * svg/SVGCursorElement.cpp:
1003         * svg/SVGCursorElement.h:
1004         * svg/SVGDefsElement.cpp:
1005         * svg/SVGDefsElement.h:
1006         * svg/SVGEllipseElement.cpp:
1007         * svg/SVGEllipseElement.h:
1008         * svg/SVGFEConvolveMatrixElement.cpp:
1009         * svg/SVGFEConvolveMatrixElement.h:
1010         * svg/SVGFEImageElement.cpp:
1011         * svg/SVGFEImageElement.h:
1012         * svg/SVGFETurbulenceElement.cpp:
1013         * svg/SVGFETurbulenceElement.h:
1014         * svg/SVGFilterElement.cpp:
1015         * svg/SVGFilterElement.h:
1016         * svg/SVGFilterPrimitiveStandardAttributes.h:
1017         * svg/SVGFontElement.cpp:
1018         (WebCore::SVGFontElement::firstMissingGlyphElement):
1019         (WebCore::SVGFontElement::ensureGlyphCache):
1020         * svg/SVGFontElement.h:
1021         * svg/SVGForeignObjectElement.cpp:
1022         * svg/SVGForeignObjectElement.h:
1023         * svg/SVGGElement.cpp:
1024         * svg/SVGGElement.h:
1025         (WebCore::SVGGElement::isShadowTreeContainerElement):
1026         (WebCore::SVGGElement::isValid):
1027         * svg/SVGGradientElement.cpp:
1028         * svg/SVGGradientElement.h:
1029         * svg/SVGImageElement.cpp:
1030         * svg/SVGImageElement.h:
1031         * svg/SVGLineElement.cpp:
1032         * svg/SVGLineElement.h:
1033         * svg/SVGLinearGradientElement.h:
1034         * svg/SVGMPathElement.cpp:
1035         * svg/SVGMPathElement.h:
1036         * svg/SVGMarkerElement.cpp:
1037         * svg/SVGMarkerElement.h:
1038         * svg/SVGMaskElement.cpp:
1039         * svg/SVGMaskElement.h:
1040         * svg/SVGPathElement.cpp:
1041         * svg/SVGPathElement.h:
1042         * svg/SVGPatternElement.cpp:
1043         * svg/SVGPatternElement.h:
1044         * svg/SVGPolyElement.cpp:
1045         * svg/SVGPolyElement.h:
1046         * svg/SVGRadialGradientElement.h:
1047         * svg/SVGRectElement.cpp:
1048         * svg/SVGRectElement.h:
1049         * svg/SVGSVGElement.cpp:
1050         (WebCore::SVGSVGElement::contentScriptType):
1051         (WebCore::SVGSVGElement::contentStyleType):
1052         (WebCore::SVGSVGElement::parseMappedAttribute):
1053         * svg/SVGSVGElement.h:
1054         * svg/SVGScriptElement.cpp:
1055         * svg/SVGScriptElement.h:
1056         * svg/SVGSwitchElement.cpp:
1057         * svg/SVGSwitchElement.h:
1058         (WebCore::SVGSwitchElement::isValid):
1059         * svg/SVGSymbolElement.cpp:
1060         * svg/SVGSymbolElement.h:
1061         (WebCore::SVGSymbolElement::rendererIsNeeded):
1062         * svg/SVGTextContentElement.cpp:
1063         * svg/SVGTextContentElement.h:
1064         * svg/SVGUseElement.cpp:
1065         * svg/SVGUseElement.h:
1066         * svg/SVGViewElement.cpp:
1067         * svg/SVGViewElement.h:
1068         (WebCore::SVGViewElement::viewTarget):
1069         (WebCore::SVGViewElement::rendererIsNeeded):
1070         * svg/SVGViewSpec.cpp:
1071         * svg/SVGViewSpec.h:
1072         (WebCore::SVGViewSpec::transform):
1073         (WebCore::SVGViewSpec::viewTargetString):
1074         (WebCore::SVGViewSpec::contextElement):
1075         * svg/properties/SVGAnimatedPropertyMacros.h:
1076
1077 2010-12-03  Noel Gordon  <noel.gordon@gmail.com>
1078
1079         Reviewed by Darin Fisher.
1080
1081         [chromium] PNG encoder leaks memory on png_write_row errors.
1082         https://bugs.webkit.org/show_bug.cgi?id=50439
1083
1084         Move the creation of needed C++ objects before the setjmp() point so
1085         those objects have their destructors called if libpng errors invoke
1086         the setjmp() return path.
1087    
1088         Other minor cleanup: use the skia bitmap locker class, and remove the
1089         PNGDestroyer class - instead directly call png_destroy_write_struct()
1090         at each of the encodeImpl() return points.
1091
1092         No change in behaviour, so no new tests.
1093
1094         * platform/image-encoders/skia/PNGImageEncoder.cpp:
1095         (WebCore::encodeImpl):
1096         (WebCore::PNGImageEncoder::encode):
1097
1098 2010-12-02  Philippe Normand  <pnormand@igalia.com>
1099
1100         Reviewed by Eric Carlson.
1101
1102         Theme not updated when MediaPlayer m_private engine changes
1103         https://bugs.webkit.org/show_bug.cgi?id=50228
1104
1105         Trigger a new rendering of the media element when the private
1106         media-player backend is updated.
1107
1108         * html/HTMLMediaElement.cpp:
1109         (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
1110         * html/HTMLMediaElement.h:
1111         * platform/graphics/MediaPlayer.cpp:
1112         (WebCore::MediaPlayer::MediaPlayer):
1113         (WebCore::MediaPlayer::load):
1114         * platform/graphics/MediaPlayer.h:
1115         (WebCore::MediaPlayerClient::mediaPlayerEngineUpdated):
1116
1117 2010-12-03  Yonathan Randolph  <yonathan@gmail.com>
1118
1119         Reviewed by Alexey Proskuryakov.
1120
1121         XPath lexer misinterprets expression starting with "div".
1122         https://bugs.webkit.org/show_bug.cgi?id=50366
1123
1124         * xml/XPathParser.cpp:
1125         * xml/XPathParser.h:
1126         (WebCore::XPath::Parser::isOperatorContext): removed (renamed)
1127         (WebCore::XPath::Parser::isBinaryOperatorContext): added
1128
1129 2010-12-02  Rob Buis  <rwlbuis@gmail.com>
1130
1131         Reviewed by Alexey Proskuryakov.
1132
1133         CSS 2.1 failure: at-import-*
1134         https://bugs.webkit.org/show_bug.cgi?id=47153
1135
1136         Fix at-import-010.htm by only setting m_allowImportRules
1137         to false when creating valid style or page rules.
1138  
1139          Test: css2.1/t040105-import-10-b.html
1140
1141         * css/CSSParser.cpp:
1142         (WebCore::CSSParser::createStyleRule):
1143
1144 2010-12-02  Aaron Boodman  <aa@chromium.org>
1145
1146         Reviewed by David Hyatt.
1147
1148         Reduce the number of cases where we end up with a stale value for
1149         minimumPreferredLogicalWidth(). This isn't a complete fix, but fixes a
1150         large number of cases.
1151
1152         RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value.
1153         https://bugs.webkit.org/show_bug.cgi?id=50119
1154
1155         * rendering/RenderBox.cpp:
1156         (WebCore::RenderBox::styleDidChange):
1157
1158 2010-12-02  Gregg Tavares  <gman@google.com>
1159
1160         Reviewed by David Levin.
1161
1162         Need to initialize destination variables before calling GL
1163         https://bugs.webkit.org/show_bug.cgi?id=50048
1164
1165         No new tests because no change in functionality.
1166
1167         * html/canvas/WebGLFramebuffer.cpp:
1168         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
1169         * html/canvas/WebGLProgram.cpp:
1170         (WebCore::WebGLProgram::cacheActiveAttribLocations):
1171         * html/canvas/WebGLRenderingContext.cpp:
1172         (WebCore::WebGLRenderingContext::getAttachedShaders):
1173         (WebCore::WebGLRenderingContext::getBufferParameter):
1174         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
1175         (WebCore::WebGLRenderingContext::getBooleanParameter):
1176         (WebCore::WebGLRenderingContext::getFloatParameter):
1177         (WebCore::WebGLRenderingContext::getLongParameter):
1178         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
1179         * platform/graphics/chromium/LayerChromium.cpp:
1180         (WebCore::loadShader):
1181         (WebCore::LayerChromium::createShaderProgram):
1182         * platform/graphics/chromium/LayerRendererChromium.cpp:
1183         (WebCore::LayerRendererChromium::initializeSharedObjects):
1184         * platform/graphics/gpu/DrawingBuffer.cpp:
1185         (WebCore::DrawingBuffer::reset):
1186         * platform/graphics/gpu/Shader.cpp:
1187         (WebCore::Shader::loadProgram):
1188
1189 2010-12-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1190
1191         Reviewed by Andreas Kling.
1192
1193         [Qt] Enable Web Timing for Qt
1194         https://bugs.webkit.org/show_bug.cgi?id=42433
1195
1196         * features.pri: Enable Web Timing for trunk (but not yet for
1197           production)
1198
1199 2010-12-02  Andy Estes  <aestes@apple.com>
1200
1201         Rubber-stamped by Mark Rowe.
1202
1203         Update bindings test results with new GObject results.
1204
1205         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1206         (WebKit::kit):
1207         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1208         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1209         (WebKit::kit):
1210         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1211         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1212         (WebKit::kit):
1213         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1214         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1215         (WebKit::kit):
1216         (webkit_dom_test_obj_obj_method):
1217         (webkit_dom_test_obj_obj_method_with_args):
1218         (webkit_dom_test_obj_method_that_requires_all_args):
1219         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
1220         (webkit_dom_test_obj_with_script_state_obj):
1221         (webkit_dom_test_obj_with_script_state_obj_exception):
1222         (webkit_dom_test_obj_get_read_only_test_obj_attr):
1223         (webkit_dom_test_obj_get_test_obj_attr):
1224         (webkit_dom_test_obj_get_xml_obj_attr):
1225         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1226
1227 2010-12-02  Simon Fraser  <simon.fraser@apple.com>
1228
1229         Revert r73217 and r73227 because of continued bustage.
1230
1231         * WebCore.xcodeproj/project.pbxproj:
1232         * platform/graphics/GraphicsLayer.h:
1233         (WebCore::GraphicsLayer::nativeLayer):
1234         * platform/graphics/ca/PlatformCAAnimation.h: Removed.
1235         * platform/graphics/ca/PlatformCALayer.h: Removed.
1236         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Removed.
1237         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Removed.
1238         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1239         (WebCore::GraphicsLayerChromium::nativeLayer):
1240         * platform/graphics/chromium/GraphicsLayerChromium.h:
1241         * platform/graphics/mac/GraphicsLayerMac.h: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
1242         (WebCore::GraphicsLayerMac::hasContentsLayer):
1243         (WebCore::GraphicsLayerMac::primaryLayer):
1244         (WebCore::GraphicsLayerMac::isReplicatedRootClone):
1245         (WebCore::GraphicsLayerMac::primaryLayerClones):
1246         (WebCore::GraphicsLayerMac::animationIsRunning):
1247         (WebCore::GraphicsLayerMac::contentsLayer):
1248         (WebCore::GraphicsLayerMac::ReplicaState::ReplicaState):
1249         (WebCore::GraphicsLayerMac::ReplicaState::push):
1250         (WebCore::GraphicsLayerMac::ReplicaState::setBranchType):
1251         (WebCore::GraphicsLayerMac::ReplicaState::pop):
1252         (WebCore::GraphicsLayerMac::ReplicaState::depth):
1253         (WebCore::GraphicsLayerMac::ReplicaState::replicaDepth):
1254         (WebCore::GraphicsLayerMac::hasCloneLayers):
1255         (WebCore::GraphicsLayerMac::LayerPropertyAnimation::LayerPropertyAnimation):
1256         (WebCore::GraphicsLayerMac::AnimationProcessingAction::AnimationProcessingAction):
1257         * platform/graphics/mac/GraphicsLayerMac.mm: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
1258         (WebCore::currentTimeToMediaTime):
1259         (WebCore::mediaTimeToCurrentTime):
1260         (-[WebAnimationDelegate animationDidStart:]):
1261         (-[WebAnimationDelegate WebCore::]):
1262         (-[WebAnimationDelegate setLayer:WebCore::]):
1263         (WebCore::copyTransform):
1264         (WebCore::getTransformFunctionValue):
1265         (WebCore::getValueFunctionNameForTransformOperation):
1266         (WebCore::propertyIdToString):
1267         (WebCore::animationIdentifier):
1268         (WebCore::getCAMediaTimingFunction):
1269         (WebCore::setLayerBorderColor):
1270         (WebCore::clearBorderColor):
1271         (WebCore::setLayerBackgroundColor):
1272         (WebCore::clearLayerBackgroundColor):
1273         (WebCore::safeSetSublayers):
1274         (WebCore::caValueFunctionSupported):
1275         (WebCore::forceSoftwareAnimation):
1276         (WebCore::nullActionsDictionary):
1277         (WebCore::animationHasStepsTimingFunction):
1278         (WebCore::GraphicsLayer::create):
1279         (WebCore::GraphicsLayerMac::GraphicsLayerMac):
1280         (WebCore::GraphicsLayerMac::~GraphicsLayerMac):
1281         (WebCore::GraphicsLayerMac::setName):
1282         (WebCore::GraphicsLayerMac::nativeLayer):
1283         (WebCore::GraphicsLayerMac::setChildren):
1284         (WebCore::GraphicsLayerMac::addChild):
1285         (WebCore::GraphicsLayerMac::addChildAtIndex):
1286         (WebCore::GraphicsLayerMac::addChildBelow):
1287         (WebCore::GraphicsLayerMac::addChildAbove):
1288         (WebCore::GraphicsLayerMac::replaceChild):
1289         (WebCore::GraphicsLayerMac::removeFromParent):
1290         (WebCore::GraphicsLayerMac::setMaskLayer):
1291         (WebCore::GraphicsLayerMac::setReplicatedLayer):
1292         (WebCore::GraphicsLayerMac::setReplicatedByLayer):
1293         (WebCore::GraphicsLayerMac::setPosition):
1294         (WebCore::GraphicsLayerMac::setAnchorPoint):
1295         (WebCore::GraphicsLayerMac::setSize):
1296         (WebCore::GraphicsLayerMac::setTransform):
1297         (WebCore::GraphicsLayerMac::setChildrenTransform):
1298         (WebCore::GraphicsLayerMac::moveOrCopyLayerAnimation):
1299         (WebCore::GraphicsLayerMac::moveOrCopyAnimationsForProperty):
1300         (WebCore::GraphicsLayerMac::setPreserves3D):
1301         (WebCore::GraphicsLayerMac::setMasksToBounds):
1302         (WebCore::GraphicsLayerMac::setDrawsContent):
1303         (WebCore::GraphicsLayerMac::setBackgroundColor):
1304         (WebCore::GraphicsLayerMac::clearBackgroundColor):
1305         (WebCore::GraphicsLayerMac::setContentsOpaque):
1306         (WebCore::GraphicsLayerMac::setBackfaceVisibility):
1307         (WebCore::GraphicsLayerMac::setOpacity):
1308         (WebCore::GraphicsLayerMac::setNeedsDisplay):
1309         (WebCore::GraphicsLayerMac::setNeedsDisplayInRect):
1310         (WebCore::GraphicsLayerMac::setContentsNeedsDisplay):
1311         (WebCore::GraphicsLayerMac::setContentsRect):
1312         (WebCore::GraphicsLayerMac::addAnimation):
1313         (WebCore::GraphicsLayerMac::pauseAnimation):
1314         (WebCore::GraphicsLayerMac::removeAnimation):
1315         (WebCore::GraphicsLayerMac::animationDidStart):
1316         (WebCore::GraphicsLayerMac::setContentsToImage):
1317         (WebCore::GraphicsLayerMac::setContentsToMedia):
1318         (WebCore::GraphicsLayerMac::didDisplay):
1319         (WebCore::GraphicsLayerMac::syncCompositingState):
1320         (WebCore::GraphicsLayerMac::syncCompositingStateForThisLayerOnly):
1321         (WebCore::GraphicsLayerMac::recursiveCommitChanges):
1322         (WebCore::GraphicsLayerMac::commitLayerChangesBeforeSublayers):
1323         (WebCore::GraphicsLayerMac::commitLayerChangesAfterSublayers):
1324         (WebCore::GraphicsLayerMac::updateLayerNames):
1325         (WebCore::GraphicsLayerMac::updateSublayerList):
1326         (WebCore::GraphicsLayerMac::updateLayerPosition):
1327         (WebCore::GraphicsLayerMac::updateLayerSize):
1328         (WebCore::GraphicsLayerMac::updateAnchorPoint):
1329         (WebCore::GraphicsLayerMac::updateTransform):
1330         (WebCore::GraphicsLayerMac::updateChildrenTransform):
1331         (WebCore::GraphicsLayerMac::updateMasksToBounds):
1332         (WebCore::GraphicsLayerMac::updateContentsOpaque):
1333         (WebCore::GraphicsLayerMac::updateBackfaceVisibility):
1334         (WebCore::GraphicsLayerMac::updateStructuralLayer):
1335         (WebCore::GraphicsLayerMac::ensureStructuralLayer):
1336         (WebCore::GraphicsLayerMac::structuralLayerPurpose):
1337         (WebCore::GraphicsLayerMac::updateLayerDrawsContent):
1338         (WebCore::GraphicsLayerMac::updateLayerBackgroundColor):
1339         (WebCore::GraphicsLayerMac::updateContentsImage):
1340         (WebCore::GraphicsLayerMac::updateContentsMediaLayer):
1341         (WebCore::GraphicsLayerMac::updateContentsCanvasLayer):
1342         (WebCore::GraphicsLayerMac::updateContentsRect):
1343         (WebCore::GraphicsLayerMac::updateMaskLayer):
1344         (WebCore::GraphicsLayerMac::updateReplicatedLayers):
1345         (WebCore::GraphicsLayerMac::ReplicaState::cloneID):
1346         (WebCore::GraphicsLayerMac::replicatedLayerRoot):
1347         (WebCore::GraphicsLayerMac::updateLayerAnimations):
1348         (WebCore::GraphicsLayerMac::setCAAnimationOnLayer):
1349         (WebCore::bug7311367Workaround):
1350         (WebCore::GraphicsLayerMac::removeCAAnimationFromLayer):
1351         (WebCore::copyAnimationProperties):
1352         (WebCore::GraphicsLayerMac::pauseCAAnimationOnLayer):
1353         (WebCore::GraphicsLayerMac::setContentsToCanvas):
1354         (WebCore::GraphicsLayerMac::repaintLayerDirtyRects):
1355         (WebCore::GraphicsLayerMac::updateContentsNeedsDisplay):
1356         (WebCore::GraphicsLayerMac::createAnimationFromKeyframes):
1357         (WebCore::GraphicsLayerMac::createTransformAnimationsFromKeyframes):
1358         (WebCore::GraphicsLayerMac::createBasicAnimation):
1359         (WebCore::GraphicsLayerMac::createKeyframeAnimation):
1360         (WebCore::GraphicsLayerMac::setupAnimation):
1361         (WebCore::GraphicsLayerMac::timingFunctionForAnimationValue):
1362         (WebCore::GraphicsLayerMac::setAnimationEndpoints):
1363         (WebCore::GraphicsLayerMac::setAnimationKeyframes):
1364         (WebCore::GraphicsLayerMac::setTransformAnimationEndpoints):
1365         (WebCore::GraphicsLayerMac::setTransformAnimationKeyframes):
1366         (WebCore::GraphicsLayerMac::suspendAnimations):
1367         (WebCore::GraphicsLayerMac::resumeAnimations):
1368         (WebCore::GraphicsLayerMac::hostLayerForSublayers):
1369         (WebCore::GraphicsLayerMac::layerForSuperlayer):
1370         (WebCore::GraphicsLayerMac::animatedLayer):
1371         (WebCore::GraphicsLayerMac::animatedLayerClones):
1372         (WebCore::GraphicsLayerMac::platformLayer):
1373         (WebCore::GraphicsLayerMac::setDebugBackgroundColor):
1374         (WebCore::GraphicsLayerMac::setDebugBorder):
1375         (WebCore::GraphicsLayerMac::constrainedSize):
1376         (WebCore::GraphicsLayerMac::requiresTiledLayer):
1377         (WebCore::GraphicsLayerMac::swapFromOrToTiledLayer):
1378         (WebCore::GraphicsLayerMac::defaultContentsOrientation):
1379         (WebCore::GraphicsLayerMac::updateContentsTransform):
1380         (WebCore::GraphicsLayerMac::setupContentsLayer):
1381         (WebCore::GraphicsLayerMac::findOrMakeClone):
1382         (WebCore::GraphicsLayerMac::ensureCloneLayers):
1383         (WebCore::GraphicsLayerMac::removeCloneLayers):
1384         (WebCore::GraphicsLayerMac::positionForCloneRootLayer):
1385         (WebCore::GraphicsLayerMac::propagateLayerChangeToReplicas):
1386         (WebCore::GraphicsLayerMac::fetchCloneLayers):
1387         (WebCore::GraphicsLayerMac::cloneLayer):
1388         (WebCore::GraphicsLayerMac::setOpacityInternal):
1389         (WebCore::GraphicsLayerMac::updateOpacityOnLayer):
1390         (WebCore::GraphicsLayerMac::noteSublayersChanged):
1391         (WebCore::GraphicsLayerMac::noteLayerPropertyChanged):
1392         * platform/graphics/mac/WebLayer.h:
1393         * platform/graphics/mac/WebLayer.mm:
1394         (-[WebLayer initWithLayer:]):
1395         (-[WebLayer setNeedsDisplay]):
1396         (-[WebLayer setNeedsDisplayInRect:]):
1397         (-[WebLayer display]):
1398         (-[WebLayer drawInContext:]):
1399         (-[WebLayer setLayerOwner:]):
1400         (-[WebLayer layerOwner]):
1401         * platform/graphics/mac/WebTiledLayer.h:
1402         * platform/graphics/mac/WebTiledLayer.mm:
1403         (-[WebTiledLayer initWithLayer:]):
1404         (-[WebTiledLayer setNeedsDisplay]):
1405         (-[WebTiledLayer setNeedsDisplayInRect:]):
1406         (-[WebTiledLayer display]):
1407         (-[WebTiledLayer drawInContext:]):
1408         (-[WebTiledLayer setLayerOwner:]):
1409         (-[WebTiledLayer layerOwner]):
1410         * platform/graphics/qt/GraphicsLayerQt.cpp:
1411         (WebCore::GraphicsLayerQtImpl::flushChanges):
1412         (WebCore::GraphicsLayerQt::nativeLayer):
1413         * platform/graphics/qt/GraphicsLayerQt.h:
1414         * platform/graphics/win/GraphicsLayerCACF.cpp:
1415         (WebCore::GraphicsLayerCACF::nativeLayer):
1416         * platform/graphics/win/GraphicsLayerCACF.h:
1417
1418 2010-12-02  Noel Gordon  <noel.gordon@gmail.com>
1419
1420         Reviewed by David Levin.
1421         [chromium] Remove dead code from PNG encoder
1422         https://bugs.webkit.org/show_bug.cgi?id=50377
1423
1424         Also webkit style the PNG encoder files.
1425
1426         No change in behaviour, so no new tests.
1427
1428         * platform/image-encoders/skia/PNGImageEncoder.cpp:
1429         (WebCore::encodeImpl):
1430         (WebCore::PNGImageEncoder::encode):
1431         * platform/image-encoders/skia/PNGImageEncoder.h:
1432
1433 2010-12-02  Yuta Kitamura  <yutak@chromium.org>
1434
1435         Reviewed by Alexey Proskuryakov.
1436
1437         An attempt to fix Chromium's clang build.
1438
1439         Implement (non-EventListener) marquee IDL attributes from HTML5.
1440         https://bugs.webkit.org/show_bug.cgi?id=49786
1441
1442         * rendering/style/RenderStyle.h:
1443         (WebCore::InheritedFlags::initialMarqueeSpeed):
1444
1445 2010-12-02  Mikhail Naganov  <mnaganov@chromium.org>
1446
1447         Reviewed by Pavel Feldman.
1448
1449         Web Inspector: Fix heap snapshots loading. Loading is now
1450         conducted by the Profiles panel which prevents accidental
1451         simultaneous attempts to load the same profile several times in
1452         parallel.
1453
1454         https://bugs.webkit.org/show_bug.cgi?id=50427
1455
1456         * inspector/front-end/HeapSnapshotView.js:
1457         (WebInspector.HeapSnapshotView.prototype._loadProfile):
1458         (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
1459         * inspector/front-end/ProfilesPanel.js:
1460         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1461         (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
1462         (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
1463
1464 2010-12-02  Chris Marrin  <cmarrin@apple.com>
1465
1466         Reviewed by Simon Fraser.
1467
1468         Fix Leopard build broken by http://trac.webkit.org/changeset/73217
1469
1470         * platform/graphics/ca/GraphicsLayerCA.cpp:
1471         (WebCore::getTransformFunctionValue):
1472         (WebCore::GraphicsLayerCA::updateContentsTransform):
1473         * platform/graphics/ca/PlatformCALayer.h:
1474         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1475         (PlatformCAAnimation::valueFunction):
1476         (PlatformCAAnimation::setValueFunction):
1477         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1478         (PlatformCALayer::PlatformCALayer):
1479         (PlatformCALayer::anchorPoint):
1480         (PlatformCALayer::setAnchorPoint):
1481         (PlatformCALayer::contentsTransform):
1482         (PlatformCALayer::setContentsTransform):
1483         (PlatformCALayer::isGeometryFlipped):
1484         (PlatformCALayer::setGeometryFlipped):
1485         (PlatformCALayer::setMinificationFilter):
1486         (PlatformCALayer::setMagnificationFilter):
1487
1488 2010-12-02  Dan Bernstein  <mitz@apple.com>
1489
1490         Reviewed by Dave Hyatt.
1491
1492         CSS support for the text-emphasis properties
1493         Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
1494         https://bugs.webkit.org/show_bug.cgi?id=48539
1495
1496         Test: fast/css/parsing-text-emphasis.html
1497
1498         * css/CSSComputedStyleDeclaration.cpp:
1499         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added text-emphasis-color,
1500         text-emphasis-position and text-emphasis-style. Left the text-emphasis shorthand unsupported.
1501         * css/CSSParser.cpp:
1502         (WebCore::CSSParser::parseValue): Parse the properties.
1503         (WebCore::CSSParser::parseTextEmphasisStyle): Added.
1504         * css/CSSParser.h:
1505         * css/CSSPrimitiveValueMappings.h:
1506         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added TextEmphasisPosition, TextEmphasisFill
1507         and TextEmphasisMark mappings.
1508         (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition): Added.
1509         (WebCore::CSSPrimitiveValue::operator TextEmphasisFill): Added.
1510         (WebCore::CSSPrimitiveValue::operator TextEmphasisMark): Added.
1511         * css/CSSPropertyLonghand.cpp:
1512         (WebCore::initShorthandMap): Added the text-emphasis shorthand.
1513         * css/CSSPropertyNames.in: Added -webkit-text-emphasis, -webkit-text-emphasis-color,
1514         -webkit-text-emphasis-position, and -webkit-text-emphasis-style.
1515         * css/CSSStyleSelector.cpp:
1516         (WebCore::isValidVisitedLinkProperty): Added text-emphasis-color.
1517         (WebCore::CSSStyleSelector::applyProperty): Handle the properties.
1518         * css/CSSValueKeywords.in: Added 'over' and 'under' for text-emphasis-position. Added 'dot',
1519         'double-circle', 'triangle', 'sesame', 'filled' and 'open' for text-emphasis-style.
1520         * rendering/style/RenderStyle.cpp:
1521         (WebCore::RenderStyle::colorIncludingFallback): Handle text-emphasis-color.
1522         (WebCore::RenderStyle::textEmphasisMark): Added. Maps the fake 'auto' value to 'dot' or
1523         'sesame' based on writing direction.
1524         * rendering/style/RenderStyle.h: Added accessors.
1525         (WebCore::InheritedFlags::textEmphasisFill):
1526         (WebCore::InheritedFlags::textEmphasisCustomMark):
1527         (WebCore::InheritedFlags::textEmphasisPosition):
1528         (WebCore::InheritedFlags::setTextEmphasisColor):
1529         (WebCore::InheritedFlags::setTextEmphasisFill):
1530         (WebCore::InheritedFlags::setTextEmphasisMark):
1531         (WebCore::InheritedFlags::setTextEmphasisCustomMark):
1532         (WebCore::InheritedFlags::setTextEmphasisPosition):
1533         (WebCore::InheritedFlags::initialTextEmphasisColor):
1534         (WebCore::InheritedFlags::initialTextEmphasisFill):
1535         (WebCore::InheritedFlags::initialTextEmphasisMark):
1536         (WebCore::InheritedFlags::initialTextEmphasisCustomMark):
1537         (WebCore::InheritedFlags::initialTextEmphasisPosition):
1538         (WebCore::InheritedFlags::textEmphasisColor):
1539         * rendering/style/RenderStyleConstants.h:
1540         * rendering/style/StyleRareInheritedData.cpp:
1541         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1542         (WebCore::StyleRareInheritedData::operator==):
1543         * rendering/style/StyleRareInheritedData.h:
1544
1545 2010-12-02  Chris Marrin  <cmarrin@apple.com>
1546
1547         Reviewed by Simon Fraser.
1548
1549         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1550         https://bugs.webkit.org/show_bug.cgi?id=49388
1551
1552         Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
1553         identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
1554         with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
1555         platform neutral as long as implementations of those two classes are available. 
1556         Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
1557         rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
1558         to avoid confusion since both names were used to refer to the same thing. 
1559
1560         This patch is only for Mac. Windows implementation has not changed.
1561
1562         * WebCore.xcodeproj/project.pbxproj:
1563         * platform/graphics/GraphicsLayer.h:
1564         * platform/graphics/ca: Added.
1565         * platform/graphics/ca/GraphicsLayerCA.cpp: Added.
1566         * platform/graphics/ca/GraphicsLayerCA.h: Added.
1567         * platform/graphics/ca/PlatformCAAnimation.h: Added.
1568         * platform/graphics/ca/PlatformCALayer.h: Added.
1569         * platform/graphics/ca/mac: Added.
1570         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Added.
1571         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Added.
1572         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1573         * platform/graphics/chromium/GraphicsLayerChromium.h:
1574         * platform/graphics/mac/GraphicsLayerMac.h: Removed.
1575         * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
1576         * platform/graphics/mac/WebLayer.h:
1577         * platform/graphics/mac/WebLayer.mm:
1578         * platform/graphics/mac/WebTiledLayer.h:
1579         * platform/graphics/mac/WebTiledLayer.mm:
1580         * platform/graphics/qt/GraphicsLayerQt.cpp:
1581         * platform/graphics/qt/GraphicsLayerQt.h:
1582         * platform/graphics/win/GraphicsLayerCACF.cpp:
1583         * platform/graphics/win/GraphicsLayerCACF.h:
1584
1585 2010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
1586
1587         Reviewed by Darin Adler.
1588
1589         Update ResourceLoaderSet Enumeration
1590         https://bugs.webkit.org/show_bug.cgi?id=50405
1591
1592         Use size_t when working with Vectors and when comparing between size_t types.
1593
1594         * loader/DocumentLoader.cpp:
1595         (WebCore::cancelAll):
1596         (WebCore::setAllDefersLoading):
1597
1598 2010-12-02  Jian Li  <jianli@chromium.org>
1599
1600         Reviewed by Kenneth Russell.
1601
1602         Integer calculation issues in DataView constructor
1603         https://bugs.webkit.org/show_bug.cgi?id=50354
1604
1605         Test: fast/canvas/webgl/data-view-crash.html
1606
1607         * html/canvas/DataView.cpp:
1608         (WebCore::DataView::create):
1609
1610 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
1611
1612         Reviewed by Darin Adler.
1613
1614         Add AtomicString::fromUTF8
1615         https://bugs.webkit.org/show_bug.cgi?id=45594
1616
1617         Use AtomicString::fromUTF8 directly in the libxml2 parser.
1618
1619         * dom/XMLDocumentParserLibxml2.cpp:
1620         (WebCore::toAtomicString):
1621
1622 2010-12-02  Andy Estes  <aestes@apple.com>
1623
1624         Fix the Qt Linux Release minimal build.
1625
1626         * html/HTMLMarqueeElement.cpp: Include ExceptionCode.h
1627
1628 2010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
1629
1630         Reviewed by Darin Adler.
1631
1632         Update ResourceLoaderSet Enumeration
1633         https://bugs.webkit.org/show_bug.cgi?id=50405
1634
1635         * loader/DocumentLoader.cpp:
1636         (WebCore::cancelAll): instead of copying the HashSet, use copyToVector.
1637         (WebCore::setAllDefersLoading): instead of copying the HashSet, use copyToVector.
1638
1639 2010-12-02  Andy Estes  <aestes@apple.com>
1640
1641         Reviewed by Darin Adler.
1642
1643         Implement (non-EventListener) marquee IDL attributes from HTML5.
1644         https://bugs.webkit.org/show_bug.cgi?id=49786
1645
1646         Test: fast/html/marquee-element.html
1647
1648         * html/HTMLMarqueeElement.cpp:
1649         (WebCore::HTMLMarqueeElement::scrollAmount): If the content attribute
1650         can be converted to a signed integer and is >= 0, return it.
1651         Otherwise, return the default scrollAmount value.
1652         (WebCore::HTMLMarqueeElement::setScrollAmount): Update the content
1653         attribute if it is >= 0. Otherwise, raise INDEX_SIZE_ERR.
1654         (WebCore::HTMLMarqueeElement::scrollDelay): Same as scrollAmount.
1655         (WebCore::HTMLMarqueeElement::setScrollDelay): Same as setScrollAmount.
1656         (WebCore::HTMLMarqueeElement::loop): If the content attribute can be
1657         converted to a signed integer and is greater than 0 or equal to -1,
1658         return it. Otherwise, return the default loop value.
1659         (WebCore::HTMLMarqueeElement::setLoop): Update the content attribute if
1660         it is greater than 0 or equal to -1. Otherwise, raise INDEX_SIZE_ERR.
1661         * html/HTMLMarqueeElement.h:
1662         * html/HTMLMarqueeElement.idl: Update the IDL to match what is in HTML5.
1663         * rendering/style/RenderStyle.h:
1664         (WebCore::InheritedFlags::initialMarqueeSpeed):
1665
1666 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
1667
1668         Reviewed by Andreas Kling.
1669
1670         [OpenVG] Remove "current path" of GraphicsContext
1671         https://bugs.webkit.org/show_bug.cgi?id=50294
1672
1673         * platform/graphics/GraphicsContext.h:
1674         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1675         (WebCore::GraphicsContext::fillPath):
1676         (WebCore::GraphicsContext::strokePath):
1677         (WebCore::GraphicsContext::clipPath):
1678         * platform/graphics/openvg/PainterOpenVG.cpp:
1679         (WebCore::PainterOpenVG::PainterOpenVG):
1680         (WebCore::PainterOpenVG::~PainterOpenVG):
1681         (WebCore::PainterOpenVG::drawPath):
1682         * platform/graphics/openvg/PainterOpenVG.h:
1683
1684 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
1685
1686         Reviewed by Andreas Kling.
1687
1688         [WINCE] Remove "current path" of GraphicsContext
1689         https://bugs.webkit.org/show_bug.cgi?id=50284
1690
1691         * platform/graphics/GraphicsContext.h:
1692         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1693         (WebCore::GraphicsContext::fillPath):
1694         (WebCore::GraphicsContext::strokePath):
1695
1696 2010-12-02  Johnny Ding  <jnd@chromium.org>
1697
1698         Reviewed by Adam Barth.
1699
1700         Set the right gesture status for URL redirections.
1701         https://bugs.webkit.org/show_bug.cgi?id=47817
1702
1703         Tests: fast/frames/location-redirect-user-gesture.html
1704                fast/frames/meta-refresh-user-gesture.html
1705
1706         * loader/NavigationScheduler.cpp:
1707         (WebCore::ScheduledNavigation::clearUserGesture):
1708         (WebCore::ScheduledRedirect::ScheduledRedirect):
1709
1710 2010-12-02  Chris Rogers  <crogers@google.com>
1711
1712         Reviewed by Kenneth Russell.
1713
1714         AudioContext needs createBuffer() method from ArrayBuffer
1715         https://bugs.webkit.org/show_bug.cgi?id=50343
1716
1717         No new tests since audio API is not yet implemented.
1718
1719         * webaudio/AudioContext.cpp:
1720         (WebCore::AudioContext::createBuffer):
1721         * webaudio/AudioContext.h:
1722         * webaudio/AudioContext.idl:
1723
1724 2010-12-02  Noel Gordon  <noel.gordon@gmail.com>
1725
1726         Reviewed by David Levin.
1727
1728         [chromium] Add canvas.toDataURL("image/jpeg", quality) support
1729         https://bugs.webkit.org/show_bug.cgi?id=49365
1730
1731         Adds a libjpeg-based image encoder for Skia bitmaps.  Default encoding quality
1732         is 92 to match Mozilla, also Safari, though the actual value used by Safari is
1733         undocumented, and it appears to pre-blur images prior to compression.
1734
1735         The preMultipliedBGRAtoRGB() routine restores the un-premultiplied RGB colors
1736         where there is non-zero alpha.  Again, this matches Firefox and Safari, but no
1737         browser conforms to the HTML5 canvas standard here, I believe, considering the
1738         result of canvas/philip/tests/toDataURL.jpeg.alpha.html; that test ignores the
1739         alpha channel when extracting an "image/jpeg".toDataURL().  The correct answer
1740         needs more investigation, bug http://webkit.org/b/40147.
1741
1742         Canvas toDataURL is covered by existing tests canvas/philip/tests/toDataURL.*,
1743         and fast/canvas/*toDataURL* tests.
1744
1745         * WebCore.gypi:
1746         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1747         (WebCore::V8HTMLCanvasElement::toDataURLCallback): don't set encoding quality
1748         here, just pass the toDataURL parameters through to the canvas layer.
1749         * platform/chromium/MIMETypeRegistryChromium.cpp:
1750         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): implement
1751         the supported mimeTypes for encoding in-place.
1752         * platform/graphics/skia/ImageBufferSkia.cpp:
1753         (WebCore::ImageBuffer::toDataURL): add jpeg encoding and quality support.
1754         * platform/image-encoders/skia/JPEGImageEncoder.cpp: Added.
1755         (WebCore::prepareOutput):
1756         (WebCore::writeOutput):
1757         (WebCore::finishOutput):
1758         (WebCore::handleError):
1759         (WebCore::preMultipliedBGRAtoRGB): FIXME: bug 40147.
1760         (WebCore::JPEGImageEncoder::encode):
1761         * platform/image-encoders/skia/JPEGImageEncoder.h: Added.
1762
1763 2010-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1764
1765         Unreviewed, rolling out r73152.
1766         http://trac.webkit.org/changeset/73152
1767         https://bugs.webkit.org/show_bug.cgi?id=50401
1768
1769         the patch has broken chromium win layout tests (Requested by
1770         loislo on #webkit).
1771
1772         * inspector/CodeGeneratorInspector.pm:
1773         * inspector/Inspector.idl:
1774         * inspector/front-end/Callback.js:
1775         * inspector/front-end/DOMAgent.js:
1776         (WebInspector.DOMNode):
1777         * inspector/front-end/inspector.js:
1778         (WebInspector.loaded.WebInspector.socket.onmessage):
1779         (WebInspector.dispatch):
1780         (WebInspector_syncDispatch):
1781         (WebInspector.reportProtocolError):
1782
1783 2010-12-02  W. James MacLean  <wjmaclean@chromium.org>
1784
1785         Reviewed by James Robinson.
1786
1787         Scaled Resized images are blurred when sent to Skia
1788         https://bugs.webkit.org/show_bug.cgi?id=42370
1789
1790         This patch modifies ImageSkia.cpp to fix the calculation of resampled
1791         bitmap sizes so as to include the transform matrix of the canvas.
1792         Includes new tests to catch a scrolling regression and a clipping regression.
1793
1794         Tests: svg/custom/image-rescale-clip.html
1795                svg/custom/image-rescale-scroll.html
1796                svg/custom/image-rescale.svg
1797
1798         * platform/graphics/skia/ImageSkia.cpp:
1799         (WebCore::computeResamplingMode):
1800         (WebCore::drawResampledBitmap):
1801
1802 2010-12-02  Erik Arvidsson  <arv@chromium.org>
1803
1804         Reviewed by Darin Adler.
1805
1806         Missing DOM property for incremental input attribute
1807         https://bugs.webkit.org/show_bug.cgi?id=50335
1808
1809         Test: fast/forms/incremental-dom-property.html
1810
1811         * html/HTMLInputElement.idl: Added attribute
1812
1813 2010-12-02  John Knottenbelt  <jknotten@chromium.org>
1814
1815         Reviewed by Steve Block.
1816
1817         Move requestGeolocationPermissionForFrame to GeolocationClient
1818         https://bugs.webkit.org/show_bug.cgi?id=50061
1819
1820         This change facilitates client-based geolocation implementation by
1821         bringing together permission control into the geolocation client
1822         interface.
1823
1824         * page/Chrome.h:
1825         * page/ChromeClient.h:
1826         * page/Geolocation.cpp:
1827         (WebCore::Geolocation::disconnectFrame):
1828         (WebCore::Geolocation::requestPermission):
1829         * page/GeolocationClient.h:
1830         * page/GeolocationController.cpp:
1831         (WebCore::GeolocationController::requestPermission):
1832         (WebCore::GeolocationController::cancelPermissionRequest):
1833         * page/GeolocationController.h:
1834         * platform/mock/GeolocationClientMock.cpp:
1835         (WebCore::GeolocationClientMock::GeolocationClientMock):
1836         (WebCore::GeolocationClientMock::setPermission):
1837         (WebCore::GeolocationClientMock::requestPermission):
1838         (WebCore::GeolocationClientMock::cancelPermissionRequest):
1839         (WebCore::GeolocationClientMock::asyncUpdatePermission):
1840         (WebCore::GeolocationClientMock::permissionTimerFired):
1841         (WebCore::GeolocationClientMock::reset):
1842         (WebCore::GeolocationClientMock::stopUpdating):
1843         (WebCore::GeolocationClientMock::asyncUpdateController):
1844         (WebCore::GeolocationClientMock::controllerTimerFired):
1845         * platform/mock/GeolocationClientMock.h:
1846
1847 2010-12-01  Ilya Tikhonovsky  <loislo@chromium.org>
1848
1849         Reviewed by Pavel Feldman.
1850
1851         Web Inspector: Inspector protocol cleanup task.
1852
1853         The patch has just small renames and adjustments for the protocol things.
1854         'handler' keyword in idl file was replaced with 'domain'.
1855         'domain' property was assigned for the each backend to frontend messages.
1856         At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
1857
1858         https://bugs.webkit.org/show_bug.cgi?id=50337
1859
1860         * inspector/CodeGeneratorInspector.pm:
1861         * inspector/Inspector.idl:
1862         * inspector/front-end/inspector.js:
1863         (WebInspector_syncDispatch):
1864
1865 2010-12-01  Andrey Kosyakov  <caseq@chromium.org>
1866
1867         Reviewed by Pavel Feldman.
1868
1869         Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
1870         Re-implementing HAR export functionality that used to be in Resources
1871         tab in Network tab.
1872         https://bugs.webkit.org/show_bug.cgi?id=45663
1873
1874         * inspector/front-end/NetworkPanel.js:
1875         (WebInspector.NetworkPanel.prototype._createTable):
1876         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1877         (WebInspector.NetworkPanel.prototype._contextMenu):
1878         (WebInspector.NetworkPanel.prototype._exportAll):
1879         (WebInspector.NetworkPanel.prototype._exportResource):
1880         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
1881         * inspector/front-end/networkPanel.css:
1882         (.data-grid table.data tr.revealed.network-item):
1883         (.data-grid.filter-other table.data tr.revealed.network-category-other):
1884
1885 2010-12-02  Dai Mikurube  <dmikurube@google.com>
1886
1887         Reviewed by Kent Tamura.
1888
1889         Reject named colors, accept only #rrggbb in <input type=color />
1890         https://bugs.webkit.org/show_bug.cgi?id=50308
1891
1892         * html/ColorInputType.cpp: Modified to accept only simple colors like #xxxxxx.
1893         (WebCore::isValidColorString):
1894
1895 2010-12-02  Vincent Scheib  <scheib@chromium.org>
1896
1897         Reviewed by Darin Fisher.
1898
1899         [chromium] histograms api updated in WebKitClient and added to ChromiumBridge
1900         https://bugs.webkit.org/show_bug.cgi?id=50285
1901
1902         Test by loading "about:histograms" after navigating to accelerated pages.
1903
1904         * platform/chromium/ChromiumBridge.h: api update.
1905
1906 2010-12-02  Andras Becsi  <abecsi@webkit.org>
1907
1908         Unreviewed build fix.
1909
1910         [Qt][V8] Fix linking of generated sources.
1911
1912         No new tests needed.
1913
1914         * WebCore.pro: add missing V8ImageDataCustom.cpp.
1915
1916 2010-12-02  Nikolas Zimmermann  <nzimmermann@rim.com>
1917
1918         Reviewed by Adam Roben.
1919
1920         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedString/SVGAnimatedEnumeration
1921         https://bugs.webkit.org/show_bug.cgi?id=50383
1922
1923         Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(STRING|ENUMERATION) / DEFINE_ANIMATED_(STRING|ENUMERATION).
1924         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
1925
1926         No functional changes, thus no new tests.
1927
1928         * svg/SVGAElement.cpp:
1929         * svg/SVGAElement.h:
1930         (WebCore::SVGAElement::isValid):
1931         (WebCore::SVGAElement::target):
1932         * svg/SVGAltGlyphElement.cpp:
1933         * svg/SVGAltGlyphElement.h:
1934         * svg/SVGAnimatedEnumeration.h:
1935         * svg/SVGAnimatedString.h:
1936         * svg/SVGClipPathElement.cpp:
1937         * svg/SVGClipPathElement.h:
1938         * svg/SVGComponentTransferFunctionElement.cpp:
1939         * svg/SVGComponentTransferFunctionElement.h:
1940         * svg/SVGCursorElement.cpp:
1941         * svg/SVGCursorElement.h:
1942         * svg/SVGFEBlendElement.cpp:
1943         * svg/SVGFEBlendElement.h:
1944         * svg/SVGFEColorMatrixElement.cpp:
1945         * svg/SVGFEColorMatrixElement.h:
1946         * svg/SVGFEComponentTransferElement.cpp:
1947         * svg/SVGFEComponentTransferElement.h:
1948         * svg/SVGFECompositeElement.cpp:
1949         * svg/SVGFECompositeElement.h:
1950         * svg/SVGFEConvolveMatrixElement.cpp:
1951         * svg/SVGFEConvolveMatrixElement.h:
1952         * svg/SVGFEDiffuseLightingElement.cpp:
1953         * svg/SVGFEDiffuseLightingElement.h:
1954         * svg/SVGFEDisplacementMapElement.cpp:
1955         * svg/SVGFEDisplacementMapElement.h:
1956         * svg/SVGFEGaussianBlurElement.cpp:
1957         * svg/SVGFEGaussianBlurElement.h:
1958         * svg/SVGFEImageElement.cpp:
1959         * svg/SVGFEImageElement.h:
1960         * svg/SVGFELightElement.cpp:
1961         * svg/SVGFEMergeNodeElement.cpp:
1962         * svg/SVGFEMergeNodeElement.h:
1963         * svg/SVGFEMorphologyElement.cpp:
1964         * svg/SVGFEMorphologyElement.h:
1965         * svg/SVGFEOffsetElement.cpp:
1966         * svg/SVGFEOffsetElement.h:
1967         * svg/SVGFESpecularLightingElement.cpp:
1968         * svg/SVGFESpecularLightingElement.h:
1969         * svg/SVGFETileElement.cpp:
1970         * svg/SVGFETileElement.h:
1971         * svg/SVGFETurbulenceElement.cpp:
1972         * svg/SVGFETurbulenceElement.h:
1973         * svg/SVGFilterElement.cpp:
1974         * svg/SVGFilterElement.h:
1975         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1976         * svg/SVGFilterPrimitiveStandardAttributes.h:
1977         * svg/SVGForeignObjectElement.cpp:
1978         * svg/SVGForeignObjectElement.h:
1979         * svg/SVGGradientElement.cpp:
1980         * svg/SVGGradientElement.h:
1981         * svg/SVGImageElement.cpp:
1982         * svg/SVGImageElement.h:
1983         * svg/SVGMPathElement.cpp:
1984         * svg/SVGMPathElement.h:
1985         * svg/SVGMarkerElement.cpp:
1986         * svg/SVGMarkerElement.h:
1987         * svg/SVGMaskElement.cpp:
1988         * svg/SVGMaskElement.h:
1989         * svg/SVGPatternElement.cpp:
1990         * svg/SVGPatternElement.h:
1991         * svg/SVGScriptElement.cpp:
1992         * svg/SVGScriptElement.h:
1993         * svg/SVGStyledElement.cpp:
1994         * svg/SVGStyledElement.h:
1995         (WebCore::SVGStyledElement::hasRelativeLengths):
1996         (WebCore::SVGStyledElement::supportsMarkers):
1997         (WebCore::SVGStyledElement::style):
1998         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
1999         (WebCore::SVGStyledElement::selfHasRelativeLengths):
2000         (WebCore::SVGStyledElement::isStyled):
2001         * svg/SVGTRefElement.cpp:
2002         * svg/SVGTRefElement.h:
2003         * svg/SVGTextContentElement.cpp:
2004         * svg/SVGTextContentElement.h:
2005         * svg/SVGTextPathElement.cpp:
2006         * svg/SVGTextPathElement.h:
2007         * svg/SVGUseElement.cpp:
2008         * svg/SVGUseElement.h:
2009
2010 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
2011
2012         Reviewed by Andreas Kling.
2013
2014         [WX] Remove "current path" of GraphicsContext
2015         https://bugs.webkit.org/show_bug.cgi?id=50286
2016
2017         * platform/graphics/GraphicsContext.h:
2018         * platform/graphics/wx/GraphicsContextWx.cpp:
2019         (WebCore::GraphicsContext::GraphicsContext):
2020         (WebCore::GraphicsContext::fillPath):
2021         (WebCore::GraphicsContext::strokePath):
2022
2023 2010-10-26  Martin Robinson  <mrobinson@igalia.com>
2024
2025         Reviewed by Xan Lopez.
2026
2027         [GTK] Text input controls do not react properly to CSS styling
2028         https://bugs.webkit.org/show_bug.cgi?id=40855
2029
2030         Improve text input control rendering. Instead of using the GTK+ border
2031         attributes of the control modify the padding, they modify the border.
2032         Make this same choice for search inputs and text area inputs.
2033
2034         * platform/gtk/RenderThemeGtk.cpp:
2035         (WebCore::setTextInputBorders): Added this helper which sets text input control
2036         borders based on GTK+ theme settings.
2037         (WebCore::RenderThemeGtk::adjustTextFieldStyle): Use the setTextInputBorders helper.
2038         (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
2039         (WebCore::RenderThemeGtk::adjustSearchFieldStyle): Ditto.
2040         * platform/gtk/RenderThemeGtk.h:
2041
2042 2010-12-02  Andreas Kling  <kling@webkit.org>
2043
2044         Reviewed by Kenneth Rohde Christiansen.
2045
2046         [Qt] GraphicsContext::strokeRect() taints the context's lineWidth
2047         https://bugs.webkit.org/show_bug.cgi?id=50269
2048
2049         Test: fast/canvas/canvas-lineWidth-intact-after-strokeRect.html
2050
2051         * platform/graphics/qt/GraphicsContextQt.cpp:
2052         (WebCore::GraphicsContext::strokeRect): Restore the context's
2053         original stroke thickness after painting.
2054
2055 2010-12-02  Renata Hodovan  <reni@webkit.org>
2056
2057         Reviewed by Andreas Kling.
2058
2059         [Qt] GraphicsContext::clip(path) should clip using winding fill 
2060         https://bugs.webkit.org/show_bug.cgi?id=49912
2061
2062         GraphicsContext::clip(path) now uses winding fill and this function is called by
2063         GraphicsContext::canvasClip(path).
2064
2065         No new test is needed.
2066
2067         * platform/graphics/qt/GraphicsContextQt.cpp:
2068         (WebCore::GraphicsContext::clip):
2069         (WebCore::GraphicsContext::canvasClip):
2070
2071 2010-12-01  Alexander Pavlov  <apavlov@chromium.org>
2072
2073         Reviewed by Yury Semikhatsky.
2074
2075         Web Inspector: Remove obsolete CSS backend API from InspectorDOMAgent
2076         https://bugs.webkit.org/show_bug.cgi?id=50318
2077
2078         * CMakeLists.txt:
2079         * GNUmakefile.am:
2080         * WebCore.gypi:
2081         * WebCore.order:
2082         * WebCore.pro:
2083         * WebCore.vcproj/WebCore.vcproj:
2084         * WebCore.xcodeproj/project.pbxproj:
2085         * inspector/Inspector.idl:
2086         * inspector/InspectorCSSAgent.h:
2087         * inspector/InspectorCSSStore.cpp: Removed.
2088         * inspector/InspectorCSSStore.h: Removed.
2089         * inspector/InspectorController.cpp:
2090         (WebCore::InspectorController::InspectorController):
2091         (WebCore::InspectorController::connectFrontend):
2092         (WebCore::InspectorController::didCommitLoad):
2093         * inspector/InspectorController.h:
2094         * inspector/InspectorDOMAgent.cpp:
2095         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2096         (WebCore::InspectorDOMAgent::unbind):
2097         * inspector/InspectorDOMAgent.h:
2098         (WebCore::InspectorDOMAgent::create):
2099
2100 2010-12-02  Csaba Osztrogonác  <ossy@webkit.org>
2101
2102         Unreviewed trivial buildfix after r73117.
2103
2104         * page/FrameView.cpp:
2105         (WebCore::FrameView::calculateScrollbarModesForLayout):
2106
2107 2010-12-02  Yuqiang Xian  <yuqiang.xian@intel.com>
2108
2109         Reviewed by Pavel Feldman.
2110
2111         [V8] Speed up data property access for ImageData.
2112         https://bugs.webkit.org/show_bug.cgi?id=49999
2113
2114         We create a normal V8 object which has a PixelArray as the backing storage,
2115         and set the "data" property of the ImageData object to it. 
2116         This way "data" becomes a pure JS property and we don't need to call through
2117         the C++ bindings for ImageData "data" access. 
2118         This eliminates big overhead in switching between JavaScript and native
2119         contexts and performing object bindings.
2120
2121         No new tests. Relying on existing Canvas tests.
2122
2123         * WebCore.gypi:
2124         * bindings/scripts/CodeGeneratorV8.pm:
2125         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
2126         (WebCore::toV8):
2127         * bindings/v8/custom/V8ImageDataCustom.cpp: Added.
2128         (WebCore::toV8):
2129         * html/ImageData.idl:
2130         * html/canvas/CanvasPixelArray.idl:
2131
2132 2010-12-02  Kent Tamura  <tkent@chromium.org>
2133
2134         Unreviewed. Run sort-Xcode-project-file.
2135
2136         * WebCore.xcodeproj/project.pbxproj:
2137
2138 2010-12-02  Mike Lawther  <mikelawther@chromium.org>
2139
2140         Reviewed by David Hyatt.
2141
2142         Clean up of iframe scrollbar mode code
2143         https://bugs.webkit.org/show_bug.cgi?id=47797
2144
2145         Pull setChildNeedsLayout/setNeedsLayout calls out of scrollbar mode
2146         calculation method and put back into main layout function. 
2147         Early exit from the scrollbar calc when scrollbars are turned off. 
2148
2149         * page/FrameView.cpp:
2150         (WebCore::FrameView::calculateScrollbarModesForLayout):
2151         (WebCore::FrameView::layout):
2152
2153 2010-12-02  Hironori Bono  <hbono@chromium.org>
2154
2155         Reviewed by Darin Fisher.
2156
2157         [Chromium] Fix possible crashes in FontFallbackFont::determinePitch().
2158         https://bugs.webkit.org/show_bug.cgi?id=25770
2159
2160         When all of "Arial", "Courier New", and "Times New Roman" fonts are corrupted,
2161         FontCache::getLastResortFallbackFont() returns 0 and it causes this crash. To
2162         avoid this crash, this change falls back to system fonts (Windows ensures they
2163         are sane) as Win Safari does. Unfortunately, I don't have any ideas how I can
2164         write a layout test for this issue because this crash happens on a PC some of
2165         its system fonts are corrupted.
2166
2167         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2168         (WebCore::fontDataFromDescriptionAndLogFont):
2169         (WebCore::FontCache::getLastResortFallbackFont):
2170
2171 2010-12-02  Dimitri Glazkov  <dglazkov@chromium.org>
2172
2173         Reviewed by Kent Tamura.
2174
2175         Provide means to store shadow DOM nodes on Element
2176         https://bugs.webkit.org/show_bug.cgi?id=48697
2177
2178         Adds shadow DOM awareness to the standard Node attach/detach,
2179         document and tree insertion and removal cycle.
2180
2181         No new tests, because the code is not yet used.
2182
2183         * dom/Element.cpp:
2184         (WebCore::Element::insertedIntoDocument): Added logic to cascade down to shadow DOM, if present.
2185         (WebCore::Element::removedFromDocument): Ditto.
2186         (WebCore::Element::insertedIntoTree): Ditto.
2187         (WebCore::Element::removedFromTree): Ditto.
2188         (WebCore::Element::attach): Ditto.
2189         (WebCore::Element::detach): Ditto.
2190         (WebCore::Element::recalcStyle):
2191         (WebCore::Element::shadowRoot): Added.
2192         (WebCore::Element::setShadowRoot): Added.
2193         (WebCore::Element::clearShadowRoot): Added.
2194         * dom/Element.h: Added decls.
2195         * dom/ElementRareData.h: Added a member to hold a RefPtr to the shadow DOM root for the element.
2196
2197 2010-12-02  Adam Barth  <abarth@webkit.org>
2198
2199         Reviewed by Eric Seidel.
2200
2201         Gray-scale JPEG images with a color profile are stretched horizonally
2202         https://bugs.webkit.org/show_bug.cgi?id=49950
2203
2204         Turns out gray-scale JPEGs with color profiles have the same issue as
2205         PNGs.  As with PNGs, we suppress now suppress the color profile for
2206         gray-scale JPEGs.  Most importantly, this patch adds a test.
2207
2208         Test: fast/images/gray-scale-jpeg-with-color-profile.html
2209
2210         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2211         (WebCore::JPEGImageReader::decode):
2212
2213 2010-12-01  Geoffrey Garen  <ggaren@apple.com>
2214
2215         Build fix: Added a forwarding header.
2216
2217         * ForwardingHeaders/wtf/OSAllocator.h: Added.
2218
2219 2010-12-01  Jia Pu  <jpu@apple.com>
2220
2221         Reviewed by Darin Adler.
2222
2223         Support multiple correction candidates panel for misspelled word on Mac OS X.
2224         https://bugs.webkit.org/show_bug.cgi?id=50137
2225         <rdar://problem/8568059>
2226
2227         Test: platform/mac/editing/spelling/delete-autocorrected-word-1.html
2228         Manual test: WebCore/manual-tests/autocorrection/dismiss-multiple-guesses.html
2229                      WebCore/manual-tests/autocorrection/select-from-multiple-guesses.html
2230
2231         This patch is for supporting multiple correction suggestion panel on Mac OS X.
2232         The behavior and implementation is similar to that of reversion candiate panel.
2233
2234         * WebCore.exp.in: Added and removed symbols.
2235
2236         * editing/CorrectionPanelInfo.h: Added new correction panel type, PanelTypeSpellingSuggestions.
2237
2238         * editing/Editor.cpp:
2239         (WebCore::markerTypesForAutocorrection): Convenient function for getting marker types to
2240           be added to autocorrected word.
2241         (WebCore::boundingBoxForRange): Convenient function for calculating the bounding box of a range.
2242         (WebCore::markerTypesForReplacement): Convenient function for getting marker types to
2243           be added to word that has been replaced by various correction panel.
2244         (WebCore::Editor::respondToChangedSelection): Added code to trigger timer for multiple
2245           suggestion panel.
2246         (WebCore::Editor::guessesForMisspelledSelection): Adopted new signature of EditorClient::getGuessesForWord().
2247         (WebCore::Editor::markMisspellingsAfterTypingToWord): Adopted new signature of applyCorrectionPanelInfo().
2248         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
2249         (WebCore::Editor::correctionPanelTimerFired): Added code to handle new multiple suggestion panel.
2250         (WebCore::Editor::handleCorrectionPanelResult): Replaced handleRejectedCorrection(), since
2251           with new AppKit correction panel API, not only rejection, but also confirmation can be
2252           handled in callback.
2253         (WebCore::Editor::stopCorrectionPanelTimer): Moved the code that clears correction panel info
2254           from dismissCorrectionPanel() to this function to fix a bug that would occur when deleting
2255           autocorrected word.
2256         (WebCore::Editor::dismissCorrectionPanel): Ditto.
2257         (WebCore::Editor::applyCorrectionPanelInfo): Added code to handle new multiple suggestion panel.
2258
2259         * editing/Editor.h: Replaced handleRejectedCorrection() with handleCorrectionPanelResult().
2260           Changed the signature of applyCorrectionPanelInfo() to hanlde new correction panel type.
2261
2262         * editing/TextCheckingHelper.cpp:
2263         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Adopted new EditorClient::getGuessesForWord().
2264
2265         * editing/TextCheckingHelper.h: Made paragraphRange() public.
2266
2267         * loader/EmptyClients.h:
2268         (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature defined in base class.
2269         (WebCore::EmptyEditorClient::getGuessesForWord): Ditto.
2270
2271         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Added.
2272
2273         * manual-tests/autocorrection/select-from-multiple-guesses.html: Added.
2274
2275         * page/EditorClient.h:  Changed showCorrectionPanel() to allow passing multiple correction
2276           candidates. Changed getGuessesForWord() to allow passing in contextual text for better
2277           correction suggestions (for those spellcheckers that utilizes such contextual information).
2278
2279 2010-12-01  David Hyatt  <hyatt@apple.com>
2280
2281         Reviewed by James Robinson.
2282
2283         https://bugs.webkit.org/show_bug.cgi?id=50360
2284         
2285         Make sure to include the origin adjustment code that I added on Mac to keep truncation-rtl.html passing.
2286
2287         * platform/ScrollView.cpp:
2288         (WebCore::ScrollView::updateScrollbars):
2289
2290 2010-12-01  David Hyatt  <hyatt@apple.com>
2291
2292         Reviewed by Dan Bernstein.
2293
2294         https://bugs.webkit.org/show_bug.cgi?id=46645
2295
2296         Generalize overflow section scrollOriginX code to be a point and to work in both horizontal
2297         and vertical modes.
2298
2299         Not testable yet, since the rightmost/leftmost/topmost/lowestPosition functions are returning
2300         horrendously wrong values in the vertical text case for overflow:auto objects.
2301
2302         * rendering/RenderLayer.cpp:
2303         (WebCore::RenderLayer::RenderLayer):
2304         (WebCore::RenderLayer::scrollToOffset):
2305         (WebCore::RenderLayer::computeScrollDimensions):
2306         (WebCore::RenderLayer::updateOverflowStatus):
2307         * rendering/RenderLayer.h:
2308         (WebCore::RenderLayer::scrolledContentOffset):
2309         (WebCore::RenderLayer::scrollXOffset):
2310         (WebCore::RenderLayer::scrollYOffset):
2311         (WebCore::RenderLayer::scrollToXOffset):
2312         (WebCore::RenderLayer::scrollToYOffset):
2313
2314 2010-12-01  Steve Falkenburg  <sfalken@apple.com>
2315
2316         Reviewed by Adam Roben.
2317
2318         WinCairo build should not use link-time code generation (LTCG)
2319         https://bugs.webkit.org/show_bug.cgi?id=50353
2320
2321         * WebCore.vcproj/QTMovieWin.vcproj:
2322         * WebCore.vcproj/WebCore.vcproj:
2323
2324 2010-12-01  David Hyatt  <hyatt@apple.com>
2325
2326         Reviewed by Darin Adler.
2327
2328         https://bugs.webkit.org/show_bug.cgi?id=46645
2329         
2330         Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
2331         recently added for horizontal RTL documents and applies it to writing modes as well.  Now the
2332         scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
2333         
2334         This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
2335         makes them behave the same as the cross-platform code (allowing for cross-platform results to be
2336         landed).
2337
2338         * page/FrameView.cpp:
2339         (WebCore::FrameView::adjustViewSize):
2340         * page/mac/WebCoreFrameView.h:
2341         * platform/ScrollView.cpp:
2342         (WebCore::ScrollView::ScrollView):
2343         (WebCore::ScrollView::maximumScrollPosition):
2344         (WebCore::ScrollView::minimumScrollPosition):
2345         (WebCore::ScrollView::valueChanged):
2346         (WebCore::ScrollView::updateScrollbars):
2347         (WebCore::ScrollView::wheelEvent):
2348         * platform/ScrollView.h:
2349         (WebCore::ScrollView::scrollOrigin):
2350         * platform/mac/ScrollViewMac.mm:
2351         (WebCore::ScrollView::platformSetScrollPosition):
2352         (WebCore::ScrollView::platformSetScrollOrigin):
2353         * rendering/RenderBox.cpp:
2354         (WebCore::RenderBox::paintRootBoxDecorations):
2355         * rendering/RenderView.cpp:
2356         (WebCore::RenderView::layout):
2357         (WebCore::RenderView::docTop):
2358         (WebCore::RenderView::docHeight):
2359         (WebCore::RenderView::docLeft):
2360         (WebCore::RenderView::docWidth):
2361         * rendering/RenderView.h:
2362
2363 2010-11-30  Steve Block  <steveblock@google.com>
2364
2365         Reviewed by Jeremy Orlow.
2366
2367         Upstream recent changes to WebCore/platform/network/android
2368         https://bugs.webkit.org/show_bug.cgi?id=50224
2369
2370         Android implementation changes only, no new tests.
2371
2372         * platform/network/NetworkingContext.h:
2373         * platform/network/android/CookieJarAndroid.cpp:
2374         (WebCore::setCookies):
2375         (WebCore::cookies):
2376         (WebCore::cookieRequestHeaderFieldValue):
2377         (WebCore::cookiesEnabled):
2378         * platform/network/android/ProxyServerAndroid.cpp: Added.
2379         (WebCore::proxyServersForURL):
2380         * platform/network/android/ResourceHandleAndroid.cpp:
2381         (WebCore::ResourceHandle::start):
2382         (WebCore::ResourceHandle::loadResourceSynchronously):
2383         * platform/network/android/ResourceRequestAndroid.cpp:
2384         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2385
2386 2010-12-01  Steve Falkenburg  <sfalken@apple.com>
2387
2388         Reviewed by Adam Roben.
2389
2390         vcproj changes can't be applied cleanly by the Windows EWS bot
2391         https://bugs.webkit.org/show_bug.cgi?id=50328
2392
2393         * WebCore.vcproj/QTMovieWin.vcproj: Modified property svn:eol-style.
2394         * WebCore.vcproj/QTMovieWinCommon.vsprops: Added property svn:eol-style.
2395         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
2396         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
2397         * WebCore.vcproj/WebCore.vcproj: Modified property svn:eol-style.
2398         * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added property svn:eol-style.
2399         * WebCore.vcproj/WebCoreCG.vsprops: Added property svn:eol-style.
2400         * WebCore.vcproj/WebCoreCURL.vsprops: Added property svn:eol-style.
2401         * WebCore.vcproj/WebCoreCairo.vsprops: Added property svn:eol-style.
2402         * WebCore.vcproj/WebCoreCommon.vsprops: Added property svn:eol-style.
2403         * WebCore.vcproj/WebCoreGenerated.vcproj: Modified property svn:eol-style.
2404         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added property svn:eol-style.
2405         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added property svn:eol-style.
2406         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added property svn:eol-style.
2407         * WebCore.vcproj/WebCorePthreads.vsprops: Added property svn:eol-style.
2408         * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added property svn:eol-style.
2409
2410 2010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>
2411
2412         Reviewed by Darin Fisher.
2413
2414         Adds accelerated compositing trigger flags to Settings to allow
2415         ports to set them via command line flags, etc.
2416         https://bugs.webkit.org/show_bug.cgi?id=50301
2417
2418         * page/Settings.cpp:
2419         (WebCore::Settings::Settings):
2420         (WebCore::Settings::setAcceleratedCompositingFor3DTransformsEnabled):
2421         (WebCore::Settings::setAcceleratedCompositingForVideoEnabled):
2422         (WebCore::Settings::setAcceleratedCompositingForPluginsEnabled):
2423         (WebCore::Settings::setAcceleratedCompositingForCanvasEnabled):
2424         (WebCore::Settings::setAcceleratedCompositingForAnimationEnabled):
2425         * page/Settings.h:
2426         (WebCore::Settings::acceleratedCompositingFor3DTransformsEnabled):
2427         (WebCore::Settings::acceleratedCompositingForVideoEnabled):
2428         (WebCore::Settings::acceleratedCompositingForPluginsEnabled):
2429         (WebCore::Settings::acceleratedCompositingForCanvasEnabled):
2430         (WebCore::Settings::acceleratedCompositingForAnimationEnabled):
2431
2432 2010-12-01  Darin Adler  <darin@apple.com>
2433
2434         Fixed warning seen on buildbot.
2435
2436         * platform/graphics/chromium/ContentLayerChromium.cpp:
2437         (WebCore::ContentLayerChromium::SharedValues::SharedValues): Added #if.
2438
2439 2010-12-01  Ryosuke Niwa  <rniwa@webkit.org>
2440
2441         Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
2442
2443         chrome.dll!WebCore::RangeBoundaryPoint::toPosition ReadAV@NULL (cf0d0f28bc56f2591cc74f71b46036ea)
2444         https://bugs.webkit.org/show_bug.cgi?id=47808
2445
2446         The crash was caused by moveParagraphWithClones' not copying the entire paragraph
2447         when called by doApplyForSingleParagraph, which was induced by a bug in
2448         cloneParagraphUnderNewElement which ended the cloning process early when the start node
2449         and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
2450         by calling traverseNextSibling(outerNode) instead of nextSibling().
2451
2452         Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
2453
2454         Tests: editing/execCommand/switch-multiple-list-items-crash.html
2455                editing/execCommand/switch-multiple-list-items.html
2456
2457         * editing/CompositeEditCommand.cpp:
2458         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2459         * editing/InsertListCommand.cpp:
2460         (WebCore::InsertListCommand::doApply):
2461
2462 2010-12-01  Kevin Ollivier  <kevino@theolliviers.com>
2463
2464         [wx] Build fixes after recent trunk changes.
2465
2466         * platform/graphics/wx/ImageBufferWx.cpp:
2467         (WebCore::ImageBuffer::ImageBuffer):
2468         * platform/wx/LocalizedStringsWx.cpp:
2469         (WebCore::platformDefaultLanguage):
2470
2471 2010-12-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2472
2473         Unreviewed, rolling out r73047.
2474         http://trac.webkit.org/changeset/73047
2475         https://bugs.webkit.org/show_bug.cgi?id=50339
2476
2477         missing bug number (Requested by rniwa on #webkit).
2478
2479         * editing/CompositeEditCommand.cpp:
2480         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2481         * editing/InsertListCommand.cpp:
2482         (WebCore::InsertListCommand::doApply):
2483
2484 2010-12-01  Ryosuke Niwa  <rniwa@webkit.org>
2485
2486         Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
2487
2488         The crash was caused by moveParagraphWithClones' not copying the entire paragraph
2489         when called by doApplyForSingleParagraph, which was induced by a bug in
2490         cloneParagraphUnderNewElement which ended the cloning process early when the start node
2491         and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
2492         by calling traverseNextSibling(outerNode) instead of nextSibling().
2493
2494         Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
2495
2496         Tests: editing/execCommand/switch-multiple-list-items-crash.html
2497                editing/execCommand/switch-multiple-list-items.html
2498
2499         * editing/CompositeEditCommand.cpp:
2500         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2501         * editing/InsertListCommand.cpp:
2502         (WebCore::InsertListCommand::doApply):
2503
2504 2010-12-01  Grace Kloba  <klobag@chromium.org>
2505
2506         Reviewed by Kenneth Russell.
2507
2508         [chromium] ContentLayerChromium shader should honor the platform Sk_x_SHIFT value instead of assuming BGRA color
2509         https://bugs.webkit.org/show_bug.cgi?id=50189
2510
2511         * platform/graphics/chromium/ContentLayerChromium.cpp:
2512         (WebCore::ContentLayerChromium::SharedValues::SharedValues):Use SK_B32_SHIFT to decide whether to use RGBA or BGRA shader for Skia port.
2513
2514 2010-12-01  Nico Weber  <thakis@chromium.org>
2515
2516         Reviewed by Dimitri Glazkov.
2517
2518         Fix clang warnings caused by -Wlogical-op-parentheses
2519         https://bugs.webkit.org/show_bug.cgi?id=50324
2520
2521         * platform/graphics/mac/ComplexTextController.cpp:
2522         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2523
2524 2010-12-01  Martin Robinson  <mrobinson@igalia.com>
2525
2526         Build fix for GTK+.
2527
2528         * platform/gtk/PopupMenuGtk.cpp:
2529         (WebCore::PopupMenuGtk::typeAheadFind): Uncomment mistakenly commented line.
2530
2531 2010-12-01  Apelete Seketeli  <apelete@seketeli.org> and Martin Robinson  <mrobinson@igalia.com>
2532
2533         Reviewed by Xan Lopez.
2534
2535         [Gtk] Open menulists should support typeahead find
2536         https://bugs.webkit.org/show_bug.cgi?id=27443
2537
2538         Added typeahead find support for open GTK+ menulists.
2539
2540         Test: platform/gtk/fast/forms/menulist-typeahead-find.html
2541
2542         * platform/gtk/PopupMenuGtk.cpp:
2543         (WebCore::PopupMenuGtk::PopupMenuGtk): Initialize new members.
2544         (WebCore::PopupMenuGtk::show): Track currently selected menu item
2545         via a signal handler.
2546         (WebCore::PopupMenuGtk::typeAheadFind): Added.
2547         (WebCore::PopupMenuGtk::menuUnmapped): Reset typeahead find state
2548         when menu is unmapped.
2549         (WebCore::PopupMenuGtk::resetTypeAheadFindState): Added.
2550         (WebCore::PopupMenuGtk::selectItemCallback): Added.
2551         (WebCore::PopupMenuGtk::keyPressEventCallback): Added.
2552         * platform/gtk/PopupMenuGtk.h: Added new members to track typeahead
2553         find state.
2554
2555 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2556
2557         Reviewed by Xan Lopez.
2558
2559         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedNumber
2560         https://bugs.webkit.org/show_bug.cgi?id=50323
2561
2562         Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_NUMBER / DEFINE_ANIMATED_NUMBER.
2563         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
2564
2565         No functional changes, thus no new tests.
2566
2567         * svg/SVGAnimatedNumber.h:
2568         * svg/SVGComponentTransferFunctionElement.cpp:
2569         * svg/SVGComponentTransferFunctionElement.h:
2570         * svg/SVGFECompositeElement.cpp:
2571         * svg/SVGFECompositeElement.h:
2572         * svg/SVGFEConvolveMatrixElement.cpp:
2573         * svg/SVGFEConvolveMatrixElement.h:
2574         * svg/SVGFEDiffuseLightingElement.cpp:
2575         * svg/SVGFEDiffuseLightingElement.h:
2576         * svg/SVGFEDisplacementMapElement.cpp:
2577         * svg/SVGFEDisplacementMapElement.h:
2578         * svg/SVGFEGaussianBlurElement.cpp:
2579         * svg/SVGFEGaussianBlurElement.h:
2580         * svg/SVGFELightElement.cpp:
2581         * svg/SVGFELightElement.h:
2582         * svg/SVGFEMorphologyElement.cpp:
2583         * svg/SVGFEMorphologyElement.h:
2584         * svg/SVGFEOffsetElement.cpp:
2585         * svg/SVGFEOffsetElement.h:
2586         * svg/SVGFESpecularLightingElement.cpp:
2587         * svg/SVGFESpecularLightingElement.h:
2588         * svg/SVGFETurbulenceElement.cpp:
2589         * svg/SVGFETurbulenceElement.h:
2590         * svg/SVGPathElement.cpp:
2591         * svg/SVGPathElement.h:
2592         * svg/SVGStopElement.cpp:
2593         * svg/SVGStopElement.h:
2594         (WebCore::SVGStopElement::isGradientStop):
2595
2596 2010-12-01  Martin Robinson  <mrobinson@igalia.com>
2597
2598         Reviewed by Xan Lopez.
2599
2600         Sliders are not transformed after r50188
2601         https://bugs.webkit.org/show_bug.cgi?id=50317
2602
2603         Need to call updateLayerTransform during slider layout, as sliders
2604         may be transformed.
2605
2606         No new tests. This patch should make fast/forms/slider-transformed.html
2607         pass on the GTK+ bots.
2608
2609         * rendering/RenderSlider.cpp:
2610         (WebCore::RenderSlider::layout): Call updateLayerTransform here.
2611
2612 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
2613
2614         Reviewed by Yury Semikhatsky.
2615
2616         Web Inspector: do not make helpScreen.css lazily loaded.
2617         https://bugs.webkit.org/show_bug.cgi?id=50304
2618
2619         * inspector/front-end/HelpScreen.js:
2620         (WebInspector.HelpScreen):
2621         (WebInspector.HelpScreen.prototype._onBlur):
2622         * inspector/front-end/inspector.html:
2623
2624 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2625
2626         Reviewed by Xan Lopez.
2627
2628         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLengthList/SVGNumberList/SVGTransformList
2629         https://bugs.webkit.org/show_bug.cgi?id=50322
2630
2631         Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(LENGTH|NUMBER|TRANSFORM)_LIST / DEFINE_ANIMATED_(LENGTH|NUMBER|TRANSFORM).
2632         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
2633
2634         No functional changes, thus no new tests.
2635
2636         * svg/SVGAnimatedLengthList.h:
2637         * svg/SVGAnimatedNumberList.h:
2638         * svg/SVGAnimatedTransformList.h:
2639         * svg/SVGComponentTransferFunctionElement.cpp:
2640         * svg/SVGComponentTransferFunctionElement.h:
2641         * svg/SVGFEColorMatrixElement.cpp:
2642         * svg/SVGFEColorMatrixElement.h:
2643         * svg/SVGFEConvolveMatrixElement.cpp:
2644         * svg/SVGFEConvolveMatrixElement.h:
2645         * svg/SVGGradientElement.cpp:
2646         * svg/SVGGradientElement.h:
2647         (WebCore::SVGGradientElement::needsPendingResourceHandling):
2648         * svg/SVGPatternElement.cpp:
2649         * svg/SVGPatternElement.h:
2650         * svg/SVGPolygonElement.cpp:
2651         * svg/SVGPolylineElement.cpp:
2652         * svg/SVGStyledTransformableElement.cpp:
2653         * svg/SVGStyledTransformableElement.h:
2654         * svg/SVGTextElement.cpp:
2655         (WebCore::SVGTextElement::SVGTextElement):
2656         * svg/SVGTextElement.h:
2657         (WebCore::SVGTextElement::localCoordinateSpaceTransform):
2658         * svg/SVGTextPositioningElement.cpp:
2659         * svg/SVGTextPositioningElement.h:
2660         * svg/properties/SVGAnimatedPropertyMacros.h:
2661
2662 2010-12-01  Alexander Pavlov  <apavlov@chromium.org>
2663
2664         Reviewed by Yury Semikhatsky.
2665
2666         Web Inspector: name-only property appears in style declaration but not in the Styles pane
2667         https://bugs.webkit.org/show_bug.cgi?id=49663
2668
2669         Check that at least one property has been parsed from the user input.
2670
2671         * inspector/InspectorStyleSheet.cpp:
2672         (WebCore::InspectorStyle::setPropertyText):
2673
2674 2010-12-01  Andrey Kosyakov  <caseq@chromium.org>
2675
2676         Reviewed by Pavel Feldman.
2677
2678         Web Inspector: disable cookies tab in network resource view by default, enable for chromium
2679         https://bugs.webkit.org/show_bug.cgi?id=50249
2680
2681         * inspector/front-end/NetworkItemView.js:
2682         (WebInspector.NetworkItemView):
2683         (WebInspector.NetworkItemView.prototype.resize):
2684         * inspector/front-end/Settings.js:
2685
2686 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2687
2688         Reviewed by Xan Lopez.
2689
2690         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLength
2691         https://bugs.webkit.org/show_bug.cgi?id=50316
2692
2693         Introduce DECLARE_ANIMATED_LENGTH / DEFINE_ANIMATED_LENGTH, splitting up the original DECLARE_ANIMATED_PROPERTY_NEW macro
2694         in a part that goes in the .cpp file and another that remains in the header. This avoids having to include SVGNames.h
2695         in all SVG*Element files.
2696
2697         No functional changes, thus no new tests.
2698
2699         * svg/SVGAnimatedLength.h:
2700         * svg/SVGCircleElement.cpp:
2701         * svg/SVGCircleElement.h:
2702         (WebCore::SVGCircleElement::isValid):
2703         * svg/SVGCursorElement.cpp:
2704         * svg/SVGCursorElement.h:
2705         (WebCore::SVGCursorElement::isValid):
2706         * svg/SVGEllipseElement.cpp:
2707         * svg/SVGEllipseElement.h:
2708         (WebCore::SVGEllipseElement::isValid):
2709         * svg/SVGFilterElement.cpp:
2710         * svg/SVGFilterElement.h:
2711         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2712         * svg/SVGFilterPrimitiveStandardAttributes.h:
2713         * svg/SVGForeignObjectElement.cpp:
2714         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2715         * svg/SVGForeignObjectElement.h:
2716         (WebCore::SVGForeignObjectElement::isValid):
2717         * svg/SVGImageElement.cpp:
2718         * svg/SVGImageElement.h:
2719         (WebCore::SVGImageElement::isValid):
2720         * svg/SVGLineElement.cpp:
2721         * svg/SVGLineElement.h:
2722         (WebCore::SVGLineElement::isValid):
2723         (WebCore::SVGLineElement::supportsMarkers):
2724         * svg/SVGLinearGradientElement.cpp:
2725         * svg/SVGLinearGradientElement.h:
2726         * svg/SVGMarkerElement.cpp:
2727         (WebCore::SVGMarkerElement::SVGMarkerElement):
2728         * svg/SVGMarkerElement.h:
2729         * svg/SVGMaskElement.cpp:
2730         * svg/SVGMaskElement.h:
2731         (WebCore::SVGMaskElement::isValid):
2732         (WebCore::SVGMaskElement::needsPendingResourceHandling):
2733         * svg/SVGPatternElement.cpp:
2734         * svg/SVGPatternElement.h:
2735         (WebCore::SVGPatternElement::isValid):
2736         (WebCore::SVGPatternElement::needsPendingResourceHandling):
2737         * svg/SVGRadialGradientElement.cpp:
2738         * svg/SVGRadialGradientElement.h:
2739         * svg/SVGRectElement.cpp:
2740         * svg/SVGRectElement.h:
2741         (WebCore::SVGRectElement::isValid):
2742         * svg/SVGSVGElement.cpp:
2743         (WebCore::SVGSVGElement::SVGSVGElement):
2744         * svg/SVGSVGElement.h:
2745         (WebCore::SVGSVGElement::isValid):
2746         (WebCore::SVGSVGElement::setContainerSize):
2747         (WebCore::SVGSVGElement::containerSize):
2748         (WebCore::SVGSVGElement::hasSetContainerSize):
2749         (WebCore::SVGSVGElement::currentTranslate):
2750         (WebCore::SVGSVGElement::timeContainer):
2751         (WebCore::SVGSVGElement::isSVG):
2752         (WebCore::SVGSVGElement::rendererIsNeeded):
2753         * svg/SVGTextContentElement.cpp:
2754         * svg/SVGTextContentElement.h:
2755         (WebCore::SVGTextContentElement::isValid):
2756         (WebCore::SVGTextContentElement::isTextContent):
2757         * svg/SVGTextPathElement.cpp:
2758         * svg/SVGTextPathElement.h:
2759         * svg/SVGTextPositioningElement.h:
2760         * svg/SVGUseElement.cpp:
2761         * svg/SVGUseElement.h:
2762         (WebCore::SVGUseElement::isValid):
2763         (WebCore::SVGUseElement::setUpdatesBlocked):
2764         (WebCore::SVGUseElement::isPendingResource):
2765         * svg/properties/SVGAnimatedPropertyMacros.h:
2766
2767 2010-12-01  Anton D'Auria  <adauria@apple.com>
2768
2769         Reviewed by Kevin Decker.
2770
2771         Deny access to local and session storage in private browsing mode.
2772         https://bugs.webkit.org/show_bug.cgi?id=49329
2773
2774         * storage/Storage.cpp:
2775         (WebCore::Storage::length):
2776         (WebCore::Storage::key):
2777         (WebCore::Storage::getItem):
2778         (WebCore::Storage::contains):
2779
2780 2010-12-01  Philippe Normand  <pnormand@igalia.com>
2781
2782         Reviewed by Martin Robinson.
2783
2784         Volume control not correctly initialized
2785         https://bugs.webkit.org/show_bug.cgi?id=36299
2786
2787         Replaced the mute/volume Timers with g_timeouts which are (for
2788         now, at least) more reliable than Timers for one-shot-fire-now
2789         actions.
2790
2791         Test: media/video-volume.html
2792
2793         * platform/graphics/MediaPlayer.cpp:
2794         (WebCore::MediaPlayer::~MediaPlayer): Reset the raw pointers to 0
2795         when destructing the player.
2796         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2797         (WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
2798         (WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
2799         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2800         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
2801         (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
2802         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfMute):
2803         (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
2804         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Set
2805         playbin2 volume/mute base on MediaPlayer related values.
2806         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2807
2808 2010-12-01  Patrick Gansterer  <paroga@webkit.org>
2809
2810         Reviewed by Andreas Kling.
2811
2812         Cleanup main CMakeLists.txt after r72664, r72672 and r72667
2813         https://bugs.webkit.org/show_bug.cgi?id=50232
2814
2815         * CMakeLists.txt: Removed obsolete dependencies.
2816
2817 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2818
2819         Reviewed by Dirk Schulze.
2820
2821         Cleanup SVGPropertyTraits
2822         https://bugs.webkit.org/show_bug.cgi?id=50229
2823
2824         Move all template specializations for non-POD types (eg. SVGLength, SVGLengthList, etc.) from SVGPropertyTraits
2825         into the right SVG* classes, to avoid having to include a dozen SVG*.h files in SVGPropertyTraits.h, which is
2826         included by all DOM/JS/V8 binding files and SVGElement.h.
2827
2828         No new functionality, thus no new tests.
2829
2830         * GNUmakefile.am:
2831         * WebCore.gypi:
2832         * WebCore.pro:
2833         * WebCore.xcodeproj/project.pbxproj:
2834         * bindings/scripts/CodeGenerator.pm:
2835         * bindings/scripts/CodeGeneratorObjC.pm:
2836         * bindings/scripts/CodeGeneratorV8.pm:
2837         * svg/SVGAngle.h:
2838         * svg/SVGLength.h:
2839         * svg/SVGLengthList.h:
2840         * svg/SVGMarkerElement.h:
2841         * svg/SVGNumberList.h:
2842         * svg/SVGPatternElement.h:
2843         * svg/SVGPointList.h:
2844         * svg/SVGPreserveAspectRatio.h:
2845         * svg/SVGRect.h: Added.
2846         * svg/SVGSVGElement.h:
2847         * svg/SVGStringList.h:
2848         * svg/SVGSymbolElement.h:
2849         * svg/SVGTransformList.h:
2850         * svg/SVGViewElement.h:
2851         * svg/SVGViewSpec.h:
2852         * svg/properties/SVGListProperty.h:
2853         * svg/properties/SVGPropertyTraits.h:
2854         * svg/properties/SVGTransformListPropertyTearOff.h:
2855
2856 2010-11-30  Kent Tamura  <tkent@chromium.org>
2857
2858         Reviewed by Darin Adler.
2859
2860         Refactor HTMLInputElement: Move a part of HTMLInputElement::
2861         defaultEventHandler() to InputTypes
2862         https://bugs.webkit.org/show_bug.cgi?id=50097
2863
2864         Move all of keyboard-related event handling to InputType.
2865
2866         No new tests because this should not change any behavior.
2867
2868         * html/BaseButtonInputType.cpp:
2869         (WebCore::BaseButtonInputType::handleKeydownEvent):
2870         (WebCore::BaseButtonInputType::handleKeypressEvent):
2871         (WebCore::BaseButtonInputType::handleKeyupEvent):
2872         * html/BaseButtonInputType.h:
2873         * html/BaseCheckableInputType.cpp:
2874         (WebCore::BaseCheckableInputType::handleKeydownEvent):
2875         (WebCore::BaseCheckableInputType::handleKeypressEvent):
2876         * html/BaseCheckableInputType.h:
2877         * html/CheckboxInputType.cpp:
2878         (WebCore::CheckboxInputType::handleKeyupEvent):
2879         * html/CheckboxInputType.h:
2880         * html/HTMLInputElement.cpp:
2881         (WebCore::HTMLInputElement::defaultEventHandler):
2882          We remove !implicitSubmission check for callBaseClassEarly because
2883          implicitSubmission can not be true for keydown event and keypress
2884          event at this point.
2885         * html/InputType.cpp:
2886         (WebCore::InputType::shouldSubmitImplicitly):
2887          Returns true for a keypress event with "\r". Note that we don't overload
2888          this function for BUTTON, FILE, IMAGE, RESET, and SUBMIT because a
2889          keypress event with "\r" for these types returns from HTMLInputElement::defaultEventHandler()
2890          before implicit submission checking.
2891         (WebCore::InputType::handleKeypressEvent):
2892         (WebCore::InputType::handleKeyupEvent):
2893         * html/InputType.h:
2894         * html/RadioInputType.cpp:
2895         (WebCore::RadioInputType::handleKeydownEvent):
2896         (WebCore::RadioInputType::handleKeyupEvent):
2897         * html/RadioInputType.h:
2898         * html/TextFieldInputType.cpp:
2899         (WebCore::TextFieldInputType::shouldSubmitImplicitly):
2900         * html/TextFieldInputType.h:
2901
2902 2010-11-30  Patrick Gansterer  <paroga@webkit.org>
2903
2904         Reviewed by Andreas Kling.
2905
2906         Move CSS generator logic into main CMakeLists.txt file
2907         https://bugs.webkit.org/show_bug.cgi?id=50230
2908
2909         * CMakeLists.txt:
2910
2911 2010-11-30  Ojan Vafai  <ojan@chromium.org>
2912
2913         Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test
2914         https://bugs.webkit.org/show_bug.cgi?id=50288
2915
2916         2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
2917         Reviewed by Darin Adler.
2918         Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
2919         https://bugs.webkit.org/show_bug.cgi?id=50182
2920         A display-isolated URL can only be displayed (e.g., put in an iframe,
2921         hyperlinked to) by documents from that scheme. In a sense, this is a
2922         generalization of some of the protections we give file URLs, but
2923         instead of lumping them all together into one "local" bucket, this
2924         patch creates a separate bucket for each scheme.
2925         For a while, I tried using a separate bucket for each origin. That
2926         would have played nicely with what Blob URLs are trying to do, but some
2927         "chrome" URL pages rely on being able to display other chrome URL
2928         pages, even in different origins. For example, the New Tab Page shows
2929         thumbnails from the "thumbnail" host.
2930         This patch also removes a bunch of unused code. I've also propagated
2931         the "deprecated" status of deprecatedCanDisplay to
2932         deprecatedShouldTreatURLAsLocal because that method has no other
2933         callers and is really asking for uppercase/lowercase bugs. I dream of
2934         someday removing these functions.
2935         page/SecurityOrigin.cpp:
2936         (WebCore::SecurityOrigin::canDisplay):
2937         (WebCore::SecurityOrigin::deprecatedCanDisplay):
2938         platform/SchemeRegistry.cpp:
2939         (WebCore::displayIsolatedURLSchemes):
2940         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
2941         (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
2942         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
2943         (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
2944         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
2945         platform/SchemeRegistry.h:
2946         2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
2947         Reviewed by Darin Adler.
2948         Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
2949          https://bugs.webkit.org/show_bug.cgi?id=50182
2950         This patch adds a Chromium API for registering schemes as
2951         display-isolated. In a subsequent patch, I'll change the "chrome"
2952         scheme in Chrome to be display isolated instead of local. That will
2953         prevent file URLs from linking to chrome URLs.
2954         public/WebSecurityPolicy.h:
2955         src/WebSecurityPolicy.cpp:
2956         (WebKit::WebSecurityPolicy::registerURLSchemeAsDisplayIsolated):
2957
2958         * page/SecurityOrigin.cpp:
2959         (WebCore::SecurityOrigin::canDisplay):
2960         (WebCore::SecurityOrigin::deprecatedCanDisplay):
2961         * platform/SchemeRegistry.cpp:
2962         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
2963         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
2964         (WebCore::SchemeRegistry::localURLSchemes):
2965         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
2966         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
2967         * platform/SchemeRegistry.h:
2968
2969 2010-11-30  Chris Fleizach  <cfleizach@apple.com>
2970
2971         Reviewed by Beth Dakin.
2972
2973         WebKit duplicates AXValue and AXDescription on abbr
2974         https://bugs.webkit.org/show_bug.cgi?id=50260
2975
2976         stringValue() and accessibilityDescription() were returning the same value for static text with
2977         an aria-label. Static text elements should not have an accessibility description, they
2978         should only have a stringValue.
2979
2980         Test: platform/mac/accessibility/static-text-with-aria-label.html
2981
2982         * accessibility/AccessibilityRenderObject.cpp:
2983         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
2984         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2985         (WebCore::AccessibilityRenderObject::text):
2986         * accessibility/AccessibilityRenderObject.h:
2987
2988 2010-11-30  Ryosuke Niwa  <rniwa@webkit.org>
2989
2990         Reviewed by Darin Adler.
2991
2992         [HTML5] Rename member variables of HTMLScriptElement
2993         https://bugs.webkit.org/show_bug.cgi?id=49705
2994
2995         Renamed m_wasCreatedByParser to m_wasInsertedByParser, m_requested to m_isExternalScript,
2996         m_isEvaluated to m_wasAlreadyStarted, and m_firedLoad to m_haveFiredLoad.
2997
2998         Also made ScriptElement's haveFiredLoadEvent and removed HTMLScriptElement's haveFiredLoadEvent.
2999         This effectively adds the same function to SVGScriptElement, which isn't currently used anywhere.
3000
3001         No new tests are added since this is a refactoring.
3002
3003         * dom/ScriptElement.cpp:
3004         (WebCore::ScriptElement::ScriptElement):
3005         (WebCore::ScriptElement::insertedIntoDocument):
3006         (WebCore::ScriptElement::childrenChanged):
3007         (WebCore::ScriptElement::finishParsingChildren):
3008         (WebCore::ScriptElement::requestScript):
3009         (WebCore::ScriptElement::evaluateScript):
3010         (WebCore::ScriptElement::executeScript):
3011         (WebCore::ScriptElement::ignoresLoadRequest):
3012         * dom/ScriptElement.h:
3013         (WebCore::ScriptElement::haveFiredLoadEvent):
3014         (WebCore::ScriptElement::setHaveFiredLoadEvent):
3015         (WebCore::ScriptElement::wasInsertedByParser):
3016         (WebCore::ScriptElement::wasAlreadyStarted):
3017         * html/HTMLScriptElement.cpp:
3018         (WebCore::HTMLScriptElement::HTMLScriptElement):
3019         (WebCore::HTMLScriptElement::create):
3020         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
3021         * html/HTMLScriptElement.h:
3022         * svg/SVGScriptElement.cpp:
3023         (WebCore::SVGScriptElement::SVGScriptElement):
3024         (WebCore::SVGScriptElement::create):
3025         (WebCore::SVGScriptElement::svgAttributeChanged):
3026         (WebCore::SVGScriptElement::insertedIntoDocument):
3027         (WebCore::SVGScriptElement::dispatchLoadEvent):
3028         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
3029         * svg/SVGScriptElement.h:
3030
3031 2010-11-30  Darin Adler  <darin@apple.com>
3032
3033         Rolled back most of the FileReaderLoader changes to fix 32-bit builds.
3034
3035         * fileapi/FileReaderLoader.cpp: Changed types back to unsigned from unsigned long long
3036         * fileapi/FileReaderLoader.h: Ditto.
3037
3038 2010-11-30  Dan Bernstein  <mitz@apple.com>
3039
3040         Reviewed by Darin Adler.
3041
3042         Text search should treat all matches as word-start matches when the target begins with a separator character
3043         https://bugs.webkit.org/show_bug.cgi?id=50302
3044
3045         * editing/TextIterator.cpp:
3046         (WebCore::SearchBuffer::SearchBuffer): Disable the AtWordStarts option if it was specified and
3047         the target string begins with one of the "separator" characters.
3048
3049 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
3050
3051         Reviewed by Dave Hyatt.
3052
3053         Web Inspector: [CRASH] on "Revert to this revision" of style with import.
3054         https://bugs.webkit.org/show_bug.cgi?id=50256
3055
3056         Rolled back one line from http://trac.webkit.org/changeset/36904 as agreed with
3057         David.
3058
3059         * css/CSSImportRule.cpp:
3060         (WebCore::CSSImportRule::insertedIntoParent):
3061
3062 2010-11-30  Martin Robinson  <mrobinson@igalia.com>
3063
3064         Reviewed by Xan Lopez.
3065
3066         [GTK] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
3067         https://bugs.webkit.org/show_bug.cgi?id=50283
3068
3069         Adjust the mask rectangle for Cairo shadows, so that the origin
3070         is not affected by the scale of the transformation matrix.
3071
3072         * platform/graphics/ContextShadow.h: Make this Qt-only member global.
3073         * platform/graphics/cairo/ContextShadowCairo.cpp:
3074         (WebCore::ContextShadow::beginShadowLayer): Save the original layer area.
3075         (WebCore::ContextShadow::endShadowLayer): If the target context has a scale
3076         transform, make sure not to scale the blur distance when blitting the shadow.
3077
3078 2010-11-30  Darin Adler  <darin@apple.com>
3079
3080         Reviewed by Alexey Proskuryakov.
3081
3082         Make ProgressEvent 64-bit instead of 32-bit
3083         https://bugs.webkit.org/show_bug.cgi?id=50289
3084
3085         * dom/ProgressEvent.cpp:
3086         (WebCore::ProgressEvent::ProgressEvent): Changed arguments to unsigned long long.
3087         (WebCore::ProgressEvent::initProgressEvent): Ditto.
3088
3089         * dom/ProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
3090         Made isProgressEvent override private.
3091
3092         * dom/ProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
3093
3094         * fileapi/FileReader.cpp: Removed unneeded includes.
3095         Used static on const so we'd get an error if the same constant was in a header.
3096         (WebCore::FileReader::didReceiveData): Removed unneeded WTF prefix.
3097         (WebCore::FileReader::fireEvent): Got rid of local variables that would narrow
3098         bytes loaded and total bytes to 32-bit.
3099
3100         * fileapi/FileReaderLoader.cpp:
3101         (WebCore::FileReaderLoader::didReceiveResponse): Restructured code a bit and
3102         added comments. Also added handling for when ArrayBuffer::create returns 0.
3103         (WebCore::FileReaderLoader::didReceiveData): Fixed handling of case where more
3104         data arrives than is expected so it won't overrun the buffer. Also broke an
3105         assertion into two and improved a comment.
3106
3107         * fileapi/FileReaderLoader.h: Changed bytesLoaded and totalBytes to unsigned long long.
3108
3109         * fileapi/FileWriter.cpp:
3110         (WebCore::FileWriter::fireEvent): Removed narrowing casts in call to
3111         ProgressEvent::create.
3112
3113         * html/canvas/ArrayBuffer.cpp:
3114         (WebCore::ArrayBuffer::tryAllocate): Added a comment because the code here seems wrong.
3115
3116         * xml/XMLHttpRequest.cpp:
3117         (WebCore::XMLHttpRequest::didSendData): Removed narrowing casts in call to
3118         XMLHttpRequestProgressEvent::create.
3119         (WebCore::XMLHttpRequest::didReceiveData): Removed narrowing casts in call to
3120         dispatchProgressEvent.
3121
3122         * xml/XMLHttpRequestProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
3123         Made isXMLHttpRequestProgressEvent override private.
3124
3125         * xml/XMLHttpRequestProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
3126
3127         * xml/XMLHttpRequestProgressEventThrottle.cpp:
3128         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Changed types to
3129         unsigned long long.
3130
3131         * xml/XMLHttpRequestProgressEventThrottle.h: Changed types to unsigned long long.
3132
3133 2010-11-30  Yael Aharon  <yael.aharon@nokia.com>
3134
3135         Reviewed by Darin Adler.
3136
3137         Progress and meter elements should take a form in their constructor like any other form control.
3138         https://bugs.webkit.org/show_bug.cgi?id=50195
3139
3140         Tests: fast/dom/HTMLMeterElement/meter-element-form.html
3141                fast/dom/HTMLProgressElement/progress-element-form.html
3142
3143         * html/HTMLMeterElement.cpp:
3144         (WebCore::HTMLMeterElement::HTMLMeterElement):
3145         (WebCore::HTMLMeterElement::create):
3146         * html/HTMLMeterElement.h:
3147         * html/HTMLProgressElement.h:
3148         * html/HTMLTagNames.in:
3149
3150 2010-11-30  Tony Chang  <tony@chromium.org>
3151
3152         Reviewed by Adam Barth.
3153
3154         [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
3155         https://bugs.webkit.org/show_bug.cgi?id=49036
3156
3157         No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
3158
3159         In http://codereview.chromium.org/11574, the forked chromium test
3160         plugin changed how it testGetIntIdentifier to work around a change
3161         caused by a silverlight specific plugin fix:
3162         http://codereview.chromium.org/11569/diff/1/2
3163
3164         It's not clear to me that this change is needed anymore since
3165         silverlight has had multiple releases, testing without this patch
3166         works on a test windows build, and safari win seems to run silverlight
3167         without this either.  Since there's no test for this behavior, I'm
3168         rolling it out so we can match the upstream test.
3169
3170         * bindings/v8/V8NPUtils.cpp:
3171         (WebCore::convertV8ObjectToNPVariant):
3172
3173 2010-11-30  Chris Guillory  <chris.guillory@google.com>
3174
3175         Reviewed by Chris Fleizach.
3176
3177         Computing style on a stale node while sending pending accessibility notification.
3178         https://bugs.webkit.org/show_bug.cgi?id=50162
3179
3180         Retain node pointer members of AccessibilityImageMapLink.
3181
3182         Test: accessibility/image-map-title-causes-crash.html
3183
3184         * accessibility/AccessibilityImageMapLink.cpp:
3185         (WebCore::AccessibilityImageMapLink::parentObject):
3186         (WebCore::AccessibilityImageMapLink::anchorElement):
3187         (WebCore::AccessibilityImageMapLink::url):
3188         (WebCore::AccessibilityImageMapLink::elementRect):
3189         * accessibility/AccessibilityImageMapLink.h:
3190         (WebCore::AccessibilityImageMapLink::areaElement):
3191         (WebCore::AccessibilityImageMapLink::mapElement):
3192         (WebCore::AccessibilityImageMapLink::node):
3193         * dom/Document.cpp:
3194         (WebCore::Document::clearAXObjectCache):
3195
3196 2010-11-30  James Robinson  <jamesr@chromium.org>
3197
3198         Reviewed by Tony Chang.
3199
3200         Build fix - add parens in foo || bar && baz to make gcc happy
3201         https://bugs.webkit.org/show_bug.cgi?id=50276
3202
3203         gcc 4.4 warns that statements of the form "foo || bar && baz".  It wants
3204         parens around the "bar && baz" part to make it clear which way the logical
3205         operators bind.
3206
3207         * editing/TextIterator.cpp:
3208         (WebCore::SearchBuffer::search):
3209
3210 2010-11-30  Daniel Bates  <dbates@rim.com>
3211
3212         Reviewed by David Hyatt.
3213
3214         Focused <area> should use CSS properties of <area> instead of associated <img>
3215         https://bugs.webkit.org/show_bug.cgi?id=49888
3216
3217         Fixes an issue where the CSS properties of an <area> were not used when
3218         the <area> was focused.
3219
3220         Currently, when focusing an <area> (say by pressing option + tab in Mac
3221         Safari) we use the CSS style information for the <img> associated with
3222         the <area>. Instead, we should use the CSS style information for the
3223         focused <area>. In particular, this will make the us honor the outline-
3224         color property of a focused <area> when drawing its focus ring.
3225
3226         Tests: fast/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map.html
3227                fast/images/imagemap-focus-ring-outline-color-not-inherited-from-map.html
3228                fast/images/imagemap-focus-ring-outline-color.html
3229
3230         * rendering/RenderImage.cpp:
3231         (WebCore::RenderImage::paintFocusRing): Use the style information of
3232         the focused <area> when drawing the focus ring for it.
3233
3234 2010-11-30  Tony Chang  <tony@chromium.org>
3235
3236         Reviewed by James Robinson.
3237
3238         [chromium] enable WebCore compiler warnings on Linux take 3
3239         https://bugs.webkit.org/show_bug.cgi?id=50258
3240
3241         * WebCore.gyp/WebCore.gyp:
3242
3243 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3244
3245         Reviewed by Chris Fleizach.
3246
3247         [GTK] Implement ROLE_COMBO_BOX
3248         https://bugs.webkit.org/show_bug.cgi?id=25678
3249
3250         Implement the remaining bits for combo boxes.
3251
3252         This patch finishes the implementation, from the point of view of
3253         the Atk library, of those objects exposed to ATK as combo boxes,
3254         and their related elements (menus and menu items). It therefore
3255         implements the proper interfaces for each type of object related
3256         to combo boxes (AtkSelection for the combo box, AtkText for every
3257         menu item and AtkAction for the combo box, the menu and the menu
3258         items), takes care of emitting the proper signals when focus or a
3259         given a selection changes and adds a new unit test to check all
3260         this new stuff.
3261
3262         Make possible to ask an AccessibleMenuListOption for a sensible
3263         string representation, so far only available through the private
3264         and MSAA related method nameForMSAA. Just moved the implementation
3265         of that method to an overriden version of stringValue(), which is
3266         platform independent, and called that from nameForMSAA().
3267
3268         * accessibility/AccessibilityMenuListOption.h:
3269         * accessibility/AccessibilityMenuListOption.cpp:
3270         (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
3271         stringValue(), which holds from now on that used to be here.
3272         (WebCore::AccessibilityMenuListOption::stringValue): New, override
3273         of AccessibilityObject::stringValue() to return a proper string.
3274
3275         Emit the missing signals when a selection is made.
3276
3277         * accessibility/gtk/AXObjectCacheAtk.cpp:
3278         (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
3279         'focus' signals when a selection is made over the combo box.
3280
3281         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3282         (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
3283         Atk states are added to the state set when needed.
3284         (listObjectForSelection): New, returns the proper list object (the
3285         one holding the list of available options as its children) for an
3286         specific AtkObject implementing AtkSelection. This is needed
3287         because sometimes the selectable options are not directly children
3288         of the AtkSelection object (i.e. a combo box has a 'menu' object
3289         as its only child of it, holding the list of options as children).
3290         (optionFromList): Use listObjectForSelection() to get the actual
3291         object holding the list of children as the available options.
3292         (optionFromSelection): Add support for combo boxes.
3293         (webkit_accessible_selection_add_selection): Ditto.
3294         (webkit_accessible_selection_clear_selection): Ditto.
3295         (webkit_accessible_selection_get_selection_count): Ditto.
3296         (webkit_accessible_selection_is_child_selected): Ditto.
3297         (webkit_accessible_selection_remove_selection): Ditto.
3298         (webkit_accessible_text_get_text): Makes sure stringValue() is
3299         considered to get the result substring when it was already
3300         considered when checking the maximum text length for the object.
3301         (getInterfaceMaskFromObject): Make sure the AtkSelection interface
3302         is implemented for the combo boxes, that the AtkText is
3303         implemented for the menu items and that the AtkAction interface is
3304         now implemented for every object (WebCore will decide what to do).
3305
3306         Avoid a segfault crash when using this from unit tests.
3307
3308         * platform/gtk/PopupMenuGtk.cpp:
3309         (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
3310         before calling gdk_window_get_origin() over it.
3311
3312 2010-11-30  Andreas Kling  <kling@webkit.org>
3313
3314         Reviewed by Tor Arne Vestbø.
3315
3316         [Qt] GraphicsContext: Avoid unnecessarily copying the painter's QTransform
3317
3318         Stash the transform in a const reference (QPainter::transform() returns one)
3319         instead of making a copy in the shadow drawing parts of fillPath, strokePath and fillRect.
3320
3321         * platform/graphics/qt/GraphicsContextQt.cpp:
3322         (WebCore::GraphicsContext::fillPath):
3323         (WebCore::GraphicsContext::strokePath):
3324         (WebCore::GraphicsContext::fillRect):
3325
3326 2010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>
3327
3328         Reviewed by Simon Fraser.
3329
3330         Provide more fine grained control to ports over when to turn on 
3331         accelerated compositing.
3332         https://bugs.webkit.org/show_bug.cgi?id=49998
3333
3334         The RenderLayerCompositor now checks with the chrome client whether
3335         3d transforms, video, plugins, canvas and animation require
3336         switching over to the composited path. Layers that overlap composited
3337         content will still turn into composited layers regardless of the
3338         setting.
3339
3340         * css/MediaQueryEvaluator.cpp:
3341         (WebCore::transform_3dMediaFeatureEval):
3342         * page/ChromeClient.h:
3343         (WebCore::ChromeClient::allowedCompositingTriggers):
3344         * rendering/RenderLayer.cpp:
3345         (WebCore::RenderLayer::canRender3DTransforms):
3346         (WebCore::RenderLayer::updateTransform):
3347         (WebCore::RenderLayer::currentTransform):
3348         * rendering/RenderLayer.h:
3349         * rendering/RenderLayerBacking.cpp:
3350         (WebCore::RenderLayerBacking::updateLayerTransform):
3351         * rendering/RenderLayerCompositor.cpp:
3352         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3353         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
3354         (WebCore::RenderLayerCompositor::canRender3DTransforms):
3355         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3356         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
3357         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
3358         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
3359         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
3360         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
3361         * rendering/RenderLayerCompositor.h:
3362
3363 2010-11-30  Xan Lopez  <xlopez@igalia.com>
3364
3365         Reviewed by Martin Robinson.
3366
3367         [GTK] Plug leak in SoupCache
3368         https://bugs.webkit.org/show_bug.cgi?id=50142
3369
3370         Free the cache file contents when we don't need them anymore.
3371
3372         * platform/network/soup/cache/webkit/soup-cache.c:
3373         (webkit_soup_cache_load):
3374
3375 2010-11-30  Andras Becsi  <abecsi@webkit.org>
3376
3377         Reviewed by Csaba Osztrogonác.
3378
3379         [Qt][V8] Make QtWebKit with V8 build on Linux.
3380         https://bugs.webkit.org/show_bug.cgi?id=50244
3381
3382         No new tests needed.
3383
3384         * WebCore.pri: add missing idl file
3385         * WebCore.pro: enable Linux build
3386         * bindings/scripts/CodeGeneratorV8.pm: add missing headers
3387         * bindings/v8/ScriptControllerQt.cpp: fix instantiation
3388         (WebCore::ScriptController::qtScriptEngine):
3389         * bindings/v8/V8GCController.cpp: fix guard
3390         (WebCore::V8GCController::checkMemoryUsage):
3391         * inspector/CodeGeneratorInspector.pm: add missing header
3392         * loader/ResourceLoadScheduler.cpp: ditto
3393         * loader/cache/MemoryCache.cpp: ditto
3394         * loader/loader.cpp: ditto
3395
3396 2010-11-30  David Hyatt  <hyatt@apple.com>
3397
3398         Reviewed by Simon Fraser.
3399         
3400         https://bugs.webkit.org/show_bug.cgi?id=50183
3401         
3402         Code got commented out by accident during render tree refactoring last year.  Put the code back in, since
3403         it hurts performance to have that line commented out.
3404
3405         In order to put this code back in, I had to fix some bugs with preferred width computations and
3406         overflow: scroll.  Make the pref widths computation create the scrollbar if it doesn't exist yet.
3407
3408         Make sure the scrollbar size is included prior to checking for defined width/min-width/max-width values.  Otherwise
3409         the scrollbar inflates the width beyond the fixed size that was specified.
3410         
3411         For table cells, there is an additional wrinkle.  Make sure not to include the scrollbar size as part of the minimum
3412         intrinsic width so that we don't incorrectly grow.
3413
3414         * rendering/RenderBlock.cpp:
3415         (WebCore::RenderBlock::layoutPositionedObjects):
3416         (WebCore::RenderBlock::computePreferredLogicalWidths):
3417         * rendering/RenderFlexibleBox.cpp:
3418         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
3419
3420 2010-11-30  Vitaly Repeshko  <vitalyr@chromium.org>
3421
3422         Unreviewed.
3423
3424         Attempt to fix windows debug chromium build.
3425
3426         * html/TimeInputType.cpp: Added include providing isfinite.
3427
3428 2010-11-30  Darin Adler  <darin@apple.com>
3429
3430         Reviewed by Jon Honeycutt.
3431
3432         DOM binding code generator scripts import unused File::stat Perl module
3433         https://bugs.webkit.org/show_bug.cgi?id=50250
3434
3435         * bindings/scripts/CodeGeneratorCPP.pm: Removed "using File::stat".
3436         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3437         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3438         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3439
3440 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
3441
3442         Reviewed by Yury Semikhatsky.
3443
3444         Web Inspector: implement "Revert to this revision" in resources panel.
3445         https://bugs.webkit.org/show_bug.cgi?id=50107
3446
3447         * inspector/Inspector.idl:
3448         * inspector/InspectorCSSAgent.cpp:
3449         (WebCore::InspectorCSSAgent::setStyleSheetText2):
3450         * inspector/InspectorCSSAgent.h:
3451         * inspector/InspectorStyleSheet.cpp:
3452         (WebCore::InspectorStyleSheet::reparseStyleSheet):
3453         * inspector/front-end/CSSStyleModel.js:
3454         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3455         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3456         (WebInspector.CSSStyleModel.prototype._onRevert):
3457         * inspector/front-end/Resource.js:
3458         (WebInspector.Resource.prototype.get contentTimestamp):
3459         (WebInspector.Resource.prototype.setInitialContent):
3460         (WebInspector.Resource.prototype.isLocallyModified):
3461         (WebInspector.Resource.prototype.setContent.else.finished):
3462         (WebInspector.Resource.prototype.setContent):
3463         (WebInspector.Resource.prototype.revertToThis.callback):
3464         (WebInspector.Resource.prototype.revertToThis):
3465         (WebInspector.Resource.prototype.get baseRevision):
3466         (WebInspector.Resource.prototype._innerRequestContent):
3467         * inspector/front-end/ResourcesPanel.js:
3468         (WebInspector.ResourcesPanel.prototype._showResourceView):
3469         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
3470         (WebInspector.ResourceRevisionTreeElement):
3471         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3472         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3473         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
3474         * inspector/front-end/ScriptsPanel.js:
3475         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
3476         (WebInspector.ScriptsPanel.prototype.editScriptSource):
3477         * inspector/front-end/SourceView.js:
3478         (WebInspector.SourceView.prototype._editLine):
3479         (WebInspector.SourceView.prototype._editLineComplete):
3480         (WebInspector.SourceView.prototype._revertEditLine):
3481
3482 2010-11-30  Adam Roben  <aroben@apple.com>
3483
3484         Clean up WebCore.vcproj's bindings filter
3485
3486         I added files that we compile (via an all-in-one file) but weren't in
3487         the .vcproj, removed files that no longer exist, and added the scripts
3488         we use.
3489
3490         Fixes <http://webkit.org/b/50248> WebCore.vcproj's bindings filter is
3491         out-of-date
3492
3493         Reviewed by Darin Adler.
3494
3495         * WebCore.vcproj/WebCore.vcproj:
3496
3497 2010-11-30  Adam Roben  <aroben@apple.com>
3498
3499         Move JSIDB* files to the DerivedSources filter
3500
3501         This correctly reflects their location on disk. (They were formerly
3502         listed under bindings/js.)
3503
3504         * WebCore.vcproj/WebCore.vcproj:
3505
3506 2010-11-30  Xiaomei Ji  <xji@chromium.org>
3507
3508         Reviewed by David Hyatt.
3509
3510         Remove clampNegativeToZero in adjustScrollPositionWithinRange.
3511         https://bugs.webkit.org/show_bug.cgi?id=50203
3512
3513         * platform/ScrollView.cpp:
3514         (WebCore::ScrollView::adjustScrollPositionWithinRange):
3515
3516 2010-11-30  Adam Roben  <aroben@apple.com>
3517
3518         Remove duplicate files from WebCore.vcproj
3519
3520         Rubber-stamped by Steve Falkenburg.
3521
3522         * WebCore.vcproj/WebCore.vcproj:
3523
3524 2010-11-30  Adam Roben  <aroben@apple.com>
3525
3526         Let VS do its thang with WebCore.vcproj
3527
3528         I just removed and readded AnimationBase.cpp.
3529
3530         Rubber-stamped by Steve Falkenburg.
3531
3532         * WebCore.vcproj/WebCore.vcproj:
3533
3534 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3535
3536         Reviewed by Chris Fleizach.
3537
3538         ASSERT failing for combo boxes when selection changes
3539         https://bugs.webkit.org/show_bug.cgi?id=50062
3540
3541         Don't call listBoxOnChange for elements using menu lists.
3542
3543         Test: fast/forms/select-option-accesskey-crash.html
3544
3545         * dom/SelectElement.cpp:
3546         (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
3547         to decide whether to call menuListOnChange() or listBoxOnChange()
3548         instead of always calling listBoxOnChange().
3549
3550 2010-11-30  Andreas Kling  <kling@webkit.org>
3551
3552         Reviewed by Dirk Schulze.
3553
3554         GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument.
3555         https://bugs.webkit.org/show_bug.cgi?id=48516
3556
3557         No new tests, this is refactoring only.
3558
3559         fillPath() -> fillPath(const Path&)
3560         strokePath() -> strokePath(const Path&)
3561         clipPath(WindRule) -> clipPath(const Path&, WindRule)
3562
3563         drawPath() was only used by CG, so made it PLATFORM(CG) specific.
3564
3565         The Qt, CG and Cairo implementations are best-effort.
3566         For the rest, I've put beginPath/addPath and FIXMEs in the three affected methods.
3567
3568         * WebCore.exp.in:
3569         * html/canvas/CanvasRenderingContext2D.cpp:
3570         (WebCore::CanvasRenderingContext2D::fill):
3571         (WebCore::CanvasRenderingContext2D::stroke):
3572         * inspector/InspectorController.cpp:
3573         (WebCore::drawOutlinedQuad):
3574         * mathml/RenderMathMLRoot.cpp:
3575         (WebCore::RenderMathMLRoot::paint):
3576         * mathml/RenderMathMLSquareRoot.cpp:
3577         (WebCore::RenderMathMLSquareRoot::paint):
3578         * platform/graphics/GraphicsContext.h:
3579         * platform/graphics/GraphicsContextPrivate.h:
3580         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3581         (WebCore::GraphicsContext::fillPath):
3582         (WebCore::GraphicsContext::strokePath):
3583         (WebCore::GraphicsContext::clipPath):
3584         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3585         * platform/graphics/cg/GraphicsContextCG.cpp:
3586         (WebCore::GraphicsContext::drawEllipse):
3587         (WebCore::addConvexPolygonToPath):
3588         (WebCore::GraphicsContext::drawConvexPolygon):
3589         (WebCore::GraphicsContext::clipConvexPolygon):
3590         (WebCore::GraphicsContext::drawPath):
3591         (WebCore::GraphicsContext::fillPath):
3592         (WebCore::GraphicsContext::strokePath):
3593         (WebCore::GraphicsContext::fillRoundedRect):
3594         (WebCore::GraphicsContext::clipPath):
3595         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3596         (WebCore::GraphicsContext::strokePath):
3597         (WebCore::GraphicsContext::fillPath):
3598         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3599         (WebCore::GraphicsContext::fillPath):
3600         (WebCore::GraphicsContext::strokePath):
3601         (WebCore::GraphicsContext::clipPath):
3602         * platform/graphics/qt/GraphicsContextQt.cpp:
3603         (WebCore::GraphicsContext::restorePlatformState):
3604         (WebCore::GraphicsContext::fillPath):
3605         (WebCore::GraphicsContext::strokePath):
3606         (WebCore::GraphicsContext::clipPath):
3607         (WebCore::GraphicsContext::strokeRect):
3608         (WebCore::GraphicsContext::translate):
3609         (WebCore::GraphicsContext::rotate):
3610         (WebCore::GraphicsContext::scale):
3611         (WebCore::GraphicsContext::concatCTM):
3612         * platform/graphics/skia/GraphicsContextSkia.cpp:
3613         (WebCore::GraphicsContext::clipPath):
3614         (WebCore::GraphicsContext::fillPath):
3615         (WebCore::GraphicsContext::strokePath):
3616         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3617         (WebCore::GraphicsContext::fillPath):
3618         (WebCore::GraphicsContext::strokePath):
3619         (WebCore::GraphicsContext::clipPath):
3620         * platform/graphics/wx/GraphicsContextWx.cpp:
3621         (WebCore::GraphicsContext::clipPath):
3622         (WebCore::GraphicsContext::fillPath):
3623         (WebCore::GraphicsContext::strokePath):
3624         * rendering/RenderBoxModelObject.cpp:
3625         (WebCore::RenderBoxModelObject::paintBorder):
3626         (WebCore::RenderBoxModelObject::paintBoxShadow):
3627         * rendering/RenderEmbeddedObject.cpp:
3628         (WebCore::RenderEmbeddedObject::paintReplaced):
3629         * rendering/RenderObject.cpp:
3630         (WebCore::RenderObject::drawBoxSideFromPath):
3631         * rendering/RenderSVGResource.h:
3632         (WebCore::RenderSVGResource::postApplyResource):
3633         * rendering/RenderSVGResourceClipper.cpp:
3634         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
3635         * rendering/RenderSVGResourceFilter.cpp:
3636         (WebCore::RenderSVGResourceFilter::postApplyResource):
3637         * rendering/RenderSVGResourceFilter.h:
3638         * rendering/RenderSVGResourceGradient.cpp:
3639         (WebCore::RenderSVGResourceGradient::applyResource):
3640         * rendering/RenderSVGResourceGradient.h:
3641         * rendering/RenderSVGResourcePattern.cpp:
3642         (WebCore::RenderSVGResourcePattern::postApplyResource):
3643         * rendering/RenderSVGResourcePattern.h:
3644         * rendering/RenderSVGResourceSolidColor.cpp:
3645         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
3646         * rendering/RenderSVGResourceSolidColor.h:
3647         * rendering/SVGRenderSupport.cpp:
3648         (WebCore::SVGRenderSupport::finishRenderSVGContent):
3649         * rendering/svg/RenderSVGPath.cpp:
3650         (WebCore::RenderSVGPath::fillAndStrokePath):
3651         * rendering/svg/SVGInlineTextBox.cpp:
3652         (WebCore::SVGInlineTextBox::releasePaintingResource):
3653         (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
3654         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
3655         * rendering/svg/SVGInlineTextBox.h:
3656         * svg/SVGFont.cpp:
3657         (WebCore::Font::drawTextUsingSVGFont):
3658
3659 2010-11-30  Alexey Proskuryakov  <ap@apple.com>
3660
3661         Reviewed by Darin Adler and Geoff Garen.
3662
3663         https://bugs.webkit.org/show_bug.cgi?id=44152
3664         <rdar://problem/8324423> CSSOM should match DOM in discarding wrapper-less parents.
3665
3666         We have existing behaviors where parent objects in detached subtrees are not preserved:
3667         - if a root of a node tree doesn't have a wrapper, it's immediately destroyed, making
3668         its children parentNode attribute null;
3669         - relationship between a <style> or <link> node and its stylesheet is immediately broken
3670         when the node is removed from document (in this case, regardless of wrapper existence).
3671
3672         Both match Firefox. For consistency, CSSOM should do the same. In fact, it already partially
3673         does - CSSRule.parentRule gets zeroed out when the parent rule is destroyed.
3674
3675         Tests: fast/dom/StyleSheet/detached-parent-rule-without-wrapper.html
3676                fast/dom/StyleSheet/detached-stylesheet-without-wrapper.html
3677
3678         * css/StyleSheet.cpp: (WebCore::StyleSheet::~StyleSheet): Clear out child rule parent.
3679
3680         * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument): Keep
3681         the new assertion from firing. This function was adding a rule to style sheet, without
3682         telling the rule about it.
3683
3684 2010-11-30  Steve Falkenburg  <sfalken@apple.com>
3685
3686         Reviewed by Adam Roben.
3687
3688         All projects on Windows should use cmd files for build events
3689         https://bugs.webkit.org/show_bug.cgi?id=50213
3690
3691         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3692         * WebCore.vcproj/QTMovieWinPostBuild.cmd: Added.
3693         * WebCore.vcproj/QTMovieWinPreBuild.cmd: Added.
3694         * WebCore.vcproj/WebCoreCommon.vsprops:
3695         * WebCore.vcproj/WebCorePostBuild.cmd: Added.
3696         * WebCore.vcproj/WebCorePreBuild.cmd: Added.
3697
3698 2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3699
3700         Unreviewed, rolling out r72914.
3701         http://trac.webkit.org/changeset/72914
3702         https://bugs.webkit.org/show_bug.cgi?id=50241
3703
3704         "pfeldman has a revision management patch both for CSS and JS"
3705         (Requested by apavlov on #webkit).
3706
3707         * English.lproj/localizedStrings.js:
3708         * inspector/InspectorStyleSheet.cpp:
3709         (WebCore::InspectorStyleSheet::reparseStyleSheet):
3710         * inspector/front-end/CSSStyleModel.js:
3711         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3712         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3713         (WebInspector.CSSStyleSheet.prototype.getText):
3714         (WebInspector.CSSStyleSheet.prototype.setText):
3715         * inspector/front-end/ResourcesPanel.js:
3716         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3717         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3718
3719 2010-11-25  Satish Sampath  <satish@chromium.org>
3720
3721         Reviewed by Kent Tamura.
3722
3723         Fix rendering of speech button when setting the attribute dynamically.
3724         https://bugs.webkit.org/show_bug.cgi?id=50077
3725
3726         * html/HTMLInputElement.cpp:
3727         (WebCore::HTMLInputElement::parseMappedAttribute):
3728         * rendering/RenderTextControlSingleLine.cpp:
3729         (WebCore::RenderTextControlSingleLine::speechAttributeChanged):
3730         * rendering/RenderTextControlSingleLine.h:
3731
3732 2010-11-30  Alexander Pavlov  <apavlov@chromium.org>
3733
3734         Reviewed by Yury Semikhatsky.
3735
3736         Web Inspector: Enable switching between revisions of stylesheets
3737         https://bugs.webkit.org/show_bug.cgi?id=50227
3738
3739         Drive-by fix: styleSheetChanged() call needed after a stylesheet reparsing on setStyleSheetText2().
3740
3741         * English.lproj/localizedStrings.js:
3742         * inspector/InspectorStyleSheet.cpp:
3743         (WebCore::InspectorStyleSheet::reparseStyleSheet):
3744         * inspector/front-end/CSSStyleModel.js:
3745         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
3746         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3747         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3748         (WebInspector.CSSStyleSheet.prototype.getText):
3749         * inspector/front-end/ResourcesPanel.js:
3750         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3751         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3752         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
3753
3754 2010-11-30  John Knottenbelt  <jknotten@chromium.org>
3755
3756         Reviewed by David Levin.
3757
3758         V8 binding for DOMTimeStamp should be Number, not Date
3759         https://bugs.webkit.org/show_bug.cgi?id=49963
3760
3761         Test: fast/dom/domtimestamp-is-number.html
3762
3763         * bindings/scripts/CodeGeneratorV8.pm:
3764
3765 2010-11-30  Renata Hodovan  <reni@inf.u-szeged.hu>
3766
3767         Reviewed by Andreas Kling.
3768
3769         [Qt] Leak with GraphicsContext::takeOwnershipOfPlatformContext()
3770         https://bugs.webkit.org/show_bug.cgi?id=49916
3771
3772         Change the order of calling QPainter::device() and QPainter::end(), so device() will return with a valid device.
3773         No new test is needed.
3774
3775         * platform/graphics/qt/GraphicsContextQt.cpp:
3776         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3777
3778 2010-11-30  Patrick Gansterer  <paroga@webkit.org>
3779
3780         Reviewed by Andreas Kling.
3781
3782         Move generator logic into main CMakeLists.txt file
3783         https://bugs.webkit.org/show_bug.cgi?id=49885
3784
3785         Also make the generator calls more portable.
3786
3787         * CMakeLists.txt:
3788
3789 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3790
3791         Unreviewed, rolling out r72902.
3792         http://trac.webkit.org/changeset/72902
3793         https://bugs.webkit.org/show_bug.cgi?id=50062
3794
3795         This change is causing layout test failures on the Tests bots
3796         for the mac platform.
3797
3798         * dom/SelectElement.cpp:
3799         (WebCore::SelectElement::accessKeySetSelectedIndex):
3800
3801 2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3802
3803         Unreviewed, rolling out r72764.
3804         http://trac.webkit.org/changeset/72764
3805         https://bugs.webkit.org/show_bug.cgi?id=50215
3806
3807         This change is causing assertion failures on the debug bots.
3808         (Requested by mrobinson on #webkit).
3809
3810         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3811         (webkit_accessible_get_name):
3812         (webkit_accessible_detach):
3813
3814 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
3815
3816         Reviewed by Yury Semikhatsky.
3817
3818         Web Inspector: make copy(node) work in console.
3819         https://bugs.webkit.org/show_bug.cgi?id=50180
3820
3821         * inspector/front-end/InjectedScript.js:
3822         (injectedScriptConstructor.):
3823
3824 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3825
3826         Reviewed by Darin Adler.
3827
3828         ASSERT failing for combo boxes when selection changes
3829         https://bugs.webkit.org/show_bug.cgi?id=50062
3830
3831         Don't call listBoxOnChange for elements using menu lists.
3832
3833         Test: accessibility/select-menulist-crash.html
3834
3835         * dom/SelectElement.cpp:
3836         (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
3837         to decide whether to call menuListOnChange() or listBoxOnChange()
3838         instead of always calling listBoxOnChange().
3839
3840 2010-11-30  Helder Correia  <helder@sencha.com>
3841
3842         Reviewed by Kenneth Rohde Christiansen.
3843
3844         [Qt] Path stroke shadow has incorrect behavior when using ctx.scale(x,y)
3845         https://bugs.webkit.org/show_bug.cgi?id=50198
3846
3847         Handle the special case when scaling is used and translate the shadow
3848         offset accordingly. The correct behavior is ensured in ContextShadow
3849         already, the issue only happens when using a non-blur shadow.
3850
3851         Test: fast/canvas/canvas-scale-strokePath-shadow.html
3852
3853         * platform/graphics/qt/GraphicsContextQt.cpp:
3854         (WebCore::GraphicsContext::strokePath):
3855
3856 2010-11-30  Helder Correia  <helder@sencha.com>
3857
3858         Reviewed by Kenneth Rohde Christiansen.
3859
3860         [Qt] Path filling should keep shadow offset after context scaling
3861         https://bugs.webkit.org/show_bug.cgi?id=50194
3862
3863         Handle the special case when scaling is used and translate the shadow
3864         offset accordingly. The correct behavior is ensured in ContextShadow
3865         already, the issue only happens when using a non-blur shadow.
3866
3867         Test: fast/canvas/canvas-scale-fillPath-shadow.html
3868
3869         * platform/graphics/qt/GraphicsContextQt.cpp:
3870         (WebCore::GraphicsContext::fillPath):
3871
3872 2010-11-30  Yury Semikhatsky  <yurys@chromium.org>
3873
3874         Reviewed by Pavel Feldman.
3875
3876         Web Inspector: make ScriptCallStack and ScriptArguments reference counted
3877         https://bugs.webkit.org/show_bug.cgi?id=50156
3878
3879         No new tests. This refactoring is covered with existing inspector tests.
3880
3881         * bindings/js/JSConsoleCustom.cpp:
3882         (WebCore::JSConsole::profile):
3883         (WebCore::JSConsole::profileEnd):
3884         * bindings/js/ScriptCallStackFactory.cpp:
3885         (WebCore::createScriptCallStack):
3886         (WebCore::createScriptArguments):
3887         * bindings/js/ScriptCallStackFactory.h:
3888         * bindings/scripts/CodeGeneratorJS.pm:
3889         * bindings/scripts/CodeGeneratorV8.pm:
3890         * bindings/scripts/test/JS/JSTestObj.cpp:
3891         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3892         * bindings/scripts/test/V8/V8TestObj.cpp:
3893         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3894         * bindings/v8/ScriptCallStackFactory.cpp:
3895         (WebCore::createScriptCallStack):
3896         (WebCore::createScriptArguments):
3897         * bindings/v8/ScriptCallStackFactory.h:
3898         * bindings/v8/V8ConsoleMessage.cpp:
3899         (WebCore::V8ConsoleMessage::handler):
3900         (WebCore::V8ConsoleMessage::dispatchNow):
3901         * bindings/v8/V8ConsoleMessage.h:
3902         * bindings/v8/custom/V8ConsoleCustom.cpp:
3903         (WebCore::V8Console::traceCallback):
3904         (WebCore::V8Console::assertCallback):
3905         (WebCore::V8Console::profileCallback):
3906         (WebCore::V8Console::profileEndCallback):
3907         * inspector/ConsoleMessage.cpp:
3908         (WebCore::ConsoleMessage::ConsoleMessage):
3909         * inspector/ConsoleMessage.h:
3910         * inspector/InspectorController.cpp:
3911         (WebCore::InspectorController::addMessageToConsole):
3912         (WebCore::InspectorController::startGroup):
3913         * inspector/InspectorController.h:
3914         * inspector/ScriptArguments.cpp:
3915         (WebCore::ScriptArguments::create):
3916         * inspector/ScriptArguments.h:
3917         * inspector/ScriptCallFrame.h:
3918         * inspector/ScriptCallStack.cpp:
3919         (WebCore::ScriptCallStack::create):
3920         (WebCore::ScriptCallStack::at):
3921         (WebCore::ScriptCallStack::size):
3922         * inspector/ScriptCallStack.h:
3923         * page/Console.cpp:
3924         (WebCore::Console::addMessage):
3925         (WebCore::Console::debug):
3926         (WebCore::Console::error):
3927         (WebCore::Console::info):
3928         (WebCore::Console::log):
3929         (WebCore::Console::dir):
3930         (WebCore::Console::dirxml):
3931         (WebCore::Console::trace):
3932         (WebCore::Console::assertCondition):
3933         (WebCore::Console::count):
3934         (WebCore::Console::markTimeline):
3935         (WebCore::Console::profile):
3936         (WebCore::Console::profileEnd):
3937         (WebCore::Console::timeEnd):
3938         (WebCore::Console::group):
3939         (WebCore::Console::groupCollapsed):
3940         (WebCore::Console::warn):
3941         * page/Console.h:
3942
3943 2010-11-29  Dan Bernstein  <mitz@apple.com>
3944
3945         Build fix for non-ICU platforms after r72887.
3946
3947         * editing/TextIterator.cpp:
3948         (WebCore::SearchBuffer::prependContext):
3949
3950 2010-11-29  Dan Bernstein  <mitz@apple.com>
3951
3952         Reviewed by Darin Adler.
3953
3954         WebCore part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
3955         https://bugs.webkit.org/show_bug.cgi?id=50038
3956
3957         Test: editing/text-iterator/findString.html
3958
3959         * GNUmakefile.am: Added FindOptions.h.
3960         * WebCore.exp.in: Export the new methods that take FindOptions.
3961         * WebCore.gypi: Added FindOptions.h.
3962         * WebCore.pro: Added FindOptions.h and TextBoundaries.{cpp,h}.
3963         * WebCore.vcproj/WebCore.vcproj: Added FindOptions.h.
3964         * WebCore.xcodeproj/project.pbxproj: Added FindOptions.h and TextBoundaries.cpp.
3965         * editing/Editor.cpp:
3966         (WebCore::Editor::firstVisibleRange): Changed to use FindOptions.
3967         (WebCore::Editor::lastVisibleRange): Ditto.
3968         (WebCore::Editor::nextVisibleRange): Ditto.
3969         (WebCore::Editor::findString): Ditto.
3970         (WebCore::Editor::countMatchesForText): Ditto.
3971         * editing/Editor.h: Added a version of findString() that takes FindOptions. Changed
3972         countMatchesForText() to take FindOptions. Made nextVisibleRange() private and changed it
3973         and firstVisibleRange() and lastVisibleRange() to take FindOptions.
3974         * editing/FindOptions.h: Added.
3975         * editing/TextIterator.cpp:
3976         Augmented SearchBuffer with an optional prefix, which is not searched, but provides context
3977         for determining word boundaries.
3978         (WebCore::isSeparator): Added. Identifies a class of characters used to determine where
3979         “words” are embedded in a word.
3980         (WebCore::SearchBuffer::SearchBuffer): Changed to take FindOptions. Added initialization of
3981         m_options, m_prefixLength and m_needsMoreContext.
3982         (WebCore::SearchBuffer::append): Adjust m_prefixLength as part of the prefix gets pushed out
3983         of the buffer.
3984         (WebCore::SearchBuffer::needsMoreContext): Added.
3985         (WebCore::SearchBuffer::prependContext): Added.
3986         (WebCore::SearchBuffer::isWordStartMatch): Added.
3987         (WebCore::SearchBuffer::search): Changed to account for the context prefix. When searching
3988         only for word prefix matches, maintains enough context before a tentative match when moving
3989         it to the beginning of the buffer. Reject matches that are not at word starts if requested.
3990         Adjust m_prefixLength when pushing characters out of the buffer.
3991         (WebCore::findPlainText): Changed to work with FindOptions. Feed the search buffer with context
3992         if and as long as it requires more of it.
3993         * editing/TextIterator.h: Added a version of findPlainText() that takes FindOptions.
3994         * editing/visible_units.cpp: Moved {end,start}Of{First,Last}WordBoundary to TextBoundaries.cpp.
3995         * page/Page.cpp:
3996         (WebCore::Page::findString): Changed to work with FindOptions.
3997         (WebCore::Page::markAllMatchesForText): Ditto.
3998         * page/Page.h: Added FindOptions-based findString() and markAllMatchesForText().
3999         * platform/text/TextBoundaries.cpp:
4000         (WebCore::endOfFirstWordBoundaryContext): Moved here from visible_units.cpp.
4001         (WebCore::startOfLastWordBoundaryContext): Ditto.
4002         * platform/text/TextBoundaries.h:
4003
4004 2010-11-29  Dai Mikurube  <dmikurube@google.com>
4005
4006         Reviewed by Kent Tamura.
4007
4008         when empty, clicking "down" on outer-spin-button returns "max value"
4009         https://bugs.webkit.org/show_bug.cgi?id=45491
4010
4011         Modified stepping-up/down from renderer
4012         - to clamp steps,
4013         - to handle empty values (described below), and
4014         - to apply them for range type inputs.
4015
4016         Stepping-up/down for empty values are handled "the empty as 0."
4017         For example :
4018         * If 0 is in-range, and matches to step value
4019           "down" -> -step
4020           "up" -> +step
4021           If -step or +step is out of range, new value should be 0.
4022
4023         * If 0 is smaller than the minimum value
4024           "down" -> the minimum value
4025           "up" -> the minimum value
4026
4027         * If 0 is larger than the maximum value
4028           "down" -> the maximum value
4029           "up" -> the maximum value
4030
4031         * If 0 is in-range, but not matched to step value
4032           "down" -> smaler matched value nearest to 0.
4033             e.g. <input type=number min=-100 step=3> -> -1
4034           "up" -> larger matched value nearest to 0.
4035             e.g. <input type=number min=-100 step=3> -> 2
4036
4037         As for date/datetime-local/month/time/week types, the empty is assumed as "current local date/time".
4038         As for datetime type, the empty is assumed as "current date/time in UTC".
4039
4040         As for range input types, changed stepping from renderer to use stepUpFromRenderer().
4041         It was calculated with stepUp() from RangeInputType::handleKeydownEvent().
4042
4043         Test: fast/forms/input-stepup-stepdown-from-renderer.html
4044
4045         * html/BaseDateAndTimeInputType.cpp:
4046         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
4047         * html/BaseDateAndTimeInputType.h:
4048         * html/DateTimeInputType.cpp:
4049         (WebCore::DateTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current UTC time
4050         * html/DateTimeInputType.h:
4051         * html/HTMLInputElement.cpp:
4052         (WebCore::HTMLInputElement::stepUpFromRenderer): Modified it to clamp steps, support empty values and support range type inputs
4053         * html/HTMLInputElement.h:
4054         (WebCore::HTMLInputElement::isRangeControl):
4055         * html/InputType.cpp:
4056         (WebCore::InputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns 0
4057         * html/InputType.h:
4058         * html/MonthInputType.cpp:
4059         (WebCore::MonthInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local month
4060         * html/MonthInputType.h:
4061         * html/RangeInputType.cpp:
4062         (WebCore::RangeInputType::handleKeydownEvent): Added comments and modified it to use stepUpFromRenderer()
4063         * html/TimeInputType.cpp:
4064         (WebCore::TimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
4065         * html/TimeInputType.h:
4066         * manual-tests/input-type-datetime-default-value.html: Added manual tests for default values of date/time inputs since they are "the current local/UTC time", which cannot be tested automatically.
4067
4068 2010-11-29  Adam Barth  <abarth@webkit.org>
4069
4070         Reviewed by Darin Adler.
4071
4072         Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
4073         https://bugs.webkit.org/show_bug.cgi?id=50182
4074
4075         A display-isolated URL can only be displayed (e.g., put in an iframe,
4076         hyperlinked to) by documents from that scheme.  In a sense, this is a
4077         generalization of some of the protections we give file URLs, but
4078         instead of lumping them all together into one "local" bucket, this
4079         patch creates a separate bucket for each scheme.
4080
4081         For a while, I tried using a separate bucket for each origin.  That
4082         would have played nicely with what Blob URLs are trying to do, but some
4083         "chrome" URL pages rely on being able to display other chrome URL
4084         pages, even in different origins.  For example, the New Tab Page shows
4085         thumbnails from the "thumbnail" host.
4086
4087         This patch also removes a bunch of unused code.  I've also propagated
4088         the "deprecated" status of deprecatedCanDisplay to
4089         deprecatedShouldTreatURLAsLocal because that method has no other
4090         callers and is really asking for uppercase/lowercase bugs.  I dream of
4091         someday removing these functions.
4092
4093         * page/SecurityOrigin.cpp:
4094         (WebCore::SecurityOrigin::canDisplay):
4095         (WebCore::SecurityOrigin::deprecatedCanDisplay):
4096         * platform/SchemeRegistry.cpp:
4097         (WebCore::displayIsolatedURLSchemes):
4098         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
4099         (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
4100         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
4101         (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
4102         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
4103         * platform/SchemeRegistry.h:
4104
4105 2010-11-29  Sergio Villar Senin  <svillar@igalia.com>
4106
4107         Reviewed by Martin Robinson.
4108
4109         [GTK] Leaks in SoupCache code
4110         https://bugs.webkit.org/show_bug.cgi?id=50161
4111
4112         Fixes some memory leaks in SoupCache code.
4113
4114         * platform/network/soup/cache/soup-http-input-stream.c:
4115         (send_async_finished): Added a missing g_object_unref.
4116         * platform/network/soup/cache/webkit/soup-cache.c:
4117         (get_cacheability): Added soup_header_free_param_list.
4118         (webkit_soup_cache_entry_set_freshness): Ditto.
4119         (webkit_soup_cache_send_response): Ditto.
4120         (webkit_soup_cache_has_response): Ditto.
4121
4122 2010-11-29  Jian Li  <jianli@chromium.org>
4123
4124         Reviewed by David Levin.
4125
4126         Add send(ArrayBuffer) to XMLHttpRequest per XMLHttpRequest Level 2 spec
4127         https://bugs.webkit.org/show_bug.cgi?id=50199
4128
4129         Test: http/tests/xmlhttprequest/send-array-buffer.html
4130
4131         * bindings/js/JSXMLHttpRequestCustom.cpp:
4132         (WebCore::JSXMLHttpRequest::send):
4133         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
4134         (WebCore::V8XMLHttpRequest::sendCallback):
4135         * xml/XMLHttpRequest.cpp:
4136         (WebCore::XMLHttpRequest::send):
4137         * xml/XMLHttpRequest.h:
4138
4139 2010-11-29  James Robinson  <jamesr@chromium.org>
4140
4141         [chromium] REGRESSION(72470): Crash in skia on some images
4142         https://bugs.webkit.org/show_bug.cgi?id=50201
4143
4144         Reverts r72470
4145
4146         * platform/graphics/skia/ImageSkia.cpp:
4147         (WebCore::computeResamplingMode):
4148         (WebCore::drawResampledBitmap):
4149
4150 2010-11-29  Dmitry Titov  <dimich@chromium.org>
4151
4152         Reviewed by David Levin.
4153
4154         Crash when iframe transfers from one page to another and has child frames.
4155         https://bugs.webkit.org/show_bug.cgi?id=50200
4156
4157         * page/Frame.cpp:
4158         (WebCore::Frame::transferChildFrameToNewDocument):
4159         avoid overriding 'didTransfer' which has the result of previous check.
4160
4161 2010-11-19  Ryosuke Niwa  <rniwa@webkit.org>
4162
4163         Reviewed by David Hyatt.
4164
4165         up arrow doesn't work with RTL text with word wrapping
4166         https://bugs.webkit.org/show_bug.cgi?id=41987
4167
4168         The bug was caused by positionForPoint's not returning the correct affinity when the x coordiate
4169         is to the left of the first line, and startOfLine's incorrectly moving position to the previous candidate.
4170
4171         Fixed the bug by returning upstream VisiblePosition in positionForPoint if the first inline text box's offset
4172         is greater than 0.  Also removed the code added by http://trac.webkit.org/changeset/23608 since this changeset
4173         does not add any test, and the problem described in the changelog reproduces regardless of the code's presence.
4174
4175         Tests: editing/selection/click-left-of-rtl-wrapping-text.html
4176                editing/selection/modify-up-on-rtl-wrapping-text.html
4177
4178         * editing/visible_units.cpp:
4179         (WebCore::startOfLine):
4180         * rendering/RenderText.cpp:
4181         (WebCore::RenderText::positionForPoint):
4182
4183 2010-11-29  Ilya Sherman  <isherman@chromium.org>
4184
4185         Reviewed by Kent Tamura.
4186
4187         Ensure that option elements are rendered with normal font weight on Windows/Linux
4188         https://bugs.webkit.org/show_bug.cgi?id=50055
4189
4190         * WebCore.gyp/WebCore.gyp: include themeChromiumSkia.css
4191         * css/themeChromiumSkia.css: Added.
4192         (option): font-weight: normal !important;
4193         * rendering/RenderThemeChromiumSkia.cpp:
4194         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): include themeChromiumSkia.css
4195
4196 2010-11-29  Brent Fulgham  <bfulgham@webkit.org>
4197
4198         Unreviewed build fix.
4199
4200         * WebCore.vcproj/WebCoreCairo.vsprops: Provide missing WIN_CAIRO
4201           definition so that proper targets are build.
4202         * platform/graphics/win/cairo/FontPlatformData.h:
4203         (WebCore::FontPlatformData::orientation): Add missing implementation.
4204
4205 2010-11-29  Chris Rogers  <crogers@google.com>
4206
4207         Reviewed by Kenneth Russell.
4208
4209         Switch web audio code to use FloatPoint3D instead of Vector3
4210         https://bugs.webkit.org/show_bug.cgi?id=50186
4211
4212         No new tests since audio API is not yet implemented.
4213
4214         * platform/audio/Cone.cpp:
4215         (WebCore::ConeEffect::gain):
4216         * platform/audio/Cone.h:
4217         * platform/graphics/FloatPoint3D.h:
4218         (WebCore::FloatPoint3D::isZero):
4219         (WebCore::operator*):
4220         (WebCore::FloatPoint3D::distanceTo):
4221         * webaudio/AudioListener.h:
4222         (WebCore::AudioListener::setPosition):
4223         (WebCore::AudioListener::position):
4224         (WebCore::AudioListener::setOrientation):
4225         (WebCore::AudioListener::orientation):
4226         (WebCore::AudioListener::setUpVector):
4227         (WebCore::AudioListener::upVector):
4228         (WebCore::AudioListener::setVelocity):
4229         (WebCore::AudioListener::velocity):
4230         * webaudio/AudioPannerNode.cpp:
4231         (WebCore::AudioPannerNode::AudioPannerNode):
4232         (WebCore::AudioPannerNode::getAzimuthElevation):
4233         (WebCore::AudioPannerNode::dopplerRate):
4234         (WebCore::AudioPannerNode::distanceConeGain):
4235         * webaudio/AudioPannerNode.h:
4236         (WebCore::AudioPannerNode::position):
4237         (WebCore::AudioPannerNode::setPosition):
4238         (WebCore::AudioPannerNode::orientation):
4239         (WebCore::AudioPannerNode::setOrientation):
4240         (WebCore::AudioPannerNode::velocity):
4241         (WebCore::AudioPannerNode::setVelocity):
4242
4243 2010-11-29  Xiaomei Ji  <xji@chromium.org>
4244
4245         Reviewed by David Hyatt.
4246
4247         Right-to-left pages should be scrollable to reveal left overflow.
4248         https://bugs.webkit.org/show_bug.cgi?id=23556
4249
4250         For RTL page, save left layout overflow and include it into the document
4251         size during layout. Use the left layout overflow when scroll and paint
4252         the page. Behavior on LTR page should be untouched since left layout 
4253         overflow is set as 0 for LTR page.
4254
4255         Tests: fast/dom/horizontal-scrollbar-in-rtl-doesnt-fire-onscroll.html
4256                fast/dom/horizontal-scrollbar-in-rtl.html
4257                fast/dom/horizontal-scrollbar-when-dir-change.html
4258                fast/dom/left-overflow-in-ltr.html
4259                fast/dom/right-overflow-in-rtl.html
4260
4261         * page/FrameView.cpp:
4262         (WebCore::FrameView::adjustViewSize): Save negative of left layout overflow as scroll X origin. And includes left layout overflow into document size.
4263         * page/mac/WebCoreFrameView.h: Add methods for setting and getting scroll X origin.
4264         * platform/ScrollView.cpp:
4265         (WebCore::ScrollView::ScrollView):
4266         (WebCore::ScrollView::maximumScrollPosition): Minus scroll X origin from maximum horizontal scroll position.
4267         (WebCore::ScrollView::minimumScrollPosition):
4268         (WebCore::ScrollView::adjustScrollPositionWithinRange):
4269         (WebCore::ScrollView::valueChanged):
4270         (WebCore::ScrollView::setScrollPosition):
4271         (WebCore::ScrollView::updateScrollbars):
4272         (WebCore::ScrollView::wheelEvent):
4273         * platform/ScrollView.h:
4274         * platform/mac/ScrollViewMac.mm:
4275         (WebCore::ScrollView::platformSetContentsSize):
4276         (WebCore::ScrollView::platformSetScrollPosition):
4277         (WebCore::ScrollView::platformSetScrollOriginX):
4278         * rendering/RenderBox.cpp:
4279         (WebCore::RenderBox::styleDidChange):
4280         (WebCore::RenderBox::paintRootBoxDecorations): Include left layout overflow into canvas size.
4281         * rendering/RenderView.cpp:
4282         (WebCore::RenderView::layout): Save left layout overflow.
4283         (WebCore::RenderView::docLeft):
4284         (WebCore::RenderView::docWidth): Include left layout overflow into doc width for RTL page.
4285         * rendering/RenderView.h:
4286
4287 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
4288
4289         Reviewed by Ojan Vafai.
4290
4291         bunch of pixel failures after http://trac.webkit.org/changeset/72839/
4292         https://bugs.webkit.org/show_bug.cgi?id=50188
4293         
4294         We need to call updateLayerTransform() for reflections, and
4295         table rows as well.
4296
4297         * rendering/RenderReplica.cpp:
4298         (WebCore::RenderReplica::layout):
4299         * rendering/RenderTableRow.cpp:
4300         (WebCore::RenderTableRow::layout):
4301         * rendering/RenderTableSection.cpp:
4302         (WebCore::RenderTableSection::layoutRows):
4303
4304 2010-11-29  Xiaomei Ji  <xji@chromium.org>
4305
4306         Reviewed by David Hyatt.
4307
4308         Fix tab overflow problem when alignment is not left.
4309         https://bugs.webkit.org/show_bug.cgi?id=25459
4310
4311         I checked WordPad in Windows, TextEdit in Mac, OpenOffice, and Google doc. 
4312         In all of them, (when the writing mode is horizontal) when the alignment is not
4313         left alignment, the length of tab is computed based on the tab's position
4314         relative to the left start of line, not based on the tab's position relative 
4315         to the left edge of the document.
4316
4317         WebKit should follow the same.
4318
4319         The m_xPos in each TextRun should be relative to the left start of the line, 
4320         not left start of its containing block (in right alignment and center alignment,
4321         left start of the line is not the same as left start of the containing block).
4322         So, when the text is drawn, the width of tab is consistent with the width 
4323         computed in RenderBlock::computeInlineDirectionPositionsForLine().
4324
4325         I did not test vertical writing mode, but I think the same rule should apply.
4326
4327         Test: fast/dom/tab-in-right-alignment.html
4328
4329         * platform/graphics/TextRun.h:
4330         * rendering/InlineTextBox.cpp:
4331         (WebCore::InlineTextBox::textPos):
4332         * rendering/InlineTextBox.h:
4333
4334 2010-11-29  Mikhail Naganov  <mnaganov@chromium.org>
4335
4336         Reviewed by Pavel Feldman.
4337
4338         WebInspector: Request JSON-serialized heap snapshot from JS engine.
4339         This simplifies heap snapshots interaction and API. Instead of
4340         having objects representing snapshot entities, the whole snapshot
4341         is transferred to WebInspector and parsed there.
4342
4343         https://bugs.webkit.org/show_bug.cgi?id=49974
4344
4345         * bindings/js/ScriptHeapSnapshot.h:
4346         (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
4347         (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
4348         (WebCore::ScriptHeapSnapshot::writeJSON):
4349         (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
4350         * bindings/v8/ScriptHeapSnapshot.cpp:
4351         (WebCore::ScriptHeapSnapshot::writeJSON):
4352         * bindings/v8/ScriptHeapSnapshot.h:
4353         (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
4354         * inspector/Inspector.idl:
4355         * inspector/InspectorProfilerAgent.cpp:
4356         (WebCore::InspectorProfilerAgent::getProfile):
4357         * inspector/front-end/HeapSnapshotView.js:
4358         (WebInspector.HeapSnapshotEdgesIterator):
4359         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
4360         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
4361         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
4362         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
4363         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
4364         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
4365         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
4366         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
4367         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
4368         (WebInspector.HeapSnapshotNodeWrapper):
4369         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
4370         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
4371         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
4372         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
4373         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
4374         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
4375         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
4376         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
4377         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
4378         (WebInspector.HeapSnapshot):
4379         (WebInspector.HeapSnapshot.prototype._init):
4380         (WebInspector.HeapSnapshot.prototype.get rootEdges):
4381         (WebInspector.HeapSnapshotView.prototype.snapshotLoaded):
4382         (WebInspector.HeapSnapshotView.prototype._loadProfile.processLoadedSnapshot):
4383         (WebInspector.HeapSnapshotView.prototype._loadProfile):
4384         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
4385         (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
4386         (WebInspector.HeapSnapshotView.prototype._prepareProfile):
4387         (WebInspector.HeapSnapshotView.prototype._sortData):
4388         * inspector/front-end/ProfilesPanel.js:
4389         (WebInspector.ProfilesPanel):
4390         (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
4391         (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
4392         * inspector/front-end/inspector.js:
4393         (WebInspector.addHeapSnapshotChunk):
4394         (WebInspector.finishHeapSnapshot):
4395
4396 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
4397
4398         Reviewed by Dave Hyatt.
4399
4400         layer()->currentTransform() is stale when layout changes the box size
4401         https://bugs.webkit.org/show_bug.cgi?id=50175
4402         
4403         RenderLayer::updateTransform() is fairly expensive, so we
4404         have to avoid calling it from RenderBox::applyLayerTransformToRect()
4405         every time. This requires that we update the layer's transform
4406         during layout, instead of from updateLayerPositions() which is too late.
4407         
4408         So call updateLayerTransform() from the various layout methods
4409         on renderers that can be transformed, and remove it from 
4410         updateLayerPositions().
4411
4412         Test: fast/overflow/overflow-update-transform.html
4413
4414         * rendering/RenderBlock.cpp:
4415         (WebCore::RenderBlock::layoutBlock):
4416         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
4417         * rendering/RenderBox.cpp:
4418         (WebCore::RenderBox::applyLayerTransformToRect):
4419         (WebCore::RenderBox::updateLayerTransform):
4420         * rendering/RenderBox.h:
4421         * rendering/RenderEmbeddedObject.cpp:
4422         (WebCore::RenderEmbeddedObject::layout):
4423         * rendering/RenderFlexibleBox.cpp:
4424         (WebCore::RenderFlexibleBox::layoutBlock):
4425         * rendering/RenderIFrame.cpp:
4426         (WebCore::RenderIFrame::layout):
4427         * rendering/RenderLayer.cpp:
4428         (WebCore::RenderLayer::updateLayerPositions):
4429         * rendering/RenderReplaced.cpp:
4430         (WebCore::RenderReplaced::layout):
4431         * rendering/RenderTable.cpp:
4432         (WebCore::RenderTable::layout):
4433
4434 2010-11-29  Chris Rogers  <crogers@google.com>
4435
4436         Reviewed by Kenneth Russell.
4437
4438         Add remaining custom JSC web audio bindings
4439         https://bugs.webkit.org/show_bug.cgi?id=50172
4440
4441         No new tests since audio API is not yet implemented.
4442
4443         * bindings/js/JSAudioBufferSourceNodeCustom.cpp: Added.
4444         (WebCore::JSAudioBufferSourceNode::setBuffer):
4445         * bindings/js/JSConvolverNodeCustom.cpp: Added.
4446         (WebCore::JSConvolverNode::setBuffer):
4447         * bindings/js/JSJavaScriptAudioNodeCustom.cpp: Added.
4448         (WebCore::JSJavaScriptAudioNode::markChildren):
4449         * webaudio/AudioBufferSourceNode.idl:
4450         * webaudio/ConvolverNode.idl:
4451
4452 2010-11-29  Yael Aharon  <yael.aharon@nokia.com>
4453
4454         Reviewed by Darin Adler.
4455
4456         HTMLFormElement.elements doesn't include fieldsets
4457         https://bugs.webkit.org/show_bug.cgi?id=48193
4458
4459         Add fieldset and keygen to the list of form collection elements, by making them enumeratable.
4460         This patch does not add object element to the list. A separate bug will do that.
4461
4462         Test: fast/forms/form-collection-elements.html
4463
4464         * html/HTMLFieldSetElement.h:
4465         (WebCore::HTMLFieldSetElement::isEnumeratable):
4466         * html/HTMLKeygenElement.h:
4467         (WebCore::HTMLKeygenElement::isEnumeratable):
4468
4469 2010-11-29  Xan Lopez  <xlopez@igalia.com>
4470
4471         Reviewed by Martin Robinson.
4472
4473         Get distcheck going.
4474
4475         * GNUmakefile.am:
4476
4477 2010-11-29  Alexey Proskuryakov  <ap@apple.com>
4478
4479         Reviewed by Darin Adler.
4480
4481         https://bugs.webkit.org/show_bug.cgi?id=50181
4482         CSS style declarations don't GC protect parents
4483
4484         Test: fast/dom/StyleSheet/gc-declaration-parent-rule.html
4485
4486         * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::markChildren):
4487         Protect the parent rule.
4488
4489 2010-11-29  Ilya Tikhonovsky  <loislo@chromium.org>
4490
4491         Reviewed by Pavel Feldman.
4492
4493         Web Inspector: UI fix. In Timeline, Paint events "Location" value is displayed
4494         in a confusing manner. The format string should be changed from %d x %d
4495         pattern to (%d, %d).
4496
4497         https://bugs.webkit.org/show_bug.cgi?id=50178
4498
4499         * English.lproj/localizedStrings.js:
4500         * inspector/front-end/TimelinePanel.js:
4501         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
4502
4503 2010-11-29  Darin Adler  <darin@apple.com>
4504
4505         Reviewed by Andreas Kling.
4506
4507         Remove a couple unneeded overflow checks
4508         https://bugs.webkit.org/show_bug.cgi?id=49816
4509
4510         * platform/text/TextCodecUTF16.cpp:
4511         (WebCore::TextCodecUTF16::encode): Use an ASSERT instead of
4512         an overflow check with CRASH.
4513
4514 2010-11-29  Tony Chang  <tony@chromium.org>
4515
4516         Unreviewed, disable warnings again on chromium linux
4517
4518         * WebCore.gyp/WebCore.gyp:
4519
4520 2010-11-29  Cosmin Truta  <ctruta@chromium.org>
4521
4522         Reviewed by Nikolas Zimmermann.
4523
4524         getBoundingClientRect: Do not truncate the coordinates to integers
4525         https://bugs.webkit.org/show_bug.cgi?id=48110
4526
4527         Remove the float-to-int coordinate conversions inside getBoundingClientRect,
4528         to comply with the CSSOM View Module API.
4529
4530         Tests: fast/dom/Element/getBoundingClientRect.html
4531                fast/dom/Range/getBoundingClientRect.html
4532                svg/zoom/page/zoom-getBoundingClientRect.xhtml
4533                svg/zoom/page/zoom-zoom-coords.xhtml
4534
4535         * dom/ClientRect.cpp:
4536         (WebCore::ClientRect::ClientRect): Added overload to allow a FloatRect argument.
4537         * dom/ClientRect.h:
4538         (WebCore::ClientRect::create): Ditto.
4539         * dom/Element.cpp:
4540         (Element::getBoundingClientRect): Removed conversion from FloatRect to IntRect.
4541         * dom/Range.cpp:
4542         (WebCore::Range::getBoundingClientRect): Ditto.
4543         * rendering/RenderObject.h:
4544         (adjustIntRectForAbsoluteZoom): Removed.
4545         (adjustFloatRectForAbsoluteZoom): Added.
4546         * rendering/style/RenderStyle.h:
4547         (adjustFloatForAbsoluteZoom): Added.
4548
4549 2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
4550
4551         Reviewed by Darin Adler.
4552
4553         Converge means of querying a parent node into one way, which is Node::parentNode.
4554         https://bugs.webkit.org/show_bug.cgi?id=49686
4555
4556         A follow-up to r72259, which explicitly forbids further use of Node::parent by
4557         making it private.
4558
4559         No change in behavior, so no new tests.
4560
4561         * dom/Document.cpp:
4562         (WebCore::Document::styleForElementIgnoringPendingStylesheets): Changed to use parentNode.
4563         (WebCore::Document::hoveredNodeDetached): Ditto.
4564         (WebCore::Document::activeChainNodeDetached): Ditto.
4565         * dom/Node.h: Made Node::parent private.
4566         * page/SpatialNavigation.cpp:
4567         (WebCore::canBeScrolledIntoView): Changed to use parentNode.
4568         * xml/XSLTProcessorQt.cpp:
4569         (WebCore::XSLTProcessor::transformToString): Ditto.
4570
4571 2010-11-29  Tony Chang  <tony@chromium.org>
4572
4573         Reviewed by James Robinson.
4574
4575         [chromium] try to enable WebCore compiler warnings on linux
4576         https://bugs.webkit.org/show_bug.cgi?id=50168
4577
4578         * WebCore.gyp/WebCore.gyp:
4579         * platform/graphics/chromium/FontLinux.cpp:
4580         (WebCore::TextRunWalker::setPadding):
4581         (WebCore::TextRunWalker::setGlyphXPositions):
4582         (WebCore::glyphIndexForXPositionInScriptRun):
4583
4584 2010-11-29  Alexey Proskuryakov  <ap@apple.com>
4585
4586         Reviewed by Darin Adler.
4587
4588         https://bugs.webkit.org/show_bug.cgi?id=50165
4589         CSS style rules don't GC protect parents
4590
4591         Tests: fast/dom/StyleSheet/gc-parent-rule.html
4592                fast/dom/StyleSheet/gc-parent-stylesheet.html
4593
4594         * bindings/js/JSCSSRuleCustom.cpp: (WebCore::JSCSSRule::markChildren): Mark parents. The code
4595         is super naive compared to what we have for nodes - but CSSOM has shallow hierarchies, so
4596         it should be OK.
4597
4598         * css/CSSRule.idl: Added CustomMarkFunction.
4599
4600 2010-11-29  Gavin Peters  <gavinp@chromium.org>
4601
4602         Reviewed by Adam Barth.
4603
4604         Web page can prevent WebKit from loading subresources on other
4605         pages (cache poisoning)
4606         https://bugs.webkit.org/show_bug.cgi?id=35404
4607
4608         Tests: http/tests/misc/unloadable-script.html
4609                loader/reload-subresource-when-type-changes.html
4610
4611         * loader/cache/MemoryCache.cpp:
4612         (WebCore::MemoryCache::requestResource):
4613
4614 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
4615
4616         Reviewed by Dan Bernstein.
4617
4618         Crash in WebCore::CSSStyleSelector::loadPendingImages
4619         https://bugs.webkit.org/show_bug.cgi?id=50149
4620         
4621         Null-check style->boxReflect() when loading pending style images.
4622
4623         Test: fast/reflections/pending-reflection-mask-crash.html
4624
4625         * css/CSSStyleSelector.cpp:
4626         (WebCore::CSSStyleSelector::loadPendingImages):
4627
4628 2010-11-29  Pavel Feldman  <pfeldman@chromium.org>
4629
4630         Reviewed by Yury Semikhatsky.
4631
4632         Web Inspector: crash upon inspecting user style sheet.
4633         https://bugs.webkit.org/show_bug.cgi?id=50109
4634
4635         * inspector/InspectorStyleSheet.cpp:
4636         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
4637
4638 2010-11-29  Patrick Gansterer  <paroga@webkit.org>
4639
4640         Reviewed by Adam Roben.
4641
4642         [WINCE] Implement WebCore::directoryName
4643         https://bugs.webkit.org/show_bug.cgi?id=50031
4644
4645         Also fix handling of paths without path separator.
4646
4647         * platform/wince/FileSystemWinCE.cpp:
4648         (WebCore::reverseFindPathSeparator):
4649         (WebCore::makeAllDirectories):
4650         (WebCore::pathGetFileName):
4651         (WebCore::directoryName):
4652
4653 2010-11-29  Patrick Gansterer  <paroga@webkit.org>
4654
4655         Reviewed by Adam Roben.
4656
4657         Simplify directoryName in FileSystemWin.cpp
4658         https://bugs.webkit.org/show_bug.cgi?id=50028
4659
4660         * platform/win/FileSystemWin.cpp:
4661         (WebCore::directoryName):
4662
4663 2010-11-24  Dimitri Glazkov  <dglazkov@chromium.org>
4664
4665         Reviewed by Darin Adler.
4666
4667         REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
4668         https://bugs.webkit.org/show_bug.cgi?id=49868
4669
4670         The problem here was that the inner text element of search input was first laid out as
4671         disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
4672         if it's enabled.
4673
4674         Test: fast/forms/disabled-search-input.html
4675
4676         * rendering/RenderBlock.cpp:
4677         (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
4678         * rendering/TextControlInnerElements.cpp:
4679         (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
4680             an empty inner text element is always one-line high.
4681
4682 2010-11-29  W. James MacLean  <wjmaclean@chromium.org>
4683
4684        Reviewed by Dirk Schulze.
4685
4686        Large input numbers cause overflow during SVG parsing, leading to crash
4687        https://bugs.webkit.org/show_bug.cgi?id=49546
4688
4689        Values outside the range supported by float lead to Infinity() or NaN()
4690        during parsing, leading to subsequent crashes. Modified
4691        parser to verify number is in the supported range, and return false if not.
4692
4693        Tests: svg/custom/svg-parse-overflow-1.html
4694               svg/custom/svg-parse-overflow-2.html
4695               svg/custom/svg-parse-overflow-3.html
4696               svg/custom/svg-parse-overflow-4.html
4697               svg/custom/svg-parse-overflow-5.html
4698
4699        * svg/SVGParserUtilities.cpp:
4700        (WebCore::isValidRange):
4701        (WebCore::genericParseNumber):
4702
4703 2010-11-29  Yury Semikhatsky  <yurys@chromium.org>
4704
4705         Reviewed by Pavel Feldman.
4706
4707         Web Inspector: display name of an object constructor as the object's type
4708         https://bugs.webkit.org/show_bug.cgi?id=50063
4709
4710         Name of the function that has created given object is used as the object's
4711         type when it's displayed in the inspector front-end(in case of V8). Before
4712         this change, it was always a value of the object's constructor.name property
4713         which is confusing in some cases(see the test).
4714
4715         Removed check for jsEngine from the InjectedScript.js, all VM-specific code
4716         is now encapsulated on the bindings layer.
4717
4718         Test: inspector/console-object-constructor-name.html
4719
4720         * bindings/js/JSInjectedScriptHostCustom.cpp:
4721         (WebCore::InjectedScriptHost::createInjectedScript):
4722         (WebCore::JSInjectedScriptHost::constructorName):
4723         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4724         (WebCore::InjectedScriptHost::createInjectedScript):
4725         (WebCore::V8InjectedScriptHost::constructorNameCallback):
4726         * inspector/InjectedScriptHost.idl:
4727         * inspector/front-end/InjectedScript.js:
4728         (injectedScriptConstructor.):
4729
4730 2010-11-29  Jeremy Moskovich  <jeremy@chromium.org>
4731
4732         Reviewed by Eric Seidel.
4733
4734         https://bugs.webkit.org/show_bug.cgi?id=24346
4735
4736         Remove temporary workaround to load Gears plugin.
4737
4738         * html/HTMLObjectElement.cpp:
4739         (WebCore::HTMLObjectElement::rendererIsNeeded):
4740
4741 2010-11-29  Yael Aharon  <yael.aharon@nokia.com>
4742
4743         Reviewed by Antonio Gomes.
4744
4745         Spatial Navigation: Store more information in FocusCandidate
4746         https://bugs.webkit.org/show_bug.cgi?id=50153
4747
4748         More information should be stored in FocusCandidate, to avoid
4749         recalculating it when running the spatial navigation algorithm.
4750
4751         No new tests, since this is code refactoring only.
4752
4753         * page/FocusController.cpp:
4754         (WebCore::updateFocusCandidateIfNeeded):
4755         (WebCore::FocusController::findFocusCandidateInContainer):
4756         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
4757         * page/SpatialNavigation.cpp:
4758         (WebCore::FocusCandidate::FocusCandidate):
4759         (WebCore::canBeScrolledIntoView):
4760         * page/SpatialNavigation.h:
4761         (WebCore::FocusCandidate::FocusCandidate):
4762
4763 2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
4764
4765         Reviewed by Darin Adler.
4766
4767         Use the right focusable check to avoid multiple focus/blur events being fired from inside of the shadow DOM.
4768         https://bugs.webkit.org/show_bug.cgi?id=49977
4769
4770         * editing/SelectionController.cpp:
4771         (WebCore::SelectionController::setFocusedNodeIfNeeded): Added a FIXME to remove redundant code.
4772         * page/EventHandler.cpp:
4773         (WebCore::EventHandler::dispatchMouseEvent): Changed to use isMouseFocusable, which is what shadow DOM elements
4774             override, and added a FIXME to convert to use shadow DOM-aware traversal instead of render tree traversal.
4775
4776         Test: fast/events/shadow-boundary-crossing-2.html
4777
4778 2010-11-29  Adam Roben  <aroben@apple.com>
4779
4780         Windows build fix after r72715
4781
4782         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag to fix an
4783         XML syntax error.
4784
4785 2010-11-29  Bernhard Bauer  <bauerb@chromium.org>
4786
4787         Reviewed by Jeremy Orlow.
4788
4789         Remove databaseFileName from IDBFactoryBackendImpl
4790         https://bugs.webkit.org/show_bug.cgi?id=50150
4791
4792         No new tests, since functionality is unchanged.
4793
4794         * storage/IDBFactoryBackendImpl.cpp:
4795         (WebCore::openSQLiteDatabase):
4796         * storage/IDBFactoryBackendImpl.h:
4797
4798 2010-11-29  Philippe Normand  <pnormand@igalia.com>
4799
4800         Reviewed by Xan Lopez.
4801
4802         [GStreamer] take video sink ownership with gst_object API
4803         https://bugs.webkit.org/show_bug.cgi?id=49011
4804
4805         Use gst_object_ref_sink instead of g_object_ref_sink to avoid
4806         possible leaks.
4807
4808         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
4809         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
4810
4811 2010-11-29  Jan Erik Hanssen  <jhanssen@sencha.com>
4812
4813         Reviewed by Kenneth Rohde Christiansen.
4814
4815         QtWebKit asserts when selecting elided text.
4816         https://bugs.webkit.org/show_bug.cgi?id=45391
4817
4818         Ensure that the length passed to fromRawDataWithoutRef() does
4819         not exceed the length of the string.
4820
4821         * platform/graphics/qt/FontQt.cpp:
4822         (WebCore::Font::selectionRectForSimpleText):
4823
4824 2010-11-26  Alexander Pavlov  <apavlov@chromium.org>
4825
4826         Reviewed by Pavel Feldman.
4827
4828         Web Inspector: Styles Gear Menu Choice to Display Colors "As Authored"
4829         https://bugs.webkit.org/show_bug.cgi?id=31614
4830
4831         * English.lproj/localizedStrings.js:
4832         * inspector/front-end/Color.js:
4833         (WebInspector.Color.prototype.toString):
4834         (WebInspector.Color.prototype._parse.this.rgba.set 0):
4835         (WebInspector.Color.prototype._parse.set WebInspector):
4836         (WebInspector.Color.prototype._parse):
4837         * inspector/front-end/StylesSidebarPane.js:
4838         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.nextFormat):
4839         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
4840
4841 2010-11-29  Helder Correia  <helder@sencha.com>
4842
4843         Reviewed by Kenneth Rohde Christiansen.
4844
4845         [Qt] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
4846         https://bugs.webkit.org/show_bug.cgi?id=50141
4847
4848         Don't apply scaling transformation to shadow offsets.
4849
4850         Test: fast/canvas/canvas-scale-fillRect-shadow.html
4851
4852         * platform/graphics/ContextShadow.h:
4853         * platform/graphics/qt/ContextShadowQt.cpp:
4854         (WebCore::ContextShadow::beginShadowLayer):
4855         (WebCore::ContextShadow::endShadowLayer):
4856         * platform/graphics/qt/GraphicsContextQt.cpp:
4857         (WebCore::GraphicsContext::fillRect):
4858
4859 2010-11-28  Dimitri Glazkov  <dglazkov@chromium.org>
4860
4861         Reviewed by Darin Adler.
4862
4863         Default event handlers should also be using event retargeting.
4864         https://bugs.webkit.org/show_bug.cgi?id=49986
4865
4866         Test: fast/events/shadow-boundary-crossing-2.html
4867
4868         * dom/EventContext.cpp:
4869         (WebCore::EventContext::defaultEventHandler): Added.
4870         * dom/EventContext.h: Added decl.
4871         * dom/Node.cpp:
4872         (WebCore::Node::dispatchGenericEvent): Changed to use event retargeting for
4873             default event handlers.
4874
4875 2010-11-23  MORITA Hajime  <morrita@google.com>
4876
4877         Reviewed by Kent Tamura.
4878
4879         REGRESSION: Text on <input type="search"> is not spellchecked.
4880         https://bugs.webkit.org/show_bug.cgi?id=49651
4881
4882         TextControlInnerElement::isSpellCheckingEnabled() didn't consider 
4883         non-root shadow elelements and always went false for <input type="search>.
4884         This change unifies shadow and host handling into Element::isSpellCheckingEnabled().
4885         
4886         Test: editing/spelling/spellcheck-attribute.html
4887         
4888         * dom/Element.cpp:
4889         (WebCore::Element::isSpellCheckingEnabled):
4890         * rendering/TextControlInnerElements.cpp:
4891         * rendering/TextControlInnerElements.h:
4892
4893 2010-11-28  Antonio Gomes  <agomes@rim.com>
4894
4895         Reviewed by Kenneth Rohde Christiansen.
4896
4897         Spatial Navigation: use isSpatialNaviagtionEnabled from SpatialNavigation.h in HTMLInputElement::defaultEventHandler
4898         https://bugs.webkit.org/show_bug.cgi?id=50131
4899
4900         For all isSpatialNavigationEnabled calls throughout WebCore, we decided to use the static method in
4901         SpatialNavigation.h instead of directly checking from the one in Settings.h. Reason: in a soon future,
4902         there  will be a isCaretBrowsing check incorporated into this method (and probably renaming it accordingly)
4903         to avoid feature conflicts (spatial navigation x caret browsing).
4904
4905         No new tests needed.
4906
4907         * html/HTMLInputElement.cpp:
4908         (WebCore::HTMLInputElement::defaultEventHandler):
4909
4910 2010-11-27  Benjamin Kalman  <kalman@chromium.org>
4911
4912         Reviewed by Darin Adler.
4913
4914         Move Position::EditingBoundaryCrossingRule to a new header file
4915         https://bugs.webkit.org/show_bug.cgi?id=49630
4916
4917         * GNUmakefile.am:
4918         * WebCore.exp.in:
4919         * WebCore.gypi:
4920         * WebCore.pro:
4921         * WebCore.vcproj/WebCore.vcproj:
4922         * WebCore.xcodeproj/project.pbxproj:
4923         * dom/Position.cpp:
4924         (WebCore::downstreamIgnoringEditingBoundaries):
4925         (WebCore::upstreamIgnoringEditingBoundaries):
4926         * dom/Position.h:
4927         * editing/DeleteSelectionCommand.cpp:
4928         (WebCore::DeleteSelectionCommand::doApply):
4929         * editing/EditingBoundary.h: Added.
4930         * editing/visible_units.cpp:
4931         (WebCore::startOfParagraph):
4932         (WebCore::endOfParagraph):
4933         (WebCore::isStartOfParagraph):
4934         (WebCore::isEndOfParagraph):
4935         * editing/visible_units.h:
4936         * rendering/RenderObject.cpp:
4937         (WebCore::RenderObject::createVisiblePosition):
4938
4939 2010-11-26  Rob Buis  <rwlbuis@gmail.com>
4940
4941         Reviewed by Simon Fraser.
4942
4943         Percentage z offset in transform-origin should make the property invalid
4944         https://bugs.webkit.org/show_bug.cgi?id=48704
4945
4946         Discard transform-origin property when parsing invalid Z value.
4947
4948         Test: fast/css/transform-origin-parsing.html
4949
4950         * css/CSSParser.cpp:
4951         (WebCore::CSSParser::parseTransformOriginShorthand):
4952         (WebCore::CSSParser::parseTransformOrigin):
4953         * css/CSSParser.h:
4954
4955 2010-11-26  Dan Bernstein  <mitz@apple.com>
4956
4957         Reviewed by Antti Koivisto.
4958
4959         <rdar://problem/8681368> Avoid unnecessary calls to CTFontGetPlatformFont()
4960         https://bugs.webkit.org/show_bug.cgi?id=50096
4961
4962         No new test, since functionality is unchanged.
4963
4964         * platform/graphics/chromium/CrossProcessFontLoading.mm:
4965         (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
4966         * platform/graphics/cocoa/FontPlatformData.h:
4967         (WebCore::FontPlatformData::FontPlatformData): Ditto.
4968         (WebCore::FontPlatformData::operator==): Removed comparison of font IDs.
4969         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
4970         (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
4971         (WebCore::FontPlatformData::FontPlatformData): Updated.
4972         (WebCore::FontPlatformData::operator=): Removed copying of font ID.
4973         (WebCore::FontPlatformData::setFont): Removed setting of font ID.
4974         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
4975         (WebCore::initializeATSUStyle): Call CTFontGetPlatformFont() here if necessary.
4976         * platform/graphics/mac/FontCustomPlatformData.cpp:
4977         (WebCore::FontCustomPlatformData::fontPlatformData): Updated for FontPlatformData change.
4978         (WebCore::createFontCustomPlatformData): Updated for FontCustomPlatformData change.
4979         * platform/graphics/mac/FontCustomPlatformData.h:
4980         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed ATSUFontID argument and
4981         data member.
4982         * platform/graphics/mac/SimpleFontDataATSUI.mm:
4983         (WebCore::SimpleFontData::checkShapesArabic): Call CTFontGetPlatformFont() here if necessary.
4984
4985 2010-11-26  François Sausset  <sausset@gmail.com>
4986
4987         Reviewed by Daniel Bates.
4988
4989         MathML: code cleaning needed in MathMLInlineContainerElement.cpp
4990         https://bugs.webkit.org/show_bug.cgi?id=50069
4991
4992         Unnecessary namespace was removed and style was adjusted.
4993
4994         * mathml/MathMLInlineContainerElement.cpp:
4995         (WebCore::MathMLInlineContainerElement::createRenderer):
4996
4997 2010-11-26  Andrei Popescu  <andreip@google.com>
4998
4999         Reviewed by Jeremy Orlow.
5000
5001         IDBDatabase and IDBObjectStore remove* methods should be renamed to delete*
5002         https://bugs.webkit.org/show_bug.cgi?id=50113
5003
5004         Modified exisiting layout tests to cover this change.
5005
5006         * storage/IDBDatabase.cpp:
5007         (WebCore::IDBDatabase::deleteObjectStore):
5008         * storage/IDBDatabase.h:
5009         * storage/IDBDatabase.idl:
5010         * storage/IDBDatabaseBackendImpl.cpp:
5011         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
5012         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
5013         * storage/IDBDatabaseBackendImpl.h:
5014         * storage/IDBDatabaseBackendInterface.h:
5015         * storage/IDBObjectStore.cpp:
5016         (WebCore::IDBObjectStore::deleteFunction):
5017         (WebCore::IDBObjectStore::deleteIndex):
5018         * storage/IDBObjectStore.h:
5019         * storage/IDBObjectStore.idl:
5020         * storage/IDBObjectStoreBackendImpl.cpp:
5021         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
5022         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
5023         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
5024         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
5025         * storage/IDBObjectStoreBackendImpl.h:
5026         * storage/IDBObjectStoreBackendInterface.h:
5027
5028 2010-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
5029
5030         Unreviewed, rolling out r72701.
5031         http://trac.webkit.org/changeset/72701
5032         https://bugs.webkit.org/show_bug.cgi?id=50114
5033
5034         REGRESSION: bad transform matrix on content layer (Requested
5035         by backer on #webkit).
5036
5037         * WebCore.gypi:
5038         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
5039         (WebCore::Canvas2DLayerChromium::updateContents):
5040         * platform/graphics/chromium/Canvas2DLayerChromium.h:
5041         * platform/graphics/chromium/ContentLayerChromium.cpp:
5042         (WebCore::ContentLayerChromium::cleanupResources):
5043         (WebCore::ContentLayerChromium::updateContents):
5044         (WebCore::ContentLayerChromium::updateTextureRect):
5045         (WebCore::ContentLayerChromium::draw):
5046         * platform/graphics/chromium/ContentLayerChromium.h:
5047         * platform/graphics/chromium/ImageLayerChromium.cpp:
5048         (WebCore::ImageLayerChromium::updateContents):
5049         * platform/graphics/chromium/ImageLayerChromium.h:
5050         * platform/graphics/chromium/LayerChromium.h:
5051         (WebCore::LayerChromium::contentsDirty):
5052         (WebCore::LayerChromium::updateContents):
5053         (WebCore::LayerChromium::draw):
5054         * platform/graphics/chromium/LayerRendererChromium.cpp:
5055         (WebCore::LayerRendererChromium::LayerRendererChromium):
5056         (WebCore::LayerRendererChromium::prepareToDrawLayers):
5057         (WebCore::LayerRendererChromium::drawLayers):
5058         (WebCore::LayerRendererChromium::updateLayersRecursive):
5059         (WebCore::LayerRendererChromium::useRenderSurface):
5060         (WebCore::LayerRendererChromium::drawLayer):
5061         (WebCore::LayerRendererChromium::initializeSharedObjects):
5062         (WebCore::LayerRendererChromium::cleanupSharedObjects):
5063         * platform/graphics/chromium/LayerRendererChromium.h:
5064         * platform/graphics/chromium/LayerTexture.cpp: Removed.
5065         * platform/graphics/chromium/LayerTexture.h: Removed.
5066         * platform/graphics/chromium/PluginLayerChromium.cpp:
5067         (WebCore::PluginLayerChromium::updateContents):
5068         * platform/graphics/chromium/PluginLayerChromium.h:
5069         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
5070         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
5071         (WebCore::RenderSurfaceChromium::cleanupResources):
5072         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
5073         * platform/graphics/chromium/RenderSurfaceChromium.h:
5074         * platform/graphics/chromium/TextureManager.cpp: Removed.
5075         * platform/graphics/chromium/TextureManager.h: Removed.
5076         * platform/graphics/chromium/VideoLayerChromium.cpp:
5077         (WebCore::VideoLayerChromium::updateContents):
5078         * platform/graphics/chromium/VideoLayerChromium.h:
5079         * platform/graphics/chromium/WebGLLayerChromium.cpp:
5080         (WebCore::WebGLLayerChromium::updateContents):
5081         * platform/graphics/chromium/WebGLLayerChromium.h:
5082
5083 2010-11-26  Jeremy Orlow  <jorlow@chromium.org>
5084
5085         Unreviewed build fix.
5086
5087         * storage/IDBIndex.cpp:
5088         (WebCore::IDBIndex::openCursor):
5089         (WebCore::IDBIndex::openKeyCursor):
5090         * storage/IDBObjectStore.cpp:
5091         (WebCore::IDBObjectStore::openCursor):
5092
5093 2010-11-26  Sergio Villar Senin  <svillar@igalia.com>
5094
5095         Reviewed by Xan Lopez.
5096
5097         [GTK] SoupCache should not ignore loader's conditional requests
5098         https://bugs.webkit.org/show_bug.cgi?id=50101
5099
5100         SoupCache must not handle WebKit loader conditional requests and
5101         thus should never return its own cached response if any. This was
5102         causing frequent resource load failures as WebCore was trying to
5103         revalidate its own resources and was not getting any expected
5104         result.
5105
5106         * platform/network/soup/cache/webkit/soup-cache.c:
5107         (webkit_soup_cache_has_response): check the presence of
5108         conditional request headers when deciding whether the cache has a
5109         valid response for a given request.
5110
5111 2010-11-26  Jeremy Orlow  <jorlow@chromium.org>
5112
5113         Reviewed by Steve Block.
5114
5115         Make IDBKeyRange match the spec
5116         https://bugs.webkit.org/show_bug.cgi?id=50105
5117
5118         Remove flags and instead add two booleans for being open.
5119         Change left to lower and right to upper everywhere.
5120
5121         * storage/IDBIndexBackendImpl.cpp:
5122         (WebCore::IDBIndexBackendImpl::openCursorInternal):
5123         * storage/IDBKey.cpp:
5124         (WebCore::IDBKey::lowerCursorWhereFragment):
5125         (WebCore::IDBKey::upperCursorWhereFragment):
5126         * storage/IDBKey.h:
5127         * storage/IDBKeyRange.cpp:
5128         (WebCore::IDBKeyRange::IDBKeyRange):
5129         (WebCore::IDBKeyRange::only):
5130         (WebCore::IDBKeyRange::lowerBound):
5131         (WebCore::IDBKeyRange::upperBound):
5132         (WebCore::IDBKeyRange::bound):
5133         (WebCore::IDBKeyRange::lowerWhereClauseComparisonOperator):
5134         (WebCore::IDBKeyRange::upperWhereClauseComparisonOperator):
5135         * storage/IDBKeyRange.h:
5136         (WebCore::IDBKeyRange::create):
5137         (WebCore::IDBKeyRange::lower):
5138         (WebCore::IDBKeyRange::upper):
5139         (WebCore::IDBKeyRange::lowerOpen):
5140         (WebCore::IDBKeyRange::upperOpen):
5141         * storage/IDBKeyRange.idl:
5142         * storage/IDBObjectStoreBackendImpl.cpp:
5143         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
5144
5145 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
5146
5147         Reviewed by Steve Block.
5148
5149         Convert open*Cursor and createIndex over to using OptionsObject
5150         https://bugs.webkit.org/show_bug.cgi?id=50093
5151
5152         Add IDBKeyRange to OptionsObject's parsing abilities. Switch
5153         more APIs over to using it.
5154
5155         * bindings/v8/OptionsObject.cpp:
5156         (WebCore::OptionsObject::getKeyDOMStringList):
5157         (WebCore::OptionsObject::getKeyKeyRange):
5158         * bindings/v8/OptionsObject.h:
5159         * storage/IDBIndex.cpp:
5160         (WebCore::IDBIndex::openCursor):
5161         (WebCore::IDBIndex::openKeyCursor):
5162         * storage/IDBIndex.h:
5163         (WebCore::IDBIndex::openCursor):
5164         (WebCore::IDBIndex::openKeyCursor):
5165         * storage/IDBIndex.idl:
5166         * storage/IDBObjectStore.cpp:
5167         (WebCore::IDBObjectStore::createIndex):
5168         (WebCore::IDBObjectStore::openCursor):
5169         * storage/IDBObjectStore.h:
5170         (WebCore::IDBObjectStore::createIndex):
5171         (WebCore::IDBObjectStore::openCursor):
5172         * storage/IDBObjectStore.idl:
5173
5174 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
5175
5176         Reviewed by Steve Block.
5177
5178         Clean up IDBDatabase.transaction and add checks to IDBTransaction.objectStore
5179         https://bugs.webkit.org/show_bug.cgi?id=50081
5180
5181         IDBDatabase.transaction should use the new optional OptionsObject way
5182         of taking optional paramters. Modify that object to get numbers and
5183         domStringLists from it. Verify that any requested resources exist and
5184         return an exception if not.
5185
5186         When IDBTransaction.objectStore is called, verify that it's one of the
5187         requested resources. Also verify that it still exists. Plumb the
5188         exception code to make this work.
5189
5190         Tests: storage/indexeddb/create-and-remove-object-store.html
5191                storage/indexeddb/transaction-and-objectstore-calls.html
5192
5193         * bindings/v8/OptionsObject.cpp:
5194         (WebCore::OptionsObject::getKeyInteger):
5195         (WebCore::OptionsObject::getKeyString):
5196         (WebCore::OptionsObject::getKeyDOMStringList):
5197         * bindings/v8/OptionsObject.h:
5198         * storage/IDBDatabase.cpp:
5199         (WebCore::IDBDatabase::createObjectStore):
5200         (WebCore::IDBDatabase::transaction):
5201         * storage/IDBDatabase.h:
5202         (WebCore::IDBDatabase::transaction):
5203         * storage/IDBDatabase.idl:
5204         * storage/IDBDatabaseBackendImpl.cpp:
5205         (WebCore::IDBDatabaseBackendImpl::transaction):
5206         * storage/IDBTransaction.cpp:
5207         (WebCore::IDBTransaction::objectStore):
5208         * storage/IDBTransactionBackendImpl.cpp:
5209         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
5210         (WebCore::IDBTransactionBackendImpl::objectStore):
5211         * storage/IDBTransactionBackendImpl.h:
5212         * storage/IDBTransactionBackendInterface.h:
5213
5214 2010-11-26  Mario Sanchez Prada  <msanchez@igalia.com>
5215
5216         Reviewed by Xan Lopez.
5217
5218         [GTK] events missing when a document is (re)loaded
5219         https://bugs.webkit.org/show_bug.cgi?id=25831
5220
5221         Make sure webArea returns a proper name and that a signal
5222         'state-change::defunct' is emitted when detaching the wrapper.
5223
5224         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5225         (webkit_accessible_get_name): Returns the current document's title
5226         as fallback mechanism for webArea objects.
5227         (webkit_accessible_detach): Emit 'state-change::defunct' function
5228         as soon as the wrapper is detached from the related core object.
5229
5230 2010-11-26  Sergio Villar Senin  <svillar@igalia.com>
5231
5232         Reviewed by Xan Lopez.
5233
5234         [Gtk] ASSERT(d->m_response.isNull()) in contentSniffedCallback
5235         https://bugs.webkit.org/show_bug.cgi?id=50083
5236
5237         ResourceHandleSoup should not listen to content-sniffed signal
5238         when content sniffing is not enabled. This will prevent us
5239         reaching an assertion on content-sniffed callback
5240
5241         * platform/network/soup/ResourceHandleSoup.cpp:
5242         (WebCore::startHttp):
5243         * platform/network/soup/cache/soup-request-http.c:
5244         (conditional_get_ready_cb): added a comment with the
5245         possible fix for a pure libsoup HTTP cache.
5246         (send_async_cb): prevent an early object finalization adding a
5247         reference.
5248         (webkit_soup_request_http_send_async): Ditto.
5249
5250 2010-11-26  Renata Hodovan  <reni@inf.u-szeged.hu>
5251
5252         Reviewed by Antonio Gomes.
5253
5254         [Qt] Remove empty ScrollView::platformInit/platformDestroy
5255         https://bugs.webkit.org/show_bug.cgi?id=50079
5256
5257         No new test is needed.
5258
5259         * platform/ScrollView.cpp:
5260         (WebCore::ScrollView::wheelEvent):
5261         * platform/qt/ScrollViewQt.cpp:
5262
5263 2010-11-26  Pavel Feldman  <pfeldman@chromium.org>
5264
5265         Not reviewed. Fixing inspector tests.
5266
5267         * inspector/front-end/Resource.js:
5268         (WebInspector.Resource.prototype.set timing):
5269
5270 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
5271
5272         Reviewed by Yury Semikhatsky.
5273
5274         Web Inspector: UI polish for Network and Resources panels.
5275         https://bugs.webkit.org/show_bug.cgi?id=50100
5276
5277         - Fixed timing inconsistencies
5278         - Made grid user-selectable
5279         - Selection in network panel is made on name column only
5280
5281         * inspector/front-end/NetworkPanel.js:
5282         (WebInspector.NetworkPanel):
5283         (WebInspector.NetworkPanel.prototype._toggleGridMode):
5284         (WebInspector.NetworkDataGridNode.prototype.createCells):
5285         (WebInspector.NetworkDataGridNode.prototype.select):
5286         (WebInspector.NetworkDataGridNode.prototype.get selectable):
5287         (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
5288         (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
5289         (WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
5290         * inspector/front-end/Popover.js:
5291         (WebInspector.PopoverHelper):
5292         (WebInspector.PopoverHelper.prototype.setTimeout):
5293         (WebInspector.PopoverHelper.prototype._mouseMove):
5294         (WebInspector.PopoverHelper.prototype._handleMouseAction):
5295         * inspector/front-end/Resource.js:
5296         (WebInspector.Resource.prototype.get responseReceivedTime):
5297         (WebInspector.Resource.prototype.set endTime):
5298         (WebInspector.Resource.prototype.set timing):
5299         * inspector/front-end/ResourceManager.js:
5300         (WebInspector.ResourceManager.prototype.didReceiveResponse):
5301         (WebInspector.ResourceManager.prototype.didFinishLoading):
5302         * inspector/front-end/ResourcesPanel.js:
5303         (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
5304         * inspector/front-end/networkPanel.css:
5305         (.network-sidebar .data-grid td:not(.network-summary)):
5306         (.network-sidebar .data-grid td.name-column):
5307         (.network.panel:not(.viewing-resource) .network-sidebar td.name-column:hover):
5308         (.network-timing-row):
5309         (.network-timing-bar):
5310         (.network-timing-bar-title):
5311         (.resource-timing-view):
5312
5313 2010-11-26  Helder Correia  <helder@sencha.com>
5314
5315         Reviewed by Ariya Hidayat.
5316
5317         [Qt] Blur shadow for rectangle fill
5318         https://bugs.webkit.org/show_bug.cgi?id=44488
5319
5320         Shadow color opacity needs to be set when blurring shadow with
5321         ContextShadow.
5322
5323         Test: fast/canvas/canvas-fillRect-shadow.html
5324
5325         * platform/graphics/qt/GraphicsContextQt.cpp:
5326         (WebCore::GraphicsContext::fillRect):
5327
5328 2010-11-26  Hans Wennborg  <hans@chromium.org>
5329
5330         Reviewed by Jeremy Orlow.
5331
5332         IndexedDB: Rename IDBDatabase.objectStores to objectStoreNames
5333         https://bugs.webkit.org/show_bug.cgi?id=50102
5334
5335         Rename as per the spec: http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
5336
5337         * manual-tests/indexeddb-persists.html:
5338         * storage/IDBDatabase.h:
5339         (WebCore::IDBDatabase::objectStoreNames):
5340         * storage/IDBDatabase.idl:
5341         * storage/IDBDatabaseBackendImpl.cpp:
5342         (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
5343         (WebCore::IDBDatabaseBackendImpl::setVersion):
5344         (WebCore::IDBDatabaseBackendImpl::transaction):
5345         * storage/IDBDatabaseBackendImpl.h:
5346         * storage/IDBDatabaseBackendInterface.h:
5347
5348 2010-11-26  Andrei Popescu  <andreip@google.com>
5349
5350         Reviewed by Jeremy Orlow.
5351
5352         IDBFactory::open should not have a description argument.
5353         https://bugs.webkit.org/show_bug.cgi?id=50087
5354
5355         Modified exisiting tests to cover this change.
5356
5357         * storage/IDBDatabaseBackendImpl.cpp:
5358         (WebCore::setMetaData):
5359         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
5360         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
5361         * storage/IDBDatabaseBackendImpl.h:
5362         (WebCore::IDBDatabaseBackendImpl::create):
5363         * storage/IDBDatabaseBackendInterface.h:
5364         * storage/IDBFactory.cpp:
5365         (WebCore::IDBFactory::open):
5366         * storage/IDBFactory.h:
5367         * storage/IDBFactory.idl:
5368         * storage/IDBFactoryBackendImpl.cpp:
5369         (WebCore::IDBFactoryBackendImpl::open):
5370         * storage/IDBFactoryBackendImpl.h:
5371         * storage/IDBFactoryBackendInterface.h:
5372
5373 2010-11-25  Kenichi Ishibashi  <bashi@google.com>
5374
5375         Reviewed by Kent Tamura.
5376
5377         Assertion failure by resetting <output> twice
5378         https://bugs.webkit.org/show_bug.cgi?id=50095
5379
5380         Don't call setTextContentInternal() when the value wouldn't
5381         be changed.
5382
5383         Test: fast/forms/output-reset-assertion-failed.html
5384
5385         * html/HTMLOutputElement.cpp:
5386         (WebCore::HTMLOutputElement::HTMLOutputElement): Calls
5387         setTextContentInternal() if and only if needed.
5388         (WebCore::HTMLOutputElement::reset): Ditto.
5389         (WebCore::HTMLOutputElement::setValue): Ditto.
5390         (WebCore::HTMLOutputElement::setDefaultValue): Ditto.
5391
5392 2010-11-24  Ryosuke Niwa  <rniwa@webkit.org>
5393
5394         Crash when moving caret around a word with a first-letter rule and whitespace is not collapsible.
5395         https://bugs.webkit.org/show_bug.cgi?id=49652
5396
5397         Fixed the crash by giving the correct end offset to emitText in handleTextNode.
5398
5399         This patch does not fix a bug in TextIterator that incorrectly calculates
5400         the end offset of a word with a first-letter rule as demonstrated in the layout test
5401         because fixing the bug requires an overhaul of TextIterator and new behavior is consistent
5402         with the case when whitespace is collapsible.
5403
5404         Test: editing/text-iterator/first-letter-word-boundary.html
5405
5406         * editing/TextIterator.cpp:
5407         (WebCore::TextIterator::handleTextNode):
5408
5409 2010-11-25  Mike Lawther  <mikelawther@chromium.org>
5410
5411         Reviewed by Kent Tamura.
5412
5413         Fix typos in CSS grammar (HERZ -> HERTZ)
5414         https://bugs.webkit.org/show_bug.cgi?id=50094
5415
5416         * css/CSSGrammar.y:
5417         * css/CSSParser.cpp:
5418         (WebCore::CSSParser::lex):
5419         * css/tokenizer.flex:
5420
5421 2010-11-25  Antti Koivisto  <antti@apple.com>
5422
5423         Reviewed by Dan Bernstein.
5424
5425         https://bugs.webkit.org/show_bug.cgi?id=50078
5426         Simplify CachedResource error handling code by getting rid of the m_httpStatusCodeErrorOccurred boolean.
5427
5428         * loader/cache/CachedImage.cpp:
5429         (WebCore::CachedImage::CachedImage):
5430         * loader/cache/CachedImage.h:
5431         (WebCore::CachedImage::shouldIgnoreHTTPStatusCodeErrors):
5432         * loader/cache/CachedResource.h:
5433         (WebCore::CachedResource::shouldIgnoreHTTPStatusCodeErrors):
5434         (WebCore::CachedResource::httpStatusCodeErrorOccurred):
5435         * loader/loader.cpp:
5436         (WebCore::Loader::didReceiveData):
5437
5438 2010-11-25  Andreas Kling  <kling@webkit.org>
5439
5440         Reviewed by Tor Arne Vestbø.
5441
5442         [Qt] Remove unnecessary save/restore in GraphicsContext::drawConvexPolygon()
5443         https://bugs.webkit.org/show_bug.cgi?id=50085
5444
5445         * platform/graphics/qt/GraphicsContextQt.cpp:
5446         (WebCore::GraphicsContext::drawConvexPolygon):
5447         Remember the previous antialiasing mode and reset it after we're done.
5448
5449 2010-11-25  Ben Murdoch  <benm@google.com>
5450
5451         Reviewed by Steve Block.
5452
5453         Potential crash in JavaClassV8.cpp
5454         https://bugs.webkit.org/show_bug.cgi?id=50016
5455
5456         It is possible that we attempt to free uninitialised
5457         memory in the JavaClass destrctor when using V8 in the
5458         case that the JVM could not find the class in the constructor.
5459
5460         It turns out that the troublesome m_name is not acutally
5461         used anywhere, so we remove it in this patch.
5462
5463         No new tests, just removing dead code.
5464
5465         * bridge/jni/v8/JavaClassV8.cpp: Remove unused m_name.
5466         * bridge/jni/v8/JavaClassV8.h: Ditto.
5467
5468 2010-11-25  Hans Wennborg  <hans@chromium.org>
5469
5470         Reviewed by Jeremy Orlow.
5471
5472         IndexedDB: Better errors for not yet implemented features
5473         https://bugs.webkit.org/show_bug.cgi?id=50075
5474
5475         Raise an exception if createObjectStore is called with autoIncrement
5476         set to true.
5477
5478         Be a little bit more explicit in IDBBindingUtilities that we don't
5479         allow using Date objects as keys yet.
5480
5481         * bindings/v8/IDBBindingUtilities.cpp:
5482         (WebCore::createIDBKeyFromValue):
5483         * storage/IDBDatabase.cpp:
5484         (WebCore::IDBDatabase::createObjectStore):
5485         * storage/IDBObjectStoreBackendImpl.cpp:
5486         (WebCore::IDBObjectStoreBackendImpl::putInternal):
5487
5488 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
5489
5490         Reviewed by Yury Semikhatsky.
5491
5492         Web Inspector: highlight diffs of revisions against base version.
5493         https://bugs.webkit.org/show_bug.cgi?id=50088
5494
5495         * inspector/front-end/CSSStyleModel.js:
5496         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
5497         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
5498         * inspector/front-end/ResourcesPanel.js:
5499         (WebInspector.ResourcesPanel):
5500         (WebInspector.ResourcesPanel.prototype.show):
5501         (WebInspector.ResourcesPanel.prototype._showResourceView.callback):
5502         (WebInspector.ResourcesPanel.prototype._showResourceView):
5503         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
5504         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
5505         * inspector/front-end/SourceFrame.js:
5506         (WebInspector.SourceFrame.prototype.markDiff):
5507         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
5508         (WebInspector.SourceFrame.prototype._updateDiffDecorations.addDecorations):
5509         (WebInspector.SourceFrame.prototype._updateDiffDecorations):
5510         (WebInspector.SourceFrame.prototype._removeDiffDecorations):
5511         * inspector/front-end/SourceView.js:
5512         * inspector/front-end/textViewer.css:
5513         (.webkit-line-number):
5514         (.diff-container .webkit-added-line .webkit-line-content):
5515         (.diff-container .webkit-removed-line .webkit-line-content):
5516         (.diff-container .webkit-changed-line .webkit-line-content):
5517         * inspector/front-end/utilities.js:
5518
5519 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
5520
5521         Unreviewed, rolling out r72732.
5522         http://trac.webkit.org/changeset/72732
5523         https://bugs.webkit.org/show_bug.cgi?id=50089
5524
5525         Made Qt bot sad and crashy (Requested by Ossy on #webkit).
5526
5527         * platform/network/qt/QNetworkReplyHandler.cpp:
5528         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
5529         * platform/network/qt/QNetworkReplyHandler.h:
5530         * platform/network/qt/ResourceHandleQt.cpp:
5531         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
5532         (WebCore::WebCoreSynchronousLoader::didFail):
5533         (WebCore::ResourceHandle::loadResourceSynchronously):
5534
5535 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
5536
5537         Unreviewed, rolling out r72734.
5538         http://trac.webkit.org/changeset/72734
5539         https://bugs.webkit.org/show_bug.cgi?id=50086
5540
5541         Backing out 72732 which made Qt sad and crashy (Requested by
5542         kling on #webkit).
5543
5544         * platform/network/qt/ResourceHandleQt.cpp:
5545         (WebCore::ResourceHandle::loadResourceSynchronously):
5546
5547 2010-11-25  Andreas Kling  <kling@webkit.org>
5548
5549         Unreviewed crash fix for Qt 4.6.x.
5550
5551         Check that QNetworkReplyHandler::reply() doesn't return null before
5552         using it (this code needs to work for Qt 4.6 as well.)
5553
5554         * platform/network/qt/ResourceHandleQt.cpp:
5555         (WebCore::ResourceHandle::loadResourceSynchronously):
5556
5557 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
5558
5559         Unreviewed, rolling out r72727.
5560         http://trac.webkit.org/changeset/72727
5561         https://bugs.webkit.org/show_bug.cgi?id=50084
5562
5563         Broke dom-breakpoints test on chromium win (Requested by
5564         podivilov on #webkit).
5565
5566         * inspector/InspectorController.cpp:
5567         (WebCore::InspectorController::setNativeBreakpoint):
5568         * inspector/InspectorDOMAgent.cpp:
5569         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
5570         (WebCore::InspectorDOMAgent::discardBindings):
5571         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
5572         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
5573         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
5574         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
5575         (WebCore::InspectorDOMAgent::createBreakpointId):
5576         * inspector/InspectorDOMAgent.h:
5577         * inspector/front-end/BreakpointManager.js:
5578         (WebInspector.BreakpointManager.prototype.reset):
5579         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
5580         (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
5581         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
5582         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
5583         (WebInspector.DOMBreakpoint):
5584         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
5585         (WebInspector.EventListenerBreakpoint):
5586         (WebInspector.XHRBreakpoint):
5587         * inspector/front-end/BreakpointsSidebarPane.js:
5588         (WebInspector.BreakpointsSidebarPane):
5589         (WebInspector.BreakpointsSidebarPane.prototype.reset):
5590         (WebInspector.EventListenerBreakpointsSidebarPane):
5591         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
5592         * inspector/front-end/DOMAgent.js:
5593         (WebInspector.DOMAgent.prototype._setDocument):
5594         * inspector/front-end/ElementsPanel.js:
5595         (WebInspector.ElementsPanel.prototype.reset):
5596         * inspector/front-end/ElementsTreeOutline.js:
5597         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
5598         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
5599         * inspector/front-end/ScriptsPanel.js:
5600         (WebInspector.ScriptsPanel.prototype.reset):
5601         * inspector/front-end/inspector.js:
5602         (WebInspector.reset):
5603         (WebInspector.didCommitLoad):
5604
5605 2010-11-25  Peter Hartmann  <peter.hartmann@nokia.com>
5606
5607         Reviewed by Andreas Kling.
5608
5609         [Qt] enable usage of synchronous HTTP feature in Qt
5610         https://bugs.webkit.org/show_bug.cgi?id=37191
5611
5612         Currently, we spin an event loop when doing synchronous calls to
5613         wait for completion. This patch uses synchronous requests in Qt,
5614         if available, and spins the event loop as a fallback solution.
5615         Patch by Simon Hausmann and Peter Hartmann.
5616
5617         * platform/network/qt/QNetworkReplyHandler.cpp:
5618         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
5619         * platform/network/qt/QNetworkReplyHandler.h:
5620         * platform/network/qt/ResourceHandleQt.cpp:
5621         (WebCore::WebCoreSynchronousLoader::setReplyFinished):
5622         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
5623         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
5624         (WebCore::WebCoreSynchronousLoader::didFail):
5625         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
5626         (WebCore::ResourceHandle::loadResourceSynchronously):
5627
5628 2010-11-25  Hans Wennborg  <hans@chromium.org>
5629
5630         Reviewed by Jeremy Orlow.
5631
5632         V8 Bindings: remove faulty include in OptionsObject.h
5633         https://bugs.webkit.org/show_bug.cgi?id=50073
5634
5635         There is no <wtf/NonCopyable.h>, and the code doesn't try to use it
5636         either.
5637
5638         No new functionality, no new tests.
5639
5640         * bindings/v8/OptionsObject.h:
5641
5642 2010-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5643
5644         Reviewed by Simon Hausmann.
5645
5646         Actually handle targetDensityDpi in computeViewportAttributes
5647         https://bugs.webkit.org/show_bug.cgi?id=50068
5648
5649         * dom/ViewportArguments.cpp:
5650         (WebCore::computeViewportAttributes):
5651
5652 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
5653
5654         Reviewed by Steve Block.
5655
5656         Add an OptionsObject class for IndexedDB (and later Geolocation)
5657         https://bugs.webkit.org/show_bug.cgi?id=50030
5658
5659         Geolocation and IndexedDB both have the concept of an optional
5660         parameter that has various options supplied with it.  In
5661         Geolocation this was done with custom bindings, but I'm trying to
5662         avoid that for IndexedDB.  
5663
5664         This first patch implements it in V8 and makes createObjectStore use it.
5665         The next patch will cover Geolocation and JSC.
5666
5667         Test: storage/indexeddb/create-object-store-options.html
5668
5669         * WebCore.gypi:
5670         * bindings/scripts/CodeGeneratorV8.pm:
5671         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
5672         (WebDOMTestObj::optionsObject):
5673         * bindings/scripts/test/CPP/WebDOMTestObj.h:
5674         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
5675         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
5676         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
5677         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
5678         (webkit_dom_test_obj_options_object):
5679         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
5680         * bindings/scripts/test/JS/JSTestObj.cpp:
5681         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
5682         * bindings/scripts/test/JS/JSTestObj.h:
5683         * bindings/scripts/test/ObjC/DOMTestObj.h:
5684         * bindings/scripts/test/ObjC/DOMTestObj.mm:
5685         (-[DOMTestObj optionsObject:ooo:]):
5686         * bindings/scripts/test/TestObj.idl:
5687         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
5688         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
5689         * bindings/scripts/test/V8/V8TestObj.cpp:
5690         (WebCore::TestObjInternal::optionsObjectCallback):
5691         * bindings/v8/OptionsObject.cpp: Added.
5692         (WebCore::OptionsObject::OptionsObject):
5693         (WebCore::OptionsObject::~OptionsObject):
5694         (WebCore::OptionsObject::operator=):
5695         (WebCore::OptionsObject::undefinedOrNull):
5696         (WebCore::OptionsObject::getKeyBool):
5697         (WebCore::OptionsObject::getKeyString):
5698         (WebCore::OptionsObject::getKey):
5699         * bindings/v8/OptionsObject.h:
5700         * bindings/js/OptionsObject.h:
5701         * storage/IDBDatabase.cpp:
5702         (WebCore::IDBDatabase::createObjectStore):
5703         * storage/IDBDatabase.h:
5704         (WebCore::IDBDatabase::createObjectStore):
5705         * storage/IDBDatabase.idl:
5706
5707 2010-11-24  Pavel Podivilov  <podivilov@chromium.org>
5708
5709         Reviewed by Yury Semikhatsky.
5710
5711         Web Inspector: set DOM breakpoints by path.
5712         https://bugs.webkit.org/show_bug.cgi?id=50017
5713
5714         This change is needed to be able to push DOM breakpoints for all URL's to backend
5715         at frontend load.
5716
5717         * inspector/InspectorController.cpp:
5718         (WebCore::InspectorController::setNativeBreakpoint):
5719         * inspector/InspectorDOMAgent.cpp:
5720         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
5721         (WebCore::InspectorDOMAgent::discardBindings):
5722         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
5723         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
5724         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
5725         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
5726         * inspector/InspectorDOMAgent.h:
5727         * inspector/front-end/BreakpointManager.js:
5728         (WebInspector.BreakpointManager.prototype.reset):
5729         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
5730         (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
5731         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
5732         (WebInspector.DOMBreakpoint):
5733         (WebInspector.DOMBreakpoint.prototype._setNodeId):
5734         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
5735         (WebInspector.EventListenerBreakpoint):
5736         (WebInspector.XHRBreakpoint):
5737         * inspector/front-end/BreakpointsSidebarPane.js:
5738         (WebInspector.BreakpointsSidebarPane):
5739         (WebInspector.BreakpointsSidebarPane.prototype._reset):
5740         (WebInspector.EventListenerBreakpointsSidebarPane):
5741         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._reset):
5742         * inspector/front-end/DOMAgent.js:
5743         (WebInspector.DOMAgent.prototype._setDocument):
5744         * inspector/front-end/ElementsPanel.js:
5745         (WebInspector.ElementsPanel.prototype.reset):
5746         * inspector/front-end/ElementsTreeOutline.js:
5747         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
5748         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
5749         * inspector/front-end/ScriptsPanel.js:
5750         (WebInspector.ScriptsPanel.prototype.reset):
5751         * inspector/front-end/inspector.js:
5752         (WebInspector.reset):
5753         (WebInspector.didCommitLoad):
5754
5755 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
5756
5757         Reviewed by Yury Semikhatsky.
5758
5759         Web Inspector: reuse code for recreating resource views.
5760         https://bugs.webkit.org/show_bug.cgi?id=50066
5761
5762         * inspector/front-end/NetworkItemView.js:
5763         (WebInspector.NetworkItemView):
5764         * inspector/front-end/NetworkPanel.js:
5765         (WebInspector.NetworkPanel.prototype.refreshResource):
5766         * inspector/front-end/ResourceManager.js:
5767         (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
5768         (WebInspector.ResourceManager.resourceViewForResource):
5769         (WebInspector.ResourceManager.recreateResourceView):
5770         * inspector/front-end/ResourcesPanel.js:
5771         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
5772
5773 2010-11-25  Hans Wennborg  <hans@chromium.org>
5774
5775         Reviewed by Jeremy Orlow.
5776
5777         IndexedDB: Disallow inserting records with NULL keys
5778         https://bugs.webkit.org/show_bug.cgi?id=50033
5779
5780         Disallow inserting records with null keys into the object store.
5781
5782         * storage/IDBKey.h:
5783         * storage/IDBObjectStoreBackendImpl.cpp:
5784         (WebCore::IDBObjectStoreBackendImpl::putInternal):
5785
5786 2010-11-25  Philippe Normand  <pnormand@igalia.com>
5787
5788         Rubber-stamped by Xan Lopez.
5789
5790         g_signal_accumulator_first_wins was introduced in glib 2.27.1 so
5791         no need to use our version if that version of glib is used during
5792         the build.
5793
5794         * platform/gtk/GtkVersioning.c:
5795         * platform/gtk/GtkVersioning.h:
5796
5797 2010-11-24  Jian Li  <jianli@chromium.org>
5798
5799         Reviewed by Kenneth Russell.
5800
5801         Implement DataView interface from Typed Array specification
5802         https://bugs.webkit.org/show_bug.cgi?id=46541
5803
5804         Test: fast/canvas/webgl/data-view-test.html
5805
5806         * CMakeLists.txt:
5807         * DerivedSources.make:
5808         * GNUmakefile.am:
5809         * WebCore.gypi:
5810         * WebCore.pri:
5811         * WebCore.pro:
5812         * WebCore.xcodeproj/project.pbxproj:
5813         * bindings/generic/RuntimeEnabledFeatures.h:
5814         (WebCore::RuntimeEnabledFeatures::dataViewEnabled):
5815         * bindings/js/JSArrayBufferViewHelper.h:
5816         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
5817         (WebCore::constructArrayBufferView):
5818         * bindings/js/JSDOMWindowCustom.cpp:
5819         (WebCore::JSDOMWindow::dataView):
5820         * bindings/js/JSDataViewCustom.cpp: Added.
5821         * bindings/js/JSFloat32ArrayCustom.cpp:
5822         (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
5823         * bindings/js/JSInt16ArrayCustom.cpp:
5824         (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
5825         * bindings/js/JSInt32ArrayCustom.cpp:
5826         (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
5827         * bindings/js/JSInt8ArrayCustom.cpp:
5828         (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
5829         * bindings/js/JSUint16ArrayCustom.cpp:
5830         (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
5831         * bindings/js/JSUint32ArrayCustom.cpp:
5832         (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
5833         * bindings/js/JSUint8ArrayCustom.cpp:
5834         (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
5835         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
5836         (WebCore::constructWebGLArrayWithArrayBufferArgument):
5837         (WebCore::constructWebGLArray):
5838         * bindings/v8/custom/V8DataViewCustom.cpp: Added.
5839         * html/canvas/ArrayBufferView.h:
5840         (WebCore::ArrayBufferView::isDataView):
5841         * html/canvas/DataView.cpp: Added.
5842         * html/canvas/DataView.h: Added.
5843         * html/canvas/DataView.idl: Added.
5844         * page/DOMWindow.idl:
5845
5846 2010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
5847
5848         Reviewed by Martin Robinson.
5849
5850         [GTK] Windowless plugins gets broken key input
5851         https://bugs.webkit.org/show_bug.cgi?id=49927
5852
5853         When converting the GdkEvent to XEvent we need to send the
5854         hardware_keycode as XEvent::keycode. Instead we where sending
5855         the GdkEvent::keyval. This is already tested by
5856         plugins/keyboard-events.html, but a bug in the test plugin was
5857         resulting in false positive.
5858
5859         * plugins/gtk/PluginViewGtk.cpp:
5860         (WebCore::PluginView::handleKeyboardEvent):
5861
5862 2010-11-24  Eric Uhrhane  <ericu@chromium.org>
5863
5864         Reviewed by David Levin.
5865
5866         Implement FileWriterSync
5867         https://bugs.webkit.org/show_bug.cgi?id=49939
5868
5869         Tests to follow in a separate CL, once the test framework in 47680 goes in.
5870
5871         Build file changes to add FileWriterBase and FileWriterBaseCallback.
5872         * CMakeLists.txt:
5873         * GNUmakefile.am:
5874         * WebCore.gypi:
5875         * WebCore.pro:
5876         * WebCore.vcproj/WebCore.vcproj:
5877         * WebCore.xcodeproj/project.pbxproj:
5878
5879         FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
5880         * bindings/scripts/CodeGeneratorV8.pm:
5881
5882         Added new AsyncFileWriter::waitForOperationToComplete to enable
5883         synchronous calls.
5884         * fileapi/AsyncFileWriter.h:
5885
5886         Added a way to get a FileSystemSync.
5887         * fileapi/DOMFileSystemSync.cpp:
5888         * fileapi/FileEntrySync.cpp:
5889         * fileapi/FileEntrySync.h:
5890         * fileapi/FileEntrySync.idl:
5891
5892         Added an error code for OK, rather than just having 0 everywhere.
5893         * fileapi/FileError.h:
5894
5895         Turned FileWriterCallback into FileWriterBaseCallback.
5896         * fileapi/FileSystemCallbacks.cpp:
5897         * fileapi/FileSystemCallbacks.h:
5898
5899         Refactored out a common base class, FileWriterBase, for FileWriter and
5900         FileWriterSync.
5901         * fileapi/FileWriter.cpp:
5902         * fileapi/FileWriter.h:
5903         * fileapi/FileWriterBase.cpp: Added.
5904         * fileapi/FileWriterBase.h: Added.
5905         * fileapi/FileWriterBaseCallback.h: Added.
5906         * fileapi/FileWriterSync.cpp:
5907         * fileapi/FileWriterSync.h:
5908
5909         Small tweaks to deal with the base class refactoring.
5910         * fileapi/DOMFileSystem.cpp:
5911         * fileapi/DOMFileSystemSync.h:
5912
5913         Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
5914         * fileapi/FileWriterSync.idl:
5915
5916 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
5917
5918         Reviewed by Xan Lopez.
5919
5920         Build fix for GTK+. There were some typos in my last build fix
5921         and the empty command (semicolon) seems to be necessary for wildcard
5922         rule chains.
5923
5924         * GNUmakefile.am: Small build fixes.
5925
5926 2010-11-24  James Robinson  <jamesr@chromium.org>
5927
5928         Reviewed by Kenneth Russell.
5929
5930         [chromium] Compositor needs to manage its VRAM use
5931         https://bugs.webkit.org/show_bug.cgi?id=49629
5932
5933         This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
5934         used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
5935         RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
5936         Video, and WebGL) and the root layer are still unmanaged.
5937
5938         The TextureManager works by providing tokens to callers that want to use a managed texture.
5939         The token can be used to request a texture, see if the previously requested texture is still
5940         available, and to protect/unprotect textures when they cannot be collected.  Whenever a
5941         texture is created the manager attempts to free up the least recently used textures until the
5942         total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
5943         limit it will not return any new textures until some old textures are released.
5944
5945         A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
5946         previously requested texture is still available for use and reserve the LayerTexture's underlying
5947         storage between the updateContentsIfDirty() and the draw() call.
5948
5949         Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
5950         updateContentsIfDirty().
5951
5952         Tests: compositing/lots-of-img-layers-with-opacity.html
5953                compositing/lots-of-img-layers.html
5954
5955         * WebCore.gypi:
5956         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
5957         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
5958         * platform/graphics/chromium/Canvas2DLayerChromium.h:
5959         * platform/graphics/chromium/ContentLayerChromium.cpp:
5960         (WebCore::ContentLayerChromium::cleanupResources):
5961         (WebCore::ContentLayerChromium::updateContentsIfDirty):
5962         (WebCore::ContentLayerChromium::updateTextureRect):
5963         (WebCore::ContentLayerChromium::draw):
5964         * platform/graphics/chromium/ContentLayerChromium.h:
5965         * platform/graphics/chromium/ImageLayerChromium.cpp:
5966         (WebCore::ImageLayerChromium::updateContentsIfDirty):
5967         * platform/graphics/chromium/ImageLayerChromium.h:
5968         * platform/graphics/chromium/LayerChromium.h:
5969         (WebCore::LayerChromium::updateContentsIfDirty):
5970         (WebCore::LayerChromium::draw):
5971         * platform/graphics/chromium/LayerRendererChromium.cpp:
5972         (WebCore::LayerRendererChromium::LayerRendererChromium):
5973         (WebCore::LayerRendererChromium::prepareToDrawLayers):
5974         (WebCore::LayerRendererChromium::drawLayers):
5975         (WebCore::LayerRendererChromium::updateLayersRecursive):
5976         (WebCore::LayerRendererChromium::useRenderSurface):
5977         (WebCore::LayerRendererChromium::drawLayer):
5978         (WebCore::LayerRendererChromium::initializeSharedObjects):
5979         (WebCore::LayerRendererChromium::cleanupSharedObjects):
5980         * platform/graphics/chromium/LayerRendererChromium.h:
5981         (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
5982         (WebCore::LayerRendererChromium::textureManager):
5983         * platform/graphics/chromium/LayerTexture.cpp: Added.
5984         (WebCore::LayerTexture::LayerTexture):
5985         (WebCore::LayerTexture::~LayerTexture):
5986         (WebCore::LayerTexture::isValid):
5987         (WebCore::LayerTexture::reserve):
5988         (WebCore::LayerTexture::unreserve):
5989         (WebCore::LayerTexture::bindTexture):
5990         (WebCore::LayerTexture::framebufferTexture2D):
5991         * platform/graphics/chromium/LayerTexture.h: Added.
5992         (WebCore::LayerTexture::create):
5993         * platform/graphics/chromium/PluginLayerChromium.cpp:
5994         (WebCore::PluginLayerChromium::updateContentsIfDirty):
5995         * platform/graphics/chromium/PluginLayerChromium.h:
5996         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
5997         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
5998         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
5999         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
6000         (WebCore::RenderSurfaceChromium::cleanupResources):
6001         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
6002         (WebCore::RenderSurfaceChromium::draw):
6003         * platform/graphics/chromium/RenderSurfaceChromium.h:
6004         (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
6005         (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
6006         (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
6007         (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
6008         (WebCore::RenderSurfaceChromium::SharedValues::initialized):
6009         * platform/graphics/chromium/TextureManager.cpp: Added.
6010         (WebCore::memoryUseBytes):
6011         (WebCore::TextureManager::TextureManager):
6012         (WebCore::TextureManager::getToken):
6013         (WebCore::TextureManager::releaseToken):
6014         (WebCore::TextureManager::hasTexture):
6015         (WebCore::TextureManager::protectTexture):
6016         (WebCore::TextureManager::unprotectTexture):
6017         (WebCore::TextureManager::reduceMemoryToLimit):
6018         (WebCore::TextureManager::addTexture):
6019         (WebCore::TextureManager::removeTexture):
6020         (WebCore::TextureManager::requestTexture):
6021         * platform/graphics/chromium/TextureManager.h: Added.
6022         (WebCore::TextureManager::create):
6023         * platform/graphics/chromium/VideoLayerChromium.cpp:
6024         (WebCore::VideoLayerChromium::updateContentsIfDirty):
6025         * platform/graphics/chromium/VideoLayerChromium.h:
6026         * platform/graphics/chromium/WebGLLayerChromium.cpp:
6027         (WebCore::WebGLLayerChromium::updateContentsIfDirty):
6028         * platform/graphics/chromium/WebGLLayerChromium.h:
6029
6030 2010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
6031
6032         Reviewed by Martin Robinson.
6033
6034         [GTK] response.isNull() assert when using directory file URI
6035         https://bugs.webkit.org/show_bug.cgi?id=49018
6036
6037         Do ensure that didReceiveResponse happens before any call to
6038         didReceiveData. That was not true for file:// URIs pointing to
6039         directories and thus was triggering an assertion.
6040
6041         Test: platform/gtk/fast/loader/crash-display-local-directory.html
6042
6043         * platform/network/soup/ResourceHandleSoup.cpp:
6044         (WebCore::gotHeadersCallback):
6045         (WebCore::contentSniffedCallback):
6046         (WebCore::parseDataUrl):
6047         (WebCore::sendRequestCallback):
6048         (WebCore::readCallback):
6049
6050 2010-11-24  Xan Lopez  <xlopez@igalia.com>
6051
6052         Reviewed by Martin Robinson.
6053
6054         * bindings/gobject/WebKitDOMBinding.h: fix stlye nit.
6055
6056 2010-11-24  Xan Lopez  <xlopez@igalia.com>
6057
6058         Reviewed by Martin Robinson.
6059
6060         [GTK] Make kit() methods return the proper type instead of gpointer
6061         https://bugs.webkit.org/show_bug.cgi?id=50034
6062
6063         Change kit() methods to return proper type pointer.
6064
6065         * bindings/gobject/WebKitDOMBinding.cpp: change implementions of
6066         kit methods.
6067         * bindings/gobject/WebKitDOMBinding.h: change their declarations.
6068         * bindings/scripts/CodeGeneratorGObject.pm: change the generated
6069         kit() methods.
6070
6071 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
6072
6073         Reviewed by Xan Lopez.
6074
6075         [GTK] DerivedSources/WebCore/DocTypeStrings.cpp is generated for every build
6076         https://bugs.webkit.org/show_bug.cgi?id=50032
6077
6078         Instead of listing two targets for rules that have two outputs, make
6079         a dependency chain. This fixes the issue where some files are generated
6080         unconditionally. Also remove all unnecessary semicolons from the file.
6081
6082         No new tests as this is just a build fix.
6083
6084         * GNUmakefile.am: Fix GNUmake dependency issue.
6085
6086 2010-11-24  Nico Weber  <nicolasweber@gmx.de>
6087
6088         Reviewed by Adam Barth.
6089
6090         Chromium/Mac: Make scaled images un-ugly when using the webkit image decoders
6091         https://bugs.webkit.org/show_bug.cgi?id=49965
6092
6093         Probably covered by existing tests whose expectations were overwritten
6094         in http://trac.webkit.org/changeset/70858
6095
6096         * platform/image-decoders/cg/ImageDecoderCG.cpp:
6097         (WebCore::RGBA32Buffer::asNewNativeImage):
6098
6099 2010-11-24  Alexander Pavlov  <apavlov@chromium.org>
6100
6101         Reviewed by Pavel Feldman.
6102
6103         Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
6104         https://bugs.webkit.org/show_bug.cgi?id=50025
6105
6106         @font-face rules were improperly handled by source data extractor.
6107
6108         * css/CSSParser.cpp:
6109         (WebCore::CSSParser::CSSParser):
6110         (WebCore::CSSParser::parseDeclaration):
6111         (WebCore::CSSParser::createStyleRule):
6112         (WebCore::CSSParser::markRuleBodyStart):
6113         (WebCore::CSSParser::markPropertyStart):
6114         (WebCore::CSSParser::markPropertyEnd):
6115         * css/CSSParser.h:
6116
6117 2010-11-24  Cris Neckar  <cdn@chromium.org>
6118
6119         Reviewed by Adam Barth.
6120
6121         Added check when parsing local fonts to ensure that a value's unit type is either string or ident.
6122         https://bugs.webkit.org/show_bug.cgi?id=49883
6123
6124         Test: fast/css/local_font_invalid.html
6125
6126         * css/CSSParser.cpp:
6127         (WebCore::CSSParser::parseFontFaceSrc):
6128
6129 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6130
6131         Reviewed by Yury Semikhatsky.
6132
6133         Web Inspector: place local modifications to under original
6134         resource nodes in the resource panel.
6135         https://bugs.webkit.org/show_bug.cgi?id=50029
6136
6137         * English.lproj/localizedStrings.js:
6138         * inspector/Inspector.idl:
6139         * inspector/InspectorController.cpp:
6140         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
6141         (WebCore::InspectorController::scriptImported):
6142         * inspector/InspectorResourceAgent.cpp:
6143         (WebCore::InspectorResourceAgent::setInitialContent):
6144         * inspector/InspectorResourceAgent.h:
6145         * inspector/front-end/CSSStyleModel.js:
6146         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
6147         (WebInspector.CSSStyleModel.prototype.addRule):
6148         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
6149         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
6150         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
6151         (WebInspector.CSSProperty.prototype.setText):
6152         (WebInspector.CSSProperty.prototype.setDisabled.callback):
6153         (WebInspector.CSSProperty.prototype.setDisabled):
6154         (WebInspector.CSSStyleSheet.prototype.setText):
6155         * inspector/front-end/NetworkPanel.js:
6156         (WebInspector.NetworkPanel.prototype.refreshResource):
6157         * inspector/front-end/Resource.js:
6158         (WebInspector.Resource.prototype.set content):
6159         (WebInspector.Resource.prototype.get contentTimestamp):
6160         (WebInspector.Resource.prototype.setInitialContent):
6161         * inspector/front-end/ResourceManager.js:
6162         (WebInspector.ResourceManager):
6163         (WebInspector.ResourceManager.prototype.setInitialContent):
6164         * inspector/front-end/ResourcesPanel.js:
6165         (WebInspector.ResourcesPanel):
6166         (WebInspector.ResourcesPanel.prototype.reset):
6167         (WebInspector.ResourcesPanel.prototype._innerShowView):
6168         (WebInspector.FrameResourceTreeElement):
6169         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
6170         (WebInspector.FrameResourceTreeElement.prototype._contentChanged.else.finished):
6171         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
6172         (WebInspector.ResourceRevisionTreeElement):
6173         * inspector/front-end/SourceFrame.js:
6174         (WebInspector.SourceFrame.prototype.get scrollTop):
6175         (WebInspector.SourceFrame.prototype.set scrollTop):
6176         * inspector/front-end/SourceView.js:
6177         (WebInspector.SourceView.prototype.get scrollTop):
6178         (WebInspector.SourceView.prototype.set scrollTop):
6179         (WebInspector.SourceView.prototype._editLine):
6180         (WebInspector.SourceView.prototype._editLineComplete):
6181         * inspector/front-end/StylesSidebarPane.js:
6182         (WebInspector.StylePropertyTreeElement.prototype):
6183
6184 2010-11-24  Andrey Kosyakov  <caseq@chromium.org>
6185
6186         Reviewed by Pavel Feldman.
6187
6188         Web Inspector: extension API cleanup
6189         https://bugs.webkit.org/show_bug.cgi?id=50019
6190
6191         * inspector/front-end/ElementsPanel.js:
6192         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
6193         (WebInspector.ElementsPanel):
6194         * inspector/front-end/ExtensionAPI.js: See bug for summary of extension API changes.
6195         (WebInspector.injectedExtensionAPI.Resources.resourceDispatch):
6196         (WebInspector.injectedExtensionAPI):
6197         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
6198         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
6199         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
6200         (WebInspector.injectedExtensionAPI.PanelImpl):
6201         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl):
6202         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
6203         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createWatchExpressionSidebarPane):
6204         (WebInspector.injectedExtensionAPI.ElementsPanel):
6205         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
6206         (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
6207         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.auditResultDispatch):
6208         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
6209         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
6210         (WebInspector.injectedExtensionAPI.InspectedWindow):
6211         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
6212         * inspector/front-end/ExtensionCommon.js:
6213         (WebInspector.commonExtensionSymbols):
6214         * inspector/front-end/ExtensionServer.js:
6215         (WebInspector.ExtensionServer):
6216         (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
6217         (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
6218         (WebInspector.ExtensionServer.prototype.notifyPageLoaded):
6219         (WebInspector.ExtensionServer.prototype.notifyPageDOMContentLoaded):
6220         (WebInspector.ExtensionServer.prototype._onCreatePanel):
6221         (WebInspector.ExtensionServer.prototype._onReload):
6222         (WebInspector.ExtensionServer.prototype._onGetHAR):
6223         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
6224         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
6225         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
6226         * inspector/front-end/HAREntry.js:
6227         (WebInspector.HARLog):
6228         (WebInspector.HARLog.prototype.build):
6229         (WebInspector.HARLog.prototype._convertResource):
6230         * inspector/front-end/inspector.js:
6231         (WebInspector.domContentEventFired):
6232         (WebInspector.loadEventFired):
6233         (WebInspector.didCommitLoad):
6234
6235 2010-11-23  Jeremy Orlow  <jorlow@chromium.org>
6236
6237         Reviewed by Steve Block.
6238
6239         Fix minor errors in IndexedDB
6240         https://bugs.webkit.org/show_bug.cgi?id=49970
6241
6242         * Remove SNAPSHOT_READ per spec.
6243         * Assert that the transaction that changes the db is a setVersion
6244           transaction.
6245         * When an objectStore already exists, throw a CONSTRAINT_ERR.
6246         * When not in a setVersion transaction, throw a NOT_ALLOWED_ERR.
6247
6248         Test: storage/indexeddb/createAndRemoveObjectStore.html
6249
6250         * storage/IDBDatabase.cpp:
6251         (WebCore::IDBDatabase::createObjectStore):
6252         * storage/IDBDatabaseBackendImpl.cpp:
6253         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
6254         * storage/IDBTransaction.h:
6255         * storage/IDBTransaction.idl:
6256
6257 2010-11-24  Philippe Normand  <pnormand@igalia.com>
6258
6259         Reviewed by Xan Lopez.
6260
6261         [GStreamer] pause webkitvideosink during fullscreen video playback
6262         https://bugs.webkit.org/show_bug.cgi?id=48824
6263
6264         Added an identity element before the webkitvideosink so that when
6265         fullscreen video is active the element can drop the incoming
6266         buffers so that webkitvideosink appears paused.
6267
6268         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
6269         (WebCore::GStreamerGWorld::enterFullscreen):
6270         (WebCore::GStreamerGWorld::exitFullscreen):
6271         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
6272         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
6273
6274 2010-11-24  Avi Drissman  <avi@google.com>
6275
6276         Reviewed by Antonio Gomes.
6277
6278         Add preference to not select when right-clicked
6279         https://bugs.webkit.org/show_bug.cgi?id=23351
6280
6281         Test: editing/selection/context-menu-text-selection.html
6282
6283         * editing/EditingBehavior.h:
6284         (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
6285         * page/EventHandler.cpp:
6286         (WebCore::EventHandler::sendContextMenuEvent):
6287
6288 2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
6289
6290         Reviewed by Csaba Osztrogonác.
6291
6292         Make build-webkit --minimal build with ENABLE_INSPECTOR=0.
6293         https://bugs.webkit.org/show_bug.cgi?id=49975
6294
6295         No new tests needed.
6296
6297         * features.pri: Make the Qt buildsystem aware
6298         that the inspector is enabled by default.
6299
6300 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
6301
6302         Reviewed by Xan Lopez.
6303
6304         [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient
6305         https://bugs.webkit.org/show_bug.cgi?id=49143
6306
6307         * platform/gtk/GtkVersioning.c:
6308         (g_signal_accumulator_first_wins): Add g_signal_accumulator_first_wins for versions of
6309         GLib before 2.28.
6310         * platform/gtk/GtkVersioning.h:
6311
6312 2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
6313
6314         Unreviewed, rolling out r72499.
6315         http://trac.webkit.org/changeset/72499
6316         https://bugs.webkit.org/show_bug.cgi?id=50022
6317
6318         This change is causing crashes on the bots. (Requested by
6319         mrobinson on #webkit).
6320
6321         * accessibility/AccessibilityMenuListOption.cpp:
6322         (WebCore::AccessibilityMenuListOption::nameForMSAA):
6323         * accessibility/AccessibilityMenuListOption.h:
6324         * accessibility/gtk/AXObjectCacheAtk.cpp:
6325         (WebCore::AXObjectCache::postPlatformNotification):
6326         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
6327         (setAtkStateSetFromCoreObject):
6328         (optionFromList):
6329         (optionFromSelection):
6330         (webkit_accessible_selection_add_selection):
6331         (webkit_accessible_selection_clear_selection):
6332         (webkit_accessible_selection_get_selection_count):
6333         (webkit_accessible_selection_is_child_selected):
6334         (webkit_accessible_selection_remove_selection):
6335         (webkit_accessible_text_get_text):
6336         (getInterfaceMaskFromObject):
6337         * platform/gtk/PopupMenuGtk.cpp:
6338         (WebCore::PopupMenuGtk::show):
6339
6340 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
6341
6342         Reviewed by Csaba Osztrogonác.
6343
6344         Simplify makeprop.pl
6345         https://bugs.webkit.org/show_bug.cgi?id=49925
6346
6347         Don't generate CSSPropertyNamesHash.h.
6348         Instead generate CSSPropertyNames directly.
6349
6350         * GNUmakefile.am: Removed rule for CSSPropertyNamesHash.h.
6351         * css/makeprop.pl:
6352
6353 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
6354
6355         Reviewed by Csaba Osztrogonác.
6356
6357         Remove Bakefile build system files
6358         https://bugs.webkit.org/show_bug.cgi?id=49983
6359
6360         r53757 only removed the content, but not the files.
6361         This patch removes that empty files.
6362
6363         * WebCoreSources.bkl: Removed.
6364         * webcore-base.bkl: Removed.
6365         * webcore-wx.bkl: Removed.
6366
6367 2010-11-24  Renata Hodovan  <reni@inf.u-szeged.hu>
6368
6369         Reviewed by Andreas Kling.
6370
6371         [Qt] GraphicsContext: Clean up Qt/WebCore type conversion functions
6372         https://bugs.webkit.org/show_bug.cgi?id=49919
6373
6374         Add ASSERT_NOT_REACHED() if the given WebCore type doesn't have an equivalent type in Qt.
6375         Also change the return value of toQtLineJoin() from Qt::MiterJoin to the default Qt::SvgMiterJoin,
6376         because the previous one doesn't work currently.
6377
6378         No new test is needed.
6379
6380         * platform/graphics/qt/GraphicsContextQt.cpp:
6381         (WebCore::GraphicsContext::toQtCompositionMode):
6382         (WebCore::toQtLineCap):
6383         (WebCore::toQtLineJoin):
6384         (WebCore::toQPenStyle):
6385         (WebCore::toQtFillRule):
6386
6387 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
6388
6389         Reviewed by Csaba Osztrogonác.
6390
6391         Simplify makevalues.pl
6392         https://bugs.webkit.org/show_bug.cgi?id=49926
6393
6394         Don't generate CSSValueKeywordsHash.h.
6395         Instead generate CSSValueKeywords.cpp directly. 
6396
6397         * GNUmakefile.am: Removed rule for CSSValueKeywordsHash.h.
6398         * css/makevalues.pl:
6399
6400 2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
6401
6402         Reviewed by Kenneth Rohde Christiansen.
6403
6404         Make WebKit2 compile with !ENABLE(INSPECTOR).
6405         https://bugs.webkit.org/show_bug.cgi?id=49973
6406
6407         No new tests needed.
6408
6409         * bindings/js/ScriptHeapSnapshot.h:
6410         * bindings/js/ScriptProfile.cpp:
6411         * bindings/js/ScriptProfile.h:
6412         * inspector/InspectorDebuggerAgent.cpp:
6413         * inspector/InspectorDebuggerAgent.h:
6414         * inspector/InspectorProfilerAgent.cpp:
6415         * inspector/InspectorProfilerAgent.h:
6416         * inspector/ScriptBreakpoint.h:
6417
6418 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
6419
6420         Reviewed by Csaba Osztrogonác.
6421
6422         Simplify make-hash-tools.pl
6423         https://bugs.webkit.org/show_bug.cgi?id=49922
6424
6425         HashTools.h does not need to be generated, because it only contains static code.
6426
6427         * html/DocTypeStrings.gperf: Include findDoctypeEntry function.
6428         * make-hash-tools.pl: Do not generate HashTools.h.
6429         * platform/ColorData.gperf: Include findColor function.
6430         * platform/HashTools.h: Added.
6431
6432 2010-11-24  Andreas Kling  <kling@webkit.org>
6433
6434         Reviewed by Simon Hausmann.
6435
6436         [Qt] Pass Qt::TextBypassShaping flag when calculating shadow layer rects
6437
6438         Without this, we could end up with a slightly too small shadow layer
6439         for some string/font combinations.
6440
6441         * platform/graphics/qt/FontQt.cpp:
6442         (WebCore::drawTextCommon):
6443
6444 2010-11-22  Pavel Feldman  <pfeldman@chromium.org>
6445
6446         Reviewed by Yury Semikhatsky.
6447
6448         Web Inspector: add timing tab to the network item view.
6449         https://bugs.webkit.org/show_bug.cgi?id=49920
6450
6451         * WebCore.gypi:
6452         * WebCore.vcproj/WebCore.vcproj:
6453         * inspector/front-end/NetworkItemView.js:
6454         (WebInspector.NetworkItemView):
6455         * inspector/front-end/NetworkPanel.js:
6456         (WebInspector.NetworkPanel.prototype._showPopover):
6457         * inspector/front-end/Resource.js:
6458         (WebInspector.Resource.prototype.set timing):
6459         * inspector/front-end/ResourceTimingView.js: Added.
6460         (WebInspector.ResourceTimingView):
6461         (WebInspector.ResourceTimingView.prototype.show):
6462         (WebInspector.ResourceTimingView.prototype._refresh):
6463         (WebInspector.ResourceTimingView.createTimingTable):
6464         * inspector/front-end/WebKit.qrc:
6465         * inspector/front-end/inspector.html:
6466         * inspector/front-end/networkPanel.css:
6467         (#network-views .network-item-view .tabbed-pane-header):
6468         (.resource-timing-view):
6469         (.resource-timing-view table):
6470         (.resource-timing-view .network-timing-bar):
6471         (.resource-timing-view .network-timing-bar.proxy):
6472         (.resource-timing-view .network-timing-bar.dns):
6473         (.resource-timing-view .network-timing-bar.connecting):
6474         (.resource-timing-view .network-timing-bar.ssl):
6475         (.resource-timing-view .network-timing-bar.sending):
6476         (.resource-timing-view .network-timing-bar.waiting):
6477         (.resource-timing-view .network-timing-bar.receiving):
6478         (.resource-timing-view.visible):
6479
6480 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6481
6482         Not reviewed. Follow up to r72652 (style id change in inspector).
6483
6484         * inspector/front-end/AuditRules.js:
6485         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
6486
6487 2010-11-22  Pavel Feldman  <pfeldman@chromium.org>
6488
6489         Reviewed by Yury Semikhatsky.
6490
6491         Web Inspector: refactor ResourceView hierarchy.
6492         https://bugs.webkit.org/show_bug.cgi?id=49864
6493
6494         This refactoring splits ResourceView.js into:
6495             NetworkItemView.js (tabbed pane)
6496             ResourceHeadersView.js (header tab)
6497             ResourceCookiesView.js (cookies tab)
6498             ResourceView.js (base class for content tab).
6499         CookiesTable was extracted from CookieItemsView and
6500         brushed up. headersVisible flag has been removed.
6501
6502         * English.lproj/localizedStrings.js:
6503         * WebCore.gypi:
6504         * WebCore.vcproj/WebCore.vcproj:
6505         * inspector/front-end/CookieItemsView.js:
6506         (WebInspector.CookieItemsView):
6507         (WebInspector.CookieItemsView.prototype.get statusBarItems):
6508         (WebInspector.CookieItemsView.prototype.hide):
6509         (WebInspector.CookieItemsView.prototype.resize):
6510         (WebInspector.CookieItemsView.prototype._updateWithCookies):
6511         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
6512         (WebInspector.CookieItemsView.prototype._deleteCookie):
6513         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
6514         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
6515         (WebInspector.SimpleCookiesTable):
6516         (WebInspector.SimpleCookiesTable.prototype.setCookies):
6517         (WebInspector.SimpleCookiesTable.prototype.resize):
6518         * inspector/front-end/CookiesTable.js: Added.
6519         (WebInspector.CookiesTable):
6520         (WebInspector.CookiesTable.prototype.updateWidths):
6521         (WebInspector.CookiesTable.prototype.setCookies):
6522         (WebInspector.CookiesTable.prototype.addCookiesFolder):
6523         (WebInspector.CookiesTable.prototype.get selectedCookie):
6524         (WebInspector.CookiesTable.prototype._rebuildTable):
6525         (WebInspector.CookiesTable.prototype.reset):
6526         (WebInspector.CookiesTable.prototype._populateNode):
6527         (WebInspector.CookiesTable.prototype._totalSize):
6528         (WebInspector.CookiesTable.prototype._sortCookies.localeCompare):
6529         (WebInspector.CookiesTable.prototype._sortCookies.numberCompare):
6530         (WebInspector.CookiesTable.prototype._sortCookies.expiresCompare):
6531         (WebInspector.CookiesTable.prototype._sortCookies):
6532         (WebInspector.CookiesTable.prototype._createGridNode):
6533         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
6534         * inspector/front-end/FileSystemView.js:
6535         (WebInspector.FileSystemView.prototype._selectFileSystemTab):
6536         (WebInspector.FileSystemView.prototype.selectTemporaryFileSystemTab):
6537         * inspector/front-end/FontView.js:
6538         (WebInspector.FontView.prototype.hasContent):
6539         (WebInspector.FontView.prototype._createContentIfNeeded):
6540         (WebInspector.FontView.prototype.show):
6541         (WebInspector.FontView.prototype.updateFontPreviewSize):
6542         * inspector/front-end/ImageView.js:
6543         (WebInspector.ImageView.prototype.hasContent):
6544         (WebInspector.ImageView.prototype.show):
6545         * inspector/front-end/NetworkItemView.js: Added.
6546         (WebInspector.NetworkItemView):
6547         (WebInspector.NetworkItemView.prototype.show):
6548         (WebInspector.NetworkItemView.prototype._selectTab):
6549         (WebInspector.NetworkItemView.prototype._tabSelected):
6550         (WebInspector.NetworkItemView.prototype.resize):
6551         (WebInspector.NetworkItemView.prototype.selectContentTab):
6552         * inspector/front-end/NetworkPanel.js:
6553         (WebInspector.NetworkPanel.prototype.show):
6554         (WebInspector.NetworkPanel.prototype.refreshResource):
6555         (WebInspector.NetworkPanel.prototype._showResource):
6556         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
6557         * inspector/front-end/ResourceCookiesView.js: Added.
6558         (WebInspector.ResourceCookiesView):
6559         (WebInspector.ResourceCookiesView.prototype.show):
6560         * inspector/front-end/ResourceHeadersView.js: Added.
6561         (WebInspector.ResourceHeadersView):
6562         (WebInspector.ResourceHeadersView.prototype._refreshURL):
6563         (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
6564         (WebInspector.ResourceHeadersView.prototype._refreshFormData):
6565         (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
6566         (WebInspector.ResourceHeadersView.prototype._refreshParms):
6567         (WebInspector.ResourceHeadersView.prototype._toggleURLdecoding):
6568         (WebInspector.ResourceHeadersView.prototype._getHeaderValue):
6569         (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
6570         (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
6571         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
6572         (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
6573         * inspector/front-end/ResourceView.js:
6574         (WebInspector.ResourceView):
6575         (WebInspector.ResourceView.prototype.hasContent):
6576         * inspector/front-end/ResourcesPanel.js:
6577         (WebInspector.ResourcesPanel.prototype.show):
6578         (WebInspector.ResourcesPanel.prototype.showResource):
6579         (WebInspector.ResourcesPanel.prototype._showResourceView):
6580         * inspector/front-end/ScriptsPanel.js:
6581         (WebInspector.ScriptsPanel.prototype.show):
6582         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
6583         * inspector/front-end/SourceView.js:
6584         (WebInspector.SourceView):
6585         (WebInspector.SourceView.prototype.show):
6586         (WebInspector.SourceView.prototype.hide):
6587         (WebInspector.SourceView.prototype.resize):
6588         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
6589         (WebInspector.SourceView.prototype.hasContent):
6590         (WebInspector.SourceView.prototype.updateLocalContent):
6591         (WebInspector.SourceView.prototype.selectLocalContentTab):
6592         * inspector/front-end/StylesSidebarPane.js:
6593         * inspector/front-end/TabbedPane.js:
6594         (WebInspector.TabbedPane):
6595         (WebInspector.TabbedPane.prototype.appendTab):
6596         (WebInspector.TabbedPane.prototype.selectTab):
6597         (WebInspector.TabbedPane.prototype._showTab):
6598         (WebInspector.TabbedPane.prototype._hideTab):
6599         * inspector/front-end/WebKit.qrc:
6600         * inspector/front-end/inspector.css:
6601         (.webkit-line-gutter-backdrop):
6602         (.resource-view):
6603         (.resource-view.visible):
6604         (.resource-view.font):
6605         (.resource-view.image > .image):
6606         (.resource-view.image > .info):
6607         (.storage-view):
6608         (.storage-view .data-grid):
6609         (.storage-empty-view, .storage-view .storage-table-error):
6610         (.storage-view .storage-table-error):
6611         * inspector/front-end/inspector.html:
6612         * inspector/front-end/networkPanel.css:
6613         (.network-cell-subtitle):
6614         (.network-header-subtitle):
6615         (#network-views .network-item-view .tabbed-pane-header):
6616         (#network-views.small .network-item-view .tabbed-pane-header):
6617         (.network-item-view):
6618         (.network-item-view.visible):
6619         (.network-item-view .tabbed-pane-header):
6620         (.network-item-view .scope-bar li):
6621         (.resource-headers-view):
6622         (.resource-headers-view.visible):
6623         (.resource-headers-view .outline-disclosure .parent):
6624         (.resource-headers-view .outline-disclosure .children li):
6625         (.resource-headers-view .outline-disclosure li.expanded .header-count):
6626         (.resource-headers-view .outline-disclosure .header-name):
6627         (.resource-headers-view .outline-disclosure .header-value):
6628         (.resource-headers-view .outline-disclosure .raw-form-data):
6629         (.resource-cookies-view):
6630         (.resource-cookies-view.visible):
6631         (.resource-cookies-view .data-grid):
6632         (.resource-cookies-view .data-grid .row-group):
6633
6634 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6635
6636         Reviewed by Yury Semikhatsky.
6637
6638         Web Inspector: add "Locally modified" group into the resource panel.
6639         https://bugs.webkit.org/show_bug.cgi?id=50005
6640
6641         * English.lproj/localizedStrings.js:
6642         * inspector/front-end/ResourcesPanel.js:
6643         (WebInspector.ResourcesPanel):
6644         (WebInspector.ResourcesPanel.prototype.reset):
6645         (WebInspector.ResourcesPanel.prototype.addLocallyModifiedRevision):
6646         (WebInspector.ResourcesPanel.prototype._innerShowView):
6647         (WebInspector.BaseStorageTreeElement.prototype.set titleText):
6648         (WebInspector.LocallyModifiedResourceTreeElement):
6649         (WebInspector.LocallyModifiedResourceTreeElement.prototype.onselect):
6650         (WebInspector.LocallyModifiedResourceTreeElement.prototype.gcRevisions):
6651         (WebInspector.LocallyModifiedRevisionTreeElement):
6652         (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onattach):
6653         (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onselect):
6654         (WebInspector.LocallyModifiedRevisionTreeElement.prototype._ondragstart):
6655
6656 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6657
6658         Reviewed by Yury Semikhatsky.
6659
6660         Web Inspector: pass style id to front-end as Object, not string.
6661         https://bugs.webkit.org/show_bug.cgi?id=49971
6662
6663         * inspector/Inspector.idl:
6664         * inspector/InspectorCSSAgent.cpp:
6665         (WebCore::InspectorCSSAgent::getStylesForNode2):
6666         (WebCore::InspectorCSSAgent::getStyleSheetText2):
6667         (WebCore::InspectorCSSAgent::setPropertyText2):
6668         (WebCore::InspectorCSSAgent::toggleProperty2):
6669         (WebCore::InspectorCSSAgent::setRuleSelector2):
6670         * inspector/InspectorCSSAgent.h:
6671         * inspector/InspectorStyleSheet.cpp:
6672         (WebCore::InspectorStyle::buildObjectForStyle):
6673         (WebCore::InspectorStyleSheet::finalURL):
6674         (WebCore::InspectorStyleSheet::ruleForId):
6675         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
6676         (WebCore::InspectorStyleSheet::buildObjectForRule):
6677         (WebCore::InspectorStyleSheet::text):
6678         (WebCore::InspectorStyleSheet::ruleOrStyleId):
6679         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
6680         (WebCore::InspectorStyleSheetForInlineStyle::text):
6681         * inspector/InspectorStyleSheet.h:
6682         (WebCore::InspectorCSSId::InspectorCSSId):
6683         (WebCore::InspectorCSSId::isEmpty):
6684         (WebCore::InspectorCSSId::styleSheetId):
6685         (WebCore::InspectorCSSId::ordinal):
6686         (WebCore::InspectorCSSId::asInspectorValue):
6687         (WebCore::InspectorStyleSheet::id):
6688         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
6689         * inspector/front-end/CSSStyleModel.js:
6690         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
6691         (WebInspector.CSSStyleModel.prototype.addRule):
6692         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
6693         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
6694         (WebInspector.CSSProperty.prototype.setText):
6695         (WebInspector.CSSProperty.prototype.setDisabled.callback):
6696         (WebInspector.CSSProperty.prototype.setDisabled):
6697         (WebInspector.CSSStyleSheet.createForId):
6698         (WebInspector.CSSStyleSheet.prototype.setText):
6699
6700 2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
6701
6702         Unreviewed, rolling out r72647.
6703         http://trac.webkit.org/changeset/72647
6704         https://bugs.webkit.org/show_bug.cgi?id=50009
6705
6706         breaks the http layout tests (Requested by philn-tp on
6707         #webkit).
6708
6709         * platform/network/soup/ResourceHandleSoup.cpp:
6710         (WebCore::sendRequestCallback):
6711         (WebCore::startHttp):
6712         (WebCore::ResourceHandle::platformSetDefersLoading):
6713
6714 2010-11-23  Philippe Normand  <pnormand@igalia.com>
6715
6716         Reviewed by Martin Robinson.
6717
6718         [soup] implement ResourceHandle::platformSetDefersLoading
6719         https://bugs.webkit.org/show_bug.cgi?id=44158
6720
6721         * platform/network/soup/ResourceHandleSoup.cpp:
6722         (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
6723         using the soup_session_{,un}pause_message APIs.
6724
6725 2010-11-22  Abhishek Arya  <inferno@chromium.org>
6726
6727         Reviewed by Adam Barth.
6728
6729         r71925 broke the chrome new tab page. r71925 blocked drag and drop
6730         of same security origin objects onto themselves if their origin is
6731         marked unique. We need to allow drag and drop in that scenario.
6732         https://bugs.webkit.org/show_bug.cgi?id=49098
6733
6734         Test: http/tests/security/drag-drop-same-unique-origin.html
6735
6736         * page/SecurityOrigin.cpp:
6737         (WebCore::SecurityOrigin::canReceiveDragData):
6738
6739 2010-11-23  Cris Neckar  <cdn@chromium.org>
6740
6741         Reviewed by Dimitri Glazkov.
6742
6743         Removed unneeded conversions to RenderBlock.
6744         https://bugs.webkit.org/show_bug.cgi?id=49896
6745
6746         Test: fast/css/input-search-table-column-crash.html
6747
6748         * rendering/RenderTextControlSingleLine.cpp:
6749         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
6750
6751 2010-11-23  Ryosuke Niwa  <rniwa@webkit.org>
6752
6753         Reviewed by Adam Barth.
6754
6755         XMLDocumentParser::notifyFinished calls ScriptController's executeScript without updating isEvaluated flag
6756         https://bugs.webkit.org/show_bug.cgi?id=49701
6757
6758         Fixed the bug by calling ScriptElement's executeScript, which sets isEvaluated flag to true.
6759
6760         Test: fast/dom/script-clone-rerun-src.xhtml
6761
6762         * dom/XMLDocumentParser.cpp:
6763         (WebCore::XMLDocumentParser::notifyFinished):
6764
6765 2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
6766
6767         Unreviewed, rolling out r72628.
6768         http://trac.webkit.org/changeset/72628
6769         https://bugs.webkit.org/show_bug.cgi?id=49994
6770
6771         This patch is causing layout-test failtures on GTK Linux
6772         64-bit Debug (Requested by ctguil on #webkit).
6773
6774         * accessibility/AccessibilityRenderObject.cpp:
6775         (WebCore::AccessibilityRenderObject::renderParentObject):
6776         (WebCore::AccessibilityRenderObject::addChildren):
6777         * accessibility/AccessibilityRenderObject.h:
6778         * accessibility/chromium/AccessibilityObjectChromium.cpp:
6779         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
6780
6781 2010-11-23  Xan Lopez  <xlopez@igalia.com>
6782
6783         Reviewed by Martin Robinson.
6784
6785         [GTK] Fix IFrame DOM bindings API
6786         https://bugs.webkit.org/show_bug.cgi?id=49980
6787
6788         Fix IFrame API naming. It needs special casing because of the two
6789         consecutive capital letters.
6790
6791         * bindings/scripts/CodeGeneratorGObject.pm:
6792
6793 2010-11-23  Shimeng (Simon) Wang  <swang@google.com>
6794
6795         Reviewed by Steve Block.
6796
6797         Use platform bridge to set scroll position.
6798         https://bugs.webkit.org/show_bug.cgi?id=49550
6799
6800         Refactoring only.  Existing tests shall suffice.
6801
6802         * platform/android/PlatformBridge.h:
6803         * platform/android/ScrollViewAndroid.cpp:
6804         (WebCore::ScrollView::platformSetScrollPosition):
6805
6806 2010-11-23  Andreas Kling  <kling@webkit.org>
6807
6808         Reviewed by Tor Arne Vestbø.
6809
6810         [Qt] Selecting shadowed text causes rendering artifacts
6811         https://bugs.webkit.org/show_bug.cgi?id=49990
6812
6813         When selecting text starting from the end of a word, we need to use
6814         the X coordinate of the start of the substring when calculating the
6815         bounding rect for a ContextShadow.
6816
6817         * platform/graphics/qt/FontQt.cpp:
6818         (WebCore::drawTextCommon):
6819
6820 2010-11-23  Chris Guillory  <chris.guillory@google.com>
6821
6822         Reviewed by Dimitri Glazkov.
6823
6824         Include the FrameView widget of a RenderWidget in the accessibility tree.
6825         https://bugs.webkit.org/show_bug.cgi?id=49106
6826
6827         Include render widget children in the accessibility tree for not mac webkit ports.
6828
6829         Test: accessibility/iframe-has-document.html
6830
6831         * accessibility/AccessibilityRenderObject.cpp:
6832         (WebCore::AccessibilityRenderObject::renderParentObject):
6833         (WebCore::AccessibilityRenderObject::addChildren):
6834         (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
6835         * accessibility/AccessibilityRenderObject.h:
6836         * accessibility/chromium/AccessibilityObjectChromium.cpp:
6837         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
6838
6839 2010-11-23  Chris Rogers  <crogers@google.com>
6840
6841         Reviewed by Alexey Proskuryakov.
6842
6843         Add .responseType and .response to XMLHttpRequest
6844         https://bugs.webkit.org/show_bug.cgi?id=49633
6845
6846         Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-abort.html
6847                fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer.html
6848                fast/xmlhttprequest/xmlhttprequest-responsetype-document.html
6849                fast/xmlhttprequest/xmlhttprequest-responsetype-text.html
6850
6851         * bindings/js/JSXMLHttpRequestCustom.cpp:
6852         (WebCore::JSXMLHttpRequest::markChildren):
6853         (WebCore::JSXMLHttpRequest::open):
6854         (WebCore::JSXMLHttpRequest::response):
6855         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
6856         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
6857         * xml/XMLHttpRequest.cpp:
6858         (WebCore::XMLHttpRequest::XMLHttpRequest):
6859         (WebCore::XMLHttpRequest::responseText):
6860         (WebCore::XMLHttpRequest::responseXML):
6861         (WebCore::XMLHttpRequest::responseBlob):
6862         (WebCore::XMLHttpRequest::responseArrayBuffer):
6863         (WebCore::XMLHttpRequest::setResponseType):
6864         (WebCore::XMLHttpRequest::responseType):
6865         (WebCore::XMLHttpRequest::setAsBlob):
6866         (WebCore::XMLHttpRequest::open):
6867         (WebCore::XMLHttpRequest::clearResponse):
6868         (WebCore::XMLHttpRequest::didFinishLoading):
6869         (WebCore::XMLHttpRequest::didReceiveData):
6870         * xml/XMLHttpRequest.h:
6871         (WebCore::XMLHttpRequest::asBlob):
6872         (WebCore::XMLHttpRequest::optionalResponseXML):
6873         (WebCore::XMLHttpRequest::optionalResponseBlob):
6874         (WebCore::XMLHttpRequest::responseTypeCode):
6875         (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
6876         * xml/XMLHttpRequest.idl:
6877
6878 2010-11-23  Abhishek Arya  <inferno@chromium.org>
6879
6880         Reviewed by Adam Barth.
6881
6882         dispatchEvent call in EventSource endRequest can lead to calling endRequest
6883         again which frees up the pending activity. Make sure we have request in flight
6884         to prevent that from happening.
6885         https://bugs.webkit.org/show_bug.cgi?id=49448
6886
6887         Test: http/tests/eventsource/eventsource-status-error-iframe-crash.html
6888
6889         * page/EventSource.cpp:
6890         (WebCore::EventSource::endRequest):
6891         (WebCore::EventSource::close):
6892
6893 2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
6894
6895         Unreviewed, rolling out r72618.
6896         http://trac.webkit.org/changeset/72618
6897         https://bugs.webkit.org/show_bug.cgi?id=49987
6898
6899         "Newly added test is failing on Chromium-linux, patch author
6900         said to rollout" (Requested by jparent on #webkit).
6901
6902         * editing/EditingBehavior.h:
6903         * page/EventHandler.cpp:
6904         (WebCore::EventHandler::sendContextMenuEvent):
6905
6906 2010-11-23  Avi Drissman  <avi@google.com>
6907
6908         Reviewed by Antonio Gomes.
6909
6910         Add preference to not select when right-clicked
6911         https://bugs.webkit.org/show_bug.cgi?id=23351
6912
6913         Test: editing/selection/context-menu-text-selection.html
6914
6915         * editing/EditingBehavior.h:
6916         (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
6917         * page/EventHandler.cpp:
6918         (WebCore::EventHandler::sendContextMenuEvent):
6919
6920 2010-11-23  Alexander Pavlov  <apavlov@chromium.org>
6921
6922         Reviewed by Pavel Feldman.
6923
6924         Web Inspector: [STYLES] invalid color values are not marked as such.
6925         https://bugs.webkit.org/show_bug.cgi?id=49960
6926
6927         Properties having a valid structure but invalid values will also
6928         be marked as non-parsedOk in the Styles pane.
6929
6930         * css/CSSGrammar.y:
6931         * inspector/InspectorStyleSheet.cpp:
6932         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
6933
6934 2010-11-23  Adam Bergkvist  <adam.bergkvist@ericsson.com>
6935
6936         Reviewed by Martin Robinson.
6937
6938         [GTK] Building with Blob support fails
6939         https://bugs.webkit.org/show_bug.cgi?id=49724
6940
6941         Build fix.
6942
6943         * GNUmakefile.am:
6944         * platform/gtk/FileSystemGtk.cpp:
6945         (WebCore::seekFile): Not implemented.
6946
6947 2010-11-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
6948
6949         Reviewed by Andreas Kling.
6950
6951         Make setShouldDelegateScrolling not a real setting, so that it works
6952         similar to the related setUseFixedLayout and setPaintEntireContents
6953         options which are all in ScrollView.
6954
6955         * page/FrameView.cpp:
6956         * page/FrameView.h:
6957         * page/Settings.cpp:
6958         (WebCore::Settings::Settings):
6959         * page/Settings.h:
6960         * platform/ScrollView.cpp:
6961         (WebCore::ScrollView::ScrollView):
6962         (WebCore::ScrollView::setDelegatesScrolling):
6963         * platform/ScrollView.h:
6964         (WebCore::ScrollView::delegatesScrolling):
6965
6966 2010-11-23  Adam Roben  <aroben@apple.com>
6967
6968         Don't rely on DocumentLoader outliving the load/unload events
6969
6970         DocumentLoader::m_documentLoadTiming is used to record how long firing
6971         the load event took. But the DocumentLoader was being destroyed while
6972         the event was being dispatched (due to a call to document.open), which
6973         meant that when we tried to record the time when the load event
6974         finished, we were writing into freed memory. We now protect the
6975         DocumentLoader using a RefPtr. (I initially made a change where we
6976         would only access the DocumentLoader after the event has finished
6977         firing, but it seemed possible that a different DocumentLoader could
6978         have come into existence by then, which would cause us to record the
6979         times on the wrong DocumentLoadTiming struct.)
6980
6981         I only saw a crash when firing the load event, but the code for timing
6982         the unload event seemed like it was vulnerable to the same issue, so I
6983         made the same fix for it.
6984
6985         Fixes <http://webkit.org/b/49972> REGRESSION (r72415?): Crash in
6986         DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html
6987
6988         Reviewed by Darin Fisher.
6989
6990         * loader/FrameLoader.cpp:
6991         (WebCore::FrameLoader::stopLoading):
6992         * page/DOMWindow.cpp:
6993         (WebCore::DOMWindow::dispatchLoadEvent):
6994         Protect the DocumentLoader (and thus its DocumentLoadTiming) with a
6995         RefPtr.
6996
6997 2010-11-17  Zhenyao Mo  <zmo@google.com>
6998
6999         Reviewed by Kenneth Russell.
7000
7001         readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA
7002         https://bugs.webkit.org/show_bug.cgi?id=49673
7003
7004         Test: fast/canvas/webgl/read-pixels-test.html
7005
7006         * html/canvas/WebGLRenderingContext.cpp:
7007         (WebCore::WebGLRenderingContext::readPixels):
7008
7009 2010-11-23  Alexander Pavlov  <apavlov@chromium.org>
7010
7011         Reviewed by Pavel Feldman.
7012
7013         Web Inspector: [STYLES] Use strike through as an 'overridden' marker.
7014         https://bugs.webkit.org/show_bug.cgi?id=49961
7015
7016         "line-through" is used for inactive properties overridden within the same style.
7017
7018         * inspector/front-end/inspector.css:
7019         (.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled):
7020
7021 2010-11-23  Yael Aharon  <yael.aharon@nokia.com>
7022
7023         Reviewed by Antonio Gomes.
7024
7025         Spatial Navigation: Code cleanup
7026         https://bugs.webkit.org/show_bug.cgi?id=49442
7027
7028         Remove code that is not used anymore after http://trac.webkit.org/changeset/72522.
7029         Added const to canBeScrolledIntoView.
7030         No new tests because this is only code cleanup.
7031
7032         * page/FocusController.cpp:
7033         * page/FocusController.h:
7034         * page/SpatialNavigation.cpp:
7035         (WebCore::canBeScrolledIntoView):
7036         * page/SpatialNavigation.h:
7037
7038 2010-11-23  Jeremy Orlow  <jorlow@chromium.org>
7039
7040         Reviewed by Steve Block.
7041
7042         Remove unimplemented (and untested) methods from IndexedDB
7043         https://bugs.webkit.org/show_bug.cgi?id=49911
7044
7045         * storage/IDBCursor.idl:
7046         * storage/IDBDatabase.idl:
7047
7048 2010-11-18  Satish Sampath  <satish@chromium.org>
7049
7050         Reviewed by Jeremy Orlow.
7051
7052         For speech input event, send an event object containing all the recognition results and metadata.
7053         https://bugs.webkit.org/show_bug.cgi?id=49736
7054
7055         Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
7056         has the full list of recognition results and populates only the top result into the input field
7057         automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
7058         code can access the full list of results via "event.results.length", "results[i].utterance" and
7059         "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
7060
7061         Test: fast/speech/input-onspeechchange-event.html
7062
7063         * CMakeLists.txt:
7064         * GNUmakefile.am:
7065         * WebCore.gypi:
7066         * WebCore.pri:
7067         * WebCore.pro:
7068         * WebCore.xcodeproj/project.pbxproj:
7069         * bindings/js/JSEventCustom.cpp:
7070         (WebCore::toJS): Added new event
7071         * bindings/v8/custom/V8EventCustom.cpp:
7072         (WebCore::toV8): Added new event
7073         * dom/Event.cpp:
7074         (WebCore::Event::isSpeechInputEvent):
7075         * dom/Event.h:
7076         * html/HTMLInputElement.cpp:
7077         * html/HTMLInputElement.h:
7078         * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
7079         (WebCore::SpeechInputEvent::~SpeechInputEvent):
7080         (WebCore::SpeechInputEvent::create):
7081         (WebCore::SpeechInputEvent::isSpeechInputEvent):
7082         (WebCore::SpeechInputEvent::results):
7083         (WebCore::SpeechInputEvent::SpeechInputEvent):
7084         * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
7085         * page/SpeechInputListener.h:
7086         * page/SpeechInputResult.cpp:
7087         (WebCore::SpeechInputResult::create):
7088         * page/SpeechInputResult.h:
7089         * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
7090         * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
7091         (WebCore::SpeechInputResultList::create):
7092         (WebCore::SpeechInputResultList::length):
7093         (WebCore::SpeechInputResultList::item):
7094         (WebCore::SpeechInputResultList::SpeechInputResultList):
7095         * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
7096         * platform/mock/SpeechInputClientMock.cpp:
7097         (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
7098         (WebCore::SpeechInputClientMock::clearResults):
7099         (WebCore::SpeechInputClientMock::timerFired):
7100         * platform/mock/SpeechInputClientMock.h:
7101         * rendering/TextControlInnerElements.cpp:
7102         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
7103
7104 2010-11-22  Alexey Proskuryakov  <ap@apple.com>
7105
7106         Reviewed by Darin Adler.
7107
7108         https://bugs.webkit.org/show_bug.cgi?id=49860
7109         CSS style rules don't GC protect objects reachable as their properties
7110
7111         Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
7112
7113         * Android.jscbindings.mk:
7114         * CMakeLists.txt:
7115         * GNUmakefile.am:
7116         * WebCore.gypi:
7117         * WebCore.pro:
7118         * WebCore.vcproj/WebCore.vcproj:
7119         * WebCore.xcodeproj/project.pbxproj:
7120         * bindings/js/JSBindingsAllInOne.cpp:
7121         Added new files, sorted appropriate sections for easier adding.
7122
7123         * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
7124         (WebCore::JSCSSFontFaceRule::markChildren):
7125         * bindings/js/JSCSSImportRuleCustom.cpp: Added.
7126         (WebCore::JSCSSImportRule::markChildren):
7127         * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
7128         (WebCore::JSCSSMediaRule::markChildren):
7129         * bindings/js/JSCSSPageRuleCustom.cpp: Added.
7130         (WebCore::JSCSSPageRule::markChildren):
7131         * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
7132         (WebCore::JSCSSStyleRule::markChildren):
7133         * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
7134         (WebCore::JSWebKitCSSKeyframeRule::markChildren):
7135         * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
7136         (WebCore::JSWebKitCSSKeyframesRule::markChildren):
7137         Mark objects reachable through these ones.
7138
7139         * css/CSSFontFaceRule.idl:
7140         * css/CSSImportRule.idl:
7141         * css/CSSMediaRule.idl:
7142         * css/CSSPageRule.idl:
7143         * css/CSSStyleRule.idl:
7144         * css/WebKitCSSKeyframeRule.idl:
7145         * css/WebKitCSSKeyframesRule.idl:
7146         Added CustomMarkFunction IDL attribute.
7147
7148 2010-11-23  Helder Correia  <helder@sencha.com>
7149
7150         Reviewed by Ariya Hidayat.
7151
7152         [Qt] Drawing an image on canvas with shadowBlur draws a solid shadow
7153         https://bugs.webkit.org/show_bug.cgi?id=49878
7154
7155         Add support for blurry shadows when drawing images on canvas.
7156
7157         Test: fast/canvas/canvas-drawImage-shadow.html
7158
7159         * platform/graphics/qt/ContextShadowQt.cpp:
7160         (WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too.
7161         * platform/graphics/qt/ImageQt.cpp:
7162         (WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow.
7163
7164 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
7165
7166         Reviewed by Adam Roben.
7167
7168         Port ContextMenuWin.cpp to WinCE
7169         https://bugs.webkit.org/show_bug.cgi?id=48408
7170
7171         * platform/ContextMenu.h:
7172         * platform/win/ContextMenuWin.cpp:
7173         (WebCore::ContextMenu::ContextMenu):
7174         (WebCore::ContextMenu::itemCount):
7175         (WebCore::insertMenuItem):
7176         (WebCore::ContextMenu::insertItem):
7177         (WebCore::contextMenuItemByIdOrPosition):
7178         (WebCore::ContextMenu::setPlatformDescription):
7179         (WebCore::contextMenuItemVector):
7180         (WebCore::platformMenuDescription):
7181
7182 2010-11-22  David Hyatt  <hyatt@apple.com>
7183
7184         Back out r72527 since it caused multiple rendering regressions.  Details in bug.
7185
7186         * rendering/InlineFlowBox.cpp:
7187         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
7188         * rendering/RenderListItem.cpp:
7189         (WebCore::RenderListItem::positionListMarker):
7190
7191 2010-11-22  John Knottenbelt  <jknotten@chromium.org>
7192
7193         Reviewed by Steve Block.
7194
7195         Implement mocks for client-based Geolocation.
7196         https://bugs.webkit.org/show_bug.cgi?id=49258
7197
7198         * Android.mk:
7199         * CMakeLists.txt:
7200         * GNUmakefile.am:
7201         * WebCore.gypi:
7202         * WebCore.pro:
7203         * WebCore.vcproj/WebCore.vcproj:
7204         * WebCore.xcodeproj/project.pbxproj:
7205         * platform/mock/GeolocationClientMock.cpp: Added.
7206         (WebCore::GeolocationClientMock::GeolocationClientMock):
7207         (WebCore::GeolocationClientMock::~GeolocationClientMock):
7208         (WebCore::GeolocationClientMock::setController):
7209         (WebCore::GeolocationClientMock::setPosition):
7210         (WebCore::GeolocationClientMock::setError):
7211         (WebCore::GeolocationClientMock::geolocationDestroyed):
7212         (WebCore::GeolocationClientMock::startUpdating):
7213         (WebCore::GeolocationClientMock::stopUpdating):
7214         (WebCore::GeolocationClientMock::setEnableHighAccuracy):
7215         (WebCore::GeolocationClientMock::lastPosition):
7216         (WebCore::GeolocationClientMock::timerFired):
7217         (WebCore::GeolocationClientMock::makeGeolocationCallback):
7218         * platform/mock/GeolocationClientMock.h: Added.
7219
7220 2010-11-22  Tony Gentilcore  <tonyg@chromium.org>
7221
7222         Reviewed by Adam Barth.
7223
7224         Fix bogus include guard.
7225
7226         * loader/NavigationScheduler.h:
7227
7228 2010-11-22  Andreas Kling  <kling@webkit.org>
7229
7230         Reviewed by Ariya Hidayat.
7231
7232         [Qt] Canvas: strokeText() and fillText() produce same shadow
7233         https://bugs.webkit.org/show_bug.cgi?id=48845
7234
7235         Test: fast/canvas/canvas-strokeText-strokes-shadow.html
7236
7237         * platform/graphics/qt/FontQt.cpp:
7238         (WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case.
7239
7240 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
7241
7242         Reviewed by Sam Weinig.
7243
7244         Use WTF::FixedArray::size()
7245         https://bugs.webkit.org/show_bug.cgi?id=49891
7246
7247         * dom/Document.cpp:
7248         (WebCore::Document::~Document):
7249
7250 2010-11-22  Ryosuke Niwa  <rniwa@webkit.org>
7251
7252         Reviewed by Tony Chang.
7253
7254         SelectionController::typingStyle() should return EditingStyle*
7255         https://bugs.webkit.org/show_bug.cgi?id=49813
7256
7257         Changed the return type of SelectionController::typingStyle to EditingStyle*.
7258
7259         Extracted textDirection from Editor::textDirectionForSelection to hide the underlying
7260         CSSMutableStyleDeclaration.
7261
7262         Also extracted the code to preserve unicode-bidi and direction CSS properties in
7263         InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection,
7264         which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not
7265         these two properties are preserved.
7266
7267         Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of
7268         CSSMutableStyleDeclaration.
7269
7270         No new tests are added since this is a refactoring.
7271
7272         * editing/EditingStyle.cpp:
7273         (WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection.
7274         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check.
7275         (WebCore::EditingStyle::prepareToApplyAt): See above.
7276         (WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle.
7277         * editing/EditingStyle.h: Moved WritingDirection from Editor.h
7278         * editing/Editor.cpp:
7279         (WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection.
7280         (WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle.
7281         (WebCore::Editor::selectionComputedStyle): Ditto.
7282         (WebCore::Editor::styleForSelectionStart): Ditto.
7283         * editing/Editor.h:
7284         * editing/InsertLineBreakCommand.cpp:
7285         (WebCore::InsertLineBreakCommand::doApply): Ditto.
7286         * editing/InsertTextCommand.cpp:
7287         (WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection.
7288         * editing/SelectionController.h:
7289         (WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*.
7290         (WebCore::SelectionController::copyTypingStyle): Added.
7291
7292 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
7293
7294         Reviewed by Adam Roben.
7295
7296         [WINCE] Set correct preprocessor definitions
7297         https://bugs.webkit.org/show_bug.cgi?id=49887
7298
7299         * config.h:
7300
7301 2010-11-22  James Robinson  <jamesr@chromium.org>
7302
7303         Reviewed by Dimitri Glazkov.
7304
7305         [chromium] font-size:0 text runs should have zero width
7306         https://bugs.webkit.org/show_bug.cgi?id=49871
7307
7308         Returns 0 from platformWidthForGlyph if the specified font size is 0.
7309
7310         Test: fast/text/font-size-zero.html
7311
7312         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
7313         (WebCore::SimpleFontData::platformWidthForGlyph):
7314         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
7315         (WebCore::SimpleFontData::platformWidthForGlyph):
7316
7317 2010-11-22  Charlie Reis  <creis@chromium.org>
7318
7319         Reviewed by Darin Fisher.
7320
7321         Update correct content state during back/forward navigations
7322         https://bugs.webkit.org/show_bug.cgi?id=48809
7323
7324         Ensures that history's previousItem is non-null when clients try to
7325         update content state (e.g., Chromium's UpdateSessionHistory).  We now
7326         track load completions with a boolean field rather than by clearing
7327         previousItem.
7328
7329         Test: fast/history/saves-state-after-frame-nav.html
7330
7331         * loader/HistoryController.cpp:
7332         * loader/HistoryController.h:
7333
7334 2010-11-22  Luiz Agostini  <luiz.agostini@openbossa.org>
7335
7336         Unreviewed, Windows build fix.
7337
7338         Adding JSMediaQueryList to DerivedSources.cpp.
7339
7340         * DerivedSources.cpp:
7341
7342 2010-11-22  Adam Roben  <aroben@apple.com>
7343
7344         Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
7345
7346         Apple's Windows build allows placing header files and import libraries for WebKit's
7347         dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
7348         $WebKitLibrariesDir environment variable. This is both required for production builds and
7349         convenient for Apple-internal developer builds. Apple's production builds also require that
7350         WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
7351         builds, the files are copied into that directory tree by the
7352         WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
7353         copying is done by
7354         JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
7355
7356         This .vsprops copying is problematic in one very important case: when a developer updates
7357         their source tree and then tries to build. Visual Studio only reads .vsprops files when a
7358         project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
7359         updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
7360         build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
7361         $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
7362         will proceed with out-of-date .vsprops files, which will likely result in a build failure.
7363
7364         To fix this, we now use normal relative paths to access the .vsprops files in the source
7365         tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
7366         variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
7367         unset, so the normal relative paths are used to read the .vsprops files out of the source
7368         tree directly. In production builds, this environment variable is set to a fake directory
7369         that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
7370         is resolved.
7371         
7372         For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
7373
7374         $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
7375
7376         In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
7377         files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
7378         JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
7379         "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
7380         FeatureDefines.vsprops becomes:
7381
7382         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
7383
7384         which resolves to:
7385
7386         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
7387
7388         (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
7389         actually exist since they are matched by an equal number of ".." path components.)
7390
7391         Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
7392         Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
7393
7394         Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
7395         updated
7396
7397         Reviewed by Dave Hyatt.
7398
7399         * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
7400         production builds can find the .vsprops files.
7401
7402         * WebCore.vcproj/QTMovieWin.vcproj:
7403         * WebCore.vcproj/WebCore.vcproj:
7404         Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
7405         files.
7406
7407 2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
7408
7409         Reviewed by Darin Adler.
7410
7411         Implement CSSOM View matchMedia interface
7412         https://bugs.webkit.org/show_bug.cgi?id=37205
7413
7414         New interfaces may be used to evaluate media queries and to associate listeners
7415         to media queries. Those listeners are called whenever the associated query changes.
7416         Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
7417
7418         operator== added to JS version of ScriptValue.
7419         Method isFunction added to JS and V8 versions of ScriptValue.
7420
7421         * bindings/js/ScriptValue.cpp:
7422         (WebCore::ScriptValue::isFunction):
7423         * bindings/js/ScriptValue.h:
7424         (WebCore::ScriptValue::operator==):
7425         * bindings/v8/ScriptValue.h:
7426         (WebCore::ScriptValue::isFunction):
7427
7428         Some changes were needed to the code generators to handle type MediaQueryListListener.
7429
7430         * bindings/scripts/CodeGeneratorGObject.pm:
7431         * bindings/scripts/CodeGeneratorJS.pm:
7432         * bindings/scripts/CodeGeneratorV8.pm:
7433
7434         Some changes to the bindings test results that were previously added.
7435
7436         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
7437         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
7438         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
7439         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
7440         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
7441         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
7442         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
7443
7444         New interfaces:
7445
7446         * css/MediaQueryList.cpp: Added.
7447         * css/MediaQueryList.h: Added.
7448         * css/MediaQueryList.idl: Added.
7449
7450         * css/MediaQueryListListener.cpp: Added.
7451         * css/MediaQueryListListener.h: Added.
7452         * css/MediaQueryListListener.idl: Added.
7453
7454         To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
7455
7456         * css/MediaQueryMatcher.cpp: Added.
7457         * css/MediaQueryMatcher.h: Added.
7458
7459         Document and DOMWindow have changed to support new features. DOMWindow is the class that
7460         publishes methods matchMedia but for page cache to work properly the reference to the
7461         MediaQueryMatcher must be in Document.
7462
7463         * dom/Document.cpp:
7464         (WebCore::Document::~Document):
7465         (WebCore::Document::mediaQueryMatcher):
7466         (WebCore::Document::styleSelectorChanged):
7467         * dom/Document.h:
7468         * page/DOMWindow.cpp:
7469         (WebCore::DOMWindow::matchMedia):
7470         * page/DOMWindow.h:
7471         * page/DOMWindow.idl:
7472
7473         Build systems
7474
7475         * CMakeLists.txt:
7476         * DerivedSources.make:
7477         * GNUmakefile.am:
7478         * WebCore.gypi:
7479         * WebCore.pri:
7480         * WebCore.pro:
7481         * WebCore.vcproj/WebCore.vcproj:
7482         * WebCore.xcodeproj/project.pbxproj:
7483         * bindings/gobject/GNUmakefile.am:
7484
7485         Tests: fast/media/media-query-list-01.html
7486                fast/media/media-query-list-02.html
7487                fast/media/media-query-list-03.html
7488                fast/media/media-query-list-04.html
7489                fast/media/media-query-list-05.html
7490                fast/media/media-query-list-06.html
7491                fast/media/media-query-list-07.html
7492
7493 2010-11-22  Alexander Pavlov  <apavlov@chromium.org>
7494
7495         Reviewed by Pavel Feldman.
7496
7497         Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
7498         https://bugs.webkit.org/show_bug.cgi?id=49804
7499
7500         * css/CSSImportRule.cpp:
7501         (WebCore::CSSImportRule::insertedIntoParent):
7502         * inspector/InspectorCSSAgent.cpp:
7503         (WebCore::InspectorCSSAgent::setStyleSheetText2):
7504         * inspector/InspectorStyleSheet.cpp:
7505         (WebCore::asCSSRuleList):
7506         (WebCore::InspectorStyleSheet::reparseStyleSheet):
7507         (WebCore::InspectorStyleSheet::setText):
7508         (WebCore::InspectorStyleSheet::addRule):
7509         (WebCore::InspectorStyleSheet::ruleForId):
7510         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
7511         (WebCore::InspectorStyleSheet::ensureText):
7512         (WebCore::InspectorStyleSheet::ensureSourceData):
7513         (WebCore::InspectorStyleSheet::ensureFlatRules):
7514         (WebCore::InspectorStyleSheet::revalidateStyle):
7515         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
7516         (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
7517         (WebCore::InspectorStyleSheet::collectFlatRules):
7518         * inspector/InspectorStyleSheet.h:
7519
7520 2010-11-22  Ilya Tikhonovsky  <loislo@chromium.org>
7521
7522         Reviewed by Pavel Feldman.
7523
7524         Web Inspector: dump inspector protocol messages into console.
7525         Sometimes I need to dump inspector messages into console.
7526         It'd be much simple to have this code in repository and
7527         enable protocol dumping just by a flag.
7528
7529         https://bugs.webkit.org/show_bug.cgi?id=49905
7530
7531         * inspector/CodeGeneratorInspector.pm:
7532         * inspector/front-end/WorkersSidebarPane.js:
7533         (WebInspector.WorkersSidebarPane.prototype.reset):
7534         * inspector/front-end/inspector.js:
7535         (WebInspector_syncDispatch):
7536
7537 2010-11-22  Andreas Kling  <kling@webkit.org>
7538
7539         Reviewed by Nikolas Zimmermann.
7540
7541         GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
7542         https://bugs.webkit.org/show_bug.cgi?id=49840
7543
7544         This avoid copying a Path object when drawing focus rings.
7545
7546         * platform/graphics/GraphicsContext.h:
7547         * platform/graphics/cairo/GraphicsContextCairo.cpp:
7548         (WebCore::GraphicsContext::drawFocusRing):
7549         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
7550         (WebCore::GraphicsContext::drawFocusRing):
7551         * platform/graphics/mac/GraphicsContextMac.mm:
7552         (WebCore::GraphicsContext::drawFocusRing):
7553         * platform/graphics/qt/GraphicsContextQt.cpp:
7554         (WebCore::GraphicsContext::drawFocusRing):
7555         * platform/graphics/skia/GraphicsContextSkia.cpp:
7556         (WebCore::GraphicsContext::drawFocusRing):
7557         * platform/graphics/win/GraphicsContextCGWin.cpp:
7558         (WebCore::GraphicsContext::drawFocusRing):
7559         * platform/graphics/wince/GraphicsContextWinCE.cpp:
7560         (WebCore::GraphicsContext::drawFocusRing):
7561         * platform/graphics/wx/GraphicsContextWx.cpp:
7562         (WebCore::GraphicsContext::drawFocusRing):
7563         * rendering/RenderImage.h:
7564         * rendering/RenderImage.cpp:
7565         (WebCore::RenderImage::paint):
7566         (WebCore::RenderImage::paintFocusRing):
7567         Renamed from paintFocusRings since it only paints one ring.
7568
7569 2010-11-22  Renata Hodovan  <reni@webkit.org>
7570
7571         Reviewed by Andreas Kling.
7572
7573         Outside list bullets ignore text-align style.
7574         https://bugs.webkit.org/show-bug.cgi?id=15713
7575
7576         Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
7577         First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
7578         position. As for the others, this sum should be decremented with the previous marker's width.
7579         In case of vertical markers the padding is unneeded.
7580
7581         Test: fast/lists/outSideListMarkers.html
7582
7583         * rendering/InlineFlowBox.cpp:
7584         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
7585         * rendering/RenderListItem.cpp:
7586         (WebCore::RenderListItem::positionListMarker):
7587
7588 2010-11-22  Yael Aharon  <yael.aharon@nokia.com>, Chang Shu  <chang.shu@nokia.com>
7589
7590         Reviewed by Antonio Gomes.
7591
7592         Spatial Navigation: issues with the node selection algorithm.
7593         https://bugs.webkit.org/show_bug.cgi?id=49382
7594
7595         Modify the Spatial Navigation algorithm, to better handle initial focus and
7596         navigation between frames.
7597         The new algorithm takes the rect of the focused node as the startingRect,
7598         instead of the node itself. That allows us to construct a virtual rect if
7599         there is no focused node, or if it is off the screen.
7600         The virtual rect is the edge of the container in the direction of the navigation.
7601
7602         With this patch, scrollable containers and frames will scroll regardless of weather
7603         they have focusable content. Users will be able to use arrow keys to view all the
7604         content of such a container. The only exception is if the container has style overflow:hidden. 
7605         We will not scroll in that case.
7606
7607         With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
7608         we do a hit test and only the node on top can get focus.
7609
7610         hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
7611         its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
7612         and cannot scroll.
7613
7614         calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
7615         the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
7616         allowed to scroll.
7617
7618         * page/FocusController.cpp:
7619         (WebCore::updateFocusCandidateIfNeeded):
7620         (WebCore::FocusController::findFocusCandidateInContainer):
7621         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
7622         (WebCore::FocusController::advanceFocusDirectionally):
7623         * page/FocusController.h:
7624         * page/FrameView.h:
7625         * page/SpatialNavigation.cpp:
7626         (WebCore::FocusCandidate::FocusCandidate):
7627         (WebCore::distanceDataForNode):
7628         (WebCore::alignmentForRects):
7629         (WebCore::areRectsMoreThanFullScreenApart):
7630         (WebCore::isRectInDirection):
7631         (WebCore::hasOffscreenRect):
7632         (WebCore::scrollInDirection):
7633         (WebCore::isScrollableContainerNode):
7634         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
7635         (WebCore::canScrollInDirection):
7636         (WebCore::rectToAbsoluteCoordinates):
7637         (WebCore::nodeRectInAbsoluteCoordinates):
7638         (WebCore::frameRectInAbsoluteCoordinates):
7639         (WebCore::entryAndExitPointsForDirection):
7640         (WebCore::canBeScrolledIntoView):
7641         (WebCore::virtualRectForDirection):
7642         * page/SpatialNavigation.h:
7643
7644 2010-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
7645
7646         Reviewed by Dirk Schulze.
7647
7648         Fix various problems with the SVG*List code
7649         https://bugs.webkit.org/show_bug.cgi?id=49880
7650
7651         Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
7652         SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
7653         by the various valueAsString() functions for maximum compatibility with Firefox / Opera.
7654
7655         * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
7656         * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
7657         * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
7658         * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.
7659
7660         Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
7661                svg/dom/SVGNumberList-basics.xhtml
7662                svg/dom/SVGPointList-basics.xhtml
7663                svg/dom/SVGStringList-basics.xhtml
7664                svg/dom/SVGTransformList-basics.xhtml
7665
7666         * bindings/js/JSSVGLengthCustom.cpp:
7667         (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
7668         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
7669         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
7670         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
7671         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
7672         * bindings/v8/custom/V8SVGLengthCustom.cpp:
7673         (WebCore::V8SVGLength::valueAccessorSetter): Ditto.
7674         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
7675         * svg/SVGAElement.cpp:
7676         (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7677         * svg/SVGAnimationElement.cpp:
7678         (WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
7679         * svg/SVGCircleElement.cpp:
7680         (WebCore::SVGCircleElement::synchronizeProperty): Ditto.
7681         * svg/SVGClipPathElement.cpp:
7682         (WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
7683         * svg/SVGCursorElement.cpp:
7684         (WebCore::SVGCursorElement::synchronizeProperty): Ditto.
7685         * svg/SVGDefsElement.cpp:
7686         (WebCore::SVGDefsElement::synchronizeProperty): Ditto.
7687         * svg/SVGEllipseElement.cpp:
7688         (WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
7689         * svg/SVGForeignObjectElement.cpp:
7690         (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
7691         * svg/SVGGElement.cpp:
7692         (WebCore::SVGGElement::synchronizeProperty): Ditto.
7693         * svg/SVGImageElement.cpp:
7694         (WebCore::SVGImageElement::synchronizeProperty): Ditto.
7695         * svg/SVGLengthList.cpp:
7696         (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
7697         * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7698         * svg/SVGLineElement.cpp:
7699         (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7700         * svg/SVGMaskElement.cpp:
7701         (WebCore::SVGMaskElement::synchronizeProperty): Ditto.
7702         * svg/SVGNumberList.cpp:
7703         (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
7704         * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7705         * svg/SVGPathElement.cpp:
7706         (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7707         * svg/SVGPatternElement.cpp:
7708         (WebCore::SVGPatternElement::synchronizeProperty): Ditto.
7709         * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7710         * svg/SVGPolyElement.cpp:
7711         (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7712         * svg/SVGRectElement.cpp:
7713         (WebCore::SVGRectElement::synchronizeProperty): Ditto.
7714         * svg/SVGSVGElement.cpp:
7715         (WebCore::SVGSVGElement::synchronizeProperty): Ditto.
7716         * svg/SVGStringList.cpp:
7717         (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
7718         * svg/SVGStringList.h:
7719         * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7720         * svg/SVGSwitchElement.cpp:
7721         (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7722         * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
7723         (WebCore::SVGTests::SVGTests):
7724         (WebCore::SVGTests::isValid):
7725         (WebCore::SVGTests::parseMappedAttribute):
7726         (WebCore::SVGTests::isKnownAttribute):
7727         (WebCore::SVGTests::handleAttributeChange):
7728         (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
7729         (WebCore::SVGTests::synchronizeRequiredFeatures):
7730         (WebCore::SVGTests::synchronizeRequiredExtensions):
7731         (WebCore::SVGTests::synchronizeSystemLanguage):
7732         (WebCore::SVGTests::requiredFeatures):
7733         (WebCore::SVGTests::requiredExtensions):
7734         (WebCore::SVGTests::systemLanguage):
7735         * svg/SVGTests.h:
7736         * svg/SVGTextContentElement.cpp:
7737         (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7738         * svg/SVGTransform.cpp:
7739         (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
7740         * svg/SVGTransform.h:
7741         * svg/SVGTransformList.cpp:
7742         (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
7743         * svg/SVGUseElement.cpp:
7744         (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7745         * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
7746         (WebCore::SVGListProperty::initializeValuesAndWrappers):
7747         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
7748         (WebCore::SVGListProperty::replaceItemValues):
7749         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
7750         (WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace.
7751         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
7752         (WebCore::SVGListProperty::role): Expose the role of this list property.
7753         * svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
7754         (WebCore::SVGPathSegListPropertyTearOff::initialize):
7755         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
7756         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
7757         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
7758         * svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor.
7759         * svg/properties/SVGPropertyTearOff.h:
7760         (WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it.
7761         (WebCore::SVGPropertyTearOff::role):
7762         (WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
7763         * svg/properties/SVGStaticPropertyTearOff.h:
7764         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff.
7765         * svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto.
7766         (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
7767
7768 2010-11-22  Yuzo Fujishima  <yuzo@google.com>
7769
7770         Reviewed by Dan Bernstein.
7771
7772         Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered.
7773         https://bugs.webkit.org/show_bug.cgi?id=49374
7774
7775         Test: fast/css/font-face-data-uri.html
7776
7777         * css/CSSFontFaceSrcValue.cpp:
7778         (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file
7779         extension" for data URI. For other URI, check against ".eot" rather
7780         than "eot".
7781
7782 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
7783
7784         Reviewed by Csaba Osztrogonác.
7785
7786         Use WTF_ARRAY_LENGTH in WebCore directory
7787         https://bugs.webkit.org/show_bug.cgi?id=49882
7788
7789         * accessibility/AccessibilityObject.cpp:
7790         (WebCore::createARIARoleMap):
7791         * bindings/js/JSDOMWindowBase.cpp:
7792         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
7793         * bindings/scripts/CodeGeneratorV8.pm:
7794         * bindings/scripts/test/V8/V8TestObj.cpp:
7795         (WebCore::ConfigureV8TestObjTemplate):
7796         * css/CSSComputedStyleDeclaration.cpp:
7797         * css/CSSMutableStyleDeclaration.cpp:
7798         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
7799         * css/CSSParser.cpp:
7800         (WebCore::CSSParser::parseAnimationShorthand):
7801         (WebCore::CSSParser::parseTransitionShorthand):
7802         * css/CSSPropertyLonghand.cpp:
7803         (WebCore::initShorthandMap):
7804         * dom/ExceptionCode.cpp:
7805         (WebCore::getExceptionCodeDescription):
7806         * editing/ApplyStyleCommand.cpp:
7807         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
7808         * editing/EditingStyle.cpp:
7809         * editing/Editor.cpp:
7810         (WebCore::triStateOfStyle):
7811         * editing/EditorCommand.cpp:
7812         (WebCore::createCommandMap):
7813         * editing/MarkupAccumulator.cpp:
7814         (WebCore::appendCharactersReplacingEntities):
7815         * html/canvas/WebGLBuffer.cpp:
7816         (WebCore::WebGLBuffer::getCachedMaxIndex):
7817         (WebCore::WebGLBuffer::setCachedMaxIndex):
7818         * loader/FTPDirectoryParser.cpp:
7819         (WebCore::parseOneFTPLine):
7820         * mathml/RenderMathMLOperator.cpp:
7821         (WebCore::RenderMathMLOperator::updateFromElement):
7822         * page/animation/AnimationBase.cpp:
7823         (WebCore::addShorthandProperties):
7824         * rendering/RenderTextControl.cpp:
7825         (WebCore::RenderTextControl::hasValidAvgCharWidth):
7826         * rendering/break_lines.cpp:
7827         * svg/SVGTransformable.cpp:
7828         (WebCore::parseAndSkipType):
7829         * svg/SVGViewSpec.cpp:
7830         (WebCore::SVGViewSpec::parseViewSpec):
7831         * svg/SVGZoomAndPan.cpp:
7832         (WebCore::SVGZoomAndPan::parseZoomAndPan):
7833         * xml/XPathFunctions.cpp:
7834         (WebCore::XPath::createFunctionMap):
7835
7836 2010-11-21  Mario Sanchez Prada  <msanchez@igalia.com>
7837
7838         Reviewed by Chris Fleizach.
7839
7840         [GTK] Implement ROLE_COMBO_BOX
7841         https://bugs.webkit.org/show_bug.cgi?id=25678
7842
7843         Implement the remaining bits for combo boxes.
7844
7845         This patch finishes the implementation, from the point of view of
7846         the Atk library, of those objects exposed to ATK as combo boxes,
7847         and their related elements (menus and menu items). It therefore
7848         implements the proper interfaces for each type of object related
7849         to combo boxes (AtkSelection for the combo box, AtkText for every
7850         menu item and AtkAction for the combo box, the menu and the menu
7851         items), takes care of emitting the proper signals when focus or a
7852         given a selection changes and adds a new unit test to check all
7853         this new stuff.
7854
7855         Make possible to ask an AccessibleMenuListOption for a sensible
7856         string representation, so far only available through the private
7857         and MSAA related method nameForMSAA. Just moved the implementation
7858         of that method to an overriden version of stringValue(), which is
7859         platform independent, and called that from nameForMSAA().
7860
7861         * accessibility/AccessibilityMenuListOption.h:
7862         * accessibility/AccessibilityMenuListOption.cpp:
7863         (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
7864         stringValue(), which holds from now on that used to be here.
7865         (WebCore::AccessibilityMenuListOption::stringValue): New, override
7866         of AccessibilityObject::stringValue() to return a proper string.
7867
7868         Emit the missing signals when a selection is made.
7869
7870         * accessibility/gtk/AXObjectCacheAtk.cpp:
7871         (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
7872         'focus' signals when a selection is made over the combo box.
7873
7874         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
7875         (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
7876         Atk states are added to the state set when needed.
7877         (listObjectForSelection): New, returns the proper list object (the
7878         one holding the list of available options as its children) for an
7879         specific AtkObject implementing AtkSelection. This is needed
7880         because sometimes the selectable options are not directly children
7881         of the AtkSelection object (i.e. a combo box has a 'menu' object
7882         as its only child of it, holding the list of options as children).
7883         (optionFromList): Use listObjectForSelection() to get the actual
7884         object holding the list of children as the available options.
7885         (optionFromSelection): Add support for combo boxes.
7886         (webkit_accessible_selection_add_selection): Ditto.
7887         (webkit_accessible_selection_clear_selection): Ditto.
7888         (webkit_accessible_selection_get_selection_count): Ditto.
7889         (webkit_accessible_selection_is_child_selected): Ditto.
7890         (webkit_accessible_selection_remove_selection): Ditto.
7891         (webkit_accessible_text_get_text): Makes sure stringValue() is
7892         considered to get the result substring when it was already
7893         considered when checking the maximum text length for the object.
7894         (getInterfaceMaskFromObject): Make sure the AtkSelection interface
7895         is implemented for the combo boxes, that the AtkText is
7896         implemented for the menu items and that the AtkAction interface is
7897         now implemented for every object (WebCore will decide what to do).
7898
7899         Avoid a segfault crash when using this from unit tests.
7900
7901         * platform/gtk/PopupMenuGtk.cpp:
7902         (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
7903         before calling gdk_window_get_origin() over it.
7904
7905 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
7906
7907         Reviewed by Csaba Osztrogonác.
7908
7909         Use WTF_ARRAY_LENGTH in WebCore/platform directory
7910         https://bugs.webkit.org/show_bug.cgi?id=49881
7911
7912         * platform/KURL.cpp:
7913         (WebCore::portAllowed):
7914         * platform/KURLGoogle.cpp:
7915         (WebCore::portAllowed):
7916         * platform/MIMETypeRegistry.cpp:
7917         (WebCore::initializeSupportedImageMIMETypes):
7918         (WebCore::initializeSupportedJavaScriptMIMETypes):
7919         (WebCore::initializeSupportedNonImageMimeTypes):
7920         * platform/UUID.cpp:
7921         (WebCore::createCanonicalUUIDString):
7922         * platform/efl/RenderThemeEfl.cpp:
7923         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
7924         * platform/graphics/GraphicsTypes.cpp:
7925         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
7926         (WebCore::FontCodepage::if):
7927         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
7928         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
7929         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
7930         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
7931         (WebCore::disableComponentsOnce):
7932         * platform/graphics/mac/SimpleFontDataATSUI.mm:
7933         (WebCore::SimpleFontData::checkShapesArabic):
7934         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
7935         (WebCore::SimpleFontData::getCFStringAttributes):
7936         * platform/graphics/win/GraphicsContextCGWin.cpp:
7937         (WebCore::GraphicsContext::drawLineForTextChecking):
7938         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
7939         (WebCore::disableComponentsOnce):
7940         * platform/graphics/win/QTMovie.cpp:
7941         (QTMovie::load):
7942         * platform/network/cf/SocketStreamHandleCFNet.cpp:
7943         (WebCore::SocketStreamHandle::createStreams):
7944         * platform/text/TextEncodingRegistry.cpp:
7945         (WebCore::pruneBlacklistedCodecs):
7946         * platform/text/transcoder/FontTranscoder.cpp:
7947         (WebCore::FontTranscoder::FontTranscoder):
7948
7949 2010-11-20  Andreas Kling  <kling@webkit.org>
7950
7951         Rubber-stamped by Antonio Gomes.
7952
7953         [Qt] Fix spelling error (isEmtpyValue -> isEmptyValue)
7954
7955         * platform/graphics/qt/FontPlatformDataQt.cpp:
7956         (WebCore::isEmptyValue):
7957         (WebCore::FontPlatformData::FontPlatformData):
7958
7959 2010-11-20  Andreas Kling  <kling@webkit.org>
7960
7961         Reviewed by Antonio Gomes.
7962
7963         [Qt] Limit the size of image preview "cursor" when dragging
7964         https://bugs.webkit.org/show_bug.cgi?id=49872
7965
7966         Respect DragController::maxDragImageSize() (currently 400x400.)
7967
7968         * platform/qt/DragImageQt.cpp:
7969         (WebCore::dragImageSize):
7970         (WebCore::scaleDragImage):
7971
7972 2010-11-20  Andreas Kling  <kling@webkit.org>
7973
7974         Reviewed by Antonio Gomes.
7975
7976         [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
7977         https://bugs.webkit.org/show_bug.cgi?id=49870
7978
7979         Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt.
7980
7981         * page/qt/FrameQt.cpp:
7982         (WebCore::Frame::dragImageForSelection):
7983         * platform/qt/DragImageQt.cpp:
7984         (WebCore::deleteDragImage):
7985         (WebCore::createDragImageFromImage):
7986
7987 2010-11-20  Xan Lopez  <xlopez@igalia.com>
7988
7989         Reviewed by Martin Robinson.
7990
7991         [GTK] Memory managament for DOM GObject wrappers
7992         https://bugs.webkit.org/show_bug.cgi?id=40302
7993
7994         Initial attempt to have a kind of poor man's garbage collection
7995         for GObject DOM objects. We tie the object's lifecycle to their
7996         parent Frame and/or its document; that is, all objects will be
7997         collected when their parent frame is destroyed or when that frame
7998         transitions to a new document. Manual management (calling
7999         g_object_unref on them) is also allowed, and is required for
8000         objects that are not in the DOM tree (eg NodeLists).
8001
8002         * GNUmakefile.am:
8003         * bindings/gobject/DOMObjectCache.cpp: Added.
8004         * bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h.
8005         * bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code.
8006         * bindings/gobject/WebKitDOMBinding.h: ditto.
8007         * bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header.
8008
8009 2010-11-20  Helder Correia  <helder@sencha.com>
8010
8011         Reviewed by Andreas Kling.
8012
8013         [Qt] Path stroke lacks blur shadow support
8014         https://bugs.webkit.org/show_bug.cgi?id=49490
8015
8016         Add blur shadow support to strokePath().
8017
8018         Test: fast/canvas/canvas-strokePath-shadow.html
8019
8020         * platform/graphics/qt/GraphicsContextQt.cpp:
8021         (WebCore::GraphicsContext::strokePath):
8022
8023 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
8024
8025         Reviewed by David Kilzer.
8026
8027         [BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h
8028         https://bugs.webkit.org/show_bug.cgi?id=49518
8029
8030         HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h.
8031
8032         * platform/graphics/WOFFFileFormat.cpp:
8033
8034 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
8035
8036         Reviewed by David Kilzer.
8037
8038         [BREWMP] Use std_wstrlen instead of WSTRLEN
8039         https://bugs.webkit.org/show_bug.cgi?id=49516
8040
8041         WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead.
8042
8043         * platform/text/brew/StringBrew.cpp:
8044         (WTF::String::String):
8045
8046 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
8047
8048         Reviewed by David Kilzer.
8049
8050         [WINCE] Implement textBreakLast and textBreakPrevious
8051         https://bugs.webkit.org/show_bug.cgi?id=49552
8052
8053         This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp.
8054         Also unify the different TextBreakIterator::first() implementations.
8055
8056         * platform/text/wince/TextBoundariesWinCE.cpp: Removed.
8057         * platform/text/wince/TextBreakIteratorWinCE.cpp:
8058         (WebCore::TextBreakIterator::first):
8059         (WebCore::TextBreakIterator::last):
8060         (WebCore::textBreakLast):
8061         (WebCore::textBreakPrevious):
8062
8063 2010-11-20  Andreas Kling  <kling@webkit.org>
8064
8065         Reviewed by David Kilzer.
8066
8067         Path: Remove unused method swap()
8068         https://bugs.webkit.org/show_bug.cgi?id=49853
8069
8070         * platform/graphics/Path.h:
8071
8072 2010-11-20  David Kilzer  <ddkilzer@apple.com>
8073
8074         <http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary
8075
8076         Reviewed by Dan Bernstein.
8077
8078         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
8079         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
8080         RetainPtr<NSDictionary> for movieAttributes.
8081
8082 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
8083
8084         Reviewed by Andreas Kling.
8085
8086         Use String::fromUTF8 instead of UTF8Encoding().decode
8087         in the libxml XMLDocumentParser
8088         https://bugs.webkit.org/show_bug.cgi?id=45488
8089
8090         * dom/XMLDocumentParser.cpp:
8091         (WebCore::toString):
8092
8093 2010-11-20  Renata Hodovan  <reni@inf.u-szeged.hu>
8094
8095         Reviewed by Dirk Schulze.
8096
8097         FilterPrimitives should have a pointer to its Filter object.
8098         https://bugs.webkit.org/show_bug.cgi?id=49863
8099
8100         FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
8101         This patch adds this member to FilterEffect.
8102
8103         No new test is needed because these modifications are covered by all of SVG Filter tests.
8104
8105         * platform/graphics/filters/FEBlend.cpp:
8106         (WebCore::FEBlend::FEBlend):
8107         (WebCore::FEBlend::create):
8108         (WebCore::FEBlend::apply):
8109         * platform/graphics/filters/FEBlend.h:
8110         * platform/graphics/filters/FEColorMatrix.cpp:
8111         (WebCore::FEColorMatrix::FEColorMatrix):
8112         (WebCore::FEColorMatrix::create):
8113         (WebCore::FEColorMatrix::apply):
8114         * platform/graphics/filters/FEColorMatrix.h:
8115         * platform/graphics/filters/FEComponentTransfer.cpp:
8116         (WebCore::FEComponentTransfer::FEComponentTransfer):
8117         (WebCore::FEComponentTransfer::create):
8118         (WebCore::FEComponentTransfer::apply):
8119         * platform/graphics/filters/FEComponentTransfer.h:
8120         * platform/graphics/filters/FEComposite.cpp:
8121         (WebCore::FEComposite::FEComposite):
8122         (WebCore::FEComposite::create):
8123         (WebCore::FEComposite::determineAbsolutePaintRect):
8124         (WebCore::FEComposite::apply):
8125         * platform/graphics/filters/FEComposite.h:
8126         * platform/graphics/filters/FEConvolveMatrix.cpp:
8127         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
8128         (WebCore::FEConvolveMatrix::create):
8129         (WebCore::FEConvolveMatrix::apply):
8130         * platform/graphics/filters/FEConvolveMatrix.h:
8131         (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
8132         * platform/graphics/filters/FEDiffuseLighting.cpp:
8133         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
8134         (WebCore::FEDiffuseLighting::create):
8135         * platform/graphics/filters/FEDiffuseLighting.h:
8136         * platform/graphics/filters/FEDisplacementMap.cpp:
8137         (WebCore::FEDisplacementMap::FEDisplacementMap):
8138         (WebCore::FEDisplacementMap::create):
8139         (WebCore::FEDisplacementMap::apply):
8140         * platform/graphics/filters/FEDisplacementMap.h:
8141         (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
8142         * platform/graphics/filters/FEFlood.cpp:
8143         (WebCore::FEFlood::FEFlood):
8144         (WebCore::FEFlood::create):
8145         (WebCore::FEFlood::apply):
8146         * platform/graphics/filters/FEFlood.h:
8147         (WebCore::FEFlood::determineAbsolutePaintRect):
8148         * platform/graphics/filters/FEGaussianBlur.cpp:
8149         (WebCore::FEGaussianBlur::FEGaussianBlur):
8150         (WebCore::FEGaussianBlur::create):
8151         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
8152         (WebCore::FEGaussianBlur::apply):
8153         * platform/graphics/filters/FEGaussianBlur.h:
8154         * platform/graphics/filters/FELighting.cpp:
8155         (WebCore::FELighting::FELighting):
8156         (WebCore::FELighting::apply):
8157         * platform/graphics/filters/FELighting.h:
8158         (WebCore::FELighting::determineAbsolutePaintRect):
8159         * platform/graphics/filters/FEMerge.cpp:
8160         (WebCore::FEMerge::FEMerge):
8161         (WebCore::FEMerge::create):
8162         (WebCore::FEMerge::apply):
8163         * platform/graphics/filters/FEMerge.h:
8164         * platform/graphics/filters/FEMorphology.cpp:
8165         (WebCore::FEMorphology::FEMorphology):
8166         (WebCore::FEMorphology::create):
8167         (WebCore::FEMorphology::determineAbsolutePaintRect):
8168         (WebCore::FEMorphology::apply):
8169         * platform/graphics/filters/FEMorphology.h:
8170         * platform/graphics/filters/FEOffset.cpp:
8171         (WebCore::FEOffset::FEOffset):
8172         (WebCore::FEOffset::create):
8173         (WebCore::FEOffset::determineAbsolutePaintRect):
8174         (WebCore::FEOffset::apply):
8175         * platform/graphics/filters/FEOffset.h:
8176         * platform/graphics/filters/FESpecularLighting.cpp:
8177         (WebCore::FESpecularLighting::FESpecularLighting):
8178         (WebCore::FESpecularLighting::create):
8179         * platform/graphics/filters/FESpecularLighting.h:
8180         * platform/graphics/filters/FETile.cpp:
8181         (WebCore::FETile::FETile):
8182         (WebCore::FETile::create):
8183         (WebCore::FETile::apply):
8184         * platform/graphics/filters/FETile.h:
8185         (WebCore::FETile::determineAbsolutePaintRect):
8186         * platform/graphics/filters/FETurbulence.cpp:
8187         (WebCore::FETurbulence::FETurbulence):
8188         (WebCore::FETurbulence::create):
8189         (WebCore::FETurbulence::apply):
8190         * platform/graphics/filters/FETurbulence.h:
8191         (WebCore::FETurbulence::determineAbsolutePaintRect):
8192         * platform/graphics/filters/FilterEffect.cpp:
8193         (WebCore::FilterEffect::FilterEffect):
8194         (WebCore::FilterEffect::determineAbsolutePaintRect):
8195         (WebCore::FilterEffect::effectContext):
8196         * platform/graphics/filters/FilterEffect.h:
8197         (WebCore::FilterEffect::filter):
8198         * platform/graphics/filters/SourceAlpha.cpp:
8199         (WebCore::SourceAlpha::create):
8200         (WebCore::SourceAlpha::determineAbsolutePaintRect):
8201         (WebCore::SourceAlpha::apply):
8202         * platform/graphics/filters/SourceAlpha.h:
8203         (WebCore::SourceAlpha::SourceAlpha):
8204         * platform/graphics/filters/SourceGraphic.cpp:
8205         (WebCore::SourceGraphic::create):
8206         (WebCore::SourceGraphic::determineAbsolutePaintRect):
8207         (WebCore::SourceGraphic::apply):
8208         * platform/graphics/filters/SourceGraphic.h:
8209         (WebCore::SourceGraphic::SourceGraphic):
8210         * rendering/RenderSVGResourceFilter.cpp:
8211         (WebCore::RenderSVGResourceFilter::buildPrimitives):
8212         (WebCore::RenderSVGResourceFilter::applyResource):
8213         (WebCore::RenderSVGResourceFilter::postApplyResource):
8214         * rendering/RenderSVGResourceFilter.h:
8215         * rendering/SVGRenderTreeAsText.cpp:
8216         (WebCore::writeSVGResourceContainer):
8217         * svg/SVGFEBlendElement.cpp:
8218         (WebCore::SVGFEBlendElement::build):
8219         * svg/SVGFEBlendElement.h:
8220         * svg/SVGFEColorMatrixElement.cpp:
8221         (WebCore::SVGFEColorMatrixElement::build):
8222         * svg/SVGFEColorMatrixElement.h:
8223         * svg/SVGFEComponentTransferElement.cpp:
8224         (WebCore::SVGFEComponentTransferElement::build):
8225         * svg/SVGFEComponentTransferElement.h:
8226         * svg/SVGFECompositeElement.cpp:
8227         (WebCore::SVGFECompositeElement::build):
8228         * svg/SVGFECompositeElement.h:
8229         * svg/SVGFEConvolveMatrixElement.cpp:
8230         (WebCore::SVGFEConvolveMatrixElement::build):
8231         * svg/SVGFEConvolveMatrixElement.h:
8232         * svg/SVGFEDiffuseLightingElement.cpp:
8233         (WebCore::SVGFEDiffuseLightingElement::build):
8234         * svg/SVGFEDiffuseLightingElement.h:
8235         * svg/SVGFEDisplacementMapElement.cpp:
8236         (WebCore::SVGFEDisplacementMapElement::build):
8237         * svg/SVGFEDisplacementMapElement.h:
8238         * svg/SVGFEFloodElement.cpp:
8239         (WebCore::SVGFEFloodElement::build):
8240         * svg/SVGFEFloodElement.h:
8241         * svg/SVGFEGaussianBlurElement.cpp:
8242         (WebCore::SVGFEGaussianBlurElement::build):
8243         * svg/SVGFEGaussianBlurElement.h:
8244         * svg/SVGFEImageElement.cpp:
8245         (WebCore::SVGFEImageElement::build):
8246         * svg/SVGFEImageElement.h:
8247         * svg/SVGFEMergeElement.cpp:
8248         (WebCore::SVGFEMergeElement::build):
8249         * svg/SVGFEMergeElement.h:
8250         * svg/SVGFEMorphologyElement.cpp:
8251         (WebCore::SVGFEMorphologyElement::build):
8252         * svg/SVGFEMorphologyElement.h:
8253         * svg/SVGFEOffsetElement.cpp:
8254         (WebCore::SVGFEOffsetElement::build):
8255         * svg/SVGFEOffsetElement.h:
8256         * svg/SVGFESpecularLightingElement.cpp:
8257         (WebCore::SVGFESpecularLightingElement::build):
8258         * svg/SVGFESpecularLightingElement.h:
8259         * svg/SVGFETileElement.cpp:
8260         (WebCore::SVGFETileElement::build):
8261         * svg/SVGFETileElement.h:
8262         * svg/SVGFETurbulenceElement.cpp:
8263         (WebCore::SVGFETurbulenceElement::build):
8264         * svg/SVGFETurbulenceElement.h:
8265         * svg/SVGFilterPrimitiveStandardAttributes.h:
8266         * svg/graphics/filters/SVGFEImage.cpp:
8267         (WebCore::FEImage::FEImage):
8268         (WebCore::FEImage::create):
8269         (WebCore::FEImage::determineAbsolutePaintRect):
8270         (WebCore::FEImage::apply):
8271         * svg/graphics/filters/SVGFEImage.h:
8272         * svg/graphics/filters/SVGFilterBuilder.cpp:
8273         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
8274         * svg/graphics/filters/SVGFilterBuilder.h:
8275         (WebCore::SVGFilterBuilder::create):
8276
8277 2010-11-20  Helder Correia  <helder@sencha.com>
8278
8279         Reviewed by Andreas Kling.
8280
8281         [Qt] GraphicsContext::strokeArc() is not necessary any more
8282         https://bugs.webkit.org/show_bug.cgi?id=49859
8283
8284         Remove strokeArc() from the Qt port.
8285
8286         No test is needed.
8287
8288         * platform/graphics/qt/GraphicsContextQt.cpp:
8289
8290 2010-11-20  Helder Correia  <helder@sencha.com>
8291
8292         Reviewed by Andreas Kling.
8293
8294         [Qt] Path fill lacks blur shadow support
8295         https://bugs.webkit.org/show_bug.cgi?id=49491
8296
8297         Add blur shadow support to fillPath().
8298
8299         Test: fast/canvas/canvas-fillPath-shadow.html
8300
8301         * platform/graphics/qt/GraphicsContextQt.cpp:
8302         (WebCore::GraphicsContext::fillPath):
8303
8304 2010-11-19  W. James MacLean  <wjmaclean@chromium.org>
8305
8306         Reviewed by James Robinson.
8307
8308         Scaled Resized images are blurred when sent to Skia
8309         https://bugs.webkit.org/show_bug.cgi?id=42370
8310
8311         This patch modifies ImageSkia.cpp to fix the calculation of resampled
8312         bitmap sizes so as to include the transform matrix of the canvas.
8313         Includes a new test to catch a regression that occured the first time
8314         this patch was applied.
8315
8316         Tests: svg/custom/image-rescale-scroll.html
8317                svg/custom/image-rescale.svg
8318
8319         * platform/graphics/skia/ImageSkia.cpp:
8320         (WebCore::computeResamplingMode):
8321         (WebCore::drawResampledBitmap):
8322
8323 2010-11-19  Jia Pu  <jpu@apple.com>
8324
8325         Reviewed by Dan Bernstein.
8326
8327         Regression: contraction is considered misspelling.
8328         https://bugs.webkit.org/show_bug.cgi?id=49423
8329         <rdar://problem/8654206>
8330
8331         Test: platform/mac/editing/spelling/autocorrection-contraction.html
8332               manual-tests/autocorrection/autocorrection-contraction.html
8333
8334         * editing/Editor.cpp:
8335         (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
8336           be used by all other functions in the file.
8337         (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
8338           to improve readability, and to pass in additional argument. Before we apply pending
8339           autocorrection, we check to see if currently typed character makes current word a partial
8340           contraction, for instance "wouldn'". If that's the case, we would not apply the pending
8341           correction.
8342         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
8343           is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
8344           the location of ambiguous boundary if other replacements have changed the length of the
8345           paragraph.
8346         * editing/Editor.h:
8347         * editing/TypingCommand.cpp:
8348         (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
8349         * manual-tests/autocorrection/autocorrection-contraction.html: Added.
8350
8351 2010-11-19  Andreas Kling  <kling@webkit.org>
8352
8353         Reviewed by Antonio Gomes.
8354
8355         ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
8356         https://bugs.webkit.org/show_bug.cgi?id=49854
8357
8358         * page/FrameView.cpp:
8359         (WebCore::FrameView::delegatesScrolling):
8360         (WebCore::FrameView::avoidScrollbarCreation):
8361         * page/FrameView.h:
8362         * platform/ScrollView.h:
8363         (WebCore::ScrollView::delegatesScrolling):
8364         (WebCore::ScrollView::avoidScrollbarCreation):
8365
8366 2010-11-19  Pavel Podivilov  <podivilov@chromium.org>
8367
8368         Reviewed by Yury Semikhatsky.
8369
8370         Web Inspector: scripts panel should be shown before execution line is scrolled into view.
8371         https://bugs.webkit.org/show_bug.cgi?id=49792
8372
8373         * inspector/front-end/ScriptsPanel.js:
8374         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
8375
8376 2010-11-19  James Simonsen  <simonjam@chromium.org>
8377
8378         Reviewed by Tony Chang.
8379
8380         [chromium] Fix whitespace character handling in complex text on linux
8381         https://bugs.webkit.org/show_bug.cgi?id=49771
8382
8383         * platform/graphics/SimpleFontData.h:
8384         (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
8385         (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
8386         (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
8387         * platform/graphics/chromium/FontLinux.cpp:
8388         (WebCore::TextRunWalker::nextScriptRun): Cache currently used font data.
8389         (WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces.
8390         (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces.
8391         (WebCore::TextRunWalker::getNormalizedTextRun):
8392
8393 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
8394
8395         Reviewed by Adam Roben.
8396
8397         Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
8398         https://bugs.webkit.org/show_bug.cgi?id=49819
8399
8400         * WebCore.vcproj/QTMovieWin.vcproj:
8401         * WebCore.vcproj/WebCore.vcproj:
8402         * WebCore.vcproj/WebCoreGenerated.vcproj:
8403
8404 2010-11-19  Brady Eidson  <beidson@apple.com>
8405
8406         Reviewed by Darin Adler.
8407
8408         <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
8409         Add WebKit2 API relevant to customization of context menus
8410
8411         * WebCore.exp.in:
8412
8413 2010-11-19  Michael Saboff  <msaboff@apple.com>
8414
8415         Reviewed by Sam Weinig.
8416
8417         Removed import of DOMSVGAnimatedPathData.h to fix build.
8418
8419         * bindings/objc/DOMSVG.h:
8420
8421 2010-11-19  Avi Drissman  <avi@google.com>
8422
8423         Reviewed by Antonio Gomes.
8424
8425         Complete support for Unix editing mode
8426         https://bugs.webkit.org/show_bug.cgi?id=49757
8427
8428         * page/Settings.cpp:
8429         (WebCore::Settings::Settings):
8430         * page/Settings.h:
8431
8432 2010-11-19  Nate Chapin  <japhet@chromium.org>
8433
8434         Reviewed by Alexey Proskuryakov.
8435
8436         Remove requests from ResourceLoadScheduler's queue before
8437         actually starting them.  We're holding a RefPtr anyway, and
8438         the load might be terminated and removed from the queue synchronously.
8439         https://bugs.webkit.org/show_bug.cgi?id=49693
8440
8441         Test: fast/loader/subresource-willSendRequest-null.html
8442
8443         * loader/ResourceLoadScheduler.cpp:
8444         (WebCore::ResourceLoadScheduler::servePendingRequests):
8445
8446 2010-11-18  Zhenyao Mo  <zmo@google.com>
8447
8448         Reviewed by Kenneth Russell.
8449
8450         Make sure is* return false if the name is never bound
8451         https://bugs.webkit.org/show_bug.cgi?id=49767
8452
8453         * html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before.
8454         (WebCore::WebGLBuffer::hasEverBeenBound):
8455         * html/canvas/WebGLFramebuffer.cpp: Ditto.
8456         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
8457         * html/canvas/WebGLFramebuffer.h: Ditto.
8458         (WebCore::WebGLFramebuffer::hasEverBeenBound):
8459         (WebCore::WebGLFramebuffer::setBound):
8460         * html/canvas/WebGLRenderbuffer.cpp: Ditto.
8461         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
8462         * html/canvas/WebGLRenderbuffer.h: Ditto.
8463         (WebCore::WebGLRenderbuffer::hasEverBeenBound):
8464         (WebCore::WebGLRenderbuffer::setBound):
8465         * html/canvas/WebGLRenderingContext.cpp:
8466         (WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true.
8467         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
8468         (WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound.
8469         (WebCore::WebGLRenderingContext::isFramebuffer): Ditto.
8470         (WebCore::WebGLRenderingContext::isRenderbuffer): Ditto.
8471         (WebCore::WebGLRenderingContext::isTexture): Ditto.
8472         * html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before.
8473         (WebCore::WebGLTexture::hasEverBeenBound):
8474
8475 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
8476
8477         Reviewed by Kenneth Rohde Christiansen.
8478
8479         [Qt] mask-box-image renders wrong in certain conditions
8480         https://bugs.webkit.org/show_bug.cgi?id=43476
8481
8482         Qt does not follow the same convention as the other port
8483         when rendering a pixmap with null width of height. When one
8484         of those dimension is null, we should ignore the painting call
8485         to behave like the other ports.
8486
8487         * platform/graphics/qt/ImageQt.cpp:
8488         (WebCore::Image::drawPattern):
8489
8490 2010-11-18  Zhenyao Mo  <zmo@google.com>
8491
8492         Reviewed by Kenneth Russell.
8493
8494         GraphicsContext3D::reshape is clearing using current clear color instead of transparent
8495         https://bugs.webkit.org/show_bug.cgi?id=44064
8496
8497         * platform/graphics/gpu/DrawingBuffer.cpp:
8498         (WebCore::DrawingBuffer::reset): Use 0 as clear values.
8499         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
8500         (WebCore::GraphicsContext3D::reshape): Ditto.
8501
8502 2010-11-19  Chris Rogers  <crogers@google.com>
8503
8504         Reviewed by Darin Adler.
8505
8506         AudioContext should not include "HTMLNames.h"
8507         https://bugs.webkit.org/show_bug.cgi?id=49680
8508
8509         No new tests since audio API is not yet implemented.
8510
8511         * webaudio/AudioContext.cpp:
8512
8513 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
8514
8515         Reviewed by Darin Adler.
8516
8517         Normalize Cairo/CFLite project/solution configuration names
8518         https://bugs.webkit.org/show_bug.cgi?id=49818
8519
8520         * WebCore.vcproj/WebCore.vcproj:
8521         * WebCore.vcproj/WebCoreGenerated.vcproj:
8522
8523 2010-11-19  Daniel Bates  <dbates@rim.com>
8524
8525         Reviewed by Antonio Gomes.
8526
8527         Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT
8528         https://bugs.webkit.org/show_bug.cgi?id=49489
8529
8530         Substitute ASSERT(newParent) for null-checks for newParent in
8531         Frame::transferChildFrameToNewDocument() since newParent is
8532         never null.
8533
8534         When Frame::transferChildFrameToNewDocument() is called the child
8535         frame's owner element has already been transferred to the new
8536         document D and D is attached (i.e. has a frame).
8537
8538         * page/Frame.cpp:
8539         (WebCore::Frame::transferChildFrameToNewDocument):
8540
8541 2010-11-19  Anders Carlsson  <andersca@apple.com>
8542
8543         Reviewed by Sam Weinig.
8544
8545         Add SandboxExtension abstraction and use it for the injected bundle extension
8546         https://bugs.webkit.org/show_bug.cgi?id=49817
8547
8548         Export fileSystemRepresentation symbol needed by WebKit2.
8549
8550         * WebCore.exp.in:
8551
8552 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
8553
8554         Windows build fix. Remove leftover Debug_Internal use.
8555
8556         * WebCore.vcproj/WebCore.vcproj:
8557
8558 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
8559
8560         Reviewed by Adam Roben.
8561
8562         Windows vcproj configuration names should be normalized across projects
8563         https://bugs.webkit.org/show_bug.cgi?id=49776
8564
8565         * WebCore.vcproj/WebCore.sln:
8566         * WebCore.vcproj/WebCore.submit.sln:
8567         * WebCore.vcproj/WebCoreGenerated.vcproj:
8568         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added.
8569         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added.
8570
8571 2010-11-19  James Simonsen  <simonjam@chromium.org>
8572
8573         Reviewed by Darin Fisher.
8574
8575         [Web Timing] Add unloadEventStart
8576         https://bugs.webkit.org/show_bug.cgi?id=49101
8577
8578         * loader/DocumentLoadTiming.h:
8579         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
8580         * loader/FrameLoader.cpp:
8581         (WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent().
8582         * page/DOMWindow.cpp:
8583         (WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent().
8584         (WebCore::DOMWindow::dispatchTimedEvent): Added.
8585         * page/DOMWindow.h:
8586         * page/Timing.cpp:
8587         (WebCore::Timing::unloadEventStart):
8588         * page/Timing.h:
8589         * page/Timing.idl:
8590
8591 2010-11-19  Martin Robinson  <mrobinson@igalia.com>
8592
8593         Reviewed by Daniel Bates.
8594
8595         [GTK] fast/text/international tests are flaky on the bots
8596         https://bugs.webkit.org/show_bug.cgi?id=49781
8597
8598         Beef up the == operator overload for Freetype FontPlatformData. Before
8599         if two FontPlatformDatas had hash values which fell into the same bucket
8600         and were similar enough, they would be evaluated as being equal, leading
8601         to failures.
8602
8603         No new tests for this change. It's very hard to test, because it depends
8604         on the memory address of new allocations. Hopefully flakiness on the bots
8605         will go away after patch.
8606
8607         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
8608         (WebCore::FontPlatformData::operator==): Beef up the == operator overload.
8609
8610 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
8611
8612         Reviewed by Kenneth Rohde Christiansen.
8613
8614         [Qt] mask-box-image renders wrong in certain conditions
8615         https://bugs.webkit.org/show_bug.cgi?id=43476
8616
8617         When rendering a pixmap with a dest rect having a null dimension,
8618         Qt uses the dimension of the Pixmap. The other ports do not render
8619         anything by convention.
8620
8621         This patch change BitmapImage to follow the convention of other ports and do not
8622         paint anything.
8623
8624         * platform/graphics/qt/ImageQt.cpp:
8625         (WebCore::BitmapImage::draw):
8626
8627 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8628
8629         Reviewed by Dirk Schulze.
8630
8631         Don't call invalidateSVGAttributes() from the setFooBaseValue() methods
8632         https://bugs.webkit.org/show_bug.cgi?id=49807
8633
8634         Covered by existing tests.
8635
8636         * svg/SVGComponentTransferFunctionElement.cpp:
8637         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList;
8638         * svg/SVGFEColorMatrixElement.cpp:
8639         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto.
8640         * svg/SVGFEConvolveMatrixElement.cpp:
8641         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto.
8642         * svg/SVGGradientElement.cpp:
8643         (WebCore::SVGGradientElement::parseMappedAttribute): Ditto.
8644         * svg/SVGPatternElement.cpp:
8645         (WebCore::SVGPatternElement::parseMappedAttribute): Ditto.
8646         * svg/SVGStyledTransformableElement.cpp:
8647         (WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto.
8648         * svg/SVGTextElement.cpp:
8649         (WebCore::SVGTextElement::parseMappedAttribute): Ditto.
8650         * svg/SVGTextPositioningElement.cpp:
8651         (WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto.
8652         * svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue().
8653
8654 2010-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
8655
8656         Unreviewed, rolling out r72399.
8657         http://trac.webkit.org/changeset/72399
8658         https://bugs.webkit.org/show_bug.cgi?id=49805
8659
8660         Broke Chromium build (Requested by antonm_ on #webkit).
8661
8662         * page/chromium/ChromeClientChromium.h:
8663         * platform/chromium/PopupMenuChromium.cpp:
8664         (WebCore::PopupContainer::showPopup):
8665         (WebCore::PopupContainer::showExternal):
8666         (WebCore::PopupListBox::layout):
8667         (WebCore::PopupMenuChromium::show):
8668         * platform/chromium/PopupMenuChromium.h:
8669
8670 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
8671
8672         Reviewed by Antonio Gomes.
8673
8674         Focus ring in image maps does not take zooming into account
8675         https://bugs.webkit.org/show_bug.cgi?id=49625
8676
8677         Take pageZoomFactor into account when calculating the path of the focus ring.
8678
8679         Test: fast/images/imagemap-focus-ring-zoom.html
8680
8681         * html/HTMLAreaElement.cpp:
8682         (WebCore::HTMLAreaElement::getPath):
8683
8684 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8685
8686         Reviewed by Dirk Schulze.
8687
8688         SVGTransformList::consolidate() fails on empty lists
8689         https://bugs.webkit.org/show_bug.cgi?id=49619
8690
8691         Return null in consolidate() when the list is empty, according to SVG 1.1.
8692
8693         Test: svg/dom/SVGTransformList-empty-list-consolidation.html
8694
8695         * svg/properties/SVGTransformListPropertyTearOff.h:
8696         (WebCore::SVGTransformListPropertyTearOff::consolidate):
8697
8698 2010-11-19  Jay Civelli  <jcivelli@chromium.org>
8699
8700         Reviewed by David Levin.
8701
8702         [chromium] Removing the now unused code to show popup externally on Mac.
8703         https://bugs.webkit.org/show_bug.cgi?id=49747
8704
8705         * page/chromium/ChromeClientChromium.h:
8706         * platform/chromium/PopupMenuChromium.cpp:
8707         (WebCore::PopupContainer::showPopup):
8708         (WebCore::PopupListBox::layout):
8709         (WebCore::PopupMenuChromium::show):
8710         * platform/chromium/PopupMenuChromium.h:
8711
8712 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
8713
8714         Reviewed by Yury Semikhatsky.
8715
8716         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
8717         InspectorBackendDispatcher is a generated file.
8718         Its content is not optimal and loc may be reduced by a quarter.
8719         In each generated function we have a code for getting 'in' values from
8720         the arguments properties object. I've extracted this code into separate getters.
8721         The side effect is better readability of the generated code.
8722
8723         https://bugs.webkit.org/show_bug.cgi?id=49729
8724
8725         * inspector/CodeGeneratorInspector.pm:
8726
8727 2010-11-19  John Knottenbelt  <jknotten@chromium.org>
8728
8729         Reviewed by Jeremy Orlow.
8730
8731         Reentrant Geolocation tests crash with an assertion.
8732         https://bugs.webkit.org/show_bug.cgi?id=39908
8733
8734         PositionErrors should not be sent to Geolocation watches or one shots
8735         that are due to receive a valid cached position.
8736
8737         Test: fast/dom/Geolocation/maximum-age.html
8738
8739         * page/Geolocation.cpp:
8740         (WebCore::Geolocation::sendError):
8741         (WebCore::Geolocation::copyCachedNotifiers):
8742         (WebCore::Geolocation::handleError):
8743         * page/Geolocation.h:
8744
8745 2010-11-19  Sam Magnuson  <smagnuso@gmail.com>
8746
8747         Reviewed by Laszlo Gombos.
8748
8749         [Qt] Compile with QT_NO_CLIPBOARD
8750         https://bugs.webkit.org/show_bug.cgi?id=49742
8751
8752         * platform/qt/PasteboardQt.cpp:
8753         (WebCore::Pasteboard::canSmartReplace):
8754
8755 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8756
8757         Reviewed by Andreas Kling.
8758
8759         Remove more unused V8/SVG code
8760         https://bugs.webkit.org/show_bug.cgi?id=49800
8761
8762         Remove DOMSVGObjectWithContextMap and all usages.
8763
8764         * bindings/scripts/CodeGeneratorV8.pm:
8765         * bindings/v8/DOMDataStore.cpp:
8766         (WebCore::DOMDataStore::DOMDataStore):
8767         (WebCore::DOMDataStore::getDOMWrapperMap):
8768         * bindings/v8/DOMDataStore.h:
8769         (WebCore::DOMDataStore::domSvgElementInstanceMap):
8770         * bindings/v8/ScopedDOMDataStore.cpp:
8771         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
8772         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
8773         * bindings/v8/StaticDOMDataStore.cpp:
8774         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
8775         * bindings/v8/StaticDOMDataStore.h:
8776         * bindings/v8/V8DOMMap.cpp:
8777         (WebCore::removeAllDOMObjectsInCurrentThread):
8778         * bindings/v8/V8DOMMap.h:
8779
8780 2010-11-19  Zoltan Herczeg  <zherczeg@webkit.org>
8781
8782         Reviewed by Nikolas Zimmermann.
8783
8784         createImageBuffer fail should be handled in the same way as other fails
8785         https://bugs.webkit.org/show_bug.cgi?id=49799
8786
8787         When createImageBuffer fails (i.e the image width or height is less than
8788         0.5, which is rounded to 0) it just returs with false. Since the m_filter
8789         hash map is not updated in this case, the filter image is not drawn.
8790
8791         Test: svg/filters/filter-rounding-issues.svg
8792
8793         * rendering/RenderSVGResourceFilter.cpp:
8794         (WebCore::RenderSVGResourceFilter::applyResource):
8795
8796 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8797
8798         Reviewed by Andreas Kling.
8799
8800         Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
8801         https://bugs.webkit.org/show_bug.cgi?id=49796
8802
8803         Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
8804
8805         * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
8806         * WebCore.gypi: Ditto.
8807         * WebCore.pro: Ditto.
8808         * WebCore.vcproj/WebCore.vcproj: Ditto.
8809         * WebCore.xcodeproj/project.pbxproj: Ditto.
8810         * bindings/js/JSSVGContextCache.h: Removed.
8811         * bindings/js/JSSVGPODListCustom.h: Removed.
8812         * bindings/js/JSSVGPODTypeWrapper.h: Removed.
8813         * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed. 
8814         * bindings/v8/V8Proxy.h: Ditto.
8815         * bindings/v8/V8SVGPODTypeWrapper.h: Removed.
8816         * svg/DeprecatedSVGAnimatedProperty.h: Removed.
8817         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
8818         * svg/DeprecatedSVGAnimatedTemplate.h: Removed.
8819         * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
8820         * svg/SVGList.h: Removed.
8821         * svg/SVGListTraits.h: Removed.
8822
8823 2010-11-19  Alexander Pavlov  <apavlov@chromium.org>
8824
8825         Reviewed by Pavel Feldman.
8826
8827         Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules
8828         https://bugs.webkit.org/show_bug.cgi?id=49731
8829
8830         Temporarily disable building of styles for nested rules.
8831
8832         * inspector/InspectorStyleSheet.cpp:
8833         (WebCore::InspectorStyleSheet::buildObjectForRule):
8834         (WebCore::InspectorStyleSheet::buildObjectForStyle):
8835         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
8836         (WebCore::InspectorStyleSheet::ensureSourceData):
8837         * inspector/InspectorStyleSheet.h:
8838         * inspector/front-end/StylesSidebarPane.js:
8839         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
8840         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
8841         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
8842
8843 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8844
8845         Not reviewed. Fix Qt build.
8846
8847         * WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time.
8848
8849 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8850
8851         Reviewed by Dirk Schulze.
8852
8853         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
8854         https://bugs.webkit.org/show_bug.cgi?id=49580
8855
8856         SVGPathElement.cloneNode loses generated pathSegList
8857         https://bugs.webkit.org/show_bug.cgi?id=43388
8858
8859         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
8860         https://bugs.webkit.org/show_bug.cgi?id=30219
8861
8862         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
8863         https://bugs.webkit.org/show_bug.cgi?id=19741
8864
8865         SVGPathElement should only build SVGPathSeg* list on demand
8866         https://bugs.webkit.org/show_bug.cgi?id=10827
8867
8868         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
8869                svg/dom/SVGPathSegList-appendItem.xhtml
8870                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
8871                svg/dom/SVGPathSegList-cloning.html
8872                svg/dom/SVGPathSegList-insertItemBefore.xhtml
8873                svg/dom/SVGPathSegList-removeItem.xhtml
8874                svg/dom/SVGPathSegList-replaceItem.xhtml
8875                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
8876                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
8877                svg/dom/SVGPathSegList-segment-modification.svg
8878
8879         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
8880         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
8881         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
8882         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
8883         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
8884
8885         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
8886         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
8887         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
8888         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
8889         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
8890         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
8891
8892         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
8893         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
8894
8895         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
8896         * CMakeLists.txt: Ditto.
8897         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
8898         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
8899         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
8900         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
8901         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
8902         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
8903         * WebCore.vcproj/WebCore.vcproj: Ditto.
8904         * WebCore.xcodeproj/project.pbxproj: Ditto.
8905         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
8906         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
8907         (WebCore::setDOMException):
8908         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
8909         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
8910         (WebCore::toJS):
8911         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
8912         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
8913         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
8914         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
8915         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
8916         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
8917         (WebCore::operator<<):
8918         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
8919         * svg/SVGAnimatedPathData.cpp: Removed.
8920         * svg/SVGAnimatedPathData.h: Removed.
8921         * svg/SVGAnimatedPathData.idl: Removed.
8922         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
8923         (WebCore::SVGPathElement::SVGPathElement):
8924         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
8925         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
8926         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
8927         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
8928         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
8929         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
8930         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
8931         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
8932         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
8933         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
8934         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
8935         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
8936         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
8937         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
8938         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
8939         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
8940         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
8941         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
8942         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
8943         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
8944         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
8945         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
8946         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
8947         (WebCore::SVGPathElement::synchronizeD): Added.
8948         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
8949         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
8950         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
8951         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
8952         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
8953         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
8954         * svg/SVGPathElement.h: Add new accessors...
8955         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
8956         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
8957         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
8958         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
8959         (WebCore::globalSVGPathSegListBuilder):
8960         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
8961         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
8962         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
8963         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
8964         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
8965         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
8966         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
8967         * svg/SVGPathParserFactory.h:
8968         * svg/SVGPathSeg.cpp: Removed.
8969         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
8970         (WebCore::SVGPathSeg::SVGPathSeg):
8971         * svg/SVGPathSeg.idl: Reindented.
8972         * svg/SVGPathSegArc.cpp: Removed.
8973         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
8974         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
8975         * svg/SVGPathSegArcRel.idl: Ditto.
8976         * svg/SVGPathSegClosePath.cpp: Removed.
8977         * svg/SVGPathSegClosePath.h:
8978         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
8979         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
8980         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
8981         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
8982         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
8983         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
8984         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
8985         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
8986         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
8987         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
8988         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
8989         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
8990         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
8991         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
8992         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
8993         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
8994         * svg/SVGPathSegLineto.cpp: Removed.
8995         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
8996         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
8997         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
8998         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
8999         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
9000         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
9001         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
9002         * svg/SVGPathSegLinetoVertical.cpp: Removed.
9003         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
9004         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
9005         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
9006         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
9007         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
9008         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
9009         * svg/SVGPathSegList.h:
9010         (WebCore::SVGPathSegList::SVGPathSegList):
9011         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
9012         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
9013         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
9014         (WebCore::SVGPathSegListBuilder::moveTo):
9015         (WebCore::SVGPathSegListBuilder::lineTo):
9016         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
9017         (WebCore::SVGPathSegListBuilder::lineToVertical):
9018         (WebCore::SVGPathSegListBuilder::curveToCubic):
9019         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
9020         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
9021         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
9022         (WebCore::SVGPathSegListBuilder::arcTo):
9023         (WebCore::SVGPathSegListBuilder::closePath):
9024         * svg/SVGPathSegListBuilder.h: Ditto.
9025         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
9026         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
9027         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
9028         (WebCore::SVGPathSegListBuilder::cleanup):
9029         * svg/SVGPathSegListSource.cpp: Ditto.
9030         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
9031         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
9032         (WebCore::SVGPathSegListSource::nextCommand):
9033         (WebCore::SVGPathSegListSource::parseMoveToSegment):
9034         (WebCore::SVGPathSegListSource::parseLineToSegment):
9035         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
9036         * svg/SVGPathSegListSource.h: Ditto.
9037         (WebCore::SVGPathSegListSource::create):
9038         * svg/SVGPathSegMoveto.cpp: Removed.
9039         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
9040         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
9041         * svg/SVGPathSegMovetoRel.idl: Ditto.
9042         * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
9043         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
9044         (WebCore::SVGPathSegWithContext::animatedProperty):
9045         (WebCore::SVGPathSegWithContext::setContextAndRole):
9046         (WebCore::SVGPathSegWithContext::commitChange):
9047         (WebCore::SVGPathSegSingleCoordinate::x):
9048         (WebCore::SVGPathSegSingleCoordinate::setX):
9049         (WebCore::SVGPathSegSingleCoordinate::y):
9050         (WebCore::SVGPathSegSingleCoordinate::setY):
9051         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
9052         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
9053         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
9054         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
9055         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
9056         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
9057         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
9058         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
9059         (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
9060         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
9061         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
9062         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
9063         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
9064         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
9065         (WebCore::SVGPathSegListPropertyTearOff::create):
9066         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
9067         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
9068         (WebCore::SVGPathSegListPropertyTearOff::initialize):
9069         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
9070         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
9071         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
9072         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
9073         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
9074         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
9075
9076 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
9077
9078         Not reviewed: one line follow up to r72376.
9079
9080         * inspector/InspectorResourceAgent.cpp:
9081         (WebCore::buildObjectForResourceResponse):
9082
9083 2010-11-19  Sergio Villar Senin  <svillar@igalia.com>
9084
9085         Reviewed by Xan Lopez.
9086
9087         [Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache
9088         https://bugs.webkit.org/show_bug.cgi?id=49666
9089
9090         WebKit resource load cache does validate its own resources by
9091         issuing conditional requests to the server. The HTTP cache was
9092         making the assumption that any possible conditional request was
9093         always generated by itself.
9094
9095         * platform/network/soup/cache/webkit/soup-cache.c:
9096         (webkit_soup_cache_entry_remove): added an assertion
9097         (msg_got_headers_cb):
9098
9099 2010-11-19  Dai Mikurube  <dmikurube@google.com>
9100
9101         Reviewed by Kent Tamura.
9102
9103         stepUp/stepDown for values in step-mismatching state for input elements
9104         https://bugs.webkit.org/show_bug.cgi?id=48976
9105
9106         Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of
9107         HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for
9108         step-mismatching values.
9109
9110         * html/HTMLInputElement.cpp:
9111         (WebCore::HTMLInputElement::applyStep):
9112
9113 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
9114
9115         Not reviewed. Rolled out build failures introduced in r72373.
9116
9117         * inspector/CodeGeneratorInspector.pm:
9118
9119 2010-11-18  Pavel Feldman  <pfeldman@chromium.org>
9120
9121         Reviewed by Yury Semikhatsky.
9122
9123         Web Inspector: provide response code and status text as
9124         a part of raw headers data.
9125         https://bugs.webkit.org/show_bug.cgi?id=49668
9126
9127         * GNUmakefile.am:
9128         * WebCore.gypi:
9129         * WebCore.pro:
9130         * WebCore.vcproj/WebCore.vcproj:
9131         * WebCore.xcodeproj/project.pbxproj:
9132         * inspector/InspectorResourceAgent.cpp:
9133         (WebCore::buildObjectForResourceResponse):
9134         * inspector/front-end/NetworkPanel.js:
9135         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
9136         * inspector/front-end/ResourceManager.js:
9137         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
9138         * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
9139         (WebCore::ResourceLoadInfo::ResourceLoadInfo):
9140         * platform/network/ResourceResponseBase.cpp:
9141         (WebCore::ResourceResponseBase::resourceLoadInfo):
9142         (WebCore::ResourceResponseBase::setResourceLoadInfo):
9143         * platform/network/ResourceResponseBase.h:
9144
9145 2010-11-19  Mike Lawther  <mikelawther@chromium.org>
9146
9147         Reviewed by James Robinson.
9148
9149         [skia] assert when attempting to get (but not use) pointer to outside the canvas
9150         https://bugs.webkit.org/show_bug.cgi?id=49698
9151
9152         Early return to avoid getting a pointer to outside the canvas, and
9153         hence triggering a Skia assert.
9154
9155         * platform/graphics/skia/ImageBufferSkia.cpp:
9156         (WebCore::getImageData):
9157
9158 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
9159
9160         Reviewed by Yury Semikhatsky.
9161
9162         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
9163         InspectorBackendDispatcher is a generated file.
9164         Its content is not optimal and loc may be reduced by a quarter.
9165         In each generated function we have a code for getting 'in' values from
9166         the arguments properties object. I've extracted this code into separate getters.
9167         The side effect is better readability of the generated code.
9168
9169         https://bugs.webkit.org/show_bug.cgi?id=49729
9170
9171         * inspector/CodeGeneratorInspector.pm:
9172
9173 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
9174
9175         Reviewed by Antonio Gomes.
9176
9177         [Qt] Focus ring does not show for image maps
9178         https://bugs.webkit.org/show_bug.cgi?id=49615
9179
9180         Draw a focus ring for the paths surrounding the focus ring of image map area.
9181         Provide Qt specific results for the test fast/images/imagemap-focus-ring.html.
9182
9183         * platform/graphics/qt/GraphicsContextQt.cpp:
9184         (WebCore::GraphicsContext::drawFocusRing):
9185
9186 2010-11-01  MORITA Hajime  <morrita@google.com>
9187
9188         Reviewed by David Hyatt.
9189
9190         Navigating dark background websites results in blinding white flashes between pages. 
9191         https://bugs.webkit.org/show_bug.cgi?id=45640
9192
9193         This FOUC is caused by an early layout request before the <body> is ready, 
9194         and the page's background style given for <body>, instead of <html>.
9195         So many sites have such stylesheets that we should care them.
9196         
9197         - Some DOM operation such as 'element.offsetLeft' causes page layout.
9198         - The page layout results page repaint
9199         - The page page repaint makes a white screen. because there is nothing to paint
9200           before <body> is available.
9201         
9202         This change:
9203         - extracted existing FOUC check on RenderBlock and RenderLayer to 
9204           Document::mayCauseFlashOfUnstyledContent(),
9205         - checked non-<head> element availability on mayCauseFlashOfUnstyledContent(), and
9206         - added FOUC guards before requesting reapint on FrameView.
9207         
9208         Note that non-<head> document root children are typically <body>, but possibly
9209         some other type of elements in the case of non-HTML documents.
9210         
9211         No new tests. The data loading speed matters and it cannot be
9212         captured by DRT.
9213
9214         * dom/Document.cpp:
9215         (hasHeadSibling): Added.
9216         (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
9217         * dom/Document.h:
9218         * page/FrameView.cpp:
9219         (WebCore::FrameView::invalidateRect): Added a guard.
9220         (WebCore::FrameView::repaintContentRectangle): Added a guard.
9221         (WebCore::FrameView::doDeferredRepaints): Added a guard.
9222         (WebCore::FrameView::shouldUpdate): Added.
9223         * page/FrameView.h:
9224         * rendering/RenderBlock.cpp:
9225         (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
9226         * rendering/RenderLayer.cpp:
9227         (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
9228
9229 2010-11-18  Kent Tamura  <tkent@chromium.org>
9230
9231         Reviewed by Tony Chang.
9232
9233         Add more validation message functions
9234         https://bugs.webkit.org/show_bug.cgi?id=49716
9235
9236         Add the following message functions:
9237         - validationMessageValueMissingForCheckbox()
9238         - validationMessageValueMissingForFile()
9239         - validationMessageValueMissingForMultipleFile()
9240         - validationMessageValueMissingForRadio()
9241         - validationMessageValueMissingForSelect()
9242
9243         and update ValidityState, HTMLInputElement, and InputTypes to use them.
9244
9245         No new tests because this doesn't change visible behavior.
9246
9247         * html/CheckboxInputType.cpp:
9248         (WebCore::CheckboxInputType::valueMissingText):
9249         * html/CheckboxInputType.h:
9250         * html/FileInputType.cpp:
9251         (WebCore::FileInputType::valueMissingText):
9252         * html/FileInputType.h:
9253         * html/HTMLInputElement.cpp:
9254         (WebCore::HTMLInputElement::valueMissingText):
9255         * html/HTMLInputElement.h:
9256         * html/InputType.cpp:
9257         (WebCore::InputType::valueMissingText):
9258         * html/InputType.h:
9259         * html/RadioInputType.cpp:
9260         (WebCore::RadioInputType::valueMissingText):
9261         * html/RadioInputType.h:
9262         * html/ValidityState.cpp:
9263         (WebCore::ValidityState::validationMessage):
9264         * platform/LocalizedStrings.cpp:
9265         (WebCore::validationMessageValueMissingForCheckboxText):
9266         (WebCore::validationMessageValueMissingForFileText):
9267         (WebCore::validationMessageValueMissingForMultipleFileText):
9268         (WebCore::validationMessageValueMissingForRadioText):
9269         (WebCore::validationMessageValueMissingForSelectText):
9270         * platform/LocalizedStrings.h:
9271         * platform/android/LocalizedStringsAndroid.cpp:
9272         (WebCore::validationMessageValueMissingForCheckboxText):
9273         (WebCore::validationMessageValueMissingForFileText):
9274         (WebCore::validationMessageValueMissingForMultipleFileText):
9275         (WebCore::validationMessageValueMissingForRadioText):
9276         (WebCore::validationMessageValueMissingForSelectText):
9277         * platform/brew/LocalizedStringsBrew.cpp:
9278         (WebCore::validationMessageValueMissingForCheckboxText):
9279         (WebCore::validationMessageValueMissingForFileText):
9280         (WebCore::validationMessageValueMissingForMultipleFileText):
9281         (WebCore::validationMessageValueMissingForRadioText):
9282         (WebCore::validationMessageValueMissingForSelectText):
9283         * platform/efl/LocalizedStringsEfl.cpp:
9284         (WebCore::validationMessageValueMissingForCheckboxText):
9285         (WebCore::validationMessageValueMissingForFileText):
9286         (WebCore::validationMessageValueMissingForMultipleFileText):
9287         (WebCore::validationMessageValueMissingForRadioText):
9288         (WebCore::validationMessageValueMissingForSelectText):
9289         * platform/gtk/LocalizedStringsGtk.cpp:
9290         (WebCore::validationMessageValueMissingForCheckboxText):
9291         (WebCore::validationMessageValueMissingForFileText):
9292         (WebCore::validationMessageValueMissingForMultipleFileText):
9293         (WebCore::validationMessageValueMissingForRadioText):
9294         (WebCore::validationMessageValueMissingForSelectText):
9295         * platform/haiku/LocalizedStringsHaiku.cpp:
9296         (WebCore::validationMessageValueMissingText):
9297         (WebCore::validationMessageValueMissingForCheckboxText):
9298         (WebCore::validationMessageValueMissingForFileText):
9299         (WebCore::validationMessageValueMissingForMultipleFileText):
9300         (WebCore::validationMessageValueMissingForRadioText):
9301         (WebCore::validationMessageValueMissingForSelectText):
9302         * platform/wx/LocalizedStringsWx.cpp:
9303         (WebCore::validationMessageValueMissingForCheckboxText):
9304         (WebCore::validationMessageValueMissingForFileText):
9305         (WebCore::validationMessageValueMissingForMultipleFileText):
9306         (WebCore::validationMessageValueMissingForRadioText):
9307         (WebCore::validationMessageValueMissingForSelectText):
9308
9309 2010-11-18  Gavin Barraclough  <barraclough@apple.com>
9310
9311         Reviewed by Oliver Hunt.
9312
9313         Bug 49708 - Stop recompiling functions to regenerate exception info.
9314
9315         Instead only hold info as necessary – keep divot info is the inspector
9316         is enabled, line number info is debugging or profiling, and handler
9317         info for functions with try/catch.
9318
9319         * bindings/js/JSDOMWindowBase.cpp:
9320         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
9321             - report to JSC whether the inspector is enabled - in which
9322               case we will generate better error messages on exceptions.
9323         * bindings/js/JSDOMWindowBase.h:
9324
9325 2010-11-18  Jian Li  <jianli@chromium.org>
9326
9327         Reviewed by Kenneth Russell.
9328
9329         Make binding code generation scripts support 'short' type
9330         https://bugs.webkit.org/show_bug.cgi?id=49704
9331
9332         Updated binding tests.
9333
9334         * bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue.
9335         * bindings/scripts/CodeGeneratorV8.pm:
9336         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
9337         * bindings/scripts/test/CPP/WebDOMTestObj.h:
9338         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
9339         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
9340         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
9341         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
9342         * bindings/scripts/test/JS/JSTestObj.cpp:
9343         * bindings/scripts/test/JS/JSTestObj.h:
9344         * bindings/scripts/test/ObjC/DOMTestObj.h:
9345         * bindings/scripts/test/ObjC/DOMTestObj.mm:
9346         * bindings/scripts/test/TestObj.idl:
9347         * bindings/scripts/test/V8/V8TestObj.cpp:
9348
9349 2010-11-18  Mark Rowe  <mrowe@apple.com>
9350
9351         Rubber-stamped by Adam Roben.
9352
9353         <rdar://problem/8602509&8602717&8602724> Enable compaction support.
9354
9355         * Configurations/WebCore.xcconfig:
9356
9357 2010-11-18  Dave Hyatt  <hyatt@apple.com>
9358
9359         Reviewed by Dan Bernstein.
9360
9361         https://bugs.webkit.org/show_bug.cgi?id=49772
9362         
9363         Fix nested ruby.  My previous checkin (for 49717) broke it.  Push the ruby text and ruby base text
9364         together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom.
9365         This way the overflow from nested rubies is accounted for.
9366         
9367         Added fast/ruby/nested-ruby.html
9368
9369         * rendering/RenderRubyRun.cpp:
9370         (WebCore::RenderRubyRun::layout):
9371
9372 2010-11-18  Kinuko Yasuda  <kinuko@chromium.org>
9373
9374         Reviewed by Nate Chapin.
9375
9376         [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
9377         https://bugs.webkit.org/show_bug.cgi?id=49613
9378
9379         No new tests. Running existing worker tests like
9380         fast/workers/storage/execute-sql-args-worker.html in chromium
9381         would verify it.
9382
9383         * bindings/v8/V8Binding.cpp:
9384         (WebCore::int32ToWebCoreStringFast):
9385         (WebCore::int32ToWebCoreString):
9386
9387 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
9388
9389         Windows build fix.
9390
9391         https://bugs.webkit.org/show_bug.cgi?id=49762
9392         Stylesheet wrappers are not GC protected
9393
9394         * bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files.
9395
9396 2010-11-18  Dave Hyatt  <hyatt@apple.com>
9397
9398         Reviewed by Dan Bernstein.
9399
9400         https://bugs.webkit.org/show_bug.cgi?id=49717
9401         
9402         Implement better behavior for the logical height and block direction spacing of ruby text and ruby
9403         base text.
9404
9405         Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to
9406         test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test
9407         that ruby doesn't reset line-height.
9408
9409         * css/html.css:
9410         Remove the line-height:normal rule for <ruby>  This behavior was incorrect, since a <ruby> on a line
9411         by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored.
9412
9413         * rendering/InlineBox.h:
9414         (WebCore::InlineBox::adjustBlockDirectionPosition):
9415         Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y)
9416         depending on orientation.
9417         
9418         * rendering/InlineFlowBox.cpp:
9419         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
9420         placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby,
9421         to true.  This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later
9422         crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not.
9423         
9424         Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt)
9425         mess up the flipping otherwise.  These new variables are lineTopIncludingMargins and lineBottomIncludingMargins.
9426         This is only relevant for replaced elements, since the block direction margins of inline flows are always 0.
9427         
9428         Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term),
9429         the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop
9430         and lineBottom since it is inside the inline-block's height.  To prevent this from happening, we have to fake it
9431         as though RenderRubyRun was just a normal inline.  We look at the line boxes of the ruby base and we push lineTop/Bottom
9432         in by the leading on either side so that it isn't counted as part of lineTop and lineBottom.  This enables the later
9433         Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's
9434         interior on a previous line.
9435
9436         (WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment):
9437         This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the
9438         line.  With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so
9439         we're checking some highest previous position and computing the amount we have to move.
9440         
9441         For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have
9442         to move the *following* line based off a lowest position.
9443         
9444         In all writing modes we will allow Ruby text to intrude into the padding of a block.
9445         
9446         * rendering/InlineFlowBox.h:
9447         * rendering/RenderBlock.cpp:
9448         (WebCore::RenderBlock::layoutBlockChildren):
9449         Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height
9450         computations.  Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to
9451         legends.  This means that the RenderRubyRun computes its logical height without any regard for the ruby text.
9452
9453         * rendering/RenderBlock.h:
9454         (WebCore::RenderBlock::layoutSpecialExcludedChild):
9455         layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun.
9456
9457         * rendering/RenderBlockLineLayout.cpp:
9458         (WebCore::RenderBlock::layoutInlineChildren):
9459         When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block
9460         to accommodate ruby text along the bottom side of the line.  We call computeBlockDirectionRubyAdjustment here in flipped lines
9461         writing mode only, and then we increase the logical height of the block if necessary.
9462
9463         * rendering/RenderFieldset.cpp:
9464         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
9465         * rendering/RenderFieldset.h:
9466         No changes here other than the function rename.
9467
9468         * rendering/RenderRubyRun.cpp:
9469         (WebCore::RenderRubyRun::staticCreateRubyRun):
9470         Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary
9471         now that RenderRubyRun has its own layout method.
9472     
9473         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
9474         RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet.  We wait until the base is positioned
9475         and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method. 
9476
9477         (WebCore::RenderRubyRun::layout):
9478         * rendering/RenderRubyRun.h:
9479         RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the
9480         RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with
9481         one another.  The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun
9482         as overflow.
9483
9484         * rendering/RootInlineBox.cpp:
9485         (WebCore::RootInlineBox::RootInlineBox):
9486         Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present.
9487
9488         (WebCore::RootInlineBox::adjustPosition):
9489         Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy
9490         even in vertical writing modes (where dx needed to be used instead).
9491
9492         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
9493         (WebCore::RootInlineBox::blockDirectionRubyAdjustment):
9494         * rendering/RootInlineBox.h:
9495         (WebCore::RootInlineBox::containsRuby):
9496         RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between
9497         the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required.
9498
9499 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
9500
9501         Reviewed by Geoffrey Garen.
9502
9503         https://bugs.webkit.org/show_bug.cgi?id=49762
9504         Stylesheet wrappers are not GC protected
9505
9506         Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
9507                fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
9508
9509         * Android.jscbindings.mk:
9510         * CMakeLists.txt:
9511         * GNUmakefile.am:
9512         * WebCore.gypi:
9513         * WebCore.pro:
9514         * WebCore.vcproj/WebCore.vcproj:
9515         Added the new custom bindings files.
9516
9517         * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
9518         existing headers.
9519
9520         * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
9521         with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
9522         wrapper has to stay alive, too.
9523         While at it, also fixed the same issue with inline style declarations.
9524         Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
9525         approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
9526         check.
9527
9528         * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
9529         (WebCore::JSHTMLLinkElement::markChildren):
9530         * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
9531         (WebCore::JSHTMLStyleElement::markChildren):
9532         * bindings/js/JSProcessingInstructionCustom.cpp: Added.
9533         (WebCore::JSProcessingInstruction::markChildren):
9534         Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
9535         conservatively, without checking whether the stylesheet or any of its children have custom
9536         properties.
9537
9538         * dom/ProcessingInstruction.idl:
9539         * html/HTMLLinkElement.idl:
9540         * html/HTMLStyleElement.idl:
9541         These have custom mark functions now.
9542
9543 2010-11-18  Jian Li  <jianli@chromium.org>
9544
9545         Reviewed by Kenneth Russell.
9546
9547         Move length and slice out of ArrayBufferView interface
9548         https://bugs.webkit.org/show_bug.cgi?id=49697
9549
9550         No functionality change. Covered by existing ArrayBuffer tests.
9551
9552         * WebCore.gypi:
9553         * WebCore.pro:
9554         * WebCore.xcodeproj/project.pbxproj:
9555         * bindings/js/JSArrayBufferViewCustom.cpp: Removed.
9556         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed.
9557         * html/canvas/ArrayBufferView.h:
9558         * html/canvas/ArrayBufferView.idl:
9559         * html/canvas/Float32Array.cpp:
9560         (WebCore::Float32Array::slice):
9561         * html/canvas/Float32Array.h:
9562         * html/canvas/Float32Array.idl:
9563         * html/canvas/Int16Array.cpp:
9564         (WebCore::Int16Array::slice):
9565         * html/canvas/Int16Array.h:
9566         * html/canvas/Int16Array.idl:
9567         * html/canvas/Int32Array.cpp:
9568         (WebCore::Int32Array::slice):
9569         * html/canvas/Int32Array.h:
9570         * html/canvas/Int32Array.idl:
9571         * html/canvas/Int8Array.cpp:
9572         (WebCore::Int8Array::slice):
9573         * html/canvas/Int8Array.h:
9574         * html/canvas/Int8Array.idl:
9575         * html/canvas/TypedArrayBase.h:
9576         (WebCore::TypedArrayBase::length):
9577         * html/canvas/Uint16Array.cpp:
9578         (WebCore::Uint16Array::slice):
9579         * html/canvas/Uint16Array.h:
9580         * html/canvas/Uint16Array.idl:
9581         * html/canvas/Uint32Array.cpp:
9582         (WebCore::Uint32Array::slice):
9583         * html/canvas/Uint32Array.h:
9584         * html/canvas/Uint32Array.idl:
9585         * html/canvas/Uint8Array.cpp:
9586         (WebCore::Uint8Array::slice):
9587         * html/canvas/Uint8Array.h:
9588         * html/canvas/Uint8Array.idl:
9589         * html/canvas/WebGLRenderingContext.cpp:
9590         (WebCore::WebGLRenderingContext::readPixels):
9591
9592 2010-11-17  Zhenyao Mo  <zmo@google.com>
9593
9594         Reviewed by Kenneth Russell.
9595
9596         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
9597         https://bugs.webkit.org/show_bug.cgi?id=47196
9598
9599         * platform/image-decoders/ImageDecoder.h:
9600         (WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting.
9601         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
9602         (WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing.
9603         * platform/image-decoders/png/PNGImageDecoder.cpp:
9604         (WebCore::PNGImageDecoder::headerAvailable): Ditto.
9605
9606 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
9607
9608         Reviewed by Adam Roben.
9609
9610         Remove leftover Windows Debug_Internal configurations
9611         https://bugs.webkit.org/show_bug.cgi?id=49758
9612
9613         * WebCore.vcproj/QTMovieWin.vcproj:
9614         * WebCore.vcproj/WebCore.vcproj:
9615
9616 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
9617
9618         Unreviewed, rolling out r72299.
9619         http://trac.webkit.org/changeset/72299
9620         https://bugs.webkit.org/show_bug.cgi?id=49761
9621
9622         Broke chromium ui test SessionHistoryTest.FrameBackForward.
9623         (Requested by dave_levin on #webkit).
9624
9625         * loader/HistoryController.cpp:
9626         (WebCore::HistoryController::HistoryController):
9627         (WebCore::HistoryController::saveDocumentState):
9628         (WebCore::HistoryController::updateForBackForwardNavigation):
9629         (WebCore::HistoryController::updateForCommit):
9630         (WebCore::HistoryController::updateForFrameLoadCompleted):
9631         (WebCore::HistoryController::setCurrentItem):
9632         (WebCore::HistoryController::createItem):
9633         (WebCore::HistoryController::createItemTree):
9634         (WebCore::HistoryController::recursiveGoToItem):
9635         * loader/HistoryController.h:
9636
9637 2010-11-18  James Robinson  <jamesr@chromium.org>
9638
9639         Reviewed by Darin Fisher.
9640
9641         [chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux
9642         https://bugs.webkit.org/show_bug.cgi?id=49638
9643
9644         Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp
9645         Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just
9646         like Safari Win did in r72270.
9647
9648         Test: fast/text/font-size-zero.html
9649
9650         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
9651         (WebCore::FontPlatformData::setupPaint):
9652         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
9653         (WebCore::SimpleFontData::platformInit):
9654
9655 2010-11-18  Rob Buis  <rwlbuis@gmail.com>
9656
9657         Reviewed by Simon Fraser.
9658
9659         Only inject fullscreen.css when in fullscreen
9660         https://bugs.webkit.org/show_bug.cgi?id=49510
9661
9662         Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
9663
9664         * css/CSSStyleSelector.cpp:
9665         (WebCore::CSSStyleSelector::CSSStyleSelector):
9666         (WebCore::loadFullDefaultStyle):
9667         (WebCore::loadFullScreenRulesIfNeeded):
9668         (WebCore::CSSStyleSelector::styleForElement):
9669
9670 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
9671
9672         Reviewed by Adam Roben.
9673
9674         Debug_Internal Windows configuration is unnecessary, should be removed
9675         https://bugs.webkit.org/show_bug.cgi?id=49753
9676
9677         * WebCorePrefix.h:
9678
9679 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
9680
9681         Reviewed by Adam Roben.
9682
9683         Clean up vcproj errors
9684         https://bugs.webkit.org/show_bug.cgi?id=49741
9685
9686         * WebCore.vcproj/WebCore.vcproj:
9687
9688 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
9689
9690         Reviewed by Anders Carlsson.
9691
9692         https://bugs.webkit.org/show_bug.cgi?id=49694
9693         Add some comments about XSLStyleSheet owner node
9694
9695         No change in behavior, so no tests.
9696
9697         * dom/ProcessingInstruction.cpp:
9698         (WebCore::ProcessingInstruction::checkStyleSheet):
9699         * xml/XSLStyleSheet.h:
9700         (WebCore::XSLStyleSheet::create):
9701         (WebCore::XSLStyleSheet::createEmbedded):
9702         (WebCore::XSLStyleSheet::createForXSLTProcessor):
9703         * xml/XSLStyleSheetLibxslt.cpp:
9704         (WebCore::XSLStyleSheet::XSLStyleSheet):
9705         * xml/XSLTProcessorLibxslt.cpp:
9706         (WebCore::xsltStylesheetPointer):
9707         * xml/XSLTProcessorQt.cpp:
9708         (WebCore::XSLTProcessor::transformToString):
9709
9710 2010-11-18  Jer Noble  <jer.noble@apple.com>
9711
9712         Reviewed by Eric Carlson.
9713
9714         REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows
9715         https://bugs.webkit.org/show_bug.cgi?id=44439
9716         <rdar://problem/8342407>
9717         
9718         setUpCookiesForQuickTime() previously depended on having setFrameView() called first
9719         in order to get a Frame, and when it wasn't set, the cookie-copy failed.  Now, 
9720         setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument() 
9721         to retrieve the document and subsequently, the Frame.
9722
9723         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
9724         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
9725
9726 2010-11-18  Joseph Pecoraro  <joepeck@webkit.org>
9727
9728         Reviewed by Darin Adler.
9729
9730         Allow no-store resources to be used for back navigation
9731         https://bugs.webkit.org/show_bug.cgi?id=49672
9732
9733         Test: http/tests/cache/history-only-cached-subresource-loads.html
9734
9735         HTTP allows "Cache-Control: no-store" resources to "cached" for the
9736         purposes of history, such as back/forward navigation. Previously
9737         WebCore just immediately evicted these resources, now we leave them in
9738         the cache as long as they are not "https". This allows us to use them
9739         if they are used in a back navigation, or lazily evict and replace
9740         them on other load types expecting non-stale resources.
9741
9742         (WebCore::CachedResource::CachedResource):
9743         (WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache.
9744         * loader/cache/CachedResourceLoader.cpp:
9745         (WebCore::CachedResourceLoader::checkForReload):
9746         (WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation).
9747         * loader/cache/MemoryCache.cpp:
9748         (WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources.
9749         * loader/cache/MemoryCache.h: default the forHistory parameter to false.
9750
9751           Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer.
9752
9753         * loader/FrameLoader.cpp:
9754         (WebCore::FrameLoader::subresourceCachePolicy):
9755         * loader/cache/CachePolicy.h:
9756         * loader/cache/CachedResource.cpp:
9757
9758 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
9759
9760         Reviewed by Darin Adler.
9761
9762         https://bugs.webkit.org/show_bug.cgi?id=49700
9763         XSLTProcessor.importNode is only tested with document nodes, and hits an assertion
9764
9765         Test: fast/xsl/import-non-document-node.xhtml
9766
9767         * css/CSSStyleSheet.cpp:
9768         (WebCore::isAcceptableCSSStyleSheetParent):
9769         (WebCore::CSSStyleSheet::CSSStyleSheet):
9770         * css/StyleSheet.cpp:
9771         (WebCore::StyleSheet::StyleSheet):
9772         Moved the assertion - hopefully, it's valid for CSS stylesheets.
9773
9774 2010-11-18  Charlie Reis  <creis@chromium.org>
9775
9776         Reviewed by Darin Fisher.
9777
9778         Update correct content state during back/forward navigations
9779         https://bugs.webkit.org/show_bug.cgi?id=48809
9780
9781         Ensures that history's previousItem is non-null when clients try to
9782         update content state (e.g., Chromium's UpdateSessionHistory).  We now
9783         track load completions with a boolean field rather than by clearing
9784         previousItem.
9785
9786         Behavior covered by existing tests in fast/history and fast/loader.
9787
9788         * loader/HistoryController.cpp:
9789
9790 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
9791
9792         Unreviewed, rolling out r72288.
9793         http://trac.webkit.org/changeset/72288
9794         https://bugs.webkit.org/show_bug.cgi?id=49730
9795
9796         'krit attempted to do that, but revert got stuck' (Requested
9797         by antonm on #webkit).
9798
9799         * Android.mk:
9800         * CMakeLists.txt:
9801         * DerivedSources.make:
9802         * GNUmakefile.am:
9803         * WebCore.gyp/WebCore.gyp:
9804         * WebCore.gypi:
9805         * WebCore.order:
9806         * WebCore.pro:
9807         * WebCore.vcproj/WebCore.vcproj:
9808         * WebCore.xcodeproj/project.pbxproj:
9809         * bindings/js/JSBindingsAllInOne.cpp:
9810         * bindings/js/JSDOMBinding.cpp:
9811         (WebCore::setDOMException):
9812         * bindings/js/JSDOMBinding.h:
9813         (WebCore::createDOMObjectWrapper):
9814         (WebCore::getDOMObjectWrapper):
9815         * bindings/js/JSSVGPathSegCustom.cpp:
9816         (WebCore::toJS):
9817         * bindings/js/JSSVGPathSegListCustom.cpp: Added.
9818         (WebCore::JSSVGPathSegList::clear):
9819         (WebCore::JSSVGPathSegList::initialize):
9820         (WebCore::JSSVGPathSegList::getItem):
9821         (WebCore::JSSVGPathSegList::insertItemBefore):
9822         (WebCore::JSSVGPathSegList::replaceItem):
9823         (WebCore::JSSVGPathSegList::removeItem):
9824         (WebCore::JSSVGPathSegList::appendItem):
9825         * bindings/scripts/CodeGenerator.pm:
9826         * bindings/scripts/CodeGeneratorJS.pm:
9827         * bindings/scripts/CodeGeneratorObjC.pm:
9828         * bindings/scripts/CodeGeneratorV8.pm:
9829         * rendering/SVGRenderTreeAsText.cpp:
9830         (WebCore::operator<<):
9831         * svg/SVGAllInOne.cpp:
9832         * svg/SVGAnimatedPathData.cpp: Added.
9833         * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
9834         (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
9835         * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
9836         * svg/SVGPathElement.cpp:
9837         (WebCore::SVGPathElement::SVGPathElement):
9838         (WebCore::SVGPathElement::getPathSegAtLength):
9839         (WebCore::SVGPathElement::createSVGPathSegClosePath):
9840         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
9841         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
9842         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
9843         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
9844         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
9845         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
9846         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
9847         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
9848         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
9849         (WebCore::SVGPathElement::createSVGPathSegArcRel):
9850         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
9851         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
9852         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
9853         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
9854         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
9855         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
9856         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
9857         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
9858         (WebCore::SVGPathElement::parseMappedAttribute):
9859         (WebCore::SVGPathElement::svgAttributeChanged):
9860         (WebCore::SVGPathElement::synchronizeProperty):
9861         (WebCore::SVGPathElement::pathSegList):
9862         (WebCore::SVGPathElement::normalizedPathSegList):
9863         (WebCore::SVGPathElement::animatedPathSegList):
9864         (WebCore::SVGPathElement::animatedNormalizedPathSegList):
9865         (WebCore::SVGPathElement::toPathData):
9866         * svg/SVGPathElement.h:
9867         (WebCore::SVGPathElement::isValid):
9868         (WebCore::SVGPathElement::supportsMarkers):
9869         * svg/SVGPathElement.idl:
9870         * svg/SVGPathParserFactory.cpp:
9871         (WebCore::globalSVGPathSegListBuilder):
9872         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
9873         (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
9874         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
9875         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
9876         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
9877         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
9878         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
9879         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
9880         * svg/SVGPathParserFactory.h:
9881         * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
9882         (WebCore::SVGPathSeg::associatedAttributeName):
9883         * svg/SVGPathSeg.h:
9884         (WebCore::SVGPathSegSingleCoord::setX):
9885         (WebCore::SVGPathSegSingleCoord::x):
9886         (WebCore::SVGPathSegSingleCoord::setY):
9887         (WebCore::SVGPathSegSingleCoord::y):
9888         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
9889         * svg/SVGPathSeg.idl:
9890         * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9891         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
9892         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
9893         * svg/SVGPathSegArc.h:
9894         (WebCore::SVGPathSegArc::SVGPathSegArc):
9895         (WebCore::SVGPathSegArc::setX):
9896         (WebCore::SVGPathSegArc::x):
9897         (WebCore::SVGPathSegArc::setY):
9898         (WebCore::SVGPathSegArc::y):
9899         (WebCore::SVGPathSegArc::setR1):
9900         (WebCore::SVGPathSegArc::r1):
9901         (WebCore::SVGPathSegArc::setR2):
9902         (WebCore::SVGPathSegArc::r2):
9903         (WebCore::SVGPathSegArc::setAngle):
9904         (WebCore::SVGPathSegArc::angle):
9905         (WebCore::SVGPathSegArc::setLargeArcFlag):
9906         (WebCore::SVGPathSegArc::largeArcFlag):
9907         (WebCore::SVGPathSegArc::setSweepFlag):
9908         (WebCore::SVGPathSegArc::sweepFlag):
9909         (WebCore::SVGPathSegArcAbs::create):
9910         (WebCore::SVGPathSegArcAbs::pathSegType):
9911         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
9912         (WebCore::SVGPathSegArcRel::create):
9913         (WebCore::SVGPathSegArcRel::pathSegType):
9914         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
9915         * svg/SVGPathSegArcAbs.idl:
9916         * svg/SVGPathSegArcRel.idl:
9917         * svg/SVGPathSegClosePath.cpp: Added.
9918         * svg/SVGPathSegClosePath.h:
9919         (WebCore::SVGPathSegClosePath::create):
9920         (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
9921         * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9922         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
9923         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
9924         * svg/SVGPathSegCurvetoCubic.h:
9925         (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
9926         (WebCore::SVGPathSegCurvetoCubic::setX):
9927         (WebCore::SVGPathSegCurvetoCubic::x):
9928         (WebCore::SVGPathSegCurvetoCubic::setY):
9929         (WebCore::SVGPathSegCurvetoCubic::y):
9930         (WebCore::SVGPathSegCurvetoCubic::setX1):
9931         (WebCore::SVGPathSegCurvetoCubic::x1):
9932         (WebCore::SVGPathSegCurvetoCubic::setY1):
9933         (WebCore::SVGPathSegCurvetoCubic::y1):
9934         (WebCore::SVGPathSegCurvetoCubic::setX2):
9935         (WebCore::SVGPathSegCurvetoCubic::x2):
9936         (WebCore::SVGPathSegCurvetoCubic::setY2):
9937         (WebCore::SVGPathSegCurvetoCubic::y2):
9938         (WebCore::SVGPathSegCurvetoCubicAbs::create):
9939         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
9940         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
9941         (WebCore::SVGPathSegCurvetoCubicRel::create):
9942         (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
9943         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
9944         * svg/SVGPathSegCurvetoCubicAbs.idl:
9945         * svg/SVGPathSegCurvetoCubicRel.idl:
9946         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9947         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
9948         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
9949         * svg/SVGPathSegCurvetoCubicSmooth.h:
9950         (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
9951         (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
9952         (WebCore::SVGPathSegCurvetoCubicSmooth::x):
9953         (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
9954         (WebCore::SVGPathSegCurvetoCubicSmooth::y):
9955         (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
9956         (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
9957         (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
9958         (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
9959         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
9960         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
9961         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
9962         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
9963         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
9964         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
9965         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
9966         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
9967         * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9968         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
9969         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
9970         * svg/SVGPathSegCurvetoQuadratic.h:
9971         (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
9972         (WebCore::SVGPathSegCurvetoQuadratic::setX):
9973         (WebCore::SVGPathSegCurvetoQuadratic::x):
9974         (WebCore::SVGPathSegCurvetoQuadratic::setY):
9975         (WebCore::SVGPathSegCurvetoQuadratic::y):
9976         (WebCore::SVGPathSegCurvetoQuadratic::setX1):
9977         (WebCore::SVGPathSegCurvetoQuadratic::x1):
9978         (WebCore::SVGPathSegCurvetoQuadratic::setY1):
9979         (WebCore::SVGPathSegCurvetoQuadratic::y1):
9980         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
9981         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
9982         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
9983         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
9984         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
9985         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
9986         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
9987         * svg/SVGPathSegCurvetoQuadraticRel.idl:
9988         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9989         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
9990         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
9991         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
9992         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
9993         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
9994         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
9995         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
9996         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
9997         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
9998         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
9999         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
10000         * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10001         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
10002         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
10003         * svg/SVGPathSegLineto.h:
10004         (WebCore::SVGPathSegLinetoAbs::create):
10005         (WebCore::SVGPathSegLinetoAbs::pathSegType):
10006         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
10007         (WebCore::SVGPathSegLinetoRel::create):
10008         (WebCore::SVGPathSegLinetoRel::pathSegType):
10009         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
10010         * svg/SVGPathSegLinetoAbs.idl:
10011         * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10012         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
10013         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
10014         * svg/SVGPathSegLinetoHorizontal.h:
10015         (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
10016         (WebCore::SVGPathSegLinetoHorizontal::setX):
10017         (WebCore::SVGPathSegLinetoHorizontal::x):
10018         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
10019         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
10020         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
10021         (WebCore::SVGPathSegLinetoHorizontalRel::create):
10022         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
10023         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
10024         * svg/SVGPathSegLinetoHorizontalAbs.idl:
10025         * svg/SVGPathSegLinetoHorizontalRel.idl:
10026         * svg/SVGPathSegLinetoRel.idl:
10027         * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10028         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
10029         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
10030         * svg/SVGPathSegLinetoVertical.h:
10031         (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
10032         (WebCore::SVGPathSegLinetoVertical::setY):
10033         (WebCore::SVGPathSegLinetoVertical::y):
10034         (WebCore::SVGPathSegLinetoVerticalAbs::create):
10035         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
10036         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
10037         (WebCore::SVGPathSegLinetoVerticalRel::create):
10038         (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
10039         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
10040         * svg/SVGPathSegLinetoVerticalAbs.idl:
10041         * svg/SVGPathSegLinetoVerticalRel.idl:
10042         * svg/SVGPathSegList.cpp:
10043         (WebCore::SVGPathSegList::SVGPathSegList):
10044         * svg/SVGPathSegList.h:
10045         (WebCore::SVGPathSegList::create):
10046         * svg/SVGPathSegList.idl:
10047         * svg/SVGPathSegListBuilder.cpp:
10048         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
10049         (WebCore::SVGPathSegListBuilder::moveTo):
10050         (WebCore::SVGPathSegListBuilder::lineTo):
10051         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
10052         (WebCore::SVGPathSegListBuilder::lineToVertical):
10053         (WebCore::SVGPathSegListBuilder::curveToCubic):
10054         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
10055         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
10056         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
10057         (WebCore::SVGPathSegListBuilder::arcTo):
10058         (WebCore::SVGPathSegListBuilder::closePath):
10059         * svg/SVGPathSegListBuilder.h:
10060         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
10061         (WebCore::SVGPathSegListBuilder::cleanup):
10062         * svg/SVGPathSegListSource.cpp:
10063         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
10064         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
10065         (WebCore::SVGPathSegListSource::nextCommand):
10066         (WebCore::SVGPathSegListSource::parseMoveToSegment):
10067         (WebCore::SVGPathSegListSource::parseLineToSegment):
10068         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
10069         * svg/SVGPathSegListSource.h:
10070         (WebCore::SVGPathSegListSource::create):
10071         * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10072         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
10073         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
10074         * svg/SVGPathSegMoveto.h:
10075         (WebCore::SVGPathSegMovetoAbs::create):
10076         (WebCore::SVGPathSegMovetoAbs::pathSegType):
10077         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
10078         (WebCore::SVGPathSegMovetoRel::create):
10079         (WebCore::SVGPathSegMovetoRel::pathSegType):
10080         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
10081         * svg/SVGPathSegMovetoAbs.idl:
10082         * svg/SVGPathSegMovetoRel.idl:
10083         * svg/SVGPathSegWithContext.h: Removed.
10084         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
10085         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
10086         * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
10087
10088 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
10089
10090         Unreviewed, rolling out r72292.
10091         http://trac.webkit.org/changeset/72292
10092         https://bugs.webkit.org/show_bug.cgi?id=49732
10093
10094         will break win build (Requested by loislo on #webkit).
10095
10096         * inspector/CodeGeneratorInspector.pm:
10097
10098 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
10099
10100         Reviewed by Yury Semikhatsky.
10101
10102         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
10103         InspectorBackendDispatcher is a generated file.
10104         Its content is not optimal and loc may be reduced by a quarter.
10105         In each generated function we have a code for getting 'in' values from
10106         the arguments properties object. I've extracted this code into separate getters.
10107         The side effect is better readability of the generated code.
10108
10109         https://bugs.webkit.org/show_bug.cgi?id=49729
10110
10111         * inspector/CodeGeneratorInspector.pm:
10112
10113 2010-11-18  Alexander Pavlov  <apavlov@chromium.org>
10114
10115         Reviewed by Pavel Feldman.
10116
10117         [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
10118         https://bugs.webkit.org/show_bug.cgi?id=49656
10119
10120         Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
10121
10122         * bindings/scripts/CodeGeneratorV8.pm:
10123
10124 2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
10125
10126         Reviewed by Dirk Schulze.
10127
10128         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
10129         https://bugs.webkit.org/show_bug.cgi?id=49580
10130
10131         SVGPathElement.cloneNode loses generated pathSegList
10132         https://bugs.webkit.org/show_bug.cgi?id=43388
10133
10134         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
10135         https://bugs.webkit.org/show_bug.cgi?id=30219
10136
10137         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
10138         https://bugs.webkit.org/show_bug.cgi?id=19741
10139
10140         SVGPathElement should only build SVGPathSeg* list on demand
10141         https://bugs.webkit.org/show_bug.cgi?id=10827
10142
10143         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
10144                svg/dom/SVGPathSegList-appendItem.xhtml
10145                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
10146                svg/dom/SVGPathSegList-cloning.html
10147                svg/dom/SVGPathSegList-insertItemBefore.xhtml
10148                svg/dom/SVGPathSegList-removeItem.xhtml
10149                svg/dom/SVGPathSegList-replaceItem.xhtml
10150                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
10151                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
10152                svg/dom/SVGPathSegList-segment-modification.svg
10153
10154         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
10155         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
10156         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
10157         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
10158         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
10159
10160         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
10161         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
10162         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
10163         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
10164         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
10165         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
10166
10167         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
10168         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
10169
10170         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
10171         * CMakeLists.txt: Ditto.
10172         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
10173         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
10174         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
10175         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
10176         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
10177         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
10178         * WebCore.vcproj/WebCore.vcproj: Ditto.
10179         * WebCore.xcodeproj/project.pbxproj: Ditto.
10180         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
10181         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
10182         (WebCore::setDOMException):
10183         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
10184         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
10185         (WebCore::toJS):
10186         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
10187         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
10188         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
10189         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
10190         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
10191         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
10192         (WebCore::operator<<):
10193         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
10194         * svg/SVGAnimatedPathData.cpp: Removed.
10195         * svg/SVGAnimatedPathData.h: Removed.
10196         * svg/SVGAnimatedPathData.idl: Removed.
10197         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
10198         (WebCore::SVGPathElement::SVGPathElement):
10199         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
10200         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
10201         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
10202         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
10203         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
10204         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
10205         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
10206         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
10207         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
10208         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
10209         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
10210         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
10211         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
10212         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
10213         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
10214         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
10215         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
10216         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
10217         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
10218         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
10219         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
10220         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
10221         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
10222         (WebCore::SVGPathElement::synchronizeD): Added.
10223         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
10224         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
10225         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
10226         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
10227         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
10228         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
10229         * svg/SVGPathElement.h: Add new accessors...
10230         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
10231         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
10232         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
10233         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
10234         (WebCore::globalSVGPathSegListBuilder):
10235         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
10236         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
10237         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
10238         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
10239         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
10240         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
10241         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
10242         * svg/SVGPathParserFactory.h:
10243         * svg/SVGPathSeg.cpp: Removed.
10244         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
10245         (WebCore::SVGPathSeg::SVGPathSeg):
10246         * svg/SVGPathSeg.idl: Reindented.
10247         * svg/SVGPathSegArc.cpp: Removed.
10248         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
10249         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
10250         * svg/SVGPathSegArcRel.idl: Ditto.
10251         * svg/SVGPathSegClosePath.cpp: Removed.
10252         * svg/SVGPathSegClosePath.h:
10253         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
10254         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
10255         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
10256         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
10257         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
10258         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
10259         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
10260         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
10261         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
10262         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
10263         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
10264         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
10265         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
10266         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
10267         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
10268         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
10269         * svg/SVGPathSegLineto.cpp: Removed.
10270         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
10271         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
10272         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
10273         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
10274         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
10275         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
10276         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
10277         * svg/SVGPathSegLinetoVertical.cpp: Removed.
10278         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
10279         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
10280         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
10281         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
10282         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
10283         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
10284         * svg/SVGPathSegList.h:
10285         (WebCore::SVGPathSegList::SVGPathSegList):
10286         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
10287         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
10288         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
10289         (WebCore::SVGPathSegListBuilder::moveTo):
10290         (WebCore::SVGPathSegListBuilder::lineTo):
10291         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
10292         (WebCore::SVGPathSegListBuilder::lineToVertical):
10293         (WebCore::SVGPathSegListBuilder::curveToCubic):
10294         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
10295         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
10296         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
10297         (WebCore::SVGPathSegListBuilder::arcTo):
10298         (WebCore::SVGPathSegListBuilder::closePath):
10299         * svg/SVGPathSegListBuilder.h: Ditto.
10300         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
10301         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
10302         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
10303         (WebCore::SVGPathSegListBuilder::cleanup):
10304         * svg/SVGPathSegListSource.cpp: Ditto.
10305         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
10306         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
10307         (WebCore::SVGPathSegListSource::nextCommand):
10308         (WebCore::SVGPathSegListSource::parseMoveToSegment):
10309         (WebCore::SVGPathSegListSource::parseLineToSegment):
10310         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
10311         * svg/SVGPathSegListSource.h: Ditto.
10312         (WebCore::SVGPathSegListSource::create):
10313         * svg/SVGPathSegMoveto.cpp: Removed.
10314         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
10315         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
10316         * svg/SVGPathSegMovetoRel.idl: Ditto.
10317         * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
10318         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
10319         (WebCore::SVGPathSegWithContext::animatedProperty):
10320         (WebCore::SVGPathSegWithContext::setContextAndRole):
10321         (WebCore::SVGPathSegWithContext::commitChange):
10322         (WebCore::SVGPathSegSingleCoordinate::x):
10323         (WebCore::SVGPathSegSingleCoordinate::setX):
10324         (WebCore::SVGPathSegSingleCoordinate::y):
10325         (WebCore::SVGPathSegSingleCoordinate::setY):
10326         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
10327         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
10328         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
10329         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
10330         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
10331         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
10332         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
10333         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
10334         (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
10335         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
10336         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
10337         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
10338         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
10339         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
10340         (WebCore::SVGPathSegListPropertyTearOff::create):
10341         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
10342         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
10343         (WebCore::SVGPathSegListPropertyTearOff::initialize):
10344         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
10345         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
10346         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
10347         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
10348         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
10349         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
10350
10351 2010-11-18  Mario Sanchez Prada  <msanchez@igalia.com>
10352
10353         Reviewed by Martin Robinson.
10354
10355         [Gtk]  atk_text_get_selection returns the wrong offsets after a link
10356         https://bugs.webkit.org/show_bug.cgi?id=49514
10357
10358         Consider possible embedded objects to calculate startOffset.
10359
10360         So far we were using offsetInContainerNode() to calculate the
10361         value of startOffset when checking the offsets for the current
10362         selection, which was wrong because that wouldn't work ok if any
10363         embedded object was present in the paragraph before the
10364         selection. Thus, we need to consider this fact when calculating
10365         the startOffset from the point of view of the object this function
10366         is called on, in order to return the right and actual values.
10367
10368         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
10369         (getSelectionOffsetsForObject): Check range length from the first
10370         position in the object the function is called on until the first
10371         position of current selection, and use it as startOffset.
10372
10373 2010-11-12  Stephen White  <senorblanco@chromium.org>
10374
10375         Reviewed by Simon Fraser.
10376
10377         Fix for multiple urls in a background-image causing repeated repaints.
10378         https://bugs.webkit.org/show_bug.cgi?id=42390
10379
10380         Change the key of RenderBoxModelObject's LastPaintSizeMap to include
10381         the layer of the element being drawn, so that the same URL used
10382         repeated in the same background-image, or another element's
10383         background-image, can be uniquely identified.  The layer is a void
10384         pointer, since it is only used as part of the key and using a
10385         void pointer will discourage dereferencing it.  This pointer is NULL
10386         when called from RenderImage (<img> elements).
10387
10388         Covered by fast/backgrounds/size/contain-and-cover.html
10389
10390         * rendering/RenderBoxModelObject.cpp:
10391         (WebCore::ImageQualityController::keyDestroyed):
10392         The old objectDestroyed() is renamed to keyDestroyed().
10393         (WebCore::ImageQualityController::objectDestroyed):
10394         The new objectDestroyed() iterates over all outstanding resizes
10395         to remove any resizes pertaining to this object.
10396         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
10397         Retrieve the RenderBoxModelObject from the pair's "first" member.
10398         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
10399         Create a key from the {object, layer} pair, and use it to access
10400         the repaint size map.
10401         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
10402         Plumb the layer through to the image quality controller.
10403         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
10404         Pass the bgLayer when checking 
10405         * rendering/RenderBoxModelObject.h:
10406         Add the void* layer parameter to shouldPaintAtLowQuality.
10407         * rendering/RenderImage.cpp:
10408         (WebCore::RenderImage::paintIntoRect):
10409         Pass 0 (null) for the layer parameter in this case.
10410
10411 2010-11-18  Chris Rogers  <crogers@google.com>
10412
10413         Reviewed by Dimitri Glazkov.
10414
10415         Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
10416         https://bugs.webkit.org/show_bug.cgi?id=49557
10417
10418         No new tests since audio API is not yet implemented.
10419
10420         * platform/chromium/ChromiumBridge.h:
10421
10422 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
10423
10424         Unreviewed, rolling out r72228.
10425         http://trac.webkit.org/changeset/72228
10426         https://bugs.webkit.org/show_bug.cgi?id=49712
10427
10428         Caused many >10 regressions on Win and Linux gpu layout test
10429         runs. (Requested by dave_levin on #webkit).
10430
10431         * html/canvas/WebGLFramebuffer.cpp:
10432         (WebCore::WebGLFramebuffer::onAccess):
10433         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
10434         * html/canvas/WebGLFramebuffer.h:
10435         * html/canvas/WebGLRenderingContext.cpp:
10436         (WebCore::WebGLRenderingContext::clear):
10437         (WebCore::WebGLRenderingContext::copyTexImage2D):
10438         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
10439         (WebCore::WebGLRenderingContext::drawArrays):
10440         (WebCore::WebGLRenderingContext::drawElements):
10441         (WebCore::WebGLRenderingContext::readPixels):
10442         (WebCore::WebGLRenderingContext::texImage2DBase):
10443
10444 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
10445
10446         Unreviewed, rolling out r72243.
10447         http://trac.webkit.org/changeset/72243
10448         https://bugs.webkit.org/show_bug.cgi?id=49710
10449
10450         Seemed to cause a large set of Chromium layout test to start
10451         failing. (Requested by dave_levin on #webkit).
10452
10453         * bindings/v8/V8NPUtils.cpp:
10454         (WebCore::convertV8ObjectToNPVariant):
10455
10456 2010-11-17  Adam Roben  <aroben@apple.com>
10457
10458         Fix Acid3 in Safari for Windows
10459
10460         Reviewed by Dave Hyatt.
10461
10462         * platform/graphics/win/SimpleFontDataWin.cpp:
10463         (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
10464         if we have a font size of 0.
10465
10466 2010-11-17  Dimitri Glazkov  <dglazkov@chromium.org>
10467
10468         Reviewed by Darin Adler.
10469
10470         Converge means of querying a parent node into one way, which is Node::parentNode.
10471         https://bugs.webkit.org/show_bug.cgi?id=49686
10472
10473         No change in behavior, so no new tests.
10474
10475         * accessibility/AccessibilityObject.cpp:
10476         (WebCore::renderListItemContainerForNode): Changed to use parentNode.
10477         * accessibility/AccessibilityRenderObject.cpp:
10478         (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
10479         (WebCore::siblingWithAriaRole): Ditto.
10480         (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
10481         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
10482         * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
10483         (blockquoteLevel): Ditto.
10484         * bindings/v8/V8GCController.cpp:
10485         (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
10486         * dom/ContainerNode.cpp: Ditto.
10487         (WebCore::ContainerNode::insertBefore): Ditto.
10488         (WebCore::ContainerNode::insertBeforeCommon): Ditto.
10489         (WebCore::ContainerNode::replaceChild): Ditto.
10490         (WebCore::ContainerNode::removeChild): Ditto.
10491         (WebCore::ContainerNode::appendChild): Ditto.
10492         (WebCore::ContainerNode::parserAddChild): Ditto.
10493         * dom/DocumentType.cpp:
10494         (WebCore::DocumentType::insertedIntoDocument): Ditto.
10495         * dom/Element.cpp:
10496         (WebCore::Element::computeInheritedLanguage): Ditto.
10497         * dom/MouseRelatedEvent.cpp:
10498         (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
10499         * dom/Position.cpp:
10500         (WebCore::Position::isCandidate): Changed to use parentNode.
10501         * dom/PositionIterator.cpp:
10502         (WebCore::PositionIterator::isCandidate): Ditto.
10503         * editing/AppendNodeCommand.cpp:
10504         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
10505         * editing/ApplyStyleCommand.cpp:
10506         (WebCore::dummySpanAncestorForNode): Ditto.
10507         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
10508         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
10509         (WebCore::highestEmbeddingAncestor): Ditto.
10510         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
10511         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
10512         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
10513         * editing/CompositeEditCommand.cpp:
10514         (WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
10515         * editing/DeleteSelectionCommand.cpp:
10516         (WebCore::updatePositionForNodeRemoval): Ditto.
10517         * editing/Editor.cpp:
10518         (WebCore::Editor::textDirectionForSelection): Ditto.
10519         * editing/MergeIdenticalElementsCommand.cpp:
10520         (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
10521         * editing/htmlediting.cpp:
10522         (WebCore::isEmptyTableCell): Ditto.
10523         * editing/markup.cpp:
10524         (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
10525         * editing/visible_units.cpp:
10526         (WebCore::previousLinePosition): Ditto.
10527         (WebCore::nextLinePosition): Ditto.
10528         * html/HTMLAreaElement.cpp:
10529         (WebCore::HTMLAreaElement::imageElement): Ditto.
10530         * html/HTMLElement.cpp:
10531         (WebCore::HTMLElement::setOuterHTML): Ditto.
10532         (WebCore::HTMLElement::insertAdjacent): Ditto.
10533         (WebCore::HTMLElement::supportsFocus): Ditto.
10534         * html/HTMLEmbedElement.cpp:
10535         (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
10536         (WebCore::HTMLEmbedElement::attributeChanged): Ditto.
10537         * html/HTMLTableElement.cpp:
10538         (WebCore::HTMLTableElement::insertRow): Ditto.
10539         * html/HTMLTableRowsCollection.cpp: Ditto.
10540         (WebCore::isInHead): Ditto.
10541         (WebCore::isInBody): Ditto.
10542         (WebCore::isInFoot): Ditto.
10543         (WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
10544         * html/HTMLViewSourceDocument.cpp:
10545         (WebCore::HTMLViewSourceDocument::addRange): Ditto.
10546         * html/MediaDocument.cpp:
10547         (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
10548         * html/parser/HTMLConstructionSite.cpp:
10549         (WebCore::HTMLConstructionSite::attach): Ditto.
10550         (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
10551         * html/parser/HTMLTreeBuilder.cpp:
10552         * page/FocusController.cpp:
10553         (WebCore::FocusController::findFocusableNodeInDirection): Ditto.
10554         * rendering/MediaControlElements.cpp:
10555         (WebCore::MediaControlElement::rendererIsNeeded): Ditto.
10556         (WebCore::MediaControlElement::attach): Ditto.
10557         (WebCore::MediaControlElement::updateStyle): Ditto.
10558         (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
10559         (WebCore::MediaControlInputElement::attach): Ditto.
10560         (WebCore::MediaControlInputElement::updateStyle): Ditto.
10561         * rendering/RenderSVGGradientStop.cpp:
10562         (WebCore::RenderSVGGradientStop::gradientElement): Ditto.
10563         * svg/SVGAElement.cpp:
10564         (WebCore::SVGAElement::createRenderer): Ditto.
10565         (WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
10566         * svg/SVGFELightElement.cpp:
10567         (WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
10568         (WebCore::SVGFELightElement::childrenChanged): Ditto.
10569         * svg/SVGFEMergeNodeElement.cpp:
10570         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
10571         * svg/SVGLength.cpp:
10572         (WebCore::SVGLength::determineViewport): Ditto.
10573         * svg/SVGStyledElement.cpp:
10574         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
10575         * svg/SVGUseElement.cpp:
10576         (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
10577         * svg/animation/SVGSMILElement.cpp:
10578         (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
10579         * xml/XPathNodeSet.cpp:
10580         (WebCore::XPath::NodeSet::sort): Ditto.
10581         * xml/XPathStep.cpp:
10582         (WebCore::XPath::Step::nodesInAxis): Ditto.
10583         * xml/XSLTProcessorLibxslt.cpp:
10584         (WebCore::xsltStylesheetPointer): Ditto.
10585
10586 2010-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
10587
10588         Reviewed by Andreas Kling.
10589
10590         ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()
10591
10592         This makes paint() with paintEntireContents() do exactly what it's supposed to:
10593         paint from 0,0 to contentsSize().
10594
10595         The clipping was a no-op anyway since visibleContentRect() will return the whole
10596         rect in paintsEntireContents() mode.
10597
10598         * platform/ScrollView.cpp:
10599         (WebCore::ScrollView::paint):
10600
10601 2010-11-17  Kenneth Rohde Christansen  <kenneth@webkit.org>
10602
10603         Reviewed by Andreas Kling.
10604
10605         ScrollView: Update the actualVisibleContentRect after delegating a scroll.
10606
10607         This lets us avoid updating the actualVisibleContentRect from the client
10608         after each scroll. We had to do this synchronously for WebKit2 to support
10609         programmatic "animated scrolling" from JS.
10610
10611         * platform/ScrollView.cpp:
10612         (WebCore::ScrollView::setScrollPosition):
10613
10614 2010-11-17  Andreas Kling  <kling@webkit.org>
10615
10616         Reviewed by Kenneth Rohde Christiansen.
10617
10618         ScrollView: Decouple actualVisibleContentRect from visibleContentRect
10619
10620         Added actualVisibleContentRect() which will return the override provided
10621         by setActualVisibleContentRect() or fall back to visibleContentRect()
10622         if no override has been set.
10623
10624         This is similar to what the iPhone does.
10625
10626         * platform/ScrollView.cpp:
10627         (WebCore::ScrollView::visibleContentRect):
10628         * platform/ScrollView.h:
10629         (WebCore::ScrollView::actualVisibleContentRect):
10630         (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&
10631
10632 2010-11-17  Tony Chang  <tony@chromium.org>
10633
10634         Reviewed by Adam Barth.
10635
10636         [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
10637         https://bugs.webkit.org/show_bug.cgi?id=49036
10638
10639         No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
10640
10641         In http://codereview.chromium.org/11574, the forked chromium test
10642         plugin changed how it testGetIntIdentifier to work around a change
10643         caused by a silverlight specific plugin fix:
10644         http://codereview.chromium.org/11569/diff/1/2
10645
10646         It's not clear to me that this change is needed anymore since
10647         silverlight has had multiple releases, testing without this patch
10648         works on a test windows build, and safari win seems to run silverlight
10649         without this either.  Since there's no test for this behavior, I'm
10650         rolling it out so we can match the upstream test.
10651
10652         * bindings/v8/V8NPUtils.cpp:
10653         (WebCore::convertV8ObjectToNPVariant):
10654
10655 2010-11-17  Andreas Kling  <kling@webkit.org>
10656
10657         Reviewed by Kenneth Rohde Christiansen.
10658
10659         ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()
10660
10661         * platform/ScrollView.cpp:
10662         (WebCore::ScrollView::visibleContentRect):
10663
10664 2010-11-17  James Simonsen  <simonjam@chromium.org>
10665
10666         Reviewed by Tony Chang.
10667
10668         [chromium] Fix negative letter spacing in complex text on linux
10669         https://bugs.webkit.org/show_bug.cgi?id=49563
10670
10671         Test: fast/text/atsui-negative-spacing-features.html
10672
10673         * platform/graphics/chromium/FontLinux.cpp: Make spacing signed.
10674
10675 2010-11-17  Andreas Kling  <kling@webkit.org>
10676
10677         Reviewed by Kenneth Rohde Christiansen.
10678
10679         ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.
10680
10681         * platform/ScrollView.cpp:
10682         (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
10683         newScrollPosition, so move that calculation below the delegation path.
10684
10685 2010-11-17  Dave Hyatt  <hyatt@apple.com>
10686
10687         Reviewed by Sam Weinig.
10688
10689         https://bugs.webkit.org/show_bug.cgi?id=48537
10690
10691         Fonts with no vertical metrics should synthesize baselines when they appear
10692         on lines that do use fonts with vertical metrics.  Basically we want to make
10693         sure that English text behaves like vertical-align:middle, i.e., its baseline
10694         should be treated as though it cuts through the middle of the ascent+descent.
10695         
10696         The way this works is that each line in the line box tree is labeled as having
10697         a baseline type that is either ideographic or alphabetic for the purposes of
10698         vertical alignment.  A line becomes ideographic if any font with vertical tables
10699         is either explicitly specified as the primary font or in any of the used fonts
10700         in the text on that line.
10701         
10702         This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
10703         and passed to the ascent and descent methods of the fonts that are examined.
10704         The underlying Font code selects an appropriate baseline given the type passed in.
10705         
10706         This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
10707         to instead carry around the cached vertical positions for RenderInlines in a new
10708         VerticalPositionCache object.  This cache only lives for a single layout
10709         operation, but it does cache information across all the lines built and placed during the
10710         layout.
10711         
10712         This matches the old behavior, since every call to layoutInlineChildren invalidated
10713         all of the vertical positions in all of the RenderInlines anyway.
10714         
10715         The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
10716         positions for both alphabetic and ideographic baseline types.
10717         
10718         The vertical-align computation has now been moved out of RenderBoxModelObject and
10719         RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
10720         This function has been changed to no longer be recursive when checking parents,
10721         and it now relies on the fact that the parent vertical alignment computation result
10722         has already been stored in the logicalTop() of that parent's line box.  By checking
10723         the line box logicalTop() value instead of recurring, the performance of first lines
10724         now significantly improves to no longer have O(n^2) behavior in the depth of the line
10725         box tree on the first line.
10726         
10727         All of the baselinePosition functions on the various RenderObjects have been amended
10728         to take a FontBaseline as the first argument.  This patch does not attempt to fix up
10729         MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
10730         
10731         The RenderTableCell baselinePosition virtual method has been made non-virtual and had
10732         all arguments removed, since it actually had no real connection with the rest of the 
10733         baseline positioning system.  Cell baseline positioning works by calling firstLineBoxBaseline,
10734         and that method has been patched to use the cached baselineType for the first line box
10735         when computing the baseline of that line.
10736          
10737         Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.
10738
10739         * WebCore.xcodeproj/project.pbxproj:
10740         * mathml/RenderMathMLFraction.cpp:
10741         (WebCore::RenderMathMLFraction::baselinePosition):
10742         * mathml/RenderMathMLFraction.h:
10743         * mathml/RenderMathMLOperator.cpp:
10744         (WebCore::RenderMathMLOperator::baselinePosition):
10745         * mathml/RenderMathMLOperator.h:
10746         * mathml/RenderMathMLRow.cpp:
10747         (WebCore::RenderMathMLRow::baselinePosition):
10748         * mathml/RenderMathMLRow.h:
10749         * mathml/RenderMathMLSubSup.cpp:
10750         (WebCore::RenderMathMLSubSup::baselinePosition):
10751         * mathml/RenderMathMLSubSup.h:
10752         * mathml/RenderMathMLUnderOver.cpp:
10753         (WebCore::RenderMathMLUnderOver::layout):
10754         (WebCore::RenderMathMLUnderOver::baselinePosition):
10755         * mathml/RenderMathMLUnderOver.h:
10756         * platform/graphics/SimpleFontData.h:
10757         * rendering/InlineBox.h:
10758         (WebCore::InlineBox::baselinePosition):
10759         * rendering/InlineFlowBox.cpp:
10760         (WebCore::verticalPositionForBox):
10761         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
10762         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
10763         * rendering/InlineFlowBox.h:
10764         * rendering/InlineTextBox.cpp:
10765         (WebCore::InlineTextBox::baselinePosition):
10766         * rendering/InlineTextBox.h:
10767         * rendering/RenderBlock.cpp:
10768         (WebCore::RenderBlock::baselinePosition):
10769         (WebCore::RenderBlock::firstLineBoxBaseline):
10770         (WebCore::RenderBlock::lastLineBoxBaseline):
10771         * rendering/RenderBlock.h:
10772         * rendering/RenderBlockLineLayout.cpp:
10773         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
10774         (WebCore::RenderBlock::layoutInlineChildren):
10775         * rendering/RenderBox.cpp:
10776         (WebCore::RenderBox::baselinePosition):
10777         * rendering/RenderBox.h:
10778         * rendering/RenderBoxModelObject.cpp:
10779         * rendering/RenderBoxModelObject.h:
10780         * rendering/RenderFileUploadControl.cpp:
10781         (WebCore::RenderFileUploadControl::paintObject):
10782         * rendering/RenderInline.cpp:
10783         (WebCore::RenderInline::RenderInline):
10784         (WebCore::RenderInline::baselinePosition):
10785         * rendering/RenderInline.h:
10786         * rendering/RenderListBox.cpp:
10787         (WebCore::RenderListBox::baselinePosition):
10788         * rendering/RenderListBox.h:
10789         * rendering/RenderListMarker.cpp:
10790         (WebCore::RenderListMarker::baselinePosition):
10791         * rendering/RenderListMarker.h:
10792         * rendering/RenderSlider.cpp:
10793         (WebCore::RenderSlider::baselinePosition):
10794         * rendering/RenderSlider.h:
10795         * rendering/RenderTableCell.cpp:
10796         (WebCore::RenderTableCell::baselinePosition):
10797         * rendering/RenderTableCell.h:
10798         * rendering/RenderTextControlMultiLine.cpp:
10799         (WebCore::RenderTextControlMultiLine::baselinePosition):
10800         * rendering/RenderTextControlMultiLine.h:
10801         * rendering/RootInlineBox.cpp:
10802         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
10803         * rendering/RootInlineBox.h:
10804         (WebCore::RootInlineBox::baselinePosition):
10805         * rendering/VerticalPositionCache.h: Added.
10806         (WebCore::VerticalPositionCache::VerticalPositionCache):
10807         (WebCore::VerticalPositionCache::get):
10808         (WebCore::VerticalPositionCache::set):
10809         * rendering/svg/SVGInlineTextBox.cpp:
10810         (WebCore::SVGInlineTextBox::calculateBoundaries):
10811
10812 2010-11-17  Sam Weinig  <sam@webkit.org>
10813
10814         Reviewed by Anders Carlsson.
10815
10816         Add stubbed out ScrollAnimator for the Mac
10817         https://bugs.webkit.org/show_bug.cgi?id=49678
10818
10819         * WebCore.xcodeproj/project.pbxproj:
10820         Add ScrollAnimator.h/cpp.
10821
10822         * platform/mac/ScrollAnimatorMac.cpp: Added.
10823         (WebCore::ScrollAnimator::create):
10824         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
10825         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
10826         (WebCore::ScrollAnimatorMac::scroll):
10827         (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
10828         * platform/mac/ScrollAnimatorMac.h: Added.
10829         ScrollAnimatorMac just calls through to the base class for now.
10830
10831 2010-11-17  Cris Neckar  <cdn@chromium.org>
10832
10833         Reviewed by Adam Barth.
10834
10835         Modified codepath for object fallback content which has failed to load.
10836         Refactored CachedResource error handling to use more granular statuses instead of a boolean value.
10837         https://bugs.webkit.org/show_bug.cgi?id=46921
10838
10839         Test: fast/html/object-image-nested-fallback.html
10840
10841         * html/HTMLObjectElement.cpp:
10842         (WebCore::HTMLObjectElement::renderFallbackContent):
10843         * loader/cache/CachedCSSStyleSheet.cpp:
10844         (WebCore::CachedCSSStyleSheet::error):
10845         * loader/cache/CachedCSSStyleSheet.h:
10846         * loader/cache/CachedFont.cpp:
10847         (WebCore::CachedFont::ensureCustomFontData):
10848         (WebCore::CachedFont::error):
10849         * loader/cache/CachedFont.h:
10850         * loader/cache/CachedImage.cpp:
10851         (WebCore::CachedImage::data):
10852         (WebCore::CachedImage::error):
10853         * loader/cache/CachedImage.h:
10854         * loader/cache/CachedResource.cpp:
10855         (WebCore::CachedResource::CachedResource):
10856         (WebCore::CachedResource::canUseCacheValidator):
10857         (WebCore::CachedResource::mustRevalidate):
10858         * loader/cache/CachedResource.h:
10859         (WebCore::CachedResource::error):
10860         (WebCore::CachedResource::httpStatusCodeError):
10861         (WebCore::CachedResource::errorOccurred):
10862         * loader/cache/CachedScript.cpp:
10863         (WebCore::CachedScript::error):
10864         * loader/cache/CachedScript.h:
10865         * loader/cache/CachedXSLStyleSheet.cpp:
10866         (WebCore::CachedXSLStyleSheet::error):
10867         * loader/cache/CachedXSLStyleSheet.h:
10868         * loader/loader.cpp:
10869         (WebCore::Loader::load):
10870         (WebCore::Loader::didFinishLoading):
10871         (WebCore::Loader::didFail):
10872         (WebCore::Loader::didReceiveData):
10873
10874 2010-11-16  Zhenyao Mo  <zmo@google.com>
10875
10876         Reviewed by Kenneth Russell.
10877
10878         WebGLRenderingContext needs to zero textures and renderbuffers
10879         https://bugs.webkit.org/show_bug.cgi?id=49355
10880
10881         Test: fast/canvas/webgl/uninitialized-test.html
10882
10883         * html/canvas/WebGLFramebuffer.cpp:
10884         (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
10885         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
10886         * html/canvas/WebGLFramebuffer.h: Modify onAccess function signature.
10887         * html/canvas/WebGLRenderingContext.cpp:
10888         (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
10889         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
10890         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
10891         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
10892         (WebCore::WebGLRenderingContext::drawElements): Ditto.
10893         (WebCore::WebGLRenderingContext::readPixels): Ditto.
10894         (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
10895
10896 2010-11-17  Ryosuke Niwa  <rniwa@webkit.org>
10897
10898         Reviewed by Darin Adler.
10899
10900         Merge ScriptElement and ScriptElementData
10901         https://bugs.webkit.org/show_bug.cgi?id=49647
10902
10903         Merged two classes.
10904
10905         * dom/AsyncScriptRunner.cpp:
10906         (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*.
10907         (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*.
10908         * dom/AsyncScriptRunner.h:
10909         * dom/ScriptElement.cpp:
10910         (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData.
10911         (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData.
10912         (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent.
10913         (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest.
10914         (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element.
10915         (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent.
10916         (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript.
10917         (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent.
10918         (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData.
10919         (WebCore::ScriptElement::executeScript): Ditto.
10920         (WebCore::ScriptElement::stopLoadRequest): Ditto.
10921         (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent.
10922         (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData.
10923         (WebCore::ScriptElement::ignoresLoadRequest): Ditto.
10924         (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue,
10925         forAttributeValue, and eventAttributeValue.
10926         (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData.
10927         (WebCore::ScriptElement::scriptContent): Ditto.
10928         (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue.
10929         (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue,
10930         and deferAttributeValue.
10931         * dom/ScriptElement.h:
10932         (WebCore::ScriptElement::element):
10933         (WebCore::ScriptElement::haveFiredLoadEvent):
10934         (WebCore::ScriptElement::setHaveFiredLoadEvent):
10935         (WebCore::ScriptElement::createdByParser):
10936         (WebCore::ScriptElement::isEvaluated):
10937
10938 2010-11-17  Tenghui Zhu  <ztenghui@google.com>
10939
10940         Reviewed by Jeremy Orlow.
10941
10942         profileCallback and profileEndCallback  should be guarded with ENABLE_JAVASCRIPT_DEBUGGER
10943         https://bugs.webkit.org/show_bug.cgi?id=49623
10944
10945         No new tests. Just a compiling error fix.
10946
10947         * bindings/v8/custom/V8ConsoleCustom.cpp:
10948           Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback
10949
10950 2010-11-17  John Knottenbelt  <jknotten@chromium.org>
10951
10952         Reviewed by Jeremy Orlow.
10953
10954         Introduce GeoNotifierVector typedef for increased readability
10955         https://bugs.webkit.org/show_bug.cgi?id=49597
10956
10957         * page/Geolocation.cpp:
10958         (WebCore::Geolocation::Watchers::getNotifiersVector):
10959         (WebCore::Geolocation::sendError):
10960         (WebCore::Geolocation::sendPosition):
10961         (WebCore::Geolocation::stopTimer):
10962         (WebCore::Geolocation::stopTimersForOneShots):
10963         (WebCore::Geolocation::stopTimersForWatchers):
10964         (WebCore::Geolocation::cancelRequests):
10965         (WebCore::Geolocation::cancelAllRequests):
10966         (WebCore::Geolocation::handleError):
10967         (WebCore::Geolocation::makeSuccessCallbacks):
10968         * page/Geolocation.h:
10969
10970 2010-11-17  John Knottenbelt  <jknotten@chromium.org>
10971
10972         Reviewed by Jeremy Orlow.
10973
10974         Convert correctly between GeolocationPosition and Geoposition
10975         timestamp formats.
10976         https://bugs.webkit.org/show_bug.cgi?id=48518
10977
10978         Test: fast/dom/Geolocation/timestamp.html
10979
10980         * page/Geolocation.cpp:
10981         (WebCore::createGeoposition):
10982
10983 2010-11-17  Chang Shu  <chang.shu@nokia.com>
10984
10985         Reviewed by Antonio Gomes.
10986
10987         [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac.
10988         This makes spatial navigation work properly for single select box.
10989
10990         Test: fast/events/spatial-navigation/snav-single-select.html
10991
10992         * dom/SelectElement.cpp:
10993         (WebCore::nextValidIndex):
10994         (WebCore::SelectElement::menuListDefaultEventHandler):
10995
10996 2010-11-17  Satish Sampath  <satish@chromium.org>
10997
10998         Reviewed by Jeremy Orlow.
10999
11000         Clear the speech input mock explicitly before each test.
11001         https://bugs.webkit.org/show_bug.cgi?id=49660
11002
11003         * platform/mock/SpeechInputClientMock.cpp:
11004         (WebCore::SpeechInputClientMock::clearResults): Added clearResults method.
11005         * platform/mock/SpeechInputClientMock.h:
11006
11007 2010-11-17  Alexander Pavlov  <apavlov@chromium.org>
11008
11009         [Chromium] Unreviewed, fix Chromium-Mac build from r72189.
11010
11011         * css/CSSPrimitiveValue.cpp:
11012         (WebCore::CSSPrimitiveValue::getDoubleValue):
11013
11014 2010-11-17  Hans Wennborg  <hans@chromium.org>
11015
11016         Reviewed by Jeremy Orlow.
11017
11018         IndexedDB: IDBKey::whereSyntax should impose conditions on all columns
11019         https://bugs.webkit.org/show_bug.cgi?id=49601
11020
11021         The WHERE clause should specifiy a condition for each key column to
11022         make sure that the ObjectStoreData_composit index can be used when
11023         querying the object store based on key. Not using the index causes
11024         severe performance degradation for common IDB operations.
11025
11026         * storage/IDBKey.cpp:
11027         (WebCore::IDBKey::whereSyntax):
11028
11029 2010-11-17  Eric Uhrhane  <ericu@chromium.org>
11030
11031         Reviewed by David Levin.
11032
11033         [Chromium] implementation of async FileWriter for workers
11034         https://bugs.webkit.org/show_bug.cgi?id=47681
11035
11036         Tests are in a separate changelist.
11037
11038         * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs
11039
11040 2010-11-17  Alejandro G. Castro  <alex@igalia.com>
11041
11042         Reviewed by Martin Robinson.
11043
11044         [gtk] r69119 modified just the gtk2 version of the
11045         scrolled_window_paint function but not the gtk3 version
11046         https://bugs.webkit.org/show_bug.cgi?id=49585
11047
11048         Use gtk_paint_shadow the same as the actual code from GTK+. Avoid
11049         using state and use the same values we are using for gtk2 in the
11050         paint function.
11051
11052         * platform/gtk/ScrollbarThemeGtk.cpp:
11053         (WebCore::ScrollbarThemeGtk::paintButton): Initialized the
11054         depressed attribute of the state variable to avoid using it
11055         without initialization.
11056         * platform/gtk/gtk3drawing.c:
11057         (moz_gtk_scrolled_window_paint):
11058
11059 2010-11-16  Alexander Pavlov  <apavlov@chromium.org>
11060
11061         Reviewed by Simon Fraser.
11062
11063         CSSPrimitiveValue.getFloatValue does not convert sizes
11064         https://bugs.webkit.org/show_bug.cgi?id=35770
11065
11066         Implemented all same-category unit conversions (length, angle, time, frequency) and retained
11067         absolute-relative (cm, mm, in, pt, pc) length conversions intact.
11068         Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
11069
11070         * css/CSSPrimitiveValue.cpp:
11071         (WebCore::unitCategory):
11072         (WebCore::conversionToCanonicalUnitsScaleFactor):
11073         (WebCore::CSSPrimitiveValue::getDoubleValue):
11074         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
11075         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
11076         (WebCore::CSSPrimitiveValue::getIdent):
11077         * css/CSSPrimitiveValue.h:
11078         (WebCore::CSSPrimitiveValue::getFloatValue):
11079         (WebCore::CSSPrimitiveValue::getIntValue):
11080
11081 2010-11-17  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
11082
11083         Reviewed by Andreas Kling.
11084
11085         Document::nodesFromRect() has wrong source code documentation
11086         https://bugs.webkit.org/show_bug.cgi?id=49610
11087
11088         * dom/Document.h: fix nodesFromRect() documentation
11089
11090 2010-11-17  Alexis Menard  <alexis.menard@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>
11091
11092         Reviewed by Kenneth Christiansen, Tor Arne Vestbø.
11093
11094         [Qt] Add support for use GStreamer with the Qt build
11095
11096         Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The
11097         integration is rather basic at this point, allowing for software based rendering
11098         only at the moment. AC integration and fullscreen playback is still missing.
11099
11100         * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a
11101         build option with the USE_GSTREAMER macro.
11102         * platform/graphics/MediaPlayer.cpp:
11103         (WebCore::installedMediaEngines): Don't use the generic media player registration
11104         when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want
11105         to be able to build with gstreamer _and_ another backend simultaenously.
11106         * platform/graphics/gstreamer/ImageGStreamer.h:
11107         * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added.
11108         (ImageGStreamer::createImage):
11109         (ImageGStreamer::ImageGStreamer):
11110         (ImageGStreamer::~ImageGStreamer):
11111         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added.
11112         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added.
11113         (FullScreenVideoWindow::FullScreenVideoWindow):
11114         (FullScreenVideoWindow::keyPressEvent):
11115         (FullScreenVideoWindow::event):
11116         (PlatformVideoWindow::PlatformVideoWindow):
11117         (PlatformVideoWindow::~PlatformVideoWindow):
11118         (PlatformVideoWindow::prepareForOverlay):
11119
11120 2010-11-17  Alexander Pavlov  <apavlov@chromium.org>
11121
11122         Reviewed by Pavel Feldman.
11123
11124         Web Inspector: [REGRESSION] editing disabled styles breaks style bodies.
11125         https://bugs.webkit.org/show_bug.cgi?id=49602
11126
11127         * inspector/InspectorStyleSheet.cpp:
11128         (WebCore::InspectorStyle::setPropertyText):
11129         * inspector/front-end/StylesSidebarPane.js:
11130         (WebInspector.StylePropertyTreeElement.prototype.get name):
11131         (WebInspector.StylePropertyTreeElement.prototype.get priority):
11132         (WebInspector.StylePropertyTreeElement.prototype.get value):
11133
11134 2010-11-16  Adam Roben  <aroben@apple.com>
11135
11136         Move QTMovieWin's settings into a vsprops file
11137
11138         Fixes <http://webkit.org/b/49644> QTMovieWin should use a vsprops file
11139
11140         Reviewed by Steve Falkenburg.
11141
11142         * WebCore.vcproj/QTMovieWin.vcproj:
11143         * WebCore.vcproj/QTMovieWinCommon.vsprops: Added.
11144
11145 2010-11-16  Andy Estes  <aestes@apple.com>
11146
11147         Reviewed by Dave Hyatt.
11148
11149         WebKit mishandles line boxes where the content height exceeds the
11150         specified line-height.
11151         https://bugs.webkit.org/show_bug.cgi?id=49410
11152
11153         If a line height is explicitly specified on a text box and fallback
11154         fonts are in use, only the primary font should be considered when
11155         computing the box's ascent and descent. This prevents the inline box
11156         from being sized larger than the specified line height.
11157
11158         This patch also fixes a math error when computing a used font's descent
11159         in the case where line height isn't explicitly set. This change results
11160         in a number of layout tests needing re-baselining.
11161
11162         Test: fast/css/line-height-determined-by-primary-font.html
11163
11164         * rendering/InlineFlowBox.cpp:
11165         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
11166
11167 2010-11-15  Ryosuke Niwa  <rniwa@webkit.org>
11168
11169         Reviewed by Darin Adler.
11170
11171         ScriptElementData should be a private member of ScriptElement
11172         https://bugs.webkit.org/show_bug.cgi?id=49578
11173
11174         Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser,
11175         and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData.
11176
11177         No tests are added since this is a cleanup.
11178
11179         * dom/ScriptElement.h:
11180         (WebCore::ScriptElement::haveFiredLoadEvent): Added.
11181         (WebCore::ScriptElement::setHaveFiredLoadEvent): Added.
11182         (WebCore::ScriptElement::createdByParser): Added.
11183         (WebCore::ScriptElement::isEvaluated): Added.
11184         * html/HTMLScriptElement.cpp:
11185         (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent.
11186         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated.
11187         * html/HTMLScriptElement.h:
11188         (WebCore::HTMLScriptElement::text): Calls scriptContent.
11189         (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent.
11190         * svg/SVGScriptElement.cpp:
11191         (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser.
11192         (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser.
11193         (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent.
11194         (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto.
11195         (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent.
11196         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser,
11197         haveFiredLoadEvent, and setHaveFiredLoadEvent.
11198
11199 2010-11-16  Antti Koivisto  <antti@apple.com>
11200
11201         Reviewed by Darin Adler.
11202
11203         https://bugs.webkit.org/show_bug.cgi?id=49320
11204         Minor ResourceLoadScheduler cleanups
11205
11206         * loader/ResourceLoadScheduler.cpp:
11207         (WebCore::ResourceLoadScheduler::scheduleLoad):
11208         (WebCore::ResourceLoadScheduler::servePendingRequests):
11209         (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
11210         (WebCore::ResourceLoadScheduler::HostInformation::remove):
11211         (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
11212         * loader/ResourceLoadScheduler.h:
11213
11214 2010-11-16  Dave Hyatt  <hyatt@apple.com>
11215
11216         Reviewed by Sam Weinig.
11217
11218         Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that
11219         line should be ideographic or alphabetic.  Add a requiresIdeographicsBaseline recursive function to
11220         InlineFlowBox that scans for the use of any vertical fonts.
11221
11222         * rendering/InlineFlowBox.cpp:
11223         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
11224         * rendering/InlineFlowBox.h:
11225         * rendering/RootInlineBox.cpp:
11226         (WebCore::RootInlineBox::RootInlineBox):
11227         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
11228         * rendering/RootInlineBox.h:
11229         (WebCore::RootInlineBox::baselineType):
11230
11231 2010-11-16  Dave Hyatt  <hyatt@apple.com>
11232
11233         Reviewed by Sam Weinig.
11234
11235         Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an
11236         alphabetic and ideographic baseline can be requested.
11237
11238         * WebCore.xcodeproj/project.pbxproj:
11239         * platform/graphics/Font.h:
11240         (WebCore::Font::ascent):
11241         (WebCore::Font::descent):
11242         * platform/graphics/FontBaseline.h: Added.
11243         * platform/graphics/SimpleFontData.h:
11244         (WebCore::SimpleFontData::ascent):
11245         (WebCore::SimpleFontData::descent):
11246         (WebCore::SimpleFontData::height):
11247
11248 2010-11-16  Antti Koivisto  <koivisto@iki.fi>
11249
11250         Reviewed by Adam Barth.
11251
11252         https://bugs.webkit.org/show_bug.cgi?id=31223
11253         Make primitive values immutable.
11254         
11255         Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception.
11256     
11257         Reasoning:
11258         - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering
11259         - computed style is immutable in all cases, and it wasn't
11260         - no other engine seems to support mutable primitives, as a result there is no content using these APIs
11261         - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value
11262         - allowing mutation of primitive values makes optimizations harder
11263
11264         * css/CSSPrimitiveValue.cpp:
11265         (WebCore::CSSPrimitiveValue::setFloatValue):
11266         (WebCore::CSSPrimitiveValue::setStringValue):
11267
11268 2010-11-16  Steve Falkenburg  <sfalken@apple.com>
11269
11270         Reviewed by Adam Roben.
11271
11272         Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
11273         https://bugs.webkit.org/show_bug.cgi?id=49632
11274
11275         * WebCore.vcproj/QTMovieWin.vcproj:
11276         * WebCore.vcproj/WebCore.make:
11277         * WebCore.vcproj/WebCore.sln:
11278         * WebCore.vcproj/WebCore.vcproj:
11279
11280 2010-11-16  Anders Carlsson  <andersca@apple.com>
11281
11282         Reviewed by John Sullivan.
11283
11284         Set the original URL for downloads
11285         https://bugs.webkit.org/show_bug.cgi?id=49628
11286
11287         Export symbols needed by WebKit2.
11288
11289         * WebCore.exp.in:
11290
11291 2010-11-16  Dave Hyatt  <hyatt@apple.com>
11292
11293         Reviewed by Dan Bernstein.
11294
11295         https://bugs.webkit.org/show_bug.cgi?id=11004
11296         
11297         font-size:0 is ignored.  Remove the minimum font size of 1 in CSSStyleSelector.
11298         Change the pref value for minimum font size from 1 to 0.  Make sure to never use the NSFont's size,
11299         since it doesn't honor a size of 0.  Instead pass the size in to the FontPlatformData(NSFont*) version
11300         of the constructor rather than using [NSFont pointSize].
11301
11302         https://bugs.webkit.org/show_bug.cgi?id=49582
11303         
11304         Negative leading is not handled correctly.  There are two bugs here.  The first is that
11305         maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
11306         set them before so that we can allow them to be < 0.
11307         
11308         The second issue is that we should understand where fonts will end up relative to
11309         our baseline (excluding line height), and only allow those boxes to impact ascent and
11310         descent if the actual font box (without factoring in line height) is above or below the
11311         root line box baseline.
11312
11313         Added fast/css/negative-leading.html
11314         
11315         These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
11316
11317         * WebCore.exp.in:
11318         * css/CSSStyleSelector.cpp:
11319         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
11320         * platform/graphics/cocoa/FontPlatformData.h:
11321         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
11322         (WebCore::FontPlatformData::FontPlatformData):
11323         * platform/graphics/mac/FontCacheMac.mm:
11324         (WebCore::FontCache::getFontDataForCharacters):
11325         (WebCore::FontCache::createFontPlatformData):
11326         * platform/graphics/mac/SimpleFontDataMac.mm:
11327         (WebCore::SimpleFontData::smallCapsFontData):
11328         * rendering/InlineFlowBox.cpp:
11329         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
11330         * rendering/InlineFlowBox.h:
11331         * rendering/RootInlineBox.cpp:
11332         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
11333
11334 2010-11-16  Darin Adler  <darin@apple.com>
11335
11336         https://bugs.webkit.org/show_bug.cgi?id=49611
11337         REGRESSION (r72115): 5 layout tests are broken
11338
11339         * loader/FrameLoader.cpp:
11340         (WebCore::FrameLoader::loadFrameRequest): Roll change from
11341         https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll
11342         it back in after fixing the failing tests.
11343
11344 2010-11-16  Dan Bernstein  <mitz@apple.com>
11345
11346         Reviewed by Simon Fraser.
11347
11348         <rdar://problem/8672000> REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree
11349         https://bugs.webkit.org/show_bug.cgi?id=49579
11350
11351         r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged()
11352         got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s
11353         childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not.
11354         Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix
11355         is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and
11356         just keep it for when it is needed.
11357
11358         Tests: fast/block/float/015.html
11359                fast/images/style-access-during-imageChanged-style-freeze.html
11360
11361         * dom/Document.cpp:
11362         (WebCore::Document::isPendingStyleRecalc): Added.
11363         * dom/Document.h:
11364         * rendering/RenderImage.cpp:
11365         (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc
11366         is coming (indicating that current style() is stale).
11367
11368 2010-11-11  Zhenyao Mo  <zmo@google.com>
11369
11370         Reviewed by Kenneth Russell.
11371
11372         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
11373         https://bugs.webkit.org/show_bug.cgi?id=47196
11374
11375         * html/canvas/WebGLRenderingContext.cpp:
11376         (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading.
11377         (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
11378         * platform/graphics/GraphicsContext3D.cpp:
11379         (WebCore::GraphicsContext3D::extractImageData): Ditto.
11380         * platform/graphics/GraphicsContext3D.h:
11381         * platform/graphics/ImageSource.cpp:
11382         (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter.
11383         (WebCore::ImageSource::setData): Ditto.
11384         * platform/graphics/ImageSource.h:
11385         * platform/graphics/cg/GraphicsContext3DCG.cpp:
11386         (WebCore::GraphicsContext3D::getImageData): Ditto.
11387         * platform/graphics/cg/ImageSourceCG.cpp:
11388         (WebCore::ImageSource::ImageSource): Ditto.
11389         * platform/graphics/qt/GraphicsContext3DQt.cpp:
11390         (WebCore::GraphicsContext3D::getImageData): Ditto.
11391         * platform/graphics/qt/ImageDecoderQt.cpp:
11392         (WebCore::ImageDecoder::create): Ditto.
11393         (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto.
11394         * platform/graphics/qt/ImageDecoderQt.h:
11395         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
11396         (WebCore::GraphicsContext3D::getImageData): Ditto.
11397         * platform/image-decoders/ImageDecoder.cpp:
11398         (WebCore::ImageDecoder::create): Ditto.
11399         * platform/image-decoders/ImageDecoder.h:
11400         (WebCore::ImageDecoder::ImageDecoder): Ditto.
11401         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
11402         (WebCore::BMPImageDecoder::BMPImageDecoder):
11403         * platform/image-decoders/bmp/BMPImageDecoder.h:
11404         * platform/image-decoders/gif/GIFImageDecoder.cpp:
11405         (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto.
11406         * platform/image-decoders/gif/GIFImageDecoder.h:
11407         * platform/image-decoders/ico/ICOImageDecoder.cpp:
11408         (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto.
11409         (WebCore::ICOImageDecoder::decodeAtIndex): Ditto.
11410         * platform/image-decoders/ico/ICOImageDecoder.h:
11411         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
11412         (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto.
11413         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
11414         * platform/image-decoders/png/PNGImageDecoder.cpp:
11415         (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto.
11416         (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true.
11417         * platform/image-decoders/png/PNGImageDecoder.h:
11418         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
11419         (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter.
11420         * platform/image-decoders/webp/WEBPImageDecoder.h:
11421
11422 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
11423
11424         Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117
11425
11426         * platform/graphics/MediaPlayer.cpp:
11427         (WebCore::installedMediaEngines):
11428
11429 2010-11-12  Zhenyao Mo  <zmo@google.com>
11430
11431         Reviewed by Kenneth Russell.
11432
11433         Refactor GL backend flags
11434         https://bugs.webkit.org/show_bug.cgi?id=49460
11435
11436         * html/canvas/WebGLRenderingContext.cpp:
11437         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags().
11438         (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags().
11439         (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags.
11440         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member.
11441         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
11442         * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation.
11443         (WebCore::WebGLRenderingContext::isGLES2Compliant):
11444         (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
11445         (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
11446         (WebCore::WebGLRenderingContext::isResourceSafe):
11447         (WebCore::WebGLRenderingContext::isDepthStencilSupported):
11448         * platform/graphics/Extensions3D.h: Add NPOT extension.
11449         * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level.
11450         * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions.
11451         * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level.
11452
11453 2010-11-16  Kenneth Russell  <kbr@google.com>
11454
11455         Reviewed by Dimitri Glazkov.
11456
11457         WebIDL conversions from string to number and array to number should not generate TypeError
11458         https://bugs.webkit.org/show_bug.cgi?id=49218
11459
11460         Recent SVG-related changes to the StrictTypeChecking extended attribute in
11461         CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and
11462         ECMA-262 specifications. In particular, when an attribute or function argument is specified
11463         as a number type (floating-point or integer), passing in a String or object is not supposed
11464         to raise an exception.
11465
11466         The original intent of the StrictTypeChecking extended attribute was to properly raise
11467         TypeError when an interface type is required, but the supplied object does not implement the
11468         interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has
11469         silently passed null to the C++ bindings in this case. The handling of strings in the
11470         original StrictTypeChecking implementation was also incorrect, raising exceptions when it
11471         should not.
11472
11473         The semantics of StrictTypeChecking have been changed to enforce only the restrictions on
11474         interface types. The V8 custom bindings for WebGL have been updated to match the behavior of
11475         the autogenerated code.
11476
11477         Test: fast/canvas/webgl/type-conversion-test.html
11478
11479         * bindings/scripts/CodeGeneratorJS.pm:
11480         * bindings/scripts/CodeGeneratorV8.pm:
11481         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
11482         (WebCore::getObjectParameter):
11483         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
11484         (WebCore::V8WebGLRenderingContext::getParameterCallback):
11485         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
11486         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
11487         (WebCore::vertexAttribAndUniformHelperf):
11488
11489 2010-11-16  Alexey Proskuryakov  <ap@apple.com>
11490
11491         Windows build fix.
11492
11493         * DerivedSources.cpp: Removing CSS Variables generated files.
11494
11495 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
11496
11497         Reviewed by John Sullivan.
11498
11499         getMIMEType(s)ForExtension should consult system mapping
11500         https://bugs.webkit.org/show_bug.cgi?id=49497
11501
11502         No new tests possible.
11503
11504         * platform/MIMETypeRegistry.cpp:
11505         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension. 
11506         Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling
11507         constains() and then get().
11508         (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto.
11509
11510 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
11511
11512         Reviewed by Darin Adler.
11513
11514         Rename QTKit based media engine class name
11515         https://bugs.webkit.org/show_bug.cgi?id=36663
11516
11517         No new tests as this just renames a class and restructures existing code.
11518
11519         * platform/graphics/MediaPlayer.cpp:
11520         (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the
11521         number of #ifs in the code.
11522
11523         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit.
11524         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
11525         (WebCore::MediaPlayerPrivateQTKit::create):
11526         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
11527         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
11528         (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
11529         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
11530         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
11531         (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
11532         (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
11533         (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
11534         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
11535         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
11536         (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
11537         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
11538         (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
11539         (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
11540         (WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
11541         (WebCore::MediaPlayerPrivateQTKit::createQTTime):
11542         (WebCore::MediaPlayerPrivateQTKit::resumeLoad):
11543         (WebCore::MediaPlayerPrivateQTKit::load):
11544         (WebCore::MediaPlayerPrivateQTKit::loadInternal):
11545         (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
11546         (WebCore::MediaPlayerPrivateQTKit::platformMedia):
11547         (WebCore::MediaPlayerPrivateQTKit::platformLayer):
11548         (WebCore::MediaPlayerPrivateQTKit::play):
11549         (WebCore::MediaPlayerPrivateQTKit::pause):
11550         (WebCore::MediaPlayerPrivateQTKit::duration):
11551         (WebCore::MediaPlayerPrivateQTKit::currentTime):
11552         (WebCore::MediaPlayerPrivateQTKit::seek):
11553         (WebCore::MediaPlayerPrivateQTKit::doSeek):
11554         (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
11555         (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
11556         (WebCore::MediaPlayerPrivateQTKit::paused):
11557         (WebCore::MediaPlayerPrivateQTKit::seeking):
11558         (WebCore::MediaPlayerPrivateQTKit::naturalSize):
11559         (WebCore::MediaPlayerPrivateQTKit::hasVideo):
11560         (WebCore::MediaPlayerPrivateQTKit::hasAudio):
11561         (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
11562         (WebCore::MediaPlayerPrivateQTKit::setVolume):
11563         (WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions):
11564         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
11565         (WebCore::MediaPlayerPrivateQTKit::setRate):
11566         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
11567         (WebCore::MediaPlayerPrivateQTKit::buffered):
11568         (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable):
11569         (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded):
11570         (WebCore::MediaPlayerPrivateQTKit::bytesLoaded):
11571         (WebCore::MediaPlayerPrivateQTKit::totalBytes):
11572         (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
11573         (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
11574         (WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup):
11575         (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
11576         (WebCore::MediaPlayerPrivateQTKit::updateStates):
11577         (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
11578         (WebCore::MediaPlayerPrivateQTKit::rateChanged):
11579         (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
11580         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
11581         (WebCore::MediaPlayerPrivateQTKit::didEnd):
11582         (WebCore::MediaPlayerPrivateQTKit::setSize):
11583         (WebCore::MediaPlayerPrivateQTKit::setVisible):
11584         (WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame):
11585         (WebCore::MediaPlayerPrivateQTKit::repaint):
11586         (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
11587         (WebCore::MediaPlayerPrivateQTKit::paint):
11588         (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes):
11589         (WebCore::MediaPlayerPrivateQTKit::supportsType):
11590         (WebCore::MediaPlayerPrivateQTKit::isAvailable):
11591         (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
11592         (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
11593         (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
11594         (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
11595         (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):
11596         (WebCore::MediaPlayerPrivateQTKit::movieLoadType):
11597         (WebCore::MediaPlayerPrivateQTKit::setPreload):
11598         (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue):
11599         (-[WebCoreMovieObserver initWithCallback:]):
11600
11601 2010-11-16  Alexey Proskuryakov  <ap@apple.com>
11602
11603         Reviewed by Dave Hyatt.
11604
11605         https://bugs.webkit.org/show_bug.cgi?id=49483
11606         Remove CSS Variable support
11607
11608         * Android.derived.jscbindings.mk:
11609         * Android.derived.v8bindings.mk:
11610         * Android.mk:
11611         * CMakeLists.txt:
11612         * DerivedSources.make:
11613         * GNUmakefile.am:
11614         * WebCore.gypi:
11615         * WebCore.pri:
11616         * WebCore.pro:
11617         * WebCore.vcproj/WebCore.vcproj:
11618         * WebCore.xcodeproj/project.pbxproj:
11619         * bindings/js/JSCSSRuleCustom.cpp:
11620         (WebCore::toJS):
11621         * bindings/v8/custom/V8DOMWindowCustom.cpp
11622         * bindings/objc/DOMCSS.mm:
11623         (kitClass):
11624         * bindings/scripts/CodeGeneratorJS.pm:
11625         * css/CSSComputedStyleDeclaration.cpp:
11626         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
11627         * css/CSSGrammar.y:
11628         * css/CSSMutableStyleDeclaration.cpp:
11629         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
11630         (WebCore::CSSMutableStyleDeclaration::removeProperty):
11631         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
11632         (WebCore::CSSMutableStyleDeclaration::copy):
11633         * css/CSSMutableStyleDeclaration.h:
11634         (WebCore::CSSMutableStyleDeclaration::create):
11635         * css/CSSParser.cpp:
11636         (WebCore::CSSParser::CSSParser):
11637         (WebCore::CSSParser::~CSSParser):
11638         (WebCore::CSSParser::parseValue):
11639         (WebCore::CSSParser::lex):
11640         (WebCore::CSSParser::recheckAtKeyword):
11641         (WebCore::CSSParser::text):
11642         (WebCore::CSSParser::createMediaRule):
11643         (WebCore::CSSParser::createKeyframesRule):
11644         (WebCore::CSSParser::createStyleRule):
11645         (WebCore::CSSParser::createFontFaceRule):
11646         (WebCore::CSSParser::addNamespace):
11647         (WebCore::CSSParser::createPageRule):
11648         * css/CSSParser.h:
11649         * css/CSSParserValues.cpp:
11650         (WebCore::CSSParserValueList::addValue):
11651         (WebCore::CSSParserValueList::deleteValueAt):
11652         (WebCore::CSSParserValue::createCSSValue):
11653         * css/CSSParserValues.h:
11654         (WebCore::CSSParserValueList::CSSParserValueList):
11655         * css/CSSPrimitiveValue.cpp:
11656         (WebCore::CSSPrimitiveValue::cleanup):
11657         (WebCore::CSSPrimitiveValue::getStringValue):
11658         (WebCore::CSSPrimitiveValue::cssText):
11659         (WebCore::CSSPrimitiveValue::parserValue):
11660         * css/CSSPrimitiveValue.h:
11661         * css/CSSProperty.cpp:
11662         (WebCore::CSSProperty::cssText):
11663         * css/CSSPropertyNames.in:
11664         * css/CSSRule.h:
11665         * css/CSSRule.idl:
11666         * css/CSSStyleDeclaration.cpp:
11667         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
11668         * css/CSSStyleSelector.cpp:
11669         (WebCore::CSSStyleSelector::addMatchedDeclaration):
11670         (WebCore::CSSRuleSet::addRulesFromSheet):
11671         (WebCore::CSSStyleSelector::applyProperty):
11672         * css/CSSStyleSelector.h:
11673         * css/CSSValue.h:
11674         * css/CSSVariableDependentValue.cpp: Removed.
11675         * css/CSSVariableDependentValue.h: Removed.
11676         * css/CSSVariablesDeclaration.cpp: Removed.
11677         * css/CSSVariablesDeclaration.h: Removed.
11678         * css/CSSVariablesDeclaration.idl: Removed.
11679         * css/CSSVariablesRule.cpp: Removed.
11680         * css/CSSVariablesRule.h: Removed.
11681         * css/CSSVariablesRule.idl: Removed.
11682         * css/StyleBase.h:
11683         (WebCore::StyleBase::isMediaRule):
11684         * css/tokenizer.flex:
11685         * page/DOMWindow.idl:
11686
11687 2010-11-16  Darin Adler  <darin@apple.com>
11688
11689         Reviewed by Sam Weinig.
11690
11691         https://bugs.webkit.org/show_bug.cgi?id=48603
11692         Boolean logic mistake in local file check
11693
11694         * loader/FrameLoader.cpp:
11695         (WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass
11696         before accepting a local file load.
11697
11698 2010-11-15  Darin Adler  <darin@apple.com>
11699
11700         Reviewed by Sam Weinig.
11701
11702         Harden additional string functions against large lengths
11703         https://bugs.webkit.org/show_bug.cgi?id=49574
11704
11705         * platform/text/TextCodecUTF16.cpp:
11706         (WebCore::TextCodecUTF16::encode): Check for length that is
11707         too large for size_t.
11708
11709         * platform/text/TextStream.cpp:
11710         (WebCore::TextStream::operator<<): Check for length that is
11711         too large for size_t.
11712
11713 2010-11-16  Pavel Feldman  <pfeldman@chromium.org>
11714
11715         Not reviewed. Touching inspector controller to make gtk / qt happier.
11716
11717         * inspector/InspectorController.cpp:
11718
11719 2010-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>
11720
11721         Reviewed by Martin Robinson.
11722
11723         [GTK] Use gdk_pixbuf_get_from_surface() when available
11724         https://bugs.webkit.org/show_bug.cgi?id=49532
11725
11726         * platform/graphics/gtk/GdkCairoUtilities.cpp:
11727         (cairoImageSurfaceToGdkPixbuf):
11728
11729 2010-11-16  Pavel Feldman  <pfeldman@chromium.org>
11730
11731         Reviewed by Yury Semikhatsky.
11732
11733         Web Inspector: init front-end UI upon DOMContentLoaded, not load event.
11734         https://bugs.webkit.org/show_bug.cgi?id=49596
11735
11736         * inspector/front-end/inspector.js:
11737         (windowLoaded):
11738
11739 2010-11-15  Alexander Pavlov  <apavlov@chromium.org>
11740
11741         Reviewed by Pavel Feldman.
11742
11743         Web Inspector: Migrate frontend to the new CSS editing/retrieval API
11744         https://bugs.webkit.org/show_bug.cgi?id=49492
11745
11746         Test: inspector/styles-new-API.html
11747
11748         * inspector/front-end/AuditRules.js:
11749         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
11750         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
11751         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
11752         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
11753         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
11754         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
11755         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
11756         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
11757         * inspector/front-end/CSSStyleModel.js:
11758         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
11759         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
11760         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
11761         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
11762         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
11763         (WebInspector.CSSStyleModel.prototype.addRule):
11764         (WebInspector.CSSStyleModel.prototype.addRule.callback):
11765         (WebInspector.CSSStyleDeclaration):
11766         (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
11767         (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex):
11768         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
11769         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
11770         (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
11771         (WebInspector.CSSRule):
11772         (WebInspector.CSSProperty.prototype.get propertyText):
11773         (WebInspector.CSSProperty.prototype.setText):
11774         (WebInspector.CSSProperty.prototype.setDisabled):
11775         (WebInspector.CSSStyleSheet):
11776         (WebInspector.CSSStyleSheet.createForId):
11777         (WebInspector.CSSStyleSheet.prototype.getText):
11778         (WebInspector.CSSStyleSheet.prototype.setText):
11779         * inspector/front-end/Settings.js:
11780         * inspector/front-end/StylesSidebarPane.js:
11781         (WebInspector.StylePropertiesSection.prototype.onpopulate):
11782         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
11783         (WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox):
11784         (WebInspector.StylePropertiesSection.prototype._debugShowStyle):
11785         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
11786         (WebInspector.StylePropertyTreeElement.prototype):
11787         (WebInspector.StylePropertyTreeElement.prototype.):
11788         * inspector/front-end/inspector.css:
11789         (.styles-section .properties li.not-parsed-ok):
11790         (.styles-section .properties li.not-parsed-ok::before):
11791         (.styles-section .properties .inactive):
11792
11793 2010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
11794
11795         Unreviewed, rolling out r72082.
11796         http://trac.webkit.org/changeset/72082
11797         https://bugs.webkit.org/show_bug.cgi?id=49594
11798
11799         "broken SnowLeopard build" (Requested by apavlov on #webkit).
11800
11801         * css/CSSPrimitiveValue.cpp:
11802         (WebCore::scaleFactorForConversion):
11803         (WebCore::CSSPrimitiveValue::getDoubleValue):
11804         (WebCore::CSSPrimitiveValue::getIdent):
11805         * css/CSSPrimitiveValue.h:
11806         (WebCore::CSSPrimitiveValue::getFloatValue):
11807         (WebCore::CSSPrimitiveValue::getIntValue):
11808
11809 2010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
11810
11811         Unreviewed, rolling out r72087.
11812         http://trac.webkit.org/changeset/72087
11813         https://bugs.webkit.org/show_bug.cgi?id=49593
11814
11815         "broken build" (Requested by apavlov on #webkit).
11816
11817         * css/CSSPrimitiveValue.cpp:
11818         (WebCore::unitCategory):
11819
11820 2010-11-15  Pavel Feldman  <pfeldman@chromium.org>
11821
11822         Reviewed by Yury Semikhatsky.
11823
11824         Web Inspector: rename StoragePanel to ResourcesPanel.
11825         https://bugs.webkit.org/show_bug.cgi?id=49534
11826
11827         * WebCore.gypi:
11828         * WebCore.vcproj/WebCore.vcproj:
11829         * inspector/front-end/DatabaseQueryView.js:
11830         (WebInspector.DatabaseQueryView.prototype._queryFinished):
11831         * inspector/front-end/DatabaseTableView.js:
11832         (WebInspector.DatabaseTableView.prototype._queryFinished):
11833         * inspector/front-end/ExtensionServer.js:
11834         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
11835         * inspector/front-end/Images/storageIcon.png: Removed.
11836         * inspector/front-end/ResourceManager.js:
11837         (WebInspector.ResourceManager.prototype.setOverrideContent):
11838         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
11839         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
11840         (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
11841         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
11842         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
11843         * inspector/front-end/StoragePanel.js: Removed.
11844         * inspector/front-end/WebKit.qrc:
11845         * inspector/front-end/inspector.css:
11846         (.resources.panel .sidebar):
11847         (.resources.panel .sidebar li):
11848         (.resources.panel .sidebar li.parent):
11849         (.resources.panel .sidebar li.selected):
11850         (.resources.panel .sidebar li.selected .selection):
11851         (.resources.panel .sidebar :focus li.selected .selection):
11852         (body.inactive .resources.panel .sidebar li.selected .selection):
11853         (.resources.panel .sidebar .icon):
11854         (.resources.panel .base-storage-tree-element-title):
11855         (.resources.panel .status):
11856         (.resources.panel li .status .bubble):
11857         * inspector/front-end/inspector.html:
11858         * inspector/front-end/inspector.js:
11859         (WebInspector._createPanels):
11860         (WebInspector.openResource):
11861         (WebInspector.showPanel):
11862         (WebInspector.selectDatabase):
11863         (WebInspector.selectDOMStorage):
11864         (WebInspector.addDatabase):
11865         (WebInspector.addDOMStorage):
11866         (WebInspector.updateDOMStorage):
11867         (WebInspector.updateApplicationCacheStatus):
11868         (WebInspector.didGetFileSystemPath):
11869         (WebInspector.didGetFileSystemError):
11870         (WebInspector.didGetFileSystemDisabled):
11871         (WebInspector.updateNetworkState):
11872         (WebInspector._choosePanelToShowSourceLine):
11873
11874 2010-11-16  Alexander Pavlov  <apavlov@chromium.org>
11875
11876         Unreviewed SnowLeopard build fix.
11877
11878         * css/CSSPrimitiveValue.cpp:
11879         (WebCore::unitCategory):
11880
11881 2010-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
11882
11883         Reviewed by Andreas Kling.
11884
11885         Viewport meta tag: Fix geometry computation
11886
11887         Available width and height should also be divided by the device pixel ratio.
11888
11889         * dom/ViewportArguments.cpp:
11890         (WebCore::computeViewportAttributes):
11891         * platform/network/qt/DnsPrefetchHelper.cpp:
11892
11893 2010-11-12  Alexander Pavlov  <apavlov@chromium.org>
11894
11895         Reviewed by Simon Fraser.
11896
11897         CSSPrimitiveValue.getFloatValue does not convert sizes
11898         https://bugs.webkit.org/show_bug.cgi?id=35770
11899
11900         Implemented all same-category unit conversions (length, angle, time, frequency) and retained
11901         absolute-relative (cm, mm, in, pt, pc) length conversions intact.
11902         Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
11903
11904         * css/CSSPrimitiveValue.cpp:
11905         (WebCore::unitCategory):
11906         (WebCore::scaleFactorForConversion):
11907         (WebCore::CSSPrimitiveValue::getDoubleValue):
11908         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
11909         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
11910         * css/CSSPrimitiveValue.h:
11911
11912 2010-11-15  Pavel Feldman  <pfeldman@chromium.org>
11913
11914         Reviewed by Yury Semikhatsky.
11915
11916         Web Inspector: extract HTML title setter in treeoutline.js.
11917         https://bugs.webkit.org/show_bug.cgi?id=49540
11918
11919         * inspector/front-end/ElementsTreeOutline.js:
11920         (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
11921         (WebInspector.ElementsTreeElement.prototype.updateTitle):
11922         * inspector/front-end/treeoutline.js:
11923         (TreeElement.prototype.get titleHTML):
11924         (TreeElement.prototype.set titleHTML):
11925         (TreeElement.prototype._setListItemNodeContent):
11926
11927 2010-11-16  John Knottenbelt  <jknotten@chromium.org>
11928
11929         Reviewed by Jeremy Orlow.
11930
11931         Assert that DeviceOrientationClientMock is used by only one controller.
11932         https://bugs.webkit.org/show_bug.cgi?id=48506
11933
11934         This is a design constraint of the DeviceOrientationClientMock because the
11935         m_controller field can only store a pointer to a single instance of the
11936         corresponding DeviceOrientationController.
11937
11938         * platform/mock/DeviceOrientationClientMock.cpp:
11939         (WebCore::DeviceOrientationClientMock::setController):
11940
11941 2010-11-16  Mihai Parparita  <mihaip@chromium.org>
11942
11943         Reviewed by Adam Barth.
11944
11945         fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders
11946         https://bugs.webkit.org/show_bug.cgi?id=48634
11947         
11948         Specify the capacity when calling CFDataCreateMutable, which can signal
11949         malloc failures (by returning NULL), unlike CFDataSetLength.
11950
11951         * platform/image-decoders/cg/ImageDecoderCG.cpp:
11952         (WebCore::RGBA32Buffer::setSize):
11953
11954 2010-11-15  Rob Buis  <rwlbuis@gmail.com>
11955
11956         Reviewed by Dirk Schulze and Darin Adler.
11957
11958         requiredFeatures does not adapt to SVGStringList changes
11959         https://bugs.webkit.org/show_bug.cgi?id=40887
11960
11961         Centralize the const_cast handling and only do it if needed.
11962         Remove the const_cast in all svgAttributeChanged functions and move
11963         it to SVGTest::handleAttributeChange. Add an early return to
11964         handleAttributeChange to avoid unnecessary const_casts.
11965
11966         No tests necessary as functionality has not changed.
11967
11968         * svg/SVGCircleElement.cpp:
11969         (WebCore::SVGCircleElement::svgAttributeChanged):
11970         * svg/SVGEllipseElement.cpp:
11971         (WebCore::SVGEllipseElement::svgAttributeChanged):
11972         * svg/SVGForeignObjectElement.cpp:
11973         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
11974         * svg/SVGGElement.cpp:
11975         (WebCore::SVGGElement::svgAttributeChanged):
11976         * svg/SVGImageElement.cpp:
11977         (WebCore::SVGImageElement::svgAttributeChanged):
11978         * svg/SVGLineElement.cpp:
11979         (WebCore::SVGLineElement::svgAttributeChanged):
11980         * svg/SVGPathElement.cpp:
11981         (WebCore::SVGPathElement::svgAttributeChanged):
11982         * svg/SVGPolyElement.cpp:
11983         (WebCore::SVGPolyElement::svgAttributeChanged):
11984         * svg/SVGRectElement.cpp:
11985         (WebCore::SVGRectElement::svgAttributeChanged):
11986         * svg/SVGSVGElement.cpp:
11987         (WebCore::SVGSVGElement::svgAttributeChanged):
11988         * svg/SVGTests.cpp:
11989         (WebCore::SVGTests::handleAttributeChange):
11990         * svg/SVGTests.h:
11991         * svg/SVGTextContentElement.cpp:
11992         (WebCore::SVGTextContentElement::svgAttributeChanged):
11993         * svg/SVGUseElement.cpp:
11994         (WebCore::SVGUseElement::svgAttributeChanged):
11995
11996 2010-11-15  Dimitri Glazkov  <dglazkov@chromium.org>
11997
11998         Reviewed by Darin Adler.
11999
12000         REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash.
12001         https://bugs.webkit.org/show_bug.cgi?id=49569
12002
12003         Test: fast/events/remove-shadow-host-crash.html
12004
12005         * rendering/TextControlInnerElements.h:
12006         (WebCore::TextControlInnerElement::isShadowNode):
12007         (WebCore::TextControlInnerElement::shadowParentNode):
12008
12009 2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
12010
12011         Reviewed by Darin Adler.
12012
12013         ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData
12014         https://bugs.webkit.org/show_bug.cgi?id=49469
12015
12016         Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from
12017         HTMLScriptElement and SVGScriptElement to ScriptElementData.
12018
12019         Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren,
12020         and handleSourceAttribute of ScriptElement non-static.
12021
12022         No new tests are added since this is a cleanup.
12023
12024         * dom/ScriptElement.cpp:
12025         (WebCore::ScriptElement::scriptCharset): Added.
12026         (WebCore::ScriptElement::scriptContent): Added.
12027         (WebCore::ScriptElement::shouldExecuteAsJavaScript): Added.
12028         (WebCore::ScriptElement::executeScript): Added.
12029         (WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data.
12030         (WebCore::ScriptElement::removedFromDocument): Ditto.
12031         (WebCore::ScriptElement::childrenChanged): Ditto.
12032         (WebCore::ScriptElement::finishParsingChildren): Ditto.
12033         (WebCore::ScriptElement::handleSourceAttribute): Ditto.
12034         * dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData
12035         because ScriptElement has to instantiate ScriptElementData.
12036         (WebCore::ScriptElement::ScriptElement): Initializes m_data.
12037         * html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
12038         (WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData.
12039         (WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
12040         (WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute.
12041         (WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
12042         (WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
12043         (WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
12044         * html/HTMLScriptElement.h:
12045         * svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
12046         (WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData.
12047         (WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute.
12048         (WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
12049         (WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
12050         (WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
12051         (WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
12052         * svg/SVGScriptElement.h:
12053
12054 2010-11-15  Kent Tamura  <tkent@chromium.org>
12055
12056         Reviewed by Darin Adler.
12057
12058         Refactor HTMLInputElement: Move a part of HTMLInputElement::
12059         defaultEventHandler() to InputTypes.
12060         https://bugs.webkit.org/show_bug.cgi?id=48317
12061
12062         Move out the followings to InputTypes:
12063          - click event processing,
12064          - the first keydown event processing, and
12065          - DOMActivate event processing.
12066
12067         Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as
12068         m_clickLocation. It's ok to move them because they should be valid only
12069         when HTMLInputElement::m_activeSubmit is true. For type=image,
12070         m_activeSubmit is true only in DOMActivate event handling. So we reset
12071         m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent().
12072
12073         No new tests because this is just a refactoring.
12074
12075         * html/BaseDateAndTimeInputType.cpp:
12076         (WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
12077         * html/BaseDateAndTimeInputType.h:
12078         * html/FileInputType.cpp:
12079         (WebCore::FileInputType::handleDOMActivateEvent):
12080         * html/FileInputType.h:
12081         * html/HTMLInputElement.cpp:
12082         (WebCore::HTMLInputElement::HTMLInputElement):
12083         (WebCore::HTMLInputElement::defaultEventHandler):
12084         * html/HTMLInputElement.h:
12085         * html/ImageInputType.cpp:
12086         (WebCore::ImageInputType::appendFormData):
12087         (WebCore::ImageInputType::handleDOMActivateEvent):
12088         * html/ImageInputType.h:
12089         * html/InputType.cpp:
12090         (WebCore::InputType::handleClickEvent):
12091         (WebCore::InputType::handleDOMActivateEvent):
12092         (WebCore::InputType::handleKeydownEvent):
12093         * html/InputType.h:
12094         * html/NumberInputType.cpp:
12095         (WebCore::NumberInputType::handleKeydownEvent):
12096         * html/NumberInputType.h:
12097         * html/RadioInputType.cpp:
12098         (WebCore::RadioInputType::handleClickEvent):
12099         * html/RadioInputType.h:
12100         * html/RangeInputType.cpp:
12101         (WebCore::RangeInputType::handleKeydownEvent):
12102         * html/RangeInputType.h:
12103         * html/ResetInputType.cpp:
12104         (WebCore::ResetInputType::handleDOMActivateEvent):
12105         * html/ResetInputType.h:
12106         * html/SubmitInputType.cpp:
12107         (WebCore::SubmitInputType::handleDOMActivateEvent):
12108         * html/SubmitInputType.h:
12109         * html/TextFieldInputType.cpp:
12110         (WebCore::TextFieldInputType::handleKeydownEvent):
12111         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
12112         * html/TextFieldInputType.h:
12113
12114 2010-11-15  Chris Rogers  <crogers@google.com>
12115
12116         Reviewed by Kenneth Russell.
12117
12118         Add AudioNode custom bindings
12119         https://bugs.webkit.org/show_bug.cgi?id=49119
12120
12121         No new tests since audio API is not yet implemented.
12122
12123         * bindings/js/JSAudioNodeCustom.cpp: Added.
12124         (WebCore::JSAudioNode::connect):
12125         (WebCore::JSAudioNode::disconnect):
12126         * bindings/v8/custom/V8AudioNodeCustom.cpp: Added.
12127         (WebCore::V8AudioNode::connectCallback):
12128         (WebCore::V8AudioNode::disconnectCallback):
12129         * webaudio/AudioNode.idl:
12130
12131 2010-11-15  Dave Hyatt  <hyatt@apple.com>
12132
12133         Reviewed by Dan Bernstein.
12134
12135         https://bugs.webkit.org/show_bug.cgi?id=49570
12136         
12137         Put italics specialization check back in CSSFontSelector.  I had to back it out, since it broke
12138         a layout test, and the issue was that local font fallback fonts should not be considered by the
12139         specialization check (since you never want to pick a fallback over an actual @font-face rule if
12140         the @font-face rule can handle it).
12141  
12142         * css/CSSFontFace.h:
12143         (WebCore::CSSFontFace::create):
12144         (WebCore::CSSFontFace::isLocalFallback):
12145         (WebCore::CSSFontFace::CSSFontFace):
12146         * css/CSSFontSelector.cpp:
12147         (WebCore::CSSFontSelector::addFontFaceRule):
12148         (WebCore::compareFontFaces):
12149
12150 2010-11-15  Adele Peterson  <adele@apple.com>
12151
12152         Reviewed by Darin Adler.
12153
12154         Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452
12155         Placeholder should not be swapped in and out of the text control's inner text element
12156
12157         There's no need to swap the placeholder text in and out of the inner text element.  Instead, just paint the text.
12158         This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value.
12159
12160         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer):
12161         Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility.
12162         * rendering/RenderTextControl.cpp:
12163         (WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text.
12164         (WebCore::RenderTextControl::paintObject):  Paint the placeholder text during the background phase.
12165         * rendering/RenderTextControl.h:
12166         * rendering/RenderTextControlMultiLine.cpp:
12167         (WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
12168         (WebCore::RenderTextControlMultiLine::updateFromElement):  Remove code that set the inner text value with the placeholder text.
12169         (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
12170         (WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added.
12171         (WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added.
12172         * rendering/RenderTextControlMultiLine.h:
12173         * rendering/RenderTextControlSingleLine.cpp:
12174         (WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
12175         (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
12176         (WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added.
12177         (WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added.
12178         * rendering/RenderTextControlSingleLine.h:
12179         * rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
12180
12181 2010-11-15  Andreas Kling  <kling@webkit.org>
12182
12183         Unreviewed buildfix (Qt WebKit2 minimal)
12184
12185         * platform/qt/CookieJarQt.cpp: Add missing <QStringList> include.
12186
12187 2010-11-15  Chris Rogers  <crogers@google.com>
12188
12189         Reviewed by Kenneth Russell.
12190
12191         Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent
12192         https://bugs.webkit.org/show_bug.cgi?id=49357
12193
12194         No new tests since audio API is not yet implemented.
12195
12196         * bindings/js/JSEventCustom.cpp:
12197         (WebCore::toJS):
12198         * bindings/js/JSEventTarget.cpp:
12199         (WebCore::toJS):
12200         * bindings/v8/V8DOMWrapper.cpp:
12201         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
12202         * bindings/v8/custom/V8EventCustom.cpp:
12203         (WebCore::toV8):
12204         * dom/Event.cpp:
12205         (WebCore::Event::isAudioProcessingEvent):
12206         * dom/Event.h:
12207         * dom/EventNames.h:
12208         * dom/EventTarget.cpp:
12209         (WebCore::EventTarget::toJavaScriptAudioNode):
12210         * dom/EventTarget.h:
12211
12212 2010-11-15  Alexey Proskuryakov  <ap@apple.com>
12213
12214         Reviewed by Darin Adler.
12215
12216         A minor style fix in StyledElement.cpp.
12217
12218         * dom/StyledElement.cpp:
12219         (WebCore::StyledElement::addCSSProperty):
12220         (WebCore::StyledElement::addCSSImageProperty):
12221
12222 2010-11-15  Alexey Proskuryakov  <ap@apple.com>
12223
12224         Reviewed by Darin Adler.
12225
12226         https://bugs.webkit.org/show_bug.cgi?id=49565
12227         Remove Attr.style accessor
12228
12229         * dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need
12230         it any more.
12231
12232 2010-11-15  Beth Dakin  <bdakin@apple.com>
12233
12234         Reviewed by Darin Adler.
12235
12236         Fix for https://bugs.webkit.org/show_bug.cgi?id=49555 
12237         Frame::scalePage() should treat the origin as an absolute 
12238         coordinate
12239         -and corresponding-
12240         <rdar://problem/8667138>
12241
12242         * page/Frame.cpp:
12243         (WebCore::Frame::scalePage):
12244
12245 2010-11-15  Dan Bernstein  <mitz@apple.com>
12246
12247         Reviewed by Darin Adler.
12248
12249         <rdar://problem/8662770> Error image has incorrect size when a custom font is used
12250
12251         Test: fast/images/style-access-during-imageChanged-crash.html
12252
12253         * rendering/RenderImage.cpp:
12254         (WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText.
12255         (WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation
12256         out of setImageSizeForAltText() into this function.
12257         (WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError().
12258         (WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the
12259         intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation.
12260         (WebCore::RenderImage::imageChanged): Moved some code from here...
12261         (WebCore::RenderImage::imageDimensionsChanged): ...to here.
12262         * rendering/RenderImage.h:
12263
12264 2010-11-15  Anders Carlsson  <andersca@apple.com>
12265
12266         Reviewed by Dimitri Glazkov.
12267
12268         ASSERTION (r72003): Assertion failure when running layout tests
12269         https://bugs.webkit.org/show_bug.cgi?id=49561
12270
12271         r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement,
12272         but did not add the attribute to the isURLAttribute which lead to assertion failures
12273         when running the layout tests with a debug build.
12274
12275         * html/HTMLButtonElement.cpp:
12276         (WebCore::HTMLButtonElement::isURLAttribute):
12277         * html/HTMLButtonElement.h:
12278         * html/HTMLInputElement.cpp:
12279         (WebCore::HTMLInputElement::isURLAttribute):
12280
12281 2010-11-15  Alexey Proskuryakov  <ap@apple.com>
12282
12283         Reviewed by Darin Adler.
12284
12285         https://bugs.webkit.org/show_bug.cgi?id=49559
12286         DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString
12287
12288         No observable change in behavior, so no tests.
12289
12290         * page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString.
12291
12292 2010-11-15  Andreas Kling  <kling@webkit.org>
12293
12294         Reviewed by Tor Arne Vestbø.
12295
12296         [Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well
12297
12298         Move this into WebCore/features.pri which is used by both WebCore and WebKit2.
12299
12300         * WebCore.pro:
12301         * features.pri:
12302
12303 2010-11-15  Martin Robinson  <mrobinson@igalia.com>
12304
12305         Build fix for GTK+.
12306
12307         * GNUmakefile.am: Add some missing generated files to the source list.
12308
12309 2010-11-15  Kenneth Russell  <kbr@google.com>
12310
12311         Reviewed by James Robinson.
12312
12313         [chromium] Avoid copying of SkBitmap in LayerRendererChromium
12314         https://bugs.webkit.org/show_bug.cgi?id=49560
12315
12316         Ran CSS 3D content to test. No other new tests.
12317
12318         * platform/graphics/chromium/LayerRendererChromium.cpp:
12319         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
12320
12321 2010-11-15  Vangelis Kokkevis  <vangelis@chromium.org>
12322
12323         Reviewed by Kenneth Russell.
12324
12325         [chromium] Fixes layer opacity implementation of composited layers
12326         https://bugs.webkit.org/show_bug.cgi?id=49233
12327
12328         This introduces a fairly drastic change in how LayerRendererChromium draws
12329         composited layers. Layers that have non-zero opacity as well as layers that
12330         clip their descendants (and have non-trivial transforms) are now first
12331         rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing
12332         operation now consists of two distinct phases: First a hierarchical traversal
12333         of the layer tree to compute the layer transforms, determine what the necessary
12334         RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second
12335         pass goes through all the RenderSurfaces discovered by the first pass and updates
12336         their contents.
12337         Additional significant side-effects of this change are:
12338         1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's
12339            algorithm to render layers with the preserves-3d property from back to front using
12340            the Z coordinate of their center. This will further be improved in the future with
12341            the intoduction of a BSP tree to properly deal with intersecting layers.
12342         2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed
12343            by rendering layer subtrees into an offscreen buffer and setting the appropriate
12344            scissor and viewport transformation.
12345
12346         Tests: abs-position-inside-opacity.html (for the opacity implementation)
12347                and the rest of the compositing layout tests to verify that
12348                everything still works.
12349
12350         * WebCore.gypi:
12351         * platform/graphics/chromium/ContentLayerChromium.cpp:
12352         (WebCore::ContentLayerChromium::cleanupResources):
12353         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
12354         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
12355         (WebCore::ContentLayerChromium::updateContents):
12356         * platform/graphics/chromium/LayerChromium.cpp:
12357         (WebCore::LayerChromium::LayerChromium):
12358         (WebCore::LayerChromium::cleanupResources):
12359         (WebCore::LayerChromium::createRenderSurface):
12360         (WebCore::LayerChromium::descendantsDrawContent):
12361         (WebCore::LayerChromium::descendantsDrawContentRecursive):
12362         * platform/graphics/chromium/LayerChromium.h:
12363         (WebCore::LayerChromium::drawTransform):
12364         (WebCore::LayerChromium::layerRenderer):
12365         * platform/graphics/chromium/LayerRendererChromium.cpp:
12366         (WebCore::orthoMatrix):
12367         (WebCore::isScaleOrTranslation):
12368         (WebCore::LayerRendererChromium::compareLayerZ):
12369         (WebCore::LayerRendererChromium::LayerRendererChromium):
12370         (WebCore::LayerRendererChromium::prepareToDrawLayers):
12371         (WebCore::LayerRendererChromium::drawLayers):
12372         (WebCore::LayerRendererChromium::updateLayersRecursive):
12373         (WebCore::LayerRendererChromium::useRenderSurface):
12374         (WebCore::LayerRendererChromium::drawLayer):
12375         (WebCore::LayerRendererChromium::setScissorToRect):
12376         (WebCore::LayerRendererChromium::setDrawViewportRect):
12377         (WebCore::LayerRendererChromium::initializeSharedObjects):
12378         (WebCore::LayerRendererChromium::cleanupSharedObjects):
12379         * platform/graphics/chromium/LayerRendererChromium.h:
12380         * platform/graphics/chromium/RenderSurfaceChromium.cpp: Added.
12381         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
12382         (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
12383         (WebCore::RenderSurfaceChromium::cleanupResources):
12384         (WebCore::RenderSurfaceChromium::layerRenderer):
12385         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
12386         * platform/graphics/chromium/RenderSurfaceChromium.h: Added.
12387         (WebCore::RenderSurfaceChromium::contentRectCenter):
12388         (WebCore::RenderSurfaceChromium::contentRect):
12389         * platform/graphics/chromium/VideoLayerChromium.cpp:
12390         (WebCore::VideoLayerChromium::cleanupResources):
12391
12392 2010-11-15  Martin Robinson  <mrobinson@igalia.com>
12393
12394         Reviewed by Andreas Kling.
12395
12396         [GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds
12397         https://bugs.webkit.org/show_bug.cgi?id=49549
12398
12399         No new tests. This can be verified by loading any existing vertical text test
12400         in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently
12401         no automatic way of verifying custom cursors.
12402
12403         * platform/gtk/GtkVersioning.c:
12404         (gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct.
12405
12406 2010-11-12  Jer Noble  <jer.noble@apple.com>
12407
12408         Reviewed by Brady Eidson.
12409
12410         Can't view HTML5 video when running Safari with an authenticated proxy server
12411         <rdar://problem/8351926>
12412         
12413         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
12414         (WebCore::MediaPlayerPrivate::createQTMovie):
12415
12416 2010-11-14  Abhishek Arya  <inferno@chromium.org>
12417
12418         Reviewed by Dimitri Glazkov.
12419
12420         Event dispatch call can blow away the node's renderer initialized
12421         before the call in updateSelectionForMouseDrag function. We need
12422         to initialize it after the call.
12423         https://bugs.webkit.org/show_bug.cgi?id=49524
12424
12425         * page/EventHandler.cpp:
12426         (WebCore::EventHandler::updateSelectionForMouseDrag):
12427
12428 2010-11-15  Patrick Gansterer  <paroga@webkit.org>
12429
12430         Reviewed by Martin Robinson.
12431
12432         Make ContextShadow compile on all platforms
12433         https://bugs.webkit.org/show_bug.cgi?id=49535
12434
12435         Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms
12436         and move them into the WebCore namespace like all other Platform* typedefs.
12437
12438         * platform/graphics/ContextShadow.h:
12439
12440 2010-11-15  Renata Hodovan  <reni@webkit.org>
12441
12442         Reviewed by Andreas Kling.
12443
12444         SVGFEImageElement doesn't support dynamic invalidation
12445         https://bugs.webkit.org/show_bug.cgi?id=49536
12446
12447         The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
12448
12449         Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html
12450                svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html
12451
12452         * svg/SVGFEImageElement.cpp:
12453         (WebCore::SVGFEImageElement::svgAttributeChanged):
12454         * svg/SVGFEImageElement.h:
12455
12456 2010-11-15  Yael Aharon  <yael.aharon@nokia.com>
12457
12458         Reviewed by Antonio Gomes.
12459
12460         [Qt] Focus ring does not show on focused links.
12461         https://bugs.webkit.org/show_bug.cgi?id=49515
12462
12463         After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer
12464         visible in Qt.
12465         The reason is that Qt always returned true in RenderTheme::supportsFocusRing(),
12466         but until r69766, we did not check that for links. Qt draws its own focus ring
12467         for controls that it draws, but not for links.
12468         Change the return value to false if the style's appearance is not something that Qt
12469         draws by itself or does not support.
12470         Added a Qt specific test result for the new test added in r69766.
12471
12472         * platform/qt/RenderThemeQt.cpp:
12473         (WebCore::RenderThemeQt::supportsFocusRing):
12474
12475 2010-11-15  Dai Mikurube  <dmikurube@google.com>
12476
12477         Reviewed by Kent Tamura.
12478
12479         Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags
12480         https://bugs.webkit.org/show_bug.cgi?id=49240
12481
12482         Tests: fast/forms/formaction-attribute.html
12483                fast/forms/formmethod-attribute-button-html.html
12484                fast/forms/formmethod-attribute-input-html.html
12485                fast/forms/formtarget-attribute-button-html.html
12486                fast/forms/formtarget-attribute-input-html.html
12487                fast/forms/mailto/formenctype-attribute-button-html.html
12488                fast/forms/mailto/formenctype-attribute-input-html.html
12489                fast/forms/submit-form-attributes.html
12490
12491         * html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes
12492         * html/HTMLButtonElement.idl:
12493         * html/HTMLInputElement.idl:
12494         * loader/FormSubmission.cpp: Modified to check the pressed button and its attributes
12495         (WebCore::FormSubmission::Attributes::copyFrom):
12496         (WebCore::FormSubmission::create):
12497         * loader/FormSubmission.h:
12498
12499 2010-11-15  Pavel Feldman  <pfeldman@chromium.org>
12500
12501         Reviewed by Yury Semikhatsky.
12502
12503         Web Inspector: Do not hide default Ctrl+A behavior on non-Mac.
12504         https://bugs.webkit.org/show_bug.cgi?id=49527
12505
12506         * inspector/front-end/TextPrompt.js:
12507         (WebInspector.TextPrompt.prototype._onKeyDown):
12508
12509 2010-11-15  Ilya Sherman  <isherman@chromium.org>
12510
12511         Reviewed by Kent Tamura.
12512
12513         Add capability for displaying warnings to autofill popup
12514         Warnings are displayed in dark gray italic.
12515         https://bugs.webkit.org/show_bug.cgi?id=49291
12516         http://code.google.com/p/chromium/issues/detail?id=58509
12517
12518         * platform/chromium/PopupMenuChromium.cpp:
12519         (WebCore::PopupListBox::getRowFont):
12520           Use item-specific font, not just the generic menu font.
12521         (WebCore::PopupListBox::selectIndex):
12522           Updated to clear the selection when hovering over a non-selectable item.
12523         * platform/chromium/PopupMenuChromium.h: Minor cleanup
12524
12525 2010-11-14  David Hyatt  <hyatt@apple.com>
12526
12527         Back out the italics portion of the previous patch until I can figure out why it
12528         doesn't work.
12529
12530         * css/CSSFontSelector.cpp:
12531         (WebCore::compareFontFaces):
12532
12533 2010-11-14  Kent Tamura  <tkent@chromium.org>
12534
12535         Reviewed by Dimitri Glazkov.
12536
12537         Improve API for form validation message strings
12538         https://bugs.webkit.org/show_bug.cgi?id=34945
12539         
12540         This change introduces three new functions;
12541         validationMessageTypeMismatchFor*Text(). The implementation for each
12542         platform is just a call to validationMessageTypeMismatchText().
12543
12544         Some validationMessage*() functions have new parameters.  The parameters
12545         are ignored in all platforms for now.
12546
12547         This change doesn't change any behavior. However a platform can add
12548         additional information to validation messages.  e.g. Changing "type
12549         mismatch" to "Please specify an e-mail address" for <input type=email>.
12550
12551         * html/EmailInputType.cpp:
12552         (WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText()
12553           or validationMessageTypeMismatchForMultipleEmailText().
12554         * html/EmailInputType.h:
12555         * html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState.
12556         * html/HTMLInputElement.cpp: Add the following functions to pass extra
12557           information to validation message string functions.
12558         (WebCore::HTMLInputElement::minimumString):
12559         (WebCore::HTMLInputElement::maximumString):
12560         (WebCore::HTMLInputElement::stepBaseString):
12561         (WebCore::HTMLInputElement::stepString):
12562         (WebCore::HTMLInputElement::typeMismatchText):
12563         * html/HTMLInputElement.h:
12564         * html/HTMLTextAreaElement.h:
12565         * html/InputType.cpp:
12566         (WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText().
12567         * html/InputType.h:
12568         * html/URLInputType.cpp:
12569         (WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText().
12570         * html/URLInputType.h:
12571         * html/ValidityState.cpp:
12572         (WebCore::ValidityState::validationMessage):
12573         * platform/LocalizedStrings.cpp:
12574         (WebCore::validationMessageTypeMismatchForEmailText):
12575         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12576         (WebCore::validationMessageTypeMismatchForURLText):
12577         (WebCore::validationMessageTooLongText):
12578         (WebCore::validationMessageRangeUnderflowText):
12579         (WebCore::validationMessageRangeOverflowText):
12580         (WebCore::validationMessageStepMismatchText):
12581         * platform/LocalizedStrings.h:
12582           - Add validationMessageTypeMismatchForEmailText(),
12583             validationMessageTypeMismatchForMultipleEmailText() and
12584             validationMessageTypeMismatchForURLText()
12585           - Add length parameters to validationMessageTooLongText().
12586           - Add the minimum value parameter to validationMessageRangeUnderflowText()
12587           - Add the maximum value parameter to validationMessageRangeOverflowText()
12588           - Add parameters of the base value and the step value to validationMessageStepMismatchText()
12589         * platform/android/LocalizedStringsAndroid.cpp:
12590         (WebCore::validationMessageTypeMismatchForEmailText):
12591         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12592         (WebCore::validationMessageTypeMismatchForURLText):
12593         (WebCore::validationMessageTooLongText):
12594         (WebCore::validationMessageRangeUnderflowText):
12595         (WebCore::validationMessageRangeOverflowText):
12596         (WebCore::validationMessageStepMismatchText):
12597         * platform/brew/LocalizedStringsBrew.cpp:
12598         (WebCore::validationMessageTypeMismatchForEmailText):
12599         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12600         (WebCore::validationMessageTypeMismatchForURLText):
12601         (WebCore::validationMessageTooLongText):
12602         (WebCore::validationMessageRangeUnderflowText):
12603         (WebCore::validationMessageRangeOverflowText):
12604         (WebCore::validationMessageStepMismatchText):
12605         * platform/efl/LocalizedStringsEfl.cpp:
12606         (WebCore::validationMessageRangeOverflowText):
12607         (WebCore::validationMessageRangeUnderflowText):
12608         (WebCore::validationMessageStepMismatchText):
12609         (WebCore::validationMessageTooLongText):
12610         (WebCore::validationMessageTypeMismatchForEmailText):
12611         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12612         (WebCore::validationMessageTypeMismatchForURLText):
12613         * platform/gtk/LocalizedStringsGtk.cpp:
12614         (WebCore::validationMessageTypeMismatchForEmailText):
12615         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12616         (WebCore::validationMessageTypeMismatchForURLText):
12617         (WebCore::validationMessageTooLongText):
12618         (WebCore::validationMessageRangeUnderflowText):
12619         (WebCore::validationMessageRangeOverflowText):
12620         (WebCore::validationMessageStepMismatchText):
12621         * platform/haiku/LocalizedStringsHaiku.cpp:
12622         (WebCore::validationMessageTypeMismatchForEmailText):
12623         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12624         (WebCore::validationMessageTypeMismatchForURLText):
12625         (WebCore::validationMessageTooLongText):
12626         (WebCore::validationMessageRangeUnderflowText):
12627         (WebCore::validationMessageRangeOverflowText):
12628         (WebCore::validationMessageStepMismatchText):
12629         * platform/wx/LocalizedStringsWx.cpp:
12630         (WebCore::validationMessageTypeMismatchForEmailText):
12631         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12632         (WebCore::validationMessageTypeMismatchForURLText):
12633         (WebCore::validationMessageTooLongText):
12634         (WebCore::validationMessageRangeUnderflowText):
12635         (WebCore::validationMessageRangeOverflowText):
12636         (WebCore::validationMessageStepMismatchText):
12637
12638 2010-11-14  Kent Tamura  <tkent@chromium.org>
12639
12640         Reviewed by Andreas Kling.
12641
12642         KeyboardEvent::keyIdentifier() should return "const String&"
12643         https://bugs.webkit.org/show_bug.cgi?id=49426
12644
12645         No new tests. This shouldn't change the current behavior.
12646
12647         * dom/KeyboardEvent.h:
12648         (WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String&
12649         * dom/SelectElement.cpp:
12650         (WebCore::SelectElement::menuListDefaultEventHandler):
12651           Change the type of a variable to have keyIdentifier(); String -> const String&
12652         (WebCore::SelectElement::listBoxDefaultEventHandler): ditto.
12653         * html/HTMLInputElement.cpp:
12654         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
12655         (WebCore::HTMLInputElement::handleKeyEventForRange): ditto.
12656         * page/EventHandler.cpp:
12657         (WebCore::EventHandler::handleKeyboardSelectionMovement): ditto.
12658
12659 2010-11-14  Kenichi Ishibashi  <bashi@google.com>
12660
12661         Reviewed by Kent Tamura.
12662
12663         [HTML5] "form" attribute support for form control elements
12664         https://bugs.webkit.org/show_bug.cgi?id=47813
12665
12666         Adds a list of form-associated elements with form attribute into
12667         the Document class to support form attribute.
12668         Adds a function to determine the right place to locate
12669         form-associated elements with form attribute into
12670         m_associatedElements of HTMLFormElement class.
12671
12672         Tests: fast/forms/form-attribute-elements-order.html
12673                fast/forms/form-attribute-elements-order2.html
12674                fast/forms/form-attribute-elements.html
12675                fast/forms/form-attribute.html
12676
12677         * dom/Document.cpp:
12678         (WebCore::Document::registerFormElementWithFormAttribute): Added.
12679         (WebCore::Document::unregisterFormElementWithFormAttribute): Added.
12680         (WebCore::Document::resetFormElementsOwner): Added.
12681         * dom/Document.h: Added the list for elements with form attribute.
12682         * html/HTMLAttributeNames.in: Added form attribute.
12683         * html/HTMLFormControlElement.cpp:
12684         (WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle
12685         form attribute.
12686         (WebCore::HTMLFormControlElement::removedFromTree): Ditto.
12687         (WebCore::HTMLFormControlElement::resetFormOwner): Added.
12688         (WebCore::HTMLFormControlElement::attributeChanged): Added.
12689         * html/HTMLFormControlElement.h:
12690         * html/HTMLFormElement.cpp:
12691         (WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize
12692         newly-added variables.
12693         (WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset
12694         form owner of form-associated elements.
12695         (WebCore::HTMLFormElement::removedFromDocument): Ditto.
12696         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added.
12697         (WebCore::HTMLFormElement::formElementIndex): Modified to treat
12698         form-associated elements with form attribute separately.
12699         (WebCore::HTMLFormElement::removeFormElement): Modified to handle
12700         form-associated elements with form attribute.
12701         * html/HTMLFormElement.h: Added three variables to handle form attribute.
12702         * html/HTMLOutputElement.cpp: Removed "FIXME" comment.
12703         (WebCore::HTMLOutputElement::parseMappedAttribute):
12704         * html/HTMLOutputElement.h: Removed setForm().
12705
12706 2010-11-14  David Hyatt  <hyatt@apple.com>
12707
12708         Reviewed by Dan Bernstein.
12709
12710         https://bugs.webkit.org/show_bug.cgi?id=49521
12711
12712         REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979.
12713         
12714         Refine the font selection function for @font-face to be smarter about what fonts it prefers.  If
12715         a font is labeled as only supporting small-caps, then prefer it to one that claims to support both
12716         normal and small-caps.  The specialized font is more likely to be true small-caps and to not rely
12717         on synthesis.
12718         
12719         Added the same logic for italic as well.  Prefer the font that is specifically restricted to
12720         italic to one that claims it can support anything.
12721
12722         * css/CSSFontSelector.cpp:
12723         (WebCore::compareFontFaces):
12724
12725 2010-11-14  Ryuan Choi  <ryuan.choi@samsung.com>
12726
12727         Reviewed by Martin Robinson.
12728
12729         [EFL] add pango support
12730         https://bugs.webkit.org/show_bug.cgi?id=46029
12731
12732         Include pango related files.
12733         No new tests; functionality is unchanged.
12734
12735         * CMakeListsEfl.txt:
12736
12737 2010-11-12  Tenghui Zhu  <ztenghui@google.com>
12738
12739         Reviewed by Andreas Kling.
12740
12741         [V8] Code generation script error in generating the SVGStaticListPropertyTearOff
12742         https://bugs.webkit.org/show_bug.cgi?id=49463
12743
12744         * bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing
12745         the SVGStaticListPropertyTearOff string, not the svgListPropertyType.
12746
12747 2010-11-14  Patrick Gansterer  <paroga@webkit.org>
12748
12749         Reviewed by Andreas Kling.
12750
12751         Sort CMakeLists.txt
12752         https://bugs.webkit.org/show_bug.cgi?id=49507
12753
12754         * CMakeLists.txt:
12755
12756 2010-11-13  Patrick Gansterer  <paroga@webkit.org>
12757
12758         Reviewed by Yury Semikhatsky.
12759
12760         Buildfix for !ENABLE(INSPECTOR)
12761         https://bugs.webkit.org/show_bug.cgi?id=49500
12762
12763         Also unify the position of the condition in the cpp files.
12764
12765         * inspector/ConsoleMessage.cpp:
12766         * inspector/InspectorResourceAgent.cpp:
12767         * inspector/InspectorState.cpp:
12768         * inspector/ScriptCallFrame.cpp:
12769         * inspector/ScriptCallStack.cpp:
12770
12771 2010-11-13  David Hyatt  <hyatt@apple.com>
12772
12773         Reviewed by Anders Carlsson.
12774
12775         https://bugs.webkit.org/show_bug.cgi?id=49506
12776
12777         Repaint is broken across writing mode boundaries.  It's not enough to add in flipped offsets.  You have
12778         to flip the rect itself.
12779
12780         Added fast/repaint/repaint-across-writing-mode-boundary.html
12781
12782         * rendering/RenderBox.cpp:
12783         (WebCore::RenderBox::computeRectForRepaint):
12784
12785 2010-11-13  David Hyatt  <hyatt@apple.com>
12786
12787         Reviewed by Dan Bernstein.
12788
12789         https://bugs.webkit.org/show_bug.cgi?id=49505
12790         
12791         REGRESSION: @font-face doesn't work with the small-caps variant.  This was broken by the addition of SVG fonts
12792         support long ago.  This patch fixes the SVG code so that it doesn't break non-SVG fonts.
12793
12794         Added fast/blockflow/broken-ideograph-small-caps.html
12795
12796         * css/CSSFontFace.cpp:
12797         (WebCore::CSSFontFace::hasSVGFontFaceSource):
12798         * css/CSSFontFace.h:
12799         * css/CSSFontFaceSource.cpp:
12800         (WebCore::CSSFontFaceSource::getFontData):
12801         * css/CSSFontFaceSource.h:
12802         * css/CSSFontSelector.cpp:
12803         (WebCore::CSSFontSelector::addFontFaceRule):
12804         (WebCore::CSSFontSelector::getFontData):
12805
12806 2010-11-13  Dan Bernstein  <mitz@apple.com>
12807
12808         Reviewed by Dave Hyatt.
12809
12810         fast/text/hyphen* tests have different results on Leopard
12811         https://bugs.webkit.org/show_bug.cgi?id=43296
12812
12813         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
12814         (WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default
12815         through the normal NSUserDefaults search order rather than skipping the application domain.
12816         This makes this function respect DumpRenderTree’s setting of the default in the application
12817         domain.
12818
12819 2010-11-13  David Hyatt  <hyatt@apple.com>
12820
12821         Reviewed by Dan Bernstein.
12822
12823         https://bugs.webkit.org/show_bug.cgi?id=49499
12824         
12825         broken-ideographic-font.html causes layout test flakiness in release builds.  The reason for this is
12826         that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree.
12827         The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get
12828         pruned as well.  In addition, custom small caps fonts were never getting deleted either.
12829         
12830         I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it
12831         instead.
12832         
12833         Unskip fast/blockflow/broken-ideographic-font.html
12834
12835         * platform/graphics/SimpleFontData.cpp:
12836         (WebCore::SimpleFontData::~SimpleFontData):
12837         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
12838         (WebCore::SimpleFontData::platformDestroy):
12839         (WebCore::SimpleFontData::smallCapsFontData):
12840         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
12841         (WebCore::SimpleFontData::platformDestroy):
12842         (WebCore::SimpleFontData::smallCapsFontData):
12843         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
12844         (WebCore::FontPlatformData::allowsLigatures):
12845         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
12846         (WebCore::SimpleFontData::platformDestroy):
12847         (WebCore::SimpleFontData::smallCapsFontData):
12848         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
12849         (WebCore::SimpleFontData::platformDestroy):
12850         (WebCore::SimpleFontData::smallCapsFontData):
12851         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
12852         (WebCore::disableLigatures):
12853         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
12854         (WebCore::SimpleFontData::getCFStringAttributes):
12855         * platform/graphics/mac/SimpleFontDataMac.mm:
12856         (WebCore::SimpleFontData::platformDestroy):
12857         * platform/graphics/win/SimpleFontDataWin.cpp:
12858         (WebCore::SimpleFontData::platformDestroy):
12859         (WebCore::SimpleFontData::smallCapsFontData):
12860         * platform/graphics/wx/SimpleFontDataWx.cpp:
12861         (WebCore::SimpleFontData::platformDestroy):
12862         (WebCore::SimpleFontData::smallCapsFontData):
12863
12864 2010-11-13  David Hyatt  <hyatt@apple.com>
12865
12866         https://bugs.webkit.org/show_bug.cgi?id=49496
12867
12868         Fix broken-ideographic-font.html.  I had the font installed locally on my machine, and this covered up
12869         the fact that CoreText was implicitly using it as fallback in the vertical case only.  The bots don't have
12870         the font installed locally, and so they showed the bug.
12871
12872         Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is
12873         willing to fill.
12874
12875         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
12876         (WebCore::SimpleFontData::getCFStringAttributes):
12877
12878 2010-11-13  David Hyatt  <hyatt@apple.com>
12879
12880         Reviewed by Dan Bernstein.
12881
12882         https://bugs.webkit.org/show_bug.cgi?id=49464
12883         
12884         Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no
12885         vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms.
12886         
12887         (1) Include orientation as part of the @font-face hashtables so that the fonts are treated as
12888         distinct when used in horizontal and vertical forms.
12889         
12890         (2) Let the orientation member of FontPlatformData represent the desired orientation rather than
12891         the supported one.  Add an orientation member to SimpleFontData that represents the actual
12892         supported orientation of the font.
12893         
12894         (3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when
12895         CJK ideographs are encountered.  This is essentially identical to the small caps fallback mechanism
12896         but invoked only for ideographs.  The special ideograph font locks the orientation to vertical and
12897         renders the glyphs upright even when the font has no vertical tables.  Punctuation and such will
12898         still look funny, and really this is a bug in the font, but at least this way it will be apparent
12899         that the font is to blame.
12900
12901         Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html.
12902
12903         * css/CSSFontFaceSource.cpp:
12904         (WebCore::CSSFontFaceSource::getFontData):
12905         * css/CSSSegmentedFontFace.cpp:
12906         (WebCore::CSSSegmentedFontFace::getFontData):
12907         * platform/graphics/Font.cpp:
12908         (WebCore::Font::isCJKIdeograph):
12909         * platform/graphics/Font.h:
12910         * platform/graphics/FontFastPath.cpp:
12911         (WebCore::Font::glyphDataForCharacter):
12912         * platform/graphics/SimpleFontData.cpp:
12913         (WebCore::SimpleFontData::SimpleFontData):
12914         (WebCore::SimpleFontData::~SimpleFontData):
12915         (WebCore::SimpleFontData::brokenIdeographFontData):
12916         * platform/graphics/SimpleFontData.h:
12917         (WebCore::SimpleFontData::orientation):
12918         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
12919         (WebCore::FontPlatformData::FontPlatformData):
12920         * platform/graphics/mac/FontMac.mm:
12921         (WebCore::showGlyphsWithAdvances):
12922         * platform/graphics/mac/SimpleFontDataMac.mm:
12923         (WebCore::SimpleFontData::platformInit):
12924         (WebCore::SimpleFontData::platformBoundsForGlyph):
12925         (WebCore::SimpleFontData::platformWidthForGlyph):
12926
12927 2010-11-13  Rob Buis  <rwlbuis@gmail.com>
12928
12929         Reviewed by Dirk Schulze.
12930
12931         requiredFeatures does not adapt to SVGStringList changes
12932         https://bugs.webkit.org/show_bug.cgi?id=40887
12933
12934         Centralize logic of handling of SVGElement validity changes.
12935         The logic is to detach the SVGElement when changing from valid
12936         to invalid, and to attach when changing from invalid to valid.
12937
12938         Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html
12939                svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html
12940                svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html
12941                svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html
12942                svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html
12943                svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html
12944                svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html
12945                svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html
12946                svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html
12947                svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html
12948                svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html
12949                svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html
12950                svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html
12951                svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html
12952                svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html
12953                svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html
12954                svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html
12955                svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html
12956                svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html
12957                svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html
12958                svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html
12959                svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html
12960                svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html
12961                svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html
12962                svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html
12963                svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html
12964
12965         * svg/SVGCircleElement.cpp:
12966         (WebCore::SVGCircleElement::svgAttributeChanged):
12967         * svg/SVGEllipseElement.cpp:
12968         (WebCore::SVGEllipseElement::svgAttributeChanged):
12969         * svg/SVGForeignObjectElement.cpp:
12970         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
12971         * svg/SVGGElement.cpp:
12972         (WebCore::SVGGElement::svgAttributeChanged):
12973         * svg/SVGImageElement.cpp:
12974         (WebCore::SVGImageElement::svgAttributeChanged):
12975         * svg/SVGLineElement.cpp:
12976         (WebCore::SVGLineElement::svgAttributeChanged):
12977         * svg/SVGPathElement.cpp:
12978         (WebCore::SVGPathElement::svgAttributeChanged):
12979         * svg/SVGPolyElement.cpp:
12980         (WebCore::SVGPolyElement::svgAttributeChanged):
12981         * svg/SVGRectElement.cpp:
12982         (WebCore::SVGRectElement::svgAttributeChanged):
12983         * svg/SVGSVGElement.cpp:
12984         (WebCore::SVGSVGElement::svgAttributeChanged):
12985         * svg/SVGTests.cpp:
12986         (WebCore::knownAttribute):
12987         (WebCore::SVGTests::isKnownAttribute):
12988         (WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes.
12989         * svg/SVGTests.h:
12990         * svg/SVGTextContentElement.cpp:
12991         (WebCore::SVGTextContentElement::svgAttributeChanged):
12992         (WebCore::SVGTextContentElement::isKnownAttribute):
12993         * svg/SVGTextContentElement.h:
12994         * svg/SVGUseElement.cpp:
12995         (WebCore::SVGUseElement::svgAttributeChanged):
12996
12997 2010-11-13  Andrey Kosyakov  <caseq@chromium.org>
12998
12999         Reviewed by Pavel Feldman.
13000
13001         Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view
13002         https://bugs.webkit.org/show_bug.cgi?id=49493
13003
13004         * inspector/front-end/NetworkPanel.js:
13005         (WebInspector.NetworkPanel.prototype._showResource):
13006         * inspector/front-end/ResourceView.js:
13007         (WebInspector.ResourceView):
13008         (WebInspector.ResourceView.prototype.selectContentTab):
13009         (WebInspector.ResourceView.prototype._selectTab):
13010         (WebInspector.ResourceView.prototype._refreshCookies):
13011         (WebInspector.ResourceCookiesTab.prototype.show):
13012         * inspector/front-end/StoragePanel.js:
13013         (WebInspector.StoragePanel.prototype.showResource):
13014         * inspector/front-end/TabbedPane.js:
13015         (WebInspector.TabbedPane.prototype.appendTab):
13016         (WebInspector.TabbedPane.prototype.hasTab):
13017         (WebInspector.TabbedPane.prototype.selectTabById):
13018         (WebInspector.TabbedPane.prototype._hideTab):
13019         (WebInspector.TabbedPane.prototype._showTab):
13020         * inspector/front-end/inspector.css:
13021         (.resource-view-cookies):
13022         (.resource-view-cookies.visible):
13023
13024 2010-11-13  Yury Semikhatsky  <yurys@chromium.org>
13025
13026         Reviewed by Pavel Feldman.
13027
13028         REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked
13029         https://bugs.webkit.org/show_bug.cgi?id=49362
13030
13031         * page/Console.cpp:
13032         (WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership
13033         has been passed to the inspector.
13034
13035 2010-11-13  Yury Semikhatsky  <yurys@chromium.org>
13036
13037         Reviewed by Pavel Feldman.
13038
13039         Web Inspector: DOM event listener name is cropped in Elements panel
13040         https://bugs.webkit.org/show_bug.cgi?id=49387
13041
13042         * inspector/front-end/inspector.css:
13043         (.event-bar): use margin-left instead of left to fit child node into its parent
13044
13045 2010-11-13  Ilya Sherman  <isherman@chromium.org>
13046
13047         Reviewed by Shinichiro Hamaji.
13048
13049         Fixes regression from previous patch -- computes y offsets for elements
13050         that are scrolled out of the window.
13051         https://bugs.webkit.org/show_bug.cgi?id=49306
13052
13053         * manual-tests/select-scroll.html: Added.
13054         * platform/chromium/PopupMenuChromium.cpp:
13055         (WebCore::PopupListBox::layout):
13056
13057 2010-11-12  Daniel Bates  <dbates@rim.com>
13058
13059         Reviewed by Adam Barth.
13060
13061         Transferred <iframe>s may not have a unique internal name
13062         https://bugs.webkit.org/show_bug.cgi?id=48768
13063
13064         Fixes an issue where an <iframe> that is transferred from
13065         document A to document B, where A != B, may not have a
13066         unique internal name in B.
13067
13068         Test: fast/frames/iframe-reparenting-unique-name.html
13069
13070         * html/HTMLFrameElementBase.cpp:
13071         (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Inlined code from
13072         HTMLFrameElementBase::setName() so that we can remove setName(), which
13073         was only called being called by HTMLFrameElementBase::setNameAndOpenURL().
13074         * html/HTMLFrameElementBase.h: Removed HTMLFrameElementBase::setName().
13075         * html/HTMLFrameOwnerElement.h: Removed HTMLFrameOwnerElement::setName().
13076         * page/Frame.cpp:
13077         (WebCore::Frame::transferChildFrameToNewDocument): Modified to call FrameTree::transferChild().
13078         * page/FrameTree.cpp:
13079         (WebCore::FrameTree::transferChild): Added.
13080         (WebCore::FrameTree::appendChild): Moved the majority of the code into FrameTree::actuallyAppendChild().
13081         (WebCore::FrameTree::actuallyAppendChild): Added.
13082         * page/FrameTree.h:
13083
13084 2010-11-12  Joseph Pecoraro  <joepeck@webkit.org>
13085
13086         Reviewed by Alexey Proskuryakov.
13087
13088         Some FrameLoader.h Cleanup
13089         https://bugs.webkit.org/show_bug.cgi?id=49484
13090
13091         Removed function signatures without any implementation. The functions
13092         used to exist, and were nicely refactored into PageCache in r60688 and
13093         the signatures were left behind.
13094
13095         Removed function signature setLoadType. Added in r17238 back when the
13096         file was named WebFrameLoader, and the implementation was lost during
13097         the transition from its mm implementation.
13098
13099         Removed function signature updateHistoryAfterClientRedirect. Implementation
13100         and call points were removed in r18541 but the signature was left behind,
13101         and jumped files!
13102
13103         Removed unused debug variable m_didDispatchDidCommitLoad. It was added
13104         and used in Assertions in r28399. It was removed soon after, in r28464
13105         because they were, "firing like crazy. Not sure why yet." It was
13106         never used again.
13107
13108         Added const qualifier and moved interruptionForPolicyChangeError to
13109         be more like its buddies.
13110
13111         * loader/FrameLoader.cpp:
13112         (WebCore::FrameLoader::FrameLoader):
13113         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
13114         (WebCore::FrameLoader::interruptionForPolicyChangeError):
13115         (WebCore::FrameLoader::dispatchDidCommitLoad):
13116         * loader/FrameLoader.h:
13117
13118 2010-11-12  Yael Aharon  <yael.aharon@nokia.com>
13119
13120         Reviewed by David Hyatt.
13121
13122         Spatial Navigation: Cannot focus on some ContainerNode
13123         https://bugs.webkit.org/show_bug.cgi?id=48393
13124
13125         ContainerNode::getLowerRightCorner() assumes that the lowest right corner of its last child 
13126         is its own lowest right corner. If that child is an empty text node after an image, it does 
13127         not have size and position information, so we should go to the previous child.
13128
13129         Tests: fast/events/spatial-navigation/snav-container-only-white-space.html
13130                fast/events/spatial-navigation/snav-container-white-space.html
13131
13132         * dom/ContainerNode.cpp:
13133         (WebCore::ContainerNode::getLowerRightCorner):
13134
13135 2010-11-12  James Simonsen  <simonjam@chromium.org>
13136
13137         Reviewed by Darin Fisher.
13138
13139         [Web Timing] Rename interfaces:
13140         - Navigation -> PerformanceNavigation
13141         - Timing -> PerformanceTiming
13142         https://bugs.webkit.org/show_bug.cgi?id=48919
13143
13144         * DerivedSources.cpp:
13145         * DerivedSources.make:
13146         * GNUmakefile.am:
13147         * WebCore.gypi:
13148         * WebCore.vcproj/WebCore.vcproj:
13149         * WebCore.xcodeproj/project.pbxproj:
13150         * page/Performance.cpp:
13151         (WebCore::Performance::navigation):
13152         (WebCore::Performance::timing):
13153         * page/Performance.h:
13154         * page/Performance.idl:
13155         * page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
13156         (WebCore::PerformanceNavigation::PerformanceNavigation):
13157         (WebCore::PerformanceNavigation::frame):
13158         (WebCore::PerformanceNavigation::disconnectFrame):
13159         (WebCore::PerformanceNavigation::type):
13160         (WebCore::PerformanceNavigation::redirectCount):
13161         * page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
13162         (WebCore::PerformanceNavigation::create):
13163         * page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
13164         * page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
13165         (WebCore::toIntegerMilliseconds):
13166         (WebCore::getPossiblySkewedTimeInKnownRange):
13167         (WebCore::PerformanceTiming::PerformanceTiming):
13168         (WebCore::PerformanceTiming::frame):
13169         (WebCore::PerformanceTiming::disconnectFrame):
13170         (WebCore::PerformanceTiming::navigationStart):
13171         (WebCore::PerformanceTiming::unloadEventEnd):
13172         (WebCore::PerformanceTiming::redirectStart):
13173         (WebCore::PerformanceTiming::redirectEnd):
13174         (WebCore::PerformanceTiming::fetchStart):
13175         (WebCore::PerformanceTiming::domainLookupStart):
13176         (WebCore::PerformanceTiming::domainLookupEnd):
13177         (WebCore::PerformanceTiming::connectStart):
13178         (WebCore::PerformanceTiming::connectEnd):
13179         (WebCore::PerformanceTiming::requestStart):
13180         (WebCore::PerformanceTiming::requestEnd):
13181         (WebCore::PerformanceTiming::responseStart):
13182         (WebCore::PerformanceTiming::responseEnd):
13183         (WebCore::PerformanceTiming::domLoading):
13184         (WebCore::PerformanceTiming::domInteractive):
13185         (WebCore::PerformanceTiming::domContentLoaded):
13186         (WebCore::PerformanceTiming::domComplete):
13187         (WebCore::PerformanceTiming::loadEventStart):
13188         (WebCore::PerformanceTiming::loadEventEnd):
13189         (WebCore::PerformanceTiming::documentLoader):
13190         (WebCore::PerformanceTiming::documentTiming):
13191         (WebCore::PerformanceTiming::documentLoadTiming):
13192         (WebCore::PerformanceTiming::resourceLoadTiming):
13193         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
13194         * page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
13195         (WebCore::PerformanceTiming::create):
13196         * page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.
13197
13198 2010-11-12  Eric Carlson  <eric.carlson@apple.com>
13199
13200         Reviewed by Simon Fraser.
13201
13202         Remove unused code from HTMLMediaElement
13203         https://bugs.webkit.org/show_bug.cgi?id=49451
13204
13205         Just removing code, so no new tests.
13206
13207         * html/HTMLMediaElement.cpp: Removed unused functions.
13208         * html/HTMLMediaElement.h:
13209
13210 2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
13211
13212         Unreviewed Xcode project fix.
13213
13214         * WebCore.xcodeproj/project.pbxproj:
13215
13216 2010-11-12  Alexey Proskuryakov  <ap@apple.com>
13217
13218         Reviewed by Simon Fraser.
13219
13220         https://bugs.webkit.org/show_bug.cgi?id=49473
13221         WebKitCSSMatrix shouldn't inherit from StyleBase
13222
13223         No change in behavior, so no tests.
13224
13225         * css/WebKitCSSMatrix.cpp:
13226         (WebCore::WebKitCSSMatrix::WebKitCSSMatrix): We don't inherit from StyleBase any more, so
13227         no need to initialize always-null parent.
13228         (WebCore::WebKitCSSMatrix::setMatrixValue): Since there was never a parent, useStrictParsing()
13229         just returned true.
13230
13231         * css/WebKitCSSMatrix.h: Just inherit from RefCounted<WebKitCSSMatrix>. Removed unused default
13232         constructor and copy constructor.
13233
13234         * html/canvas/WebGLRenderingContext.h: Removed an unnneded forward declaration.
13235
13236 2010-11-12  Helder Correia  <helder@sencha.com>
13237
13238         Reviewed by Andreas Kling.
13239
13240         [Qt] Path::addArc() does not set right angle direction on full arcs
13241         https://bugs.webkit.org/show_bug.cgi?id=49138
13242
13243         Ensure correctness of nonzero winding rule for full arc paths.
13244         Invert the sign of the span if the direction is counterclockwise.
13245
13246         Test: fast/canvas/canvas-arc-360-winding.html
13247
13248         * platform/graphics/qt/PathQt.cpp:
13249         (WebCore::Path::addArc):
13250
13251 2010-11-05  Dimitri Glazkov  <dglazkov@chromium.org>
13252
13253         Reviewed by Darin Adler.
13254
13255         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
13256         https://bugs.webkit.org/show_bug.cgi?id=46015
13257
13258         Test: fast/events/shadow-boundary-crossing-2.html
13259
13260         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
13261         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
13262
13263         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
13264         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
13265
13266         * Android.mk: Added EventContext, WindowEventContext files.
13267         * CMakeLists.txt: Ditto.
13268         * GNUmakefile.am: Ditto.
13269         * WebCore.gypi: Ditto.
13270         * WebCore.pro: Ditto.
13271         * WebCore.xcodeproj/project.pbxproj: Ditto.
13272         * WebCore.vcproj/WebCore.vcproj: Ditto.
13273         * dom/ContainerNode.cpp:
13274         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
13275         * dom/EventContext.cpp: Added.
13276         * dom/EventContext.h: Added.
13277         * dom/Node.cpp:
13278         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
13279         (WebCore::Node::createRendererIfNeeded): Ditto.
13280         (WebCore::Node::parentOrHostNode): Added new helper method.
13281         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
13282         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
13283         (WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
13284         (WebCore::Node::topEventContext): Added.
13285         (WebCore::eventHasListeners): Changed to use EventContexts.
13286         (WebCore::Node::dispatchGenericEvent): Ditto.
13287         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
13288             and changed signature of eventAncestors to use EventContexts.
13289         * dom/Text.cpp:
13290         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
13291         * dom/WindowEventContext.cpp: Added.
13292         * dom/WindowEventContext.h: Added.
13293         * inspector/InspectorDOMAgent.cpp:
13294         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
13295         * page/EventHandler.cpp:
13296         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
13297         * rendering/RenderTextControlMultiLine.cpp:
13298         (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
13299             no longer necessary.
13300         * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
13301         is deleted.
13302         * rendering/TextControlInnerElements.cpp:
13303         (WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
13304             from where it was prior to r60418.
13305         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
13306         * svg/SVGElement.h: Ditto.
13307
13308 2010-11-12  Ryuan Choi  <ryuan.choi@samsung.com>
13309
13310         Reviewed by Martin Robinson.
13311
13312         [GTK] Remove unnecessary header for FontPlatformDataPango.cpp
13313         https://bugs.webkit.org/show_bug.cgi?id=46029
13314
13315         Remove unnecessary header includes.
13316         No new tests, as there's no functionality.
13317
13318         * platform/graphics/pango/FontPlatformDataPango.cpp:
13319
13320 2010-11-11  Abhishek Arya  <inferno@chromium.org>
13321
13322         Reviewed by Adam Barth.
13323
13324         Not allow drag and drop across different origins.
13325         https://bugs.webkit.org/show_bug.cgi?id=49098
13326
13327         Test: http/tests/security/drag-drop-different-origin.html
13328
13329         * page/DragController.cpp:
13330         (WebCore::DragController::tryDocumentDrag):
13331         * page/SecurityOrigin.cpp:
13332         (WebCore::SecurityOrigin::canDropOnTarget):
13333         * page/SecurityOrigin.h:
13334
13335 2010-11-11  Alexander Pavlov  <apavlov@chromium.org>
13336
13337         Reviewed by Yury Semikhatsky.
13338
13339         Web Inspector: Inspect element tooltip obscures element metrics
13340         https://bugs.webkit.org/show_bug.cgi?id=47822
13341
13342         * inspector/InspectorController.cpp:
13343         (WebCore::InspectorController::drawNodeHighlight):
13344         (WebCore::InspectorController::drawElementTitle):
13345
13346 2010-11-12  Luiz Agostini  <luiz.agostini@openbossa.org>
13347
13348         Reviewed by Kenneth Rohde Christiansen.
13349
13350         [Qt] Button's background style from default Qt Mobile Theme  is overriding facebook's button style
13351         https://bugs.webkit.org/show_bug.cgi?id=48198
13352
13353         Instead of creating gradients that goes from white to grey and cover the whole element the gradients
13354         are created by varying the alpha channel of a dark color. This way the effect will not override the
13355         background color of the elements.
13356
13357         * css/themeQtMobile.css:
13358
13359 2010-11-12  Justin Schuh  <jschuh@chromium.org>
13360
13361         Reviewed by Adam Barth.
13362
13363         Use a RefPtr inside ContainerNode::willRemove loop
13364         https://bugs.webkit.org/show_bug.cgi?id=49237
13365
13366         Test: fast/innerHTML/innerHTML-iframe.html
13367
13368         * dom/ContainerNode.cpp:
13369         (WebCore::ContainerNode::willRemove):
13370
13371 2010-11-12  Pavel Feldman  <pfeldman@chromium.org>
13372
13373         Reviewed by Yury Semikhatsky.
13374
13375         Web Inspector: add more event listener breakpoint types, add support for regular breakpoint hit state, beautify hit rendering.
13376         https://bugs.webkit.org/show_bug.cgi?id=49130
13377
13378         * English.lproj/localizedStrings.js:
13379         * inspector/front-end/BreakpointManager.js:
13380         (WebInspector.BreakpointManager.prototype.debuggerPaused):
13381         (WebInspector.Breakpoint.jsBreakpointId):
13382         (WebInspector.Breakpoint.prototype.get id):
13383         * inspector/front-end/BreakpointsSidebarPane.js:
13384         (WebInspector.EventListenerBreakpointsSidebarPane):
13385         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
13386         * inspector/front-end/CallStackSidebarPane.js:
13387         (WebInspector.CallStackSidebarPane.prototype._breakpointHit): don't call populateStatusMessage for JS breakpoints
13388         since there is no specific message in that case.
13389         * inspector/front-end/ScriptsPanel.js:
13390         (WebInspector.ScriptsPanel):
13391         (WebInspector.ScriptsPanel.prototype.reset):
13392         * inspector/front-end/inspector.css:
13393         (#elements-sidebar):
13394         (.pane > .body):
13395         (#scripts-sidebar):
13396         (li.breakpoint-hit .breakpoint-hit-marker):
13397
13398 2010-11-12  Andrey Kosyakov  <caseq@chromium.org>
13399
13400         Reviewed by Yury Semikhatsky.
13401
13402         Web Inspector: [Extensions API] [refactoring] generate public API interfaces automatically
13403         https://bugs.webkit.org/show_bug.cgi?id=49441
13404
13405         * inspector/front-end/ExtensionAPI.js:
13406         (WebInspector.injectedExtensionAPI.PanelImpl):
13407         (WebInspector.injectedExtensionAPI):
13408         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPane):
13409         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
13410         (WebInspector.injectedExtensionAPI.AuditResultImpl):
13411         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
13412         (WebInspector.injectedExtensionAPI.):
13413
13414 2010-11-12  Renata Hodovan  <reni@webkit.org>
13415
13416         Reviewed by Nikolas Zimmermann.
13417
13418         SVGFEDisplacementMapElement doesn't support dynamic invalidation
13419         https://bugs.webkit.org/show_bug.cgi?id=49430
13420
13421         The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
13422
13423         Tests: svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html
13424                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html
13425                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html
13426                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html
13427                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html
13428                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html
13429                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html
13430                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html
13431                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html
13432                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html
13433
13434         * svg/SVGFEDisplacementMapElement.cpp:
13435         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
13436         * svg/SVGFEDisplacementMapElement.h:
13437
13438 2010-11-12  Andrey Kosyakov  <caseq@chromium.org>
13439
13440         Reviewed by Yury Semikhatsky.
13441
13442         Web Inspector: [refactoring] do not use absolute positioning for tabbed panes
13443         https://bugs.webkit.org/show_bug.cgi?id=49439
13444
13445         * inspector/front-end/TabbedPane.js:
13446         (WebInspector.TabbedPane):
13447         (WebInspector.TabbedPane.prototype.appendTab):
13448         * inspector/front-end/inspector.css:
13449         (.resource-view.visible):
13450         (.resource-view .tabbed-pane-header):
13451         (.resource-view-cookies):
13452         (.tabbed-pane):
13453         (.tabbed-pane-content):
13454         * inspector/front-end/networkPanel.css:
13455
13456 2010-11-12  John Knottenbelt  <jknotten@chromium.org>
13457
13458         Reviewed by Steve Block.
13459
13460         Rename GeolocationControllerClient to GeolocationClient.
13461         https://bugs.webkit.org/show_bug.cgi?id=49259
13462
13463         No new tests, renaming only.
13464
13465         * GNUmakefile.am:
13466         * WebCore.gypi:
13467         * WebCore.order:
13468         * WebCore.vcproj/WebCore.vcproj:
13469         * WebCore.xcodeproj/project.pbxproj:
13470         * page/GeolocationClient.h: Renamed from WebCore/page/GeolocationControllerClient.h.
13471         (WebCore::GeolocationClient::~GeolocationClient):
13472         * page/GeolocationController.cpp:
13473         (WebCore::GeolocationController::GeolocationController):
13474         * page/GeolocationController.h:
13475         * page/Page.h:
13476
13477 2010-11-12  Ilya Sherman  <isherman@chromium.org>
13478
13479         Reviewed by Eric Seidel.
13480
13481         Remove some trailing whitespace
13482         https://bugs.webkit.org/show_bug.cgi?id=49433
13483
13484         * platform/PopupMenuClient.h:
13485         * platform/chromium/PopupMenuChromium.cpp:
13486         (WebCore::PopupContainer::show):
13487         (WebCore::PopupListBox::paintRow):
13488         (WebCore::PopupListBox::scrollToRevealRow):
13489         * platform/chromium/PopupMenuChromium.h:
13490         * platform/chromium/SearchPopupMenuChromium.cpp:
13491         * rendering/RenderMenuList.h:
13492         (WebCore::RenderMenuList::toRenderMenuList):
13493         * rendering/RenderTextControlSingleLine.h:
13494         (WebCore::toRenderTextControlSingleLine):
13495
13496 2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
13497
13498         Reviewed by Csaba Osztrogonác.
13499
13500         [qt] script-clone tests added in r71895 fails on qt platform
13501         https://bugs.webkit.org/show_bug.cgi?id=49429
13502
13503         Fixed parseEndElement to call ScriptElement's executeScript as supposed to that of ScriptController.
13504
13505         * dom/XMLDocumentParserQt.cpp:
13506         (WebCore::XMLDocumentParser::parseEndElement):
13507
13508 2010-11-05  MORITA Hajime  <morrita@google.com>
13509
13510         Reviewed by Kent Tamura.
13511
13512         Refactoring: Return values of TextCheckingHelper::paragraphAlignedRange should form a class.
13513         https://bugs.webkit.org/show_bug.cgi?id=49053
13514
13515         Replaced paragraphAlignedRange() function call into
13516         TextCheckingParagraph class. The class encapsulates a range of a
13517         paragraph, and its relation within associated checking range.
13518         Instance variables of the class are computed lazily. So we can save unnecessary
13519         memory allocation and DOM tree traversal.
13520         
13521         No new tests, no behavior change. 
13522
13523         * editing/Editor.cpp:
13524         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced paragraphAlignedRange() call.
13525         (WebCore::Editor::changeBackToReplacedString): Replaced paragraphAlignedRange() call.
13526         * editing/TextCheckingHelper.cpp:
13527         (WebCore::expandToParagraphBoundary):
13528         (WebCore::TextCheckingParagraph::TextCheckingParagraph):
13529         (WebCore::TextCheckingParagraph::~TextCheckingParagraph):
13530         (WebCore::TextCheckingParagraph::expandRangeToNextEnd):
13531         (WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
13532         (WebCore::TextCheckingParagraph::rangeLength):
13533         (WebCore::TextCheckingParagraph::paragraphRange):
13534         (WebCore::TextCheckingParagraph::subrange):
13535         (WebCore::TextCheckingParagraph::offsetTo):
13536         (WebCore::TextCheckingParagraph::isEmpty):
13537         (WebCore::TextCheckingParagraph::offsetAsRange):
13538         (WebCore::TextCheckingParagraph::text):
13539         (WebCore::TextCheckingParagraph::checkingStart):
13540         (WebCore::TextCheckingParagraph::checkingEnd):
13541         (WebCore::TextCheckingParagraph::checkingLength):
13542         (WebCore::TextCheckingHelper::findFirstBadGrammar): Replaced paragraphAlignedRange() call.
13543         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Replaced paragraphAlignedRange() call.
13544         * editing/TextCheckingHelper.h:
13545         (WebCore::TextCheckingParagraph::textLength):
13546         (WebCore::TextCheckingParagraph::textSubstring):
13547         (WebCore::TextCheckingParagraph::textCharacters):
13548         (WebCore::TextCheckingParagraph::textCharAt):
13549         (WebCore::TextCheckingParagraph::checkingSubstring):
13550         (WebCore::TextCheckingParagraph::checkingRangeMatches):
13551         (WebCore::TextCheckingParagraph::isCheckingRangeCoveredBy):
13552         (WebCore::TextCheckingParagraph::checkingRangeCovers):
13553         (WebCore::TextCheckingParagraph::checkingRange):
13554         (WebCore::TextCheckingParagraph::isTextEmpty):
13555         (WebCore::TextCheckingParagraph::isRangeEmpty):
13556
13557 2010-11-11  Ryosuke Niwa  <rniwa@webkit.org>
13558
13559         Reviewed by Darin Adler.
13560
13561         Script runs more than once after a clone
13562         https://bugs.webkit.org/show_bug.cgi?id=48966
13563
13564         The bug was caused by cloneElementWithoutChildren's not propagating isEvaluated flag,
13565         which indicates whether or not the script has already started, and the fact
13566         neither HTMLScriptRunner nor XMLDocumentParser was setting isEvaluated flag to true.
13567
13568         Fixed the bug by making cloneElementWithoutChildren call a virtual cloneElementWithoutAttributesAndChildren,
13569         and override it in HTMLScriptElement and SVGScriptElement to propagate isEvaluated flag,
13570         and replacing direct access to ScriptController by a call to new ScriptElementData::executeScript,
13571         which updates the isEvaluated flag properly.
13572
13573         See also: http://www.whatwg.org/specs/web-apps/current-work/#already-started
13574
13575         Tests: fast/dom/script-clone-rerun-self.html
13576                fast/dom/script-clone-rerun.html
13577                svg/dom/SVGScriptElement/script-clone-rerun-self.svg
13578                svg/dom/SVGScriptElement/script-clone-rerun.svg
13579
13580         * dom/Element.cpp:
13581         (WebCore::Element::cloneElementWithoutChildren): Calls cloneElementWithoutChildren.
13582         (WebCore::Element::cloneElementWithoutAttributesAndChildren): Extracted from cloneElementWithoutChildren.
13583         * dom/Element.h:
13584         * dom/ScriptElement.cpp:
13585         (WebCore::ScriptElementData::ScriptElementData): Added isEvaluated flag to the argument list.
13586         (WebCore::ScriptElementData::evaluateScript): Extracted from HTMLScriptRunner::executeScript.
13587         (WebCore::ScriptElementData::executeScript): Renamed evaluated to isEvaluated.
13588         (WebCore::ScriptElementData::ignoresLoadRequest): Renamed evaluated to isEvaluated.
13589         * dom/ScriptElement.h: Renamed evaluated to isEvaluated.
13590         (WebCore::ScriptElementData::isEvaluated): Added.
13591         * dom/XMLDocumentParserLibxml2.cpp:
13592         (WebCore::XMLDocumentParser::endElementNs): Calls ScriptElement::executeScript.
13593         * html/HTMLScriptElement.cpp:
13594         (WebCore::HTMLScriptElement::HTMLScriptElement): Added isEvaluated flag to the argument list.
13595         (WebCore::HTMLScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
13596         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
13597         (WebCore::HTMLScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
13598         * html/HTMLScriptElement.h:
13599         * html/parser/HTMLScriptRunner.cpp:
13600         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Added an assertion that was lost
13601         in extracting ScriptElementData::executeScript.
13602         (WebCore::HTMLScriptRunner::runScript): Calls ScriptElementData::executeScript.
13603         * html/parser/HTMLScriptRunner.h:
13604         * svg/SVGScriptElement.cpp:
13605         (WebCore::SVGScriptElement::SVGScriptElement): Added isEvaluated flag to the argument list.
13606         (WebCore::SVGScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
13607         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
13608         (WebCore::SVGScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
13609         * svg/SVGScriptElement.h:
13610
13611 2010-11-11  Shinichiro Hamaji  <hamaji@chromium.org>
13612
13613         Reviewed by Darin Adler.
13614
13615         REGRESSION: window.print in onload doesn't fire if there's an img
13616         https://bugs.webkit.org/show_bug.cgi?id=48195
13617
13618         This issue was introduced in
13619         https://bugs.webkit.org/show_bug.cgi?id=43658
13620         This happens because FrameLoader::isLoading() is false while an
13621         image is still loading. Now, window.print() happens after all
13622         resources are loaded.
13623
13624         Also changed the name of a member variable as Darin suggested in Bug 43658.
13625
13626         Added a manual test as DRT doesn't support window.print() yet.
13627
13628         * loader/DocumentLoader.cpp:
13629         (WebCore::DocumentLoader::DocumentLoader):
13630         (WebCore::DocumentLoader::updateLoading):
13631         * loader/DocumentLoader.h:
13632         * page/DOMWindow.cpp:
13633         (WebCore::DOMWindow::DOMWindow):
13634         (WebCore::DOMWindow::print):
13635         (WebCore::DOMWindow::finishedLoading):
13636         * page/DOMWindow.h:
13637
13638 2010-11-11  James Simonsen  <simonjam@chromium.org>
13639
13640         Reviewed by Tony Chang.
13641
13642         [chromium] Support letter spacing and fix whitespace wrapping on linux
13643
13644         When lines wrapped on RTL text, the whitespace was inserted before
13645         the first character on the new line instead of at the end of the
13646         previous line. This has been fixed.
13647
13648         The missing cluster information needed for letter spacing was hidden in
13649         harfbuzz's attributes struct.
13650
13651         https://bugs.webkit.org/show_bug.cgi?id=49405
13652
13653         * platform/graphics/chromium/FontLinux.cpp:
13654         (WebCore::TextRunWalker::letterSpacing): Added.
13655         (WebCore::TextRunWalker::isWordBreak): No need for isRTL.
13656         (WebCore::TextRunWalker::setPadding): Ditto.
13657         (WebCore::TextRunWalker::setGlyphXPositions): Support letter spacing. No whitespace before RTL text on new line.
13658         (WebCore::glyphIndexForXPositionInScriptRun): Support letter spacing.
13659
13660 2010-11-11  Kavita Kanetkar  <kkanetkar@chromium.org>
13661
13662         Reviewed by Dumitru Daniliuc.
13663
13664         FileSystem: Fix a link error for non-chromium WebKit build
13665         https://bugs.webkit.org/show_bug.cgi?id=49296
13666
13667         * WebCore.xcodeproj/project.pbxproj:
13668         * inspector/InspectorFileSystemAgent.cpp:
13669         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
13670         (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntry):
13671         (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntries):
13672         (WebCore::InspectorFileSystemAgentCallbacks::didCreateFileWriter):
13673         (WebCore::InspectorFileSystemAgentCallbacks::didFail):
13674         (WebCore::InspectorFileSystemAgent::revealFolderInOS):
13675
13676 2010-11-11  Nate Chapin  <japhet@chromium.org>
13677
13678         Reviewed by Antti Koivisto.
13679
13680         Cleanup after http://trac.webkit.org/changeset/71562, namely:
13681         Make deferred request handle simpler.
13682         Don't perform callbacks associated with network load starting
13683         (e.g., willSendRequest) until the load is in fact sent to the network.
13684         Make ResourceLoadScheduler a friend of ResourceLoader and make
13685         ResourceLoader::start() protected to try to ensure loads actually
13686         go through the scheduler.
13687         https://bugs.webkit.org/show_bug.cgi?id=49351
13688
13689         Behavior should be covered by existing tests.
13690
13691         * loader/NetscapePlugInStreamLoader.cpp:
13692         (WebCore::NetscapePlugInStreamLoader::create):
13693         * loader/ResourceLoadScheduler.cpp:
13694         (WebCore::ResourceLoadScheduler::servePendingRequests):
13695         * loader/ResourceLoadScheduler.h:
13696         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
13697         * loader/ResourceLoader.cpp:
13698         (WebCore::ResourceLoader::init):
13699         (WebCore::ResourceLoader::start):
13700         (WebCore::ResourceLoader::setDefersLoading):
13701         (WebCore::ResourceLoader::didCancel):
13702         * loader/ResourceLoader.h:
13703         (WebCore::ResourceLoader::reachedTerminalState):
13704         (WebCore::ResourceLoader::request):
13705         * loader/SubresourceLoader.cpp:
13706         (WebCore::SubresourceLoader::create):
13707         * loader/loader.cpp:
13708         (WebCore::Loader::load):
13709         (WebCore::Loader::willSendRequest):
13710         * loader/loader.h:
13711
13712 2010-11-11  Carol Szabo <carol.szabo@nokia.com>
13713
13714         Reviewed by Kent Tamura.
13715
13716         css2:order of counters in out-of flow content
13717         https://bugs.webkit.org/show_bug.cgi?id=32412
13718
13719         Tests: fast/css/content/content-none.html
13720                fast/css/content/content-normal.html
13721
13722         * css/CSSParser.cpp:
13723         (WebCore::CSSParser::parseContent):
13724         Added support for none, normal, open-quote, no-open-quote, etc.
13725         identifiers in terms of parsing only, as this has effect on the
13726         evaluation of counters. No further implementation needed for 
13727         none and normal, the others are parsed but do not work as expected.
13728
13729 2010-11-11  Julie-Jeongeun-Kim  <jiyuluna@gmail.com>
13730
13731         Reviewed by Kent Tamura.
13732
13733         SelectionStart, selectionEnd properties return wrong values when the selection is in a read-only input or textarea element
13734         https://bugs.webkit.org/show_bug.cgi?id=25444
13735
13736         'rootEditableElement()' is checked on RenderTextControl::indexForVisiblePosition.
13737         It means that just editable elements can get selection information.
13738         ReadOnly element is not editable element. So, it just returns and can't get correct selection information.
13739         INPUT and TEXTAREA elements can be read-only but 'indexForVisiblePosition' doesn't accept them.
13740         So, Selectable elements, INPUT and TEXTAREA, checking is added for that case.
13741         Even if they are read-only, they are selectable.
13742
13743         new tests:fast/forms/selection-start-end-readonly.html
13744
13745         * html/HTMLInputElement.idl:
13746         * rendering/RenderTextControl.cpp:
13747         (WebCore::RenderTextControl::isSelectableElement):
13748         (WebCore::RenderTextControl::indexForVisiblePosition):
13749         * rendering/RenderTextControl.h:
13750
13751 2010-11-11  Adam Barth  <abarth@webkit.org>
13752
13753         Reviewed by David Levin.
13754
13755         Add some RefPtrs to be on the safe side
13756         https://bugs.webkit.org/show_bug.cgi?id=49301
13757
13758         Hopefully no behavior change.
13759
13760         * html/parser/HTMLTreeBuilder.cpp:
13761         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
13762
13763 2010-11-11  Chris Rogers  <crogers@google.com>
13764
13765         Reviewed by Kenneth Russell.
13766
13767         Fix Accelerate.framework issues in VectorMath 32-bit ppc & i386 vs. other architectures (64-bit, ARM, etc.).
13768         On the Mac we use the highly optimized versions in Accelerate.framework
13769         In 32-bit mode (__ppc__ or __i386__) <Accelerate/Accelerate.h> includes <vecLib/vDSP_translate.h> which defines macros
13770         of the same name as our namespaced function names, so we must handle this case differently.
13771         Other architectures (64bit, ARM, etc.) do not include this header file.
13772         
13773         https://bugs.webkit.org/show_bug.cgi?id=49112
13774
13775         No new tests since audio API is not yet implemented.
13776
13777         * platform/audio/VectorMath.cpp:
13778         (WebCore::VectorMath::vsmul):
13779         (WebCore::VectorMath::vadd):
13780
13781 2010-11-11  Dan Bernstein  <mitz@apple.com>
13782
13783         Reviewed by Darin Adler.
13784
13785         <rdar://problem/8657116> fast/text/justification-padding-mid-word.html fails on Windows
13786         https://bugs.webkit.org/show_bug.cgi?id=49378
13787
13788         * platform/graphics/win/UniscribeController.cpp:
13789         (WebCore::UniscribeController::shapeAndPlaceItem): For all characters that need to be treated
13790         as zero-width spaces, substitute the space glyph with zero advance. Apply justification padding
13791         and word spacing only at characters treated as (non-zero-width) spaces.
13792
13793 2010-11-11  Darin Adler  <darin@apple.com>
13794
13795         Reviewed by Sam Weinig.
13796
13797         Harden some string functions against large lengths
13798         https://bugs.webkit.org/show_bug.cgi?id=49293
13799
13800         * rendering/RenderText.cpp:
13801         (WebCore::makeCapitalized): Check before incrementing length.
13802
13803 2010-11-10  Zhenyao Mo  <zmo@google.com>
13804
13805         Reviewed by Kenneth Russell.
13806
13807         bufferData/bufferSubData should not crash with null data input
13808         https://bugs.webkit.org/show_bug.cgi?id=49350
13809
13810         * html/canvas/WebGLRenderingContext.cpp: return early if input data is null.
13811         (WebCore::WebGLRenderingContext::bufferData):
13812         (WebCore::WebGLRenderingContext::bufferSubData):
13813
13814 2010-11-10  Zhenyao Mo  <zmo@google.com>
13815
13816         Reviewed by Kenneth Russell.
13817
13818         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
13819         https://bugs.webkit.org/show_bug.cgi?id=47196
13820
13821         This is the first patch for this bug.  We add constants and methods, but haven't hooked it up with texture uploading yet.  Also, in order to check in constants.html, we need to remove out-dated constants, and update affected tests correspondingly.
13822
13823         Test: fast/canvas/webgl/constants.html
13824
13825         * html/canvas/WebGLRenderingContext.cpp:
13826         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Move init code to initializeNewContext.
13827         (WebCore::WebGLRenderingContext::initializeNewContext): Ditto.
13828         (WebCore::WebGLRenderingContext::getParameter): Implement UNPACK_COLORSPACE_CONVERSION_WEBGL.
13829         (WebCore::WebGLRenderingContext::pixelStorei): Ditto.
13830         * html/canvas/WebGLRenderingContext.h: Add a member to track UNPACK_COLORSPACE_CONVERSION_WEBGL setting.
13831         * html/canvas/WebGLRenderingContext.idl: Update constants.
13832         * platform/graphics/GraphicsContext3D.h: Update constants.
13833
13834 2010-11-11  Chris Marrin  <cmarrin@apple.com>
13835
13836         Reviewed by James Robinson.
13837
13838         Add multisampling support to DrawingBuffer.
13839         https://bugs.webkit.org/show_bug.cgi?id=49206
13840
13841         Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
13842         extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
13843
13844         This re-lands changes rolled out by http://trac.webkit.org/changeset/71839. It includes
13845         the change from http://trac.webkit.org/changeset/71831 and additional changes to 
13846         DrawingBufferChromium.cpp which cause the broken canvas tests to pass.
13847
13848         * platform/graphics/Extensions3D.h:
13849         * platform/graphics/chromium/DrawingBufferChromium.cpp:
13850         (WebCore::DrawingBuffer::DrawingBuffer):
13851         (WebCore::DrawingBuffer::~DrawingBuffer):
13852         (WebCore::DrawingBuffer::publishToPlatformLayer):
13853         (WebCore::DrawingBuffer::didReset):
13854         (WebCore::DrawingBuffer::platformColorBuffer):
13855         * platform/graphics/chromium/Extensions3DChromium.h:
13856         (WebCore::Extensions3DChromium::blitFramebuffer):
13857         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
13858         * platform/graphics/gpu/DrawingBuffer.cpp:
13859         (WebCore::DrawingBuffer::create):
13860         (WebCore::DrawingBuffer::clear):
13861         (WebCore::DrawingBuffer::reset):
13862         (WebCore::DrawingBuffer::commit):
13863         (WebCore::DrawingBuffer::bind):
13864         * platform/graphics/gpu/DrawingBuffer.h:
13865         (WebCore::DrawingBuffer::multisample):
13866         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
13867         (WebCore::DrawingBuffer::DrawingBuffer):
13868         (WebCore::DrawingBuffer::didReset):
13869         (WebCore::DrawingBuffer::platformColorBuffer):
13870         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
13871         (WebCore::Extensions3DOpenGL::supports):
13872         (WebCore::Extensions3DOpenGL::blitFramebuffer):
13873         (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
13874         * platform/graphics/opengl/Extensions3DOpenGL.h:
13875         * platform/graphics/skia/ImageBufferSkia.cpp:
13876         (WebCore::ImageBuffer::draw):
13877
13878 2010-11-11  David Hyatt  <hyatt@apple.com>
13879
13880         Reviewed by Simon Fraser.
13881
13882         https://bugs.webkit.org/show_bug.cgi?id=48664
13883         
13884         Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
13885         
13886         This patch disables the layout state for flipped blocks, since the paint offset isn't right.
13887         
13888         Bugs in the overflow sides for lines have been fixed.  before/AfterSideVisible/LayoutOverflowForLine
13889         now respect flipping (and don't incorrectly change sides).  This is a very confusing aspect of
13890         the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
13891         aren't physical).
13892         
13893         offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
13894         This means at every step up you convert to the correct physical coordinate.  It also means these
13895         functions will be unreliable during layout for flipped blocks.  At first glance, this seems to be
13896         more or less ok.
13897         
13898         computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary.  This
13899         allows for documents to be fully flipped and repaint during layout can still be reliable.  This is
13900         critical for incremental line layout repainting.
13901         
13902         Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
13903         of all the stale results and failures.
13904
13905         * editing/SelectionController.cpp:
13906         (WebCore::SelectionController::absoluteBoundsForLocalRect):
13907         (WebCore::SelectionController::paintCaret):
13908         * rendering/InlineTextBox.cpp:
13909         (WebCore::InlineTextBox::selectionRect):
13910         * rendering/RenderBlock.cpp:
13911         (WebCore::RenderBlock::layoutBlock):
13912         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
13913         (WebCore::RenderBlock::paintSelection):
13914         * rendering/RenderBlockLineLayout.cpp:
13915         (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
13916         (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
13917         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
13918         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
13919         * rendering/RenderBox.cpp:
13920         (WebCore::RenderBox::layout):
13921         (WebCore::RenderBox::mapLocalToContainer):
13922         (WebCore::RenderBox::offsetFromContainer):
13923         (WebCore::RenderBox::clippedOverflowRectForRepaint):
13924         (WebCore::RenderBox::computeRectForRepaint):
13925         (WebCore::RenderBox::flipForWritingMode):
13926         (WebCore::RenderBox::locationOffsetIncludingFlipping):
13927         * rendering/RenderBox.h:
13928         * rendering/RenderFlexibleBox.cpp:
13929         (WebCore::RenderFlexibleBox::layoutBlock):
13930         * rendering/RenderInline.cpp:
13931         (WebCore::RenderInline::clippedOverflowRectForRepaint):
13932         * rendering/RenderSlider.cpp:
13933         (WebCore::RenderSlider::layout):
13934         * rendering/RenderTable.cpp:
13935         (WebCore::RenderTable::layout):
13936         * rendering/RenderTableRow.cpp:
13937         (WebCore::RenderTableRow::layout):
13938         * rendering/RenderTableSection.cpp:
13939         (WebCore::RenderTableSection::layout):
13940         (WebCore::RenderTableSection::layoutRows):
13941         * rendering/RenderView.cpp:
13942         (WebCore::RenderView::computeRectForRepaint):
13943         * rendering/ShadowElement.cpp:
13944         (WebCore::ShadowBlockElement::layoutAsPart):
13945
13946 2010-11-11  Chris Marrin  <cmarrin@apple.com>
13947
13948         Reviewed by Simon Fraser.
13949
13950         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
13951         https://bugs.webkit.org/show_bug.cgi?id=49388
13952
13953         Renamed GraphicsLayerCA.* to GraphicsLayerMac.*
13954
13955         * WebCore.xcodeproj/project.pbxproj:
13956         * platform/graphics/mac/GraphicsLayerCA.h: Removed.
13957         * platform/graphics/mac/GraphicsLayerCA.mm: Removed.
13958         * platform/graphics/mac/GraphicsLayerMac.h: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.h.
13959         * platform/graphics/mac/GraphicsLayerMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.mm.
13960
13961 2010-11-11  Kenneth Russell  <kbr@google.com>
13962
13963         Reviewed by James Robinson.
13964
13965         [chromium] Missing adoptPtr in GraphicsContext3DSkia.cpp
13966         https://bugs.webkit.org/show_bug.cgi?id=49359
13967
13968         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
13969         (WebCore::GraphicsContext3D::getImageData):
13970
13971 2010-11-11  Dan Bernstein  <mitz@apple.com>
13972
13973         Reviewed by Adam Roben.
13974
13975         <rdar://problem/8113511> Enable auto-hyphenation
13976
13977         * WebCore.vcproj/WebCore.vcproj: Included HyphenationCF.cpp instead of Hyphenation.cpp.
13978         * platform/text/cf/HyphenationCF.cpp: Added functions and definitions for Windows to look up CFStringGetHyphenationLocationBeforeIndex
13979         and CFStringIsHyphenationAvailableForLocale at runtime.
13980         (wkCFStringGetHyphenationLocationBeforeIndex):
13981         (wkCFStringIsHyphenationAvailableForLocale):
13982         (WebCore::lastHyphenLocation): Added a cast.
13983
13984 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
13985
13986         Reviewed by Eric Seidel.
13987
13988         video-pause-immediately.html sometimes fails
13989         https://bugs.webkit.org/show_bug.cgi?id=49397
13990
13991         * html/HTMLMediaElement.cpp:
13992         (WebCore::HTMLMediaElement::playInternal): Don't bother calling invalidateCachedTime, it
13993         will be called from updatePlayState.
13994         (WebCore::HTMLMediaElement::pauseInternal): Don't bother calling refreshCachedTime, it
13995         will be called from updatePlayState.
13996         (WebCore::HTMLMediaElement::updatePlayState): Call refreshCachedTime after telling the media
13997         engine to pause so we cache the post-paused time.
13998
13999 2010-11-11  Mihai Parparita  <mihaip@chromium.org>
14000
14001         Unreviewed rollout. 
14002         
14003         Roll out r71827 and r71831, which caused many GPU canvas test failures.
14004
14005         * platform/graphics/Extensions3D.h:
14006         * platform/graphics/chromium/DrawingBufferChromium.cpp:
14007         (WebCore::DrawingBuffer::reset):
14008         (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
14009         * platform/graphics/chromium/Extensions3DChromium.h:
14010         * platform/graphics/gpu/DrawingBuffer.cpp:
14011         (WebCore::DrawingBuffer::create):
14012         (WebCore::DrawingBuffer::clear):
14013         (WebCore::DrawingBuffer::bind):
14014         * platform/graphics/gpu/DrawingBuffer.h:
14015         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
14016         (WebCore::SharedGraphicsContext3D::create):
14017         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
14018         (WebCore::DrawingBuffer::DrawingBuffer):
14019         (WebCore::DrawingBuffer::reset):
14020         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
14021         (WebCore::Extensions3DOpenGL::supports):
14022         * platform/graphics/opengl/Extensions3DOpenGL.h:
14023         * platform/graphics/skia/ImageBufferSkia.cpp:
14024         (WebCore::ImageBuffer::draw):
14025
14026 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
14027
14028         Restore the portion of the ChangeLog removed in my last commit.
14029
14030 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
14031
14032         Unreviewed Leoaprd build fix.
14033
14034         * html/HTMLMediaElement.cpp:
14035         (WebCore::HTMLMediaElement::invalidateCachedTime): Make the const a double.
14036
14037 2010-11-11  Dirk Schulze  <krit@webkit.org>
14038
14039         Unreviewed Qt build fix.
14040
14041         SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
14042         https://bugs.webkit.org/show_bug.cgi?id=49284
14043
14044         * svg/SVGAnimationElement.cpp:
14045         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
14046         (WebCore::SVGAnimationElement::startedActiveInterval):
14047
14048 2010-11-11  Hans Wennborg  <hans@chromium.org>
14049
14050         Reviewed by Jeremy Orlow.
14051
14052         IndexedDB: signal IDBFactoryBackendInterface destruction to embedder
14053         https://bugs.webkit.org/show_bug.cgi?id=49313
14054
14055         Define IDBFactoryBackendInterface destructor out-of-line to allow
14056         for embedder-specific implementation. For Chromium, have the
14057         destructor call ChromiumBridge::idbShutdown().
14058
14059         * platform/chromium/ChromiumBridge.h:
14060         * storage/IDBFactoryBackendInterface.cpp:
14061         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
14062         * storage/IDBFactoryBackendInterface.h:
14063         * storage/chromium/IDBFactoryBackendInterface.cpp:
14064         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
14065
14066 2010-11-11  Dirk Schulze  <krit@webkit.org>
14067
14068         Reviewed by Nikolas Zimmermann.
14069
14070         SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
14071         https://bugs.webkit.org/show_bug.cgi?id=49284
14072
14073         Add support for from-to and from-by animations in combination with calcMode 'spline' for SVGAnimations.
14074
14075         Tests: svg/animations/animate-calcMode-spline-by.html
14076                svg/animations/animate-calcMode-spline-from-by.html
14077                svg/animations/animate-calcMode-spline-from-to.html
14078                svg/animations/animate-calcMode-spline-to.html
14079                svg/animations/animate-calcMode-spline-values.html
14080
14081         * svg/SVGAnimationElement.cpp:
14082         (WebCore::SVGAnimationElement::calculateKeyTimesIndex): Added to share more code.
14083         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
14084         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
14085         (WebCore::SVGAnimationElement::startedActiveInterval):
14086         (WebCore::SVGAnimationElement::updateAnimation):
14087         * svg/SVGAnimationElement.h:
14088
14089 2010-11-10  Chris Marrin  <cmarrin@apple.com>
14090
14091         Reviewed by James Robinson.
14092
14093         Add multisampling support to DrawingBuffer.
14094         https://bugs.webkit.org/show_bug.cgi?id=49206
14095
14096         Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
14097         extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
14098
14099         * platform/graphics/Extensions3D.h:
14100         * platform/graphics/chromium/DrawingBufferChromium.cpp:
14101         (WebCore::DrawingBuffer::platformColorBuffer):
14102         * platform/graphics/chromium/Extensions3DChromium.h:
14103         (WebCore::Extensions3DChromium::blitFramebuffer):
14104         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
14105         * platform/graphics/gpu/DrawingBuffer.cpp:
14106         (WebCore::DrawingBuffer::create):
14107         (WebCore::DrawingBuffer::clear):
14108         (WebCore::DrawingBuffer::reset):
14109         (WebCore::DrawingBuffer::commit):
14110         (WebCore::DrawingBuffer::bind):
14111         * platform/graphics/gpu/DrawingBuffer.h:
14112         (WebCore::DrawingBuffer::multisample):
14113         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
14114         (WebCore::DrawingBuffer::DrawingBuffer):
14115         (WebCore::DrawingBuffer::platformLayer):
14116         (WebCore::DrawingBuffer::platformColorBuffer):
14117         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
14118         (WebCore::Extensions3DOpenGL::supports):
14119         (WebCore::Extensions3DOpenGL::blitFramebuffer):
14120         (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
14121         * platform/graphics/opengl/Extensions3DOpenGL.h:
14122         * platform/graphics/skia/ImageBufferSkia.cpp:
14123         (WebCore::ImageBuffer::draw):
14124
14125 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
14126
14127         Build fix after r71824.
14128
14129         * html/HTMLMediaElement.cpp:
14130         (WebCore::HTMLMediaElement::invalidateCachedTime): Use an explicit cast from double to float.
14131         (WebCore::HTMLMediaElement::currentTime): Ditto.
14132
14133 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
14134
14135         Reviewed by Antti Koivisto.
14136
14137         Lots of time spent in MediaPlayerPrivate::currentTime() when playing multiple videos.
14138         https://bugs.webkit.org/show_bug.cgi?id=49009
14139
14140         Make it possible for HTMLMediaElement to cache the movie time and report 'currentTime'
14141         as [cached time + elapsed wall time]. The media engine returns the maximum duration it 
14142         is safe to calculate time before resampling the actual movie time with the new
14143         maximumDurationToCacheMovieTime method. Because this may be different for different media
14144         engines the default return value is 0, making it an opt-in feature.
14145
14146         No new tests were added because the existing tests already check currentTime, and because
14147         it is only possible to look for drift between the calculated and actual media time by 
14148         calculating the time AND getting the actual media time - which the defeats the purpose of
14149         the change. Building with LOG_CACHED_TIME_WARNINGS defined enables code that does both
14150         and logs warnings when the delta between calculated and observed is greater than 0.01.
14151
14152         * html/HTMLMediaElement.cpp:
14153         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member variables.
14154         (WebCore::HTMLMediaElement::prepareForLoad): Force a time resync before setting m_paused.
14155         (WebCore::HTMLMediaElement::seek): Force a time resync before getting the current time before
14156         seeking so there is no drift.
14157         (WebCore::HTMLMediaElement::refreshCachedTime): New, update the cached movie time and the
14158         wall clock time it was recorded.
14159         (WebCore::HTMLMediaElement::invalidateCachedTime): New, flag the cached time as invalid.
14160         (WebCore::HTMLMediaElement::currentTime): Use a cached movie time for as long as the media
14161         engine says it is safe. Lots of optional logging can be enabled to help ports fine tune
14162         the maximum cache interval.
14163         (WebCore::HTMLMediaElement::ended): Force a time resync before setting m_paused.
14164         (WebCore::HTMLMediaElement::endScrubbing): Fix a typo in the logging.
14165         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Call currentTime() instead of calling
14166         MediaPlayer so we use the cached time as much as it possible.
14167         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Invalidate cached time because the engine
14168         seeked.
14169         (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Ditto.
14170         (WebCore::HTMLMediaElement::updatePlayState): Invalidate cached time before changing m_paused.
14171         * html/HTMLMediaElement.h:
14172
14173         * platform/graphics/MediaPlayer.cpp:
14174         (WebCore::MediaPlayer::maximumDurationToCacheMovieTime): New.
14175         * platform/graphics/MediaPlayer.h:
14176         * platform/graphics/MediaPlayerPrivate.h:
14177         (WebCore::MediaPlayerPrivateInterface::maximumDurationToCacheMovieTime): New.
14178
14179         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
14180         (WebCore::MediaPlayerPrivate::maximumDurationToCacheMovieTime): New, say it is safe to cache
14181         time for five seconds (based on lots of experimenting with LOG_CACHED_TIME_WARNINGS enabled).
14182
14183 2010-11-11  Adam Roben  <aroben@apple.com>
14184
14185         Windows build fix after r71816
14186
14187         r71816 renamed
14188         WebCore/platform/graphics/cairo/FontPlatformDataCairoWin.h to
14189         WebCore/platform/graphics/win/FontPlatformData.h. This made Apple's
14190         Windows port pick up this header in preference to
14191         WebCore/platform/cg/FontPlatformData.h, thus breaking the build. I
14192         moved the file to
14193         WebCore/platform/graphics/win/cairo/FontPlatformData.h so it won't be
14194         picked up by Apple's Windows build.
14195
14196         * WebCore.vcproj/WebCore.vcproj: Updated for file move and let VS
14197         re-sort the files.
14198
14199         * WebCore.vcproj/WebCoreCairo.vsprops: Added
14200         platform/graphics/win/cairo to the include path.
14201
14202         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy files from
14203         platform/graphics/win/cairo to $WebKitOutputDir.
14204
14205         * platform/graphics/cg/FontPlatformData.h: Touched to force this file
14206         to be recopied for Apple's build.
14207
14208         * platform/graphics/win/cairo/FontPlatformData.h: Renamed from
14209         WebCore/platform/graphics/win/FontPlatformData.h.
14210
14211 2010-11-11  Balazs Kelemen  <kbalazs@webkit.org>
14212
14213         Reviewed by Andreas Kling.
14214
14215         [Qt][WK2] Implement BackingStore
14216         https://bugs.webkit.org/show_bug.cgi?id=49377
14217         No change in functionality so no tests.
14218
14219         Add a way to hand off ownership of the QPainter and the underlying
14220         QPaintDevice to the GraphicsContext.
14221         * platform/graphics/GraphicsContext.h:
14222         * platform/graphics/qt/GraphicsContextQt.cpp:
14223         (WebCore::GraphicsContextPlatformPrivate::takeOwnershipOfPlatformContext):
14224         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
14225         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
14226         (WebCore::GraphicsContext::takeOwnershipOfPlatformContext):
14227
14228 2010-11-11  Ryuan Choi  <ryuan.choi@samsung.com>
14229
14230         Reviewed by Adam Barth.
14231
14232         [GTK] Move font related files.
14233         https://bugs.webkit.org/show_bug.cgi?id=48116
14234
14235         Move pango and freetype related files to share non-GTK+ platforms.
14236
14237         No new tests because this is pure refactoring.
14238
14239         * CMakeListsEfl.txt:
14240         * GNUmakefile.am:
14241         * WebCore.vcproj/WebCore.vcproj:
14242         * platform/graphics/cairo/FontCacheFreeType.cpp: Removed.
14243         * platform/graphics/cairo/FontCustomPlatformData.cpp: Removed.
14244         * platform/graphics/cairo/FontPlatformData.h: Removed.
14245         * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Removed.
14246         * platform/graphics/cairo/FontPlatformDataFreeType.h: Removed.
14247         * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Removed.
14248         * platform/graphics/cairo/SimpleFontDataCairo.cpp: Removed.
14249         * platform/graphics/freetype: Added.
14250         * platform/graphics/freetype/FontCacheFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCacheFreeType.cpp.
14251         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCustomPlatformData.cpp.
14252         * platform/graphics/freetype/FontPlatformData.h: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.h.
14253         * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.cpp.
14254         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: Copied from WebCore/platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp.
14255         * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/SimpleFontDataCairo.cpp.
14256         * platform/graphics/gtk/FontCachePango.cpp: Removed.
14257         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Removed.
14258         * platform/graphics/gtk/FontPlatformDataPango.cpp: Removed.
14259         * platform/graphics/gtk/FontPlatformDataPango.h: Removed.
14260         * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Removed.
14261         * platform/graphics/gtk/SimpleFontDataPango.cpp: Removed.
14262         * platform/graphics/pango: Added.
14263         * platform/graphics/pango/FontCachePango.cpp: Copied from WebCore/platform/graphics/gtk/FontCachePango.cpp.
14264         * platform/graphics/pango/FontCustomPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformDataPango.cpp.
14265         * platform/graphics/pango/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.h.
14266         * platform/graphics/pango/FontPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.cpp.
14267         * platform/graphics/pango/GlyphPageTreeNodePango.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodePango.cpp.
14268         * platform/graphics/pango/SimpleFontDataPango.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataPango.cpp.
14269         * platform/graphics/win/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformDataCairoWin.h.
14270         * platform/graphics/win/FontPlatformDataCairoWin.h: Removed.
14271
14272 2010-11-11  Pavel Feldman  <pfeldman@chromium.org>
14273
14274         Reviewed by Yury Semikhatsky.
14275
14276         Web Inspector: size of resources in summary is 0
14277         when there are redirects.
14278         https://bugs.webkit.org/show_bug.cgi?id=49242
14279
14280         * inspector/front-end/NetworkPanel.js:
14281         (WebInspector.NetworkPanel.prototype._updateSummaryBar):
14282
14283 2010-11-11  Ben Murdoch  <benm@google.com>
14284
14285         Reviewed by Darin Fisher.
14286
14287         document.createTouch and document.createTouchList should specify EnabledAtRuntime
14288         https://bugs.webkit.org/show_bug.cgi?id=49324
14289
14290         The createTouch and createTouchList APIs added to Document.idl in
14291         http://trac.webkit.org/changeset/70047 should have EnabledAtRuntime
14292         specified as touch related features are controlled by a
14293         RuntimeEnabledFeature flag in addition to a compile time guard.
14294
14295         No new tests. This should have been part of r70047 and 
14296         that revision provided adequate tests of the new feature.
14297
14298         * bindings/generic/RuntimeEnabledFeatures.h:
14299         (WebCore::RuntimeEnabledFeatures::createTouchEnabled):
14300         (WebCore::RuntimeEnabledFeatures::createTouchListEnabled):
14301         * dom/Document.idl: Add EnabledAtRuntime specifier to the
14302             idl methods.
14303
14304 2010-11-09  Pavel Feldman  <pfeldman@chromium.org>
14305
14306         Reviewed by Yury Semikhatsky.
14307
14308         Web Inspector: Provide context menu item 'Reveal in Elements Panel'
14309         on elements in inspector UI.
14310         https://bugs.webkit.org/show_bug.cgi?id=49161
14311
14312         * English.lproj/localizedStrings.js:
14313         * inspector/front-end/ElementsTreeOutline.js:
14314         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
14315         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
14316         * inspector/front-end/ObjectPropertiesSection.js:
14317         (WebInspector.ObjectPropertyTreeElement.prototype.update):
14318         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
14319         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired.revealElement):
14320
14321 2010-11-11  Pavel Feldman  <pfeldman@chromium.org>
14322
14323         Reviewed by Yury Semikhatsky.
14324
14325         Web Inspector: Audit panel toolbar icon shifts left when clicked.
14326         https://bugs.webkit.org/show_bug.cgi?id=48766
14327
14328         * inspector/front-end/Images/auditsIcon.png:
14329
14330 2010-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
14331
14332         Reviewed by Dirk Schulze.
14333
14334         chrome.dll!WebCore::SVGLengthInternal::valueInSpecifiedUnitsAttrGetter ReadAV@NULL (4cf97a4f3ebe8006a2f5ffcc5bc10aeb)
14335         https://bugs.webkit.org/show_bug.cgi?id=49331
14336
14337         Test: svg/dom/SVGPolygonElement-baseVal-list-removal-crash.html
14338
14339         * svg/properties/SVGListProperty.h:
14340         (WebCore::SVGListProperty::replaceItemValuesAndWrappers): Avoid premature deletion of 'oldItem'.
14341         (WebCore::SVGListProperty::removeItemValuesAndWrappers): Ditto.
14342
14343 2010-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
14344
14345         Reviewed by Andreas Kling.
14346
14347         Make it possible to override the visibleContentRect in the case the
14348         client is handling the scrolling. This is similar to what the iPhone does.
14349
14350         * platform/ScrollView.cpp:
14351         (WebCore::ScrollView::visibleContentRect):
14352         * platform/ScrollView.h:
14353         (WebCore::ScrollView::setActualVisibleContentRect):
14354
14355 2010-11-11  Andreas Kling  <kling@webkit.org>
14356
14357         Reviewed by Kenneth Rohde Christiansen.
14358
14359         FrameView: Don't clip to visibleContentRect in paintEntireContents mode
14360         https://bugs.webkit.org/show_bug.cgi?id=49375
14361
14362         In paintEntireContents mode (used in combination with tiling) we
14363         cannot clip to the actual visibleContentRect as the clipped regions
14364         will not be updated again on scroll. If paintsEntireContents is
14365         enabled, return the actual content rect.
14366
14367         * page/FrameView.cpp:
14368         (WebCore::FrameView::windowClipRect):
14369
14370 2010-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
14371
14372         Reviewed by Dirk Schulze.
14373
14374         Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
14375         https://bugs.webkit.org/show_bug.cgi?id=49311
14376
14377         Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept.
14378         Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now.
14379
14380         Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg
14381                svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg
14382                svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg
14383                svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg
14384                svg/W3C-SVG-1.1-SE/types-dom-01-b.svg
14385                svg/W3C-SVG-1.1-SE/types-dom-02-f.svg
14386                svg/W3C-SVG-1.1-SE/types-dom-03-b.svg
14387                svg/W3C-SVG-1.1-SE/types-dom-04-b.svg
14388                svg/W3C-SVG-1.1-SE/types-dom-05-b.svg
14389                svg/dom/SVGMatrix.html
14390                svg/dom/SVGTransform.html
14391                svg/dom/SVGTransformList.html
14392
14393         * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp.
14394         * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp.
14395         * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. 
14396         * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build.
14397         * WebCore.gypi: Ditto.
14398         * WebCore.pro: Ditto.
14399         * WebCore.vcproj/WebCore.vcproj: Ditto.
14400         * WebCore.xcodeproj/project.pbxproj: Ditto.
14401         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp
14402         * bindings/js/JSSVGMatrixCustom.cpp: Removed.
14403         * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept.
14404         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
14405         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
14406         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
14407         * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed.
14408         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling.
14409         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
14410         * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes.
14411         (WebCore::transformListFor):
14412         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
14413         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
14414         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
14415         * svg/SVGAnimatedTransformList.h: Added.
14416         * svg/SVGGradientElement.cpp: Ditto.
14417         (WebCore::SVGGradientElement::SVGGradientElement):
14418         (WebCore::SVGGradientElement::parseMappedAttribute):
14419         * svg/SVGGradientElement.h: Ditto.
14420         * svg/SVGLinearGradientElement.cpp: Ditto.
14421         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
14422         * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements.
14423         (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix.
14424         (WebCore::SVGMatrix::scale): Ditto.
14425         (WebCore::SVGMatrix::scaleNonUniform): Ditto.
14426         (WebCore::SVGMatrix::rotate): Ditto.
14427         (WebCore::SVGMatrix::flipX): Ditto.
14428         (WebCore::SVGMatrix::flipY): Ditto.
14429         (WebCore::SVGMatrix::skewX): Ditto.
14430         (WebCore::SVGMatrix::skewY): Ditto.
14431         (WebCore::SVGMatrix::multiply): Ditto.
14432         (WebCore::SVGMatrix::inverse): Ditto.
14433         (WebCore::SVGMatrix::rotateFromVector): Dittto.
14434         * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
14435         * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes.
14436         (WebCore::SVGPatternElement::SVGPatternElement):
14437         (WebCore::SVGPatternElement::parseMappedAttribute):
14438         (WebCore::SVGPatternElement::collectPatternAttributes):
14439         * svg/SVGPatternElement.h: Ditto.
14440         * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme.
14441         * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes.
14442         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
14443         * svg/SVGSVGElement.cpp: Ditto.
14444         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
14445         (WebCore::SVGSVGElement::viewBoxToViewTransform):
14446         * svg/SVGSVGElement.h: Ditto.
14447         * svg/SVGStyledTransformableElement.cpp: Ditto.
14448         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
14449         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
14450         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
14451         * svg/SVGStyledTransformableElement.h: Ditto.
14452         * svg/SVGTextElement.cpp: Ditto.
14453         (WebCore::SVGTextElement::SVGTextElement):
14454         (WebCore::SVGTextElement::parseMappedAttribute):
14455         (WebCore::SVGTextElement::animatedLocalTransform):
14456         * svg/SVGTextElement.h: Ditto.
14457         * svg/SVGTransform.cpp: Modernize code, inlined some getters.
14458         (WebCore::SVGTransform::SVGTransform):
14459         (WebCore::SVGTransform::setMatrix):
14460         * svg/SVGTransform.h: Reindent header.
14461         (WebCore::SVGTransform::type):
14462         (WebCore::SVGTransform::svgMatrix):
14463         (WebCore::SVGTransform::matrix):
14464         (WebCore::SVGTransform::angle):
14465         (WebCore::SVGTransform::rotationCenter):
14466         (WebCore::SVGTransform::isValid):
14467         (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly.
14468         (WebCore::operator!=):
14469         * svg/SVGTransform.idl:
14470         * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>.
14471         (WebCore::SVGTransformList::createSVGTransformFromMatrix):
14472         (WebCore::SVGTransformList::consolidate):
14473         (WebCore::SVGTransformList::concatenate):
14474         (WebCore::SVGTransformList::valueAsString):
14475         * svg/SVGTransformList.h:
14476         (WebCore::SVGTransformList::SVGTransformList):
14477         * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
14478         * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes.
14479         (WebCore::SVGTransformable::parseTransformAttribute):
14480         * svg/SVGTransformable.h: Ditto.
14481         * svg/SVGViewSpec.cpp: Ditto.
14482         (WebCore::SVGViewSpec::SVGViewSpec):
14483         (WebCore::SVGViewSpec::setTransform):
14484         (WebCore::SVGViewSpec::parseViewSpec):
14485         * svg/SVGViewSpec.h: Ditto.
14486         (WebCore::SVGViewSpec::transform):
14487         * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected.
14488         * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros.
14489         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects.
14490         (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
14491         (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
14492         (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
14493         (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
14494         * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected.
14495         * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method.
14496         * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList.
14497         * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types
14498                                                                that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff).
14499         (WebCore::SVGStaticPropertyWithParentTearOff::create):
14500         (WebCore::SVGStaticPropertyWithParentTearOff::commitChange):
14501         (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
14502         * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix.
14503         (WebCore::SVGTransformListPropertyTearOff::create):
14504         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
14505         (WebCore::SVGTransformListPropertyTearOff::consolidate):
14506         (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
14507
14508 2010-11-11  Alejandro G. Castro  <alex@igalia.com>
14509
14510         Reviewed by Nikolas Zimmermann.
14511
14512         Fixed WebKitGTK gtk3 compilation.
14513
14514         * platform/gtk/WidgetRenderingContextGtk3.cpp:
14515         (WebCore::WidgetRenderingContext::WidgetRenderingContext):
14516
14517 2010-11-11  Dan Bernstein  <mitz@apple.com>
14518
14519         Reverted r71975:71976. That change was wrong, and the tests caught it.
14520
14521         * platform/graphics/mac/ComplexTextController.h:
14522         (WebCore::ComplexTextController::ComplexTextRun::create):
14523         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
14524         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14525         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
14526
14527 2010-11-11  Matthew Delaney  <mdelaney@apple.com>
14528
14529         Reviewed by Dan Bernstein.
14530
14531         Fix LayoutTests/canvas/philip/tests/2d.drawImage.null.html
14532         https://bugs.webkit.org/show_bug.cgi?id=48307
14533
14534         There are no new tests because this is a fix for a pre-existing failing test.)
14535
14536         * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Corrected expection throwing cases to match up with spec.
14537
14538 2010-11-10  Ryosuke Niwa  <rniwa@webkit.org>
14539
14540         Reviewed by Adam Barth.
14541
14542         [HTML5] 10.2.8.4 Scripts that modify the page as it is being parsed
14543         https://bugs.webkit.org/show_bug.cgi?id=49364
14544
14545         Fixed HTMLScriptRunner's executeScript to use the ScriptController of the frame to which script element belongs
14546         as supposed to that of the frame associated with the HTMLScriptRunner.
14547
14548         See also: http://www.whatwg.org/specs/web-apps/current-work/#scripts-that-modify-the-page-as-it-is-being-parsed
14549
14550         Test: fast/parser/script-modify-page-outer.html
14551
14552         * html/parser/HTMLScriptRunner.cpp:
14553         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Calls executeScript.
14554         (WebCore::HTMLScriptRunner::executeScript): Uses the correct ScriptController instance.
14555         (WebCore::HTMLScriptRunner::runScript): Call executeScript.
14556         * html/parser/HTMLScriptRunner.h:
14557
14558 2010-11-10  Dan Bernstein  <mitz@apple.com>
14559
14560         Style fix I said I’d make then forgot to make.
14561
14562         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
14563         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14564
14565 2010-11-10  Ned Holbrook  <nholbrook@apple.com>
14566
14567         Reviewed by Dan Bernstein.
14568
14569         Allow for the possibility of CoreText generating multiple runs for a single text run.
14570         https://bugs.webkit.org/show_bug.cgi?id=49353
14571
14572         * platform/graphics/mac/ComplexTextController.h:
14573         (WebCore::ComplexTextController::ComplexTextRun::create):
14574         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
14575         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14576         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
14577
14578 2010-10-15  Martin Robinson  <mrobinson@igalia.com>
14579
14580         Reviewed by Xan Lopez.
14581
14582         [GTK] Widgets do not support CSS transformations
14583         https://bugs.webkit.org/show_bug.cgi?id=40139
14584
14585         Instead of rendering directly onto the target drawable when rendering
14586         form controls on GTK+ 2.0, render onto an intermediate surface and use
14587         cairo to blit the result back to the target surface. This has two
14588         benefits. The first is that it always honors the current Cairo
14589         transformation. The second is that since the intermediate drawable is
14590         always a 32-bit GdkPixmap, we do not have to have a set of widgets
14591         per-colormap any longer.
14592
14593         This change also begins the abstraction of widget rendering so that GTK+
14594         2 and GTK+ 3 can use the same code path. The WidgetRenderingContext will
14595         eventually hide all version differences from RenderThemeGtk, which can
14596         just focus on interpreting the GtkStyle properties. 
14597
14598         * GNUmakefile.am: Add WidgetRenderinContext source files to the sources list.
14599         * platform/graphics/cairo/PlatformRefPtrCairo.cpp:
14600         (WTF::refPlatformPtr): Add a specialization for Cairo patterns.
14601         (WTF::derefPlatformPtr): Ditto.
14602         * platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
14603         * platform/gtk/RenderThemeGtk.cpp:
14604         (WebCore::RenderThemeGtk::RenderThemeGtk): No longer keep a set of
14605         widgets per-colormap for GTK+, instead just determine if we can use RGBA
14606         colormaps and go from there.
14607         (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
14608         (WebCore::RenderThemeGtk::getIndicatorMetrics): Put the logic for
14609         getting toggle button indicator metrics into this helper.
14610         (WebCore::RenderThemeGtk::paintRenderObject): Now uses
14611         WidgetRenderingContext to do widget rendering.
14612         (WebCore::setToggleSize): Use the new getIndicatorMetrics helper.
14613         * platform/gtk/RenderThemeGtk.h: Added a member to track whether or not
14614           the widgets are using a RGBA colormap. Also remove a defunct Page*
14615           member.
14616         * platform/gtk/ScrollbarThemeGtk.cpp: Switch all widget drawing
14617         operations to use WidgetRenderingContext.
14618         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
14619         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
14620         (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
14621         (WebCore::ScrollbarThemeGtk::paint): Ditto.
14622         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
14623         * platform/gtk/WidgetRenderingContext.h: Added.
14624         * platform/gtk/WidgetRenderingContextGtk2.cpp: Added.
14625         (WebCore::purgeScratchBuffer): Added, this is similar to the scratch
14626         buffer implementation from ContextShadow.
14627         (WebCore::PurgeScratchBufferTimer::fired): Ditto.
14628         (WebCore::scheduleScratchBufferPurge): Ditto.
14629         (WebCore::getExtraSpaceForWidget):
14630         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
14631         (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Added.
14632         (WebCore::WidgetRenderingContext::paintMozillaWidget): Added.
14633         * platform/gtk/WidgetRenderingContextGtk3.cpp: Added.
14634         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
14635         (WebCore::~WidgetRenderingContext::WidgetRenderingContext): Added.
14636         (WebCore::WidgetRenderingContext::paintMozillaWidget): Added.
14637
14638 2010-11-10  Beth Dakin  <bdakin@apple.com>
14639
14640         Reviewed by Simon Fraser.
14641
14642         Fix for https://bugs.webkit.org/show_bug.cgi?id=49356 
14643         -[WebView _scaleWebView:] should take and origin and scroll the 
14644         document
14645         -and corresponding-
14646         <rdar://problem/8643921>
14647
14648         Apply the scale to the origin, and set a new scroll position.
14649         * page/Frame.cpp:
14650         (WebCore::Frame::scalePage):
14651         * page/Frame.h:
14652         * WebCore.exp.in:
14653
14654 2010-11-10  Dan Bernstein  <mitz@apple.com>
14655
14656         Reviewed by Darin Adler.
14657
14658         REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
14659         https://bugs.webkit.org/show_bug.cgi?id=49295
14660
14661         * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Reverted to r71565. Eliding bidi
14662         control characters from ATSUI is no longer necessary since ComplexTextController removes
14663         any glyphs corresponding to them.
14664         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation):
14665         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14666
14667 2010-11-10  Pascal Massimino  <pascal.massimino@gmail.com>
14668
14669         Reviewed by Adam Barth.
14670
14671         Simplify the alpha-detection code in png's decoding loop.
14672         https://bugs.webkit.org/show_bug.cgi?id=49333
14673
14674         Added a special test for this case: png_per_row_alpha_decoding.html
14675
14676         * platform/image-decoders/png/PNGImageDecoder.cpp:
14677         (WebCore::PNGImageDecoder::rowAvailable): modified loop.
14678
14679 2010-11-10  Dan Bernstein  <mitz@apple.com>
14680
14681         Reviewed by Simon Fraser.
14682
14683         <rdar://problem/8647848> REGRESSION (r68551): Spaces shown at soft hyphens with complex justification
14684         https://bugs.webkit.org/show_bug.cgi?id=49352
14685
14686         Test: fast/text/justification-padding-mid-word.html
14687
14688         * platform/graphics/mac/ComplexTextController.cpp:
14689         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Changed to add justification padding
14690         and word spacing only at characters that are treated as space, instead of all characters that
14691         use the space glyph (which includes characters treated as zero-width space as well).
14692
14693 2010-11-10  Matthew Delaney  <mdelaney@apple.com>
14694
14695         Reviewed by Darin Adler.
14696
14697         Crash in documentWillBecomeInactive() when closing window with Reader showing content with SVG
14698         https://bugs.webkit.org/show_bug.cgi?id=49084
14699
14700         Manual test added.
14701
14702         * manual-tests/svg-deep-clone-to-new-doc.html: Added manual test for reproducing bug since an automated version proved to be a bit tough to craft up.
14703         * svg/SVGSVGElement.cpp: Added in necessary document ownership transfer calls.
14704         * svg/SVGSVGElement.h:
14705
14706 2010-11-10  Pavel Feldman  <pfeldman@chromium.org>
14707
14708         Reviewed by Yury Semikhatsky.
14709
14710         Web Inspector: Red error bubbles don't fit content.
14711         https://bugs.webkit.org/show_bug.cgi?id=49305
14712
14713         * inspector/front-end/textViewer.css:
14714         (.webkit-html-message-bubble):
14715
14716 2010-11-10  Alexey Proskuryakov  <ap@apple.com>
14717
14718         Release build fix.
14719
14720         * css/StyleSheet.cpp: isAcceptableStyleSheetParent() is a debug-only function.
14721
14722 2010-11-08  Alexey Proskuryakov  <ap@apple.com>
14723
14724         Reviewed by Darin Adler.
14725
14726         https://bugs.webkit.org/show_bug.cgi?id=45205
14727         <rdar://problem/8391455> Detached elements shouldn't have style sheets.
14728
14729         Tests: fast/dom/StyleSheet/detached-style-2.html
14730                fast/dom/StyleSheet/detached-style-pi.xhtml
14731                fast/dom/StyleSheet/detached-style.html
14732                fast/dom/StyleSheet/detached-style-pi-2.xhtml
14733
14734         * bindings/js/JSStyleSheetCustom.cpp: (WebCore::JSStyleSheet::markChildren):
14735         There is no longer a need to mark owner nodes - StyleSheet->ownerNode() is only non-null when
14736         the node is in document.
14737
14738         * css/StyleSheet.cpp: (WebCore::StyleSheet::StyleSheet): Added an assertion checking that
14739         all nodes that can be StyleSheet parents have been verified.
14740
14741         * css/StyleSheet.h: (WebCore::StyleSheet::clearOwnerNode): Added.
14742
14743         * dom/ProcessingInstruction.cpp:
14744         (WebCore::ProcessingInstruction::~ProcessingInstruction): Clear stylesheet's owner node. This
14745         shouldn't have observable effect, since a processing instruction that is in document can only
14746         be destroyed with document, and a reachable stylsheet keeps document alive.
14747         (WebCore::ProcessingInstruction::removedFromDocument): Clear the relationship between node and style sheet when removed.
14748         (WebCore::ProcessingInstruction::setCSSStyleSheet): If the element was removed during load, we still
14749         don't want to create a style sheet.
14750
14751         * dom/StyleElement.cpp:
14752         (WebCore::StyleElement::sheet): There is no reason for lazy creation. It was a wrong fix for
14753         bug 14462, whose regression test still passes.
14754         (WebCore::StyleElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
14755         (WebCore::StyleElement::finishParsingChildren): Don't call sheet(), it doens't have side effects any more.
14756         (WebCore::StyleElement::createSheet): Assert that the element is in document. We never want
14757         to create a style sheet for an element that isn't.
14758
14759         * dom/StyleElement.h: (WebCore::StyleElement::sheet): Made implementation inline, now that
14760         it's a simple getter.
14761
14762         * html/HTMLLinkElement.cpp:
14763         (WebCore::HTMLLinkElement::~HTMLLinkElement): Clear stylesheet's owner node.
14764         (WebCore::HTMLLinkElement::process): Assert that there is no style sheet lingering for any reason.
14765         (WebCore::HTMLLinkElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
14766         (WebCore::HTMLLinkElement::setCSSStyleSheet): If the element was removed during load, we still
14767         don't want to create a style sheet.
14768
14769         * html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::~HTMLStyleElement):
14770         * html/HTMLStyleElement.h:
14771         * svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::~SVGStyleElement):
14772         * svg/SVGStyleElement.h:
14773         Clear stylesheet's owner node. As above, this shouldn't have observable effect.
14774
14775         * xml/XSLTProcessor.h:
14776         * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::~XSLTProcessor):
14777         * dom/Document.cpp: (WebCore::Document::~Document):
14778         * css/CSSParser.cpp: (WebCore::CSSParser::parseSelector):
14779         Assert that stylesheet won't outlive its owner node. We don't really use refcounting here.
14780
14781 2010-11-10  Dan Bernstein  <mitz@apple.com>
14782
14783         Reviewed by Dave Hyatt.
14784
14785         REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
14786         https://bugs.webkit.org/show_bug.cgi?id=49295
14787
14788         * platform/graphics/mac/ComplexTextController.h: Added m_indexOffset.
14789         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
14790         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Use m_indexOffset
14791         instead of computing the offset based on m_directionalOverride.
14792         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Set m_indexOffset to
14793         the offset between indices in m_characters and indices in the text passed to ATSUI.
14794
14795 2010-11-10  Pavel Feldman  <pfeldman@chromium.org>
14796
14797         Reviewed by Yury Semikhatsky.
14798
14799         Web Inspector: Gear menu floats to right edge and expands
14800         to bottom of "Styles" section.
14801         https://bugs.webkit.org/show_bug.cgi?id=49303
14802
14803         This fixes computed style's option wrapping to the next line.
14804
14805         * inspector/front-end/inspector.css:
14806         (.sidebar-pane-subtitle):
14807
14808 2010-11-10  Stephen White  <senorblanco@chromium.org>
14809
14810         Reviewed by James Robinson.
14811
14812         Fix canvas.putImageData(canvas.getImageData(...)) to be lossless.
14813         https://bugs.webkit.org/show_bug.cgi?id=49330
14814
14815         These cycles should be lossless for valid colours.  A similar fix went
14816         into the CG port at r32878.
14817
14818         Covered by canvas/philip/tests/2d.imageData.put.unchanged.html.
14819
14820         * platform/graphics/skia/ImageBufferSkia.cpp:
14821         (WebCore::mulDiv255Ceil):
14822         A helper function to do (a + b + 254) / 255 without a divide.
14823         (WebCore::putImageData):
14824         Use the above helper to round up when premultiplying alpha.
14825
14826 2010-11-10  Csaba Osztrogonác  <ossy@webkit.org>
14827
14828         Reviewed by David Hyatt.
14829
14830         HTML5 Ruby support should be mandatory feature
14831         https://bugs.webkit.org/show_bug.cgi?id=49272
14832
14833         Remove Ruby as optional feature.
14834
14835         * Configurations/FeatureDefines.xcconfig:
14836         * DerivedSources.make:
14837         * GNUmakefile.am:
14838         * WebCorePrefix.h: Touch WebCorePrefix.h to avoid incremental build failure on Windows.
14839         * config.h: Touch config.h to avoid incremental build failure on Windows.
14840         * features.pri:
14841         * html/HTMLTagNames.in:
14842         * rendering/RenderBlock.cpp: Remove ENABLE_RUBY guard.
14843         (WebCore::canMergeContiguousAnonymousBlocks):
14844         * rendering/RenderObject.cpp: Remove ENABLE_RUBY guard.
14845         (WebCore::RenderObject::createObject):
14846         * rendering/RenderRuby.cpp: Remove ENABLE_RUBY guard.
14847         * rendering/RenderRuby.h: Remove ENABLE_RUBY guard.
14848         * rendering/RenderRubyBase.cpp: Remove ENABLE_RUBY guard.
14849         * rendering/RenderRubyBase.h: Remove ENABLE_RUBY guard.
14850         * rendering/RenderRubyRun.cpp: Remove ENABLE_RUBY guard.
14851         * rendering/RenderRubyRun.h: Remove ENABLE_RUBY guard.
14852         * rendering/RenderRubyText.cpp: Remove ENABLE_RUBY guard.
14853         * rendering/RenderRubyText.h: Remove ENABLE_RUBY guard.
14854
14855 2010-11-10  Martin Robinson  <mrobinson@igalia.com>
14856
14857         Reviewed by Xan Lopez.
14858
14859         [GTK] Complex text does not have full CSS text-shadow support
14860         https://bugs.webkit.org/show_bug.cgi?id=45597
14861
14862         Add ContextShadow support to FontGtk, which enables non-solid shadows
14863         for complex text rendering.
14864
14865         Test: platform/gtk/fonts/complex-text-shadows.html
14866
14867         * platform/graphics/gtk/FontGtk.cpp:
14868         (WebCore::destroyPangoRegion): Added this helper, which helps reduce
14869         the number of #ifdefs when dealing with GTK+ region type differences.
14870         (WebCore::getPangoRegionExtents): Ditto.
14871         (WebCore::drawGlyphsShadow): Added this helper which either renders
14872         a solid shadow manually or uses ContextShadow to render a blurry shadow.
14873         (WebCore::Font::drawComplexText): Use the new helpers.
14874
14875 2010-11-10  Alejandro G. Castro  <alex@igalia.com>
14876
14877         Reviewed by Martin Robinson.
14878
14879         [gtk] The revision r71528 causes crashes in GObjectEventListener
14880         https://bugs.webkit.org/show_bug.cgi?id=49314
14881
14882         Moved the addition of the event listener to the node after calling
14883         the constructor of the event listener. This is required beacuse
14884         the addEventListener API receives the EventListener inside a
14885         PassRefPtr.
14886
14887         * bindings/gobject/GObjectEventListener.cpp:
14888         (WebCore::GObjectEventListener::GObjectEventListener):
14889         * bindings/gobject/GObjectEventListener.h:
14890         (WebCore::GObjectEventListener::addEventListener):
14891
14892 2010-11-02  Alexander Pavlov  <apavlov@chromium.org>
14893
14894         Reviewed by Pavel Feldman.
14895
14896         Web Inspector: Enable InspectorCSSAgent (not used by frontend for CSS editing yet)
14897         https://bugs.webkit.org/show_bug.cgi?id=48834
14898
14899         Drive-by fix: use a single API method to retrieve all node-related styles instead of a bunch of separate calls.
14900
14901         Test: inspector/styles-new-API.html
14902
14903         * inspector/CodeGeneratorInspector.pm:
14904         * inspector/Inspector.idl:
14905         * inspector/InspectorCSSAgent.cpp:
14906         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
14907         (WebCore::InspectorCSSAgent::setDOMAgent):
14908         (WebCore::InspectorCSSAgent::reset):
14909         (WebCore::InspectorCSSAgent::getStylesForNode2):
14910         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
14911         (WebCore::InspectorCSSAgent::addRule2):
14912         (WebCore::InspectorCSSAgent::querySelectorAll):
14913         * inspector/InspectorCSSAgent.h:
14914         * inspector/InspectorController.cpp:
14915         (WebCore::InspectorController::InspectorController):
14916         (WebCore::InspectorController::connectFrontend):
14917         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
14918         (WebCore::InspectorController::didCommitLoad):
14919         * inspector/InspectorController.h:
14920         (WebCore::InspectorController::cssAgent):
14921         * inspector/InspectorDOMAgent.cpp:
14922         * inspector/InspectorDOMAgent.h:
14923         * inspector/InspectorStyleSheet.cpp:
14924         (WebCore::InspectorStyle::setPropertyText):
14925         (WebCore::InspectorStyle::styleText):
14926         (WebCore::InspectorStyle::disableProperty):
14927         (WebCore::InspectorStyle::populateAllProperties):
14928         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
14929         (WebCore::InspectorStyleSheet::buildObjectForRule):
14930         (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
14931         (WebCore::InspectorStyleSheet::ensureSourceData):
14932         (WebCore::InspectorStyleSheetForInlineStyle::text):
14933         * inspector/InspectorStyleSheet.h:
14934         (WebCore::InspectorStyleProperty::setRawTextFromStyleDeclaration):
14935         (WebCore::InspectorStyleProperty::hasRawText):
14936
14937 2010-11-10  Alexander Pavlov  <apavlov@chromium.org>
14938
14939         Reviewed by Yury Semikhatsky.
14940
14941         Web Inspector: Move CSSStyleDeclaration from DOMAgent.js into CSSStyleModel.js
14942         https://bugs.webkit.org/show_bug.cgi?id=49312
14943
14944         No new tests, as it's just code motion.
14945
14946         * inspector/front-end/CSSStyleModel.js:
14947         (WebInspector.CSSStyleDeclaration):
14948         (WebInspector.CSSStyleDeclaration.parsePayload):
14949         (WebInspector.CSSStyleDeclaration.prototype.get allProperties):
14950         (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
14951         (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
14952         (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
14953         (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
14954         (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
14955         (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
14956         (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
14957         (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
14958         (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
14959         (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
14960         (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
14961         (WebInspector.CSSRule):
14962         (WebInspector.CSSRule.parsePayload):
14963         (WebInspector.CSSRule.prototype.get isUserAgent):
14964         (WebInspector.CSSRule.prototype.get isUser):
14965         (WebInspector.CSSRule.prototype.get isViaInspector):
14966         (WebInspector.CSSRule.prototype.get isRegular):
14967         (WebInspector.CSSProperty):
14968         (WebInspector.CSSProperty.parsePayload):
14969         (WebInspector.CSSProperty.prototype.get propertyText):
14970         (WebInspector.CSSProperty.prototype.get isLive):
14971         (WebInspector.CSSProperty.prototype.get active):
14972         (WebInspector.CSSProperty.prototype.get styleBased):
14973         (WebInspector.CSSProperty.prototype.get inactive):
14974         (WebInspector.CSSProperty.prototype.get disabled):
14975         (WebInspector.CSSProperty.prototype.setText):
14976         (WebInspector.CSSProperty.prototype.setValue):
14977         (WebInspector.CSSProperty.prototype.setDisabled.callback):
14978         (WebInspector.CSSProperty.prototype.setDisabled):
14979         * inspector/front-end/DOMAgent.js:
14980
14981 2010-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
14982
14983         Unreviewed, rolling out r71733.
14984         http://trac.webkit.org/changeset/71733
14985         https://bugs.webkit.org/show_bug.cgi?id=49319
14986
14987         made qt bot crashy and sad (Requested by kling on #webkit).
14988
14989         * page/FrameView.cpp:
14990         (WebCore::FrameView::windowClipRect):
14991
14992 2010-11-10  Peter Rybin  <peter.rybin@gmail.com>
14993
14994         Reviewed by Adam Barth.
14995
14996         HTML parser should provide script column position within HTML document to JavaScript engine
14997         https://bugs.webkit.org/show_bug.cgi?id=45271
14998
14999         Replaces line number with TextPosition struct so that script engine
15000         gets script starting line/column.
15001
15002         * ForwardingHeaders/wtf/text/TextPosition.h: Added.
15003         * bindings/js/ScriptSourceCode.h:
15004         (WebCore::ScriptSourceCode::ScriptSourceCode):
15005         * bindings/v8/ScheduledAction.cpp:
15006         (WebCore::ScheduledAction::ScheduledAction):
15007         * bindings/v8/ScriptController.cpp:
15008         (WebCore::ScriptController::eventHandlerPosition):
15009         * bindings/v8/ScriptController.h:
15010         * bindings/v8/ScriptEventListener.cpp:
15011         (WebCore::createAttributeEventListener):
15012         * bindings/v8/ScriptSourceCode.h:
15013         (WebCore::ScriptSourceCode::ScriptSourceCode):
15014         (WebCore::ScriptSourceCode::startLine):
15015         (WebCore::ScriptSourceCode::startPosition):
15016         * bindings/v8/V8LazyEventListener.cpp:
15017         (WebCore::V8LazyEventListener::V8LazyEventListener):
15018         (WebCore::V8LazyEventListener::prepareListenerObject):
15019         * bindings/v8/V8LazyEventListener.h:
15020         (WebCore::V8LazyEventListener::create):
15021         * bindings/v8/V8Proxy.cpp:
15022         (WebCore::V8Proxy::compileScript):
15023         (WebCore::V8Proxy::evaluate):
15024         (WebCore::V8Proxy::runScript):
15025         * bindings/v8/V8Proxy.h:
15026         * bindings/v8/WorkerContextExecutionProxy.cpp:
15027         (WebCore::WorkerContextExecutionProxy::evaluate):
15028         (WebCore::WorkerContextExecutionProxy::runScript):
15029         * bindings/v8/WorkerContextExecutionProxy.h:
15030         * bindings/v8/WorkerScriptController.cpp:
15031         (WebCore::WorkerScriptController::evaluate):
15032         * dom/PendingScript.cpp:
15033         (WebCore::PendingScript::releaseElementAndClear):
15034         * dom/PendingScript.h:
15035         (WebCore::PendingScript::PendingScript):
15036         (WebCore::PendingScript::operator=):
15037         (WebCore::PendingScript::startingPosition):
15038         * dom/ScriptableDocumentParser.h:
15039         * dom/XMLDocumentParser.h:
15040         * dom/XMLDocumentParserLibxml2.cpp:
15041         (WebCore::XMLDocumentParser::XMLDocumentParser):
15042         (WebCore::XMLDocumentParser::startElementNs):
15043         (WebCore::XMLDocumentParser::endElementNs):
15044         (WebCore::XMLDocumentParser::lineNumber):
15045         (WebCore::XMLDocumentParser::columnNumber):
15046         (WebCore::XMLDocumentParser::textPosition):
15047         (WebCore::XMLDocumentParser::textPositionOneBased):
15048         * dom/XMLDocumentParserQt.cpp:
15049         (WebCore::XMLDocumentParser::XMLDocumentParser):
15050         (WebCore::XMLDocumentParser::textPosition):
15051         (WebCore::XMLDocumentParser::parseStartElement):
15052         (WebCore::XMLDocumentParser::parseEndElement):
15053         * html/parser/HTMLDocumentParser.cpp:
15054         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
15055         (WebCore::HTMLDocumentParser::textPosition):
15056         * html/parser/HTMLDocumentParser.h:
15057         * html/parser/HTMLScriptRunner.cpp:
15058         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
15059         (WebCore::HTMLScriptRunner::execute):
15060         (WebCore::HTMLScriptRunner::runScript):
15061         * html/parser/HTMLScriptRunner.h:
15062         * html/parser/HTMLTreeBuilder.cpp:
15063         (WebCore::uninitializedPositionValue1):
15064         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
15065         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
15066         (WebCore::HTMLTreeBuilder::processEndTag):
15067         (WebCore::HTMLTreeBuilder::processScriptStartTag):
15068         * html/parser/HTMLTreeBuilder.h:
15069
15070 2010-11-10  Ilya Sherman  <isherman@chromium.org>
15071
15072         Reviewed by Shinichiro Hamaji.
15073
15074         Fix autofill popup height computation -- take icon heights into account.
15075         https://bugs.webkit.org/show_bug.cgi?id=49306
15076
15077         * platform/chromium/PopupMenuChromium.cpp:
15078         (WebCore::PopupListBox::layout):
15079
15080 2010-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
15081
15082         Reviewed by Andreas Kling.
15083
15084         In paintEntireContents mode (used in combination with tiling) we
15085         cannot clip to the actual visibleContentRect as the clipped regions
15086         will not be updated again on scroll. If paintsEntireContents is
15087         enabled, return the actual content rect.
15088
15089         * page/FrameView.cpp:
15090         (WebCore::FrameView::windowClipRect):
15091
15092 2010-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
15093
15094         Adding a manual test which I forgot to add in r71618.
15095
15096         [Chromium] display:none has no effect on <option> element
15097         https://bugs.webkit.org/show_bug.cgi?id=49169
15098
15099         * manual-tests/display-none-option.html: Added.
15100
15101 2010-11-10  Shane Stephens  <shanestephens@google.com>
15102
15103         Reviewed by Dirk Schulze.
15104
15105         SVGTextElement supplemental transforms pre-multiplied but should be 
15106         post-multiplied in animatedLocalTransform
15107         https://bugs.webkit.org/show_bug.cgi?id=48215
15108
15109         Test: svg/animations/animate-text-nested-transforms.svg
15110
15111         * svg/SVGTextElement.cpp:
15112         (WebCore::SVGTextElement::animatedLocalTransform):
15113
15114         Switched order of multiplication.  Note that due to a bug in 
15115         AffineTransform's operator* implementation the order of arguments is
15116         reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
15117
15118 2010-11-09  Abhishek Arya  <inferno@chromium.org>
15119
15120         Reviewed by Dan Bernstein.
15121
15122         Fieldsets avoid floats. Legend elements are expected to have their parent
15123         as fieldset. When this not the case, floats get added incorrectly added to the
15124         legend blocks. This patch tries to prevent those floats addition.
15125         https://bugs.webkit.org/show_bug.cgi?id=49214
15126
15127         Test: fast/blockflow/overhanging-float-legend-crash.html
15128
15129         * rendering/RenderBox.cpp:
15130         (WebCore::RenderBox::avoidsFloats):
15131         * rendering/RenderObject.cpp:
15132         (WebCore::RenderObject::isLegend):
15133         * rendering/RenderObject.h:
15134
15135 2010-11-10  Cris Neckar  <cdn@chromium.org>
15136
15137         Reviewed by Nikolas Zimmermann.
15138
15139         Added check to ensure that svg viewport containers are not treated in the same way as generic svg containers.
15140         https://bugs.webkit.org/show_bug.cgi?id=49188
15141
15142         Test: svg/dom/viewport-container-crash.svg
15143
15144         * rendering/SVGImageBufferTools.cpp:
15145         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
15146
15147 2010-11-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15148
15149         Reviewed by Eric Seidel.
15150
15151         [WML] Fix build breaks when WML is enabled.
15152         https://bugs.webkit.org/show_bug.cgi?id=49168
15153
15154         The backForward() of Page class returns BackForwarddController class type. 
15155         So, WML classes need to include the BackForwardController.h file. And, select() 
15156         of RenderTextControl.h was removed. Thus, the select() should be replaced by 
15157         setSelectionRange().
15158
15159         * wml/WMLDoElement.cpp: Includes BackForwardController.h.
15160         * wml/WMLDocument.cpp: ditto.
15161         * wml/WMLInputElement.cpp: 
15162         (WebCore::WMLInputElement::select): Replaced by setSelectionRange().
15163         * wml/WMLPageState.cpp: Includes BackForwardController.h.
15164         * wml/WMLPrevElement.cpp: ditto.
15165
15166 2010-11-09  Chris Rogers  <crogers@google.com>
15167
15168         Reviewed by Kenneth Russell.
15169
15170         Add JavaScriptAudioNode files
15171         https://bugs.webkit.org/show_bug.cgi?id=48875
15172
15173         No new tests since audio API is not yet implemented.
15174
15175         * webaudio/JavaScriptAudioNode.cpp: Added.
15176         (WebCore::JavaScriptAudioNode::create):
15177         (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
15178         (WebCore::JavaScriptAudioNode::~JavaScriptAudioNode):
15179         (WebCore::JavaScriptAudioNode::initialize):
15180         (WebCore::JavaScriptAudioNode::uninitialize):
15181         (WebCore::JavaScriptAudioNode::toJavaScriptAudioNode):
15182         (WebCore::JavaScriptAudioNode::process):
15183         (WebCore::JavaScriptAudioNode::fireProcessEventDispatch):
15184         (WebCore::JavaScriptAudioNode::fireProcessEvent):
15185         (WebCore::JavaScriptAudioNode::reset):
15186         (WebCore::JavaScriptAudioNode::scriptExecutionContext):
15187         * webaudio/JavaScriptAudioNode.h: Added.
15188         (WebCore::JavaScriptAudioNode::eventTargetData):
15189         (WebCore::JavaScriptAudioNode::ensureEventTargetData):
15190         (WebCore::JavaScriptAudioNode::bufferSize):
15191         (WebCore::JavaScriptAudioNode::doubleBufferIndex):
15192         (WebCore::JavaScriptAudioNode::swapBuffers):
15193         (WebCore::JavaScriptAudioNode::refEventTarget):
15194         (WebCore::JavaScriptAudioNode::derefEventTarget):
15195         * webaudio/JavaScriptAudioNode.idl: Added.
15196
15197 2010-11-09  Nico Weber  <thakis@chromium.org>
15198
15199         Reviewed by Kenneth Russell.
15200
15201         [Chromium] Text jitter during 2D CSS transform
15202         https://bugs.webkit.org/show_bug.cgi?id=49224
15203
15204         Text subpixel rendering only works in AlphaPremultipliedFirst |
15205         kCGBitmapByteOrder32Host contexts:
15206         http://www.cocoabuilder.com/archive/cocoa/228931-sub-pixel-font-smoothing-with-cgbitmapcontext.html
15207
15208         Changing this has the added benefit that the data layout now matches
15209         skia.
15210
15211         * platform/graphics/chromium/ContentLayerChromium.cpp:
15212         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
15213         (WebCore::ContentLayerChromium::updateContents):
15214         * platform/graphics/chromium/ImageLayerChromium.cpp:
15215         (WebCore::ImageLayerChromium::updateContents):
15216         * platform/graphics/chromium/LayerRendererChromium.cpp:
15217         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
15218
15219 2010-11-09  Helder Correia  <helder@sencha.com>
15220
15221         Reviewed by Darin Adler.
15222
15223         Philip Canvas test 2d.path.rect.winding fails
15224         https://bugs.webkit.org/show_bug.cgi?id=49225
15225
15226         Rect path direction is important for nonzero winding rule.
15227
15228         The rect(x, y, w, h) method must create a new subpath containing just the four points
15229         (x, y), (x+w, y), (x+w, y+h), (x, y+h), with those four points connected by straight
15230         lines, and must then mark the subpath as closed.
15231
15232         * html/canvas/CanvasRenderingContext2D.cpp:
15233         (WebCore::CanvasRenderingContext2D::rect):
15234
15235 2010-11-09  Fumitoshi Ukai  <ukai@chromium.org>
15236
15237         Unreviewed build fix on Chromium/Win at r71711
15238
15239         RefCound.h reported an error that it cannot access private member
15240         declared in class 'WebCore::FileWriterSync' at
15241         WebCore::FileWriterSync::~FileWriterSync.
15242
15243         * fileapi/FileWriterSync.h: make destructor public
15244
15245 2010-11-09  Chris Rogers  <crogers@google.com>
15246
15247         Reviewed by James Robinson.
15248
15249         AudioFileReaderMac.cpp must include <CoreServices/CoreServices.h>
15250         https://bugs.webkit.org/show_bug.cgi?id=49270
15251
15252         * platform/audio/mac/AudioFileReaderMac.cpp:
15253
15254 2010-11-09  Eric Uhrhane  <ericu@chromium.org>
15255
15256         Reviewed by David Levin.
15257
15258         Add idl and mock classes for FileWriterSync.
15259         https://bugs.webkit.org/show_bug.cgi?id=48693
15260
15261         No new tests, as there's no functionality.
15262
15263         Build file additions.
15264         * CMakeLists.txt:
15265         * DerivedSources.cpp:
15266         * DerivedSources.make:
15267         * GNUmakefile.am:
15268         * WebCore.gypi:
15269         * WebCore.pro:
15270         * WebCore.vcproj/WebCore.vcproj:
15271         * WebCore.xcodeproj/project.pbxproj:
15272         * bindings/scripts/CodeGeneratorV8.pm:
15273
15274         * fileapi/FileWriterSync.cpp: Added.
15275         * fileapi/FileWriterSync.h: Added.
15276         * fileapi/FileWriterSync.idl: Added.
15277
15278 2010-11-09  Mario Sanchez Prada  <msanchez@igalia.com>
15279
15280         Reviewed by Chris Fleizach.
15281
15282         [GTK] Improve accessibility of focusable lists
15283         https://bugs.webkit.org/show_bug.cgi?id=25679
15284
15285         Emit the 'selected' and 'focused' events as needed.
15286
15287         This is the last bit of a series of patches to fix bug 25679,
15288         which just ensures that the right signals are emmited whenever a
15289         selection inside a listbox object changes, that is, the signals
15290         'state-changed::selected', 'state-changed::focused' and
15291         'focus-event', along with the right detail for each of them to
15292         report if the focus/selection has been activated or not.
15293
15294         * accessibility/gtk/AXObjectCacheAtk.cpp:
15295         (WebCore::notifyChildrenSelectionChange): New, takes care of
15296         emitting all the needed signals when children selection has
15297         changed, both from the point of view of the container and the
15298         selected/unselected items inside of it. It currently supports
15299         listboxes (html 'select' controls) only.
15300         (WebCore::AXObjectCache::postPlatformNotification): Replaced some
15301         old code with a simple call to notifyChildrenSelectionChange().
15302
15303 2010-11-09  David Hyatt  <hyatt@apple.com>
15304
15305         Reviewed by Dan Bernstein.
15306
15307         https://bugs.webkit.org/show_bug.cgi?id=49202
15308         
15309         Make lists work with vertical text.
15310         
15311         (1) Patch all the CSS rules in html.css so that the margins are directionally abstract.
15312         (2) Add a transposedRect and transposedSize method to IntRect and IntSize for swapping x/y and width/height.
15313         (3) Add adjustLineDirectionPosition as a helper for moving a line box only in the line direction.
15314         (4) Fix a bug in addIntrudingFLoats uncovered by list test cases where the top margin of an element was being
15315         incorrectly added to a float's physical left side instead of its top side.
15316         (5) Make positioning and painting and selection of list markers account for all writing modes.
15317         (6) Add helpers for setting the start and end margins directly in a RenderStyle, since lists do this to hack
15318         marker margins before they have been calculated and set on the box.
15319         
15320         Cloned a bunch of fast/lists tests into fast/lists/*-vertical.html versions.
15321         
15322         * css/html.css:
15323         * platform/graphics/IntRect.h:
15324         (WebCore::IntRect::transposedRect):
15325         * platform/graphics/IntSize.h:
15326         (WebCore::IntSize::transposedSize):
15327         * rendering/InlineBox.h:
15328         (WebCore::InlineBox::adjustLineDirectionPosition):
15329         * rendering/RenderBlock.cpp:
15330         (WebCore::RenderBlock::addIntrudingFloats):
15331         * rendering/RenderListItem.cpp:
15332         (WebCore::getParentOfFirstLineBox):
15333         (WebCore::RenderListItem::positionListMarker):
15334         (WebCore::RenderListItem::paint):
15335         * rendering/RenderListMarker.cpp:
15336         (WebCore::RenderListMarker::localSelectionRect):
15337         (WebCore::RenderListMarker::paint):
15338         (WebCore::RenderListMarker::layout):
15339         (WebCore::RenderListMarker::computePreferredLogicalWidths):
15340         (WebCore::RenderListMarker::updateMargins):
15341         (WebCore::RenderListMarker::getRelativeMarkerRect):
15342         * rendering/style/RenderStyle.cpp:
15343         (WebCore::RenderStyle::setMarginStart):
15344         (WebCore::RenderStyle::setMarginEnd):
15345         * rendering/style/RenderStyle.h:
15346
15347 2010-11-09  Abhishek Arya  <inferno@chromium.org>
15348
15349         Reviewed by Antti Koivisto.
15350
15351         Call to SVGSMILElement::applyResultsToTarget can blow away the SVGSMILElement.
15352         Refptr the SVGSMILElement in the ResultElementMap to protect it.
15353         https://bugs.webkit.org/show_bug.cgi?id=49274
15354
15355         Test: svg/animations/animate-update-crash.xhtml
15356
15357         * svg/animation/SMILTimeContainer.cpp:
15358         (WebCore::SMILTimeContainer::updateAnimations):
15359
15360 2010-11-09  Alexey Proskuryakov  <ap@apple.com>
15361
15362         Reviewed by Darin Adler.
15363
15364         https://bugs.webkit.org/show_bug.cgi?id=49281
15365         Remove broken code for embedded CSS xml-stylesheet
15366
15367         * dom/Document.cpp: (WebCore::Document::recalcStyleSelector): This made no sense, was untested,
15368         and didn't match Firefox.
15369
15370 2010-11-09  Brady Eidson  <beidson@apple.com>
15371
15372         Reviewed by Darin Adler.
15373
15374         <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
15375         Customizable context menu support in WebKit2.
15376
15377         Various WebCore support to allow WebKit2 to create new ContextMenuItems with
15378         the information it has.
15379
15380         * WebCore.exp.in:
15381
15382         * platform/ContextMenu.h:
15383         * platform/ContextMenuItem.h:
15384
15385         * platform/mac/ContextMenuItemMac.mm:
15386         (WebCore::ContextMenuItem::ContextMenuItem):
15387         (WebCore::ContextMenuItem::setSubMenu):
15388         * platform/mac/ContextMenuMac.mm:
15389         (WebCore::platformMenuDescription):
15390
15391         * platform/qt/ContextMenuItemQt.cpp:
15392         (WebCore::ContextMenuItem::ContextMenuItem):
15393         (WebCore::ContextMenuItem::setSubMenu):
15394         * platform/qt/ContextMenuQt.cpp:
15395         (WebCore::platformMenuDescription):
15396
15397         * platform/win/ContextMenuItemWin.cpp:
15398         (WebCore::ContextMenuItem::ContextMenuItem):
15399         (WebCore::ContextMenuItem::setSubMenu):
15400         * platform/win/ContextMenuWin.cpp:
15401         (WebCore::platformMenuDescription):
15402
15403 2010-11-09  Sam Weinig  <sam@webkit.org>
15404
15405         Reviewed by Anders Carlsson.
15406
15407         Need WebKit2 mechanism for getting the visible page text
15408         <rdar://problem/8646928>
15409         https://bugs.webkit.org/show_bug.cgi?id=49275
15410
15411         * WebCore.exp.in: Add necessary exports.
15412
15413 2010-11-09  Simon Fraser  <simon.fraser@apple.com>
15414
15415         Reviewed by James Robinson.
15416
15417         Make showLayerTree() more useful for debugging
15418         https://bugs.webkit.org/show_bug.cgi?id=49273
15419
15420         Three things to make showLayerTree() more useful when called from gdb:
15421         1. Add showLayerTree(RenderObject*)
15422         2. Make it not update layout, so you can call it when debugging layout code.
15423         3. Add output of the 'needs layout' flags for each renderer.
15424
15425         * rendering/RenderLayer.cpp:
15426         (showLayerTree):
15427         * rendering/RenderLayer.h:
15428         * rendering/RenderTreeAsText.cpp:
15429         (WebCore::RenderTreeAsText::writeRenderObject):
15430         (WebCore::externalRepresentation):
15431         * rendering/RenderTreeAsText.h:
15432
15433 2010-11-09  Chris Rogers  <crogers@google.com>
15434
15435         Reviewed by James Robinson.
15436
15437         AudioChannel.h is including AudioFloatArray.h instead of AudioArray.h
15438         https://bugs.webkit.org/show_bug.cgi?id=49269
15439
15440         * platform/audio/AudioChannel.h:
15441
15442 2010-11-09  Dan Bernstein  <mitz@apple.com>
15443
15444         Reviewed by Dave Hyatt.
15445
15446         Made tables hit-test correctly in all writing modes.
15447
15448         Part of: Make tables work with vertical text
15449         https://bugs.webkit.org/show_bug.cgi?id=46417
15450
15451         Test: fast/blockflow/table-hit-test.html
15452
15453         * rendering/RenderTable.cpp:
15454         (WebCore::RenderTable::nodeAtPoint):
15455         * rendering/RenderTableRow.cpp:
15456         (WebCore::RenderTableRow::nodeAtPoint):
15457         * rendering/RenderTableSection.cpp:
15458         (WebCore::RenderTableSection::nodeAtPoint):
15459
15460 2010-11-09  Simon Fraser  <simon.fraser@apple.com>
15461
15462         Reviewed by Darin Adler.
15463
15464         Caret fails to render with some combination of iframes and compositing
15465         https://bugs.webkit.org/show_bug.cgi?id=49079
15466         
15467         Because it's possible for the caret to jump between different
15468         compositing layers and the view, caret repainting currently dirties
15469         both the view and all compositing layers that intersect the caret rect,
15470         via repaintRectangleInViewAndCompositedLayers().
15471         
15472         When an iframe contained compositing layers, we erroneously skipped
15473         invalidating the compositing layer inside the iframe, which caused
15474         the caret to fail to blink.
15475
15476         * manual-tests/compositing/caret-in-compositing-frame.html: Added.
15477         * manual-tests/compositing/resources/editable-compositing-subframe.html: Added.
15478         * rendering/RenderView.cpp:
15479         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
15480
15481 2010-11-09  Peter Rybin  <peter.rybin@gmail.com>
15482
15483         Reviewed by Adam Barth.
15484
15485         XMLDocumentParser gets deleted and then used in LayoutTest/fast/frames/set-parent-src-synchronously.xhtml on QT/Linux
15486         https://bugs.webkit.org/show_bug.cgi?id=48643
15487
15488         * dom/XMLDocumentParserQt.cpp:
15489         (WebCore::XMLDocumentParser::doWrite):
15490
15491 2010-11-09  Simon Fraser  <simon.fraser@apple.com>
15492
15493         Reviewed by Dave Hyatt.
15494
15495         https://bugs.webkit.org/show_bug.cgi?id=49197
15496         <rdar://problem/8642746>
15497         
15498         When starting an accelerated transform animation on a renderer, check
15499         that it's a RenderBox before allow transform animations (and before
15500         calling borderBoxRect()), because transforms are currently disallowed
15501         on inline elements.
15502
15503         Test: animations/animation-on-inline-crash.html
15504
15505         * rendering/RenderLayerBacking.cpp:
15506         (WebCore::RenderLayerBacking::startAnimation):
15507
15508 2010-11-09  Simon Fraser  <simon.fraser@apple.com>
15509
15510         Reviewed by Dave Hyatt.
15511
15512         https://bugs.webkit.org/show_bug.cgi?id=49204
15513         <rdar://problem/8643412>
15514         
15515         Add checks to the CSSStyleSelector code to ensure that the
15516         casts to the various CSSValue types are safe, and do more
15517         rigorous checking of the lengths of CSSValueLists, and
15518         non-null members of Pair in some cases.
15519
15520         * css/CSSBorderImageValue.h:
15521         (WebCore::CSSBorderImageValue::isBorderImageValue):
15522         * css/CSSCursorImageValue.h:
15523         (WebCore::CSSCursorImageValue::isCursorImageValue):
15524         * css/CSSImageValue.h:
15525         (WebCore::CSSImageValue::isImageValue):
15526         * css/CSSReflectValue.h:
15527         (WebCore::CSSReflectValue::isReflectValue):
15528         * css/CSSStyleSelector.cpp:
15529         (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
15530         (WebCore::CSSRuleSet::addRulesFromSheet):
15531         (WebCore::CSSRuleSet::addStyleRule):
15532         (WebCore::applyCounterList):
15533         (WebCore::CSSStyleSelector::applyProperty):
15534         (WebCore::CSSStyleSelector::mapFillSize):
15535         (WebCore::CSSStyleSelector::mapAnimationDelay):
15536         (WebCore::CSSStyleSelector::mapAnimationDirection):
15537         (WebCore::CSSStyleSelector::mapAnimationFillMode):
15538         (WebCore::CSSStyleSelector::mapAnimationName):
15539         (WebCore::CSSStyleSelector::mapAnimationPlayState):
15540         (WebCore::CSSStyleSelector::mapNinePieceImage):
15541         (WebCore::CSSStyleSelector::createTransformOperations):
15542         * css/CSSValue.h:
15543         (WebCore::CSSValue::isBorderImageValue):
15544         (WebCore::CSSValue::isCursorImageValue):
15545         (WebCore::CSSValue::isFontFamilyValue):
15546         (WebCore::CSSValue::isReflectValue):
15547         (WebCore::CSSValue::isShadowValue):
15548         * css/FontFamilyValue.h:
15549         (WebCore::FontFamilyValue::isFontFamilyValue):
15550         * css/SVGCSSStyleSelector.cpp:
15551         (WebCore::CSSStyleSelector::applySVGProperty):
15552         * css/ShadowValue.h:
15553         (WebCore::ShadowValue::isShadowValue):
15554         * platform/graphics/transforms/TransformOperations.h:
15555         (WebCore::TransformOperations::clear):
15556
15557 2010-11-09  Ben Murdoch  <benm@google.com>
15558
15559         Reviewed by Steve Block.
15560
15561         Android is missing implementation of V8GCController::checkMemoryUsage
15562         https://bugs.webkit.org/show_bug.cgi?id=49255
15563
15564         This patch adds the necessary code to WebCore to implement the
15565         functionality. The implementation of the PlatformBridge on Android
15566         does not live upstream yet, so not patching that here.
15567
15568         No new test as this is a platform specific change on Android.
15569
15570         * bindings/v8/V8GCController.cpp:
15571         (WebCore::V8GCController::checkMemoryUsage): Implement on Android.
15572         * platform/android/PlatformBridge.h: Add necessary methods to read
15573             device specific memory usage and constraints.
15574
15575 2010-11-09  Andreas Kling  <kling@webkit.org>
15576
15577         Reviewed by Kenneth Rohde Christiansen.
15578
15579         ScrollView::updateScrollbars() shouldn't do anything when scrolling is delegated.
15580
15581         * platform/ScrollView.cpp:
15582         (WebCore::ScrollView::updateScrollbars):
15583
15584 2010-11-09  Steve Block  <steveblock@google.com>
15585
15586         Reviewed by Andreas Kling.
15587
15588         Unused parameter warning causes JSC build failure with deviceorientation
15589         https://bugs.webkit.org/show_bug.cgi?id=49251
15590
15591         No new tests, build fix only.
15592
15593         * bindings/js/JSDeviceMotionEventCustom.cpp:
15594         (WebCore::JSDeviceMotionEvent::interval):
15595         * bindings/js/JSDeviceOrientationEventCustom.cpp:
15596         (WebCore::JSDeviceOrientationEvent::alpha):
15597         (WebCore::JSDeviceOrientationEvent::beta):
15598         (WebCore::JSDeviceOrientationEvent::gamma):
15599
15600 2010-11-09  Renata Hodovan  <reni@webkit.org>
15601
15602         Reviewed by Nikolas Zimmermann.
15603
15604         SVGFETileElement doesn't support dynamic invalidation, when attributes change.
15605         https://bugs.webkit.org/show_bug.cgi?id=49247
15606
15607         The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
15608
15609         Tests: svg/dynamic-updates/SVGFETileElement-dom-in-attr.html
15610                svg/dynamic-updates/SVGFETileElement-svgdom-in-prop.html
15611
15612         * svg/SVGFETileElement.cpp:
15613         (WebCore::SVGFETileElement::svgAttributeChanged):
15614         * svg/SVGFETileElement.h:
15615
15616 2010-11-09  Jenn Braithwaite  <jennb@chromium.org>
15617
15618         Reviewed by Dmitry Titov.
15619
15620         Update ProgressTracker when moving a frame between documents
15621         https://bugs.webkit.org/show_bug.cgi?id=48368
15622
15623         No new tests. andersca informs me it's not possible to test
15624         ProgressTracker changes via layouttests. Review extra carefully...
15625
15626         * loader/DocumentLoader.cpp:
15627         (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
15628         Changed to use FrameLoader to deliver the notification to the
15629         client via the notifier.
15630         * loader/FrameLoader.cpp:
15631         (WebCore::FrameLoader:;transferLoadingResourcesFromPage):
15632         Update old and new progress tracker about frame progress.
15633         (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
15634         Added to route notification via the notifier.
15635         * loader/FrameLoader.h:
15636         * loader/ProgressTracker.cpp:
15637         (WebCore::ProgressTracker::completeProgress):
15638         Comment change only.
15639         * loader/ResourceLoadNotifier.cpp:
15640         (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
15641         Added to provide one place to notify client and progress tracker -
15642         and probably inspector controller (separate patch).
15643         * loader/ResourceLoadNotifier.h:
15644
15645 2010-11-09  Dai Mikurube  <dmikurube@google.com>
15646
15647         Reviewed by Kent Tamura.
15648
15649         Too precise serialization from floating point number to string for "number" input elements
15650         https://bugs.webkit.org/show_bug.cgi?id=48308
15651
15652         Modified to consider decimal places when handling step and base in applyStep().
15653
15654         * html/HTMLInputElement.cpp: Considering decimal places of the given "step" attribtue.
15655         (WebCore::HTMLInputElement::getAllowedValueStep):
15656         (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
15657         (WebCore::HTMLInputElement::applyStep):
15658         * html/HTMLInputElement.h:
15659         * html/InputType.cpp: Added virtual functions for decimal places and an acceptable error.
15660         (WebCore::InputType::stepBaseWithDecimalPlaces):
15661         (WebCore::InputType::acceptableError):
15662         (WebCore::InputType::parseToDoubleWithDecimalPlaces):
15663         * html/InputType.h:
15664         * html/NumberInputType.cpp:
15665         (WebCore::NumberInputType::stepMismatch): Using the virtual function acceptableError().
15666         (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Considering decimal places of the given "base" attribute.
15667         (WebCore::NumberInputType::parseToDoubleWithDecimalPlaces):
15668         (WebCore::NumberInputType::acceptableError): Concrete acceptableError() for the number type.
15669         * html/NumberInputType.h:
15670         * html/parser/HTMLParserIdioms.cpp:
15671         (WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Parsing numbers with decimal places.
15672         * html/parser/HTMLParserIdioms.h:
15673
15674 2010-11-09  Yuzo Fujishima  <yuzo@google.com>
15675
15676         Reviewed by Shinichiro Hamaji.
15677
15678         Fix for Bug 48984 - [Chromium] @media print crash due to paged media support
15679         Page context has been inheriting from document element style that becomes null if display property is none.
15680         It should inherit from document style instead to properly handle direction property (and to avoid the null reference).
15681         https://bugs.webkit.org/show_bug.cgi?id=48984
15682
15683         Test: printing/page-format-data-display-none.html
15684
15685         * css/CSSStyleSelector.cpp:
15686         (WebCore::CSSStyleSelector::styleForPage): Page context inherits from
15687         document style.
15688
15689 2010-11-09  Chris Rogers  <crogers@google.com>
15690
15691         Reviewed by Kenneth Russell.
15692
15693         Add custom bindings for AudioContext
15694         https://bugs.webkit.org/show_bug.cgi?id=49115
15695
15696         No new tests since audio API is not yet implemented.
15697
15698         * bindings/js/JSAudioContextCustom.cpp: Added.
15699         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
15700         * bindings/v8/custom/V8AudioContextCustom.cpp: Added.
15701         (WebCore::V8AudioContext::constructorCallback):
15702
15703 2010-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
15704
15705         Reviewed by Dimitri Glazkov.
15706
15707         [Chromium] display:none has no effect on <option> element
15708         https://bugs.webkit.org/show_bug.cgi?id=49169
15709
15710         Added a manual test because it's hard to test the content of
15711         <option> element.
15712
15713         * manual-tests/display-none-option.html: Added.
15714         * platform/PopupMenuStyle.h:
15715         (WebCore::PopupMenuStyle::PopupMenuStyle):
15716         (WebCore::PopupMenuStyle::isDisplayNone):
15717         * platform/chromium/PopupMenuChromium.cpp:
15718         (WebCore::PopupListBox::getRowHeight):
15719         (WebCore::PopupListBox::layout):
15720         * rendering/RenderMenuList.cpp:
15721         (WebCore::RenderMenuList::itemStyle):
15722         (WebCore::RenderMenuList::menuStyle):
15723         * rendering/RenderTextControlSingleLine.cpp:
15724         (WebCore::RenderTextControlSingleLine::menuStyle):
15725
15726 2010-11-09  Chris Rogers  <crogers@google.com>
15727
15728         Reviewed by Kenneth Russell.
15729
15730         audio engine: add audio resources abstraction
15731         https://bugs.webkit.org/show_bug.cgi?id=34660
15732
15733         No new tests since audio API is not yet implemented.
15734
15735         * platform/audio/AudioBus.h:
15736         * platform/audio/HRTFElevation.cpp:
15737         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
15738         (WebCore::HRTFElevation::createByInterpolatingSlices):
15739         * platform/audio/mac/AudioBusMac.mm: Added.
15740         (WebCore::AudioBus::loadPlatformResource):
15741
15742 2010-11-09  James Simonsen  <simonjam@chromium.org>
15743
15744         Reviewed by Dimitri Glazkov.
15745
15746         [Web Timing] Remove requestEnd
15747         https://bugs.webkit.org/show_bug.cgi?id=48924
15748
15749         * page/Timing.cpp:
15750         * page/Timing.h:
15751         * page/Timing.idl:
15752
15753 2010-11-09  Sam Magnuson  <smagnuson@netflix.com>
15754
15755         Reviewed by Andreas Kling.
15756
15757         [Qt] image borders do not render correctly
15758         https://bugs.webkit.org/show_bug.cgi?id=49191
15759
15760         Test: fast/borders/border-image-01.html
15761
15762         * platform/graphics/qt/ImageQt.cpp:
15763         (WebCore::Image::drawPattern):
15764
15765 2010-11-08  James Simonsen  <simonjam@chromium.org>
15766
15767         Reviewed by Dimitri Glazkov.
15768
15769         [Web Timing] Split domContentLoaded into start/end
15770         https://bugs.webkit.org/show_bug.cgi?id=48920
15771
15772         * dom/Document.cpp:
15773         (WebCore::Document::finishedParsing):
15774         * dom/DocumentTiming.h:
15775         (WebCore::DocumentTiming::DocumentTiming):
15776         * page/Timing.cpp:
15777         (WebCore::Timing::domContentLoadedStart):
15778         (WebCore::Timing::domContentLoadedEnd):
15779         * page/Timing.h:
15780         * page/Timing.idl:
15781
15782 2010-11-08  Nate Chapin  <japhet@chromium.org>
15783
15784         Reviewed by Adam Barth.
15785
15786         Call ApplicationCacheHost::maybeLoadResource() in
15787         ResourceLoader::start() instead of ResourceLoader::load().
15788         maybeLoadResource() might mutate the ResourceRequest, and
15789         in its current location any modifications are lost.
15790
15791         https://bugs.webkit.org/show_bug.cgi?id=49221
15792
15793         Fixes a couple of http/tests/appcache tests
15794         failing on chromium.
15795
15796         * loader/ResourceLoader.cpp:
15797         (WebCore::ResourceLoader::load):
15798         (WebCore::ResourceLoader::start):
15799
15800 2010-11-08  Chang Shu  <chang.shu@nokia.com>
15801
15802         Reviewed by Antonio Gomes.
15803
15804         [GTK] Use Space to toggle arrow key handling for selection change or
15805         spatial navigation. Put the logic in common code to pass both Qt and
15806         GTK. Mac won't work because arrow keys trigger the popup.
15807         https://bugs.webkit.org/show_bug.cgi?id=49150
15808
15809         Existing test: fast/events/spatial-navigation/snav-single-select.html
15810
15811         * dom/SelectElement.cpp:
15812         (WebCore::SelectElement::menuListDefaultEventHandler):
15813
15814 2010-11-08  Jenn Braithwaite  <jennb@chromium.org>
15815
15816         Reviewed by Pavel Feldman.
15817
15818         _bindResourceURL in ResourceManager.js may not add resource to map
15819         https://bugs.webkit.org/show_bug.cgi?id=49088
15820
15821         No new tests. pfeldman working on better test harness and tests.
15822
15823         * inspector/front-end/ResourceManager.js:
15824         (WebInspector.ResourceManager.prototype._bindResourceURL):
15825
15826 2010-11-08  John Knottenbelt  <jknotten@chromium.org>
15827
15828         Reviewed by Steve Block.
15829
15830         Convert to and from DOMTimeStamp with converter functions.
15831         This is a refactoring only, covered by existing layout tests.
15832         https://bugs.webkit.org/show_bug.cgi?id=49066 
15833
15834         * GNUmakefile.am:
15835         * WebCore.gypi:
15836         * WebCore.pro:
15837         * WebCore.vcproj/WebCore.vcproj:
15838         * WebCore.xcodeproj/project.pbxproj:
15839         * dom/DOMTimeStamp.h: Added.
15840         (WebCore::convertSecondsToDOMTimeStamp):
15841         (WebCore::convertDOMTimeStampToSeconds):
15842         * dom/Event.cpp:
15843         (WebCore::Event::Event):
15844         * dom/Event.h:
15845         * page/Geolocation.cpp:
15846         (WebCore::Geolocation::haveSuitableCachedPosition):
15847         * platform/android/GeolocationServiceAndroid.cpp:
15848         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
15849
15850 2010-11-08  Ryosuke Niwa  <rniwa@webkit.org>
15851
15852         Unreviewed build fix for Chromium Mac for r71590.
15853
15854         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
15855         (WebCore::provideStringAndAttributes):
15856
15857 2010-11-08  Anton Muhin  <antonm@chromium.org>
15858
15859         Reviewed by Nate Chapin.
15860
15861         [v8] Get rid of automatically generated named property getter for classes with namedItem method
15862         https://bugs.webkit.org/show_bug.cgi?id=48770
15863
15864         * bindings/scripts/CodeGeneratorV8.pm:
15865         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
15866
15867 2010-11-08  Ned Holbrook  <nholbrook@apple.com>
15868
15869         Reviewed by Adam Barth.
15870
15871         Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
15872         https://bugs.webkit.org/show_bug.cgi?id=48886
15873
15874         * WebCore.exp.in:
15875         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
15876         (WebCore::provideStringAndAttributes):
15877         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
15878         * platform/mac/WebCoreSystemInterface.h:
15879         * platform/mac/WebCoreSystemInterface.mm:
15880
15881 2010-11-08  David Hyatt  <hyatt@apple.com>
15882
15883         Reviewed by Simon Fraser.
15884
15885         https://bugs.webkit.org/show_bug.cgi?id=49228
15886         
15887         REGRESSION: caret too short when a positive line height is specified.  Now that lineTop no longer
15888         accidentally incorporates the top leading, we need to use selectionTop/Bottom for the caret rect.
15889
15890         * rendering/RenderText.cpp:
15891         (WebCore::RenderText::localCaretRect):
15892
15893 2010-11-08  Pierre-Antoine LaFayette  <pierre.lafayette@gmail.com>
15894
15895         Reviewed by Darin Fisher.
15896
15897         [chromium] Adding hasUserGesture flag to the ResourceRequest
15898         https://bugs.webkit.org/show_bug.cgi?id=37057
15899
15900         This flag is to be used on the browser side to indicate when a
15901         download has been user initiated.
15902
15903         No new tests. This change will be tested through a browser UI test.
15904
15905         * platform/network/chromium/ResourceRequest.h:
15906         (WebCore::ResourceRequest::ResourceRequest):
15907         (WebCore::ResourceRequest::hasUserGesture):
15908         (WebCore::ResourceRequest::setHasUserGesture):
15909
15910 2010-11-08  Chris Rogers  <crogers@google.com>
15911
15912         Reviewed by Kenneth Russell.
15913
15914         Remove obsolete PASSTHROUGH and MATRIXMIX panner mode
15915         https://bugs.webkit.org/show_bug.cgi?id=49087
15916
15917         No new tests since audio API is not yet implemented.
15918
15919         * platform/audio/Panner.cpp:
15920         (WebCore::Panner::create):
15921         * platform/audio/Panner.h:
15922         * webaudio/AudioPannerNode.h:
15923         * webaudio/AudioPannerNode.idl:
15924
15925 2010-11-08  Patrick Gansterer  <paroga@webkit.org>
15926
15927         Reviewed by Adam Roben.
15928
15929         Merge EditorWinCE.cpp into EditorWin.cpp
15930         https://bugs.webkit.org/show_bug.cgi?id=49095
15931
15932         * platform/win/EditorWin.cpp:
15933         (WebCore::Editor::newGeneralClipboard):
15934         * platform/wince/EditorWinCE.cpp: Removed.
15935
15936 2010-11-08  David Hyatt  <hyatt@apple.com>
15937
15938         Reviewed by Simon Fraser.
15939
15940         https://bugs.webkit.org/show_bug.cgi?id=49217
15941         
15942         Fix coordinate space mismatch in RenderReplaced and make sure RenderText retains its old behavior of
15943         preferring later lines when there is overlap.
15944
15945         * rendering/RenderReplaced.cpp:
15946         (WebCore::RenderReplaced::positionForPoint):
15947         * rendering/RenderText.cpp:
15948         (WebCore::RenderText::positionForPoint):
15949
15950 2010-11-08  Steve Block  <steveblock@google.com>
15951
15952         Reviewed by David Levin.
15953
15954         Building for Android generates several compiler warnings
15955         https://bugs.webkit.org/show_bug.cgi?id=49175
15956
15957         Fixes these warnings, most of which are trivial.
15958         - PREFIX_FOR_WEBCORE was previously required for STL's algorithm, but is no
15959           longer. See
15960           http://android.git.kernel.org/?p=platform/external/webkit.git;a=commit;h=a47ab5294213cca2741f453b450b02666e08cac8
15961         - The definition of EXPORT is required only for the JNI entry point in
15962           WebKit/android, so does not need to be in WebCorePrefix.h
15963
15964         No new tests, fixes compile warnings only.
15965
15966         * WebCorePrefix.h:
15967         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
15968         (JSC::Bindings::convertValueToJValue):
15969         * platform/android/FileSystemAndroid.cpp:
15970         (WebCore::listDirectory):
15971
15972 2010-11-08  Dan Bernstein  <mitz@apple.com>
15973
15974         Reviewed by Darin Adler.
15975
15976         <rdar://problem/8119781> Crash zooming into Word document at office.live.com
15977         https://bugs.webkit.org/show_bug.cgi?id=49203
15978
15979         Test: fast/css/zoom-change-triggering-layout.html
15980
15981         RenderBox::styleDidChange() was calling scrollLeft() and scrollTop(), whose RenderTextControlSingleLine
15982         overrides can trigger layout.
15983
15984         * rendering/RenderBox.cpp:
15985         (WebCore::RenderBox::styleDidChange): Use the layer directly for updating the scroll offsets when
15986         the zoom factor changes.
15987
15988 2010-11-08  David Hyatt  <hyatt@apple.com>
15989
15990         Reviewed by Simon Fraser.
15991
15992         https://bugs.webkit.org/show_bug.cgi?id=48587
15993         
15994         Make Ruby work with vertical text.  Ruby already nearly does work.  The only big issue I found was with
15995         flipped lines writing modes.  Make sure to mutate the writing-mode of the RenderRubyRun to ensure that
15996         the ruby text is on the correct side of the ruby base.
15997
15998         Added fast/blockflow tests of the various writing modes.
15999
16000         * rendering/RenderBlock.cpp:
16001         (WebCore::RenderBlock::baselinePosition):
16002         (WebCore::RenderBlock::firstLineBoxBaseline):
16003         (WebCore::RenderBlock::lastLineBoxBaseline):
16004         * rendering/RenderRubyRun.cpp:
16005         (WebCore::RenderRubyRun::staticCreateRubyRun):
16006
16007 2010-11-08  Brent Fulgham  <bfulgham@webkit.org>
16008
16009         Unreviewed build correction after @70369/@70846.
16010
16011         Please use PLATFORM(CG) to define CG-specific code, not
16012         PLATFORM(CF).
16013
16014         * platform/image-decoders/ImageDecoder.cpp:
16015         * platform/image-decoders/ImageDecoder.h:
16016
16017 2010-11-08  James Robinson  <jamesr@chromium.org>
16018
16019         Reviewed by Dimitri Glazkov.
16020
16021         Input element with inner spin button set to display:none causes crash
16022         https://bugs.webkit.org/show_bug.cgi?id=49121
16023
16024         Null check the inner spin button's renderer before dereferencing it.
16025
16026         Test: fast/forms/input-number-spinbutton-crash.html
16027
16028         * rendering/RenderTextControlSingleLine.cpp:
16029         (WebCore::RenderTextControlSingleLine::forwardEvent):
16030
16031 2010-11-08  Xiaomei Ji  <xji@chromium.org>
16032
16033         Reviewed by Dan Bernstein.
16034
16035         Fix Unicode explicit bidi control characters are removed in editing operations,
16036         such as insert/copy/cut/paste.
16037         https://bugs.webkit.org/show_bug.cgi?id=25321
16038
16039         Unicode explicit bidi control characters were excluded in BidiRun and
16040         consequently from InlineTextBoxes due to their effect on rendering complex
16041         text with ATSUI.
16042         The fix is including those characters in BidiRun and remove them from
16043         ComplexTextRun with ATSUI.
16044
16045         Test: editing/inserting/insert-paste-bidi-control.html
16046                fast/text/atsui-bidi-control.html
16047
16048         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
16049         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16050         * platform/text/BidiResolver.h:
16051         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
16052         (WebCore::::lowerExplicitEmbeddingLevel):
16053         (WebCore::::raiseExplicitEmbeddingLevel):
16054         (WebCore::::createBidiRunsForLine):
16055
16056 2010-11-08  David Hyatt  <hyatt@apple.com>
16057
16058         Reviewed by Dan Bernstein.
16059
16060         https://bugs.webkit.org/show_bug.cgi?id=49126
16061         
16062         RenderBlock::positionForPoint is not writing-mode aware.  Patch the function to examine lines in the correct
16063         writing-mode direction.  Patched and renamed a number of helpers used by positionForPoint.
16064         
16065         Fixed a bug with RenderReplaced's positionForPoint. There was a coordinate space mismatch between what the
16066         function expected (local coordinates) and what was passed in (containing block coords), which meant the function didn't even work.
16067         
16068         Fixed a bug with the propagation of selection state on RenderReplaced to its containing block.  The bit double propagated
16069         because both the base class function and the derived class function did the propagation, and the setter function did not
16070         do the right thing if this happened.
16071         
16072         Patched the localSelectionRect method on RenderReplaced so that selection draws in the right place in all writing modes.
16073         
16074         Added new tests of positionForPoint and replaced elements in fast/blockflow.
16075
16076         * editing/visible_units.cpp:
16077         (WebCore::previousLinePosition):
16078         (WebCore::nextLinePosition):
16079         * platform/graphics/IntPoint.h:
16080         (WebCore::IntPoint::transpose):
16081         * rendering/InlineBox.cpp:
16082         (WebCore::InlineBox::paint):
16083         * rendering/RenderBlock.cpp:
16084         (WebCore::RenderBlock::nodeAtPoint):
16085         (WebCore::RenderBlock::hitTestFloats):
16086         (WebCore::positionForPointRespectingEditingBoundaries):
16087         (WebCore::RenderBlock::positionForPointWithInlineChildren):
16088         (WebCore::RenderBlock::positionForPoint):
16089         * rendering/RenderReplaced.cpp:
16090         (WebCore::RenderReplaced::positionForPoint):
16091         (WebCore::RenderReplaced::localSelectionRect):
16092         (WebCore::RenderReplaced::setSelectionState):
16093         * rendering/RenderReplaced.h:
16094         * rendering/RenderText.cpp:
16095         (WebCore::RenderText::positionForPoint):
16096         * rendering/RootInlineBox.cpp:
16097         (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition):
16098         * rendering/RootInlineBox.h:
16099
16100 2010-11-08  Nate Chapin  <japhet@chromium.org>
16101
16102         Reviewed by Alexey Proskuryakov.
16103
16104         Move connection-per-host counting and request prioritization out
16105         of Loader and down to the ResourceLoader level.
16106
16107         https://bugs.webkit.org/show_bug.cgi?id=27165
16108
16109         Refactor only, so no new tests.
16110
16111         * CMakeLists.txt:
16112         * GNUmakefile.am:
16113         * WebCore.exp.in:
16114         * WebCore.gypi:
16115         * WebCore.pro:
16116         * WebCore.vcproj/WebCore.vcproj:
16117         * WebCore.xcodeproj/project.pbxproj:
16118         * dom/ContainerNode.cpp:
16119         (WebCore::ContainerNode::suspendPostAttachCallbacks):
16120         (WebCore::ContainerNode::resumePostAttachCallbacks):
16121         * loader/DocumentThreadableLoader.cpp:
16122         (WebCore::DocumentThreadableLoader::loadRequest):
16123         * loader/MainResourceLoader.cpp:
16124         (WebCore::MainResourceLoader::loadNow):
16125         * loader/NetscapePlugInStreamLoader.cpp:
16126         (WebCore::NetscapePlugInStreamLoader::create):
16127         * loader/NetscapePlugInStreamLoader.h:
16128         * loader/ResourceLoadScheduler.cpp: Added.
16129         (WebCore::ResourceLoadScheduler::hostForURL):
16130         (WebCore::resourceLoadScheduler): Returns the single ResourceLoadScheduler instance
16131         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
16132         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
16133         (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
16134         (WebCore::ResourceLoadScheduler::addMainResourceLoad):
16135         (WebCore::ResourceLoadScheduler::scheduleLoad):
16136         (WebCore::ResourceLoadScheduler::remove):
16137         (WebCore::ResourceLoadScheduler::crossOriginRedirectReceived):
16138         (WebCore::ResourceLoadScheduler::servePendingRequests):
16139         (WebCore::ResourceLoadScheduler::suspendPendingRequests):
16140         (WebCore::ResourceLoadScheduler::resumePendingRequests):
16141         (WebCore::ResourceLoadScheduler::scheduleServePendingRequests):
16142         (WebCore::ResourceLoadScheduler::requestTimerFired):
16143         (WebCore::ResourceLoadScheduler::assertLoaderBeingCounted):
16144         (WebCore::ResourceLoadScheduler::HostInformation::assertLoaderBeingCounted):
16145         (WebCore::ResourceLoadScheduler::HostInformation::HostInformation):
16146         (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
16147         (WebCore::ResourceLoadScheduler::HostInformation::schedule):
16148         (WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress):
16149         (WebCore::ResourceLoadScheduler::HostInformation::remove):
16150         (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
16151         * loader/ResourceLoadScheduler.h: Added.
16152         (WebCore::ResourceLoadScheduler::HostInformation::name):
16153         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
16154         (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
16155         * loader/ResourceLoader.cpp:
16156         (WebCore::ResourceLoader::releaseResources): Remove this from ResourceLoadScheduler's counting.
16157         (WebCore::ResourceLoader::load):
16158         (WebCore::ResourceLoader::start): Create the ResourceHandle, called by ResourceLoadScheduler.
16159         (WebCore::ResourceLoader::willSendRequest): Ensure ResourceLoadScheduler counts redirects
16160             correctly.
16161         * loader/ResourceLoader.h:
16162         (WebCore::ResourceLoader::url):
16163         * loader/icon/IconLoader.cpp:
16164         (WebCore::IconLoader::startLoading):
16165         * loader/loader.cpp: Move scheduling to ResourceLoadScheduler, remove Host subclass
16166             and make Loader the SubresourceLoaderClient instead.
16167         (WebCore::determinePriority):
16168         (WebCore::Loader::load): Schedule the creation of the ResourceHandle, rather than
16169             doing it immediately.
16170         (WebCore::Loader::cancelRequests):
16171         (WebCore::Loader::didFinishLoading):
16172         (WebCore::Loader::didFail):
16173         (WebCore::Loader::didReceiveResponse):
16174         (WebCore::Loader::didReceiveData):
16175         (WebCore::Loader::didReceiveCachedMetadata):
16176         * loader/loader.h:
16177         * page/EventSource.cpp:
16178         (WebCore::EventSource::connect):
16179         (WebCore::EventSource::endRequest):
16180         * plugins/PluginStream.cpp:
16181         (WebCore::PluginStream::start):
16182         * xml/XMLHttpRequest.cpp:
16183         (WebCore::XMLHttpRequest::XMLHttpRequest):
16184         (WebCore::XMLHttpRequest::~XMLHttpRequest):
16185         (WebCore::XMLHttpRequest::createRequest):
16186         (WebCore::XMLHttpRequest::didFail):
16187         (WebCore::XMLHttpRequest::didFinishLoading):
16188         * xml/XMLHttpRequest.h:
16189
16190 2010-11-08  Ryosuke Niwa  <rniwa@webkit.org>
16191
16192         Reviewed by Darin Adler.
16193
16194         Remove the remaining editing-style functions from ApplyStyleCommand
16195         https://bugs.webkit.org/show_bug.cgi?id=49155
16196
16197         Replaced removeNonEditingProperties, editingStyleAtPosition, prepareEditingStyleToApplyAt,
16198         and removeStylesAddedByNode in ApplyStyleCommand.cpp by removeNonEditingProperties, EditingStyle::create,
16199         prepareToApplyAt, and removeStyleAddedByNode in EditingStyle.cpp.
16200
16201         Also removed unnecessary header includes from various cpp files.
16202
16203         No tests are added since this is a cleanup.
16204
16205         * editing/ApplyStyleCommand.cpp: Removed removeNonEditingProperties, editingStyleAtPosition,
16206         prepareEditingStyleToApplyAt, and removeStylesAddedByNode.
16207         * editing/ApplyStyleCommand.h: Ditto.
16208         * editing/DeleteSelectionCommand.cpp: Removed removeEnclosingAnchorStyle.
16209         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Calls removeStylesAddedByNode instead.
16210         * editing/EditingStyle.cpp:
16211         (WebCore::copyEditingProperties): Moved and renamed ApplyStyleCommand::removeNonEditingProperties.
16212         (WebCore::editingStyleFromComputedStyle): Calls copyEditingProperties. Changed the argument to PassRefPtr
16213         as supposed to a raw pointer for convenience.
16214         (WebCore::EditingStyle::init): Calls editingStyleFromComputedStyle.
16215         (WebCore::EditingStyle::removeStyleAddedByNode): Added.
16216         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added.
16217         (WebCore::EditingStyle::removeNonEditingProperties): Added.
16218         (WebCore::editingStyleIncludingTypingStyle): Calls copyEditingProperties.
16219         * editing/EditingStyle.h: Added prototypes.
16220         * editing/Editor.cpp:
16221         (WebCore::Editor::selectionComputedStyle): Uses EditingStyle.
16222         * editing/InsertParagraphSeparatorCommand.cpp:
16223         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
16224         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
16225         * editing/InsertParagraphSeparatorCommand.h:
16226         * editing/RemoveFormatCommand.cpp:
16227         (WebCore::RemoveFormatCommand::doApply): Ditto.
16228         * editing/ReplaceSelectionCommand.cpp:
16229         (WebCore::handleStyleSpansBeforeInsertion): Ditto.
16230         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
16231         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
16232         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
16233         * editing/ReplaceSelectionCommand.h:
16234         * editing/markup.cpp: Removed removeEnclosingMailBlockquoteStyle and removeDefaultStyles.
16235         (WebCore::createMarkup): Uses EditingStyle.
16236
16237 2010-11-08  Simon Fraser  <simon.fraser@apple.com>
16238
16239         Reviewed by Dan Bernstein.
16240
16241         Media objects in nested iframes showing above everything else in TinyMCE
16242         https://bugs.webkit.org/show_bug.cgi?id=44877
16243
16244         Tests: compositing/iframes/become-composited-nested-iframes.html
16245                compositing/iframes/overlapped-nested-iframes.html
16246         
16247         The overlap testing logic that connects compositing across iframe boundaries
16248         needed to be educated about nestd iframes, for platforms (i.e. Mac) where iframes
16249         are allowed to be independently composited.
16250         
16251         Also fix a bug that could cause iframes (and possibly other elements) that share
16252         style to fail to become composited.
16253
16254         * css/CSSStyleSelector.cpp:
16255         (WebCore::CSSStyleSelector::canShareStyleWithElement): Disable style sharing for elements
16256         that force synethetic style updates in order to gain RenderLayers, so they can become
16257         composited. This is tested by become-composited-nested-iframes.html, though it is very
16258         timing-dependent.
16259         
16260         * page/FrameView.h:
16261         * page/FrameView.cpp:
16262         (WebCore::FrameView::hasCompositedContentIncludingDescendants): New method that
16263         is a "deep" version of hasCompositedContent() on platforms where that is necessary to ask.
16264         
16265         (WebCore::FrameView::hasCompositingAncestor): New method.
16266         (WebCore::FrameView::setIsOverlapped): If we can have independently composited iframes,
16267         we need to force all descendant iframes to update so that compositing gets hooked up across
16268         nested iframes.
16269         
16270         (WebCore::FrameView::isOverlappedIncludingAncestors): New method, only called on platforms
16271         where allowsIndependentlyCompositedIFrames() is true.
16272
16273         * rendering/RenderLayerCompositor.h:
16274         * rendering/RenderLayerCompositor.cpp:
16275         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedIFrames): Utility method that
16276         returns true if an iframe can be a compositing root.
16277         
16278         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Make use of
16279         allowsIndependentlyCompositedIFrames().
16280         
16281         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): We need to notify all
16282         descendant frames, not just children.
16283         
16284         * rendering/RenderObject.cpp:
16285         (WebCore::RenderObject::setStyle): Add assert to ensure that we don't do style sharing
16286         for elements that play tricks with synthetic style changes.
16287
16288         * rendering/RenderWidget.cpp:
16289         (WebCore::RenderWidget::paint): Run overlap testing if a frame has any composited
16290         descendants.
16291
16292 2010-11-08  Darin Adler  <darin@apple.com>
16293
16294         Reviewed by Alexey Proskuryakov.
16295
16296         Incorrect image map used when multiple maps have the same name
16297         https://bugs.webkit.org/show_bug.cgi?id=49086
16298
16299         Tests: fast/images/image-map-multiple.html
16300                fast/images/image-map-multiple-xhtml.xhtml
16301
16302         Factored out the code used to look up elements by id and reused it
16303         to look up maps by name. It handles multiple elements efficiently.
16304
16305         * dom/Document.cpp:
16306         (WebCore::Document::DocumentOrderedMap::clear): Added.
16307         (WebCore::Document::DocumentOrderedMap::add): Added. Has code that
16308         was formerly in addElementById.
16309         (WebCore::Document::DocumentOrderedMap::remove): Added. Has code that
16310         was formerly in removeElementById.
16311         (WebCore::Document::DocumentOrderedMap::get): Added. Has code that
16312         was formerly in getElementById.
16313         (WebCore::keyMatchesId): Added.
16314         (WebCore::Document::getElementById): Use DocumentOrderedMap::get.
16315         (WebCore::Document::addElementById): Use DocumentOrderedMap::add.
16316         (WebCore::Document::removeElementById): Use DocumentOrderedMap::remove.
16317         (WebCore::Document::addImageMap): Use DocumentOrderedMap::add.
16318         (WebCore::Document::removeImageMap): Use DocumentOrderedMap::remove.
16319         (WebCore::keyMatchesMapName): Added.
16320         (WebCore::keyMatchesLowercasedMapName): Added.
16321         (WebCore::Document::getImageMap): Use DocumentOrderedMap::get.
16322
16323         * dom/Document.h: Added DocumentOrderedMap class, used inside the
16324         Document class. Changed m_imageMapsByName to be a DocumentOrderedMap.
16325         Changed m_elementsById to be a DocumentOrderedMap. Eliminated
16326         m_duplicateIds, since DocumentOrderedMap now has that internally.
16327
16328 2010-11-08  Alexey Proskuryakov  <ap@apple.com>
16329
16330         Reviewed by Darin Adler.
16331
16332         https://bugs.webkit.org/show_bug.cgi?id=48685
16333         Notify UI process about focused frame
16334
16335         * WebCore.xcodeproj/project.pbxproj: Adding developmentRegion back.
16336
16337         * loader/EmptyClients.h: (WebCore::EmptyChromeClient::focusedFrameChanged):
16338         * page/Chrome.cpp: (WebCore::Chrome::focusedFrameChanged):
16339         * page/Chrome.h:
16340         * page/ChromeClient.h:
16341         Added a new Chrome client notification.
16342
16343         * page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame): Notify chrome.
16344
16345 2010-11-08  Anders Carlsson  <andersca@apple.com>
16346
16347         Reviewed by Adam Roben.
16348
16349         Remove use of HIGetScaleFactor
16350         https://bugs.webkit.org/show_bug.cgi?id=49186
16351         <rdar://problem/8618410>
16352
16353         Scale factors can vary on a display-by-display basis and it doesn't make sense
16354         to compute scale factor event coordinates like this.
16355
16356         * plugins/mac/PluginViewMac.mm:
16357         (WebCore::PluginView::globalMousePosForPlugin):
16358
16359 2010-11-08  Noam Rosenthal  <noam.rosenthal@nokia.com>
16360
16361         Reviewed by Kenneth Rohde Christiansen.
16362
16363         [Texmap] [Qt] Texture mapper initial implementation
16364         https://bugs.webkit.org/show_bug.cgi?id=47070
16365
16366         Make the necessary changes in TextureMapperNode in preparation of making it possible to paint it
16367         from a different thread.
16368         The main problematic part was the cache, which made it so that textures can become invalid and have to
16369         be rerendered from content during paint. This is solved here by creating a pack/unpack function for
16370         textures, which lets a texture archive its data away from video memory, or do whatever the platform
16371         thinks is right for freeing memory without needing to re-render again from content (which cannot be
16372         made thread safe).
16373
16374         After this change, TextureMapperNode moved to its own file, and has 2 entry points: paint and syncCompositingState.
16375         The idea is that syncCompositingState has to be called in the UI thread, paint can be called from a different
16376         thread, and they should block each other.
16377
16378         The new test tests the cache code-path, to show that the pack/unpack technique works for cases where it
16379         kicks in.
16380
16381         Test: compositing/layer-creation/many-layers.html
16382
16383         * WebCore.pro:
16384         * platform/graphics/opengl/TextureMapperGL.cpp:
16385         (WebCore::BitmapTextureGL::~BitmapTextureGL):
16386         (WebCore::BitmapTextureGL::BitmapTextureGL):
16387         (WebCore::TextureMapperGL::TextureMapperGL):
16388         (WebCore::TextureMapperGL::drawTexture):
16389         * platform/graphics/opengl/TextureMapperGL.h:
16390         (WebCore::TextureMapperGL::create):
16391         * platform/graphics/qt/TextureMapperQt.cpp:
16392         (WebCore::BitmapTextureQt::pack):
16393         (WebCore::BitmapTextureQt::unpack):
16394         (WebCore::TextureMapper::create):
16395         (WebCore::BitmapTextureQt::BitmapTextureQt):
16396         * platform/graphics/qt/TextureMapperQt.h: Added.
16397
16398 2010-11-08  Simon Fraser  <simon.fraser@apple.com>
16399
16400         Reviewed by Sam Weinig.
16401
16402         Allow applets to participate in accelerated compositing
16403         https://bugs.webkit.org/show_bug.cgi?id=49117
16404         <rdar://problem/8625819>
16405         
16406         Add RenderApplet to the list of renderers that can optionally get RenderLayers,
16407         and be composited for some reason.
16408
16409         Not currently testable.
16410
16411         * rendering/RenderApplet.h: Outdented the class declaration.
16412
16413         * rendering/RenderApplet.cpp:
16414         (WebCore::RenderApplet::requiresLayer): Return true if the underlying widget
16415         has a platform layer.
16416         (WebCore::RenderApplet::allowsAcceleratedCompositing): Check the widget to see
16417         if it has a platform layer.
16418
16419         * rendering/RenderLayer.cpp:
16420         (WebCore::RenderLayer::shouldBeNormalFlowOnly): Reformat, and add isApplet().
16421         (WebCore::RenderLayer::isSelfPaintingLayer): Reformat, and add isApplet().
16422         * rendering/RenderLayerBacking.cpp:
16423         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use 'renderer' local variable
16424         for efficiency. Now check for embedded objects and applets.
16425         * rendering/RenderLayerCompositor.cpp:
16426         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Check for embedded objects and applets.
16427
16428 2010-11-08  Xan Lopez  <xlopez@igalia.com>
16429
16430         Reviewed by Martin Robinson.
16431
16432         * GNUmakefile.am: add missing files to fix distcheck.
16433
16434 2010-11-08  Alexander Pavlov  <apavlov@chromium.org>
16435
16436         Reviewed by David Hyatt.
16437
16438         getPropertyValue("background") causes crash
16439         https://bugs.webkit.org/show_bug.cgi?id=49055
16440
16441         Test: fast/css/background-norepeat-crash.html
16442
16443         * css/CSSMutableStyleDeclaration.cpp:
16444         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
16445
16446 2010-11-08  Martin Robinson  <mrobinson@igalia.com>
16447
16448         Reviewed by Xan Lopez.
16449
16450         [GTK] Wrapped DOM bindings GObjects do not disconnect event listeners when they die
16451         https://bugs.webkit.org/show_bug.cgi?id=49136
16452
16453         When GObjects are finalized and freed, disconnect their event listeners, so that
16454         WebCore does not try to fire signals on dead GObjects. We do this by holding a weak
16455         reference to the GObject in the signal listener. When the weak reference notification
16456         callback is executed, we disconnect the event listener.
16457
16458         No new tests; this fix is proved by prevention of crashes in soon to be
16459         landed editing delegate signals, which are covered by the layout tests.
16460
16461         * bindings/gobject/GObjectEventListener.cpp:
16462         (WebCore::GObjectEventListener::GObjectEventListener): Updated the constructor.
16463         (WebCore::GObjectEventListener::~GObjectEventListener): Disconnect the weak reference
16464         if the GObject is still alive.
16465         (WebCore::GObjectEventListener::gobjectDestroyed): When the GObject is destroyed,
16466         disconnect the appropriate event listener.
16467         (WebCore::GObjectEventListener::handleEvent): Changes to reflect use of CString
16468         instead of WebCore string.
16469         * bindings/gobject/GObjectEventListener.h:
16470         (WebCore::GObjectEventListener::addEventListener): Changed create to addEventListener,
16471         so that the connection and disconnection is an internal contract to the class.
16472         (WebCore::GObjectEventListener::gobjectDestroyedCallback): Added.
16473         * bindings/scripts/CodeGeneratorGObject.pm: Modified the code generate to use
16474         GObjectEventListener::addEventListener and no longer call addEventListener on
16475         its own.
16476
16477 2010-11-08  Adam Roben  <aroben@apple.com>
16478
16479         Windows Release build fix after r71514
16480
16481         The build was failing due to an alignment error. Strangely, depending
16482         on the order of SVGStaticPropertyTearOff's members, the build will
16483         either fail in Release (as it does before this change), or Debug (as it
16484         did before r71514), but not both.
16485
16486         * svg/properties/SVGStaticPropertyTearOff.h:
16487         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Copied
16488         the #pragma pack trick from JSSVGPODTypeWrapper.h, which has similar
16489         issues.
16490
16491 2010-11-08  Yury Semikhatsky  <yurys@chromium.org>
16492
16493         Reviewed by Pavel Feldman.
16494
16495         Web Inspector: decouple ScriptArguments from ScriptCallStack
16496         https://bugs.webkit.org/show_bug.cgi?id=48058
16497
16498         ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
16499         The factory functions that allow to create ScriptCallStack from VM-specific
16500         objects are defined in ScriptCallStackFactory.cpp.
16501
16502         ScriptArguments class is used for passing arguments from JS code to the native
16503         part.
16504
16505         No new tests. This refactoring is covered with existing Console tests.
16506
16507         * Android.jscbindings.mk:
16508         * Android.v8bindings.mk:
16509         * CMakeLists.txt:
16510         * GNUmakefile.am:
16511         * WebCore.gypi:
16512         * WebCore.pro:
16513         * WebCore.vcproj/WebCore.vcproj:
16514         * WebCore.xcodeproj/project.pbxproj:
16515         * bindings/js/JSBindingsAllInOne.cpp:
16516         * bindings/js/JSConsoleCustom.cpp:
16517         (WebCore::JSConsole::profile):
16518         (WebCore::JSConsole::profileEnd):
16519         * bindings/js/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/js/ScriptCallStack.cpp.
16520         (WebCore::createScriptCallStack):
16521         (WebCore::createScriptArguments):
16522         (WebCore::ScriptCallStack::stackTrace):
16523         * bindings/js/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
16524         * bindings/js/ScriptState.cpp:
16525         (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
16526         (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
16527         (WebCore::ScriptStateProtectedPtr::get):
16528         * bindings/js/ScriptState.h:
16529         * bindings/scripts/CodeGeneratorJS.pm:
16530         * bindings/scripts/CodeGeneratorV8.pm:
16531         * bindings/scripts/test/JS/JSTestObj.cpp:
16532         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
16533         * bindings/scripts/test/V8/V8TestObj.cpp:
16534         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
16535         * bindings/v8/ScriptCallFrame.h: Removed.
16536         * bindings/v8/ScriptCallStack.h: Removed.
16537         * bindings/v8/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/v8/ScriptCallStack.cpp.
16538         (WebCore::toScriptCallFrame):
16539         (WebCore::toScriptCallFramesVector):
16540         (WebCore::createScriptCallStack):
16541         (WebCore::createScriptArguments):
16542         (WebCore::ScriptCallStack::stackTrace):
16543         * bindings/v8/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
16544         * bindings/v8/ScriptController.cpp:
16545         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
16546         * bindings/v8/ScriptState.h:
16547         (WebCore::ScriptStateProtectedPtr::get):
16548         * bindings/v8/V8ConsoleMessage.cpp:
16549         (WebCore::V8ConsoleMessage::handler):
16550         (WebCore::V8ConsoleMessage::dispatchNow):
16551         * bindings/v8/V8ConsoleMessage.h:
16552         * bindings/v8/custom/V8ConsoleCustom.cpp:
16553         (WebCore::V8Console::traceCallback):
16554         (WebCore::V8Console::assertCallback):
16555         (WebCore::V8Console::profileCallback):
16556         (WebCore::V8Console::profileEndCallback):
16557         * dom/NodeFilter.h:
16558         * inspector/ConsoleMessage.cpp:
16559         (WebCore::ConsoleMessage::ConsoleMessage):
16560         (WebCore::ConsoleMessage::addToFrontend):
16561         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
16562         (WebCore::ConsoleMessage::isEqual):
16563         * inspector/ConsoleMessage.h:
16564         * inspector/InspectorController.cpp:
16565         (WebCore::InspectorController::addMessageToConsole):
16566         (WebCore::InspectorController::startGroup):
16567         * inspector/InspectorController.h:
16568         * inspector/ScriptArguments.cpp: Copied from WebCore/bindings/v8/ScriptCallFrame.cpp.
16569         (WebCore::ScriptArguments::ScriptArguments):
16570         (WebCore::ScriptArguments::~ScriptArguments):
16571         (WebCore::ScriptArguments::argumentAt):
16572         (WebCore::ScriptArguments::globalState):
16573         (WebCore::ScriptArguments::getFirstArgumentAsString):
16574         (WebCore::ScriptArguments::isEqual):
16575         * inspector/ScriptArguments.h: Copied from WebCore/bindings/js/ScriptCallFrame.h.
16576         (WebCore::ScriptArguments::argumentCount):
16577         * inspector/ScriptCallFrame.cpp: Renamed from WebCore/bindings/v8/ScriptCallFrame.cpp.
16578         (WebCore::ScriptCallFrame::ScriptCallFrame):
16579         (WebCore::ScriptCallFrame::~ScriptCallFrame):
16580         (WebCore::ScriptCallFrame::isEqual):
16581         (WebCore::ScriptCallFrame::buildInspectorObject):
16582         * inspector/ScriptCallFrame.h: Renamed from WebCore/bindings/js/ScriptCallFrame.h.
16583         (WebCore::ScriptCallFrame::functionName):
16584         (WebCore::ScriptCallFrame::sourceURL):
16585         (WebCore::ScriptCallFrame::lineNumber):
16586         * inspector/ScriptCallStack.cpp: Renamed from WebCore/bindings/js/ScriptCallFrame.cpp.
16587         (WebCore::ScriptCallStack::ScriptCallStack):
16588         (WebCore::ScriptCallStack::~ScriptCallStack):
16589         (WebCore::ScriptCallStack::at):
16590         (WebCore::ScriptCallStack::size):
16591         (WebCore::ScriptCallStack::isEqual):
16592         (WebCore::ScriptCallStack::buildInspectorObject):
16593         * inspector/ScriptCallStack.h: Renamed from WebCore/bindings/js/ScriptCallStack.h.
16594         * page/Console.cpp:
16595         (WebCore::Console::addMessage):
16596         (WebCore::Console::debug):
16597         (WebCore::Console::error):
16598         (WebCore::Console::info):
16599         (WebCore::Console::log):
16600         (WebCore::Console::dir):
16601         (WebCore::Console::dirxml):
16602         (WebCore::Console::trace):
16603         (WebCore::Console::assertCondition):
16604         (WebCore::Console::count):
16605         (WebCore::Console::markTimeline):
16606         (WebCore::Console::profile):
16607         (WebCore::Console::profileEnd):
16608         (WebCore::Console::timeEnd):
16609         (WebCore::Console::group):
16610         (WebCore::Console::groupCollapsed):
16611         (WebCore::Console::shouldCaptureFullStackTrace):
16612         (WebCore::Console::warn):
16613         * page/Console.h:
16614         (WebCore::Console::profiles):
16615         * page/Console.idl:
16616
16617 2010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
16618
16619         Not reviewed. Build fix.
16620         
16621         Attempt to fix windows builds after r71512. Swap order of members to avoid warning C4121.
16622
16623         * svg/properties/SVGStaticPropertyTearOff.h:
16624         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
16625
16626 2010-11-08  Mikhail Naganov  <mnaganov@chromium.org>
16627
16628         Unreviewed. Fix Qt build after r71511.
16629
16630         * inspector/InspectorController.cpp:
16631         (WebCore::InspectorController::restoreInspectorStateFromCookie):
16632
16633 2010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
16634
16635         Reviewed by Dirk Schulze.
16636
16637         Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept
16638         https://bugs.webkit.org/show_bug.cgi?id=49067
16639
16640         Remove SVGAnimatedPoints interface, not reachable through bindings anyway, it was just another MI interface, that
16641         now has been integrated into SVGPolylineElement/SVGPolygonElement, simplfying the generation and avoiding virtual
16642         calls in SVGPolylineElement/SVGPolygonElement.
16643
16644         Remove the need to use manual XML <-> SVG DOM synchronization. The points/animatedPoints methods now create
16645         SVGListPropertyTearOffs, thus using the same synchronization/expose-to-bindings concept like all other
16646         animated properties.
16647
16648         Convert SVGPoint/SVGPointList to use the new SVGPropertyTearOff concept, adapted all code, as SVGPointList
16649         is now a plain Vector<FloatPoint>. Enable StrictTypeChecking for SVGPoint.
16650
16651         Test: svg/dom/SVGPoint.html
16652
16653         * Android.derived.v8bindings.mk: Remove SVGAnimatedPoints (and IDL generation).
16654         * Android.mk: Ditto.
16655         * CMakeLists.txt: Ditto.
16656         * DerivedSources.make: Ditto.
16657         * GNUmakefile.am: Ditto. Add SVGStaticPropertyTearOff.h to build.
16658         * WebCore.gypi: Ditto.
16659         * WebCore.order: Remove SVGAnimatedPoints symbols.
16660         * WebCore.pro: Remove SVGAnimatedPoints (and IDL generation). Add SVGStaticPropertyTearOff.h to build.
16661         * WebCore.vcproj/WebCore.vcproj: Ditto.
16662         * WebCore.xcodeproj/project.pbxproj: Ditto.
16663         * bindings/objc/DOMSVG.h: Remove DOMSVGAnimatedPoints include.
16664         * bindings/scripts/CodeGenerator.pm: Adapt code converting SVGPoint/SVGPointList to use the new SVGPropertyTearOff concepts.
16665         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
16666         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
16667         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
16668         * rendering/SVGRenderTreeAsText.cpp: Adapt for SVGPolyElement API change, use pointList() instead of points() (which is only used for bindings now).
16669         (WebCore::operator<<):
16670         * svg/SVGAllInOne.cpp: Remove SVGAnimatedPoints.cpp.
16671         * svg/SVGAnimateElement.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
16672         (WebCore::SVGAnimateElement::calculateAnimatedValue):
16673         (WebCore::SVGAnimateElement::calculateFromAndToValues):
16674         (WebCore::SVGAnimateElement::applyResultsToTarget):
16675         * svg/SVGAnimateElement.h:  Ditto.
16676         * svg/SVGAnimatedPoints.cpp: Removed.
16677         * svg/SVGAnimatedPoints.h: Removed.
16678         * svg/SVGAnimatedPoints.idl: Removed.
16679         * svg/SVGParserUtilities.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
16680         (WebCore::pointsListFromSVGData):
16681         * svg/SVGParserUtilities.h: Ditto.
16682         * svg/SVGPoint.idl: Remove PODType marker, and add StrictTypeChecking for x/y attributes.
16683         * svg/SVGPointList.cpp: SVGPointList is now a plain Vector<FloatPoint>, rewrite.
16684         (WebCore::SVGPointList::valueAsString):
16685         (WebCore::SVGPointList::createAnimated):
16686         * svg/SVGPointList.h: Ditto.
16687         (WebCore::SVGPointList::SVGPointList):
16688         * svg/SVGPolyElement.cpp: Remove manual SVG <-> XML DOM synchronization. Now handles through the SVGAnimatedPropertyTearOff concept.
16689         (WebCore::SVGPolyElement::parseMappedAttribute):
16690         (WebCore::SVGPolyElement::svgAttributeChanged):
16691         (WebCore::SVGPolyElement::synchronizeProperty):
16692         (WebCore::SVGPolyElement::synchronizePoints):
16693         (WebCore::SVGPolyElement::points):
16694         (WebCore::SVGPolyElement::animatedPoints):
16695         * svg/SVGPolyElement.h: Reindented.
16696         (WebCore::SVGPolyElement::pointList):
16697         (WebCore::SVGPolyElement::isValid):
16698         (WebCore::SVGPolyElement::supportsMarkers):
16699         * svg/SVGPolygonElement.cpp: Adapt for SVGPointList API change.
16700         (WebCore::SVGPolygonElement::toPathData):
16701         * svg/SVGPolygonElement.idl: Remove SVGAnimatedPoints inheritance.
16702         * svg/SVGPolylineElement.cpp: Adapt for SVGPointList API change.
16703         (WebCore::SVGPolylineElement::toPathData):
16704         * svg/SVGPolylineElement.idl: Remove SVGAnimatedPoints inheritance.
16705         * svg/SVGSVGElement.cpp:
16706         (WebCore::SVGSVGElement::setCurrentTranslate): Use updateCurrentTranslate().
16707         (WebCore::SVGSVGElement::updateCurrentTranslate): Added, only used by the bindings, after changing a value of SVGStaticPropertyTearOff object.
16708         * svg/SVGSVGElement.h:
16709         (WebCore::SVGSVGElement::currentTranslate): Return reference to m_translation.
16710         * svg/properties/SVGPropertyTearOff.h: Made constructors protected, as SVGStaticPropertyTearOff inherits from it.
16711         (WebCore::SVGPropertyTearOff::commitChange):
16712         * svg/properties/SVGPropertyTraits.h: Add SVGPointList handing.
16713         * svg/properties/SVGStaticPropertyTearOff.h: Added. Used for SVGProperty types returned by attributes, that are not associated with a SVGAnimatedProperty. (SVGSVGElement::currentTranslate).
16714         (WebCore::SVGStaticPropertyTearOff::create):
16715         (WebCore::SVGStaticPropertyTearOff::commitChange):
16716         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
16717
16718 2010-11-08  Mikhail Naganov  <mnaganov@chromium.org>
16719
16720         Reviewed by Adam Barth.
16721
16722         Web Inspector [Chromium]: Make CPU profiling to survive navigation.
16723
16724         https://bugs.webkit.org/show_bug.cgi?id=48843
16725
16726         * inspector/Inspector.idl:
16727         * inspector/InspectorController.cpp:
16728         (WebCore::InspectorController::restoreInspectorStateFromCookie):
16729         (WebCore::InspectorController::reuseFrontend):
16730         (WebCore::InspectorController::disconnectFrontend):
16731         (WebCore::InspectorController::populateScriptObjects):
16732         (WebCore::InspectorController::restoreProfiler):
16733         (WebCore::InspectorController::didCommitLoad):
16734         (WebCore::InspectorController::startUserInitiatedProfiling):
16735         (WebCore::InspectorController::stopUserInitiatedProfiling):
16736         * inspector/InspectorController.h:
16737         (WebCore::InspectorController::startProfiling):
16738         (WebCore::InspectorController::stopProfiling):
16739         * inspector/InspectorProfilerAgent.cpp:
16740         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
16741         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
16742         * inspector/InspectorProfilerAgent.h:
16743         * inspector/InspectorState.cpp:
16744         (WebCore::InspectorState::InspectorState):
16745         * inspector/InspectorState.h:
16746         * inspector/front-end/ProfilesPanel.js:
16747         (WebInspector.ProfilesPanel.prototype.hasTemporaryProfile):
16748         (WebInspector.ProfilesPanel.prototype.hasProfile):
16749         * inspector/front-end/inspector.js:
16750         (WebInspector.setRecordingProfile):
16751
16752 2010-11-08  Renata Hodovan  <reni@webkit.org>
16753
16754         Reviewed by Nikolas Zimmermann.
16755
16756         SVGFEConvolveMatrixElement doesn't support dynamic invalidation
16757         https://bugs.webkit.org/show_bug.cgi?id=47660
16758
16759         Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
16760         The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
16761         properly the orderX and orderY components of order property from SVG DOM.
16762
16763         Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
16764                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
16765                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
16766                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
16767                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
16768                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
16769                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
16770                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
16771                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
16772                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html
16773
16774         * svg/SVGFEConvolveMatrixElement.cpp:
16775         (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
16776         (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
16777         * svg/SVGFEConvolveMatrixElement.h:
16778         * svg/svgattrs.in:
16779
16780 2010-11-08  Adam Barth  <abarth@webkit.org>
16781
16782         Reviewed by Antti Koivisto.
16783
16784         Rename CachedResourceLoader::m_doc to CachedResourceLoader::m_document
16785         https://bugs.webkit.org/show_bug.cgi?id=49163
16786
16787         The usual convention is to use "document", not "doc" to refer to the
16788         document.
16789
16790         * css/CSSCursorImageValue.cpp:
16791         (WebCore::CSSCursorImageValue::cachedImage):
16792         * dom/XMLDocumentParserLibxml2.cpp:
16793         (WebCore::shouldAllowExternalLoad):
16794         * loader/cache/CachedResourceLoader.cpp:
16795         (WebCore::CachedResourceLoader::CachedResourceLoader):
16796         (WebCore::CachedResourceLoader::frame):
16797         (WebCore::CachedResourceLoader::requestImage):
16798         (WebCore::CachedResourceLoader::canRequest):
16799         (WebCore::CachedResourceLoader::requestResource):
16800         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
16801         (WebCore::CachedResourceLoader::preload):
16802         (WebCore::CachedResourceLoader::checkForPendingPreloads):
16803         (WebCore::CachedResourceLoader::requestPreload):
16804         * loader/cache/CachedResourceLoader.h:
16805         (WebCore::CachedResourceLoader::document):
16806         * loader/cache/MemoryCache.cpp:
16807         (WebCore::MemoryCache::requestResource):
16808         * loader/loader.cpp:
16809         (WebCore::Loader::load):
16810         (WebCore::Loader::Host::servePendingRequests):
16811         (WebCore::Loader::Host::didFinishLoading):
16812         (WebCore::Loader::Host::didFail):
16813         * xml/XSLTProcessorLibxslt.cpp:
16814         (WebCore::docLoaderFunc):
16815
16816 2010-11-07  Adam Barth  <abarth@webkit.org>
16817
16818         Unreviewed.  Remove some unneeded includes.
16819
16820         * loader/FrameLoader.cpp:
16821         * loader/PlaceholderDocument.cpp:
16822
16823 2010-11-07  Adam Barth  <abarth@webkit.org>
16824
16825         Reviewed by Eric Seidel.
16826
16827         Rename Cache to MemoryCache
16828         https://bugs.webkit.org/show_bug.cgi?id=49159
16829
16830         So sayeth the diagram.
16831
16832         * Android.mk:
16833         * CMakeLists.txt:
16834         * GNUmakefile.am:
16835         * WebCore.gypi:
16836         * WebCore.pro:
16837         * WebCore.vcproj/WebCore.vcproj:
16838         * WebCore.xcodeproj/project.pbxproj:
16839         * css/CSSImageValue.cpp:
16840         * dom/ContainerNode.cpp:
16841         * history/PageCache.cpp:
16842         * inspector/InspectorCSSStore.h:
16843         * inspector/InspectorResourceAgent.cpp:
16844         * loader/FrameLoader.cpp:
16845         * loader/archive/cf/LegacyWebArchive.cpp:
16846         * loader/cache/Cache.cpp: Removed.
16847         * loader/cache/Cache.h: Removed.
16848         * loader/cache/CachedCSSStyleSheet.cpp:
16849         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
16850         * loader/cache/CachedFont.cpp:
16851         * loader/cache/CachedFont.h:
16852         * loader/cache/CachedImage.cpp:
16853         (WebCore::CachedImage::destroyDecodedData):
16854         * loader/cache/CachedImage.h:
16855         * loader/cache/CachedResource.cpp:
16856         * loader/cache/CachedResource.h:
16857         * loader/cache/CachedResourceLoader.cpp:
16858         * loader/cache/CachedResourceLoader.h:
16859         * loader/cache/CachedScript.cpp:
16860         (WebCore::CachedScript::destroyDecodedData):
16861         * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
16862         (WebCore::cache):
16863         (WebCore::MemoryCache::MemoryCache):
16864         (WebCore::MemoryCache::requestResource):
16865         (WebCore::MemoryCache::requestUserCSSStyleSheet):
16866         (WebCore::MemoryCache::revalidateResource):
16867         (WebCore::MemoryCache::revalidationSucceeded):
16868         (WebCore::MemoryCache::revalidationFailed):
16869         (WebCore::MemoryCache::resourceForURL):
16870         (WebCore::MemoryCache::deadCapacity):
16871         (WebCore::MemoryCache::liveCapacity):
16872         (WebCore::MemoryCache::pruneLiveResources):
16873         (WebCore::MemoryCache::pruneDeadResources):
16874         (WebCore::MemoryCache::setCapacities):
16875         (WebCore::MemoryCache::makeResourcePurgeable):
16876         (WebCore::MemoryCache::evict):
16877         (WebCore::MemoryCache::addCachedResourceLoader):
16878         (WebCore::MemoryCache::removeCachedResourceLoader):
16879         (WebCore::MemoryCache::lruListFor):
16880         (WebCore::MemoryCache::removeFromLRUList):
16881         (WebCore::MemoryCache::insertInLRUList):
16882         (WebCore::MemoryCache::resourceAccessed):
16883         (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
16884         (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
16885         (WebCore::MemoryCache::addToLiveResourcesSize):
16886         (WebCore::MemoryCache::removeFromLiveResourcesSize):
16887         (WebCore::MemoryCache::adjustSize):
16888         (WebCore::MemoryCache::TypeStatistic::addResource):
16889         (WebCore::MemoryCache::getStatistics):
16890         (WebCore::MemoryCache::setDisabled):
16891         (WebCore::MemoryCache::dumpStats):
16892         (WebCore::MemoryCache::dumpLRULists):
16893         * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
16894         (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
16895         * loader/loader.cpp:
16896         * page/EventSource.cpp:
16897         * page/Settings.h:
16898         * xml/XMLHttpRequest.cpp:
16899         (WebCore::XMLHttpRequest::createRequest):
16900
16901 2010-11-07  Eric Seidel  <eric@webkit.org>
16902
16903         Unreviewed.  Attempt to fix the windows build.
16904
16905         Move the rest of the cache-related files into loader/cache
16906         https://bugs.webkit.org/show_bug.cgi?id=49156
16907
16908         * WebCore.vcproj/WebCoreCommon.vsprops:
16909         * WebCore.vcproj/copyForwardingHeaders.cmd:
16910
16911 2010-11-07  Eric Seidel  <eric@webkit.org>
16912
16913         Reviewed by Adam Barth.
16914
16915         Move the rest of the cache-related files into loader/cache
16916         https://bugs.webkit.org/show_bug.cgi?id=49156
16917
16918         * GNUmakefile.am:
16919         * WebCore.gypi:
16920         * WebCore.vcproj/WebCore.vcproj:
16921         * WebCore.xcodeproj/project.pbxproj:
16922         * loader/CachePolicy.h: Removed.
16923         * loader/CachedCSSStyleSheet.cpp: Removed.
16924         * loader/CachedCSSStyleSheet.h: Removed.
16925         * loader/CachedFont.cpp: Removed.
16926         * loader/CachedFont.h: Removed.
16927         * loader/CachedImage.cpp: Removed.
16928         * loader/CachedImage.h: Removed.
16929         * loader/CachedResource.cpp: Removed.
16930         * loader/CachedResource.h: Removed.
16931         * loader/CachedResourceClient.h: Removed.
16932         * loader/CachedResourceClientWalker.cpp: Removed.
16933         * loader/CachedResourceClientWalker.h: Removed.
16934         * loader/CachedResourceHandle.cpp: Removed.
16935         * loader/CachedResourceHandle.h: Removed.
16936         * loader/CachedResourceLoader.cpp: Removed.
16937         * loader/CachedResourceLoader.h: Removed.
16938         * loader/CachedScript.cpp: Removed.
16939         * loader/CachedScript.h: Removed.
16940         * loader/CachedXSLStyleSheet.cpp: Removed.
16941         * loader/CachedXSLStyleSheet.h: Removed.
16942         * loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h.
16943         * loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp.
16944         * loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h.
16945         * loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp.
16946         * loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h.
16947         * loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp.
16948         * loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h.
16949         * loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp.
16950         * loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h.
16951         * loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h.
16952         * loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp.
16953         * loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h.
16954         * loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp.
16955         * loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h.
16956         * loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp.
16957         * loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h.
16958         * loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp.
16959         * loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h.
16960         * loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp.
16961         * loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h.
16962
16963 2010-11-07  Adam Barth  <abarth@webkit.org>
16964
16965         Reviewed by Eric Seidel.
16966
16967         Rename X-Purpose to Purpose
16968         https://bugs.webkit.org/show_bug.cgi?id=47802
16969
16970         As requested by IETF HTTP WG.  This patch is part of a larger movement
16971         in the HTTP community to move away from X- headers.  Various senior
16972         folks at the IETF believe they're a failed experiment:
16973
16974         http://tools.ietf.org/html/draft-saintandre-xdash-considered-harmful
16975
16976         * loader/loader.cpp:
16977         (WebCore::Loader::Host::servePendingRequests):
16978
16979 2010-11-07  Daniel Bates  <dbates@rim.com>
16980
16981         Reviewed by Adam Barth.
16982
16983         Assert that a non-null PassRefPtr<Document> has a non-null frame in Frame::setDocument()
16984         https://bugs.webkit.org/show_bug.cgi?id=49152
16985
16986         Add an ASSERT to ensure that a non-null Document has a non-null Frame
16987         in Frame::setDocument().
16988
16989         Currently, whenever Frame::setDocument() is called with a non-null
16990         Document the Document has a non-null Frame. We should assert this
16991         invariant.
16992
16993         * page/Frame.cpp:
16994         (WebCore::Frame::setDocument):
16995
16996 2010-11-07  Eric Seidel  <eric@webkit.org>
16997
16998         Reviewed by Adam Barth.
16999
17000         Move Cache.* into loader/cache in as a start to cleaning up loader/
17001         https://bugs.webkit.org/show_bug.cgi?id=49153
17002
17003         * Android.mk:
17004         * CMakeLists.txt:
17005         * GNUmakefile.am:
17006         * WebCore.gypi:
17007         * WebCore.pro:
17008         * WebCore.vcproj/WebCore.vcproj:
17009         * WebCore.xcodeproj/project.pbxproj:
17010         * loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp.
17011         (WebCore::cache):
17012         (WebCore::Cache::Cache):
17013         (WebCore::createResource):
17014         (WebCore::Cache::requestResource):
17015         (WebCore::Cache::requestUserCSSStyleSheet):
17016         (WebCore::Cache::revalidateResource):
17017         (WebCore::Cache::revalidationSucceeded):
17018         (WebCore::Cache::revalidationFailed):
17019         (WebCore::Cache::resourceForURL):
17020         (WebCore::Cache::deadCapacity):
17021         (WebCore::Cache::liveCapacity):
17022         (WebCore::Cache::pruneLiveResources):
17023         (WebCore::Cache::pruneDeadResources):
17024         (WebCore::Cache::setCapacities):
17025         (WebCore::Cache::makeResourcePurgeable):
17026         (WebCore::Cache::evict):
17027         (WebCore::Cache::addCachedResourceLoader):
17028         (WebCore::Cache::removeCachedResourceLoader):
17029         (WebCore::fastLog2):
17030         (WebCore::Cache::lruListFor):
17031         (WebCore::Cache::removeFromLRUList):
17032         (WebCore::Cache::insertInLRUList):
17033         (WebCore::Cache::resourceAccessed):
17034         (WebCore::Cache::removeFromLiveDecodedResourcesList):
17035         (WebCore::Cache::insertInLiveDecodedResourcesList):
17036         (WebCore::Cache::addToLiveResourcesSize):
17037         (WebCore::Cache::removeFromLiveResourcesSize):
17038         (WebCore::Cache::adjustSize):
17039         (WebCore::Cache::TypeStatistic::addResource):
17040         (WebCore::Cache::getStatistics):
17041         (WebCore::Cache::setDisabled):
17042         (WebCore::Cache::dumpStats):
17043         (WebCore::Cache::dumpLRULists):
17044         * loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h.
17045         (WebCore::Cache::LRUList::LRUList):
17046         (WebCore::Cache::TypeStatistic::TypeStatistic):
17047         (WebCore::Cache::loader):
17048         (WebCore::Cache::disabled):
17049         (WebCore::Cache::setPruneEnabled):
17050         (WebCore::Cache::prune):
17051         (WebCore::Cache::setDeadDecodedDataDeletionInterval):
17052         (WebCore::Cache::deadDecodedDataDeletionInterval):
17053         (WebCore::Cache::remove):
17054         (WebCore::Cache::shouldMakeResourcePurgeableOnEviction):
17055
17056 2010-11-05  Helder Correia  <helder@sencha.com>
17057
17058         Reviewed by Andreas Kling.
17059
17060         [Qt] box-shadow does not blur (is solid) when using border-radius
17061         https://bugs.webkit.org/show_bug.cgi?id=46327
17062
17063         Implement blurred box-shadow when styling with border-radius.
17064         This change is related to https://bugs.webkit.org/show_bug.cgi?id=44488
17065
17066         * platform/graphics/qt/GraphicsContextQt.cpp:
17067         (WebCore::GraphicsContext::fillRoundedRect):
17068
17069 2010-11-07  John Reck  <jreck@google.com>
17070
17071         Reviewed by Steve Block.
17072
17073         Implements navigator.language for Android
17074         https://bugs.webkit.org/show_bug.cgi?id=49099
17075         
17076         Android was previously hardcoding the value for WebCore::platformDefaultLanguage().
17077         This patch removes the hardcoding and calls into the PlatformBridge to get the
17078         correct language based off of the user's settings.
17079
17080         No new tests needed, this is already covered
17081
17082         * Android.mk:
17083         * platform/android/LanguageAndroid.cpp: Added.
17084         (WebCore::platformDefaultLanguage):
17085         * platform/android/PlatformBridge.h:
17086         * platform/android/TemporaryLinkStubs.cpp:
17087
17088 2010-11-07  Robert Hogan  <robert@webkit.org>
17089
17090         Reviewed by Andreas Kling.
17091
17092         [qt] screenDepthPerComponent returns the wrong value
17093
17094         Return best estimate of the number of bits per color
17095         rather than screen depth.
17096
17097         Add a layout test to sanity check screenDepthPerComponent.
17098
17099         https://bugs.webkit.org/show_bug.cgi?id=20289
17100
17101         Test: fast/css/media-rule-screenDepthPerComponent.html
17102
17103         * platform/qt/PlatformScreenQt.cpp:
17104         (WebCore::screenDepthPerComponent):
17105
17106 2010-11-07  Chang Shu  <chang.shu@nokia.com>
17107
17108         Reviewed by Antonio Gomes.
17109
17110         Add a helper function to avoid duplicated code.
17111         https://bugs.webkit.org/show_bug.cgi?id=49085
17112
17113         * dom/SelectElement.cpp:
17114         * editing/SelectionController.cpp:
17115         (WebCore::SelectionController::modify):
17116         * html/HTMLInputElement.cpp:
17117         (WebCore::HTMLInputElement::isKeyboardFocusable):
17118         * page/EventHandler.cpp:
17119         (WebCore::EventHandler::defaultArrowEventHandler):
17120         * page/SpatialNavigation.cpp:
17121         (WebCore::isSpatialNavigationEnabled):
17122         * page/SpatialNavigation.h:
17123
17124 2010-11-06  Pavel Feldman  <pfeldman@chromium.org>
17125
17126         Reviewed by Simon Fraser.
17127
17128         Web Inspector: Some image resources don't display the image when selected in the Resources panel.
17129         https://bugs.webkit.org/show_bug.cgi?id=48935
17130
17131         Marked resources loaded from memory cache as finished.
17132
17133         * inspector/front-end/ResourceManager.js:
17134         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
17135
17136 2010-11-06  Pavel Feldman  <pfeldman@chromium.org>
17137
17138         Reviewed by Timothy Hatcher.
17139
17140         Web Inspector: XHR logging is not checked in context menu after browser restart.
17141         https://bugs.webkit.org/show_bug.cgi?id=49133
17142
17143         * inspector/InspectorState.cpp:
17144         (WebCore::InspectorState::InspectorState):
17145
17146 2010-11-06  Ryosuke Niwa  <rniwa@webkit.org>
17147
17148         Unreviewed Windows build fix.
17149
17150         * editing/EditingAllInOne.cpp: Added EditingStyle.cpp
17151
17152 2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
17153
17154         Reviewed by Darin Adler.
17155
17156         Bug 46335 - Add EditingStyle
17157         https://bugs.webkit.org/show_bug.cgi?id=46335
17158
17159         Added EditingStyle to WebCore/editing.  This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties,
17160         editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere.
17161         Deployed it in typing styles.
17162
17163         No new tests are added since this is a refactoring in progress.
17164
17165         * CMakeLists.txt: Added EditingStyle.cpp
17166         * GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h
17167         * WebCore.gypi: Ditto.
17168         * WebCore.pro: Ditto.
17169         * WebCore.xcodeproj/project.pbxproj: Ditto.
17170         * editing/CompositeEditCommand.cpp:
17171         (WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle.
17172         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle.
17173         * editing/DeleteSelectionCommand.cpp:
17174         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
17175         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
17176         * editing/DeleteSelectionCommand.h:
17177         * editing/EditingStyle.cpp: Added.
17178         (WebCore::editingStyleFromComputedStyle): Added.
17179         (WebCore::EditingStyle::EditingStyle): Added.
17180         (WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition.
17181         (WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init.
17182         (WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init.
17183         (WebCore::EditingStyle::isEmpty): Added.
17184         (WebCore::EditingStyle::setStyle): Added.
17185         (WebCore::EditingStyle::clear): Added.
17186         (WebCore::EditingStyle::removeBlockProperties): Added.
17187         (WebCore::EditingStyle::prepareToApplyAt): Added.
17188         (WebCore::editingStyleIncludingTypingStyle): Added.
17189         * editing/EditingStyle.h: Added.
17190         (WebCore::EditingStyle::create): Added.
17191         (WebCore::EditingStyle::style): Added.
17192         * editing/RemoveFormatCommand.cpp:
17193         (WebCore::RemoveFormatCommand::doApply): Uses EditingStyle.
17194         * editing/SelectionController.h:
17195         (WebCore::SelectionController::typingStyle): Uses EditingStyle.
17196         (WebCore::SelectionController::clearTypingStyle): Uses EditingStyle.
17197         (WebCore::SelectionController::setTypingStyle): Uses EditingStyle.
17198         * rendering/style/RenderStyle.h: Added EditingStyle as a friend.
17199
17200 2010-11-05  David Hyatt  <hyatt@apple.com>
17201
17202         Reviewed by Dan Bernstein and Simon Fraser.
17203
17204         https://bugs.webkit.org/show_bug.cgi?id=47237
17205         
17206         Make selection work with vertical text.  This patch fixes a bug in the computation of lineTop.  For lines
17207         with positive leading, lineTop was incorrectly including the top leading.  Since the flipping of lines
17208         for "lr" and "bt" writing modes involved flipping using lineTop and lineBottom, an incorrect lineTop meant
17209         that those modes were mis-rendering.  This is why the Japanese "lr" text examples have the first line smushed
17210         too far against the border.
17211         
17212         Fixing lineTop to no longer incorrectly include top leading has implications for editing.  I ended up
17213         rewriting positionForPoint to exactly match selection, since that seemed to be the most intuitive
17214         behavior.  I got rid of the verticalClickFudgeFactor and now just use selectionTop and selectionBottom
17215         instead of lineTop and lineBottom.  I am pretty sure the code used selectionTop in a previous incarnation
17216         anyway and that I moved away from it when I implemented lineTop and lineBottom.  The code then grew
17217         more complicated from people trying to work with lineTop and lineBottom, but going back to selectionTop
17218         and selectionBottom is the right behavior I think.  One editing test has been updated after this change
17219         (editing/selection/after-line-break.html), and one DOM test has been changed to not hit test past the
17220         bottom of a line (fast/dom/Document/CaretRangeFromPoint/basic.html).
17221         
17222         I patched selection painting of InlineTextBoxes so that the leading going up to the next line box is used
17223         for "lr" and "bt" modes instead of the previous box.  This makes sense for English text, but we may want
17224         a different policy for Japanese text eventually (possibly just splitting the difference instead).  Leaving it
17225         this way for now, and we can collect feedback on the design.
17226         
17227         I rewrote all of the selection gap painting code to be writing-mode aware.  During the course of rewriting this
17228         code I noticed a bug in the logicalLeftSelectionOffset and logicalRightSelectionOffset functions where there
17229         was a coordinate space mismatch on a comparison.  Fixing this improves the repaint/selection-clear.html test.
17230
17231         Added new tests in fast/blockflow/.
17232
17233         * rendering/InlineFlowBox.cpp:
17234         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
17235         * rendering/InlineFlowBox.h:
17236         * rendering/InlineTextBox.cpp:
17237         (WebCore::InlineTextBox::selectionBottom):
17238         (WebCore::InlineTextBox::paintSelection):
17239         (WebCore::InlineTextBox::paintCompositionBackground):
17240         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
17241         (WebCore::InlineTextBox::paintTextMatchMarker):
17242         * rendering/InlineTextBox.h:
17243         * rendering/RenderBlock.cpp:
17244         (WebCore::RenderBlock::selectionGapRectsForRepaint):
17245         (WebCore::RenderBlock::paintSelection):
17246         (WebCore::clipOutPositionedObjects):
17247         (WebCore::blockDirectionOffset):
17248         (WebCore::inlineDirectionOffset):
17249         (WebCore::RenderBlock::logicalRectToPhysicalRect):
17250         (WebCore::RenderBlock::selectionGaps):
17251         (WebCore::RenderBlock::inlineSelectionGaps):
17252         (WebCore::RenderBlock::blockSelectionGaps):
17253         (WebCore::RenderBlock::blockSelectionGap):
17254         (WebCore::RenderBlock::logicalLeftSelectionGap):
17255         (WebCore::RenderBlock::logicalRightSelectionGap):
17256         (WebCore::RenderBlock::logicalLeftSelectionOffset):
17257         (WebCore::RenderBlock::logicalRightSelectionOffset):
17258         * rendering/RenderBlock.h:
17259         * rendering/RenderBox.cpp:
17260         (WebCore::RenderBox::flipForWritingMode):
17261         * rendering/RenderBox.h:
17262         (WebCore::RenderBox::logicalBottom):
17263         * rendering/RootInlineBox.cpp:
17264         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
17265         (WebCore::RootInlineBox::lineSelectionGap):
17266         (WebCore::RootInlineBox::selectionTop):
17267         (WebCore::RootInlineBox::selectionBottom):
17268         * rendering/RootInlineBox.h:
17269
17270 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
17271
17272         Just put things back the way they were. Too many mysterious linker errors.
17273
17274 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
17275
17276         Undo most of the previous commit since the compiler seems to have trouble
17277         with an inlined operator++ in debug builds.
17278
17279         * platform/DeprecatedPtrListImpl.cpp:
17280         (WebCore::DeprecatedPtrListImplIterator::operator++):
17281         * platform/DeprecatedPtrListImpl.h:
17282
17283 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
17284
17285         Reviewed by Dave Hyatt.
17286
17287         Inline some DeprecatedPtrListImplIterator methods for performance
17288         https://bugs.webkit.org/show_bug.cgi?id=49124
17289
17290         This is a ~4% performance improvement on some Peacekeepr "Community" tests.
17291
17292         * platform/DeprecatedPtrListImpl.cpp:
17293         * platform/DeprecatedPtrListImpl.h:
17294         (WebCore::DeprecatedListNode::DeprecatedListNode):
17295         (WebCore::DeprecatedPtrListImplIterator::current):
17296         (WebCore::DeprecatedPtrListImplIterator::operator++):
17297
17298 2010-11-05  Adam Barth  <abarth@webkit.org>
17299
17300         Reviewed by Eric Seidel.
17301
17302         Gray-scale PNGs with color profiles don't decode properly on Chromium Mac
17303         https://bugs.webkit.org/show_bug.cgi?id=49110
17304
17305         Applying the color profile from this PNG was causing the image to
17306         triple in width.  This seems to be because both the PNG decoder and
17307         CoreGraphics were trying to expand the gray-scale image to RGB.  To fix
17308         this issue, I've disabled color profile support for gray-scale PNGs.
17309
17310         Test: fast/images/gray-scale-png-with-color-profile.html
17311
17312         * platform/image-decoders/png/PNGImageDecoder.cpp:
17313         (WebCore::PNGImageDecoder::headerAvailable):
17314
17315 2010-11-05  Jian Li  <jianli@chromium.org>
17316
17317         Reviewed by Dmitry Titov.
17318
17319         Need to check if page is detached in Frame::transferChildFrameToNewDocument to avoid occasional crash
17320         https://bugs.webkit.org/show_bug.cgi?id=49116
17321
17322         The fix is to add the check.
17323
17324         * page/Frame.cpp:
17325         (WebCore::Frame::transferChildFrameToNewDocument):
17326
17327 2010-11-04  Enrica Casucci  <enrica@apple.com>
17328
17329         Reviewed by Adele Peterson.
17330
17331         Pasting large amounts of plain text in a text area is very slow
17332         https://bugs.webkit.org/show_bug.cgi?id=49040
17333         <rdar://problem/7640912>
17334         
17335         The optimization consists in skipping the ApplyStyle command when
17336         pasting into a text area or into an element that has -webkit-user-modify: read-write-plaintext-only.
17337         The biggest performance hit comes from iterating through
17338         a large number of paragraph when no style change is needed.
17339         A further step will be to improve the paragraph iteration when it
17340         can't be avoided.
17341         
17342         * editing/ReplaceSelectionCommand.cpp:
17343         (WebCore::ReplaceSelectionCommand::doApply): Check if the selection
17344         is in a text form control or in an element that has -webkit-user-modify: read-write-plaintext-only
17345         and force no style matching.
17346
17347 2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
17348
17349         Reviewed by David Levin.
17350
17351         JSCallbackData::invokeCallback triggers layout from a worker thread
17352         https://bugs.webkit.org/show_bug.cgi?id=49096
17353
17354         Fixed the bug by only calling updateStyleForAllDocuments when the context is document in
17355         JSCallbackData::invokeCallback.
17356
17357         No new tests are added since many of existing workers tests hit the added assertion in debug builds.
17358
17359         * bindings/js/JSCallbackData.cpp:
17360         (WebCore::JSCallbackData::invokeCallback): No longer calls updateStyleForAllDocuments unconditionally.
17361         * dom/Document.cpp:
17362         (WebCore::Document::updateStyleIfNeeded): Added ASSERT(isMainThread()).
17363         (WebCore::Document::updateStyleForAllDocuments): Ditto.
17364         (WebCore::Document::updateLayout): Ditto.
17365
17366 2010-11-05  Ilya Sherman  <isherman@chromium.org>
17367
17368         Reviewed by Simon Fraser.
17369
17370         Querying selection start and end should be const
17371         https://bugs.webkit.org/show_bug.cgi?id=48786
17372
17373         * rendering/RenderTextControl.cpp:
17374         (WebCore::RenderTextControl::selectionStart):
17375         (WebCore::RenderTextControl::selectionEnd):
17376         (WebCore::RenderTextControl::visiblePositionForIndex):
17377         (WebCore::RenderTextControl::indexForVisiblePosition):
17378         * rendering/RenderTextControl.h:
17379
17380 2010-11-05  Chris Marrin  <cmarrin@apple.com>
17381
17382         Reviewed by Simon Fraser.
17383
17384         Move resumeAnimations/suspendAnimations from Frame to AnimationController.
17385         https://bugs.webkit.org/show_bug.cgi?id=49073
17386
17387         Changed the name of suspendAnimations/resumeAnimations to
17388         suspendAnimationsInDocument/resumeAnimationsInDocument. These are no
17389         longer exported, but have the same functionality as before. I then
17390         added new suspendAnimations/resumeAnimations function which take
17391         no params and suspend/resume on the frame owning the animation
17392         controller and all its child frames. These are the functions that
17393         are now exported. I then changed all the platform specific WebKit
17394         code to use these functions.
17395
17396         * WebCore.exp.in:
17397         * page/Frame.cpp:
17398         * page/Frame.h:
17399         * page/animation/AnimationController.cpp:
17400         (WebCore::AnimationControllerPrivate::suspendAnimations):
17401         (WebCore::AnimationControllerPrivate::resumeAnimations):
17402
17403 2010-11-04  Zhenyao Mo  <zmo@google.com>
17404
17405         Reviewed by Kenneth Russell.
17406
17407         Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter
17408         https://bugs.webkit.org/show_bug.cgi?id=49020
17409
17410         * html/canvas/WebGLFramebuffer.cpp:
17411         (WebCore::WebGLFramebuffer::getAttachment): Return the attached renderbuffer/texture.
17412         (WebCore::WebGLFramebuffer::isIncomplete): Add an extra parameter deciding whether we should check internal format matching the attachment point or not.
17413         (WebCore::WebGLFramebuffer::onAccess): Pass extra parameter in isIncomplete.
17414         * html/canvas/WebGLFramebuffer.h:
17415         * html/canvas/WebGLRenderingContext.cpp:
17416         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Pass extra parameter in isIncomplete.
17417         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Emulate DEPTH_STENCIL_ATTACHMENT; re-attach previously conflicted buffers upon detachment.
17418         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Throw an error when conflicted attachments exist.
17419         (WebCore::WebGLRenderingContext::renderbufferStorage): Map DEPTH_STENCIL to DEPTH24_STENCIL8.
17420         * platform/graphics/Extensions3D.h: Add DEPTH24_STENCIL8 enum and update the documentation.
17421         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
17422         (WebCore::GraphicsContext3D::framebufferRenderbuffer): Remove emulation code at this level.
17423
17424 2010-11-05  Chris Guillory  <chris.guillory@google.com>
17425
17426         Reviewed by Chris Fleizach.
17427
17428         Keep a reference to the scrollbar in accessibility scrollbar.
17429         https://bugs.webkit.org/show_bug.cgi?id=48896
17430
17431         * accessibility/AccessibilityScrollbar.h:
17432         (WebCore::AccessibilityScrollbar::scrollbar):
17433
17434 2010-11-05  Chang Shu  <chang.shu@nokia.com>
17435
17436         Reviewed by Antonio Gomes.
17437
17438         Add support for <select> element in single selection mode. We use space to
17439         trigger arrow key handling for selection change or spatial navigation.
17440         https://bugs.webkit.org/show_bug.cgi?id=48937
17441
17442         * dom/SelectElement.cpp:
17443         (WebCore::isSpatialNavigationEnabled):
17444         (WebCore::SelectElement::menuListDefaultEventHandler):
17445         (WebCore::SelectElement::listBoxDefaultEventHandler):
17446
17447 2010-11-05  Charlie Reis  <creis@chromium.org>
17448
17449         Reviewed by Darin Fisher.
17450
17451         Need to expose HistoryController::previousItem() for Chromium WebKit API.
17452         https://bugs.webkit.org/show_bug.cgi?id=48809
17453
17454         * loader/HistoryController.h:
17455
17456 2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
17457
17458         Reviewed by Darin Adler.
17459
17460         Crash in ApplyStyleCommand::surroundNodeRangeWithElement
17461         https://bugs.webkit.org/show_bug.cgi?id=48581
17462
17463         The crash was caused by a false assertion that we can always recover selection in
17464         ApplyStyleCommand::removeInlineStyle.  Fixed the crash by removing the assertion
17465         and adding an early exit to the call site.  Also converted raw pointers to RefPtr
17466         in surroundNodeRangeWithElement and addInlineStyleIfNeeded.
17467
17468         Test (non-Mac platforms): editing/style/iframe-onload-crash.html
17469
17470         * editing/ApplyStyleCommand.cpp:
17471         (WebCore::ApplyStyleCommand::applyInlineStyle):
17472         (WebCore::ApplyStyleCommand::removeInlineStyle):
17473         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
17474         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
17475         * editing/ApplyStyleCommand.h:
17476
17477 2010-11-04  Alexey Proskuryakov  <ap@apple.com>
17478
17479         Reviewed by Darin Adler.
17480
17481         https://bugs.webkit.org/show_bug.cgi?id=49008
17482         <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
17483
17484         Instance::m_runtimeObject used to be zeroed out by RuntimeObject destructor. But the
17485         destructor may not be called immediately - GC first marks an object as dead, and only 
17486         destroys it when its cell is overwritten. So, m_runtimeObject would keep pointing to a dead
17487         object.
17488
17489         Functions in JSPluginElementFunctions.cpp put the RuntimeObject on stack for later use,
17490         but if it's already dead, it can be overwritten before use.
17491
17492         The solution is of course to use WeakGCPtr, which returns 0 for dead objects.
17493
17494         * bridge/jsc/BridgeJSC.cpp:
17495         (JSC::Bindings::Instance::Instance):
17496         (JSC::Bindings::Instance::~Instance):
17497         (JSC::Bindings::Instance::createRuntimeObject):
17498         (JSC::Bindings::Instance::willDestroyRuntimeObject):
17499         (JSC::Bindings::Instance::willInvalidateRuntimeObject):
17500         * bridge/jsc/BridgeJSC.h:
17501         * bridge/runtime_object.cpp:
17502         (JSC::Bindings::RuntimeObject::~RuntimeObject):
17503         (JSC::Bindings::RuntimeObject::invalidate):
17504
17505 2010-11-05  Chris Marrin  <cmarrin@apple.com>
17506
17507         Reviewed by Simon Fraser.
17508
17509         Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
17510         https://bugs.webkit.org/show_bug.cgi?id=46945
17511
17512         Add new funtions to suspend and resume animations. The go through all subframes and suspend or resume them
17513         recursively.
17514
17515         Test: animations/stop-animation-on-suspend.html
17516
17517         * WebCore.exp.in:
17518         * page/Frame.cpp:
17519         (WebCore::Frame::suspendAnimations):
17520         (WebCore::Frame::resumeAnimations):
17521         * page/Frame.h:
17522
17523 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
17524
17525         Reviewed by Timothy Hatcher.
17526
17527         Web Inspector: Crash in InspectorDOMAgent::innerParentNode.
17528         https://bugs.webkit.org/show_bug.cgi?id=49054
17529
17530         * inspector/InspectorDOMAgent.cpp:
17531         (WebCore::InspectorDOMAgent::setOuterHTML):
17532
17533 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
17534
17535         Reviewed by Timothy Hatcher.
17536
17537         Web Inspector: XHR logging in console should give complete view of resource.
17538         https://bugs.webkit.org/show_bug.cgi?id=48998
17539
17540         Drive-by fixes: linkify line number to scripts panel, fall back to resources;
17541         enable multiline console entry on shift modifier as well.
17542         
17543         * inspector/front-end/NetworkPanel.js:
17544         (WebInspector.NetworkPanel):
17545         (WebInspector.NetworkPanel.prototype._reset):
17546         (WebInspector.NetworkPanel.prototype.refreshResource):
17547         (WebInspector.NetworkPanel.prototype.canShowSourceLine):
17548         (WebInspector.NetworkPanel.prototype.showSourceLine):
17549         * inspector/front-end/StoragePanel.js:
17550         (WebInspector.StoragePanel.prototype.show):
17551         (WebInspector.StoragePanel.prototype.showSourceLine):
17552         * inspector/front-end/inspector.js:
17553         (WebInspector.showPanel):
17554         (WebInspector.linkifyStringAsFragment):
17555
17556 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
17557
17558         Reviewed by Steve Block.
17559
17560         Clean up IDBTransactionBackend/Coordinator
17561         https://bugs.webkit.org/show_bug.cgi?id=48425
17562
17563         Get rid of obsolete id and thus we don't need the factory method
17564         on IDBTransactionCoordinator that creates IDBTransactionBackends.
17565
17566         Add an assert to IDBTransactionBackend to make sure we're not in
17567         the coordinator and then remove the coordinators ref counting link
17568         to the transaction.
17569
17570         Have the transaction backend zero out refs to the database when its
17571         done using it.
17572
17573         Existing tests provide coverage for this refactoring.
17574
17575         * storage/IDBDatabaseBackendImpl.cpp:
17576         (WebCore::IDBDatabaseBackendImpl::setVersion):
17577         (WebCore::IDBDatabaseBackendImpl::transaction):
17578         * storage/IDBTransactionBackendImpl.cpp:
17579         (WebCore::IDBTransactionBackendImpl::create):
17580         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
17581         (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
17582         (WebCore::IDBTransactionBackendImpl::abort):
17583         (WebCore::IDBTransactionBackendImpl::commit):
17584         * storage/IDBTransactionBackendImpl.h:
17585         * storage/IDBTransactionBackendInterface.h:
17586         * storage/IDBTransactionCoordinator.cpp:
17587         (WebCore::IDBTransactionCoordinator::didStartTransaction):
17588         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
17589         (WebCore::IDBTransactionCoordinator::isActive):
17590         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
17591         * storage/IDBTransactionCoordinator.h:
17592
17593 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
17594
17595         Reviewed by Steve Block.
17596
17597         IDBFactoryBackend's reference to IDBDatabaseBackend should be weak
17598         https://bugs.webkit.org/show_bug.cgi?id=48416
17599
17600         The factory's lifetime is that of the application, so without making
17601         this weak, IDBDatabaseBackend's will never be closed until the app
17602         terminates.
17603
17604         * storage/IDBDatabaseBackendImpl.cpp:
17605         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
17606         (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
17607         * storage/IDBDatabaseBackendImpl.h:
17608         (WebCore::IDBDatabaseBackendImpl::create):
17609         * storage/IDBFactoryBackendImpl.cpp:
17610         (WebCore::IDBFactoryBackendImpl::removeIDBDatabaseBackend):
17611         (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
17612         (WebCore::IDBFactoryBackendImpl::open):
17613         * storage/IDBFactoryBackendImpl.h:
17614
17615 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
17616
17617         Reviewed by Steve Block.
17618
17619         IDBObjectStoreBackend and IDBIndexBackend should not depend on IDBDatabaseBackend
17620         https://bugs.webkit.org/show_bug.cgi?id=48410
17621
17622         Break dependency cyles between IDBDatabaseBackend and the other classes listed.
17623         This was causing memory leaks.
17624
17625         * storage/IDBCursorBackendImpl.cpp:
17626         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
17627         (WebCore::IDBCursorBackendImpl::updateInternal):
17628         (WebCore::IDBCursorBackendImpl::removeInternal):
17629         (WebCore::IDBCursorBackendImpl::database):
17630         * storage/IDBCursorBackendImpl.h:
17631         (WebCore::IDBCursorBackendImpl::create):
17632         * storage/IDBDatabaseBackendImpl.cpp:
17633         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
17634         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
17635         * storage/IDBIndexBackendImpl.cpp:
17636         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
17637         (WebCore::IDBIndexBackendImpl::openCursorInternal):
17638         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
17639         * storage/IDBIndexBackendImpl.h:
17640         (WebCore::IDBIndexBackendImpl::create):
17641         (WebCore::IDBIndexBackendImpl::storeName):
17642         * storage/IDBObjectStoreBackendImpl.cpp:
17643         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
17644         (WebCore::IDBObjectStoreBackendImpl::createIndex):
17645         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
17646         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
17647         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
17648         * storage/IDBObjectStoreBackendImpl.h:
17649         (WebCore::IDBObjectStoreBackendImpl::create):
17650
17651 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
17652
17653         Reviewed by Timothy Hatcher.
17654
17655         Web Inspector: inspector lags on large resources with numerous <script> tags.
17656         https://bugs.webkit.org/show_bug.cgi?id=49060
17657
17658         * inspector/front-end/ScriptsPanel.js:
17659         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
17660
17661 2010-11-05  Patrick Gansterer  <paroga@webkit.org>
17662
17663         Reviewed by David Kilzer.
17664
17665         Replace ARRAYSIZE with WTF_ARRAY_LENGTH
17666         https://bugs.webkit.org/show_bug.cgi?id=48903
17667
17668         * platform/UUID.cpp:
17669         (WebCore::createCanonicalUUIDString):
17670         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
17671         (WebCore::FontCache::getFontDataForCharacters):
17672         * platform/graphics/win/FontCacheWin.cpp:
17673         (WebCore::FontCache::getLastResortFallbackFont):
17674         * platform/graphics/win/IconWin.cpp:
17675         (WebCore::Icon::createIconForFiles):
17676         * platform/win/ClipboardUtilitiesWin.cpp:
17677         (WebCore::getWebLocData):
17678         * platform/win/ClipboardWin.cpp:
17679         (WebCore::createGlobalHDropContent):
17680         (WebCore::createGlobalImageFileDescriptor):
17681         (WebCore::ClipboardWin::files):
17682         (WebCore::ClipboardWin::writeURL):
17683         * platform/win/DragDataWin.cpp:
17684         (WebCore::DragData::asFilenames):
17685         * platform/win/FileSystemWin.cpp:
17686         (WebCore::safeCreateFile):
17687
17688 2010-11-05  Roland Steiner  <rolandsteiner@chromium.org>
17689
17690         Reviewed by Dirk Schulze.
17691
17692         Bug 48979 - [Chromium] SVGListPropertyTearOff.h: function commitChange ASSERTs on Win & Mac
17693         https://bugs.webkit.org/show_bug.cgi?id=48979
17694
17695         Function removeItemValuesAndWrappers(): Move code out of 'if' statement so that
17696         'wrappers' and 'values' stay synced.
17697
17698         test: svg/dom/baseVal-animVal-crash.html doesn't ASSERT
17699
17700         * svg/properties/SVGListProperty.h:
17701         (WebCore::SVGListProperty::removeItemValuesAndWrappers):
17702
17703 2010-11-05  John Reck  <jreck@google.com>
17704
17705         Reviewed by Nikolas Zimmermann.
17706
17707         The change to SVGPropertyTearOff by CodeGeneratorV8.pm caused two build failures
17708         for Android. One was a missing SVGPropertyTearOff.h include, the other was a 
17709         missing forward declaration of FloatRect. Seems to be the result of:
17710         https://bugs.webkit.org/show_bug.cgi?id=48204
17711
17712         Bug: https://bugs.webkit.org/show_bug.cgi?id=49025
17713
17714         No tests needed, fixes build issue.
17715
17716         * bindings/scripts/CodeGeneratorV8.pm:
17717
17718 2010-11-05  Rob Buis  <rwlbuis@gmail.com>
17719
17720         Reviewed by David Hyatt.
17721
17722         CSSRule#parentRule always null
17723         https://bugs.webkit.org/show_bug.cgi?id=46228
17724
17725         Ensure MediaList child rules have the MediaList set as parent
17726         in order to correct their parentRule correctness.
17727
17728         Test: fast/dom/css-mediarule-parentRule.html
17729
17730         * css/CSSMediaRule.cpp:
17731         (WebCore::CSSMediaRule::CSSMediaRule):
17732
17733 2010-11-04  Xan Lopez  <xlopez@igalia.com>
17734
17735         Fix the GTK+ build.
17736
17737         * GNUmakefile.am:
17738
17739 2010-10-20  Chang Shu  <chang.shu@nokia.com>, Antonio Gomes <tonikitoo@webkit.org>
17740
17741         Reviewed by Simon Fraser.
17742
17743         [Qt] Makes <input type=text> and <textarea> functional with
17744         Spatial Navigation enabled. Before this patch, the focus cannot
17745         move away from input box once it is in. This patch allows focus
17746         move to neighbor nodes when the caret reaches the edge of the texts.
17747         This patch does not support yet cases where the focused <input>
17748         has a JS handler for the arrow keys.
17749         https://bugs.webkit.org/show_bug.cgi?id=37153
17750
17751         Tests: fast/events/spatial-navigation/snav-input.html
17752                fast/events/spatial-navigation/snav-textarea.html
17753
17754         * editing/EditorCommand.cpp:
17755         (WebCore::executeMoveDown):
17756         (WebCore::executeMoveLeft):
17757         (WebCore::executeMoveRight):
17758         (WebCore::executeMoveUp):
17759         * editing/SelectionController.cpp:
17760         (WebCore::SelectionController::modify):
17761
17762 2010-11-04  Dan Bernstein  <mitz@apple.com>
17763
17764         Build fix.
17765
17766         * editing/Editor.cpp:
17767         (WebCore::Editor::dismissCorrectionPanel):
17768
17769 2010-11-04  Jia Pu  <jpu@apple.com>
17770
17771         Reviewed by Dan Bernstein.
17772
17773         reversion bubble in WebViews
17774         https://bugs.webkit.org/show_bug.cgi?id=47630
17775         <rdar://problem/8530960>
17776
17777         Added manual test:
17778         manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html
17779         manual-tests/autocorrection/delete-to-dismiss-reversion.html
17780         manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
17781         manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html
17782         manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html
17783
17784         We can only manully test this feature for two reasons:
17785         1. On Mac OS X, the result of spell checking is partly determined by past user usage. We can't
17786            realiably generating test cases until we can disable user custom data during spell checking.
17787         2. To exerciese this feature, we need a minimum of 0.3 second delay using WebCore timer.
17788
17789         This patch is to add reversion to correction panel. It consists of following major code changes:
17790         1. Collected all autocorrection related member variables in Editor into a CorrectionPanelInfo
17791            class to improve readability.
17792         2. Changed signature of Editor::startCorrectionPanelTimer() to allow caller to specify the
17793            type of correction panel--regular correction or reversion.
17794         3. Made necessary changes to adopt reversion API in AppKit.
17795         4. Use SUPPORT_CORRECTION_PANEL macro to improve readability.
17796
17797         * GNUmakefile.am: Added CorrectionPanelInfo.h.
17798         * WebCore.gypi: Ditto.
17799         * WebCore.pro: Ditto.
17800         * WebCore.vcproj/WebCore.vcproj: Ditto.
17801         * WebCore.xcodeproj/project.pbxproj:
17802         * editing/CorrectionPanelInfo.h: Added.
17803         * editing/Editor.cpp:
17804         (WebCore::Editor::respondToChangedSelection): Start correction panel timer for reversion when
17805           the new selection is a caret selection at end of a previously corrected word.
17806         (WebCore::Editor::appliedEditing): Stop timer at the beginning of the method instead of at the end.
17807         (WebCore::Editor::~Editor): Adopted new method dismissCorrectionPanel().
17808         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new method applyCorrectionPanelInfo().
17809         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Code change for new m_correctionPanelInfo
17810           member variable.
17811         (WebCore::Editor::correctionPanelTimerFired): Change to handle reversion panel type.
17812         (WebCore::Editor::handleRejectedCorrection): Ditto.
17813         (WebCore::Editor::startCorrectionPanelTimer): Changed signature to allow passing in panel type.
17814         (WebCore::Editor::stopCorrectionPanelTimer): Adopted macro SUPPORT_CORRECTION_PANEL.
17815         (WebCore::Editor::handleCancelOperation): Ditto.
17816         (WebCore::Editor::isShowingCorrectionPanel): Ditto.
17817         (WebCore::Editor::dismissCorrectionPanel): Update m_correctionPanelInfo when correction panel
17818           is dismissed.
17819         (WebCore::Editor::applyCorrectionPanelInfo): Factored out code that applies autocorrection.
17820         (WebCore::Editor::changeSelectionAfterCommand): Adopt macro SUPPORT_CORRECTION_PANEL.
17821         * editing/Editor.h: Adopted CorrectionPanelInfo and add new member methods.
17822         * editing/EditorCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL
17823         (WebCore::createCommandMap):
17824         * editing/TypingCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL and new signature of
17825           startCorrectionPanelTimer().
17826         (WebCore::TypingCommand::markMisspellingsAfterTyping):
17827         * loader/EmptyClients.h:
17828         (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature of base class method.
17829         (WebCore::EmptyEditorClient::dismissCorrectionPanel):  Ditto.
17830         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Added.
17831         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Added.
17832         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Added.
17833         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Added.
17834         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Added.
17835         * page/EditorClient.h: Changed signature of showCorrectionPanel() and dismissCorrectionPanel().
17836         * platform/graphics/mac/GraphicsContextMac.mm: Added comment to improve readability.
17837         (WebCore::GraphicsContext::drawLineForTextChecking):
17838
17839 2010-11-04  Dan Bernstein  <mitz@apple.com>
17840
17841         Reviewed by Dave Hyatt.
17842
17843         Made table layout and painting work with all writing modes. Hit-testing, repainting, tables
17844         where some elements have their own layers, and cells whose writing mode differs from the
17845         table’s are not supported yet.
17846
17847         Part of: Make tables work with vertical text
17848         https://bugs.webkit.org/show_bug.cgi?id=46417
17849
17850         Tests: fast/table/027-vertical.html
17851                fast/table/028-vertical.html
17852                fast/table/035-vertical.html
17853                fast/table/038-vertical.html
17854                fast/table/040-vertical.html
17855                fast/table/auto-with-percent-height-vertical.html
17856                fast/table/border-collapsing/001-vertical.html
17857                fast/table/border-collapsing/002-vertical.html
17858                fast/table/border-collapsing/003-vertical.html
17859                fast/table/border-collapsing/004-vertical.html
17860                fast/table/border-collapsing/border-collapsing-head-foot-vertical.html
17861                fast/table/border-collapsing/equal-precedence-resolution-vertical.html
17862                fast/table/border-collapsing/rtl-border-collapsing-vertical.html
17863                fast/table/colspanMinWidth-vertical.html
17864                fast/table/fixed-with-auto-with-colspan-vertical.html
17865                fast/table/growCellForImageQuirk-vertical.html
17866                fast/table/height-percent-test-vertical.html
17867                fast/table/percent-widths-stretch-vertical.html
17868                fast/table/rowspan-paint-order-vertical.html
17869                fast/table/table-display-types-vertical.html
17870
17871         * css/CSSStyleSelector.cpp:
17872         (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to allow all writing modes for tables,
17873         make row groups, rows, column groups and columns inherit the table’s writing mode. For now,
17874         make cells do this too.
17875         * html/HTMLTableElement.cpp:
17876         (WebCore::HTMLTableElement::parseMappedAttribute): Map align=center using logical properties.
17877         * rendering/RenderTable.cpp:
17878         (WebCore::RenderTable::RenderTable): Initialize m_borderStart and m_borderEnd.
17879         (WebCore::RenderTable::styleDidChange): Changed the rule for when to use auto layout to look
17880         at the logical width instead of the width.
17881         (WebCore::RenderTable::computeLogicalWidth): Uses logical widths and works with perpendicular
17882         containing blocks.
17883         (WebCore::RenderTable::layout): Use logical lengths.
17884         (WebCore::RenderTable::setCellLogicalWidths): Renamed setCellWidths() to this and updated for
17885         the renaming of RenderTableSection::setCellWidths().
17886         (WebCore::RenderTable::paintObject): Account for flipped modes.
17887         (WebCore::RenderTable::subtractCaptionRect): Added this helper method the considers writing modes.
17888         (WebCore::RenderTable::paintBoxDecorations): Adopted subtractCaptionRect().
17889         (WebCore::RenderTable::paintMask): Ditto.
17890         (WebCore::RenderTable::computePreferredLogicalWidths): Updated for the renaming of
17891         recalcHorizontalBorders().
17892         (WebCore::RenderTable::calcBorderStart): Renamed calcBorderLeft() to this and changed it to use
17893         borderStart(). Splits odd number of pixels based on the physical side.
17894         (WebCore::RenderTable::calcBorderEnd): Similar.
17895         (WebCore::RenderTable::recalcBordersInRowDirection): Renamed recalcHorizontalBorders() to this
17896         and updated for other renames.
17897         (WebCore::RenderTable::borderBefore): Replaced borderTop() with this.
17898         (WebCore::RenderTable::borderAfter): Similar.
17899         (WebCore::RenderTable::outerBorderBefore): Similar.
17900         (WebCore::RenderTable::outerBorderAfter): Similar.
17901         (WebCore::RenderTable::outerBorderStart): Similar.
17902         (WebCore::RenderTable::outerBorderEnd): Similar.
17903         (WebCore::RenderTable::firstLineBoxBaseline): Changed to use logical heights.
17904         (WebCore::RenderTable::overflowClipRect): Account for writing modes.
17905         * rendering/RenderTable.h:
17906         (WebCore::RenderTable::borderStart):
17907         (WebCore::RenderTable::borderEnd):
17908         (WebCore::RenderTable::borderLeft):
17909         (WebCore::RenderTable::borderRight):
17910         (WebCore::RenderTable::borderTop):
17911         (WebCore::RenderTable::borderBottom):
17912         (WebCore::RenderTable::outerBorderLeft):
17913         (WebCore::RenderTable::outerBorderRight):
17914         (WebCore::RenderTable::outerBorderTop):
17915         (WebCore::RenderTable::outerBorderBottom):
17916         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Changed to match its name.
17917         * rendering/RenderTableRow.cpp:
17918         (WebCore::RenderTableRow::styleWillChange): Changed to detect changes to logical height.
17919         * rendering/RenderTableSection.cpp:
17920         (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative): Renamed and changed to use
17921         logical heights.
17922         (WebCore::RenderTableSection::RenderTableSection): Updated initializers for new member variables.
17923         (WebCore::RenderTableSection::addChild): Updated for rename.
17924         (WebCore::RenderTableSection::ensureRows): Ditto.
17925         (WebCore::RenderTableSection::addCell): Ditto. Also use logical heights.
17926         (WebCore::RenderTableSection::setCellLogicalWidths): Renamed setCellWidths() to this, changed
17927         to use logical widths.
17928         (WebCore::RenderTableSection::calcRowLogicalHeight): Added “logical” to the name. Updated with
17929         logical heights.
17930         (WebCore::RenderTableSection::layoutRows):
17931         (WebCore::RenderTableSection::calcOuterBorderBefore):
17932         (WebCore::RenderTableSection::calcOuterBorderAfter):
17933         (WebCore::RenderTableSection::calcOuterBorderStart):
17934         (WebCore::RenderTableSection::calcOuterBorderEnd):
17935         (WebCore::RenderTableSection::recalcOuterBorder):
17936         (WebCore::RenderTableSection::firstLineBoxBaseline):
17937         (WebCore::RenderTableSection::paintCell):
17938         (WebCore::RenderTableSection::recalcCells):
17939         * rendering/RenderTableSection.h:
17940         (WebCore::RenderTableSection::outerBorderBefore):
17941         (WebCore::RenderTableSection::outerBorderAfter):
17942         (WebCore::RenderTableSection::outerBorderStart):
17943         (WebCore::RenderTableSection::outerBorderEnd):
17944
17945 2010-11-04  Kent Tamura  <tkent@chromium.org>
17946
17947         Unreviewed, trivial test fix.
17948
17949         Fix GTK build for http://trac.webkit.org/changeset/71373 .
17950
17951         * GNUmakefile.am: Add HTMLOutputElement.{cpp,h}
17952
17953 2010-11-04  MORITA Hajime  <morrita@google.com>
17954
17955         Reviewed by Kent Tamura.
17956
17957         Stale reference to RenderObject held as FrameView layoutRoot
17958         https://bugs.webkit.org/show_bug.cgi?id=48019
17959         
17960         <progress> and <meter> shouldn't have children of its RenderObject,
17961         which caused unexpected result.
17962         This change suppresses child creation to prevent it.
17963
17964         Tests: fast/dom/HTMLMeterElement/meter-element-with-child-crash.html
17965                fast/dom/HTMLProgressElement/progress-element-with-child-crash.html
17966
17967         * rendering/RenderIndicator.h:
17968         (WebCore::RenderIndicator::canHaveChildren):
17969
17970 2010-11-04  Kenichi Ishibashi  <bashi@google.com>
17971
17972         Reviewed by Kent Tamura.
17973
17974         [HTML5][Forms] Support for <output> element
17975         https://bugs.webkit.org/show_bug.cgi?id=29363
17976
17977         Support for <output> element.
17978
17979         Tests: fast/dom/HTMLOutputElement/dom-settable-token-list.html
17980                fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html
17981                fast/dom/HTMLOutputElement/htmloutputelement-validity.html
17982                fast/dom/HTMLOutputElement/htmloutputelement-value.html
17983                fast/dom/HTMLOutputElement/htmloutputelement.html
17984
17985         * Android.derived.jscbindings.mk: Added JSHTMLOutputElement.h.
17986         * Android.derived.v8bindings.mk: Added V8HTMLOutputElement.h.
17987         * Android.jscbindings.mk: Added JSHTMLOutputElementCustom.cpp.
17988         * Android.mk: Added HTMLOutputElement.cpp.
17989         * Android.v8bindings.mk: Added V8HTMLOutputElementCustom.cpp.
17990         * CMakeLists.txt: Added HTMLOutputElement.{idl,cpp} and JSHTMLOutputElementCustom.cpp.
17991         * DerivedSources.cpp: Added JSHTMLOutputElement.cpp.
17992         * DerivedSources.make: Added HTMLOutputElement entry.
17993         * GNUmakefile.am: Added JSHTMLOutputElement.{cpp,h}
17994         * WebCore.gypi: Added HTMLOutputElement.{idl,cpp,h}, JSHTMLOutputElementCustom.cpp and V8HTMLOutputElementCustom.cpp
17995         * WebCore.pri: Added HTMLOutputElement.idl.
17996         * WebCore.pro: Added V8HTMLOutputElementCustom.cpp, JSHTMLOutputElementCustom.cpp and HTMLOutputElement.cpp.
17997         * WebCore.vcproj/WebCore.vcproj: Added entries for JSHTMLOutputElement.{cpp,h} and JSHTMLOutputElementCustom.cpp.
17998         * WebCore.xcodeproj/project.pbxproj: Added entries for JSHTMLOutputElementCustom.cpp, HTMLOutputElement.{cpp,h,idl}, JSHTMLOutputElement.{cpp,h}
17999         * bindings/js/JSBindingsAllInOne.cpp: Added JSHTMLOutputElementCustom.cpp.
18000         * bindings/js/JSHTMLOutputElementCustom.cpp: Added.
18001         (WebCore::JSHTMLOutputElement::htmlFor):
18002         (WebCore::JSHTMLOutputElement::setHtmlFor):
18003         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Modified.
18004         (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Returns null if the index is out of range.
18005         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Added.
18006         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
18007         (WebCore::V8HTMLOutputElement::htmlForAccessorSetter):
18008         * css/html.css: Added a default style of output element.
18009         (output):
18010         * html/DOMSettableTokenList.cpp: Fix bugs.
18011         (WebCore::DOMSettableTokenList::item): Returns null string if the index is out of range.
18012         (WebCore::DOMSettableTokenList::addInternal): Added check m_tokens.isNull().
18013         (WebCore::DOMSettableTokenList::setValue): Set the value case sensitive.
18014         * html/HTMLOutputElement.cpp: Added.
18015         (WebCore::HTMLOutputElement::HTMLOutputElement):
18016         (WebCore::HTMLOutputElement::create):
18017         (WebCore::HTMLOutputElement::formControlType):
18018         (WebCore::HTMLOutputElement::parseMappedAttribute):
18019         (WebCore::HTMLOutputElement::htmlFor):
18020         (WebCore::HTMLOutputElement::setFor):
18021         (WebCore::HTMLOutputElement::setForm):
18022         (WebCore::HTMLOutputElement::childrenChanged):
18023         (WebCore::HTMLOutputElement::reset):
18024         (WebCore::HTMLOutputElement::value):
18025         (WebCore::HTMLOutputElement::setValue):
18026         (WebCore::HTMLOutputElement::defaultValue):
18027         (WebCore::HTMLOutputElement::setDefaultValue):
18028         (WebCore::HTMLOutputElement::setTextContentInternal):
18029         * html/HTMLOutputElement.h: Added.
18030         (WebCore::HTMLOutputElement::isEnumeratable):
18031         (WebCore::HTMLOutputElement::willValidate):
18032         * html/HTMLOutputElement.idl: Added.
18033         * html/HTMLTagNames.in: Added "output".
18034         * page/DOMWindow.idl: Added an attribute for HTMLOutputElement.
18035
18036 2010-11-04  Zhenyao Mo  <zmo@google.com>
18037
18038         Reviewed by Kenneth Russell.
18039
18040         Remove IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
18041         https://bugs.webkit.org/show_bug.cgi?id=48938
18042
18043         * html/canvas/WebGLRenderingContext.cpp:
18044         (WebCore::WebGLRenderingContext::initializeNewContext):
18045         (WebCore::WebGLRenderingContext::getParameter):
18046         (WebCore::WebGLRenderingContext::readPixels):
18047         * html/canvas/WebGLRenderingContext.h:
18048         * html/canvas/WebGLRenderingContext.idl:
18049         * platform/graphics/GraphicsContext3D.h:
18050         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
18051         (WebCore::GraphicsContext3D::getIntegerv):
18052
18053 2010-11-04  Zhenyao Mo  <zmo@google.com>
18054
18055         Reviewed by Kenneth Russell.
18056
18057         TypedArray should throw exception if length not a multiple of element size
18058         https://bugs.webkit.org/show_bug.cgi?id=45487
18059
18060         * bindings/js/JSArrayBufferViewHelper.h:
18061         (WebCore::constructArrayBufferView):
18062         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
18063         (WebCore::constructWebGLArray):
18064
18065 2010-11-04  Kenneth Russell  <kbr@google.com>
18066
18067         Reviewed by Adam Barth.
18068
18069         [chromium] Mac: WebGL: all textured content is blue
18070         https://bugs.webkit.org/show_bug.cgi?id=49021
18071
18072         Added support for 8-bit, little-endian CGImages. The previous
18073         image decode path used the default byte order, which is apparently
18074         big-endian.
18075
18076         Tested with various WebGL content and layout tests in Chromium.
18077         Ran layout tests in WebKit and tested various WebGL content in
18078         Safari. Was not able to run layout tests with Chromium port of
18079         DumpRenderTree due to build failures currently in the tree.
18080
18081         * platform/graphics/GraphicsContext3D.cpp:
18082         (WebCore::doPacking):
18083         * platform/graphics/GraphicsContext3D.h:
18084         * platform/graphics/cg/GraphicsContext3DCG.cpp:
18085         (WebCore::getSourceDataFormat):
18086         (WebCore::GraphicsContext3D::getImageData):
18087
18088 2010-11-03  Zhenyao Mo  <zmo@google.com>
18089
18090         Reviewed by Kenneth Russell.
18091
18092         renderbufferStorage(DEPTH_STENCIL) shouldn't generate an error
18093         https://bugs.webkit.org/show_bug.cgi?id=48891
18094
18095         * html/canvas/WebGLFramebuffer.cpp:
18096         (WebCore::WebGLFramebuffer::isIncomplete): Considering the case where DEPTH_STENCIL is not supported.
18097         * html/canvas/WebGLRenderbuffer.cpp:
18098         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
18099         * html/canvas/WebGLRenderbuffer.h: Add members and accessor functions.
18100         (WebCore::WebGLRenderbuffer::setInternalFormat): 
18101         (WebCore::WebGLRenderbuffer::setSize):
18102         (WebCore::WebGLRenderbuffer::getWidth):
18103         (WebCore::WebGLRenderbuffer::getHeight):
18104         (WebCore::WebGLRenderbuffer::setIsValid):
18105         (WebCore::WebGLRenderbuffer::isValid):
18106         * html/canvas/WebGLRenderingContext.cpp:
18107         (WebCore::WebGLRenderingContext::initializeNewContext): Check if packed_depth_stencil extension exists.
18108         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Simulate the case for DEPTH_STENCIL where packed_depth_stencil is not supported.
18109         (WebCore::WebGLRenderingContext::renderbufferStorage): Bypass the call if packed_depth_stencil is not supported.
18110         * html/canvas/WebGLRenderingContext.h:
18111
18112 2010-11-04  Kavita Kanetkar  <kkanetkar@chromium.org>
18113
18114         Reviewed by Adam Barth.
18115
18116         Web Inspector: Enable files ystem UI for chromium
18117         https://bugs.webkit.org/show_bug.cgi?id=48963
18118
18119         * inspector/Inspector.idl:
18120         * inspector/InspectorFileSystemAgent.cpp:
18121         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
18122         * inspector/InspectorFileSystemAgent.h:
18123         * inspector/front-end/FileSystemView.js:
18124         (WebInspector.FileSystemView):
18125         (WebInspector.FileSystemView.prototype.setFileSystemDisabled):
18126         (WebInspector.FileSystemView.prototype._createTextAndButton):
18127         (WebInspector.FileSystemView.prototype.refreshFileSystem):
18128         * inspector/front-end/StoragePanel.js:
18129         (WebInspector.StoragePanel.prototype.setFileSystemDisabled):
18130         * inspector/front-end/inspector.js:
18131         (WebInspector.didGetFileSystemDisabled):
18132         (WebInspector.reset):
18133
18134 2010-11-04  Robert Hogan  <robert@webkit.org>
18135
18136         Reviewed by Darin Adler.
18137
18138         Stale reference to JSDOMWindow in ScriptController::m_cacheableBindingObject
18139
18140         After bug 37725 we need to update the globalObject() (i.e. JSDOMWindow)
18141         associated with the m_cacheablebindingRootObject every time we clear the
18142         frame and load a new page. This allows the runtime objects
18143         (e.g. LayoutTestController etc.) to persist between navigations as
18144         before but also ensures that when qt_runtime, or any other bridge,
18145         looks at the root->globalObject() of a cacheable binding object
18146         it gets the DOMWindow of the current page rather than the DOMWindow
18147         that was in place when m_cacheableBindingRootObject was created.
18148
18149         Fixes fast/dom/nodesFromRect-basic.html on Qt.
18150
18151         https://bugs.webkit.org/show_bug.cgi?id=48758
18152
18153         * bindings/js/ScriptController.cpp:
18154         (WebCore::ScriptController::clearWindowShell):
18155         * bridge/runtime_root.cpp:
18156         (JSC::Bindings::RootObject::updateGlobalObject):
18157         * bridge/runtime_root.h:
18158
18159 2010-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18160
18161         Reviewed by David Hyatt.
18162
18163         Delegate scrolling via a separate method
18164         https://bugs.webkit.org/show_bug.cgi?id=48988
18165
18166         Add a delegatedScrollRequested method to HostWindow for delegating
18167         scrolling to the view. This is only used in conjunction with tiling,
18168         and is ifdef'ed.
18169
18170         * page/Chrome.cpp:
18171         (WebCore::Chrome::delegatedScrollRequested):
18172         * page/Chrome.h:
18173         * page/ChromeClient.h:
18174         * platform/HostWindow.h:
18175         * platform/ScrollView.cpp:
18176         (WebCore::ScrollView::setScrollPosition):
18177
18178 2010-11-04  Pavel Feldman  <pfeldman@chromium.org>
18179
18180         Reviewed by Timothy Hatcher.
18181
18182         Web Inspector: Need better way of switching back to the Timeline view of the Network tab.
18183         https://bugs.webkit.org/show_bug.cgi?id=48995
18184
18185         - Moved close button to the left, preceding tab headers;
18186         - Auto-adjusting summary bar width when switching to the preview mode
18187         - Auto-scrolling network log if it was scrolled to bottom.
18188
18189         * inspector/front-end/DataGrid.js:
18190         (WebInspector.DataGrid):
18191         (WebInspector.DataGrid.prototype.isScrolledToLastRow):
18192         (WebInspector.DataGrid.prototype.scrollToLastRow):
18193         * inspector/front-end/NetworkPanel.js:
18194         (WebInspector.NetworkPanel):
18195         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
18196         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
18197         (WebInspector.NetworkPanel.prototype.refresh):
18198         (WebInspector.NetworkPanel.prototype._reset):
18199         (WebInspector.NetworkPanel.prototype._toggleGridMode):
18200         * inspector/front-end/inspector.css:
18201         (.tabbed-pane-header li):
18202         * inspector/front-end/networkPanel.css:
18203         (.network-summary-bar):
18204         (#network-close-button):
18205         (#network-views.small #network-close-button):
18206         (#network-views .resource-view .tabbed-pane-header):
18207         (#network-views.small .resource-view .tabbed-pane-header):
18208
18209 2010-11-04  Erik Arvidsson  <arv@chromium.org>
18210
18211         Reviewed by Dimitri Glazkov.
18212
18213         Support box-sizing without the vendor prefix
18214         https://bugs.webkit.org/show_bug.cgi?id=36713
18215
18216         Based on patch by Peter Beverloo <peter@lvp-media.com>
18217
18218         Test: fast/css/box-sizing-backwards-compat-prefix.html
18219
18220         * css/CSSComputedStyleDeclaration.cpp:
18221         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
18222         * css/CSSParser.cpp:
18223         (WebCore::CSSParser::parseValue):
18224         (WebCore::cssPropertyID): This handles -webkit-box-sizing and maps it to box-sizing.
18225         * css/CSSPropertyNames.in:
18226         * css/CSSStyleSelector.cpp:
18227         (WebCore::CSSStyleSelector::applyProperty):
18228         * css/quirks.css: Change -webkit-box-sizing to box-sizing.
18229         (input:not([type=image]), textarea):
18230         * css/view-source.css: Ditto.
18231         (.webkit-line-gutter-backdrop, .webkit-line-number):
18232         * css/wml.css: Ditto.
18233         (do):
18234         (select):
18235
18236 2010-11-04  John Reck  <jreck@google.com>
18237
18238         Reviewed by Steve Block.
18239
18240         Fix a linker failure when building for Android
18241         https://bugs.webkit.org/show_bug.cgi?id=48964
18242         
18243         The Android stub for setCookieStoragePrivateBrowsingEnabled(bool) wasn't in the WebCore namespace, which caused
18244         a linker failure when building for Android. Moved the stub to the WebCore namespace. This was caused by 
18245         http://trac.webkit.org/changeset/70400
18246         
18247         No new tests, build fix only
18248
18249         * platform/android/TemporaryLinkStubs.cpp:
18250
18251 2010-11-04  Joseph Pecoraro  <joepeck@webkit.org>
18252
18253         Reviewed by Andreas Kling.
18254
18255         Request.h getters can be made const
18256         https://bugs.webkit.org/show_bug.cgi?id=49003
18257
18258         Added the const qualifier to some getters that don't mutate the object.
18259
18260         * loader/Request.h:
18261         (WebCore::Request::cachedResource):
18262         (WebCore::Request::cachedResourceLoader):
18263         (WebCore::Request::isIncremental):
18264         (WebCore::Request::isMultipart):
18265
18266 2010-11-03  Brian Weinstein  <bweinstein@apple.com>
18267
18268         Reviewed by Brady Eidson.
18269
18270         User scripts shouldn't be injected in a frame's empty initial document.
18271         https://bugs.webkit.org/show_bug.cgi?id=48970
18272         <rdar://problem/8618164>
18273         <rdar://problem/8082122>
18274         
18275         When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our
18276         current policy with user scripts is to inject them into both the initial empty document, and then inject
18277         them again.
18278         
18279         This causes developers to think their scripts have been injected twice into all iframes, and there is a timing
18280         issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document
18281         of the main frame when a new tab or window is created.
18282         
18283         The fix for this is to not inject user scripts when the frame is creating its initial empty document before loading
18284         the correct source.
18285
18286         * page/Frame.cpp:
18287         (WebCore::Frame::injectUserScripts):
18288
18289 2010-11-04  Andreas Kling  <kling@webkit.org>
18290
18291         Reviewed by Nikolas Zimmermann.
18292
18293         GraphicsContext: Don't do full save/restore when painting with low quality scaling
18294         https://bugs.webkit.org/show_bug.cgi?id=48738
18295
18296         Stash the imageInterpolationQuality() in a local and reset it after painting.
18297
18298         * platform/graphics/GraphicsContext.cpp:
18299         (WebCore::GraphicsContext::drawImage):
18300         (WebCore::GraphicsContext::drawTiledImage):
18301         (WebCore::GraphicsContext::drawImageBuffer):
18302         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
18303         (WebCore::GraphicsContext::imageInterpolationQuality):
18304         * platform/graphics/skia/GraphicsContextSkia.cpp:
18305         (WebCore::GraphicsContext::imageInterpolationQuality):
18306         * platform/graphics/wince/GraphicsContextWinCE.cpp:
18307         (WebCore::GraphicsContext::imageInterpolationQuality):
18308
18309 2010-11-04  Nikolas Zimmermann  <nzimmermann@rim.com>
18310
18311         Reviewed by Andreas Kling.
18312
18313         Refactor SVGStringListPropertyTearOff/SVGListPropertyTearOff to use a common base class
18314         https://bugs.webkit.org/show_bug.cgi?id=48990
18315
18316         Introduce SVGListProperty as common base class between static lists (SVGStringListPropertyTearOff) and dynamic lists (SVGListPropertyTearOff).
18317         This is a preparation for the addition of the next static list type: SVGPointList.
18318
18319         * GNUmakefile.am: Add new files to build.
18320         * WebCore.gypi: Ditto.
18321         * WebCore.pro: Ditto.
18322         * WebCore.vcproj/WebCore.vcproj: Ditto.
18323         * WebCore.xcodeproj/project.pbxproj: Ditto.
18324         * bindings/scripts/CodeGenerator.pm: s/SVGStringListPropertyTearOff/SVGStaticListPropertyTearOff/.
18325         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
18326         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
18327         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
18328         * svg/properties/SVGAnimatedListPropertyTearOff.h: Include SVGStaticListPropertyTearOff.h here, to avoid special dependencies in CodeGenerator*.pm
18329         * svg/properties/SVGListProperty.h: Added.
18330         * svg/properties/SVGListPropertyTearOff.h: Use SVGList API implementation from SVGListProperty base class.
18331         * svg/properties/SVGStaticListPropertyTearOff.h: Added. Use SVGList API implementation from SVGListProperty base class.
18332         * svg/properties/SVGStringListPropertyTearOff.h: Removed.
18333
18334 2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
18335
18336         Unreviewed. Fixed WebCore.xcodeproject
18337
18338         * WebCore.xcodeproj/project.pbxproj:
18339
18340 2010-11-04  Pratik Solanki  <psolanki@apple.com>
18341
18342         Reviewed by Darin Adler.
18343
18344         Should make use of purge priorities for different resource types
18345         https://bugs.webkit.org/show_bug.cgi?id=48684
18346
18347         Assign purge priorities to CachedResource objects. JavaScript and CSS stylesheets are more
18348         important than images so hint to the kernel to purge them last. We do this by repurposing
18349         the previously unused function, PurgeableBuffer::setPurgePriority(). It now just sets the
18350         priority field and does not have side-effects like calling makePurgeable(true).
18351
18352         Also, remove unusued PurgeableBuffer::create(const Vector<char>&) function and move the
18353         purgeable memory size threshold from CachedResource to PurgeableBuffer.
18354
18355         * WebCore.xcodeproj/project.pbxproj: Add new PurgePriority.h header and mark it as private
18356         header.
18357         * loader/CachedCSSStyleSheet.h:
18358         (WebCore::CachedCSSStyleSheet::purgePriority):
18359         * loader/CachedImage.h:
18360         (WebCore::CachedImage::purgePriority):
18361         * loader/CachedResource.cpp:
18362         (WebCore::CachedResource::makePurgeable): Set the purge priority on the PurgeableBffer.
18363         Also, move the check for purgeable size threshold to PurgeableBuffer.
18364         * loader/CachedResource.h:
18365         (WebCore::CachedResource::purgePriority): Added. New virtual method that lets the class
18366         specify its purge priority.
18367         * loader/CachedScript.h:
18368         (WebCore::CachedScript::purgePriority):
18369         * platform/PurgePriority.h: Added. Move the PurgePriority enum from PurgeableBuffer class to
18370         its own header file.
18371         (WebCore::):
18372         * platform/PurgeableBuffer.h:
18373         (WebCore::PurgeableBuffer::setPurgePriority): Update this previously unused function to just
18374         set the priority and not call makePurgeable(true).
18375         * platform/mac/PurgeableBufferMac.cpp: Update size threshold to 16KB which is what
18376         CachedResource was using.
18377
18378 2010-11-04  Chris Guillory  <chris.guillory@google.com>
18379
18380         Reviewed by Chris Fleizach.
18381
18382         Ignore static text children of text field controls in the accessibility tree.
18383         https://bugs.webkit.org/show_bug.cgi?id=48944
18384
18385         * accessibility/AccessibilityRenderObject.cpp:
18386         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
18387
18388 2010-11-04  Erik Arvidsson  <arv@chromium.org>
18389
18390         Reviewed by Tony Chang.
18391
18392         Computed style is not correct for negative values in the presence of zooming
18393         https://bugs.webkit.org/show_bug.cgi?id=48855
18394
18395         * rendering/style/RenderStyle.h:
18396         (WebCore::adjustForAbsoluteZoom): When the value is less than zero we need to decrement instead of increment.
18397
18398 2010-11-04  Shane Stephens  <shanestephens@google.com>
18399
18400         Reviewed by Tony Chang.
18401
18402         SVGStyledTransformableElement supplemental transforms pre-multiplied
18403         but should be post-multiplied.
18404         https://bugs.webkit.org/show_bug.cgi?id=48026
18405
18406         Test: svg/animations/animate-path-nested-transforms.svg
18407
18408         * svg/SVGStyledTransformableElement.cpp:
18409         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
18410         
18411         Switched order of multiplication.  Note that due to a bug in
18412         AffineTransform's operator* implementation the order of arguments is
18413         reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
18414
18415 2010-11-04  James Simonsen  <simonjam@chromium.org>
18416
18417         Reviewed by Darin Fisher.
18418
18419         [Web Timing] Implement dom* timing marks
18420         https://bugs.webkit.org/show_bug.cgi?id=46301
18421
18422         Test: fast/dom/webtiming-document-open.html
18423
18424         * GNUmakefile.am: Added DocumentTiming.h
18425         * WebCore.gypi: Ditto.
18426         * WebCore.vcproj/WebCore.vcproj: Ditto.
18427         * WebCore.xcodeproj/project.pbxproj: Ditto.
18428         * dom/Document.cpp:
18429         (WebCore::Document::setReadyState): Set DOM WebTiming marks.
18430         (WebCore::Document::finishedParsing): Set DOM WebTiming marks.
18431         * dom/Document.h:
18432         (WebCore::Document::timing): Added.
18433         * dom/DocumentTiming.h: Added.
18434         (WebCore::DocumentTiming::DocumentTiming):
18435         * page/Timing.cpp: Added DOM timing.
18436         (WebCore::Timing::domLoading): Ditto.
18437         (WebCore::Timing::domInteractive): Ditto.
18438         (WebCore::Timing::domContentLoaded): Ditto.
18439         (WebCore::Timing::domComplete): Ditto.
18440         (WebCore::Timing::documentTiming): Ditto.
18441         * page/Timing.h: Ditto.
18442         * page/Timing.idl: Ditto.
18443
18444 2010-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>
18445
18446         Reviewed by Martin Robinson.
18447
18448         [GTK] Implement unencodable characters handling in TextCodecGtk::encode()
18449         https://bugs.webkit.org/show_bug.cgi?id=48902
18450
18451         Fixes a crash in test fast/encoding/char-encoding.html.
18452
18453         * platform/text/gtk/TextCodecGtk.cpp:
18454         (WebCore::TextCodecGtk::encode):
18455
18456 2010-11-04  Adam Barth  <abarth@webkit.org>
18457
18458         Enabled ICCJPEG on Chromium Mac
18459         https://bugs.webkit.org/show_bug.cgi?id=48977
18460
18461         Add iccjpeg as a dependency.
18462
18463         * WebCore.gyp/WebCore.gyp:
18464
18465 2010-11-03  Kent Tamura  <tkent@chromium.org>
18466
18467         Reviewed by Dimitri Glazkov.
18468
18469         Framework to show form validation message for invalid controls
18470         https://bugs.webkit.org/show_bug.cgi?id=31718
18471
18472         HTMLFormElement::validateInteractively() shows a validation message for
18473         an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
18474         and the message is hidden when the invalid control looses focus, becomes
18475         valid, detached, or the form is submitted again.
18476
18477         Introduce ValidationMessage class to manage visible form validation
18478         message. It has no implementation to show/hide a message yet.
18479
18480         No new tests. New behavior is disabled by default, and is timing-dependent.
18481
18482         * Android.mk: Add ValidationMessage.
18483         * CMakeLists.txt: ditto.
18484         * GNUmakefile.am: ditto.
18485         * WebCore.gypi: ditto.
18486         * WebCore.pro: ditto.
18487         * WebCore.vcproj/WebCore.vcproj: ditto.
18488         * WebCore.xcodeproj/project.pbxproj: ditto.
18489         * html/HTMLFormControlElement.cpp:
18490         (WebCore::HTMLFormControlElement::detach): Hides a validation message.
18491         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
18492            Hides a validation message if validation is not needed.
18493         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
18494         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
18495         (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
18496           Hides a validation message or updates the validation message.
18497         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
18498           Hides a validation message.
18499         (WebCore::HTMLFormControlElement::visibleValidationMessage):
18500         * html/HTMLFormControlElement.h:
18501         * html/HTMLFormElement.cpp:
18502         (WebCore::HTMLFormElement::validateInteractively):
18503          - Hide existing validation messages before showing new message.
18504          - Show new validation message.
18505         * html/ValidationMessage.cpp: Added.
18506         (WebCore::ValidationMessage::ValidationMessage):
18507         (WebCore::ValidationMessage::~ValidationMessage):
18508         (WebCore::ValidationMessage::create):
18509         (WebCore::ValidationMessage::setMessage):
18510         (WebCore::ValidationMessage::hideMessage):
18511         * html/ValidationMessage.h: Added.
18512         (WebCore::ValidationMessage::message):
18513
18514 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
18515
18516         Reviewed by Adam Roben.
18517
18518         Port WCDataObject.cpp to WinCE
18519         https://bugs.webkit.org/show_bug.cgi?id=48921
18520
18521         OleDuplicateData is not supported on WinCE.
18522
18523         * platform/win/WCDataObject.cpp:
18524         (WebCore::WCDataObject::CopyMedium):
18525
18526 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
18527
18528         Reviewed by Adam Roben.
18529
18530         Port ClipboardWin.cpp to WinCE
18531         https://bugs.webkit.org/show_bug.cgi?id=48412
18532
18533         * platform/win/ClipboardWin.cpp:
18534         (WebCore::writeFileToDataObject):
18535
18536 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
18537
18538         Reviewed by Adam Roben.
18539
18540         Port ClipboardWin.cpp to WinCE
18541         https://bugs.webkit.org/show_bug.cgi?id=48412
18542
18543         * platform/win/ClipboardWin.cpp:
18544         (WebCore::filesystemPathFromUrlOrTitle):
18545         (WebCore::createGlobalHDropContent):
18546         (WebCore::ClipboardWin::files):
18547
18548 2010-11-03  Vincent Scheib  <scheib@chromium.org>
18549
18550         Reviewed by James Robinson.
18551
18552         [chromium] GraphicsContext3D creation attributes include canRecoverFromContextLoss option
18553         https://bugs.webkit.org/show_bug.cgi?id=48850
18554
18555         Implementations of GraphicsContext3D may respect the creation attribute
18556         canRecoverFromContextLoss being false, and then only succeeding initialization if
18557         the context can satisfy that request of never being lost. DX9 on XP can not satisfy
18558         such a request.
18559
18560         Test by use of accelerated canvas 2d in Chromium with ANGLE on XP machines.
18561
18562         * platform/graphics/GraphicsContext3D.h:
18563         (WebCore::GraphicsContext3D::Attributes::Attributes):
18564         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
18565         (WebCore::SharedGraphicsContext3D::create):
18566
18567 2010-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
18568
18569         Reviewed by Martin Robinson.
18570
18571         [GTK] Use sentence boundaries instead of start/end sentence
18572         https://bugs.webkit.org/show_bug.cgi?id=48422
18573
18574         Using sentence boundaries all intersentence
18575         whitespace/control/format characters are assigned to a
18576         sentence. This is what ICU does, so we have to do the same in
18577         order to get the same results with glib unicode backend. It fixes
18578         the sentence tests cases in test fast/dom/Range/range-expand.html.
18579
18580         * platform/text/gtk/TextBreakIteratorGtk.cpp:
18581         (WebCore::textBreakNext):
18582         (WebCore::textBreakPrevious):
18583
18584 2010-11-03  Zhenyao Mo  <zmo@google.com>
18585
18586         Reviewed by Kenneth Russell.
18587
18588         depthRange should generate INVALID_OPERATION if zNear is greater than zFar
18589         https://bugs.webkit.org/show_bug.cgi?id=48676
18590
18591         * html/canvas/WebGLRenderingContext.cpp:
18592         (WebCore::WebGLRenderingContext::depthRange):
18593
18594 2010-11-03  Adrienne Walker  <enne@google.com>
18595
18596         Reviewed by Kenneth Russell.
18597
18598         Properly return empty strings instead of null when using invalid
18599         objects for some WebGL calls.  This fixes issues caused by r71274.
18600         https://bugs.webkit.org/show_bug.cgi?id=48962
18601
18602         * html/canvas/WebGLRenderingContext.cpp:
18603         (WebCore::WebGLRenderingContext::getProgramInfoLog):
18604         (WebCore::WebGLRenderingContext::getShaderInfoLog):
18605         (WebCore::WebGLRenderingContext::getShaderSource):
18606
18607 2010-11-01  Ryosuke Niwa  <rniwa@webkit.org>
18608
18609         Reviewed by Darin Adler.
18610
18611         Crash in ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle
18612         https://bugs.webkit.org/show_bug.cgi?id=48581
18613
18614         The crash was caused by RemoveNodePreservingChildrenCommand's calling removeNode
18615         on m_node without checking that m_node has a parent and it's still in the document.
18616         Fixed the crash by adding an early exit in CompositeEditCommand::removeNode and
18617         deploying RefPtr in several places of ApplyStyleCommand.cpp.
18618
18619         Test: editing/style/iframe-onload-crash.html
18620
18621         * editing/ApplyStyleCommand.cpp:
18622         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
18623         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
18624         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
18625         * editing/ApplyStyleCommand.h:
18626         * editing/CompositeEditCommand.cpp:
18627         (WebCore::CompositeEditCommand::removeNode):
18628
18629 2010-11-03  Jia Pu  <jpu@apple.com>
18630
18631         Reviewed by Darin Adler.
18632
18633         Crashes in WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair() when deleting multiple lines of text.
18634         https://bugs.webkit.org/show_bug.cgi?id=48918
18635         <rdar://problem/8620602>
18636
18637         I haven't been able to found a reliable way to reproduce the bug. However, whenever it happens,
18638         the crash is caused by a null node pointer returned by TextIterator. So it seems to be a 
18639         safe fix to guard against that. 
18640
18641         * editing/Editor.cpp: (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
18642
18643 2010-11-02  Zhenyao Mo  <zmo@google.com>
18644
18645         Reviewed by Kenneth Russell.
18646
18647         A different mask or reference value in stencil operations should generate INVALID_OPERATION
18648         https://bugs.webkit.org/show_bug.cgi?id=48669
18649
18650         * html/canvas/WebGLRenderingContext.cpp:
18651         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init stencil func ref/mask and stencil mask to default.
18652         (WebCore::WebGLRenderingContext::stencilFunc): Cache ref/mask value.
18653         (WebCore::WebGLRenderingContext::stencilFuncSeparate): Generate error if front/back values differ.
18654         (WebCore::WebGLRenderingContext::stencilMask): Cache mask value.
18655         (WebCore::WebGLRenderingContext::stencilMaskSeparate): Generate error if front/back values differ.
18656         (WebCore::WebGLRenderingContext::validateFace): Validate face parameter.
18657         (WebCore::WebGLRenderingContext::validateStencilFunc): Validate stencil func parameter.
18658         * html/canvas/WebGLRenderingContext.h: Add members to track stencil func ref/mask and stencil mask.
18659
18660 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
18661
18662         Reverting r71244, r71248 and r71250. Broke default event handling inside text fields.
18663         https://bugs.webkit.org/show_bug.cgi?id=46015
18664
18665         * Android.mk:
18666         * CMakeLists.txt:
18667         * GNUmakefile.am:
18668         * WebCore.gypi:
18669         * WebCore.pro:
18670         * WebCore.vcproj/WebCore.vcproj:
18671         * WebCore.xcodeproj/project.pbxproj:
18672         * dom/ContainerNode.cpp:
18673         (WebCore::notifyChildInserted):
18674         * dom/DOMAllInOne.cpp:
18675         * dom/EventContext.cpp: Removed.
18676         * dom/EventContext.h: Removed.
18677         * dom/Node.cpp:
18678         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
18679         (WebCore::Node::createRendererIfNeeded):
18680         (WebCore::Node::eventParentNode):
18681         (WebCore::Node::enclosingLinkEventParentOrSelf):
18682         (WebCore::eventTargetAsSVGElementInstance):
18683         (WebCore::eventTargetRespectingSVGTargetRules):
18684         (WebCore::Node::eventAncestors):
18685         (WebCore::Node::dispatchGenericEvent):
18686         * dom/Node.h:
18687         * dom/Text.cpp:
18688         (WebCore::Text::createRenderer):
18689         * dom/WindowEventContext.cpp: Removed.
18690         * dom/WindowEventContext.h: Removed.
18691         * inspector/InspectorDOMAgent.cpp:
18692         (WebCore::InspectorDOMAgent::getEventListenersForNode):
18693         * inspector/InspectorInstrumentation.cpp:
18694         (WebCore::eventHasListeners):
18695         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
18696         * inspector/InspectorInstrumentation.h:
18697         (WebCore::InspectorInstrumentation::willDispatchEvent):
18698         * page/EventHandler.cpp:
18699         (WebCore::EventHandler::updateMouseEventTargetNode):
18700         * rendering/ShadowElement.h:
18701         (WebCore::ShadowElement::shadowParent):
18702         (WebCore::ShadowElement::shadowParentNode):
18703         * svg/SVGElement.cpp:
18704         (WebCore::SVGElement::eventParentNode):
18705         * svg/SVGElement.h:
18706
18707 2010-11-03  Adam Barth  <abarth@webkit.org>
18708
18709         Reviewed by Eric Seidel.
18710
18711         CG use of WebKit image decoders crashes on some animated GIFs
18712         https://bugs.webkit.org/show_bug.cgi?id=48955
18713
18714         It turns out CFDataGetMutableBytePtr isn't safe call on a null pointer.
18715
18716         Test: fast/images/dont-crash-with-null-gif-frames.html
18717
18718         * platform/image-decoders/cg/ImageDecoderCG.cpp:
18719         (WebCore::RGBA32Buffer::copyReferenceToBitmapData):
18720         (WebCore::RGBA32Buffer::copyBitmapData):
18721
18722 2010-11-03  Adrienne Walker  <enne@google.com>
18723
18724         Reviewed by Kenneth Russell.
18725
18726         Implement lost, restored, and creation failure context events for
18727         WebGLRenderingContext.  The lost and restored functions are not hooked
18728         up yet, but the context now acts according to the spec as it should
18729         during a lost context.  Tested manually, as there's no programmatic
18730         way to lose a context yet.
18731         https://bugs.webkit.org/show_bug.cgi?id=35626
18732
18733         * WebCore.gypi:
18734         * WebCore.xcodeproj/project.pbxproj:
18735         * bindings/js/JSWebGLRenderingContextCustom.cpp:
18736         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
18737         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
18738         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
18739         * dom/EventNames.h:
18740         * html/canvas/WebGLContextEvent.cpp: Added.
18741         (WebCore::WebGLContextEvent::WebGLContextEvent):
18742         (WebCore::WebGLContextEvent::~WebGLContextEvent):
18743         (WebCore::WebGLContextEvent::initEvent):
18744         * html/canvas/WebGLContextEvent.h: Added.
18745         (WebCore::WebGLContextEvent::create):
18746         (WebCore::WebGLContextEvent::statusMessage):
18747         * html/canvas/WebGLContextEvent.idl: Added.
18748         * html/canvas/WebGLRenderingContext.cpp:
18749         (WebCore::WebGLRenderingContext::create):
18750         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
18751         (WebCore::WebGLRenderingContext::initializeNewContext):
18752         (WebCore::WebGLRenderingContext::activeTexture):
18753         (WebCore::WebGLRenderingContext::attachShader):
18754         (WebCore::WebGLRenderingContext::bindAttribLocation):
18755         (WebCore::WebGLRenderingContext::bindBuffer):
18756         (WebCore::WebGLRenderingContext::bindFramebuffer):
18757         (WebCore::WebGLRenderingContext::bindRenderbuffer):
18758         (WebCore::WebGLRenderingContext::bindTexture):
18759         (WebCore::WebGLRenderingContext::blendColor):
18760         (WebCore::WebGLRenderingContext::blendEquation):
18761         (WebCore::WebGLRenderingContext::blendEquationSeparate):
18762         (WebCore::WebGLRenderingContext::blendFunc):
18763         (WebCore::WebGLRenderingContext::blendFuncSeparate):
18764         (WebCore::WebGLRenderingContext::bufferData):
18765         (WebCore::WebGLRenderingContext::bufferSubData):
18766         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
18767         (WebCore::WebGLRenderingContext::clear):
18768         (WebCore::WebGLRenderingContext::clearColor):
18769         (WebCore::WebGLRenderingContext::clearDepth):
18770         (WebCore::WebGLRenderingContext::clearStencil):
18771         (WebCore::WebGLRenderingContext::colorMask):
18772         (WebCore::WebGLRenderingContext::compileShader):
18773         (WebCore::WebGLRenderingContext::copyTexImage2D):
18774         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
18775         (WebCore::WebGLRenderingContext::createBuffer):
18776         (WebCore::WebGLRenderingContext::createFramebuffer):
18777         (WebCore::WebGLRenderingContext::createTexture):
18778         (WebCore::WebGLRenderingContext::createProgram):
18779         (WebCore::WebGLRenderingContext::createRenderbuffer):
18780         (WebCore::WebGLRenderingContext::createShader):
18781         (WebCore::WebGLRenderingContext::cullFace):
18782         (WebCore::WebGLRenderingContext::deleteBuffer):
18783         (WebCore::WebGLRenderingContext::deleteFramebuffer):
18784         (WebCore::WebGLRenderingContext::deleteProgram):
18785         (WebCore::WebGLRenderingContext::deleteRenderbuffer):
18786         (WebCore::WebGLRenderingContext::deleteShader):
18787         (WebCore::WebGLRenderingContext::deleteTexture):
18788         (WebCore::WebGLRenderingContext::depthFunc):
18789         (WebCore::WebGLRenderingContext::depthMask):
18790         (WebCore::WebGLRenderingContext::depthRange):
18791         (WebCore::WebGLRenderingContext::detachShader):
18792         (WebCore::WebGLRenderingContext::disable):
18793         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
18794         (WebCore::WebGLRenderingContext::drawArrays):
18795         (WebCore::WebGLRenderingContext::drawElements):
18796         (WebCore::WebGLRenderingContext::enable):
18797         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
18798         (WebCore::WebGLRenderingContext::finish):
18799         (WebCore::WebGLRenderingContext::flush):
18800         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
18801         (WebCore::WebGLRenderingContext::framebufferTexture2D):
18802         (WebCore::WebGLRenderingContext::frontFace):
18803         (WebCore::WebGLRenderingContext::generateMipmap):
18804         (WebCore::WebGLRenderingContext::getActiveAttrib):
18805         (WebCore::WebGLRenderingContext::getActiveUniform):
18806         (WebCore::WebGLRenderingContext::getAttachedShaders):
18807         (WebCore::WebGLRenderingContext::getAttribLocation):
18808         (WebCore::WebGLRenderingContext::getBufferParameter):
18809         (WebCore::WebGLRenderingContext::getContextAttributes):
18810         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
18811         (WebCore::WebGLRenderingContext::getParameter):
18812         (WebCore::WebGLRenderingContext::getProgramParameter):
18813         (WebCore::WebGLRenderingContext::getProgramInfoLog):
18814         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
18815         (WebCore::WebGLRenderingContext::getShaderParameter):
18816         (WebCore::WebGLRenderingContext::getShaderInfoLog):
18817         (WebCore::WebGLRenderingContext::getShaderSource):
18818         (WebCore::WebGLRenderingContext::getTexParameter):
18819         (WebCore::WebGLRenderingContext::getUniform):
18820         (WebCore::WebGLRenderingContext::getUniformLocation):
18821         (WebCore::WebGLRenderingContext::getVertexAttrib):
18822         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
18823         (WebCore::WebGLRenderingContext::hint):
18824         (WebCore::WebGLRenderingContext::isBuffer):
18825         (WebCore::WebGLRenderingContext::isContextLost):
18826         (WebCore::WebGLRenderingContext::isEnabled):
18827         (WebCore::WebGLRenderingContext::isFramebuffer):
18828         (WebCore::WebGLRenderingContext::isProgram):
18829         (WebCore::WebGLRenderingContext::isRenderbuffer):
18830         (WebCore::WebGLRenderingContext::isShader):
18831         (WebCore::WebGLRenderingContext::isTexture):
18832         (WebCore::WebGLRenderingContext::lineWidth):
18833         (WebCore::WebGLRenderingContext::linkProgram):
18834         (WebCore::WebGLRenderingContext::pixelStorei):
18835         (WebCore::WebGLRenderingContext::polygonOffset):
18836         (WebCore::WebGLRenderingContext::readPixels):
18837         (WebCore::WebGLRenderingContext::releaseShaderCompiler):
18838         (WebCore::WebGLRenderingContext::renderbufferStorage):
18839         (WebCore::WebGLRenderingContext::sampleCoverage):
18840         (WebCore::WebGLRenderingContext::scissor):
18841         (WebCore::WebGLRenderingContext::shaderSource):
18842         (WebCore::WebGLRenderingContext::stencilFunc):
18843         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
18844         (WebCore::WebGLRenderingContext::stencilMask):
18845         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
18846         (WebCore::WebGLRenderingContext::stencilOp):
18847         (WebCore::WebGLRenderingContext::stencilOpSeparate):
18848         (WebCore::WebGLRenderingContext::texImage2D):
18849         (WebCore::WebGLRenderingContext::texParameter):
18850         (WebCore::WebGLRenderingContext::texSubImage2DBase):
18851         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
18852         (WebCore::WebGLRenderingContext::texSubImage2D):
18853         (WebCore::WebGLRenderingContext::uniform1f):
18854         (WebCore::WebGLRenderingContext::uniform1fv):
18855         (WebCore::WebGLRenderingContext::uniform1i):
18856         (WebCore::WebGLRenderingContext::uniform1iv):
18857         (WebCore::WebGLRenderingContext::uniform2f):
18858         (WebCore::WebGLRenderingContext::uniform2fv):
18859         (WebCore::WebGLRenderingContext::uniform2i):
18860         (WebCore::WebGLRenderingContext::uniform2iv):
18861         (WebCore::WebGLRenderingContext::uniform3f):
18862         (WebCore::WebGLRenderingContext::uniform3fv):
18863         (WebCore::WebGLRenderingContext::uniform3i):
18864         (WebCore::WebGLRenderingContext::uniform3iv):
18865         (WebCore::WebGLRenderingContext::uniform4f):
18866         (WebCore::WebGLRenderingContext::uniform4fv):
18867         (WebCore::WebGLRenderingContext::uniform4i):
18868         (WebCore::WebGLRenderingContext::uniform4iv):
18869         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
18870         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
18871         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
18872         (WebCore::WebGLRenderingContext::useProgram):
18873         (WebCore::WebGLRenderingContext::validateProgram):
18874         (WebCore::WebGLRenderingContext::vertexAttribPointer):
18875         (WebCore::WebGLRenderingContext::viewport):
18876         (WebCore::WebGLRenderingContext::loseContext):
18877         (WebCore::WebGLRenderingContext::restoreContext):
18878         (WebCore::WebGLRenderingContext::addObject):
18879         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
18880         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
18881         * html/canvas/WebGLRenderingContext.h:
18882         * html/canvas/WebGLRenderingContext.idl:
18883         * platform/graphics/GraphicsContext3D.h:
18884
18885 2010-11-03  Kenneth Russell  <kbr@google.com>
18886
18887         Reviewed by Chris Marrin.
18888
18889         Redesign extension mechanism in GraphicsContext3D
18890         https://bugs.webkit.org/show_bug.cgi?id=46894
18891
18892         Upon request, factored out extension support from GraphicsContext3D
18893         into a new Extensions3D class. (The plural was chosen because the
18894         class and subclasses hold multiple extensions.)
18895
18896         Unlike GraphicsContext3D, Extensions3D contains only pure virtual
18897         methods. This was done because Extensions3D's inheritance diagram
18898         and usage pattern is very different from that of GraphicsContext3D,
18899         and the concrete subclasses need to decide how to implement the
18900         various entry points. Requiring them to be placed at the
18901         Extensions3D level will cause implementation details to leak into
18902         the base class, which is highly undesirable. Any virtual call
18903         overhead to these entry points will be negligible.
18904
18905         Changed call sites utilizing these extensions to call through the
18906         Extensions3D object or its subclasses.
18907
18908         Tested:
18909          - Chromium on Linux with accelerated 2D canvas and HTML5 video
18910          - Chromium on Mac OS X with WebGL and CSS 3D content
18911          - Safari on Mac OS X with WebGL and CSS 3D content
18912
18913         No new tests. Covered by existing tests.
18914
18915         * WebCore.gypi:
18916         * WebCore.pro:
18917         * WebCore.xcodeproj/project.pbxproj:
18918         * platform/graphics/Extensions3D.h: Added.
18919         (WebCore::Extensions3D::~Extensions3D):
18920         * platform/graphics/GraphicsContext3D.cpp:
18921         * platform/graphics/GraphicsContext3D.h:
18922         * platform/graphics/chromium/DrawingBufferChromium.cpp:
18923         (WebCore::DrawingBuffer::DrawingBuffer):
18924         (WebCore::DrawingBuffer::publishToPlatformLayer):
18925         * platform/graphics/chromium/Extensions3DChromium.h: Added.
18926         * platform/graphics/chromium/VideoLayerChromium.cpp:
18927         (WebCore::VideoLayerChromium::updateTexture):
18928         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
18929         (WebCore::SharedGraphicsContext3D::supportsBGRA):
18930         * platform/graphics/gpu/SharedGraphicsContext3D.h:
18931         * platform/graphics/gpu/Texture.cpp:
18932         (WebCore::convertFormat):
18933         * platform/graphics/mac/GraphicsContext3DMac.mm:
18934         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added.
18935         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
18936         (WebCore::Extensions3DOpenGL::~Extensions3DOpenGL):
18937         (WebCore::Extensions3DOpenGL::supports):
18938         (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
18939         * platform/graphics/opengl/Extensions3DOpenGL.h: Added.
18940         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
18941         (WebCore::GraphicsContext3D::getExtensions):
18942         * platform/graphics/qt/Extensions3DQt.cpp: Added.
18943         (WebCore::Extensions3DQt::Extensions3DQt):
18944         (WebCore::Extensions3DQt::~Extensions3DQt):
18945         (WebCore::Extensions3DQt::supports):
18946         (WebCore::Extensions3DQt::getGraphicsResetStatusARB):
18947         * platform/graphics/qt/Extensions3DQt.h: Added.
18948         * platform/graphics/qt/GraphicsContext3DQt.cpp:
18949         (WebCore::GraphicsContext3D::getExtensions):
18950         * platform/graphics/skia/PlatformContextSkia.cpp:
18951         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
18952
18953 2010-11-03  Mike Thole  <mthole@apple.com>
18954
18955         Reviewed by Darin Adler.
18956         
18957         Tweak coding style (follow-up to r71264).
18958         
18959         * platform/mac/Language.mm:
18960         (WebCore::createHTTPStyleLanguageCode): Style tweaks.
18961
18962 2010-11-03  Darin Adler  <darin@apple.com>
18963
18964         Updated Xcode projects by opening them with Xcode 3.2.4.
18965         Updated svn:ignore for Xcode projects.
18966
18967         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added property svn:ignore.
18968         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
18969
18970 2010-11-03  Matthew Delaney  <mdelaney@apple.com>
18971
18972         Reviewed by Darin Adler.
18973
18974         Fix canvas/philip/tests/2d.pattern.image.undefined.html
18975         https://bugs.webkit.org/show_bug.cgi?id=48894
18976
18977         * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Changed error thrown to match the spec.
18978
18979 2010-11-03  Simon Fraser  <simon.fraser@apple.com>
18980
18981         Reviewed by John Sullivan.
18982
18983         Crash when setting context font to bad value
18984         https://bugs.webkit.org/show_bug.cgi?id=48948
18985         
18986         Null-check the CSSValue passed to CSSStyleSelector::applyPropertyToStyle(),
18987         since it may be null if the style declaration does not contain a value
18988         for the 'font' property.
18989
18990         Test: fast/canvas/invalid-set-font-crash.html
18991
18992         * css/CSSStyleSelector.cpp:
18993         (WebCore::CSSStyleSelector::applyPropertyToStyle):
18994
18995 2010-11-03  Mike Thole  <mthole@apple.com>
18996
18997         Reviewed by Alexey Proskuryakov.
18998
18999         Crash under WebCore::platformDefaultLanguage() when using Arabic language
19000         https://bugs.webkit.org/show_bug.cgi?id=48946
19001
19002         * platform/mac/Language.mm:
19003         (WebCore::createHTTPStyleLanguageCode):
19004         Retain the lowercaseLanguageCode string before returning it.  This was the code path that
19005         would lead to a crash.  Also removed early return to prevent a leak of preferredLanguageCode.
19006
19007 2010-11-03  Dan Bernstein  <mitz@apple.com>
19008
19009         Reviewed by Dave Hyatt.
19010
19011         Made table column width allocation algorithms use logical widths.
19012
19013         Part of: Make tables work with vertical text
19014         https://bugs.webkit.org/show_bug.cgi?id=46417
19015
19016         No new tests since tables don’t support different block flows yet.
19017
19018         * rendering/AutoTableLayout.cpp:
19019         (WebCore::AutoTableLayout::AutoTableLayout):
19020         (WebCore::AutoTableLayout::recalcColumn):
19021         (WebCore::AutoTableLayout::fullRecalc):
19022         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
19023         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
19024         (WebCore::AutoTableLayout::insertSpanCell):
19025         (WebCore::AutoTableLayout::layout):
19026         * rendering/AutoTableLayout.h:
19027         (WebCore::AutoTableLayout::Layout::Layout):
19028         * rendering/FixedTableLayout.cpp:
19029         (WebCore::FixedTableLayout::calcWidthArray):
19030         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
19031         (WebCore::FixedTableLayout::layout):
19032         * rendering/FixedTableLayout.h:
19033         * rendering/RenderTable.h:
19034         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Renamed, but not changed yet.
19035
19036 2010-11-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
19037
19038         Unreviewed build fix for r71253
19039
19040         #endif for TILED_BACKING_STORE was at the wrong place.
19041
19042         * platform/graphics/qt/GraphicsLayerQt.cpp:
19043         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
19044
19045 2010-11-03  David Hyatt  <hyatt@apple.com>
19046
19047         Reviewed by Dan Bernstein.
19048
19049         https://bugs.webkit.org/show_bug.cgi?id=48945
19050         
19051         Patch logicalLeftSelectionOffset and logicalRightSelectionOffset to be directionally abstract.
19052         
19053         Also make sure writing mode roots are also selection painting roots.
19054
19055         * rendering/RenderBlock.cpp:
19056         (WebCore::RenderBlock::isSelectionRoot):
19057         (WebCore::RenderBlock::logicalLeftSelectionOffset):
19058         (WebCore::RenderBlock::logicalRightSelectionOffset):
19059         * rendering/RenderBlock.h:
19060
19061 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
19062
19063         Reviewed by Timothy Hatcher.
19064
19065         Web Inspector: main resource is being re-assigned upon iframe's commit load.
19066         https://bugs.webkit.org/show_bug.cgi?id=48940
19067
19068         * inspector/front-end/ResourceManager.js:
19069         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
19070         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
19071
19072 2010-11-03  Nate Chapin  <japhet@chromium.org>
19073
19074         Reviewed by Alexey Proskuryakov.
19075
19076         Wait to stop all loads for a frame being detached until after its
19077         chidlren have been detached. This ensures that any loads started
19078         by a child's unload event handler will be properly cancelled.
19079         https://bugs.webkit.org/show_bug.cgi?id=46579
19080
19081         Tests: fast/loader/ping-error.html
19082                http/tests/navigation/image-load-in-subframe-unload-handler.html
19083
19084         * loader/FrameLoader.cpp:
19085         (WebCore::FrameLoader::detachFromParent):
19086
19087 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
19088
19089         Reviewed by Simon Fraser.
19090
19091         Web Inspector: show proper image size for cached resources.
19092         https://bugs.webkit.org/show_bug.cgi?id=48915
19093
19094         * inspector/front-end/ExtensionServer.js:
19095         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
19096         * inspector/front-end/ImageView.js:
19097         (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
19098         (WebInspector.ImageView.prototype.contentTabSelected):
19099         (WebInspector.ImageView.prototype._base64ToSize):
19100         * inspector/front-end/NetworkPanel.js:
19101         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
19102         * inspector/front-end/Resource.js:
19103         (WebInspector.Resource.prototype.set finished):
19104         (WebInspector.Resource.prototype.get content):
19105         (WebInspector.Resource.prototype.requestContent):
19106         (WebInspector.Resource.prototype._innerRequestContent):
19107         * inspector/front-end/ResourceManager.js:
19108         (WebInspector.ResourceManager.requestContent):
19109         * inspector/front-end/SourceView.js:
19110         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
19111
19112 2010-11-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
19113
19114         Reviewed by Kenneth Rohde Christiansen.
19115
19116         [Qt] GraphicsLayer: support tiling
19117         https://bugs.webkit.org/show_bug.cgi?id=39691
19118
19119         Add support for TiledBackingStore in GraphicsLayerQt, when a layer is too large.
19120
19121         No new tests. Tests in LayoutTests/compositing/tiling now work with OpenGL enabled.
19122
19123         * platform/graphics/qt/GraphicsLayerQt.cpp:
19124         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
19125         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
19126         (WebCore::GraphicsLayerQtImpl::recache):
19127         (WebCore::GraphicsLayerQtImpl::paint):
19128         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintBegin):
19129         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaint):
19130         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintEnd):
19131         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreContentsRect):
19132         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
19133         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreVisibleRect):
19134
19135 2010-11-03  Tony Chang  <tony@chromium.org>
19136
19137         Reviewed by Ojan Vafai.
19138
19139         Undo r54932 which inappropriately adjusts font sizes on zoomed pages
19140         https://bugs.webkit.org/show_bug.cgi?id=48890
19141
19142         Test: editing/inserting/page-zoom-font-size.html
19143
19144         * editing/ReplaceSelectionCommand.cpp:
19145         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
19146
19147 2010-11-03  Dan Bernstein  <mitz@apple.com>
19148
19149         Reviewed by Dave Hyatt.
19150
19151         Make collapsed borders in tables work with different block flows
19152         https://bugs.webkit.org/show_bug.cgi?id=46191
19153
19154         No new tests since tables don’t support different block flows yet.
19155
19156         This change still doesn’t support cells whose block flow differs from the table’s.
19157
19158         * rendering/AutoTableLayout.cpp:
19159         (WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth().
19160         (WebCore::AutoTableLayout::calcEffectiveWidth): Ditto.
19161         * rendering/FixedTableLayout.cpp:
19162         (WebCore::FixedTableLayout::calcWidthArray): Ditto.
19163         * rendering/RenderBlock.cpp:
19164         (WebCore::RenderBlock::computePreferredLogicalWidths): Ditto.
19165         * rendering/RenderTableCell.cpp:
19166         (WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and
19167         changed to use logical widths.
19168         (WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename.
19169         (WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed
19170         to set the logical width.
19171         (WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this.
19172         Note that “start” here will refer to the table’s block flow, not the cell’s, once we allow
19173         the two to differ.
19174         (WebCore::RenderTableCell::collapsedEndBorder): Similar.
19175         (WebCore::RenderTableCell::collapsedBeforeBorder): Similar.
19176         (WebCore::RenderTableCell::collapsedAfterBorder): Similar.
19177         (WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using
19178         the table’s block flow.
19179         (WebCore::RenderTableCell::collapsedRightBorder): Similar.
19180         (WebCore::RenderTableCell::collapsedTopBorder): Similar.
19181         (WebCore::RenderTableCell::collapsedBottomBorder): Similar.
19182         (WebCore::RenderTableCell::borderStart): Use borderHalfStart().
19183         (WebCore::RenderTableCell::borderEnd): Similar.
19184         (WebCore::RenderTableCell::borderBefore): Similar.
19185         (WebCore::RenderTableCell::borderAfter): Similar.
19186         (WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the
19187         table’s block flow.
19188         (WebCore::RenderTableCell::borderHalfRight): Similar.
19189         (WebCore::RenderTableCell::borderHalfTop): Similar.
19190         (WebCore::RenderTableCell::borderHalfBottom): Similar.
19191         (WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd
19192         widths based on physical side.
19193         (WebCore::RenderTableCell::borderHalfEnd): Similar.
19194         (WebCore::RenderTableCell::borderHalfBefore): Similar.
19195         (WebCore::RenderTableCell::borderHalfAfter): Similar.
19196         (WebCore::RenderTableCell::collectBorderStyles): Use logical methods.
19197         (WebCore::RenderTableCell::paintCollapsedBorder): Updated.
19198         * rendering/RenderTableCell.h:
19199         * rendering/RenderTableSection.cpp:
19200         (WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth().
19201         * rendering/style/RenderStyle.cpp:
19202         (WebCore::RenderStyle::borderBefore): Added.
19203         (WebCore::RenderStyle::borderAfter): Added.
19204         (WebCore::RenderStyle::borderStart): Added.
19205         (WebCore::RenderStyle::borderEnd): Adeed.
19206         * rendering/style/RenderStyle.h:
19207
19208 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
19209
19210         Fix Win build correctly after r71244 and r71248
19211
19212         * WebCore.vcproj/WebCore.vcproj: Added XML gobbledygook back.
19213         * dom/DOMAllInOne.cpp: Added files to build into a combined file.
19214
19215 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
19216
19217         Fix Qt, Win builds after r71244.
19218
19219         * WebCore.vcproj/WebCore.vcproj: Removed XML gobbledygook that prevents files from building.
19220         * dom/Text.cpp:
19221         (WebCore::Text::createRenderer): Moved parentOrHost inside ENABLE(SVG) guard.
19222
19223 2010-11-03  David Hyatt  <hyatt@apple.com>
19224
19225         Reviewed by Dan Bernstein.
19226
19227         https://bugs.webkit.org/show_bug.cgi?id=48928
19228         
19229         Rename all the selection gap functions to not be directionally specific.  Left and Right turn into LogicalLeft and
19230         LogicalRight.  Horizontal becomes Line.  Vertical becomes Block.
19231
19232         * rendering/RenderBlock.cpp:
19233         (WebCore::RenderBlock::selectionGapRectsForRepaint):
19234         (WebCore::RenderBlock::paintSelection):
19235         (WebCore::RenderBlock::fillSelectionGaps):
19236         (WebCore::RenderBlock::fillInlineSelectionGaps):
19237         (WebCore::RenderBlock::fillBlockSelectionGaps):
19238         (WebCore::RenderBlock::fillLineSelectionGap):
19239         (WebCore::RenderBlock::fillBlockSelectionGap):
19240         (WebCore::RenderBlock::fillLogicalLeftSelectionGap):
19241         (WebCore::RenderBlock::fillLogicalRightSelectionGap):
19242         (WebCore::RenderBlock::getSelectionGapInfo):
19243         (WebCore::RenderBlock::logicalLeftSelectionOffset):
19244         (WebCore::RenderBlock::logicalRightSelectionOffset):
19245         * rendering/RenderBlock.h:
19246         * rendering/RootInlineBox.cpp:
19247         (WebCore::RootInlineBox::fillLineSelectionGap):
19248
19249 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
19250
19251         Reviewed by Darin Adler.
19252
19253         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
19254         https://bugs.webkit.org/show_bug.cgi?id=46015
19255
19256         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
19257         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
19258
19259         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
19260         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
19261
19262         * Android.mk: Added EventContext, WindowEventContext files.
19263         * CMakeLists.txt: Ditto.
19264         * GNUmakefile.am: Ditto.
19265         * WebCore.gypi: Ditto.
19266         * WebCore.pro: Ditto.
19267         * WebCore.xcodeproj/project.pbxproj: Ditto.
19268         * WebCore.vcproj/WebCore.vcproj: Ditto.
19269         * dom/ContainerNode.cpp:
19270         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
19271         * dom/EventContext.cpp: Added.
19272         * dom/EventContext.h: Added.
19273         * dom/Node.cpp:
19274         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
19275         (WebCore::Node::createRendererIfNeeded): Ditto.
19276         (WebCore::Node::parentOrHostNode): Added new helper method.
19277         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
19278         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
19279         (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
19280         (WebCore::Node::topEventContext): Added.
19281         (WebCore::eventHasListeners): Changed to use EventContexts.
19282         (WebCore::Node::dispatchGenericEvent): Ditto.
19283         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
19284             and changed signature of eventAncestors to use EventContexts.
19285         * dom/Text.cpp:
19286         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
19287         * inspector/InspectorDOMAgent.cpp:
19288         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
19289         * page/EventHandler.cpp:
19290         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
19291         * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
19292         is deleted.
19293         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
19294         * svg/SVGElement.h: Ditto.
19295         * dom/WindowEventContext.cpp: Added.
19296         * dom/WindowEventContext.h: Added.
19297
19298 2010-11-02  Mikhail Naganov  <mnaganov@chromium.org>
19299
19300         Reviewed by Pavel Feldman.
19301
19302         Web Inspector: Fix console messages about starting and finishing profiling.
19303
19304         https://bugs.webkit.org/show_bug.cgi?id=48825
19305
19306         * inspector/InspectorProfilerAgent.cpp:
19307         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
19308         * inspector/front-end/ProfilesPanel.js:
19309         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
19310
19311 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19312
19313         Reviewed by Andreas Kling.
19314
19315         chrome.dll!WebCore::SVGLength::SVGLength ...
19316         https://bugs.webkit.org/show_bug.cgi?id=48831
19317
19318         Test: svg/dom/baseVal-animVal-crash.html
19319
19320         * svg/properties/SVGListPropertyTearOff.h:
19321         (WebCore::SVGListPropertyTearOff::initialize): Renamed removeItemFromListIfNeeded to processIncomingListItem, to reflect its new job.
19322         (WebCore::SVGListPropertyTearOff::insertItemBefore): Ditto.
19323         (WebCore::SVGListPropertyTearOff::replaceItem): Ditto.
19324         (WebCore::SVGListPropertyTearOff::appendItem): Ditto.
19325         (WebCore::SVGListPropertyTearOff::processIncomingListItem): Copy incoming item, if necessary, see inline comments.
19326         * svg/properties/SVGPropertyTearOff.h:
19327         (WebCore::SVGPropertyTearOff::detachWrapper): Remove association with SVGAnimatedProperty, when wrapper is detached.
19328
19329 2010-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19330
19331         Reviewed by Andreas Kling.
19332
19333         Make it possible to delegate scrolling to the UI
19334         https://bugs.webkit.org/show_bug.cgi?id=48907
19335
19336         Add a WebCore setting for delegating scrolling to the actual
19337         WebKit view, which means that setScrollPosition will call
19338         scrollContents directly without going though the scrollbar
19339         code.
19340
19341         * page/FrameView.cpp:
19342         (WebCore::FrameView::delegatesScrolling):
19343         * page/FrameView.h:
19344         * page/Settings.cpp:
19345         (WebCore::Settings::Settings):
19346         (WebCore::Settings::setShouldDelegateScrolling):
19347         * page/Settings.h:
19348         (WebCore::Settings::shouldDelegateScrolling):
19349         * platform/ScrollView.cpp:
19350         (WebCore::ScrollView::setScrollPosition):
19351         * platform/ScrollView.h:
19352         (WebCore::ScrollView::delegatesScrolling):
19353
19354 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
19355
19356         Reviewed by Adam Roben.
19357
19358         [WINCE] Add SharedBitmap
19359         https://bugs.webkit.org/show_bug.cgi?id=28272
19360
19361         SharedBitmap is a helper class used as NativeImagePtr for WinCE.
19362         It's wide used by WinCE graphics files as a replacement of HBITMAP.
19363
19364         Originally written by Yong Li <yong.li@torchmobile.com>.
19365
19366         * platform/graphics/wince/GraphicsContextWinCE.cpp:
19367         (WebCore::TransparentLayerDC::TransparentLayerDC):
19368         (WebCore::TransparentLayerDC::~TransparentLayerDC):
19369         (WebCore::ScopeDCProvider::ScopeDCProvider):
19370         (WebCore::ScopeDCProvider::~ScopeDCProvider):
19371         (WebCore::GraphicsContext::drawText):
19372         * platform/graphics/wince/SharedBitmap.cpp: Added.
19373         (WebCore::SharedBitmap::create):
19374         (WebCore::SharedBitmap::SharedBitmap):
19375         (WebCore::SharedBitmap::~SharedBitmap):
19376         (WebCore::SharedBitmap::resetPixels):
19377         (WebCore::convert32To16):
19378         (WebCore::SharedBitmap::to16bit):
19379         (WebCore::SharedBitmap::freeMemory):
19380         (WebCore::SharedBitmap::createHandle):
19381         (WebCore::SharedBitmap::ensureHandle):
19382         (WebCore::SharedBitmap::draw):
19383         (WebCore::SharedBitmap::clipBitmap):
19384         (WebCore::drawPatternSimple):
19385         (WebCore::normalizePhase):
19386         (WebCore::SharedBitmap::drawPattern):
19387         (WebCore::SharedBitmap::DCProvider::getDC):
19388         (WebCore::SharedBitmap::DCProvider::releaseDC):
19389         (WebCore::SharedBitmap::clearPixels):
19390         * platform/graphics/wince/SharedBitmap.h: Added.
19391         (WebCore::DCProvider::getDC):
19392         (WebCore::DCProvider::releaseDC):
19393         (WebCore::DCProvider::DCHolder::DCHolder):
19394         (WebCore::DCProvider::DCHolder::~DCHolder):
19395         (WebCore::DCProvider::DCHolder::set):
19396         (WebCore::DCProvider::DCHolder::get):
19397         (WebCore::DCProvider::DCHolder::clearInternal):
19398         (WebCore::DCProvider::DCHolder::setInternal):
19399
19400 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19401
19402         Reviewed by Dirk Schulze.
19403
19404         chrome.dll!WebCore::SVGListPropertyTearOff<...>::getItem ReadAV@NULL (578c0f7f21ca517ba29a4eafb7099c1b)
19405         https://bugs.webkit.org/show_bug.cgi?id=48829
19406
19407         Share SVGPropertyTearOff wrapper cache between SVGAnimatedListPropertyTearOff::baseVal/animVal.
19408         When modifying the list through baseVal, and then grabbing the animVal list an assertion was fired,
19409         as the wrapper cache was out of sync with the underlying SVG*List vector.
19410
19411         Test: svg/dom/baseVal-animVal-list-crash.html
19412
19413         * svg/properties/SVGAnimatedListPropertyTearOff.h:
19414         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
19415         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
19416         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
19417         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
19418         (WebCore::SVGAnimatedListPropertyTearOff::values):
19419         (WebCore::SVGAnimatedListPropertyTearOff::wrappers):
19420         (WebCore::SVGAnimatedListPropertyTearOff::create):
19421         (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
19422         * svg/properties/SVGListPropertyTearOff.h:
19423         (WebCore::SVGListPropertyTearOff::create):
19424         (WebCore::SVGListPropertyTearOff::removeItemFromList):
19425         (WebCore::SVGListPropertyTearOff::clear):
19426         (WebCore::SVGListPropertyTearOff::numberOfItems):
19427         (WebCore::SVGListPropertyTearOff::initialize):
19428         (WebCore::SVGListPropertyTearOff::getItem):
19429         (WebCore::SVGListPropertyTearOff::insertItemBefore):
19430         (WebCore::SVGListPropertyTearOff::replaceItem):
19431         (WebCore::SVGListPropertyTearOff::removeItem):
19432         (WebCore::SVGListPropertyTearOff::appendItem):
19433         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
19434         (WebCore::SVGListPropertyTearOff::commitChange):
19435
19436 2010-11-02  Ilya Tikhonovsky  <loislo@chromium.org>
19437
19438         Reviewed by Pavel Feldman.
19439
19440         Web Inspector: Remove obsolete code.
19441         It is not required to push onload and DOMContentLoaded events times to the fresh instance of Inspector.
19442         Network Panel is showing the markers only after reloading the inspected page.
19443         https://bugs.webkit.org/show_bug.cgi?id=48854
19444
19445         * inspector/InspectorController.cpp:
19446         (WebCore::InspectorController::InspectorController):
19447         (WebCore::InspectorController::populateScriptObjects):
19448         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
19449         (WebCore::InspectorController::mainResourceFiredLoadEvent):
19450         * inspector/InspectorController.h:
19451
19452 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
19453
19454         Reviewed by Jeremy Orlow.
19455
19456         Web Inspector: brush up breakpoints UI and UX.
19457         https://bugs.webkit.org/show_bug.cgi?id=48901
19458
19459         * inspector/front-end/BreakpointManager.js:
19460         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
19461         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
19462         * inspector/front-end/BreakpointsSidebarPane.js:
19463         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
19464         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
19465         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
19466         (WebInspector.BreakpointItem):
19467         * inspector/front-end/ElementsTreeOutline.js:
19468         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
19469         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
19470         * inspector/front-end/PropertiesSection.js:
19471         (WebInspector.PropertiesSection):
19472         * inspector/front-end/inspector.css:
19473         (.monospace):
19474         (body.platform-mac.platform-mac-snowleopard .source-code):
19475         (body.platform-windows .monospace, body.platform-windows .source-code):
19476         (body.platform-linux .monospace, body.platform-linux .source-code):
19477         (.source-code):
19478         (.section .header):
19479         (.section .header::before):
19480         (.section .header .title, .event-bar .header .title):
19481         (.section .header .subtitle, .event-bar .header .subtitle):
19482         (.section.expanded .properties, .event-bar.expanded .event-properties):
19483         (.event-listener-breakpoints .event-category):
19484         (.event-listener-breakpoints.properties-tree .children li):
19485         (.event-listener-breakpoints .checkbox-elem):
19486         (.event-bar):
19487         (.event-bars .event-bar .header .title):
19488         (.event-bars .event-bar .header::before):
19489         (.pane > .body .info):
19490         (.pane > .body .placard + .info):
19491         (ol.breakpoint-list):
19492         (.breakpoint-list li):
19493         (.pane .breakpoint-hit):
19494         (.cursor-pointer):
19495         (.cursor-auto):
19496
19497 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19498
19499         Not reviewed.
19500
19501         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19502         https://bugs.webkit.org/show_bug.cgi?id=48898
19503
19504         Fix Chromium/V8 build for real, verified using a local ToT Chromium build.
19505
19506         * bindings/scripts/CodeGeneratorV8.pm:
19507
19508 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19509
19510         Not reviewed.
19511
19512         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19513         https://bugs.webkit.org/show_bug.cgi?id=48898
19514
19515         Next attempt to fix the Chromium/V8 builds - a class forward in the headers was still missing.
19516
19517         * bindings/scripts/CodeGeneratorV8.pm: Add SVGStringListPropertyTearOff in the V8SVGStringList header.
19518
19519 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19520
19521         Not reviewed.
19522
19523         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19524         https://bugs.webkit.org/show_bug.cgi?id=48898
19525
19526         Attempt to fix the Chromium/V8 builds.
19527
19528         * bindings/scripts/CodeGeneratorV8.pm: Add missing "SVGStringListPropertyTearOff.h" include, also replaces some commas by semicolons (no idea why it worked before, Perl is not strict...)
19529
19530 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19531
19532         Reviewed by Dirk Schulze.
19533
19534         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19535         https://bugs.webkit.org/show_bug.cgi?id=48898
19536
19537         Convert SVGAnimatedString/SVGStringList to the new svg animated type concept.
19538         SVGStringList is special compared to all other SVG*Lists, as it returns non-live elements.
19539         That means myStringList.getItem(0) = 'foobar' doesn't take effect.
19540
19541         When appending an item to a SVGStringList, that has been taken from another list, it's not removed from the list origin.
19542         That demanded a new SVGStringListPropertyTearOff which does just that.
19543
19544         Tests: svg/W3C-SVG-1.1-SE/types-dom-06-f.svg
19545                svg/dom/SVGStringList.html
19546
19547         * GNUmakefile.am: Add SVGAnimatedString.h / SVGStringListPropertyTearOff.h to build.
19548         * WebCore.gypi: Ditto.
19549         * WebCore.pro: Ditto.
19550         * WebCore.vcproj/WebCore.vcproj: Ditto.
19551         * WebCore.xcodeproj/project.pbxproj: Ditto.
19552         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedString as new style svg animated type. Map SVGStringList to SVGStringListPropertyTearOff.
19553         * bindings/scripts/CodeGeneratorJS.pm: Handle SVGStringListPropertyTearOff in GetSVGPropertyTypes.
19554         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
19555         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
19556         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedString handling.
19557         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
19558         * svg/SVGAElement.cpp: Renamed target to svgTarget() to avoid clashes with Element::target(), adjust the bindings to call svgTarget() instead of target(), when processing SVGAElement.
19559         (WebCore::SVGAElement::parseMappedAttribute):
19560         (WebCore::SVGAElement::synchronizeProperty):
19561         * svg/SVGAElement.h:
19562         * svg/SVGAltGlyphElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19563         * svg/SVGAnimatedString.h: Added.
19564         * svg/SVGCursorElement.h: Ditto.
19565         * svg/SVGFEBlendElement.h: Ditto.
19566         * svg/SVGFEColorMatrixElement.h: Ditto.
19567         * svg/SVGFEComponentTransferElement.h: Ditto.
19568         * svg/SVGFECompositeElement.h: Ditto.
19569         * svg/SVGFEConvolveMatrixElement.h: Ditto.
19570         * svg/SVGFEDiffuseLightingElement.h: Ditto.
19571         * svg/SVGFEDisplacementMapElement.h: Ditto.
19572         * svg/SVGFEGaussianBlurElement.h: Ditto.
19573         * svg/SVGFEImageElement.h: Ditto.
19574         * svg/SVGFEMergeNodeElement.h: Ditto.
19575         * svg/SVGFEMorphologyElement.h: Ditto.
19576         * svg/SVGFEOffsetElement.h: Ditto.
19577         * svg/SVGFESpecularLightingElement.h: Ditto.
19578         * svg/SVGFETileElement.h: Ditto.
19579         * svg/SVGFilterElement.h: Ditto.
19580         * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
19581         * svg/SVGForeignObjectElement.h: Ditto.
19582         * svg/SVGGradientElement.h: Ditto.
19583         * svg/SVGImageElement.h: Ditto. 
19584         * svg/SVGLengthList.idl: Remove leftover SVGListProperty marker.
19585         * svg/SVGMPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19586         * svg/SVGPatternElement.h: Ditto.
19587         * svg/SVGScriptElement.h: Ditto.
19588         * svg/SVGStringList.cpp: Make SVGStringList a plain Vector<String>.
19589         (WebCore::SVGStringList::commitChange): React to SVGStringList changes.
19590         (WebCore::SVGStringList::reset):
19591         (WebCore::SVGStringList::parse):
19592         * svg/SVGStringList.h:
19593         (WebCore::SVGStringList::SVGStringList):
19594         * svg/SVGStyledElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19595         * svg/SVGTRefElement.h: Ditto.
19596         * svg/SVGTests.cpp: Adapt to SVGStringList API changes.
19597         (WebCore::SVGTests::SVGTests):
19598         (WebCore::SVGTests::hasExtension):
19599         (WebCore::SVGTests::isValid):
19600         (WebCore::SVGTests::parseMappedAttribute):
19601         (WebCore::SVGTests::isKnownAttribute):
19602         * svg/SVGTests.h: Ditto.
19603         (WebCore::SVGTests::requiredFeatures):
19604         (WebCore::SVGTests::requiredExtensions):
19605         (WebCore::SVGTests::systemLanguage):
19606         * svg/SVGTextPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19607         * svg/SVGURIReference.h: Adapt to SVGStringList API changes.
19608         (WebCore::SVGURIReference::~SVGURIReference):
19609         * svg/SVGUseElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19610         * svg/SVGViewElement.cpp: Adapt to SVGStringList API changes.
19611         (WebCore::SVGViewElement::SVGViewElement):
19612         (WebCore::SVGViewElement::parseMappedAttribute):
19613         * svg/SVGViewElement.h: Ditto.
19614         (WebCore::SVGViewElement::viewTarget):
19615         * svg/properties/SVGAnimatedPropertyMacros.h: Moved GetOwnerElementForType heleprs from SVGAnimatedPropertySynchronizer into this file.
19616         * svg/properties/SVGAnimatedPropertySynchronizer.h: 
19617         * svg/properties/SVGPropertyTraits.h: Handle SVGStringList.
19618         * svg/properties/SVGStringListPropertyTearOff.h: Added. This is a simplified version of SVGListPropertyTearOff, tied to SVGStringList and its special demands.
19619         (WebCore::SVGStringListPropertyTearOff::create):
19620         (WebCore::SVGStringListPropertyTearOff::clear):
19621         (WebCore::SVGStringListPropertyTearOff::numberOfItems):
19622         (WebCore::SVGStringListPropertyTearOff::initialize):
19623         (WebCore::SVGStringListPropertyTearOff::getItem):
19624         (WebCore::SVGStringListPropertyTearOff::insertItemBefore):
19625         (WebCore::SVGStringListPropertyTearOff::replaceItem):
19626         (WebCore::SVGStringListPropertyTearOff::removeItem):
19627         (WebCore::SVGStringListPropertyTearOff::appendItem):
19628         (WebCore::SVGStringListPropertyTearOff::SVGStringListPropertyTearOff):
19629
19630 2010-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
19631
19632         Reviewed by Dirk Schulze.
19633
19634         SVG FELighting performance issues
19635         https://bugs.webkit.org/show_bug.cgi?id=48212
19636
19637         This patch speeds-up FELighting filter painting by 40%
19638         It reduces the number of floating point operations and
19639         empolys faster pixel manipulation (both for read and
19640         write). Furthermore the length() member of FloatPoint3D
19641         is made inline to speed up vector length calculations.
19642
19643         The lighting filter pixels tests are cover this patch.
19644
19645         * platform/graphics/FloatPoint3D.cpp:
19646         * platform/graphics/FloatPoint3D.h:
19647         (WebCore::FloatPoint3D::length):
19648         * platform/graphics/filters/FELighting.cpp:
19649         (WebCore::FELighting::LightingData::topLeft):
19650         (WebCore::FELighting::LightingData::topRow):
19651         (WebCore::FELighting::LightingData::topRight):
19652         (WebCore::FELighting::LightingData::leftColumn):
19653         (WebCore::FELighting::LightingData::interior):
19654         (WebCore::FELighting::LightingData::rightColumn):
19655         (WebCore::FELighting::LightingData::bottomLeft):
19656         (WebCore::FELighting::LightingData::bottomRow):
19657         (WebCore::FELighting::LightingData::bottomRight):
19658         (WebCore::FELighting::inlineSetPixel):
19659         (WebCore::FELighting::setPixel):
19660         (WebCore::FELighting::drawLighting):
19661         (WebCore::FELighting::apply):
19662         * platform/graphics/filters/FELighting.h:
19663         * platform/graphics/filters/LightSource.cpp:
19664         (WebCore::PointLightSource::updatePaintingData):
19665         (WebCore::SpotLightSource::updatePaintingData):
19666         (WebCore::DistantLightSource::initPaintingData):
19667         * platform/graphics/filters/LightSource.h:
19668
19669 2010-11-03  Daniel Bates  <dbates@rim.com>
19670
19671         Reviewed by Adam Barth.
19672
19673         For unnamed frames, window.name returns a generated name
19674         https://bugs.webkit.org/show_bug.cgi?id=6751
19675
19676         Part 2 of 2.
19677
19678         Fixes an issue where the window.name of an unnamed frame returns
19679         a unique generated name that is used internally to identify the
19680         frame. Instead, we should return an empty string as implied by
19681         section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
19682         This section describes that a browsing context can have no name or be
19683         the empty string.
19684
19685         * html/HTMLFrameElementBase.cpp:
19686         (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
19687         frame name since this is valid as per the HTML5 spec.
19688         (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
19689         since the loader code no longer depends on the frame name being unique.
19690         * page/DOMWindow.cpp:
19691         (WebCore::DOMWindow::name): Modified to call FrameTree::name().
19692         * page/FrameTree.cpp:
19693         (WebCore::FrameTree::setName):
19694         (WebCore::FrameTree::clearName):
19695         * page/FrameTree.h:
19696         (WebCore::FrameTree::name): Re-added; returns the DOM-specified name of the
19697         frame. Previously, this method returned the internal frame name.
19698
19699 2010-11-03  takano takumi  <takano1@asia.apple.com>
19700
19701         Reviewed by Dan Bernstein.
19702
19703         Add text-combine property to our property list. Reflect the setting to a RenderStyle object.
19704         https://bugs.webkit.org/show_bug.cgi?id=48608
19705
19706         Test: fast/text/international/text-combine-parser-test.html
19707
19708         * css/CSSComputedStyleDeclaration.cpp: Added text-combine property support.
19709         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
19710         * css/CSSParser.cpp: Added text-combine property support.
19711         (WebCore::CSSParser::parseValue):
19712         * css/CSSPrimitiveValueMappings.h: Added a primitive value mapper for text-combine
19713         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
19714         (WebCore::CSSPrimitiveValue::operator TextCombine):
19715         * css/CSSPropertyNames.in: Added "text-combine".
19716         * css/CSSStyleSelector.cpp: Added text-combine property support.
19717         (WebCore::CSSStyleSelector::applyProperty):
19718         * css/CSSValueKeywords.in: Added values for text-combine.
19719         * rendering/style/RenderStyle.cpp:
19720         (WebCore::RenderStyle::diff): Added check of text-combine value.
19721         * rendering/style/RenderStyle.h: Added accessors for text-combine.
19722         (WebCore::InheritedFlags::textCombine):
19723         (WebCore::InheritedFlags::setTextCombine):
19724         (WebCore::InheritedFlags::initialTextCombine):
19725         * rendering/style/RenderStyleConstants.h:
19726         * rendering/style/StyleRareNonInheritedData.cpp: Added text-combine property support.
19727         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
19728         (WebCore::StyleRareNonInheritedData::operator==):
19729         * rendering/style/StyleRareNonInheritedData.h: Added text-combine entry for RenderStyle object here.
19730
19731 2010-11-02  Daniel Bates  <dbates@rim.com>
19732
19733         Reviewed by Adam Barth.
19734
19735         For unnamed frames, window.name returns a generated name
19736         https://bugs.webkit.org/show_bug.cgi?id=6751
19737
19738         Part 1 of 2.
19739
19740         Towards fixing bug #6751, rename FrameTree::name() to FrameTree::uniqueName(),
19741         which is more descriptive of its purpose. A follow up patch will re-add
19742         FrameTree::name() which will return the DOM-specified name of the frame.
19743
19744         We will also take this opportunity to verify that we have found all the
19745         call sites of FrameTree::name().
19746
19747         * loader/DocumentLoader.cpp:
19748         (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
19749         * loader/FrameLoader.cpp:
19750         (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
19751         (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
19752         * loader/HistoryController.cpp:
19753         (WebCore::HistoryController::saveDocumentState): Ditto.
19754         (WebCore::HistoryController::restoreDocumentState): Ditto.
19755         (WebCore::HistoryController::createItem): Ditto.
19756         (WebCore::HistoryController::currentFramesMatchItem): Ditto.
19757         * loader/ProgressTracker.cpp:
19758         (WebCore::ProgressTracker::progressStarted): Ditto.
19759         (WebCore::ProgressTracker::progressCompleted): Ditto.
19760         * loader/archive/cf/LegacyWebArchive.cpp:
19761         (WebCore::LegacyWebArchive::create): Ditto.
19762         * page/DOMWindow.cpp:
19763         (WebCore::DOMWindow::name): Ditto.
19764         * page/FrameTree.cpp:
19765         (WebCore::FrameTree::setName): Ditto.
19766         (WebCore::FrameTree::clearName): Ditto.
19767         (WebCore::FrameTree::uniqueChildName): Ditto.
19768         (WebCore::FrameTree::child): Ditto.
19769         (WebCore::FrameTree::find): Ditto.
19770         * page/FrameTree.h:
19771         (WebCore::FrameTree::uniqueName): Renamed (formerly FrameTree::name()).
19772
19773 2010-11-02  Chris Rogers  <crogers@google.com>
19774
19775         Reviewed by James Robinson.
19776
19777         Add AudioProcessingEvent files
19778         https://bugs.webkit.org/show_bug.cgi?id=48884
19779
19780         No new tests since audio API is not yet implemented.
19781
19782         * webaudio/AudioProcessingEvent.cpp: Added.
19783         (WebCore::AudioProcessingEvent::create):
19784         (WebCore::AudioProcessingEvent::AudioProcessingEvent):
19785         (WebCore::AudioProcessingEvent::~AudioProcessingEvent):
19786         (WebCore::AudioProcessingEvent::isAudioProcessingEvent):
19787         * webaudio/AudioProcessingEvent.h: Added.
19788         (WebCore::AudioProcessingEvent::inputBuffer):
19789         (WebCore::AudioProcessingEvent::outputBuffer):
19790         * webaudio/AudioProcessingEvent.idl: Added.
19791
19792 2010-11-02  Al Patrick  <apatrick@chromium.org>
19793
19794         Reviewed by Kenneth Russell.
19795
19796         Added PluginLayerChromium, which composites plugin instances that have an associated OpenGL backing texture.
19797
19798         https://bugs.webkit.org/show_bug.cgi?id=48032
19799
19800         * WebCore.gypi:
19801         * loader/SubframeLoader.cpp
19802         (WebCore::SubframeLoader::loadPlugin):
19803         * platform/graphics/chromium/LayerChromium.cpp:
19804         (WebCore::LayerChromium::setNeedsDisplay):
19805         * platform/graphics/chromium/LayerRendererChromium.cpp:
19806         (WebCore::LayerRendererChromium::initializeSharedObjects):
19807         (WebCore::LayerRendererChromium::cleanupSharedObjects):
19808         * platform/graphics/chromium/LayerRendererChromium.h:
19809         (WebCore::LayerRendererChromium::pluginLayerSharedValues):
19810         * platform/graphics/chromium/PluginLayerChromium.cpp: Added.
19811         (WebCore::PluginLayerChromium::SharedValues::SharedValues):
19812         (WebCore::PluginLayerChromium::SharedValues::~SharedValues):
19813         (WebCore::PluginLayerChromium::create):
19814         (WebCore::PluginLayerChromium::PluginLayerChromium):
19815         (WebCore::PluginLayerChromium::updateContents):
19816         (WebCore::PluginLayerChromium::draw):
19817         * platform/graphics/chromium/PluginLayerChromium.h: Added.
19818         (WebCore::PluginLayerChromium::drawsContent):
19819         (WebCore::PluginLayerChromium::setTextureId):
19820         (WebCore::PluginLayerChromium::SharedValues::shaderProgram):
19821         (WebCore::PluginLayerChromium::SharedValues::shaderSamplerLocation):
19822         (WebCore::PluginLayerChromium::SharedValues::shaderMatrixLocation):
19823         (WebCore::PluginLayerChromium::SharedValues::shaderAlphaLocation):
19824         (WebCore::PluginLayerChromium::SharedValues::initialized):
19825
19826 2010-11-02  James Simonsen  <simonjam@chromium.org>
19827
19828         Reviewed by Adam Barth.
19829
19830         mathml in html sometimes incorrectly parsed
19831         https://bugs.webkit.org/show_bug.cgi?id=48105
19832
19833         * html/parser/HTMLTreeBuilder.cpp:
19834         (WebCore::HTMLTreeBuilder::processEndTag): Fixed to match HTML5 spec.
19835
19836 2010-11-02  Chris Guillory  <chris.guillory@google.com>
19837
19838         Reviewed by Dmitry Titov.
19839
19840         Null check obj in AXObjectCache::postPlatformNotification.
19841         https://bugs.webkit.org/show_bug.cgi?id=48896
19842
19843         * accessibility/chromium/AXObjectCacheChromium.cpp:
19844         (WebCore::AXObjectCache::postPlatformNotification):
19845
19846 2010-11-02  Kavita Kanetkar  <kkanetkar@chromium.org>
19847
19848         Reviewed by Dumitru Daniliuc.
19849
19850         [FileSystem] Support not creating directories when queried by inspector.
19851         https://bugs.webkit.org/show_bug.cgi?id=48169
19852
19853         * fileapi/LocalFileSystem.cpp:
19854         (WebCore::openFileSystem):
19855         (WebCore::LocalFileSystem::readFileSystem):
19856         (WebCore::LocalFileSystem::requestFileSystem):
19857         * fileapi/LocalFileSystem.h:
19858         * platform/AsyncFileSystem.cpp:
19859         (WebCore::AsyncFileSystem::openFileSystem):
19860         * platform/AsyncFileSystem.h:
19861
19862 2010-11-02  Chris Rogers  <crogers@google.com>
19863
19864         Reviewed by Kenneth Russell.
19865
19866         Add AudioBufferSourceNode files
19867         https://bugs.webkit.org/show_bug.cgi?id=48012
19868
19869         No new tests since audio API is not yet implemented.
19870
19871         * webaudio/AudioBufferSourceNode.cpp: Added.
19872         (WebCore::AudioBufferSourceNode::create):
19873         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
19874         (WebCore::AudioBufferSourceNode::~AudioBufferSourceNode):
19875         (WebCore::AudioBufferSourceNode::process):
19876         (WebCore::AudioBufferSourceNode::provideInput):
19877         (WebCore::AudioBufferSourceNode::readFromBuffer):
19878         (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
19879         (WebCore::AudioBufferSourceNode::reset):
19880         (WebCore::AudioBufferSourceNode::setBuffer):
19881         (WebCore::AudioBufferSourceNode::numberOfChannels):
19882         (WebCore::AudioBufferSourceNode::noteOn):
19883         (WebCore::AudioBufferSourceNode::noteGrainOn):
19884         (WebCore::AudioBufferSourceNode::noteOff):
19885         (WebCore::AudioBufferSourceNode::totalPitchRate):
19886         * webaudio/AudioBufferSourceNode.h: Added.
19887         (WebCore::AudioBufferSourceNode::buffer):
19888         (WebCore::AudioBufferSourceNode::looping):
19889         (WebCore::AudioBufferSourceNode::setLooping):
19890         (WebCore::AudioBufferSourceNode::gain):
19891         (WebCore::AudioBufferSourceNode::playbackRate):
19892         (WebCore::AudioBufferSourceNode::setPannerNode):
19893         * webaudio/AudioBufferSourceNode.idl: Added.
19894
19895 2010-11-02  Martin Robinson  <mrobinson@igalia.com>
19896
19897         Reviewed by Adam Barth.
19898
19899         [Cairo] Remove PlatformRefPtrCairo
19900         https://bugs.webkit.org/show_bug.cgi?id=48192
19901
19902         Replace PlatformRefPtrCairo with a RefPtr specialization for Cairo and
19903         Fontconfig types. This is the first step toward removing PlatformRefPtr,
19904         whose job is better handled by RefPtr.
19905
19906         * CMakeListsEfl.txt: Update the sources list to include RefPtrCairo
19907         instead of PlatformRefPtrCairo.
19908         * GNUmakefile.am: Ditto.
19909         * WebCore.vcproj/WebCore.vcproj: Ditto.
19910         * platform/graphics/GraphicsContext.h: Replace PlatformRefPtrCairo with
19911         RefPtrCairo.
19912         * platform/graphics/cairo/CairoUtilities.cpp: Ditto.
19913         (WebCore::drawPatternToCairoContext): Ditto.
19914         * platform/graphics/cairo/FontCacheFreeType.cpp: Ditto.
19915         (WebCore::FontCache::getFontDataForCharacters): Ditto.
19916         (WebCore::FontCache::createFontPlatformData): Ditto.
19917         * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Ditto.
19918         (WebCore::FontPlatformData::FontPlatformData): Ditto.
19919         (WebCore::FontPlatformData::initializeWithFontFace): Ditto.
19920         * platform/graphics/cairo/FontPlatformDataFreeType.h: Ditto.
19921         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
19922         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
19923         * platform/graphics/cairo/RefPtrCairo.cpp: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp.
19924         (WTF::refIfNotNull): Added.
19925         (WTF::derefIfNotNull): Added.
19926         * platform/graphics/cairo/RefPtrCairo.h: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.h.
19927         * platform/gtk/CursorGtk.cpp: Replace PlatformRefPtrCairo with
19928         RefPtrCairo.
19929         (WebCore::createNamedCursor): Ditto.
19930         * platform/gtk/DragImageGtk.cpp: Ditto.
19931         (WebCore::scaleDragImage): Ditto.
19932         (WebCore::dissolveDragImageToFraction): Ditto.
19933         * plugins/gtk/PluginViewGtk.cpp: Ditto.
19934         (WebCore::PluginView::paint): Ditto.
19935
19936 2010-11-02  Chris Rogers  <crogers@google.com>
19937
19938         Reviewed by Kenneth Russell.
19939
19940         Simple followup changes to files affected by AudioNodeInput thread safety
19941         https://bugs.webkit.org/show_bug.cgi?id=48661
19942
19943         No new tests since audio API is not yet implemented.
19944
19945         * webaudio/AudioBasicProcessorNode.cpp:
19946         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
19947         * webaudio/AudioChannelSplitter.cpp:
19948         (WebCore::AudioChannelSplitter::process):
19949         * webaudio/AudioDestinationNode.cpp:
19950         (WebCore::AudioDestinationNode::initialize):
19951         (WebCore::AudioDestinationNode::uninitialize):
19952         (WebCore::AudioDestinationNode::provideInput):
19953         * webaudio/AudioGainNode.cpp:
19954         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
19955         * webaudio/AudioPannerNode.cpp:
19956         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
19957
19958 2010-11-02  Chris Guillory  <chris.guillory@google.com>
19959
19960         Reviewed by Chris Fleizach.
19961
19962         Chromium: Propagate a document value changed notification on scroll.
19963         https://bugs.webkit.org/show_bug.cgi?id=48817
19964
19965         * accessibility/AccessibilityObject.h:
19966         (WebCore::AccessibilityObject::isAccessibilityScrollbar):
19967         * accessibility/AccessibilityScrollbar.h:
19968         (WebCore::AccessibilityScrollbar::scrollbar):
19969         (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
19970         * accessibility/chromium/AXObjectCacheChromium.cpp:
19971         (WebCore::AXObjectCache::postPlatformNotification):
19972
19973 2010-11-02  Chris Rogers  <crogers@google.com>
19974
19975         Reviewed by Kenneth Russell.
19976
19977         Add ConvolverNode files
19978         https://bugs.webkit.org/show_bug.cgi?id=47941
19979
19980         No new tests since audio API is not yet implemented.
19981
19982         * webaudio/ConvolverNode.cpp: Added.
19983         (WebCore::ConvolverNode::ConvolverNode):
19984         (WebCore::ConvolverNode::~ConvolverNode):
19985         (WebCore::ConvolverNode::process):
19986         (WebCore::ConvolverNode::reset):
19987         (WebCore::ConvolverNode::initialize):
19988         (WebCore::ConvolverNode::uninitialize):
19989         (WebCore::ConvolverNode::setBuffer):
19990         (WebCore::ConvolverNode::buffer):
19991         * webaudio/ConvolverNode.h: Added.
19992         (WebCore::ConvolverNode::create):
19993         * webaudio/ConvolverNode.idl: Added.
19994
19995 2010-11-02  Chris Rogers  <crogers@google.com>
19996
19997         Reviewed by Kenneth Russell.
19998
19999         Add RealtimeAnalyser files
20000         https://bugs.webkit.org/show_bug.cgi?id=48810
20001
20002         No new tests since audio API is not yet implemented.
20003
20004         * webaudio/RealtimeAnalyser.cpp: Added.
20005         (WebCore::RealtimeAnalyser::RealtimeAnalyser):
20006         (WebCore::RealtimeAnalyser::~RealtimeAnalyser):
20007         (WebCore::RealtimeAnalyser::reset):
20008         (WebCore::RealtimeAnalyser::setFftSize):
20009         (WebCore::RealtimeAnalyser::writeInput):
20010         (WebCore::RealtimeAnalyser::doFFTAnalysis):
20011         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
20012         (WebCore::RealtimeAnalyser::getByteFrequencyData):
20013         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
20014         * webaudio/RealtimeAnalyser.h: Added.
20015         (WebCore::RealtimeAnalyser::fftSize):
20016         (WebCore::RealtimeAnalyser::frequencyBinCount):
20017         (WebCore::RealtimeAnalyser::setMinDecibels):
20018         (WebCore::RealtimeAnalyser::minDecibels):
20019         (WebCore::RealtimeAnalyser::setMaxDecibels):
20020         (WebCore::RealtimeAnalyser::maxDecibels):
20021         (WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
20022         (WebCore::RealtimeAnalyser::smoothingTimeConstant):
20023         (WebCore::RealtimeAnalyser::magnitudeBuffer):
20024
20025 2010-11-02  Ilya Sherman  <isherman@chromium.org>
20026
20027         Reviewed by Kent Tamura.
20028
20029         Avoid overlapping label text in autofill popup with icon.
20030         Updates the menu width computation to take the icon width into account.
20031         https://bugs.webkit.org/show_bug.cgi?id=48497
20032
20033         * platform/chromium/PopupMenuChromium.cpp:
20034         (WebCore::PopupListBox::paintRow):
20035         (WebCore::PopupListBox::layout):
20036
20037 2010-10-28  Zhenyao Mo  <zmo@google.com>
20038
20039         Reviewed by Kenneth Russell.
20040
20041         Perform framebuffer attachment checking upon draw call rather than attachment
20042         https://bugs.webkit.org/show_bug.cgi?id=46318
20043
20044         * html/canvas/WebGLFramebuffer.cpp:
20045         (WebCore::getInternalFormat): Helper function to get an attachment's internal format.
20046         (WebCore::isUninitialized): Helper function to decide if an attachment is initialized or not.
20047         (WebCore::setInitialized): Helper funtion to set an attachment as being initialized.
20048         (WebCore::WebGLFramebuffer::setAttachment): No longer perform buffer initialization at this point.
20049         (WebCore::WebGLFramebuffer::removeAttachment): Ditto.
20050         (WebCore::WebGLFramebuffer::getColorBufferFormat): Make it const.
20051         (WebCore::WebGLFramebuffer::isIncomplete): Attachments conflict check.
20052         (WebCore::WebGLFramebuffer::onAccess): Check atatchment conflicts and buffer initialization if necessary.
20053         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Return a boolean whether the framebuffer is complete or not.
20054         * html/canvas/WebGLFramebuffer.h: Add new function declaration and remove some outdated functions.
20055         (WebCore::WebGLFramebuffer::isColorAttached):
20056         (WebCore::WebGLFramebuffer::isDepthAttached): Make this private.
20057         (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
20058         (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
20059         * html/canvas/WebGLRenderbuffer.h:
20060         (WebCore::WebGLRenderbuffer::setInternalFormat): Also set the renderbuffer as uninitialized.
20061         * html/canvas/WebGLRenderingContext.cpp:
20062         (WebCore::WebGLRenderingContext::bindFramebuffer): No longer perform framebuffer initialization at this point.
20063         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check WebGL specific attachment conflicts.
20064         (WebCore::WebGLRenderingContext::clear): Call WebGLFramebuffer::onAccess.
20065         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
20066         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
20067         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
20068         (WebCore::WebGLRenderingContext::drawElements): Ditto.
20069         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): No longer perform framebuffer initialization at this point.
20070         (WebCore::WebGLRenderingContext::readPixels): Call WebGLFramebuffer::onAccess.
20071         (WebCore::WebGLRenderingContext::renderbufferStorage): No longer perform framebuffer initialization at this point.
20072         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
20073
20074 2010-11-01  Zhenyao Mo  <zmo@google.com>
20075
20076         Reviewed by Kenneth Russell.
20077
20078         blendFunc should generate INVALID_OPERATION if constant color and constant alpha are together as source and destination factors
20079         https://bugs.webkit.org/show_bug.cgi?id=48674
20080
20081         Test: fast/canvas/webgl/webgl-specific.html
20082
20083         * html/canvas/WebGLRenderingContext.cpp:
20084         (WebCore::WebGLRenderingContext::blendFunc):
20085         (WebCore::WebGLRenderingContext::blendFuncSeparate):
20086         * html/canvas/WebGLRenderingContext.h:
20087         (WebCore::WebGLRenderingContext::validateBlendFuncFactors): Helper function to do the checking.
20088
20089 2010-11-02  Simon Fraser  <simon.fraser@apple.com>
20090
20091         Reviewed by Dan Bernstein.
20092
20093         Overlapped nested iframes show smearing when scrolled
20094         https://bugs.webkit.org/show_bug.cgi?id=48873
20095
20096         A FrameView goes into slow scrolling mode (not blitting) when told that it is
20097         overlapped. However, a nested iframe could still try to use fast scrolling
20098         when its parent is overlapped, which could result in bad rendering.
20099         
20100         Fixed by making useSlowRepaints() and useSlowRepaintsIfNotOverlapped()
20101         walk up their parent chain, asking if their parents also use slow
20102         repaints.
20103         
20104         All the places that call setCanBlitOnScroll() now call
20105         updateCanBlitOnScrollRecursively() to ensure that the canBlitOnScroll
20106         flag is updated correctly on subframes.
20107         
20108         Repaint tests do not work on nested iframes, so added manual test.
20109
20110         * manual-tests/frames/nested-iframe-blit-on-scroll.html: Added.
20111         * manual-tests/frames/resources/blit-on-scroll-subframe.html: Added.
20112         * manual-tests/frames/resources/blit-on-scroll-subsubframe.html: Added.
20113         * page/FrameView.cpp:
20114         (WebCore::FrameView::layout):
20115         (WebCore::FrameView::useSlowRepaints):
20116         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
20117         (WebCore::FrameView::updateCanBlitOnScrollRecursively):
20118         (WebCore::FrameView::setUseSlowRepaints):
20119         (WebCore::FrameView::addSlowRepaintObject):
20120         (WebCore::FrameView::removeSlowRepaintObject):
20121         (WebCore::FrameView::addFixedObject):
20122         (WebCore::FrameView::removeFixedObject):
20123         (WebCore::FrameView::setIsOverlapped):
20124         (WebCore::FrameView::setContentIsOpaque):
20125         * page/FrameView.h:
20126
20127 2010-11-02  Simon Fraser  <simon.fraser@apple.com>
20128
20129         Reviewed by Dan Bernstein.
20130
20131         Iframes nested inside a compositing layer don't repaint correctly
20132         https://bugs.webkit.org/show_bug.cgi?id=48880
20133         <rdar://problem/8194698>
20134         
20135         The isEnclosedInCompositingLayer() is used to modify the behavior of
20136         -[WebClipView visibleRect:] in WebKit, so that scrolling-related repaints
20137         are correct in composited iframes. Previously it only asked whether the
20138         frame's renderer was in a compositing layer, but we actually need to
20139         consult all ancestors.
20140         
20141         Test: compositing/iframes/nested-iframe-scrolling.html
20142
20143         * page/FrameView.cpp:
20144         (WebCore::FrameView::isEnclosedInCompositingLayer):
20145
20146 2010-11-02  David Hyatt  <hyatt@apple.com>
20147
20148         Reviewed by Dan Bernstein.
20149
20150         https://bugs.webkit.org/show_bug.cgi?id=48672
20151         
20152         Make vertical glyph offset hit testing work with inline boxes.  This allows selection to paint
20153         properly for vertical text (although gap-filling is still broken).
20154         
20155         Refactored and cleaned up the writing mode flipping functions, and also did some cleanup to
20156         better share code between hit testing and painting.
20157
20158         * rendering/InlineBox.cpp:
20159         (WebCore::InlineBox::locationIncludingFlipping):
20160         (WebCore::InlineBox::flipForWritingMode):
20161         * rendering/InlineBox.h:
20162         * rendering/InlineFlowBox.cpp:
20163         (WebCore::InlineFlowBox::nodeAtPoint):
20164         (WebCore::InlineFlowBox::paint):
20165         (WebCore::InlineFlowBox::paintBoxDecorations):
20166         (WebCore::InlineFlowBox::paintMask):
20167         * rendering/InlineTextBox.cpp:
20168         (WebCore::InlineTextBox::selectionRect):
20169         (WebCore::InlineTextBox::nodeAtPoint):
20170         (WebCore::InlineTextBox::paint):
20171         (WebCore::InlineTextBox::textPos):
20172         (WebCore::InlineTextBox::offsetForPosition):
20173         (WebCore::InlineTextBox::positionForOffset):
20174         * rendering/RenderBlock.cpp:
20175         (WebCore::RenderBlock::paintChildren):
20176         (WebCore::RenderBlock::paintFloats):
20177         (WebCore::RenderBlock::hitTestFloats):
20178         (WebCore::RenderBlock::hitTestContents):
20179         * rendering/RenderBox.cpp:
20180         (WebCore::RenderBox::computeRectForRepaint):
20181         (WebCore::RenderBox::flipForWritingMode):
20182         (WebCore::RenderBox::locationOffsetIncludingFlipping):
20183         * rendering/RenderBox.h:
20184         * rendering/RenderInline.cpp:
20185         (WebCore::RenderInline::clippedOverflowRectForRepaint):
20186         * rendering/RenderLineBoxList.cpp:
20187         (WebCore::RenderLineBoxList::rangeIntersectsRect):
20188         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
20189         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
20190         (WebCore::RenderLineBoxList::paint):
20191         (WebCore::RenderLineBoxList::hitTest):
20192         * rendering/RenderLineBoxList.h:
20193         * rendering/RenderText.cpp:
20194         (WebCore::RenderText::positionForPoint):
20195
20196 2010-11-02  Adam Barth  <abarth@webkit.org>
20197
20198         Reviewed by Eric Seidel.
20199
20200         JPEG decoders should understand color profiles
20201         https://bugs.webkit.org/show_bug.cgi?id=48819
20202
20203         This patch is currently a no-op because no one defines USE(ICCJPEG).
20204         We'll enable this for Chromium Mac once we have ICCJPEG landed in
20205         Chromium's third_party directory.
20206
20207         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
20208         (WebCore::readColorProfile):
20209         (WebCore::JPEGImageReader::JPEGImageReader):
20210         (WebCore::JPEGImageReader::decode):
20211         (WebCore::JPEGImageDecoder::outputScanlines):
20212         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
20213         (WebCore::JPEGImageDecoder::setColorProfile):
20214
20215 2010-11-02  Mihai Parparita  <mihaip@chromium.org>
20216
20217         Reviewed by Adam Barth.
20218
20219         [Chromium] Crash when encountering history.back() call during Page::goToItem execution
20220         https://bugs.webkit.org/show_bug.cgi?id=48477
20221         
20222         For the Chromium port, BackForwardList::itemAtIndex synthesizes a 
20223         HistoryItem and saves a pointer to it in m_pendingItem. During 
20224         Page::goToItem we call FrameLoader::stopAllLoaders, which can trigger
20225         onload handlers (if a subframe was not considered committed by the frame
20226         loader). If one of those handlers calls calls history.back() or another
20227         operation that ends up in NavigationScheduler::scheduleHistoryNavigation,
20228         we would call BackForwardList::itemAtIndex, which means that we would 
20229         lose the m_pendingItem RefPtr that pointed to the item being navigated 
20230         to, causing its ref count to go to 0*, and thus for the HistoryItem to
20231         be deleted before we were done navigating to it.
20232         
20233         This is fixed in two ways:
20234         - Add a protector RefPtr in Page::goToItem to make sure that the item is
20235           still around for when we pass it to HistoryController:goToItem.
20236         - Change NavigationScheduler::scheduleHistoryNavigation to not use
20237           BackForwardList::itemAtIndex and instead look at the
20238           forward/backListCount() (since it doesn't actually care about the
20239           returned HistoryItem).
20240         
20241         * Full annotated stack trace of this is at http://crbug.com/59554#c9.        
20242
20243         Test: http/tests/history/back-during-onload-triggered-by-back.html
20244
20245         * loader/NavigationScheduler.cpp:
20246         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
20247         * page/Page.cpp:
20248         (WebCore::Page::goToItem):
20249
20250 2010-10-28  Zhenyao Mo  <zmo@google.com>
20251
20252         Reviewed by Kenneth Russell.
20253
20254         Update getUniform for bvec[234] to return boolean[] rather than Uint8Array
20255         https://bugs.webkit.org/show_bug.cgi?id=47568
20256
20257         * html/canvas/WebGLRenderingContext.cpp:
20258         (WebCore::WebGLRenderingContext::getUniform):
20259
20260 2010-11-02  Chris Rogers  <crogers@google.com>
20261
20262         Reviewed by Kenneth Russell.
20263
20264         Add RealtimeAnalyserNode files
20265         https://bugs.webkit.org/show_bug.cgi?id=48798
20266
20267         No new tests since audio API is not yet implemented.
20268
20269         * webaudio/RealtimeAnalyserNode.cpp: Added.
20270         (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
20271         (WebCore::RealtimeAnalyserNode::~RealtimeAnalyserNode):
20272         (WebCore::RealtimeAnalyserNode::process):
20273         (WebCore::RealtimeAnalyserNode::pullInputs):
20274         (WebCore::RealtimeAnalyserNode::reset):
20275         * webaudio/RealtimeAnalyserNode.h: Added.
20276         (WebCore::RealtimeAnalyserNode::create):
20277         (WebCore::RealtimeAnalyserNode::fftSize):
20278         (WebCore::RealtimeAnalyserNode::setFftSize):
20279         (WebCore::RealtimeAnalyserNode::frequencyBinCount):
20280         (WebCore::RealtimeAnalyserNode::setMinDecibels):
20281         (WebCore::RealtimeAnalyserNode::minDecibels):
20282         (WebCore::RealtimeAnalyserNode::setMaxDecibels):
20283         (WebCore::RealtimeAnalyserNode::maxDecibels):
20284         (WebCore::RealtimeAnalyserNode::setSmoothingTimeConstant):
20285         (WebCore::RealtimeAnalyserNode::smoothingTimeConstant):
20286         (WebCore::RealtimeAnalyserNode::getFloatFrequencyData):
20287         (WebCore::RealtimeAnalyserNode::getByteFrequencyData):
20288         (WebCore::RealtimeAnalyserNode::getByteTimeDomainData):
20289         * webaudio/RealtimeAnalyserNode.idl: Added.
20290
20291 2010-11-02  Sheriff Bot  <webkit.review.bot@gmail.com>
20292
20293         Unreviewed, rolling out r71152.
20294         http://trac.webkit.org/changeset/71152
20295         https://bugs.webkit.org/show_bug.cgi?id=48866
20296
20297         Causes lots and lots of crashes (Requested by jamesr_ on
20298         #webkit).
20299
20300         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
20301         (WebCore::JPEGImageReader::JPEGImageReader):
20302         (WebCore::JPEGImageReader::decode):
20303         (WebCore::JPEGImageDecoder::outputScanlines):
20304         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
20305
20306 2010-11-02  Alexey Proskuryakov  <ap@apple.com>
20307
20308         Reviewed by Timothy Hatcher.
20309
20310         https://bugs.webkit.org/show_bug.cgi?id=48813
20311         <rdar://problem/8602552> REGRESSION (r63622): DNS prefetching for <link> tags doesn't work
20312         in non-HTTP documents
20313
20314         Cannot test DNS prefetching.
20315
20316         * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): We should be looking at
20317         preferences, not at whether this document has prefetching enabled.
20318
20319 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20320
20321         Not reviewed: Web Inspector: follow up to r71139. Fixed Mac monospace
20322         height style.
20323
20324         * inspector/front-end/PropertiesSection.js:
20325         (WebInspector.PropertiesSection):
20326         * inspector/front-end/inspector.css:
20327
20328 2010-11-02  Adam Barth  <abarth@webkit.org>
20329
20330         Reviewed by Eric Seidel.
20331
20332         JPEG decoders should understand color profiles
20333         https://bugs.webkit.org/show_bug.cgi?id=48819
20334
20335         This patch is currently a no-op because no one defines USE(ICCJPEG).
20336         We'll enable this for Chromium Mac once we have ICCJPEG landed in
20337         Chromium's third_party directory.
20338
20339         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
20340         (WebCore::readColorProfile):
20341         (WebCore::JPEGImageReader::JPEGImageReader):
20342         (WebCore::JPEGImageReader::decode):
20343         (WebCore::JPEGImageDecoder::outputScanlines):
20344         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
20345         (WebCore::JPEGImageDecoder::setColorProfile):
20346
20347 2010-11-02  Ilya Sherman  <isherman@chromium.org>
20348
20349         Reviewed by Simon Fraser.
20350
20351         Marks selectionStart() and selectionEnd() as const.
20352         https://bugs.webkit.org/show_bug.cgi?id=48786
20353
20354         * html/HTMLFormControlElement.cpp:
20355         (WebCore::HTMLTextFormControlElement::selectionStart):
20356         (WebCore::HTMLTextFormControlElement::selectionEnd):
20357         * html/HTMLFormControlElement.h:
20358
20359 2010-11-02  Chris Rogers  <crogers@google.com>
20360
20361         Reviewed by Kenneth Russell.
20362
20363         Fix license for audio files
20364         https://bugs.webkit.org/show_bug.cgi?id=48859
20365
20366         * webaudio/AudioChannelSplitter.cpp:
20367         * webaudio/AudioChannelSplitter.h:
20368         * webaudio/AudioDestinationNode.cpp:
20369         * webaudio/AudioDestinationNode.h:
20370         * webaudio/AudioGainNode.cpp:
20371         * webaudio/AudioGainNode.h:
20372         * webaudio/AudioPannerNode.cpp:
20373         * webaudio/AudioPannerNode.h:
20374         * webaudio/AudioPannerNode.idl:
20375
20376 2010-11-02  Martin Robinson  <mrobinson@igalia.com>
20377
20378         Reviewed by Xan Lopez.
20379
20380         Remove special handling of HashTableDeletedValue in PlatformRefPtr and manually manage memory that cannot be controlled by HashTraits
20381         https://bugs.webkit.org/show_bug.cgi?id=48841
20382
20383         Switch to manually managing the memory in FontPlatformDataFreeType. This
20384         is necessary because smart pointers do not know how to deal with a pointer
20385         value of -1 (HashTableDeletedValue) and HashTraits can only manage the type
20386         contained in the HashMap. 
20387
20388         No new tests as this should not change functionality.
20389
20390         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
20391         (WebCore::FontPlatformData::FontPlatformData):
20392         (WebCore::FontPlatformData::operator=):
20393         (WebCore::FontPlatformData::~FontPlatformData):
20394         (WebCore::FontPlatformData::operator==):
20395         (WebCore::FontPlatformData::initializeWithFontFace):
20396         * platform/graphics/cairo/FontPlatformDataFreeType.h:
20397         (WebCore::FontPlatformData::FontPlatformData):
20398         (WebCore::FontPlatformData::scaledFont):
20399         (WebCore::FontPlatformData::hash):
20400         (WebCore::FontPlatformData::isHashTableDeletedValue):
20401         (WebCore::FontPlatformData::hashTableDeletedFontValue):
20402         * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
20403         (WebCore::GlyphPage::fill):
20404         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
20405         (WebCore::SimpleFontData::platformInit):
20406         (WebCore::SimpleFontData::containsCharacters):
20407         (WebCore::SimpleFontData::platformWidthForGlyph):
20408
20409 2010-11-02  Adam Barth  <abarth@webkit.org>
20410
20411         Reviewed by Eric Seidel.
20412
20413         querySelectorAll('body>:last-child') does not work unless HTML file ends with 'new-line'.
20414         https://bugs.webkit.org/show_bug.cgi?id=47166
20415
20416         We need to pop all the open elements when we end the document in the
20417         AfterAfterBody state.
20418
20419         Test: fast/parser/pop-all-after-after-body.html
20420
20421         * html/parser/HTMLTreeBuilder.cpp:
20422         (WebCore::HTMLTreeBuilder::processEndOfFile):
20423
20424 2010-11-02  Patrick Gansterer  <paroga@webkit.org>
20425
20426         Reviewed by Adam Roben.
20427
20428         Cleanup createGlobalImageFileDescriptor in ClipboardWin
20429         https://bugs.webkit.org/show_bug.cgi?id=48189
20430
20431         * platform/win/ClipboardWin.cpp:
20432         (WebCore::ClipboardWin::writeURL):
20433
20434 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20435
20436         Reviewed by Timothy Hatcher.
20437
20438         Web Inspector: display frame names in the resources panel.
20439         https://bugs.webkit.org/show_bug.cgi?id=48839
20440
20441         * inspector/Inspector.idl:
20442         * inspector/InspectorResourceAgent.cpp:
20443         (WebCore::frameId):
20444         (WebCore::buildObjectForDocumentLoader):
20445         (WebCore::buildObjectForFrame):
20446         (WebCore::buildObjectForFrameTree):
20447         (WebCore::InspectorResourceAgent::didCommitLoad):
20448         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
20449         (WebCore::InspectorResourceAgent::frameForId):
20450         (WebCore::InspectorResourceAgent::resourceContent):
20451         * inspector/InspectorResourceAgent.h:
20452         * inspector/front-end/ResourceManager.js:
20453         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
20454         (WebInspector.ResourceManager.prototype._processCachedResources):
20455         (WebInspector.ResourceManager.prototype._addFramesRecursively):
20456         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
20457         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
20458         * inspector/front-end/StoragePanel.js:
20459         (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
20460         (WebInspector.BaseStorageTreeElement.prototype.get titleText):
20461         (WebInspector.FrameTreeElement):
20462         (WebInspector.FrameTreeElement.prototype.onattach):
20463         (WebInspector.FrameTreeElement.prototype.get nameForSorting):
20464         (WebInspector.FrameTreeElement.prototype.setTitles):
20465         (WebInspector.FrameTreeElement.prototype.set hovered):
20466         * inspector/front-end/inspector.css:
20467         (li.selected .base-storage-tree-element-subtitle):
20468         (.base-storage-tree-element-subtitle):
20469
20470 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20471
20472         Not reviewed. Follow up to r71139: removing unused images.
20473         https://bugs.webkit.org/show_bug.cgi?id=48827
20474
20475         * WebCore.gypi:
20476         * inspector/front-end/Images/grayConnectorPoint.png: Removed.
20477         * inspector/front-end/Images/whiteConnectorPoint.png: Removed.
20478         * inspector/front-end/WebKit.qrc:
20479
20480 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20481
20482         Reviewed by Timothy Hatcher.
20483
20484         Web Inspector: make properties and event listeners look consistent with the styles section.
20485         https://bugs.webkit.org/show_bug.cgi?id=48827
20486
20487         * inspector/front-end/EventListenersSidebarPane.js:
20488         * inspector/front-end/PropertiesSection.js:
20489         (WebInspector.PropertiesSection):
20490         * inspector/front-end/PropertiesSidebarPane.js:
20491         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
20492         (WebInspector.PropertiesSidebarPane.prototype.update):
20493         * inspector/front-end/inspector.css:
20494         (.events-pane .section:not(:nth-of-type(1))):
20495         (.event-bar:first-child):
20496         (.section .header):
20497         (.section .header::before):
20498         (.section.expanded .header::before):
20499         (.section .header .title, .event-bar .header .title):
20500         (.section .header .subtitle, .event-bar .header .subtitle):
20501         (.section.expanded .properties, .event-bar.expanded .event-properties):
20502         (.properties-tree):
20503         (.event-bar):
20504         (.event-bars .event-bar .header):
20505         (.event-bars .event-bar .header .title):
20506         (.event-bars .event-bar .header::before):
20507
20508 2010-11-02  Dan Bernstein  <mitz@apple.com>
20509
20510         Reviewed by Anders Carlsson.
20511
20512         Remove unused methods and member variables from AutoTableLayout.
20513
20514         * rendering/AutoTableLayout.cpp:
20515         (WebCore::AutoTableLayout::AutoTableLayout): Removed initialization of m_percentagesDirty
20516         and m_totalPercent.
20517         (WebCore::AutoTableLayout::fullRecalc): Removed setting of m_percentagesDirty.
20518         (WebCore::AutoTableLayout::calcPercentages): Removed.
20519         * rendering/AutoTableLayout.h: Removed totalPercent(), m_percentagesDirty, and m_totalPercent.
20520
20521 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20522
20523         Reviewed by Timothy Hatcher.
20524
20525         Web Inspector: clear / hide timing information for cached resources.
20526         https://bugs.webkit.org/show_bug.cgi?id=48848
20527
20528         * inspector/front-end/Resource.js:
20529         (WebInspector.Resource.prototype.set cached):
20530         (WebInspector.Resource.prototype.get timing):
20531         (WebInspector.Resource.prototype.set timing):
20532         * inspector/front-end/ResourceManager.js:
20533         (WebInspector.ResourceManager.prototype.markResourceAsCached):
20534
20535 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20536
20537         Reviewed by Timothy Hatcher.
20538
20539         Web Inspector: improve network's 'preview close' usability.
20540         https://bugs.webkit.org/show_bug.cgi?id=48846
20541
20542         * inspector/front-end/networkPanel.css:
20543         (#network-close-button:hover):
20544         (#network-close-button:active):
20545
20546 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20547
20548         Reviewed by Timothy Hatcher.
20549
20550         Web Inspector: Image heights are displayed as 0.
20551         https://bugs.webkit.org/show_bug.cgi?id=40817
20552
20553         * inspector/front-end/ImageView.js:
20554         (WebInspector.ImageView.prototype.contentTabSelected):
20555         (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
20556
20557  2010-10-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
20558
20559         Reviewed by Kenneth Rohde Christiansen.
20560
20561         [Texmap] [Qt] Texture mapper initial implementation
20562         https://bugs.webkit.org/show_bug.cgi?id=47070
20563
20564         Some refactor for texmap to enable WebKit2: remove globals, and allow TextureMapper to exist without a GraphicsContext.
20565         This will allow rendering the TextureMapperNode tree without an active QPainter, into the current GL context.
20566         Most of the changes simply move the globas in TextureMapperGL into members of that class.
20567
20568         No new tests. Old tests in LayoutTests/compositing cover this.
20569
20570         * platform/graphics/opengl/TextureMapperGL.cpp:
20571         (WebCore::TextureMapperGLData::ShaderInfo::getUniformLocation):
20572         (WebCore::TextureMapperGLData::ShaderInfo::createShaderProgram):
20573         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
20574         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
20575         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
20576         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
20577         (WebCore::TextureMapperGLData::TextureMapperGLData):
20578         (WebCore::TextureMapperGL::TextureMapperGL):
20579         (WebCore::TextureMapperGL::drawTexture):
20580         (WebCore::BitmapTextureGL::setContentsToImage):
20581         (WebCore::BitmapTextureGL::destroy):
20582         (WebCore::TextureMapperGL::~TextureMapperGL):
20583         (WebCore::TextureMapperGL::makeContextCurrent):
20584         (WebCore::TextureMapperGL::obtainCurrentContext):
20585         (WebCore::TextureMapperGL::bindSurface):
20586         (WebCore::TextureMapperGL::paintToTarget):
20587         (WebCore::TextureMapperGL::createTexture):
20588         * platform/graphics/opengl/TextureMapperGL.h:
20589         (WebCore::TextureMapperGL::data):
20590         * platform/graphics/qt/TextureMapperQt.cpp:
20591         (WebCore::TextureMapperQt::TextureMapperQt):
20592         (WebCore::TextureMapperQt::setGraphicsContext):
20593         (WebCore::TextureMapper::create):
20594         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
20595         (WebCore::TextureMapperNode::paint):
20596         (WebCore::TextureMapperNode::uploadTextureFromContent):
20597         * platform/graphics/texmap/TextureMapper.h:
20598         (WebCore::TextureMapper::setGraphicsContext):
20599         (WebCore::TextureMapper::setImageInterpolationQuality):
20600         (WebCore::TextureMapper::setTextDrawingMode):
20601         (WebCore::TextureMapper::imageInterpolationQuality):
20602         (WebCore::TextureMapper::textDrawingMode):
20603         (WebCore::TextureMapper::TextureMapper):
20604         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
20605         (WebCore::TextureMapperContentLayer::paint):
20606
20607  2010-11-02  Adele Peterson  <adele@apple.com>
20608
20609         Reviewed by Kent Tamura.
20610
20611         Fix for https://bugs.webkit.org/show_bug.cgi?id=48814
20612         <rdar://problem/8546143> Attempting to redo typing in apple.com/startpage search field causes infinite recursion in TextControlInnerTextElement::defaultEventHandler
20613
20614         Test: editing/undo/redo-after-detach.html
20615
20616         * rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerTextElement::defaultEventHandler):
20617         A TextControlInnerTextElement will almost always have a shadowAncestorNode, the HTMLInputElement.  In this case, 
20618         after the renderer was destroyed, this shadow node was kept alive by the EditCommand, even though its not hooked up 
20619         anymore to the shadow DOM.  EditCommands can sometimes operate on stale selections and are expected to fail silently.  
20620         So here we prevent the infinite loop during event dispatch, and the rest of the redo operation will fail silently.
20621
20622 2010-11-02  Chris Marrin  <cmarrin@apple.com>
20623
20624         Reviewed by Simon Fraser.
20625
20626         When animations are paused, play-state can cause them to be unpaused.
20627         https://bugs.webkit.org/show_bug.cgi?id=46525
20628
20629         I Changed updatePlayState() to only unpause when both play-state is 
20630         "running" and not suspended. Likewise I pause animation when either
20631         play-state is "paused" or suspended.
20632
20633         Test: animations/play-state-suspend.html
20634
20635         * page/animation/AnimationBase.cpp:
20636         (WebCore::AnimationBase::updatePlayState):
20637
20638 2010-11-02  Chris Marrin  <cmarrin@apple.com>
20639
20640         Reviewed by Adam Roben.
20641
20642         Make RenderStyle::playState() return typed value and cleanup naming in Animation code
20643         https://bugs.webkit.org/show_bug.cgi?id=48844
20644
20645         playState() function was returning unsigned value, but there is a EAnimPlayState
20646         enum type which has the legal playState values. This type is now used everywhere.
20647         I also changed the naming of the m_isSuspended to m_suspended to match the style
20648         elsewhere in the code.
20649
20650         * page/animation/AnimationBase.cpp:
20651         (WebCore::AnimationBase::updatePlayState):
20652         * page/animation/AnimationBase.h:
20653         * page/animation/AnimationController.cpp:
20654         (WebCore::AnimationControllerPrivate::clear):
20655         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
20656         * page/animation/CompositeAnimation.cpp:
20657         (WebCore::CompositeAnimation::updateKeyframeAnimations):
20658         (WebCore::CompositeAnimation::suspendAnimations):
20659         (WebCore::CompositeAnimation::resumeAnimations):
20660         * page/animation/CompositeAnimation.h:
20661         (WebCore::CompositeAnimation::suspended):
20662         (WebCore::CompositeAnimation::CompositeAnimation):
20663         * platform/animation/Animation.h:
20664         (WebCore::Animation::playState):
20665         (WebCore::Animation::setPlayState):
20666         (WebCore::Animation::initialAnimationPlayState):
20667
20668 2010-11-01  Zhenyao Mo  <zmo@google.com>
20669
20670         Reviewed by Andreas Kling.
20671
20672         vertexAttribPointer should generate INVALID_VALUE if the stride exceeds 255
20673         https://bugs.webkit.org/show_bug.cgi?id=48677
20674
20675         Test: fast/canvas/webgl/gl-vertexattribpointer.html
20676
20677         * html/canvas/WebGLRenderingContext.cpp:
20678         (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate INVALID_VALUE if stride > 255.
20679
20680 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
20681
20682         Reviewed by Xan Lopez.
20683
20684         [Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
20685         https://bugs.webkit.org/show_bug.cgi?id=48805
20686
20687         Track active WebSocket handles via a sequential id. This ensures
20688         that when a handle is reallocated into a recently used segment of
20689         memory, it doesn't trigger a false positive in the code which ensures
20690         the original handle is active.
20691
20692         No new tests. This test should stop crashing on the bots, proving the fix.
20693
20694         * platform/network/soup/SocketStreamHandle.h:
20695         (WebCore::SocketStreamHandle::id): Added an m_id member and accessor
20696         to SocketStreamHandle.
20697         * platform/network/soup/SocketStreamHandleSoup.cpp:
20698         (WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
20699         SocketStreamHandle*.
20700         (WebCore::deactivateHandle): Ditto.
20701         (WebCore::activateHandle): Ditto.
20702         (WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
20703         (WebCore::SocketStreamHandle::connected): Ditto.
20704         (WebCore::SocketStreamHandle::readBytes): Ditto.
20705         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
20706         (WebCore::connectedCallback): Ditto.
20707         (WebCore::readReadyCallback): Ditto.
20708         (WebCore::writeReadyCallback): Ditto.
20709
20710 2010-11-02  Csaba Osztrogonác  <ossy@webkit.org>
20711
20712         Unreviewed trivial fix.
20713
20714         * WebCore.pro: Remove inspector/InspectorResource.h after r71035.
20715
20716 2010-11-02  Pavel Podivilov  <podivilov@chromium.org>
20717
20718         Reviewed by Pavel Feldman.
20719
20720         Web Inspector: make xhr breakpoints editable
20721         https://bugs.webkit.org/show_bug.cgi?id=48830
20722
20723         * inspector/front-end/BreakpointManager.js:
20724         (WebInspector.Breakpoint.prototype.set sourceText):
20725         (WebInspector.Breakpoint.prototype.click):
20726         (WebInspector.Breakpoint.prototype.populateLabelElement):
20727         (WebInspector.XHRBreakpoint.prototype.populateEditElement):
20728         * inspector/front-end/BreakpointsSidebarPane.js:
20729         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
20730         (WebInspector.BreakpointsSidebarPane.prototype._breakpointItemClicked):
20731         (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
20732         (WebInspector.BreakpointsSidebarPane.prototype._addListElement):
20733         (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
20734         (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
20735         (WebInspector.XHRBreakpointsSidebarPane):
20736         (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
20737         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
20738         (WebInspector.XHRBreakpointsSidebarPane.prototype._breakpointItemClicked):
20739         (WebInspector.BreakpointItem):
20740         (WebInspector.BreakpointItem.prototype.get element):
20741         (WebInspector.BreakpointItem.prototype.click):
20742         (WebInspector.BreakpointItem.prototype.populateEditElement):
20743         (WebInspector.BreakpointItem.prototype.remove):
20744         (WebInspector.BreakpointItem.prototype._hitStateChanged):
20745         (WebInspector.BreakpointItem.prototype._labelChanged):
20746         (WebInspector.BreakpointItem.prototype._createLabelElement):
20747         * inspector/front-end/inspector.js:
20748         (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
20749         (WebInspector.createJSBreakpointsSidebarPane):
20750         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
20751         (WebInspector.createDOMBreakpointsSidebarPane):
20752         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
20753         (WebInspector.createXHRBreakpointsSidebarPane):
20754
20755 2010-11-02  Pavel Podivilov  <podivilov@chromium.org>
20756
20757         Reviewed by Pavel Feldman.
20758
20759         Web Inspector: fix for breakpoints not restored on live edit bug
20760         https://bugs.webkit.org/show_bug.cgi?id=48833
20761
20762         * inspector/front-end/ScriptsPanel.js:
20763         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
20764         * inspector/front-end/inspector.js:
20765         (WebInspector.pausedScript):
20766
20767 2010-11-02  Alexander Pavlov  <apavlov@chromium.org>
20768
20769         Reviewed by Pavel Feldman.
20770
20771         Web Inspector: [REGRESSION] Rule addition/selector editing result in unusable rules
20772         https://bugs.webkit.org/show_bug.cgi?id=48826
20773
20774         * inspector/front-end/CSSStyleModel.js:
20775         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
20776         (WebInspector.CSSStyleModel.prototype.addRule):
20777         * inspector/front-end/StylesSidebarPane.js:
20778         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
20779         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
20780
20781 2010-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
20782
20783         Reviewed by Andreas Kling.
20784
20785         [Qt] Don't include Objective-C sources in SOURCES
20786
20787         * WebCore.pro:
20788
20789 2010-11-02  Pavel Podivilov  <podivilov@chromium.org>
20790
20791         Reviewed by Pavel Feldman.
20792
20793         Web Inspector: persist native breakpoints in localStorage
20794         https://bugs.webkit.org/show_bug.cgi?id=48711
20795
20796         * inspector/InspectorController.cpp:
20797         (WebCore::InspectorController::disconnectFrontend):
20798         (WebCore::InspectorController::didCommitLoad):
20799         (WebCore::InspectorController::clearNativeBreakpoints):
20800         * inspector/InspectorController.h:
20801         * inspector/front-end/BreakpointManager.js:
20802         (WebInspector.BreakpointManager):
20803         (WebInspector.DOMBreakpoint):
20804         (WebInspector.EventListenerBreakpoint):
20805         (WebInspector.EventListenerBreakpoint.eventNameForUI):
20806         (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
20807         (WebInspector.XHRBreakpoint):
20808         (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
20809         * inspector/front-end/BreakpointsSidebarPane.js:
20810         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
20811         (WebInspector.BreakpointsSidebarPane.prototype._breakpointHit):
20812         (WebInspector.BreakpointItem.prototype._hitStateChanged):
20813         (WebInspector.EventListenerBreakpointsSidebarPane):
20814         * inspector/front-end/ConsoleView.js:
20815         * inspector/front-end/EventListenersSidebarPane.js:
20816         * inspector/front-end/NetworkPanel.js:
20817         * inspector/front-end/Panel.js:
20818         * inspector/front-end/ResourceView.js:
20819         * inspector/front-end/ScriptsPanel.js:
20820         * inspector/front-end/Settings.js:
20821         (WebInspector.Settings):
20822         (WebInspector.Settings.prototype.inspectedURLChanged):
20823         (WebInspector.Settings.prototype._formatProjectKey):
20824         * inspector/front-end/StoragePanel.js:
20825         * inspector/front-end/StylesSidebarPane.js:
20826         * inspector/front-end/WatchExpressionsSidebarPane.js:
20827         * inspector/front-end/inspector.css:
20828         (.pane .breakpoint-hit):
20829         * inspector/front-end/inspector.js:
20830         (WebInspector.set currentPanel):
20831         (WebInspector.doLoadedDone.onPopulateScriptObjects):
20832         (WebInspector.doLoadedDone):
20833         (WebInspector.reset):
20834         (WebInspector.inspectedURLChanged):
20835
20836 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
20837
20838         Reviewed by Joseph Pecoraro.
20839
20840         Web Inspector: use mimeType from cached resource
20841         in case response data contains none.
20842         https://bugs.webkit.org/show_bug.cgi?id=48773
20843
20844         * inspector/InspectorResourceAgent.cpp:
20845         (WebCore::InspectorResourceAgent::didReceiveResponse):
20846         * inspector/front-end/NetworkPanel.js:
20847         (WebInspector.NetworkPanel.prototype._createTable):
20848
20849 2010-11-01  Andrey Kosyakov  <caseq@chromium.org>
20850
20851         Reviewed by Pavel Feldman.
20852
20853         Web Inspector: [Extensions API] expose API to create properties watch sidebar panes
20854         https://bugs.webkit.org/show_bug.cgi?id=48761
20855
20856         * inspector/front-end/ExtensionAPI.js:
20857         (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
20858         (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane.callbackWrapper):
20859         (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane):
20860         (WebInspector.injectedExtensionAPI):
20861         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl):
20862         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setExpression):
20863         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
20864         * inspector/front-end/ExtensionPanel.js: Added ExtensionWatchSidebarPane
20865         (WebInspector.ExtensionWatchSidebarPane):
20866         (WebInspector.ExtensionWatchSidebarPane.prototype.setObject):
20867         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
20868         (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
20869         (WebInspector.ExtensionWatchSidebarPane.prototype._setObject):
20870         * inspector/front-end/ExtensionServer.js:
20871         (WebInspector.ExtensionServer):
20872         (WebInspector.ExtensionServer.prototype.notifyExtensionWatchSidebarUpdated):
20873         (WebInspector.ExtensionServer.prototype._onCreateSidebar):
20874         (WebInspector.ExtensionServer.prototype._onCreateWatchExpressionSidebarPane):
20875         (WebInspector.ExtensionServer.prototype._createSidebar):
20876         (WebInspector.ExtensionServer.prototype._onSetWatchSidebarContent):
20877         * inspector/front-end/InjectedScript.js:
20878         (injectedScriptConstructor.):
20879         * inspector/front-end/RemoteObject.js: Added a wrapper for local JSON object to simulate RemoteObject interface.
20880         (WebInspector.RemoteObject.fromLocalObject):
20881         (WebInspector.LocalJSONObject):
20882         (WebInspector.LocalJSONObject.prototype.get description):
20883         (WebInspector.LocalJSONObject.prototype.get type):
20884         (WebInspector.LocalJSONObject.prototype.get hasChildren):
20885         (WebInspector.LocalJSONObject.prototype.getOwnProperties):
20886         (WebInspector.LocalJSONObject.prototype.getProperties):
20887         (WebInspector.LocalJSONObject.prototype.isError):
20888
20889 2010-11-02  Ryuan Choi  <ryuan.choi@samsung.com>
20890
20891         Unreviewed build fix for EFL build with libcurl
20892
20893         [EFL] remove multiple definition with libcurl
20894         https://bugs.webkit.org/show_bug.cgi?id=48499
20895
20896         Add macro to isolate setCookieStoragePrivateBrowsingEnabled from EFL
20897         build because it was duplicated.
20898
20899         * platform/network/curl/CookieJarCurl.cpp:
20900
20901 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20902
20903         Reviewed by Joseph Pecoraro.
20904
20905         Web Inspector: highlight frame on hover in resources panel.
20906         https://bugs.webkit.org/show_bug.cgi?id=48760
20907
20908         * inspector/Inspector.idl:
20909         * inspector/InspectorController.cpp:
20910         (WebCore::InspectorController::highlightFrame):
20911         * inspector/InspectorController.h:
20912         (WebCore::InspectorController::hideFrameHighlight):
20913         * inspector/front-end/StoragePanel.js:
20914         (WebInspector.StoragePanel):
20915         (WebInspector.StoragePanel.prototype.showView):
20916         (WebInspector.StoragePanel.prototype._onmousemove):
20917         (WebInspector.StoragePanel.prototype._onmouseout):
20918         (WebInspector.FrameTreeElement.prototype.onselect):
20919         (WebInspector.FrameTreeElement.prototype.ondeselect):
20920         (WebInspector.FrameTreeElement.prototype.set displayName):
20921         (WebInspector.FrameTreeElement.prototype.set hovered):
20922         * inspector/front-end/inspector.css:
20923         (.storage.panel .sidebar li.selected .selection):
20924         (.storage.panel .sidebar :focus li.selected .selection):
20925         (body.inactive .storage.panel .sidebar li.selected .selection):
20926
20927 2010-11-02  Nikolas Zimmermann  <nzimmermann@rim.com>
20928
20929         Reviewed by Rob Buis.
20930
20931         Convert SVGPreserveAspectRatio to the new SVGPropertyTearOff concept
20932         https://bugs.webkit.org/show_bug.cgi?id=48822
20933
20934         Convert the next type to use the SVGPropertyTearOffConcept. Just SVGAnimatedTransformList/SVGTransform/SVGStringList are missing.
20935
20936         Tests: svg/dom/SVGAnimatedPreserveAspectRatio.html
20937                svg/dom/SVGPreserveAspectRatio.html
20938
20939         * GNUmakefile.am: Add SVGAnimatedPreserveAspectRatio.h to build.
20940         * WebCore.gypi: Ditto.
20941         * WebCore.pro: Ditto.
20942         * WebCore.vcproj/WebCore.vcproj: Ditto.
20943         * WebCore.xcodeproj/project.pbxproj: Ditto.
20944         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedPreserveAspectRatio as new style animated type.
20945         * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGPreserveAspectRatio handling.
20946         * bindings/scripts/CodeGeneratorObjC.pm: Always include the type wrapped by SVGPropertyTearOff<> - this was missing before, and now become visible as missing include.
20947         * bindings/scripts/CodeGeneratorV8.pm: Remove special SVGPreserveAspectRatio handling.
20948         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGPreserveAspectRatio handling.
20949         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
20950         * svg/SVGAnimatedPreserveAspectRatio.h: Added.
20951         * svg/SVGFEImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
20952         * svg/SVGFitToViewBox.cpp:
20953         (WebCore::SVGFitToViewBox::viewBoxToViewTransform): SVGPreserveAspectRatio::getCTM doesn't need x/y parameters, they were not used anywhere, remove them.
20954         * svg/SVGFitToViewBox.h: Replace includes by class forwards.
20955         * svg/SVGImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
20956         * svg/SVGLocatable.cpp: Add SVGNames.h include, to allow Qt to build (thanks ews!).
20957         * svg/SVGMarkerElement.h: Ditto.
20958         * svg/SVGPatternElement.h: Ditto.
20959         * svg/SVGPreserveAspectRatio.cpp: Modernize code, add error handling for align/meetOrSlice covered by the new tests.
20960         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
20961         (WebCore::SVGPreserveAspectRatio::setAlign):
20962         (WebCore::SVGPreserveAspectRatio::setMeetOrSlice):
20963         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
20964         (WebCore::SVGPreserveAspectRatio::transformRect):
20965         (WebCore::SVGPreserveAspectRatio::getCTM):
20966         (WebCore::SVGPreserveAspectRatio::valueAsString):
20967         * svg/SVGPreserveAspectRatio.h: Reindented header.
20968         (WebCore::SVGPreserveAspectRatio::align): Inlined.
20969         (WebCore::SVGPreserveAspectRatio::meetOrSlice): Inlined.
20970         * svg/SVGPreserveAspectRatio.idl: Enable StrictTypeChecking for the align/meetOrSlice properties.
20971         * svg/SVGSVGElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
20972         * svg/SVGStyledTransformableElement.h: Add SVGAnimatedPropertyMacros.h include, needed by efl to build (thanks ews!).
20973         * svg/SVGSymbolElement.h: Ditto.
20974         * svg/SVGViewElement.h: Ditto.
20975         * svg/SVGViewSpec.h: Ditto.
20976
20977 2010-11-01  MORITA Hajime  <morrita@google.com>
20978
20979         Reviewed by Kent Tamura.
20980
20981         @spellcheck attribute at the child of contentEditable node is ignored.
20982         https://bugs.webkit.org/show_bug.cgi?id=48418
20983
20984         Changed to check spellcheck availability against a node under the
20985         selection (caret) instead of the focus. For shadow elements, the
20986         check now refers its host node.  Note that the original code didn't
20987         care shadows because focus is never set on them.
20988         
20989         Test: editing/spelling/spelling-attribute-at-child.html
20990
20991         * dom/Element.h:
20992         * editing/Editor.cpp:
20993         (WebCore::Editor::markMisspellingsOrBadGrammar):
20994         (WebCore::Editor::isSpellCheckingEnabledFor): 
20995         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Now just calling isSpellCheckingEnabledFor()
20996         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
20997         * editing/Editor.h:
20998         * platform/ContextMenu.cpp:
20999         (WebCore::ContextMenu::populate):
21000         * rendering/TextControlInnerElements.cpp:
21001         (WebCore::TextControlInnerElement::isSpellCheckingEnabled): Added.
21002         * rendering/TextControlInnerElements.h:
21003
21004 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
21005
21006         Reviewed by Daniel Bates.
21007
21008         [GTK] PopupMenuGtk has a very confusing if-else block
21009         https://bugs.webkit.org/show_bug.cgi?id=48816
21010
21011         Small code cleanup for PopupMenuGtk.
21012
21013         * platform/gtk/PopupMenuGtk.cpp:
21014         (WebCore::PopupMenuGtk::show):
21015
21016 2010-11-01  Adam Barth  <abarth@webkit.org>
21017
21018         Reviewed by Eric Seidel.
21019
21020         [Chromium] Add ICC support for PNG on Mac
21021         https://bugs.webkit.org/show_bug.cgi?id=48170
21022
21023         This just pipes the ICC profile from libpng to CoreGraphics.  This
21024         patch would have been a lot prettier on Snow Leopard, but we have to
21025         use a somewhat ugly API to get this to work on Leopard.
21026
21027         This is covered by about infinite tests.
21028
21029         * platform/image-decoders/ImageDecoder.cpp:
21030         (WebCore::RGBA32Buffer::setColorProfile):
21031         * platform/image-decoders/ImageDecoder.h:
21032         * platform/image-decoders/cg/ImageDecoderCG.cpp:
21033         (WebCore::RGBA32Buffer::asNewNativeImage):
21034         * platform/image-decoders/png/PNGImageDecoder.cpp:
21035         (WebCore::PNGImageDecoder::headerAvailable):
21036         (WebCore::PNGImageDecoder::rowAvailable):
21037         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
21038         (WebCore::RGBA32Buffer::setColorProfile):
21039         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
21040         (WebCore::RGBA32Buffer::setColorProfile):
21041
21042 2010-11-01  Chang Shu  <chang.shu@nokia.com>
21043
21044         Reviewed by Antonio Gomes.
21045
21046         Leave SelectElement key handling without setting event default
21047         handled when the selection reaches the boundary so focus can 
21048         move to neighbor nodes in spatial navigation.
21049         https://bugs.webkit.org/show_bug.cgi?id=48145
21050
21051         * dom/SelectElement.cpp:
21052         (WebCore::SelectElement::listBoxDefaultEventHandler):
21053
21054 2010-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
21055
21056         Unreviewed, rolling out r71080.
21057         http://trac.webkit.org/changeset/71080
21058         https://bugs.webkit.org/show_bug.cgi?id=48815
21059
21060         This change caused many crashes on the debug bot. (Requested
21061         by mrobinson on #webkit).
21062
21063         * platform/network/soup/SocketStreamHandle.h:
21064         * platform/network/soup/SocketStreamHandleSoup.cpp:
21065         (WebCore::isActiveHandle):
21066         (WebCore::deactivateHandle):
21067         (WebCore::SocketStreamHandle::SocketStreamHandle):
21068         (WebCore::SocketStreamHandle::connected):
21069         (WebCore::SocketStreamHandle::readBytes):
21070         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
21071         (WebCore::connectedCallback):
21072         (WebCore::readReadyCallback):
21073         (WebCore::writeReadyCallback):
21074
21075 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
21076
21077         Reviewed by Xan Lopez.
21078
21079         [Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
21080         https://bugs.webkit.org/show_bug.cgi?id=48805
21081
21082         Track active WebSocket handles via a sequential id. This ensures
21083         that when a handle is reallocated into a recently used segment of
21084         memory, it doesn't trigger a false positive in the code which ensures
21085         the original handle is active.
21086
21087         No new tests. This test should stop crashing on the bots, proving the fix.
21088
21089         * platform/network/soup/SocketStreamHandle.h:
21090         (WebCore::SocketStreamHandle::id): Added an m_id member and accessor
21091         to SocketStreamHandle.
21092         * platform/network/soup/SocketStreamHandleSoup.cpp:
21093         (WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
21094         SocketStreamHandle*.
21095         (WebCore::deactivateHandle): Ditto.
21096         (WebCore::activateHandle): Ditto.
21097         (WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
21098         (WebCore::SocketStreamHandle::connected): Ditto.
21099         (WebCore::SocketStreamHandle::readBytes): Ditto.
21100         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
21101         (WebCore::connectedCallback): Ditto.
21102         (WebCore::readReadyCallback): Ditto.
21103         (WebCore::writeReadyCallback): Ditto.
21104
21105 2010-11-01  Kent Tamura  <tkent@chromium.org>
21106
21107         Unreviewed. Run sort-Xcode-project-file.
21108
21109         * WebCore.xcodeproj/project.pbxproj:
21110
21111 2010-11-01  Simon Fraser  <simon.fraser@apple.com>
21112
21113         Reviewed by Dan Bernstein.
21114
21115         Assertion failure in FrameView::layout when clicking on a YouTube video on youtube.com front page
21116         https://bugs.webkit.org/show_bug.cgi?id=44287
21117         
21118         When removing subframes, it's possible for layout() to get called on a FrameView
21119         for a Frame that has been removed from the frame tree. This can happen if the parent
21120         document happens to do a layout() while RenderView still has a reference to the widget
21121         for the removed frame; updateWidgetPosition() will try to force a layout() on the 
21122         subframe.
21123         
21124         Fix by checking that the FrameView's Frame still has a reference to the page before
21125         calling layout() on the subframe.
21126
21127         Test: fast/frames/layout-after-destruction.html
21128
21129         * rendering/RenderWidget.cpp:
21130         (WebCore::RenderWidget::updateWidgetPosition):
21131
21132 2010-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
21133
21134         Unreviewed, rolling out r71065.
21135         http://trac.webkit.org/changeset/71065
21136         https://bugs.webkit.org/show_bug.cgi?id=48801
21137
21138         Seem to breake a lot of tests on Chromium bots (Requested by
21139         dimich on #webkit).
21140
21141         * platform/image-decoders/ImageDecoder.cpp:
21142         * platform/image-decoders/ImageDecoder.h:
21143         * platform/image-decoders/cg/ImageDecoderCG.cpp:
21144         (WebCore::RGBA32Buffer::asNewNativeImage):
21145         * platform/image-decoders/png/PNGImageDecoder.cpp:
21146         (WebCore::PNGImageDecoder::headerAvailable):
21147         (WebCore::PNGImageDecoder::rowAvailable):
21148         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
21149         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
21150
21151 2010-11-01  Matthew Delaney  <mdelaney@apple.com>
21152
21153         Reviewed by Simon Fraser.
21154
21155         Setting attr repeatDur=0 on SVG element causes hang
21156         https://bugs.webkit.org/show_bug.cgi?id=48785
21157
21158         Test: svg/animations/repeatDur-zero.xhtml
21159
21160         * svg/animation/SVGSMILElement.cpp: Fixing bound checking for legal repeatDur values.
21161
21162 2010-10-31  Adam Barth  <abarth@webkit.org>
21163
21164         Reviewed by Eric Seidel.
21165
21166         [Chromium] Add ICC support for PNG on Mac
21167         https://bugs.webkit.org/show_bug.cgi?id=48170
21168
21169         This just pipes the ICC profile from libpng to CoreGraphics.  This
21170         patch would have been a lot prettier on Snow Leopard, but we have to
21171         use a somewhat ugly API to get this to work on Leopard.
21172
21173         This is covered by about infinite tests.
21174
21175         * platform/image-decoders/ImageDecoder.cpp:
21176         (WebCore::RGBA32Buffer::setColorProfile):
21177         * platform/image-decoders/ImageDecoder.h:
21178         * platform/image-decoders/cg/ImageDecoderCG.cpp:
21179         (WebCore::RGBA32Buffer::asNewNativeImage):
21180         * platform/image-decoders/png/PNGImageDecoder.cpp:
21181         (WebCore::PNGImageDecoder::headerAvailable):
21182         (WebCore::PNGImageDecoder::rowAvailable):
21183         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
21184         (WebCore::RGBA32Buffer::setColorProfile):
21185         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
21186         (WebCore::RGBA32Buffer::setColorProfile):
21187
21188 2010-11-01  David Hyatt  <hyatt@apple.com>
21189
21190         Reviewed by Dan Bernstein.
21191
21192         https://bugs.webkit.org/show_bug.cgi?id=48776
21193         
21194         Change isVertical() on InlineBox to isHorizontal() instead.  This makes the horizontal code path come
21195         first if you branch on isHorizontal() and makes the code read better (since that's the more common code
21196         path).
21197
21198         * rendering/InlineBox.cpp:
21199         (WebCore::InlineBox::logicalHeight):
21200         * rendering/InlineBox.h:
21201         (WebCore::InlineBox::InlineBox):
21202         (WebCore::InlineBox::isHorizontal):
21203         (WebCore::InlineBox::setIsHorizontal):
21204         (WebCore::InlineBox::width):
21205         (WebCore::InlineBox::height):
21206         (WebCore::InlineBox::logicalLeft):
21207         (WebCore::InlineBox::setLogicalLeft):
21208         (WebCore::InlineBox::logicalTop):
21209         (WebCore::InlineBox::setLogicalTop):
21210         (WebCore::InlineBox::baselinePosition):
21211         (WebCore::InlineBox::lineHeight):
21212         * rendering/InlineFlowBox.cpp:
21213         (WebCore::InlineFlowBox::addToLine):
21214         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
21215         (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
21216         (WebCore::InlineFlowBox::paintFillLayer):
21217         (WebCore::InlineFlowBox::paintBoxDecorations):
21218         (WebCore::InlineFlowBox::paintMask):
21219         * rendering/InlineFlowBox.h:
21220         (WebCore::InlineFlowBox::marginLogicalLeft):
21221         (WebCore::InlineFlowBox::marginLogicalRight):
21222         (WebCore::InlineFlowBox::borderLogicalLeft):
21223         (WebCore::InlineFlowBox::borderLogicalRight):
21224         (WebCore::InlineFlowBox::paddingLogicalLeft):
21225         (WebCore::InlineFlowBox::paddingLogicalRight):
21226         (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
21227         (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
21228         * rendering/InlineTextBox.cpp:
21229         (WebCore::InlineTextBox::selectionRect):
21230         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
21231         (WebCore::paintTextWithShadows):
21232         (WebCore::InlineTextBox::paint):
21233         (WebCore::InlineTextBox::paintDecoration):
21234         * rendering/InlineTextBox.h:
21235         * rendering/RenderBlockLineLayout.cpp:
21236         (WebCore::RenderBlock::createLineBoxes):
21237         * rendering/RenderBox.cpp:
21238         (WebCore::RenderBox::blockDirectionOverflow):
21239         * rendering/RenderBox.h:
21240         * rendering/RenderBoxModelObject.cpp:
21241         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
21242         * rendering/RenderLineBoxList.cpp:
21243         (WebCore::RenderLineBoxList::hitTest):
21244         * rendering/RootInlineBox.cpp:
21245         (WebCore::RootInlineBox::RootInlineBox):
21246         (WebCore::RootInlineBox::placeEllipsis):
21247         * rendering/RootInlineBox.h:
21248         (WebCore::RootInlineBox::baselinePosition):
21249         (WebCore::RootInlineBox::lineHeight):
21250
21251 2010-11-01  Simon Fraser  <simon.fraser@apple.com>
21252
21253         Reviewed by Dave Hyatt.
21254
21255         Multiple background properties are not retrievable via DOM method getComputedStyle
21256         https://bugs.webkit.org/show_bug.cgi?id=23203
21257         
21258         Return lists of values from getComputedStyle() for multiple backgrounds,
21259         and multiple masks.
21260
21261         Test: fast/backgrounds/multiple-backgrounds-computed-style.html
21262
21263         * css/CSSComputedStyleDeclaration.cpp:
21264         (WebCore::fillSizeToCSSValue):
21265         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
21266
21267 2010-11-01  David Hyatt  <hyatt@apple.com>
21268
21269         Reviewed by Dan Bernstein.
21270
21271         https://bugs.webkit.org/show_bug.cgi?id=48663
21272
21273         Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
21274         RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
21275         to give back the correct rectangle for vertical lines.
21276
21277         Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
21278         
21279         Patch hit testing to also account for "rt" and "bt" blocks.
21280
21281         * rendering/InlineBox.cpp:
21282         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
21283         * rendering/InlineFlowBox.cpp:
21284         (WebCore::InlineFlowBox::nodeAtPoint):
21285         * rendering/InlineFlowBox.h:
21286         (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
21287         (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
21288         (WebCore::InlineFlowBox::bottomLayoutOverflow):
21289         (WebCore::InlineFlowBox::rightLayoutOverflow):
21290         (WebCore::InlineFlowBox::bottomVisualOverflow):
21291         (WebCore::InlineFlowBox::rightVisualOverflow):
21292         * rendering/InlineTextBox.cpp:
21293         (WebCore::InlineTextBox::nodeAtPoint):
21294         * rendering/RenderBlock.cpp:
21295         (WebCore::RenderBlock::hitTestFloats):
21296         (WebCore::RenderBlock::hitTestContents):
21297         * rendering/RenderBox.cpp:
21298         (WebCore::RenderBox::computeRectForRepaint):
21299         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
21300         * rendering/RenderBox.h:
21301         * rendering/RenderInline.cpp:
21302         (WebCore::RenderInline::linesBoundingBox):
21303         (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
21304         (WebCore::RenderInline::clippedOverflowRectForRepaint):
21305         * rendering/RenderText.cpp:
21306         (WebCore::RenderText::linesBoundingBox):
21307
21308 2010-11-01  Brady Eidson  <beidson@apple.com>
21309
21310         Reviewed by Anders Carlsson.
21311
21312         <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
21313         Context menu support for WebKit 2.
21314
21315         Add a "showContextMenu" call to Chrome/ChromeClient:
21316         * loader/EmptyClients.h:
21317         (WebCore::EmptyChromeClient::showContextMenu):
21318         * page/Chrome.cpp:
21319         (WebCore::Chrome::showContextMenu):
21320         * page/Chrome.h:
21321         * page/ChromeClient.h:
21322
21323         Add a "platform description to ContextMenuItem" creator, will be needed by WebKit2
21324         * platform/ContextMenu.h:
21325         * platform/mac/ContextMenuMac.mm:
21326         (WebCore::contextMenuItemVector):
21327
21328         * platform/mac/ContextMenuItemMac.mm:
21329         (WebCore::ContextMenuItem::checked): WebKit2 ports now need this implemented.
21330
21331         Stub these out to keep their WK2 ports building:
21332         * platform/qt/ContextMenuItemQt.cpp:
21333         (WebCore::ContextMenuItem::checked):
21334         * platform/qt/ContextMenuQt.cpp:
21335         (WebCore::contextMenuItemVector):
21336         * platform/win/ContextMenuItemWin.cpp:
21337         (WebCore::ContextMenuItem::checked):
21338         * platform/win/ContextMenuWin.cpp:
21339         (WebCore::contextMenuItemVector):
21340
21341 2010-11-01  Eric Carlson  <eric.carlson@apple.com>
21342
21343         Reviewed by Adam Roben.
21344
21345         Seeking by very small increment doesn't generate 'seeked' event
21346         https://bugs.webkit.org/show_bug.cgi?id=48530
21347
21348         Test: media/video-seek-by-small-increment.html
21349
21350         * html/HTMLMediaElement.cpp:
21351         (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
21352         avoid asking it to seek to the current time.
21353
21354         * platform/graphics/MediaPlayer.cpp:
21355         (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
21356         * platform/graphics/MediaPlayer.h:
21357         * platform/graphics/MediaPlayerPrivate.h:
21358         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
21359
21360         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
21361         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21362         (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
21363
21364         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
21365         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
21366         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
21367
21368         * platform/graphics/win/QTMovie.cpp:
21369         (QTMovie::timeScale): Return the movie's time scale.
21370         * platform/graphics/win/QTMovie.h:
21371
21372 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21373
21374         Not reviewed: Chromium build fix. Adding missing transitive dependency.
21375
21376         * inspector/InspectorResourceAgent.cpp:
21377
21378 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21379
21380         Not reviewed. Removing references to removed file from project files.
21381
21382         * WebCore.gypi:
21383         * inspector/front-end/WebKit.qrc:
21384         * inspector/front-end/inspector.css:
21385
21386 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21387
21388         Reviewed by Timothy Hatcher.
21389
21390         Web Inspector: remove old resources panel.
21391         https://bugs.webkit.org/show_bug.cgi?id=45657
21392
21393         * CMakeLists.txt:
21394         * English.lproj/localizedStrings.js:
21395         * GNUmakefile.am:
21396         * WebCore.gypi:
21397         * WebCore.pro:
21398         * WebCore.vcproj/WebCore.vcproj:
21399         * WebCore.xcodeproj/project.pbxproj:
21400         * bindings/js/JSInjectedScriptHostCustom.cpp:
21401         * inspector/InjectedScriptHost.cpp:
21402         * inspector/Inspector.idl:
21403         * inspector/InspectorCSSStore.cpp:
21404         * inspector/InspectorController.cpp:
21405         (WebCore::InspectorController::~InspectorController):
21406         (WebCore::InspectorController::connectFrontend):
21407         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
21408         (WebCore::InspectorController::populateScriptObjects):
21409         (WebCore::InspectorController::unbindAllResources):
21410         (WebCore::InspectorController::didCommitLoad):
21411         (WebCore::InspectorController::frameDetachedFromParent):
21412         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
21413         (WebCore::InspectorController::identifierForInitialRequest):
21414         (WebCore::InspectorController::willSendRequest):
21415         (WebCore::InspectorController::markResourceAsCached):
21416         (WebCore::InspectorController::didReceiveResponse):
21417         (WebCore::InspectorController::didReceiveContentLength):
21418         (WebCore::InspectorController::didFinishLoading):
21419         (WebCore::InspectorController::didFailLoading):
21420         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
21421         (WebCore::InspectorController::scriptImported):
21422         (WebCore::InspectorController::didCreateWebSocket):
21423         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
21424         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
21425         (WebCore::InspectorController::didCloseWebSocket):
21426         * inspector/InspectorController.h:
21427         * inspector/InspectorFrontendHost.cpp:
21428         * inspector/InspectorResource.cpp: Removed.
21429         * inspector/InspectorResource.h: Removed.
21430         * inspector/InspectorResourceAgent.cpp:
21431         (WebCore::InspectorResourceAgent::setOverrideContent):
21432         * inspector/InspectorResourceAgent.h:
21433         * inspector/front-end/ConsoleView.js:
21434         (WebInspector.ConsoleView.prototype.addMessage):
21435         (WebInspector.ConsoleView.prototype.clearMessages):
21436         * inspector/front-end/ExtensionServer.js:
21437         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
21438         * inspector/front-end/Images/resourcesSilhouette.png: Removed.
21439         * inspector/front-end/Resource.js:
21440         * inspector/front-end/ResourceManager.js:
21441         (WebInspector.ResourceManager.getContent):
21442         * inspector/front-end/ResourcesPanel.js: Removed.
21443         * inspector/front-end/Settings.js:
21444         * inspector/front-end/StoragePanel.js:
21445         (WebInspector.StoragePanel):
21446         (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
21447         * inspector/front-end/WebKit.qrc:
21448         * inspector/front-end/inspector.html:
21449         * inspector/front-end/inspector.js:
21450         (WebInspector._createPanels):
21451         (WebInspector.get networkResources):
21452         (WebInspector.forAllResources):
21453         (WebInspector.resourceForURL):
21454         (WebInspector.doLoadedDone.populateInspectorState):
21455         (WebInspector.openResource):
21456         (WebInspector.domContentEventFired):
21457         (WebInspector.loadEventFired):
21458         (WebInspector.reset):
21459         (WebInspector._choosePanelToShowSourceLine):
21460
21461 2010-10-28  Zhenyao Mo  <zmo@google.com>
21462
21463         Reviewed by Kenneth Russell.
21464
21465         Fix enum naming style violation in GraphicsContext3D
21466         https://bugs.webkit.org/show_bug.cgi?id=48441
21467
21468         * platform/graphics/GraphicsContext3D.cpp:
21469         (WebCore::GraphicsContext3D::extractImageData):
21470         (WebCore::GraphicsContext3D::extractTextureData):
21471         (WebCore::doPacking):
21472         (WebCore::GraphicsContext3D::packPixels):
21473         * platform/graphics/GraphicsContext3D.h:
21474         * platform/graphics/cg/GraphicsContext3DCG.cpp:
21475         (WebCore::getSourceDataFormat):
21476         (WebCore::GraphicsContext3D::getImageData):
21477         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
21478         (WebCore::GraphicsContext3D::getImageData):
21479
21480 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
21481
21482         Reviewed by Xan Lopez.
21483
21484         [GTK] Pasting markup into Thunderbird compose window produces no text
21485         https://bugs.webkit.org/show_bug.cgi?id=43737
21486
21487         Include a content-type meta tag prefix on all clipboard markup. Programs like
21488         Thunderbird expect this meta tag and will not paste anything unless it is there.
21489
21490         This is covered by changes to WebKit/gtk/tests/testcopyandpaste.c. This patch was
21491         written in such a way as to not affect layout test results, otherwise there
21492         would be many new GTK+-specific results that say "FAIL").
21493
21494         * platform/gtk/PasteboardHelper.cpp:
21495         (WebCore::removeMarkupPrefix): Added this helper which removes the prefix
21496         when found on incoming clipboard and drag-and-drop text.
21497         (WebCore::PasteboardHelper::getClipboardContents): Remove the meta tag prefix.
21498         (WebCore::PasteboardHelper::fillSelectionData): Add the meta tag prefix.
21499         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Remove the meta tag prefix
21500
21501 2010-11-01  Justin Schuh  <jschuh@chromium.org>
21502
21503         Reviewed by Dirk Schulze.
21504
21505         Check for NULL node in SVGUseElement::associateInstancesWithShadowTreeElements loop
21506         https://bugs.webkit.org/show_bug.cgi?id=48741
21507
21508         Test: svg/custom/use-on-use-with-child-and-empty-target.svg
21509
21510         * svg/SVGUseElement.cpp:
21511         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
21512
21513 2010-11-01  Mario Sanchez Prada  <msanchez@igalia.com>
21514
21515         Reviewed by Martin Robinson.
21516
21517         [Gtk] AtkHyperlink needs to be implemented
21518         https://bugs.webkit.org/show_bug.cgi?id=33785
21519
21520         Implemented the AtkHyperlink/AtkHypertext stuff in the GTK port.
21521
21522         Even thought these kind of tasks are usually about implementing an
21523         interface, in this case it was needed to implement some more
21524         things due to the fact that AtkHyperlink is neither an interface
21525         nor an AtkObject, but just an abstract class child of GObject that
21526         needs to be redefined in a specific subclass of that one. On top
21527         of that, it was needed to implement the AtkAction interface as
21528         well for that new class, so exposed hyperlinks can work as
21529         expected with Assistive Technologies based on ATK.
21530
21531         Furthermore, as there's no mechanism to get an instance of that
21532         AtkHyperlink other than doing it through an AtkObject implementing
21533         the AtkHypertext interface, it was needed to also add the code to
21534         implement that one, so it makes possible to ask for the
21535         'hyperlinks' under an 'hypertext' accessible object.
21536
21537         Finally, to complete the implementation of all this stuff and make
21538         it all consistent, it was needed as well to implement the
21539         AtkHyperlinkImpl interface (providing just one method only) so
21540         that allows retrieving the AtkHyperlink object associated to an
21541         AtkObject implementing such an interface.
21542
21543         * GNUmakefile.am: Add the new WebKitAccessibleHyperlink.[h|cpp]
21544         files to the sources list for the GTK port.
21545
21546         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
21547         (core): New function to return the core accessibility object
21548         related to an AtkObject implementing the AtkHypertext interface.
21549         (webkitAccessibleHypertextGetLink): New, part of the
21550         implementation of the AtkHypertext interface.
21551         (webkitAccessibleHypertextGetNLinks): New, likewise.
21552         (webkitAccessibleHypertextGetLinkIndex): New, likewise.
21553         (atkHypertextInterfaceInit): New, initialize the AtkHypertext
21554         interface.
21555         (webkitAccessibleHyperlinkImplGetHyperlink): New, part of the
21556         implementation of the AtkHyperlinkImpl interface.
21557         (atkHyperlinkImplInterfaceInit): New, initialize the
21558         AtkHyperlinkImpl interface.
21559         (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_HYPERTEXT and
21560         ATK_TYPE_HYPERLINK_IMPL to the list of recognized types.
21561         (getInterfaceMaskFromObject): Decide when it's needed to add
21562         WAI_HYPERTEXT and WAI_HYPERLINK to the interface mask.
21563
21564         * accessibility/gtk/WebKitAccessibleHyperlink.h: Added.
21565         * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Added.
21566         (returnString): Return (const char*) from String variables.
21567         (core): Return the associated AccessibilityObject.
21568         (webkitAccessibleHyperlinkActionDoAction): Part of the
21569         implementation of the AtkAction interface.
21570         (webkitAccessibleHyperlinkActionGetNActions): Likewise.
21571         (webkitAccessibleHyperlinkActionGetDescription): Likewise.
21572         (webkitAccessibleHyperlinkActionGetKeybinding): Likewise.
21573         (webkitAccessibleHyperlinkActionGetName): Likewise.
21574         (atkActionInterfaceInit): Initialize the AtkAction interface.
21575         (getRangeLengthForObject): Returns the length for a given Range,
21576         considering special cases (e.g. List item markers).
21577         (webkitAccessibleHyperlinkGetURI): Implementation of one of the
21578         methods in the AtkHyperlink abstract class.
21579         (webkitAccessibleHyperlinkGetObject): Likewise.
21580         (webkitAccessibleHyperlinkGetStartIndex): Likewise.
21581         (webkitAccessibleHyperlinkGetEndIndex): Likewise.
21582         (webkitAccessibleHyperlinkIsValid): Likewise.
21583         (webkitAccessibleHyperlinkGetNAnchors): Likewise.
21584         (webkitAccessibleHyperlinkIsSelectedLink): Likewise.
21585         (webkitAccessibleHyperlinkGetProperty): Getter method.
21586         (webkitAccessibleHyperlinkSetProperty): Setter method.
21587         (webkitAccessibleHyperlinkFinalize): Finalize method.
21588         (webkitAccessibleHyperlinkClassInit): Initialize the
21589         WebKitAccessibleHyperlink class.
21590         (webkitAccessibleHyperlinkInit): Initialize the
21591         WebKitAccessibleHyperlink instance.
21592         (webkitAccessibleHyperlinkGetType): Implementation of the
21593         get_type() function for the WebKitAccessibleHyperlink class.
21594         (webkitAccessibleHyperlinkNew): Returns an instance of the class
21595         associated to a given AtkHyperlinkImpl object.
21596         (webkitAccessibleHyperlinkGetAccessibilityObject): Public function
21597         returning the AccessibilityObject associated to the instance of
21598         the WebKitAccessibleHyperlink class.
21599
21600 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21601
21602         Not reviewed: simplify inspector styles test to make all bots happy.
21603         (drive-by fix for overriden inspector styles in network panel).
21604
21605         * inspector/InspectorController.h:
21606         * inspector/front-end/networkPanel.css:
21607
21608 2010-11-01  Nikolas Zimmermann  <nzimmermann@rim.com>
21609
21610         Reviewed by Rob Buis.
21611
21612         Enable StrictTypeChecking for all types using SVG(Animated)PropertyTearOff
21613         https://bugs.webkit.org/show_bug.cgi?id=48715
21614
21615         Enable StrictTypeChecking for all readwrite attributes and function calls of all types using the new SVG(Animated)PropertyTearOff concept.
21616         Also enable RequiresAllArguments=Raise for all function calls of these new types. Cover this functionality by tests for each of them.
21617
21618         When testing SVGLength it became obvious that quite a lot of functionality was missing.
21619         Conversion from relative arguments (percentage, ems, exs) to user specified units was missing, added that functionality and tested it.
21620         User units to pt conversion was wrong, fixed that.
21621
21622         Tests: svg/dom/SVGAnimatedAngle.html
21623                svg/dom/SVGAnimatedBoolean.html
21624                svg/dom/SVGAnimatedEnumeration.html
21625                svg/dom/SVGAnimatedInteger.html
21626                svg/dom/SVGAnimatedLength.html
21627                svg/dom/SVGAnimatedLengthList.html
21628                svg/dom/SVGAnimatedRect.html
21629                svg/dom/SVGLength-px-with-context.html
21630                svg/dom/SVGLength-px.html
21631                svg/dom/SVGLength.html
21632
21633         * bindings/js/JSSVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that. 
21634         (WebCore::JSSVGLength::value):
21635         (WebCore::JSSVGLength::setValue):
21636         (WebCore::JSSVGLength::convertToSpecifiedUnits):
21637         * bindings/scripts/CodeGeneratorObjC.pm: Remove FIXMEs, pass real context instead off null pointer. DOMSVGLength::value is functional now.
21638         * bindings/v8/custom/V8SVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that.
21639         (WebCore::V8SVGLength::valueAccessorGetter):
21640         (WebCore::V8SVGLength::valueAccessorSetter):
21641         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
21642         * rendering/style/SVGRenderStyle.h: Adapt to SVGLength API changes.
21643         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
21644         (WebCore::SVGRenderStyle::initialKerning):
21645         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
21646         (WebCore::SVGRenderStyle::initialStrokeWidth):
21647         * svg/SVGAngle.idl: Add StrictTypeChecking, RequiresAllArguments=Raise to all methods.
21648         * svg/SVGAnimatedBoolean.idl: Remove StrictTypeChecking from animVal, it's readonly so this is useless.
21649         * svg/SVGAnimatedEnumeration.idl: Add StrictTypeChecking to all attributes.
21650         * svg/SVGAnimatedInteger.idl: Ditto.
21651         * svg/SVGLength.cpp: Implement all missing features of SVGLength. Conform to our style guide (s/.0f// etc)
21652         (WebCore::lengthTypeToString):
21653         (WebCore::SVGLength::SVGLength):
21654         (WebCore::SVGLength::value): Throw NOT_SUPPORTED_ERR when trying to obtain to relative units, when no context is given (SVGLength created by createSVGLength()).
21655         (WebCore::SVGLength::setValue): Ditto, for the setter.
21656         (WebCore::SVGLength::valueAsPercentage): Use m_valueInSpecifiedUnits instead of valueInSpecifiedUnits().
21657         (WebCore::SVGLength::setValueAsString): Throw SYNTAX_ERR if parsing failed.
21658         (WebCore::SVGLength::valueAsString): Use makeString() instead of String and operator+.
21659         (WebCore::SVGLength::newValueSpecifiedUnits): Add ExceptionCode parameter, throw NOT_SUPPORTED_ERR, if the given unit type is invalid.
21660         (WebCore::SVGLength::convertToSpecifiedUnits): Ditto.
21661         (WebCore::SVGLength::determineViewport): Added helper function used by convertValue*Percentage*.
21662         (WebCore::SVGLength::convertValueFromUserUnitsToPercentage): Add new helper functions, used by value/setValue.
21663         (WebCore::SVGLength::convertValueFromPercentageToUserUnits): Ditto.
21664         (WebCore::SVGLength::convertValueFromUserUnitsToEMS): Ditto.
21665         (WebCore::SVGLength::convertValueFromEMSToUserUnits): Ditto.
21666         (WebCore::SVGLength::convertValueFromUserUnitsToEXS): Ditto.
21667         (WebCore::SVGLength::convertValueFromEXSToUserUnits): Ditto.
21668         (WebCore::SVGLength::fromCSSPrimitiveValue): Adapt to newValueSpecifiedUnits API change.
21669         (WebCore::SVGLength::toCSSPrimitiveValue): Remove default switch case.
21670         * svg/SVGLength.h:
21671         (WebCore::SVGLength::valueInSpecifiedUnits): Inlined.
21672         (WebCore::SVGLength::setValueInSpecifiedUnits): Ditto.
21673         (WebCore::SVGLength::isRelative):
21674         * svg/SVGLength.idl: Add StrictTypeChecking for all attributes/functions and RequiresAllArguments=Raise for all functions.
21675         * svg/SVGLengthList.cpp: Adapt to SVGLength API changes.
21676         (WebCore::SVGLengthList::parse):
21677
21678 2010-10-31  Pavel Feldman  <pfeldman@chromium.org>
21679
21680         Reviewed by Timothy Hatcher.
21681
21682         Web Inspector: unhide new network and resources panels.
21683         https://bugs.webkit.org/show_bug.cgi?id=48725
21684
21685         * English.lproj/localizedStrings.js:
21686         * inspector/InspectorController.h:
21687         * inspector/front-end/NetworkPanel.js:
21688         (WebInspector.NetworkPanel):
21689         * inspector/front-end/Settings.js:
21690         * inspector/front-end/StoragePanel.js:
21691         (WebInspector.StoragePanel):
21692         (WebInspector.StoragePanel.prototype.reset):
21693         (WebInspector.StoragePanel.prototype.addResourceToFrame):
21694         (WebInspector.StoragePanel.prototype.addDocumentURL):
21695         (WebInspector.StoragePanel.prototype.showFileSystem):
21696         (WebInspector.FileSystemTreeElement):
21697         (WebInspector.FileSystemTreeElement.prototype.get itemURL):
21698         (WebInspector.FileSystemTreeElement.prototype.onselect):
21699         * inspector/front-end/inspector.js:
21700         (WebInspector.updateResource):
21701         * inspector/front-end/networkPanel.css:
21702         (#network-close-button):
21703         (.network.panel.viewing-resource #network-close-button):
21704
21705 2010-10-26  MORITA Hajime  <morrita@google.com>
21706
21707         Reviewed by Kent Tamura.
21708
21709         Refactoring: Spellchecking related static functions could form a class
21710         https://bugs.webkit.org/show_bug.cgi?id=48287
21711
21712         Extracted spellcheck related static functions to TextCheckingHelper class,
21713         which has EditorClient and Range as its member.
21714         
21715         No new tests. Just a refactoring.
21716
21717         * CMakeLists.txt:
21718         * GNUmakefile.am:
21719         * WebCore.gypi:
21720         * WebCore.pro:
21721         * WebCore.vcproj/WebCore.vcproj:
21722         * WebCore.xcodeproj/project.pbxproj:
21723         * editing/EditingAllInOne.cpp
21724         * editing/Editor.cpp:
21725         (WebCore::Editor::advanceToNextMisspelling):
21726         (WebCore::Editor::isSelectionUngrammatical):
21727         (WebCore::Editor::guessesForUngrammaticalSelection):
21728         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
21729         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
21730         (WebCore::Editor::markMisspellingsOrBadGrammar):
21731         (WebCore::Editor::markMisspellings):
21732         (WebCore::Editor::markBadGrammar):
21733         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
21734         (WebCore::Editor::changeBackToReplacedString):
21735         * editing/Editor.h:
21736         * editing/TextCheckingHelper.cpp: Added.
21737         (WebCore::TextCheckingHelper::TextCheckingHelper):
21738         (WebCore::TextCheckingHelper::~TextCheckingHelper):
21739         (WebCore::TextCheckingHelper::paragraphAlignedRange):
21740         (WebCore::TextCheckingHelper::findFirstMisspelling):
21741         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
21742         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
21743         (WebCore::TextCheckingHelper::findFirstBadGrammar):
21744         (WebCore::TextCheckingHelper::isUngrammatical):
21745         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
21746         (WebCore::TextCheckingHelper::markAllMisspellings):
21747         (WebCore::TextCheckingHelper::markAllBadGrammar):
21748         * editing/TextCheckingHelper.h: Added.
21749
21750 2010-10-31  Xan Lopez  <xlopez@igalia.com>
21751
21752         Try to fix the GTK+ build.
21753
21754         Do not use broken/deprecated functions that won't be available
21755         with G_DISABLE_DEPRECATED (used in debug builds).
21756
21757         * plugins/gtk/PluginPackageGtk.cpp:
21758         (WebCore::PluginPackage::fetchInfo):
21759
21760 2010-10-31  Kenichi Ishibashi  <bashi@google.com>
21761
21762         Reviewed by Adam Barth.
21763
21764         V8 binding for DOMSettableTokenList
21765         https://bugs.webkit.org/show_bug.cgi?id=47812
21766
21767         Tests for this change will be included in the change for supporting
21768         the <output> element.
21769         See https://bugs.webkit.org/show_bug.cgi?id=29363.
21770
21771         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Implemented.
21772         (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Just calls DOMSettableTokenList::item(index).
21773
21774 2010-10-31  Robert Hogan  <robert@webkit.org>
21775
21776         Reviewed by Antonio Gomes.
21777
21778         [Qt] [Gtk] Plug-ins having upper case in mime type are failing to load
21779
21780         Qt and Gtk are case-sensitive when storing the declared mime-type
21781         of plugins. Since plugin mime-types are lowercased prior to searching
21782         for them in the plugin database, ensure they are loaded with the
21783         mime-type in lower case too.
21784
21785         https://bugs.webkit.org/show_bug.cgi?id=36815
21786
21787         * plugins/gtk/PluginPackageGtk.cpp:
21788         (WebCore::PluginPackage::fetchInfo):
21789         * plugins/qt/PluginPackageQt.cpp:
21790         (WebCore::PluginPackage::setMIMEDescription):
21791
21792 2010-10-31  Robert Hogan  <robert@webkit.org>
21793
21794         Reviewed by Antonio Gomes.
21795
21796         [Qt] Support nodesFromRect in DRT
21797
21798         Pass a Document object as a QWebElement. 
21799
21800         https://bugs.webkit.org/show_bug.cgi?id=48716
21801
21802         * bridge/qt/qt_runtime.cpp:
21803         (JSC::Bindings::convertValueToQVariant):
21804
21805 2010-10-31  Peter Kasting  <pkasting@google.com>
21806
21807         Reviewed by Adam Barth.
21808
21809         Treat GIFs with no loop count as "loop once".
21810         https://bugs.webkit.org/show_bug.cgi?id=47302
21811
21812         Test: fast/images/gif-loop-count.html
21813
21814         * platform/image-decoders/gif/GIFImageDecoder.cpp:
21815         (WebCore::GIFImageDecoder::repetitionCount):
21816         (WebCore::GIFImageDecoder::gifComplete):
21817
21818 2010-10-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
21819
21820         Reviewed by Andreas Kling.
21821
21822         [Texmap] [Qt] Texture mapper initial implementation
21823         https://bugs.webkit.org/show_bug.cgi?id=47070
21824
21825         Build fix for X11.
21826
21827         No new tests; build fix.
21828
21829         * plugins/qt/PluginViewQt.cpp:
21830         (WebCore::PluginView::invalidateRect):
21831         (WebCore::PluginView::platformStart):
21832
21833 2010-10-31  Andreas Kling  <kling@webkit.org>
21834
21835         Reviewed by Dirk Schulze.
21836
21837         Remove the unused GraphicsContext::clipOutEllipseInRect(IntRect)
21838         https://bugs.webkit.org/show_bug.cgi?id=48727
21839
21840         This function was added in <http://trac.webkit.org/changeset/18654> for CSS3 box-shadows.
21841         All use of the function was removed in <http://trac.webkit.org/changeset/21601>
21842
21843         * platform/graphics/GraphicsContext.h:
21844         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21845         * platform/graphics/cg/GraphicsContextCG.cpp:
21846         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
21847         (WebCore::GraphicsContext::clipOut):
21848         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
21849         * platform/graphics/qt/GraphicsContextQt.cpp:
21850         * platform/graphics/skia/GraphicsContextSkia.cpp:
21851         (WebCore::GraphicsContext::clipOut):
21852         * platform/graphics/wince/GraphicsContextWinCE.cpp:
21853         * platform/graphics/wx/GraphicsContextWx.cpp:
21854
21855 2010-10-31  Andreas Kling  <kling@webkit.org>
21856
21857         Reviewed by Dirk Schulze.
21858
21859         [Qt] Respect the "antialiased" argument in clipConvexPolygon()
21860         https://bugs.webkit.org/show_bug.cgi?id=48734
21861
21862         Set (or unset) the QPainter::Antialiased render hint for antialiased
21863         clipping based on the "antialiased" argument.
21864
21865         No test since Qt doesn't have pixel tests yet.
21866
21867         * platform/graphics/qt/GraphicsContextQt.cpp:
21868         (WebCore::GraphicsContext::clipConvexPolygon):
21869
21870 2010-10-31  Andreas Kling  <kling@webkit.org>
21871
21872         Reviewed by Dirk Schulze.
21873
21874         Remove the unused GraphicsContext::strokeRect(FloatRect)
21875         https://bugs.webkit.org/show_bug.cgi?id=48726
21876
21877         This function was only implemented by GraphicsContextOpenVG and not
21878         called from anywhere.
21879
21880         * platform/graphics/GraphicsContext.h:
21881         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
21882
21883 2010-10-31  Andreas Kling  <kling@webkit.org>
21884
21885         Reviewed by Dirk Schulze.
21886
21887         Remove the unused GraphicsContext::origin()
21888         https://bugs.webkit.org/show_bug.cgi?id=48732
21889
21890         This method was not called from anywhere.
21891
21892         * platform/graphics/GraphicsContext.h:
21893         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21894         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
21895         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
21896         * platform/graphics/qt/GraphicsContextQt.cpp:
21897         * platform/graphics/wince/GraphicsContextWinCE.cpp:
21898
21899 2010-10-31  Andreas Kling  <kling@webkit.org>
21900
21901         Reviewed by Dirk Schulze.
21902
21903         [Qt] Remove GraphicsContext::pen()
21904         https://bugs.webkit.org/show_bug.cgi?id=48733
21905
21906         Have PathQt obtain the pen() through the platformContext() instead.
21907
21908         * platform/graphics/GraphicsContext.h:
21909         * platform/graphics/qt/GraphicsContextQt.cpp:
21910         * platform/graphics/qt/PathQt.cpp:
21911         (WebCore::Path::strokeContains):
21912         (WebCore::Path::strokeBoundingRect):
21913
21914 2010-10-31  Sheriff Bot  <webkit.review.bot@gmail.com>
21915
21916         Unreviewed, rolling out r70959.
21917         http://trac.webkit.org/changeset/70959
21918         https://bugs.webkit.org/show_bug.cgi?id=48731
21919
21920         It broke fast/events/spatial-navigation tests (Requested by
21921         Ossy on #webkit).
21922
21923         * WebCore.xcodeproj/project.pbxproj:
21924         * rendering/InlineBox.cpp:
21925         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
21926         * rendering/InlineFlowBox.h:
21927         (WebCore::InlineFlowBox::bottomLayoutOverflow):
21928         (WebCore::InlineFlowBox::rightLayoutOverflow):
21929         (WebCore::InlineFlowBox::bottomVisualOverflow):
21930         (WebCore::InlineFlowBox::rightVisualOverflow):
21931         * rendering/RenderBox.cpp:
21932         * rendering/RenderBox.h:
21933         * rendering/RenderInline.cpp:
21934         (WebCore::RenderInline::linesBoundingBox):
21935         (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
21936         (WebCore::RenderInline::clippedOverflowRectForRepaint):
21937         * rendering/RenderText.cpp:
21938         (WebCore::RenderText::linesBoundingBox):
21939
21940 2010-10-30  Pavel Feldman  <pfeldman@chromium.org>
21941
21942         Reviewed by Timothy Hatcher.
21943
21944         Web Inspector: new resources and network panel usability improvements.
21945         https://bugs.webkit.org/show_bug.cgi?id=48680
21946
21947         By default, navigation clears network log, added 'preserve log' button,
21948         that prevents log from being cleared.
21949
21950         Storing expanded state of all group items, restoring last selected item,
21951         fall back to main frame's main resource by default.
21952         Do not list XHRs and redirects in resources.
21953
21954         * English.lproj/localizedStrings.js:
21955         * inspector/InspectorController.cpp:
21956         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
21957         (WebCore::InspectorController::identifierForInitialRequest):
21958         * inspector/front-end/NetworkPanel.js:
21959         (WebInspector.NetworkPanel.prototype.get statusBarItems):
21960         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
21961         (WebInspector.NetworkPanel.prototype._updateFilter):
21962         (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
21963         (WebInspector.NetworkPanel.prototype._onPreserveLogClicked):
21964         (WebInspector.NetworkPanel.prototype.reset):
21965         (WebInspector.NetworkPanel.prototype.refreshResource):
21966         * inspector/front-end/ResourceManager.js:
21967         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
21968         (WebInspector.ResourceManager.prototype.willSendRequest):
21969         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
21970         (WebInspector.ResourceManager.prototype.setOverrideContent):
21971         (WebInspector.ResourceManager.prototype.didCreateWebSocket):
21972         * inspector/front-end/StoragePanel.js:
21973         (WebInspector.StoragePanel):
21974         (WebInspector.StoragePanel.prototype.show):
21975         (WebInspector.StoragePanel.prototype._initDefaultSelection):
21976         (WebInspector.StoragePanel.prototype.reset):
21977         (WebInspector.StoragePanel.prototype.addResourceToFrame):
21978         (WebInspector.StoragePanel.prototype.refreshResource):
21979         (WebInspector.StoragePanel.prototype.showDatabase):
21980         (WebInspector.BaseStorageTreeElement.prototype.onselect):
21981         (WebInspector.StorageCategoryTreeElement):
21982         (WebInspector.StorageCategoryTreeElement.prototype.get itemURL):
21983         (WebInspector.StorageCategoryTreeElement.prototype.onselect):
21984         (WebInspector.StorageCategoryTreeElement.prototype.onattach):
21985         (WebInspector.StorageCategoryTreeElement.prototype.onexpand):
21986         (WebInspector.StorageCategoryTreeElement.prototype.oncollapse):
21987         (WebInspector.FrameTreeElement.prototype.get itemURL):
21988         (WebInspector.FrameTreeElement.prototype.onselect):
21989         (WebInspector.FrameResourceTreeElement.prototype.get itemURL):
21990         (WebInspector.FrameResourceTreeElement.prototype.onselect):
21991         (WebInspector.DatabaseTreeElement.prototype.get itemURL):
21992         (WebInspector.DatabaseTreeElement.prototype.onselect):
21993         (WebInspector.DatabaseTableTreeElement.prototype.get itemURL):
21994         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
21995         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
21996         (WebInspector.DOMStorageTreeElement.prototype.onselect):
21997         (WebInspector.CookieTreeElement.prototype.get itemURL):
21998         (WebInspector.CookieTreeElement.prototype.onselect):
21999         (WebInspector.ApplicationCacheTreeElement.prototype.get itemURL):
22000         (WebInspector.ApplicationCacheTreeElement.prototype.onselect):
22001
22002 2010-10-30  Patrick Gansterer  <paroga@webkit.org>
22003
22004         Unreviewed, build fix after r70846.
22005
22006         * platform/graphics/wince/ImageWinCE.cpp:
22007         (WebCore::RGBA32Buffer::asNewNativeImage):
22008
22009 2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
22010
22011         Unreviewed, rolling out r70984.
22012         http://trac.webkit.org/changeset/70984
22013         https://bugs.webkit.org/show_bug.cgi?id=46015
22014
22015         Made media/audio-delete-while-slider-thumb-clicked.html crash.
22016
22017         * Android.mk:
22018         * CMakeLists.txt:
22019         * GNUmakefile.am:
22020         * WebCore.gypi:
22021         * WebCore.pro:
22022         * WebCore.xcodeproj/project.pbxproj:
22023         * dom/ContainerNode.cpp:
22024         (WebCore::notifyChildInserted):
22025         * dom/EventContext.cpp: Removed.
22026         * dom/EventContext.h: Removed.
22027         * dom/Node.cpp:
22028         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
22029         (WebCore::Node::createRendererIfNeeded):
22030         (WebCore::Node::eventParentNode):
22031         (WebCore::Node::enclosingLinkEventParentOrSelf):
22032         (WebCore::eventTargetAsSVGElementInstance):
22033         (WebCore::eventTargetRespectingSVGTargetRules):
22034         (WebCore::Node::eventAncestors):
22035         (WebCore::Node::dispatchGenericEvent):
22036         * dom/Node.h:
22037         * dom/Text.cpp:
22038         (WebCore::Text::createRenderer):
22039         * dom/WindowEventContext.cpp: Removed.
22040         * dom/WindowEventContext.h: Removed.
22041         * inspector/InspectorDOMAgent.cpp:
22042         (WebCore::InspectorDOMAgent::getEventListenersForNode):
22043         * inspector/InspectorInstrumentation.cpp:
22044         (WebCore::eventHasListeners):
22045         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
22046         * inspector/InspectorInstrumentation.h:
22047         (WebCore::InspectorInstrumentation::willDispatchEvent):
22048         * page/EventHandler.cpp:
22049         (WebCore::EventHandler::updateMouseEventTargetNode):
22050         * svg/SVGElement.cpp:
22051         (WebCore::SVGElement::eventParentNode):
22052         * svg/SVGElement.h:
22053
22054 2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
22055
22056         Reviewed by Darin Adler.
22057
22058         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
22059         https://bugs.webkit.org/show_bug.cgi?id=46015
22060
22061         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
22062         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
22063
22064         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
22065         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
22066
22067         * Android.mk: Added EventContext, WindowEventContext files.
22068         * CMakeLists.txt: Ditto.
22069         * GNUmakefile.am: Ditto.
22070         * WebCore.gypi: Ditto.
22071         * WebCore.pro: Ditto.
22072         * WebCore.xcodeproj/project.pbxproj: Ditto.
22073         * dom/ContainerNode.cpp:
22074         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
22075         * dom/EventContext.cpp: Added.
22076         * dom/EventContext.h: Added.
22077         * dom/Node.cpp:
22078         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
22079         (WebCore::Node::createRendererIfNeeded): Ditto.
22080         (WebCore::Node::parentOrHostNode): Added new helper method.
22081         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
22082         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
22083         (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
22084         (WebCore::Node::topEventContext): Added.
22085         (WebCore::eventHasListeners): Changed to use EventContexts.
22086         (WebCore::Node::dispatchGenericEvent): Ditto.
22087         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
22088             and changed signature of eventAncestors to use EventContexts.
22089         * dom/Text.cpp:
22090         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
22091         * inspector/InspectorDOMAgent.cpp:
22092         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
22093         * page/EventHandler.cpp:
22094         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
22095         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
22096         * svg/SVGElement.h: Ditto.
22097         * dom/WindowEventContext.cpp: Added.
22098         * dom/WindowEventContext.h: Added.
22099
22100 2010-10-30  Nikolas Zimmermann  <nzimmermann@rim.com>
22101
22102         Reviewed by Rob Buis.
22103
22104         Convert SVGAnimatedNumber/SVGAnimatedNumberList to the new SVGAnimatedPropertyTearOff concept
22105         https://bugs.webkit.org/show_bug.cgi?id=48686
22106
22107         Convert the next set of primitives to use the new SVG(Animated)PropertyTearOff concept.
22108
22109         Tests: svg/dom/SVGAnimatedNumber.html
22110                svg/dom/SVGAnimatedNumberList.html
22111                svg/dom/SVGNumber.html
22112
22113         * GNUmakefile.am: Add SVGAnimatedNumber.h / SVGAnimatedNumberList.h to build.
22114         * WebCore.gypi: Ditto.
22115         * WebCore.pro: Ditto.
22116         * WebCore.vcproj/WebCore.vcproj: Ditto.
22117         * WebCore.xcodeproj/project.pbxproj: Ditto.
22118         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedNumber/SVGAnimatedNumberList as new style SVG animated properties. Remove SVGNumber from PODType hash.
22119         * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGNumber handing, it's obsolete now.
22120         * bindings/scripts/CodeGeneratorObjC.pm: Add special SVGNumber handling, as it's the first of the converted dynamic SVGAnimatedProperty types that's not in WebCore namespace.
22121         * bindings/scripts/CodeGeneratorV8.pm: Use AvoidInclusionOfType method from CodeGenerator.pm, remove special SVGNumber handling, that's obsolete now.
22122         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
22123         (WebCore::extractFloatValuesFromSVGNumberList): Adapt to SVGNumberList change, which is a plain Vector<float> now.
22124         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedNumber/SVGAnimatedNumberList handling.
22125         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
22126         * svg/SVGAnimatedNumber.h: Added.
22127         * svg/SVGAnimatedNumber.idl: Enable StrictTypeChecking.
22128         * svg/SVGAnimatedNumberList.h: Added.
22129         * svg/SVGAnimatedNumberList.idl: Ditto.
22130         * svg/SVGComponentTransferFunctionElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
22131         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
22132         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
22133         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
22134         * svg/SVGComponentTransferFunctionElement.h:
22135         * svg/SVGFEColorMatrixElement.cpp: Ditto.
22136         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
22137         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
22138         (WebCore::SVGFEColorMatrixElement::build):
22139         * svg/SVGFEColorMatrixElement.h:
22140         * svg/SVGFECompositeElement.h: Ditto.
22141         * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
22142         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
22143         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier): Added, replacing char[] hack by a static atomic string.
22144         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier): Ditto.
22145         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
22146         (WebCore::SVGFEConvolveMatrixElement::build):
22147         * svg/SVGFEConvolveMatrixElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22148         * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
22149         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
22150         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
22151         * svg/SVGFEDiffuseLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22152         * svg/SVGFEDisplacementMapElement.h: Ditto.
22153         * svg/SVGFEGaussianBlurElement.cpp: Ditto.
22154         (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Remove trailing whitespace.
22155         (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
22156         * svg/SVGFEGaussianBlurElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22157         * svg/SVGFELightElement.h: Ditto.
22158         * svg/SVGFEMorphologyElement.cpp:
22159         (WebCore::SVGFEMorphologyElement::radiusXIdentifier): Added, replacing char[] hack by a static atomic string.
22160         (WebCore::SVGFEMorphologyElement::radiusYIdentifier): Ditto.
22161         * svg/SVGFEMorphologyElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22162         * svg/SVGFEOffsetElement.h: Ditto.
22163         * svg/SVGFESpecularLightingElement.cpp:
22164         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
22165         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
22166         * svg/SVGFESpecularLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22167         * svg/SVGFETurbulenceElement.cpp:
22168         (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Remove trailing whitespace.
22169         (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
22170         * svg/SVGFETurbulenceElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22171         * svg/SVGFilterElement.cpp:
22172         (WebCore::SVGFilterElement::filterResXIdentifier): Remove trailing whitespace.
22173         (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
22174         * svg/SVGLengthList.idl: Remove leftover [SVGListProperty] marker.
22175         * svg/SVGMarkerElement.cpp:
22176         (WebCore::SVGMarkerElement::orientTypeIdentifier): Remove trailing whitespace.
22177         (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
22178         * svg/SVGNumber.idl: Remove [PODType] marker, add StrictTypeChecking.
22179         * svg/SVGNumberList.cpp: Convert from SVGPODList<RefPtr<SVGPODListItem<float> > > to plain Vector<float>, just like it has been done for SVGLengthList before.
22180         (WebCore::SVGNumberList::parse):
22181         (WebCore::SVGNumberList::valueAsString):
22182         * svg/SVGNumberList.h:
22183         (WebCore::SVGNumberList::SVGNumberList):
22184         * svg/SVGPathElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22185         * svg/SVGStopElement.h: Ditto.
22186         * svg/SVGTextPositioningElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
22187         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
22188         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
22189         * svg/SVGTextPositioningElement.h: Ditto.
22190         * svg/properties/SVGPropertyTraits.h: Add SVGNumberList handling.
22191
22192 2010-10-29  Daniel Bates  <dbates@rim.com>
22193
22194         No review, rolling out 70971.
22195         http://trac.webkit.org/changeset/70971
22196         https://bugs.webkit.org/show_bug.cgi?id=6751
22197
22198         Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
22199         it caused layout test failures on all bots. In particular, the
22200         child count in a generated frame name differs after this patch. We need
22201         to look into this further.
22202
22203         Test: fast/frames/iframe-set-inner-html.html
22204
22205         * html/HTMLFrameElementBase.cpp:
22206         (WebCore::HTMLFrameElementBase::openURL):
22207         (WebCore::HTMLFrameElementBase::setName):
22208         * html/HTMLFrameElementBase.h:
22209         * loader/DocumentLoader.cpp:
22210         (WebCore::DocumentLoader::mainResource):
22211         * loader/FrameLoader.cpp:
22212         (WebCore::FrameLoader::loadURLIntoChildFrame):
22213         (WebCore::FrameLoader::commitProvisionalLoad):
22214         * loader/HistoryController.cpp:
22215         (WebCore::HistoryController::saveDocumentState):
22216         (WebCore::HistoryController::restoreDocumentState):
22217         (WebCore::HistoryController::createItem):
22218         (WebCore::HistoryController::currentFramesMatchItem):
22219         * loader/ProgressTracker.cpp:
22220         (WebCore::ProgressTracker::progressStarted):
22221         (WebCore::ProgressTracker::progressCompleted):
22222         * loader/archive/cf/LegacyWebArchive.cpp:
22223         (WebCore::LegacyWebArchive::create):
22224         * page/FrameTree.cpp:
22225         (WebCore::FrameTree::setName):
22226         (WebCore::FrameTree::clearName):
22227         (WebCore::FrameTree::uniqueChildName):
22228         (WebCore::FrameTree::child):
22229         (WebCore::FrameTree::find):
22230         * page/FrameTree.h:
22231         (WebCore::FrameTree::name):
22232
22233 2010-10-28  Antonio Gomes  <agomes@rim.com>
22234
22235         Reviewed by Ojan Vafai.
22236
22237         Needs a "LinuxEditingBehavior", perhaps with a better name
22238         https://bugs.webkit.org/show_bug.cgi?id=36627
22239
22240         Added EditingUnixBehavior editing type aim to cover the cases when
22241         neither Mac or Windows behaviors are appropriated.
22242
22243         It was decided to name it Unix not Linux.
22244
22245         No new tests. The current editing tests that involve platform specific
22246         bahaviors are coded so that they go through all editing behavior
22247         types possible. There will be a follow up bug where all of them will
22248         be updated to include the new editing behavior ("unix").
22249
22250         * editing/EditingBehaviorTypes.h:
22251         * page/Settings.cpp:
22252         (WebCore::editingBehaviorTypeForPlatform):
22253         (WebCore::Settings::Settings):
22254
22255 2010-10-29  Daniel Bates  <dbates@rim.com>
22256
22257         Reviewed by Adam Barth.
22258
22259         For unnamed frames, window.name returns a generated name
22260         https://bugs.webkit.org/show_bug.cgi?id=6751
22261
22262         Fixes an issue where the window.name of an unnamed frame returns
22263         a unique generated name that is used internally to identify the
22264         frame. Instead, we should return an empty string as implied by
22265         section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
22266         This section describes that a browsing context can have no name or be
22267         the empty string.
22268
22269         * html/HTMLFrameElementBase.cpp:
22270         (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
22271         frame name since this is valid as per the HTML5 spec.
22272         (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
22273         since the loader code no longer depends on the frame name being unique.
22274         * html/HTMLFrameElementBase.h:
22275         * loader/DocumentLoader.cpp:
22276         (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
22277         * loader/FrameLoader.cpp:
22278         (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
22279         (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
22280         * loader/HistoryController.cpp:
22281         (WebCore::HistoryController::saveDocumentState): Ditto.
22282         (WebCore::HistoryController::restoreDocumentState): Ditto.
22283         (WebCore::HistoryController::createItem):
22284         (WebCore::HistoryController::currentFramesMatchItem): Ditto.
22285         * loader/ProgressTracker.cpp:
22286         (WebCore::ProgressTracker::progressStarted): Ditto.
22287         (WebCore::ProgressTracker::progressCompleted): Ditto.
22288         * loader/archive/cf/LegacyWebArchive.cpp:
22289         (WebCore::LegacyWebArchive::create): Ditto.
22290         * page/FrameTree.cpp:
22291         (WebCore::FrameTree::setName): Modified to store the DOM-specified
22292         name of the frame.
22293         (WebCore::FrameTree::clearName):
22294         (WebCore::FrameTree::uniqueChildName): Use FrameTree::uniqueName().
22295         (WebCore::FrameTree::child): Ditto.
22296         (WebCore::FrameTree::find): Ditto.
22297         * page/FrameTree.h:
22298         (WebCore::FrameTree::uniqueName): Added.
22299
22300 2010-10-29  Darin Adler  <darin@apple.com>
22301
22302         Try to fix build.
22303
22304         * page/ContextMenuController.cpp: Added include of BackForwardController.h.
22305         * page/DOMWindow.cpp: Ditto.
22306         * page/History.cpp: Ditto.
22307         * platform/ContextMenu.cpp: Ditto.
22308
22309 2010-10-29  Darin Adler  <darin@apple.com>
22310
22311         Reviewed by Sam Weinig.
22312
22313         More back/forward refactoring
22314
22315         * WebCore.exp.in: Updated.
22316
22317         * GNUmakefile.am: Removed BackForwardControllerClient.h.
22318         * WebCore.gypi: Ditto.
22319         * WebCore.pro: Ditto.
22320         * WebCore.vcproj/WebCore.vcproj: Ditto.
22321         * WebCore.xcodeproj/project.pbxproj: Ditto.
22322
22323         * history/BackForwardControllerClient.h: Removed.
22324
22325         * history/BackForwardController.cpp:
22326         (WebCore::BackForwardController::BackForwardController):
22327         Set up just m_client.
22328         (WebCore::BackForwardController::~BackForwardController):
22329         Removed call to backForwardControllerDestroyed.
22330         (WebCore::BackForwardController::canGoBackOrForward): Added.
22331         (WebCore::BackForwardController::goBackOrForward): Added.
22332         (WebCore::BackForwardController::goBack): Added.
22333         (WebCore::BackForwardController::goForward): Added.
22334         (WebCore::BackForwardController::addItem): Added.
22335         (WebCore::BackForwardController::setCurrentItem): Added.
22336         (WebCore::BackForwardController::count): Added.
22337         (WebCore::BackForwardController::backCount): Added.
22338         (WebCore::BackForwardController::forwardCount): Added.
22339         (WebCore::BackForwardController::itemAtIndex): Added.
22340         (WebCore::BackForwardController::isActive): Added.
22341         (WebCore::BackForwardController::close): Added.
22342
22343         * history/BackForwardController.h: Added functions from Page
22344         and BackForwardList that should be called here instead.
22345         Note that BackForwardList is to be renamed BackForwardClient soon.
22346
22347         * history/BackForwardList.h: Removed many now-unneeded
22348         virtual functions.
22349
22350         * history/BackForwardListImpl.h: Moved BackForwardListClient
22351         in here.
22352
22353         * history/PageCache.cpp:
22354         (WebCore::logCanCachePageDecision): Use backForward().
22355         (WebCore::PageCache::canCache): Ditto.
22356
22357         * loader/FrameLoader.cpp:
22358         (WebCore::FrameLoader::transitionToCommitted): Removed unneeded
22359         null check of backFowardList, which is never null.
22360         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Use backForward.
22361         (WebCore::FrameLoader::didFirstLayout): Ditto.
22362         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
22363         (WebCore::FrameLoader::checkDidPerformFirstNavigation): Ditto.
22364         * loader/HistoryController.cpp:
22365         (WebCore::HistoryController::goToItem): Ditto.
22366         (WebCore::HistoryController::updateForStandardLoad): Ditto.
22367         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
22368         (WebCore::HistoryController::updateBackForwardListClippedAtTarget): Ditto.
22369         (WebCore::HistoryController::pushState): Ditto.
22370         * loader/NavigationScheduler.cpp:
22371         (WebCore::ScheduledHistoryNavigation::fire): Ditto.
22372         (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
22373         * page/ContextMenuController.cpp:
22374         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
22375         * page/DOMWindow.cpp:
22376         (WebCore::DOMWindow::close): Ditto.
22377         * page/History.cpp:
22378         (WebCore::History::length): Ditto.
22379
22380         * page/Page.cpp:
22381         (WebCore::Page::Page): Use more adoptPtr. Use backForwardClient instead of
22382         backForwardControllerClient.
22383         (WebCore::Page::~Page): Use backForward.
22384         (WebCore::Page::backForwardList): Ditto.
22385         (WebCore::Page::goBack): Ditto.
22386         (WebCore::Page::goForward): Ditto.
22387         (WebCore::Page::canGoBackOrForward): Ditto.
22388         (WebCore::Page::goBackOrForward): Ditto.
22389         (WebCore::Page::getHistoryLength): Ditto.
22390         (WebCore::Page::PageClients::PageClients): Made non-inline.
22391         (WebCore::Page::PageClients::~PageClients): Ditto.
22392
22393         * page/Page.h: Made PageClients constructor and destructor non-inline.
22394         Added backForward function. Marked old functions as deprecated.
22395
22396         * page/Settings.cpp:
22397         (WebCore::Settings::setUsesPageCache): Use backForward.
22398         * platform/ContextMenu.cpp:
22399         (WebCore::ContextMenu::populate): Ditto.
22400         (WebCore::ContextMenu::checkOrEnableIfNeeded): Ditto.
22401         * wml/WMLDoElement.cpp:
22402         (WebCore::WMLDoElement::defaultEventHandler): Ditto.
22403         * wml/WMLDocument.cpp:
22404         (WebCore::WMLDocument::finishedParsing): Ditto.
22405         * wml/WMLPageState.cpp:
22406         (WebCore::WMLPageState::reset): Ditto.
22407         (WebCore::tryAccessHistoryURLs): Ditto.
22408         * wml/WMLPrevElement.cpp:
22409         (WebCore::WMLPrevElement::executeTask): Ditto.
22410
22411 2010-10-29  David Hyatt  <hyatt@apple.com>
22412
22413         Reviewed by Sam Weinig.
22414
22415         https://bugs.webkit.org/show_bug.cgi?id=48663
22416
22417         Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
22418         RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
22419         to give back the correct rectangle for vertical lines.
22420         
22421         Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
22422
22423         Added fast/repaint/inline-vertical-lr-overflow.html
22424
22425         * rendering/InlineBox.cpp:
22426         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
22427         * rendering/InlineFlowBox.h:
22428         (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
22429         (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
22430         (WebCore::InlineFlowBox::bottomLayoutOverflow):
22431         (WebCore::InlineFlowBox::rightLayoutOverflow):
22432         (WebCore::InlineFlowBox::bottomVisualOverflow):
22433         (WebCore::InlineFlowBox::rightVisualOverflow):
22434         * rendering/RenderBox.cpp:
22435         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
22436         * rendering/RenderBox.h:
22437         * rendering/RenderInline.cpp:
22438         (WebCore::RenderInline::linesBoundingBox):
22439         (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
22440         (WebCore::RenderInline::clippedOverflowRectForRepaint):
22441         * rendering/RenderText.cpp:
22442         (WebCore::RenderText::linesBoundingBox):
22443
22444 2010-10-29  Mike Lawther  <mikelawther@chromium.org>
22445
22446         Reviewed by James Robinson.
22447
22448         Fix canvas/philip/tests/2d.imageData.get.source.negative
22449         https://bugs.webkit.org/show_bug.cgi?id=48277
22450
22451         Handle negative width/height.
22452         See http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
22453
22454         * html/canvas/CanvasRenderingContext2D.cpp:
22455         (WebCore::CanvasRenderingContext2D::getImageData):
22456
22457 2010-10-29  Kavita Kanetkar  <kkanetkar@chromium.org>
22458
22459         Reviewed by Pavel Feldman.
22460
22461         Web Inspector: FileSystem integration
22462         https://bugs.webkit.org/show_bug.cgi?id=45982
22463
22464         Adding filesystem support for Inspector under storage tab. This fetches root paths for
22465         temporary and persistent filesystems and allows "reveal folder in OS" option that
22466         launches native file browser. Currently this feature is disabled for non-chromium platforms.
22467
22468         * CMakeLists.txt:
22469         * English.lproj/localizedStrings.js:
22470         * GNUmakefile.am:
22471         * WebCore.gypi:
22472         * WebCore.pro:
22473         * WebCore.vcproj/WebCore.vcproj:
22474         * inspector/CodeGeneratorInspector.pm:
22475         * inspector/Inspector.idl:
22476         * inspector/InspectorController.cpp:
22477         (WebCore::InspectorController::connectFrontend):
22478         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
22479         * inspector/InspectorController.h:
22480         (WebCore::InspectorController::fileSystemAgent):
22481         * inspector/InspectorFileSystemAgent.cpp: Added.
22482         * inspector/InspectorFileSystemAgent.h: Added.
22483         * inspector/front-end/FileSystemView.js: Added.
22484         * inspector/front-end/Settings.js:
22485         * inspector/front-end/StoragePanel.js:
22486         (WebInspector.StoragePanel):
22487         (WebInspector.StoragePanel.prototype.reset):
22488         (WebInspector.StoragePanel.prototype.addFileSystem):
22489         (WebInspector.StoragePanel.prototype.showFileSystem):
22490         (WebInspector.StoragePanel.prototype.updateFileSystemPath):
22491         (WebInspector.StoragePanel.prototype.updateFileSystemError):
22492         (WebInspector.FileSystemTreeElement):
22493         (WebInspector.FileSystemTreeElement.prototype.onselect):
22494         * inspector/front-end/WebKit.qrc:
22495         * inspector/front-end/inspector.css:
22496         (.file-system-storage-tree-item .icon):
22497         * inspector/front-end/inspector.html:
22498         * inspector/front-end/inspector.js:
22499         (WebInspector.updateResource):
22500         (WebInspector._addFileSystemOrigin):
22501         (WebInspector.didGetFileSystemPath):
22502         (WebInspector.didGetFileSystemError):
22503         (WebInspector.reset):
22504         * platform/AsyncFileSystem.h:
22505         (WebCore::AsyncFileSystem::root):
22506         * platform/FileSystem.h:
22507         * platform/chromium/ChromiumBridge.h:
22508         * platform/chromium/FileSystemChromium.cpp:
22509         (WebCore::revealFolderInOS):
22510
22511 2010-10-29  Ryosuke Niwa  <rniwa@webkit.org>
22512
22513         Reviewed by Darin Adler.
22514
22515         Remove RenderTextControl::setSelectionRange
22516         https://bugs.webkit.org/show_bug.cgi?id=47870
22517
22518         Made RenderTextControl::setSelectionRange a global function.
22519         Removed setSelectionStart, setSelectionEnd, and select from RenderTextControl.
22520
22521         No new tests are added since there is no behavioral change.
22522
22523         * accessibility/AccessibilityRenderObject.cpp:
22524         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Calls setSelectedTextRange.
22525         * dom/InputElement.cpp:
22526         (WebCore::InputElement::updateSelectionRange): Ditto.
22527         * html/HTMLFormControlElement.cpp:
22528         (WebCore::HTMLTextFormControlElement::setSelectionStart): Ditto.
22529         (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
22530         (WebCore::HTMLTextFormControlElement::select): Ditto.
22531         (WebCore::HTMLTextFormControlElement::setSelectionRange): Ditto.
22532         * rendering/RenderTextControl.cpp:
22533         (WebCore::RenderTextControl::hasVisibleTextArea): Added.
22534         (WebCore::setSelectionRange): See above.
22535         * rendering/RenderTextControl.h:
22536
22537 2010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
22538
22539         Reviewed by Andreas Kling.
22540
22541         [GTK] Crash in TextEncoding.cpp when using glib unicode
22542         https://bugs.webkit.org/show_bug.cgi?id=48521
22543
22544         When the conversion to UTF-8 fails, try to encode the original string
22545         without normalizing. Fixes tests cases:
22546          fast/url/anchor.html
22547          fast/url/query.html
22548          fast/url/standard-url.html
22549
22550         * platform/text/TextEncoding.cpp:
22551         (WebCore::TextEncoding::encode):
22552
22553 2010-10-29  Benjamin Poulain  <benjamin.poulain@nokia.com>
22554
22555         Reviewed by Antonio Gomes.
22556
22557         TextureMapperGL get the driver info log but do not use it
22558         https://bugs.webkit.org/show_bug.cgi?id=48247
22559
22560         Remove the call to glGetProgramInfoLog().
22561
22562         * platform/graphics/opengl/TextureMapperGL.cpp:
22563         (WebCore::TexmapShaderInfo::createShaderProgram):
22564
22565 2010-10-29  Benjamin Kalman  <kalman@google.com>
22566
22567         Reviewed by Tony Chang.
22568
22569         Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder <br/>
22570         https://bugs.webkit.org/show_bug.cgi?id=48658
22571
22572         * WebCore.exp.in: Update is{Start,End}OfParagraph symbols.
22573         * editing/DeleteSelectionCommand.cpp:
22574         (WebCore::DeleteSelectionCommand::doApply): Cross editability boundaries when determining whether to insert placeholder.
22575         * editing/visible_units.cpp: Allow editability boundary to be crossed in {start,end,isStart,isEnd}OfParagraph.
22576         (WebCore::startOfParagraph): Also, avoid returning a position where renderer can't accept caret, like in endOfParagraph.
22577         (WebCore::endOfParagraph):
22578         (WebCore::isStartOfParagraph):
22579         (WebCore::isEndOfParagraph):
22580         * editing/visible_units.h: Ditto.
22581
22582 2010-10-29  Pavel Feldman  <pfeldman@chromium.org>
22583
22584         Reviewed by Timothy Hatcher.
22585
22586         Web Inspector: last active panel is not restored upon opening inspector.
22587         https://bugs.webkit.org/show_bug.cgi?id=48668
22588
22589         * inspector/Inspector.idl:
22590         * inspector/InspectorController.cpp:
22591         (WebCore::InspectorController::InspectorController):
22592         (WebCore::InspectorController::inspect):
22593         (WebCore::InspectorController::showPanel):
22594         (WebCore::InspectorController::disconnectFrontend):
22595         (WebCore::InspectorController::populateScriptObjects):
22596         * inspector/InspectorController.h:
22597         * inspector/InspectorState.cpp:
22598         (WebCore::InspectorState::InspectorState):
22599         * inspector/front-end/Settings.js:
22600         (WebInspector.Settings):
22601         * inspector/front-end/inspector.js:
22602         (WebInspector.set currentPanel):
22603         (WebInspector.doLoadedDone.onPopulateScriptObjects):
22604         (WebInspector.doLoadedDone):
22605         (WebInspector.documentClick.followLink):
22606         (WebInspector.documentClick):
22607
22608 2010-10-28  Michael Nordman  <michaeln@google.com>
22609
22610         Reviewed by ap.
22611
22612         [Chrome] Fix an appcache regression introduced in r69226
22613         https://bugs.webkit.org/show_bug.cgi?id=48592
22614         Define a new ApplicationCacheHost method for the specific case of main resource redirect handling.
22615
22616         Tests: the existing layout test applies
22617
22618         * loader/MainResourceLoader.cpp: use the newly introduced method
22619         (WebCore::MainResourceLoader::willSendRequest):
22620         * loader/appcache/ApplicationCacheHost.cpp:
22621         (WebCore::ApplicationCacheHost::maybeLoadMainResourceForRedirect):
22622         * loader/appcache/ApplicationCacheHost.h:
22623
22624 2010-10-29  Eric Carlson  <eric.carlson@apple.com>
22625
22626         Reviewed by Adam Roben.
22627
22628         Navigating to a .wav file creates a plugin document but should create a media document
22629         https://bugs.webkit.org/show_bug.cgi?id=48546
22630         <rdar://problem/8606105>
22631
22632         Test: media/media-can-play-wav-audio.html
22633
22634         * platform/MIMETypeRegistry.cpp: Add mapping from ".wav" to "audio/x-wav".
22635
22636 2010-10-29  Aaron Colwell  <acolwell@chromium.org>
22637
22638         Reviewed by James Robinson.
22639
22640         Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha()
22641         to centralize alpha rounding & clipping logic. 
22642         https://bugs.webkit.org/show_bug.cgi?id=48094
22643
22644         Test: media/video-canvas-alpha.html
22645
22646         * platform/graphics/skia/ImageSkia.cpp:
22647         (WebCore::paintSkBitmap):
22648         * platform/graphics/skia/PlatformContextSkia.cpp:
22649         (WebCore::PlatformContextSkia::getNormalizedAlpha):
22650         * platform/graphics/skia/PlatformContextSkia.h:
22651
22652 2010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>
22653
22654         Reviewed by Dirk Schulze.
22655
22656         ASSERT when SVGAnimatedProperty instance is assigned to multiple elements.
22657         https://bugs.webkit.org/show_bug.cgi?id=48555
22658
22659         Test: svg/custom/insertItemBefore-from-non-list-origin.svg
22660
22661         * bindings/scripts/CodeGeneratorJS.pm: Include SVGAnimatedPropertyTearOff.h instead of SVGPropertyTearOff.h
22662         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
22663         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
22664         * svg/properties/SVGAnimatedListPropertyTearOff.h:
22665         (WebCore::SVGAnimatedListPropertyTearOff::isAnimatedListTearOff): Return true.
22666         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): Devirtualize function.
22667         * svg/properties/SVGAnimatedProperty.h:
22668         (WebCore::SVGAnimatedProperty::isAnimatedListTearOff): Return false.
22669         * svg/properties/SVGListPropertyTearOff.h:
22670         (WebCore::SVGListPropertyTearOff::removeItemFromListIfNeeded): Only try to remove the passed item from its list, if its actually a list and not just a SVGAnimatedProperty.
22671
22672 2010-10-29  David Hyatt  <hyatt@apple.com>
22673
22674         Reviewed by Adam Roben.
22675
22676         https://bugs.webkit.org/show_bug.cgi?id=48444
22677
22678         Fix the dirty rect checks in RenderBoxLineList, InlineFlowBox, InlineTextBox.  They were still assuming horizontal-tb writing-mode.
22679         This patch makes the checks directionally abstract and also refactors the checks in RenderLineBoxList to share code. 
22680
22681         No tests yet, since the invalidation code for inlines still assumes horizontal-tb.  That will be fixed in a follow-up bug,
22682         and then repaint tests will be easy to write.
22683
22684         * rendering/InlineBox.cpp:
22685         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
22686         * rendering/InlineBox.h:
22687         * rendering/InlineFlowBox.cpp:
22688         (WebCore::InlineFlowBox::paint):
22689         * rendering/InlineTextBox.cpp:
22690         (WebCore::InlineTextBox::paint):
22691         * rendering/RenderBox.cpp:
22692         (WebCore::RenderBox::convertFromFlippedWritingMode):
22693         * rendering/RenderBox.h:
22694         * rendering/RenderLineBoxList.cpp:
22695         (WebCore::RenderLineBoxList::rangeIntersectsDirtyRect):
22696         (WebCore::RenderLineBoxList::anyLineIntersectsDirtyRect):
22697         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
22698         (WebCore::RenderLineBoxList::paint):
22699         (WebCore::RenderLineBoxList::hitTest):
22700         * rendering/RenderLineBoxList.h:
22701
22702 2010-10-29  Patrick Gansterer  <paroga@webkit.org>
22703
22704         Reviewed by Adam Roben.
22705
22706         Cleanup createGlobalImageFileDescriptor in ClipboardWin
22707         https://bugs.webkit.org/show_bug.cgi?id=48189
22708
22709         * platform/win/ClipboardWin.cpp:
22710         (WebCore::createGlobalURLContent):
22711         (WebCore::createGlobalUrlFileDescriptor):
22712         (WebCore::ClipboardWin::writeURL):
22713
22714 2010-10-29  Dmitry Titov  <dimich@chromium.org>
22715
22716         [Chromium clang] Unreviewed fix removing compiler warning.
22717         If GIFImageReader is a struct, don't call it a class.
22718
22719         * platform/image-decoders/gif/GIFImageDecoder.h:
22720
22721 2010-10-29  Alexey Proskuryakov  <ap@apple.com>
22722
22723         Fix the world (d'oh!)
22724
22725         https://bugs.webkit.org/show_bug.cgi?id=48576
22726         Let WebKit2 client know when a frame is a frameset
22727
22728         * html/HTMLFrameSetElement.cpp:
22729         (WebCore::HTMLFrameSetElement::insertedIntoDocument):
22730         (WebCore::HTMLFrameSetElement::removedFromDocument):
22731         Call base class version.
22732
22733 2010-10-29  Jian Li  <jianli@chromium.org>
22734
22735         Unreviewed. Fix chromium build break.
22736
22737         * bindings/v8/custom/V8FileReaderCustom.cpp:
22738         (WebCore::V8FileReader::resultAccessorGetter):
22739
22740 2010-10-29  Jian Li  <jianli@chromium.org>
22741
22742         Reviewed by David Levin.
22743
22744         Support readAsArrayBuffer in FileReader and FileReaderSync
22745         https://bugs.webkit.org/show_bug.cgi?id=47691
22746
22747         Merge the similar code in FileReader and FileReaderSync into
22748         FileReaderLoader.
22749
22750         Test cases have been added to read-file-test-cases.js.
22751
22752         * Android.jscbindings.mk:
22753         * CMakeLists.txt:
22754         * GNUmakefile.am:
22755         * WebCore.gypi:
22756         * WebCore.pro:
22757         * WebCore.vcproj/WebCore.vcproj:
22758         * WebCore.xcodeproj/project.pbxproj:
22759         * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
22760         * fileapi/FileReader.cpp:
22761         (WebCore::FileReader::FileReader):
22762         (WebCore::FileReader::readAsArrayBuffer):
22763         (WebCore::FileReader::readAsBinaryString):
22764         (WebCore::FileReader::readAsText):
22765         (WebCore::FileReader::readAsDataURL):
22766         (WebCore::FileReader::readInternal):
22767         (WebCore::FileReader::doAbort):
22768         (WebCore::FileReader::terminate):
22769         (WebCore::FileReader::start):
22770         (WebCore::FileReader::didStartLoading):
22771         (WebCore::FileReader::didReceiveData):
22772         (WebCore::FileReader::didFinishLoading):
22773         (WebCore::FileReader::didFail):
22774         (WebCore::FileReader::fireEvent):
22775         (WebCore::FileReader::arrayBufferResult):
22776         (WebCore::FileReader::stringResult):
22777         * fileapi/FileReader.h:
22778         (WebCore::FileReader::readType):
22779         * fileapi/FileReader.idl:
22780         * fileapi/FileReaderLoader.cpp: Added.
22781         * fileapi/FileReaderLoader.h: Added.
22782         * fileapi/FileReaderLoaderClient.h: Added.
22783         * fileapi/FileReaderSync.cpp:
22784         (WebCore::FileReaderSync::FileReaderSync):
22785         (WebCore::FileReaderSync::readAsArrayBuffer):
22786         (WebCore::FileReaderSync::readAsBinaryString):
22787         (WebCore::FileReaderSync::readAsText):
22788         (WebCore::FileReaderSync::readAsDataURL):
22789         (WebCore::FileReaderSync::startLoading):
22790         * fileapi/FileReaderSync.h:
22791         * fileapi/FileReaderSync.idl:
22792         * html/canvas/ArrayBuffer.cpp:
22793         (WebCore::ArrayBuffer::create):
22794         * html/canvas/ArrayBuffer.h:
22795         * loader/ThreadableLoaderClient.h:
22796
22797 2010-10-29  Tony Chang  <tony@chromium.org>
22798
22799         Unreviewed, rolling out r70850.
22800         http://trac.webkit.org/changeset/70850
22801         https://bugs.webkit.org/show_bug.cgi?id=45640
22802
22803         chromium and qt pixel test regressions
22804
22805         * dom/Document.cpp:
22806         * dom/Document.h:
22807         * page/FrameView.cpp:
22808         (WebCore::FrameView::invalidateRect):
22809         (WebCore::FrameView::repaintContentRectangle):
22810         (WebCore::FrameView::doDeferredRepaints):
22811         * page/FrameView.h:
22812         * rendering/RenderBlock.cpp:
22813         (WebCore::RenderBlock::paintContents):
22814         * rendering/RenderLayer.cpp:
22815         (WebCore::RenderLayer::paintLayer):
22816
22817 2010-10-29  Alexey Proskuryakov  <ap@apple.com>
22818
22819         Reviewed by Darin Adler.
22820
22821         https://bugs.webkit.org/show_bug.cgi?id=48576
22822         Let WebKit2 client know when a frame is a frameset
22823
22824         This can change in two cases, when document changes, and when frame is navigated to another
22825         document.
22826
22827         * dom/Document.cpp: (WebCore::Document::documentDidBecomeActive): Update the client when
22828         a document is restored from page cache.
22829
22830         * loader/FrameLoaderClient.h: Added a new client call to notify client.
22831
22832         * html/HTMLFrameSetElement.h:
22833         * html/HTMLFrameSetElement.cpp:
22834         (WebCore::HTMLFrameSetElement::insertedIntoDocument):
22835         (WebCore::HTMLFrameSetElement::removedFromDocument):
22836         Update the client when document changes, potentially becoming a frameset. Per WebCore
22837         definition, a document is a frameset when it has a FRAMESET element as direct child of
22838         document element (it may also have body elements).
22839
22840         * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidBecomeFrameset):
22841         Added an empty implementation.
22842
22843 2010-10-29  Csaba Osztrogonác  <ossy@webkit.org>
22844
22845         Unreviewed fix. Touch WebCorePrefix.h to fix incremental build failure after r70878.
22846
22847         * WebCorePrefix.h:
22848
22849 2010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
22850
22851         Reviewed by Martin Robinson.
22852
22853         [GTK] Handle surrogate pairs in TextBreakIteratorGtk
22854         https://bugs.webkit.org/show_bug.cgi?id=48227
22855
22856         TextBreakIteratorGtk uses UTF-8 because it's what pango expects, but we
22857         need to return indices for the given input string that are in UTF-16.
22858         The number of characters is the same for both UTF-16 and UTF-8 except when
22859         the input string contains surrogate pairs. We need to keep both, the
22860         index for the UTF-8 string to be used internally, and the index for the
22861         UTF-16 string to be used as return value of the iterator interface. It
22862         fixes test fast/forms/textarea-maxlength.html
22863
22864         * platform/text/gtk/TextBreakIteratorGtk.cpp:
22865         (WebCore::CharacterIterator::getText):
22866         (WebCore::CharacterIterator::getLength):
22867         (WebCore::CharacterIterator::getSize):
22868         (WebCore::CharacterIterator::getIndex):
22869         (WebCore::CharacterIterator::getUTF16Index):
22870         (WebCore::CharacterIterator::getUTF16Length):
22871         (WebCore::CharacterIterator::characterSize):
22872         (WebCore::CharacterIterator::setText):
22873         (WebCore::CharacterIterator::setIndex):
22874         (WebCore::CharacterIterator::setUTF16Index):
22875         (WebCore::CharacterIterator::first):
22876         (WebCore::CharacterIterator::last):
22877         (WebCore::CharacterIterator::next):
22878         (WebCore::CharacterIterator::previous):
22879         (WebCore::setUpIterator):
22880         (WebCore::textBreakFirst):
22881         (WebCore::textBreakLast):
22882         (WebCore::textBreakNext):
22883         (WebCore::textBreakPrevious):
22884         (WebCore::textBreakPreceding):
22885         (WebCore::textBreakFollowing):
22886         (WebCore::textBreakCurrent):
22887         (WebCore::isTextBreak):
22888
22889 2010-10-29  Alexander Pavlov  <apavlov@chromium.org>
22890
22891         Reviewed by Pavel Feldman.
22892
22893         Web Inspector: [REGRESSION] Addition of a new (blank) style property does not work
22894         https://bugs.webkit.org/show_bug.cgi?id=48631
22895
22896         Test: inspector/styles-add-blank-property.html
22897
22898         * inspector/front-end/StylesSidebarPane.js:
22899         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
22900         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
22901
22902 2010-10-29  Pavel Feldman  <pfeldman@chromium.org>
22903
22904         Reviewed by Timothy Hatcher.
22905
22906         Web Inspector: add close button to network view, make tests pass for
22907         resource manager on all ports.
22908         https://bugs.webkit.org/show_bug.cgi?id=48628
22909
22910         * inspector/InspectorController.cpp:
22911         (WebCore::InspectorController::didCommitLoad):
22912         (WebCore::InspectorController::frameDetachedFromParent):
22913         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
22914         (WebCore::InspectorController::identifierForInitialRequest):
22915         (WebCore::InspectorController::willSendRequest):
22916         (WebCore::InspectorController::markResourceAsCached):
22917         (WebCore::InspectorController::didReceiveResponse):
22918         (WebCore::InspectorController::didReceiveContentLength):
22919         (WebCore::InspectorController::didFinishLoading):
22920         (WebCore::InspectorController::didFailLoading):
22921         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
22922         (WebCore::InspectorController::scriptImported):
22923         (WebCore::InspectorController::didCreateWebSocket):
22924         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
22925         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
22926         (WebCore::InspectorController::didCloseWebSocket):
22927         * inspector/front-end/NetworkPanel.js:
22928         (WebInspector.NetworkPanel):
22929         * inspector/front-end/ResourceManager.js:
22930         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
22931         * inspector/front-end/StoragePanel.js:
22932         (WebInspector.StoragePanel.prototype.addResourceToFrame):
22933         * inspector/front-end/inspector.js:
22934         (WebInspector._createPanels):
22935         * inspector/front-end/networkPanel.css:
22936         (.network-close-button):
22937
22938 2010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>
22939
22940         Reviewed by Dirk Schulze.
22941
22942         Convert SVGAnimatedEnumeration/Integer to the new SVGAnimatedPropertyTearOff concept
22943         https://bugs.webkit.org/show_bug.cgi?id=48623
22944
22945         Besides converting SVGAnimatedEnumeration/Integer to the new animated property tear off concept, fix support
22946         for multiple wrappers within the new concept, which was broken - covered by existing svg/dynamic-updates/ tests.
22947
22948         Replace all 'extern char[]' usage when using the multiple wrappers macro, by static AtomicStrings.
22949
22950         * GNUmakefile.am: Add SVGAnimatedEnumeration.h / SVGAnimatedInteger.h to build.
22951         * WebCore.gypi: Ditto.
22952         * WebCore.pro: Ditto.
22953         * WebCore.vcproj/WebCore.vcproj: Ditto.
22954         * WebCore.xcodeproj/project.pbxproj: Ditto.
22955         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedEnumeration / SVGAnimatedInteger as animated types using the new concept.
22956         * bindings/scripts/CodeGeneratorObjC.pm: Touched, to force regenerating ObjC bindings, dependency tracking is obviously broken.
22957         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedBoolean/Enumeration/Integer handling.
22958         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
22959         * svg/SVGAnimatedEnumeration.h: Added.
22960         * svg/SVGAnimatedEnumeration.idl:
22961         * svg/SVGAnimatedInteger.h: Added.
22962         * svg/SVGClipPathElement.h: Adapted all code to create new style animated property tear offs for long & int types.
22963         * svg/SVGComponentTransferFunctionElement.h:
22964         * svg/SVGFEBlendElement.h:
22965         * svg/SVGFEColorMatrixElement.h:
22966         * svg/SVGFECompositeElement.h:
22967         * svg/SVGFEConvolveMatrixElement.h:
22968         * svg/SVGFEDiffuseLightingElement.cpp:
22969         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Replaced extern[] char hack using a static AtomicString.
22970         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
22971         * svg/SVGFEDiffuseLightingElement.h:
22972         * svg/SVGFEDisplacementMapElement.h:
22973         * svg/SVGFEGaussianBlurElement.cpp:
22974         (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Ditto.
22975         (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
22976         * svg/SVGFEGaussianBlurElement.h:
22977         * svg/SVGFEMorphologyElement.h:
22978         * svg/SVGFESpecularLightingElement.cpp:
22979         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Ditto.
22980         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
22981         * svg/SVGFESpecularLightingElement.h:
22982         * svg/SVGFETurbulenceElement.cpp:
22983         (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Ditto.
22984         (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
22985         * svg/SVGFETurbulenceElement.h:
22986         * svg/SVGFilterElement.cpp:
22987         (WebCore::SVGFilterElement::filterResXIdentifier): Ditto.
22988         (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
22989         * svg/SVGFilterElement.h:
22990         * svg/SVGGradientElement.h:
22991         * svg/SVGMarkerElement.cpp:
22992         (WebCore::SVGMarkerElement::orientTypeIdentifier): Ditto.
22993         (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
22994         * svg/SVGMarkerElement.h:
22995         * svg/SVGMaskElement.h:
22996         * svg/SVGPatternElement.h:
22997         * svg/SVGTextContentElement.h:
22998         * svg/SVGTextPathElement.h:
22999         * svg/properties/SVGAnimatedPropertyMacros.h: Add new macro for multiple wrappers using static properties.
23000
23001 2010-10-29  Andreas Kling  <kling@webkit.org>
23002
23003         Reviewed by Kenneth Rohde Christiansen.
23004
23005         [Qt] Make GraphicsContext cheaper to construct
23006         https://bugs.webkit.org/show_bug.cgi?id=48626
23007
23008         Do less unnecessary things when creating the Qt GraphicsContext:
23009         - Don't create a black QBrush that's immediately discarded.
23010         - Don't call setPlatform*(), set the painter brush and pen directly.
23011         - Call setRenderHints() once instead of multiple setRenderHint().
23012
23013         * platform/graphics/qt/GraphicsContextQt.cpp:
23014         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
23015         (WebCore::GraphicsContext::GraphicsContext):
23016
23017 2010-10-29  Andreas Kling  <kling@webkit.org>
23018
23019         Reviewed by Simon Hausmann.
23020
23021         [Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
23022         https://bugs.webkit.org/show_bug.cgi?id=48624
23023
23024         Don't queue multiple meta method invocations for notifySyncRequired()
23025
23026         4% speedup on <http://ariya.github.com/clock.htm>
23027
23028         * platform/graphics/qt/GraphicsLayerQt.cpp:
23029         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
23030         (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
23031         (WebCore::GraphicsLayerQtImpl::notifyChange):
23032
23033 2010-10-29  Zhenyao Mo  <zmo@google.com>
23034
23035         Reviewed by Chris Marrin.
23036
23037         drawArrays/drawElements with first/offset out of range but size==0 should generate no error
23038         https://bugs.webkit.org/show_bug.cgi?id=48601
23039
23040         * html/canvas/WebGLRenderingContext.cpp:
23041         (WebCore::WebGLRenderingContext::drawArrays):
23042         (WebCore::WebGLRenderingContext::drawElements):
23043
23044 2010-10-29  Leandro Gracia Gil  <leandrogracia@google.com>
23045
23046         Reviewed by Jeremy Orlow.
23047
23048         Patch the current speech input implementation to use the nearest
23049         language tag. The language is now passed to the startRecognition
23050         methods so that language-specific recognition could be used. Also added
23051         a second parameter to setMockSpeechInputResult for the language used in
23052         speech recognition.
23053         https://bugs.webkit.org/show_bug.cgi?id=47089
23054
23055         This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
23056         details see http://codereview.chromium.org/3615005/show,
23057         http://codereview.chromium.org/3595018/show and
23058         https://bugs.webkit.org/show_bug.cgi?id=47420.
23059
23060         Test: fast/speech/input-text-language-tag.html
23061
23062         * page/SpeechInput.cpp:
23063         (WebCore::SpeechInput::startRecognition):
23064         * page/SpeechInput.h:
23065         * page/SpeechInputClient.h:
23066         * platform/mock/SpeechInputClientMock.cpp:
23067         (WebCore::SpeechInputClientMock::startRecognition):
23068         (WebCore::SpeechInputClientMock::setRecognitionResult):
23069         (WebCore::SpeechInputClientMock::timerFired):
23070         * platform/mock/SpeechInputClientMock.h:
23071         * rendering/TextControlInnerElements.cpp:
23072         (WebCore::TextControlInnerElement::attachInnerElement):
23073         (WebCore::SearchFieldCancelButtonElement::detach):
23074         (WebCore::SpinButtonElement::defaultEventHandler):
23075         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
23076         (WebCore::InputFieldSpeechButtonElement::detach):
23077
23078 2010-10-29  Mads Ager  <ager@chromium.org>
23079
23080         Reviewed by Pavel Feldman.
23081
23082         [V8] The DateExtension cannot handle overwritten Date
23083         https://bugs.webkit.org/show_bug.cgi?id=48621
23084
23085         Check that the Date property is an object before attempting to get
23086         hidden properties from it.
23087
23088         Test: fast/dom/Window/slow-unload-handler-overwritten-date.html
23089
23090         * bindings/v8/DateExtension.cpp:
23091         (WebCore::DateExtension::setAllowSleep):
23092
23093 2010-10-27  Nikolas Zimmermann  <nzimmermann@rim.com>
23094
23095         Reviewed by Dirk Schulze.
23096
23097         Convert SVGAnimatedBoolean to the new SVGAnimatedPropertyTearOff concept
23098         https://bugs.webkit.org/show_bug.cgi?id=48469
23099
23100         Convert the next SVG animated primitive type to use the SVGAnimatedPropertyTearOff concept: SVGAnimatedBoolean.
23101         Added new test verifying that StrictTypeChecking is enabled for SVGAnimatedBooleans. It also tests that this type is "static", see LayoutTests/ChangeLog for details.
23102
23103         Add support for StrictTypeChecking for boolean types.
23104
23105         Test: svg/dom/SVGExternalResourcesRequired.html
23106
23107         * GNUmakefile.am: Add SVGAnimatedBoolean.h and SVGAnimatedStaticPropertyTearOff.h to build.
23108         * WebCore.gypi: Ditto.
23109         * WebCore.pro: Ditto.
23110         * WebCore.vcproj/WebCore.vcproj: Ditto.
23111         * WebCore.xcodeproj/project.pbxproj: Ditto.
23112         * bindings/scripts/CodeGenerator.pm: Add SVGAnimatedBoolean to the new style svg animated bindings list.
23113         * bindings/scripts/CodeGeneratorJS.pm: Add StrictTypeChecking support for boolean types.
23114         * bindings/scripts/CodeGeneratorObjC.pm: Ditto. Only generate kit() usage for new style animated types, if the wrapped type needs a tear off.
23115         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
23116         * svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedBoolean handling.
23117         * svg/SVGAElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_STATIC_PROPERTY_NEW/ for boolean types everywhere. Include SVGAnimatedPropertyMacros.h where needed.
23118         * svg/SVGAnimatedBoolean.h: Added.
23119         * svg/SVGAnimatedBoolean.idl:
23120         * svg/SVGAnimationElement.h:
23121         * svg/SVGCircleElement.h:
23122         * svg/SVGClipPathElement.h:
23123         * svg/SVGCursorElement.h:
23124         * svg/SVGDefsElement.h:
23125         * svg/SVGEllipseElement.h:
23126         * svg/SVGExternalResourcesRequired.cpp:
23127         * svg/SVGExternalResourcesRequired.h:
23128         (WebCore::SVGExternalResourcesRequired::~SVGExternalResourcesRequired):
23129         * svg/SVGFEConvolveMatrixElement.h:
23130         * svg/SVGFEImageElement.h:
23131         * svg/SVGFilterElement.h:
23132         * svg/SVGFontElement.h:
23133         * svg/SVGForeignObjectElement.h:
23134         * svg/SVGGElement.h:
23135         * svg/SVGGradientElement.h:
23136         * svg/SVGImageElement.h:
23137         * svg/SVGLineElement.h:
23138         * svg/SVGMPathElement.h:
23139         * svg/SVGMarkerElement.h:
23140         * svg/SVGMaskElement.h:
23141         * svg/SVGPathElement.h:
23142         * svg/SVGPatternElement.h:
23143         * svg/SVGPolyElement.h:
23144         * svg/SVGRectElement.h:
23145         * svg/SVGSVGElement.h:
23146         * svg/SVGScriptElement.h:
23147         * svg/SVGSwitchElement.h:
23148         * svg/SVGSymbolElement.h:
23149         * svg/SVGTextContentElement.h:
23150         * svg/SVGUseElement.h:
23151         * svg/SVGViewElement.h:
23152         * svg/properties/SVGAnimatedListPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
23153         * svg/properties/SVGAnimatedProperty.h: Remove m_baseVal/m_animVal.
23154         (WebCore::SVGAnimatedProperty::commitChange): New method to share code between the SVGAnimated*PropertyTearOff classes.
23155         * svg/properties/SVGAnimatedPropertyMacros.h: Add new DECLARE_ANIMATED_STATIC_PROPERTY_NEW macro which creates SVGAnimatedStaticPropertyTearOff types.
23156         * svg/properties/SVGAnimatedPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
23157         * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Added.
23158         (WebCore::SVGAnimatedStaticPropertyTearOff::baseVal): Directly returns the stored m_property as reference, no tear off is created.
23159         (WebCore::SVGAnimatedStaticPropertyTearOff::animVal): Ditto.
23160         (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Directly updates the stored m_property reference, and invalidates the SVG attributes.
23161         (WebCore::SVGAnimatedStaticPropertyTearOff::setAnimVal): Not implemented.
23162         (WebCore::SVGAnimatedStaticPropertyTearOff::create):
23163         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
23164         * svg/properties/SVGListPropertyTearOff.h:
23165         (WebCore::SVGListPropertyTearOff::commitChange): Share code, use SVGAnimatedProperty::commitChange.
23166         * svg/properties/SVGPropertyTearOff.h:
23167         (WebCore::SVGPropertyTearOff::commitChange): Ditto.
23168
23169 2010-10-28  MORITA Hajime  <morrita@google.com>
23170
23171         Reviewed by Kent Tamura.
23172
23173         <meter min=0 max=100 value=100> should be optimum.
23174         https://bugs.webkit.org/show_bug.cgi?id=48613
23175
23176         Changed to make the condition inclusive for better case consistently.
23177         - Values on the border between optimum and subsequntial go optimum.
23178         - Values on the border between suboptimal and even-less-than-good go suboptimal.
23179
23180         Test: fast/dom/HTMLMeterElement/meter-boundary-values.html
23181
23182         * html/HTMLMeterElement.cpp:
23183         (WebCore::HTMLMeterElement::gaugeRegion):
23184
23185 2010-10-29  Kenichi Ishibashi  <bashi@google.com>
23186
23187         Reviewed by Kent Tamura.
23188
23189         [HTML5] Add DOMSettableTokenList
23190         https://bugs.webkit.org/show_bug.cgi?id=47810
23191
23192         Adds DOMSettableTokenList interface to support <output> element.
23193         The DOMTokenList interface was refactored since its was tightly coupled
23194         with HTMLElement.classList property.
23195
23196         * Android.derived.jscbindings.mk: Added JSDOMSettableTokenList.h file.
23197         * Android.derived.v8bindings.mk: Added V8DOMSettableTokenList.h file.
23198         * Android.jscbindings.mk: Added JSDOMSettableTokenList.cpp file.
23199         * Android.mk: Added ClassList.cpp file.
23200         * CMakeLists.txt: Added DOMSettableTokenList.{cpp,idl} and ClassList.cpp files.
23201         * DerivedSources.cpp: Added JSDOMSettableTokenList.cpp file.
23202         * DerivedSources.make: Added DOMSettableTokenList entry.
23203         * GNUmakefile.am: Added JSDOMSettableTokenList.{h,cpp} and ClassList.{h,cpp} files.
23204         * WebCore.gypi: Added DOMSettableTokenList.{h,cpp,idl}, V8DOMSettableTokenListCustom.cpp and ClassList.{h,cpp} files.
23205         * WebCore.pri: Added DOMSettableTokenList.idl file.
23206         * WebCore.pro: Added V8DOMSettableTokenListCustom.cpp, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
23207         * WebCore.vcproj/WebCore.vcproj: Added JSDOMSettableTokenList.{h,cpp}, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
23208         * WebCore.xcodeproj/project.pbxproj: Added ClassList.{h,cpp}, DOMSettabletokenList.{h,cpp} and JSDOMSettableTokenList.{h,cpp}
23209         * bindings/gobject/GNUmakefile.am: Added WebKitDOMDOMSettableTokenList.{h,cpp} and WebKitDOMDOMSettableTokenListPrivate.cpp files.
23210         * bindings/scripts/CodeGeneratorJS.pm: Modified IndexGetterReturnsStrings() returns 1 for DOMSettableTokenList.
23211         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Added.
23212         (WebCore::V8DOMSettableTokenList::indexedPropertyGetter):
23213         * dom/Element.cpp: Replaced DOMTokenList to ClassList.
23214         (WebCore::Element::classList):
23215         * dom/ElementRareData.h: ditto.
23216         * dom/SpaceSplitString.cpp: Added add() and remove() functions.
23217         (WebCore::SpaceSplitStringData::add):
23218         (WebCore::SpaceSplitStringData::remove):
23219         (WebCore::SpaceSplitString::add):
23220         (WebCore::SpaceSplitString::remove):
23221         * dom/SpaceSplitString.h: Added add() and remove() functions.
23222         * dom/StyledElement.cpp: Replaced DOMTokenList to ClassList.
23223         (WebCore::StyledElement::classAttributeChanged):
23224         * dom/StyledElement.h: ditto.
23225         * html/ClassList.cpp: Added, mostly from original DOMTokenList.cpp.
23226         (WebCore::ClassList::ClassList):
23227         (WebCore::ClassList::ref):
23228         (WebCore::ClassList::deref):
23229         (WebCore::ClassList::length):
23230         (WebCore::ClassList::item):
23231         (WebCore::ClassList::contains):
23232         (WebCore::ClassList::containsInternal):
23233         (WebCore::ClassList::add):
23234         (WebCore::ClassList::addInternal):
23235         (WebCore::ClassList::remove):
23236         (WebCore::ClassList::removeInternal):
23237         (WebCore::ClassList::toggle):
23238         (WebCore::ClassList::toString):
23239         (WebCore::ClassList::reset):
23240         (WebCore::ClassList::classNames):
23241         * html/ClassList.h: Added, mostly from original DOMTokenList.h.
23242         (WebCore::ClassList::create):
23243         (WebCore::ClassList::element):
23244         * html/DOMSettableTokenList.cpp: Added.
23245         (WebCore::DOMSettableTokenList::DOMSettableTokenList):
23246         (WebCore::DOMSettableTokenList::~DOMSettableTokenList):
23247         (WebCore::DOMSettableTokenList::item):
23248         (WebCore::DOMSettableTokenList::contains):
23249         (WebCore::DOMSettableTokenList::add):
23250         (WebCore::DOMSettableTokenList::addInternal):
23251         (WebCore::DOMSettableTokenList::remove):
23252         (WebCore::DOMSettableTokenList::removeInternal):
23253         (WebCore::DOMSettableTokenList::toggle):
23254         (WebCore::DOMSettableTokenList::setValue):
23255         * html/DOMSettableTokenList.h: Added.
23256         (WebCore::DOMSettableTokenList::create):
23257         (WebCore::DOMSettableTokenList::ref):
23258         (WebCore::DOMSettableTokenList::deref):
23259         (WebCore::DOMSettableTokenList::length):
23260         (WebCore::DOMSettableTokenList::toString):
23261         (WebCore::DOMSettableTokenList::value):
23262         * html/DOMSettableTokenList.idl: Added.
23263         * html/DOMTokenList.cpp: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
23264         (WebCore::DOMTokenList::validateToken): Changed to be a static member function of DOMTokenList.
23265         (WebCore::DOMTokenList::addToken): Added, mostly from original DOMTokenList::addInternal().
23266         (WebCore::DOMTokenList::removeToken): Added, mostly from original DOMTokenList::removeInternal().
23267         * html/DOMTokenList.h: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
23268         (WebCore::DOMTokenList::~DOMTokenList):
23269         (WebCore::DOMTokenList::element):
23270         * page/DOMWindow.cpp: Added an entry for DOMSettableTokenList.
23271         * page/DOMWindow.idl: ditto.
23272
23273 2010-10-29  Pavel Feldman  <pfeldman@chromium.org>
23274
23275         Reviewed by Timothy Hatcher.
23276
23277         Web Inspector: make legacy resource tracking optional in the native code,
23278         make cookeis work against new resource manager.
23279         https://bugs.webkit.org/show_bug.cgi?id=48532
23280
23281         * inspector/InspectorCSSStore.cpp:
23282         (WebCore::InspectorCSSStore::resourceStyleSheetText):
23283         * inspector/InspectorController.cpp:
23284         (WebCore::InspectorController::InspectorController):
23285         (WebCore::InspectorController::~InspectorController):
23286         (WebCore::InspectorController::connectFrontend):
23287         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
23288         (WebCore::InspectorController::populateScriptObjects):
23289         (WebCore::InspectorController::unbindAllResources):
23290         (WebCore::InspectorController::didCommitLoad):
23291         (WebCore::InspectorController::frameDetachedFromParent):
23292         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
23293         (WebCore::InspectorController::identifierForInitialRequest):
23294         (WebCore::InspectorController::willSendRequest):
23295         (WebCore::InspectorController::markResourceAsCached):
23296         (WebCore::InspectorController::didReceiveResponse):
23297         (WebCore::InspectorController::didReceiveContentLength):
23298         (WebCore::InspectorController::didFinishLoading):
23299         (WebCore::InspectorController::didFailLoading):
23300         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
23301         (WebCore::InspectorController::scriptImported):
23302         (WebCore::InspectorController::setResourceTrackingEnabled):
23303         (WebCore::InspectorController::getCookies):
23304         (WebCore::InspectorController::deleteCookie):
23305         (WebCore::InspectorController::didCreateWebSocket):
23306         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
23307         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
23308         (WebCore::InspectorController::didCloseWebSocket):
23309         (WebCore::InspectorController::breakpointsSettingKey):
23310         (WebCore::InspectorController::getResourceContent):
23311         * inspector/InspectorController.h:
23312         * inspector/InspectorResource.cpp:
23313         (WebCore::InspectorResource::updateScriptObject):
23314         (WebCore::InspectorResource::markFailed):
23315         * inspector/InspectorResource.h:
23316         * inspector/InspectorResourceAgent.cpp:
23317         (WebCore::populateObjectWithFrameResources):
23318         * inspector/front-end/CookieItemsView.js:
23319         (WebInspector.CookieItemsView.prototype._updateWithCookies):
23320         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
23321         * inspector/front-end/Resource.js:
23322         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
23323         (WebInspector.Resource.prototype._checkWarning):
23324         * inspector/front-end/ResourceManager.js:
23325         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
23326         (WebInspector.ResourceManager.prototype.didFailLoading):
23327         * inspector/front-end/inspector.js:
23328         (WebInspector.forAllResources):
23329         (WebInspector.updateResource):
23330
23331 2010-10-29  MORITA Hajime <morrita@google.com>
23332
23333         Unreviewed attempt for fixing build break for http://trac.webkit.org/changeset/70847
23334
23335         * editing/EditingAllInOne.cpp:
23336
23337 2010-10-29  Mihai Parparita  <mihaip@chromium.org>
23338
23339         Reviewed by Adam Barth.
23340
23341         Support RegExp in V8 implementation of SerializedScriptValue
23342         https://bugs.webkit.org/show_bug.cgi?id=44809
23343         
23344         Add RegExp serialization/deserialization now that V8 provides API access
23345         to the RegExp type.
23346
23347         * bindings/v8/SerializedScriptValue.cpp:
23348         (WebCore::ZigZag::Writer::writeRegExp):
23349         (WebCore::ZigZag::Serializer::writeRegExp):
23350         (WebCore::ZigZag::Serializer::doSerialize):
23351         (WebCore::ZigZag::Reader::read):
23352         (WebCore::ZigZag::Reader::readRegExp):
23353
23354 2010-10-13  MORITA Hajime  <morrita@google.com>
23355
23356         Reviewed by David Hyatt.
23357
23358         Navigating dark background websites results in blinding white flashes between pages. 
23359         https://bugs.webkit.org/show_bug.cgi?id=45640
23360
23361         This FOUC is caused by an early layout request before the <body> is ready, 
23362         and the page's background style given for <body>, instead of <html>.
23363         So many sites have such stylesheets that we should care them.
23364         
23365         - Some DOM operation such as 'element.offsetLeft' causes page layout.
23366         - The page layout results page repaint
23367         - The page page repaint makes a white screen. because there is nothing to paint
23368           before <body> is available.
23369         
23370         This change:
23371         - extracted existing FOUC check on RenderBlock and RenderLayer to 
23372           Document::mayCauseFlashOfUnstyledContent(),
23373         - checked <body> availability on mayCauseFlashOfUnstyledContent(), and
23374         - added FOUC guards before requesting reapint on FrameView.
23375         
23376         No new tests. The data loading speed matters and it cannot be
23377         captured by DRT.
23378
23379         * dom/Document.cpp:
23380         (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
23381         * dom/Document.h:
23382         * page/FrameView.cpp:
23383         (WebCore::FrameView::invalidateRect): Added a guard.
23384         (WebCore::FrameView::repaintContentRectangle): Added a guard.
23385         (WebCore::FrameView::doDeferredRepaints): Added a guard.
23386         (WebCore::FrameView::shouldUpdate): Added.
23387         * page/FrameView.h:
23388         * rendering/RenderBlock.cpp:
23389         (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
23390         * rendering/RenderLayer.cpp:
23391         (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
23392
23393 2010-10-29  David Hyatt  <hyatt@apple.com>
23394
23395         Reviewed by Dan Bernstein.
23396
23397         https://bugs.webkit.org/show_bug.cgi?id=48618
23398
23399         Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
23400         The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
23401         box tree.
23402         
23403         Added fast/blockflow/border-radius-clipping-vertical-lr.html.
23404
23405         * rendering/RenderBlockLineLayout.cpp:
23406         (WebCore::RenderBlock::createLineBoxes):
23407         * rendering/RenderBoxModelObject.cpp:
23408         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
23409
23410 2010-10-26  MORITA Hajime  <morrita@google.com>
23411
23412         Reviewed by Kent Tamura.
23413
23414         Refactoring: Spellchecking related static functions could form a class
23415         https://bugs.webkit.org/show_bug.cgi?id=48287
23416
23417         Extracted spellcheck related static functions to TextCheckingHelper class,
23418         which has EditorClient and Range as its member.
23419         
23420         No new tests. Just a refactoring.
23421
23422         * CMakeLists.txt:
23423         * GNUmakefile.am:
23424         * WebCore.gypi:
23425         * WebCore.pro:
23426         * WebCore.vcproj/WebCore.vcproj:
23427         * WebCore.xcodeproj/project.pbxproj:
23428         * editing/Editor.cpp:
23429         (WebCore::Editor::advanceToNextMisspelling):
23430         (WebCore::Editor::isSelectionUngrammatical):
23431         (WebCore::Editor::guessesForUngrammaticalSelection):
23432         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
23433         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
23434         (WebCore::Editor::markMisspellingsOrBadGrammar):
23435         (WebCore::Editor::markMisspellings):
23436         (WebCore::Editor::markBadGrammar):
23437         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
23438         (WebCore::Editor::changeBackToReplacedString):
23439         * editing/Editor.h:
23440         * editing/TextCheckingHelper.cpp: Added.
23441         (WebCore::TextCheckingHelper::TextCheckingHelper):
23442         (WebCore::TextCheckingHelper::~TextCheckingHelper):
23443         (WebCore::TextCheckingHelper::paragraphAlignedRange):
23444         (WebCore::TextCheckingHelper::findFirstMisspelling):
23445         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
23446         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
23447         (WebCore::TextCheckingHelper::findFirstBadGrammar):
23448         (WebCore::TextCheckingHelper::isUngrammatical):
23449         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
23450         (WebCore::TextCheckingHelper::markAllMisspellings):
23451         (WebCore::TextCheckingHelper::markAllBadGrammar):
23452         * editing/TextCheckingHelper.h: Added.
23453
23454 2010-10-28  Adam Barth  <abarth@webkit.org>
23455
23456         Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
23457         (Eric reviewed the CoreGraphics interactions, Peter reviewed the image
23458         decoder interaction, and Darin Fisher SGTMed the policy decision.)
23459
23460         [chromium] Chromium Mac should use WebKit's image decoders
23461         https://bugs.webkit.org/show_bug.cgi?id=47974
23462
23463         This patch teaches WebKit's image decoders how to talk to CoreGraphics.
23464         This patch doesn't handle color profiles, but that will come in a
23465         subsequent patch.
23466
23467         * WebCore.gyp/WebCore.gyp:
23468         * WebCore.gypi:
23469         * loader/CachedImage.cpp:
23470         (WebCore::CachedImage::createImage):
23471         * platform/graphics/ImageSource.h:
23472         * platform/image-decoders/ImageDecoder.cpp:
23473         (WebCore::RGBA32Buffer::clear):
23474         (WebCore::RGBA32Buffer::zeroFill):
23475         (WebCore::RGBA32Buffer::copyBitmapData):
23476         (WebCore::RGBA32Buffer::setSize):
23477         * platform/image-decoders/ImageDecoder.h:
23478         (WebCore::RGBA32Buffer::getAddr):
23479         * platform/image-decoders/cg: Added.
23480         * platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
23481         (WebCore::RGBA32Buffer::copyBitmapData):
23482         (WebCore::RGBA32Buffer::setSize):
23483         (WebCore::RGBA32Buffer::asNewNativeImage):
23484
23485 2010-10-28  Sergio Villar Senin  <svillar@igalia.com>
23486
23487         Reviewed by Xan Lopez.
23488
23489         [GTK] GObject bindings generator issues
23490         https://bugs.webkit.org/show_bug.cgi?id=48135
23491
23492         GObject code generator must not generate conditional API's. This
23493         patch also adds an alternative return value for non-void
23494         conditional methods. With this change the conditionalMethods hack
23495         is no longer needed.
23496
23497         * bindings/scripts/CodeGeneratorGObject.pm:
23498
23499 2010-10-28  David Hyatt  <hyatt@apple.com>
23500
23501         Reviewed by Dan Bernstein.
23502
23503         https://bugs.webkit.org/show_bug.cgi?id=48569
23504
23505         Box shadows on vertical inlines don't paint properly.  Fix the paintBoxShadow method to treat the edges to include as
23506         logical (so that top/bottom are used instead of left/right for vertical lines).  In order to make my box-shadow tests
23507         work I had to fix a bug in the transform code of InlineTextBox that was causing the baselines of vertical lines to
23508         be wrong.
23509         
23510         Added fast/blockflow/box-shadow-* tests
23511
23512         * rendering/InlineTextBox.cpp:
23513         (WebCore::InlineTextBox::paint):
23514         * rendering/RenderBoxModelObject.cpp:
23515         (WebCore::RenderBoxModelObject::paintBoxShadow):
23516         * rendering/RenderBoxModelObject.h:
23517
23518 2010-10-28  James Robinson  <jamesr@chromium.org>
23519
23520         Reviewed by Simon Fraser.
23521
23522         iframes forced into slow scrolling mode by containing RenderLayer sometimes
23523         https://bugs.webkit.org/show_bug.cgi?id=48570
23524
23525         Only performs the overlap test for RenderLayers that paint themselves.  This
23526         prevents marking RenderWidgets as being overlapped unnecessarily.
23527
23528         Test: fast/repaint/iframe-scroll-repaint.html
23529
23530         * rendering/RenderLayer.cpp:
23531         (WebCore::RenderLayer::paintLayer):
23532
23533 2010-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
23534
23535         Unreviewed, rolling out r70814.
23536         http://trac.webkit.org/changeset/70814
23537         https://bugs.webkit.org/show_bug.cgi?id=48612
23538
23539         Caused media/controls-drag-timebar.html to fail on multiple
23540         platforms (Requested by aroben on #webkit).
23541
23542         * html/HTMLMediaElement.cpp:
23543         (WebCore::HTMLMediaElement::seek):
23544         * platform/graphics/MediaPlayer.cpp:
23545         * platform/graphics/MediaPlayer.h:
23546         * platform/graphics/MediaPlayerPrivate.h:
23547         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23548         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23549         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
23550         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
23551         * platform/graphics/win/QTMovie.cpp:
23552         * platform/graphics/win/QTMovie.h:
23553
23554 2010-10-28  Dan Bernstein  <mitz@apple.com>
23555
23556         Reviewed by Simon Fraser.
23557
23558         <rdar://problem/8597430> Crash triggered by incremental layout of block truncated by line-clamp
23559         https://bugs.webkit.org/show_bug.cgi?id=48602
23560
23561         Test: fast/flexbox/line-clamp-crash.html
23562
23563         * rendering/RenderFlexibleBox.cpp:
23564         (WebCore::RenderFlexibleBox::applyLineClamp): Even if the child needs layout, call clearTruncation(),
23565         since layout itself may be partial and not touch the truncated line (but touch its markup box).
23566
23567 2010-10-28  Jian Li  <jianli@chromium.org>
23568
23569         Reviewed by Dmitry Titov.
23570
23571         [chromium] UUID generation does not work in Linux that has sandbox
23572         turned on
23573         https://bugs.webkit.org/show_bug.cgi?id=48571
23574
23575         This is because we cannot access /proc when sandbox is on. The fix is to
23576         use random numbers to construct UUID.
23577
23578         * platform/UUID.cpp:
23579         (WebCore::createCanonicalUUIDString):
23580
23581 2010-10-28  Jia Pu  <jpu@apple.com>
23582
23583         Reviewed by Dan Bernstein.
23584
23585         Editing a word with misspell or autocorrection underline should remove the underline when the editing changes the word.
23586         https://bugs.webkit.org/show_bug.cgi?id=48078
23587         <rdar://problem/8579155>
23588
23589         Tests: platform/mac/editing/spelling/editing-multiple-words-with-markers.html
23590                platform/mac/editing/spelling/editing-word-with-marker-1.html
23591                platform/mac/editing/spelling/editing-word-with-marker-2.html
23592
23593         This patch is part of on-going improvement of autocorrection feature on Mac OS X. When an editing
23594         occurs, if it affects words (by deleting/inserting characters, spliting word, merging words) that
23595         have Spelling and/or CorrectionIndicator markers, we want to remove the markers. If subsequntial
23596         spelling checking finds spelling error in newlly formed words, it will add the markers back in.
23597
23598         * dom/DocumentMarker.h: Changed MarkerType to bit masks to make search multiple types easier.
23599
23600         * dom/DocumentMarkerController.cpp: Refactored two removeMarkers() methods to support remove
23601           markers with specific type from a node.
23602         (WebCore::DocumentMarkerController::removeMarkers): Changed signature to remove marker with specific type.
23603         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Refactoring.
23604         (WebCore::DocumentMarkerController::hasMarkers): Convenience method to search markers in range.
23605
23606         * dom/DocumentMarkerController.h: Added new methods and matched new signature of removeMarkers().
23607
23608         * editing/Editor.cpp:
23609         (WebCore::Editor::respondToChangedContents): Remove existing markers if the change formed new word.
23610         (WebCore::Editor::cut): Remove markers on words that will be modified by this editing.
23611         (WebCore::Editor::paste): Ditto.
23612         (WebCore::Editor::pasteAsPlainText): Ditto.
23613         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): Main logic for removing 
23614           markers on words affected by editing.
23615
23616         * editing/Editor.h: Added removeSpellAndCorrectionMarkersFromWordsToBeEdited().  Added
23617           REMOVE_MARKERS_UPON_EDITING and SUPPORT_AUTOCORRECTION_PANEL macro to improve readability.
23618
23619         * editing/TypingCommand.cpp:
23620         (WebCore::TypingCommand::insertText): Remove markers on words that will be modified by this editing.
23621         (WebCore::TypingCommand::deleteKeyPressed): Ditto.
23622         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
23623
23624 2010-10-28  Brian Weinstein  <bweinstein@apple.com>
23625
23626         Reviewed by Brady Eidson.
23627
23628         Part of <https://bugs.webkit.org/show_bug.cgi?id=45980>
23629         userscripts/user-script-*-document.html tests are flaky on Windows
23630
23631         In WebFrameLoaderClient::committedLoad on Windows, we call through to PluginStream::didRecieveData
23632         if our manual loader is a plugin stream, and we can call didRecieveData with a 0 length.
23633         
23634         We shouldn't ASSERT that length is 0, because code paths exists where we call it with a 0 length.
23635         
23636         This is tested by re-enabling user-script-plugin-document.html on Windows.
23637
23638         * plugins/PluginStream.cpp:
23639         (WebCore::PluginStream::didReceiveData):
23640
23641 2010-10-28  Mihai Parparita  <mihaip@chromium.org>
23642
23643         Reviewed by Darin Adler.
23644
23645         [Chromium] History related tests REGRESSED after r70723
23646         https://bugs.webkit.org/show_bug.cgi?id=48513
23647         
23648         Remove backItem(), forwardItem() and currentItem() from the Chromium
23649         BackForwardList implementation, since they can use the base class
23650         behavior now (which call itemAtIndex with -1, 1, and 0 respectively).
23651
23652         * history/BackForwardList.h:
23653         * history/BackForwardListChromium.cpp:
23654
23655 2010-10-28  Ryosuke Niwa  <rniwa@webkit.org>
23656
23657         Reviewed by Tony Chang.
23658
23659         chrome.dll!WebCore::Node::shadowAncestorNode ReadAV@NULL (98643190851b5662363449cc7303d8a5)
23660         https://bugs.webkit.org/show_bug.cgi?id=47888
23661
23662         The crash was caused by the while loop in ApplyStyleCommand::fixRangeAndApplyInlineStyle
23663         not considering the case where startNode is the root editable element.
23664         Fixed the bug by not entering the loop when startNode is the editable root.
23665
23666         Test: editing/style/fix-range-from-root-editable-crash.html
23667
23668         * editing/ApplyStyleCommand.cpp:
23669         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
23670
23671 2010-10-28  Noam Rosenthal  <noam.rosenthal@nokia.com>
23672
23673         Reviewed by Ariya Hidayat.
23674
23675         [Texmap] [Qt] Texture mapper initial implementation
23676         https://bugs.webkit.org/show_bug.cgi?id=47070
23677
23678         Build fix, some wrong changes slipped into the previous patch.
23679         No new tests: build fix.
23680
23681         * platform/graphics/GraphicsLayer.h:
23682         * platform/graphics/opengl/TextureMapperGL.cpp:
23683         (WebCore::BitmapTextureGL::setContentsToImage):
23684         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
23685         (WebCore::TextureMapperNode::uploadTextureFromContent):
23686         (WebCore::TextureMapperNode::paintRecursive):
23687         * platform/qt/QWebPageClient.h:
23688         (QWebPageClient::setRootGraphicsLayer):
23689
23690 2010-10-28  David Hyatt  <hyatt@apple.com>
23691
23692         Reviewed by James Robinson.
23693
23694         https://bugs.webkit.org/show_bug.cgi?id=48568
23695
23696         Backgrounds don't work right with vertical RenderInlines. Make background painting
23697         do the right thing for vertical strips.
23698
23699         Added fast/blockflow/background-* tests
23700
23701         * rendering/InlineFlowBox.cpp:
23702         (WebCore::InlineFlowBox::paintFillLayer):
23703
23704 2010-10-28  Eric Carlson  <eric.carlson@apple.com>
23705
23706         Reviewed by Adam Roben.
23707
23708         Seeking by very small increment doesn't generate 'seeked' event
23709         https://bugs.webkit.org/show_bug.cgi?id=48530
23710
23711         Test: media/video-seek-by-small-increment.html
23712
23713         * html/HTMLMediaElement.cpp:
23714         (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
23715         avoid asking it to seek to the current time.
23716
23717         * platform/graphics/MediaPlayer.cpp:
23718         (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
23719         * platform/graphics/MediaPlayer.h:
23720         * platform/graphics/MediaPlayerPrivate.h:
23721         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
23722
23723         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23724         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23725         (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
23726
23727         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
23728         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
23729         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
23730
23731         * platform/graphics/win/QTMovie.cpp:
23732         (QTMovie::timeScale): Return the movie's time scale.
23733         * platform/graphics/win/QTMovie.h:
23734
23735 2010-10-28  David Hyatt  <hyatt@apple.com>
23736
23737         Reviewed by Beth Dakin.
23738
23739         https://bugs.webkit.org/show_bug.cgi?id=48443
23740         
23741         Border images don't work right with vertical RenderInlines. Make border/mask/background painting
23742         do the right thing for vertical strips.
23743
23744         Added fast/blockflow/border-image-* tests.
23745
23746         * rendering/InlineFlowBox.cpp:
23747         (WebCore::InlineFlowBox::paintBoxDecorations):
23748         (WebCore::InlineFlowBox::paintMask):
23749
23750 2010-10-28  Patrick Gansterer  <paroga@webkit.org>
23751
23752         Reviewed by Adam Roben.
23753
23754         Port ContextMenuItemWin.cpp to WinCE
23755         https://bugs.webkit.org/show_bug.cgi?id=48407
23756
23757         * platform/win/ContextMenuItemWin.cpp:
23758
23759 2010-10-28  Ryosuke Niwa  <rniwa@webkit.org>
23760
23761         Reviewed by Darin Adler.
23762
23763         queryCommandValue should fall back to queryCommandState
23764         https://bugs.webkit.org/show_bug.cgi?id=48479
23765
23766         Added a fallback to Command::value so that commands with a state function without a value function
23767         returns the value returned by the state function as a string.
23768
23769         * editing/EditorCommand.cpp:
23770         (WebCore::Editor::Command::value):
23771
23772 2010-10-28  Pavel Feldman  <pfeldman@chromium.org>
23773
23774         Not reviewed. Rolling out r70800.
23775
23776 2010-10-28  Alexey Proskuryakov  <ap@apple.com>
23777
23778         Reviewed by Dan Bernstein.
23779
23780         https://bugs.webkit.org/show_bug.cgi?id=48551
23781         HTMLDocument::isFrameSet() should not depend on renderer
23782
23783         No change in functionality, so no new tests.
23784
23785         * html/HTMLDocument.cpp: (WebCore::HTMLDocument::isFrameSet): Omit the check for renderer.
23786
23787         * rendering/RenderLayer.h: Removed unneeded includes and forward declarations.
23788
23789 2010-10-28  Pavel Feldman  <pfeldman@chromium.org>
23790
23791         Reviewed by Timothy Hatcher.
23792
23793         Web Inspector: make legacy resource tracking optional in the native code,
23794         make cookeis work against new resource manager.
23795         https://bugs.webkit.org/show_bug.cgi?id=48532
23796
23797         * inspector/InspectorCSSStore.cpp:
23798         (WebCore::InspectorCSSStore::resourceStyleSheetText):
23799         * inspector/InspectorController.cpp:
23800         (WebCore::InspectorController::InspectorController):
23801         (WebCore::InspectorController::~InspectorController):
23802         (WebCore::InspectorController::connectFrontend):
23803         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
23804         (WebCore::InspectorController::populateScriptObjects):
23805         (WebCore::InspectorController::unbindAllResources):
23806         (WebCore::InspectorController::didCommitLoad):
23807         (WebCore::InspectorController::frameDetachedFromParent):
23808         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
23809         (WebCore::InspectorController::identifierForInitialRequest):
23810         (WebCore::InspectorController::willSendRequest):
23811         (WebCore::InspectorController::markResourceAsCached):
23812         (WebCore::InspectorController::didReceiveResponse):
23813         (WebCore::InspectorController::didReceiveContentLength):
23814         (WebCore::InspectorController::didFinishLoading):
23815         (WebCore::InspectorController::didFailLoading):
23816         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
23817         (WebCore::InspectorController::scriptImported):
23818         (WebCore::InspectorController::setResourceTrackingEnabled):
23819         (WebCore::InspectorController::getCookies):
23820         (WebCore::InspectorController::deleteCookie):
23821         (WebCore::InspectorController::didCreateWebSocket):
23822         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
23823         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
23824         (WebCore::InspectorController::didCloseWebSocket):
23825         (WebCore::InspectorController::breakpointsSettingKey):
23826         (WebCore::InspectorController::getResourceContent):
23827         * inspector/InspectorController.h:
23828         * inspector/InspectorResource.cpp:
23829         (WebCore::InspectorResource::updateScriptObject):
23830         (WebCore::InspectorResource::markFailed):
23831         * inspector/InspectorResource.h:
23832         * inspector/InspectorResourceAgent.cpp:
23833         (WebCore::populateObjectWithFrameResources):
23834         * inspector/front-end/Resource.js:
23835         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
23836         * inspector/front-end/ResourceManager.js:
23837         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
23838         (WebInspector.ResourceManager.prototype.didFailLoading):
23839         * inspector/front-end/inspector.js:
23840         (WebInspector.updateResource):
23841
23842 2010-10-28  Pavel Podivilov  <podivilov@chromium.org>
23843
23844         Reviewed by Pavel Feldman.
23845
23846         Web Inspector: fix pausing on next JavaScript statement
23847         https://bugs.webkit.org/show_bug.cgi?id=48534
23848
23849         * inspector/InspectorDebuggerAgent.cpp:
23850         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
23851         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
23852         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
23853         (WebCore::InspectorDebuggerAgent::pause):
23854         (WebCore::InspectorDebuggerAgent::didPause):
23855         * inspector/InspectorDebuggerAgent.h:
23856
23857 2010-10-28  Yuzo Fujishima  <yuzo@google.com>
23858
23859         Reviewed by David Hyatt.
23860
23861         Fix for Bug 14550 - Non-layout style change does not update nested first-letter
23862         https://bugs.webkit.org/show_bug.cgi?id=14550
23863
23864         If a render text fragment is accompanied by a first letter, update the
23865         first letter's style when the fragment's style is changed.
23866
23867         Test: fast/css/first-letter-nested.html
23868
23869         * rendering/RenderBlock.cpp:
23870         (WebCore::RenderBlock::styleDidChange): Stop calling updateFirstLetter
23871         from here.
23872         * rendering/RenderBlock.h: Make updateFirstLetter accessbile from
23873         RenderTextFragment.
23874         * rendering/RenderTextFragment.cpp:
23875         (WebCore::RenderTextFragment::styleDidChange): If appropriate, update
23876         first letter after removing stale cached pseudo style.
23877         (WebCore::RenderTextFragment::blockForAccompanyingFirstLetter): Helper
23878         to get the block for the first letter.
23879         * rendering/RenderTextFragment.h:
23880         * rendering/style/RenderStyle.cpp:
23881         (WebCore::RenderStyle::removeCachedPseudoStyle): Remove the specified
23882         pseudo style from cache.
23883         * rendering/style/RenderStyle.h:
23884
23885 2010-10-28  Benoit Jacob  <bjacob@mozilla.com>
23886
23887         Reviewed by Kenneth Russell.
23888
23889         Ensure that WebGL stencil buffers are correctly initialized
23890         https://bugs.webkit.org/show_bug.cgi?id=48351
23891
23892         * html/canvas/WebGLFramebuffer.cpp:
23893         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
23894
23895 2010-10-28  Chris Fleizach  <cfleizach@apple.com>
23896
23897         Reviewed by Adele Peterson.
23898
23899         AX: multi select group option does not handle setting of AXSelectedChildren correctly
23900         https://bugs.webkit.org/show_bug.cgi?id=48464
23901
23902         Ensure that when selecting an item from a <select> element, it accounts for <optgroups>.
23903
23904         Test: platform/mac/accessibility/select-element-selection-with-optgroups.html
23905
23906         * accessibility/AccessibilityListBoxOption.cpp:
23907         (WebCore::AccessibilityListBoxOption::setSelected):
23908
23909 2010-10-28  Dan Bernstein  <mitz@apple.com>
23910
23911         Reviewed by Adam Roben.
23912
23913         No longer soft-link zlib
23914         https://bugs.webkit.org/show_bug.cgi?id=48004
23915
23916         * platform/graphics/WOFFFileFormat.cpp:
23917         (WebCore::convertWOFFToSfnt): Removed Windows-speciific code to soft-link
23918         zlib.
23919
23920 2010-10-27  Zhenyao Mo  <zmo@google.com>
23921
23922         Reviewed by Kenneth Russell.
23923
23924         Work around a Mac driver bug in generateMipmap
23925         https://bugs.webkit.org/show_bug.cgi?id=48489
23926
23927         * html/canvas/WebGLRenderingContext.cpp:
23928         (WebCore::WebGLRenderingContext::generateMipmap): Make sure minFilter is set to NEAREST_MIPMAP_LINEAR before generateMipmap, and after the call, set it back to the original value.
23929         * html/canvas/WebGLTexture.h:
23930         (WebCore::WebGLTexture::getMinFilter): Return the cached minFilter value.
23931
23932 2010-10-28  Mikhail Naganov  <mnaganov@chromium.org>
23933
23934         [Chromium clang] Unreviewed. Fix forward declaration of 'struct FileMetadata'.
23935
23936         See http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Linux%20Debug%20Clang/builds/753/steps/compile/logs/stdio
23937
23938         * fileapi/FileSystemCallbacks.h:
23939         * platform/AsyncFileSystemCallbacks.h:
23940
23941 2010-10-28  Alexander Pavlov  <apavlov@chromium.org>
23942
23943         Reviewed by Pavel Feldman.
23944
23945         Web Inspector: Bring backend-frontend message format to follow the protocol specification
23946         https://bugs.webkit.org/show_bug.cgi?id=48406
23947
23948         * inspector/InspectorDOMAgent.cpp:
23949         (WebCore::InspectorDOMAgent::getStyles):
23950         (WebCore::InspectorDOMAgent::applyStyleText):
23951         (WebCore::InspectorDOMAgent::buildObjectForStyle):
23952         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
23953         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
23954         (WebCore::InspectorDOMAgent::buildObjectForRule):
23955         * inspector/InspectorDOMAgent.h:
23956         * inspector/front-end/AuditRules.js:
23957         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
23958         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
23959         * inspector/front-end/CSSStyleModel.js:
23960         (WebInspector.CSSStyleModel.parseRuleArrayPayload):
23961         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
23962         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
23963         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
23964         (WebInspector.CSSStyleModel.prototype.setCSSText):
23965         * inspector/front-end/DOMAgent.js:
23966         (WebInspector.CSSStyleDeclaration):
23967         (WebInspector.CSSStyleDeclaration.parsePayload):
23968         (WebInspector.CSSStyleDeclaration.prototype.get allProperties):
23969         (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
23970         (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
23971         (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
23972         (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
23973         (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
23974         (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
23975         (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
23976         (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
23977         (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
23978         (WebInspector.CSSRule):
23979         (WebInspector.CSSRule.parsePayload):
23980         (WebInspector.CSSRule.prototype.get isUserAgent):
23981         (WebInspector.CSSRule.prototype.get isUser):
23982         (WebInspector.CSSRule.prototype.get isViaInspector):
23983         (WebInspector.CSSRule.prototype.get isRegular):
23984         (WebInspector.CSSProperty):
23985         (WebInspector.CSSProperty.parsePayload):
23986         (WebInspector.CSSProperty.prototype.get propertyText):
23987         (WebInspector.CSSProperty.prototype.get isLive):
23988         (WebInspector.CSSProperty.prototype.get active):
23989         (WebInspector.CSSProperty.prototype.get styleBased):
23990         (WebInspector.CSSProperty.prototype.get inactive):
23991         (WebInspector.CSSProperty.prototype.get disabled):
23992         (WebInspector.CSSProperty.prototype.setText):
23993         (WebInspector.CSSProperty.prototype.setValue):
23994         (WebInspector.CSSProperty.prototype.setDisabled.callback):
23995         (WebInspector.CSSProperty.prototype.setDisabled):
23996         * inspector/front-end/MetricsSidebarPane.js:
23997         (WebInspector.MetricsSidebarPane.prototype.update.callback):
23998         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
23999         (WebInspector.MetricsSidebarPane.prototype.update):
24000         (WebInspector.MetricsSidebarPane.prototype._update):
24001         (WebInspector.MetricsSidebarPane.prototype.editingCommitted.callback):
24002         (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
24003         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
24004         * inspector/front-end/StylesSidebarPane.js:
24005         (WebInspector.StylesSidebarPane.prototype.update):
24006         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
24007         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
24008         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
24009         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
24010         (WebInspector.StylesSidebarPane.prototype._containsInherited):
24011         (WebInspector.StylePropertiesSection):
24012         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
24013         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
24014         (WebInspector.StylePropertiesSection.prototype.onpopulate):
24015         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
24016         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
24017         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
24018         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
24019         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
24020         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
24021         (WebInspector.StylePropertyTreeElement):
24022         (WebInspector.StylePropertyTreeElement.prototype.get disabled):
24023         (WebInspector.StylePropertyTreeElement.prototype.get name):
24024         (WebInspector.StylePropertyTreeElement.prototype.get priority):
24025         (WebInspector.StylePropertyTreeElement.prototype.get value):
24026         (WebInspector.StylePropertyTreeElement.prototype.get parsedOk):
24027         (WebInspector.StylePropertyTreeElement.prototype):
24028         (WebInspector.StylePropertyTreeElement.prototype.):
24029
24030 2010-10-27  MORITA Hajime  <morrita@google.com>
24031
24032         Reviewed by Kent Tamura.
24033
24034         WebKit needs to expose an Element::spellcheck attribute to javascript.
24035         https://bugs.webkit.org/show_bug.cgi?id=25536
24036
24037         Published Element.spellcheck property on IDL, implemented it.
24038         
24039         Tests: editing/spelling/spelling-attribute-change.html
24040                fast/dom/HTMLElement/spellcheck.html
24041
24042         * html/HTMLElement.cpp:
24043         (WebCore::HTMLElement::spellcheck):
24044         (WebCore::HTMLElement::setSpellcheck):
24045         * html/HTMLElement.h:
24046         * html/HTMLElement.idl:
24047
24048 2010-10-27  Pavel Feldman  <pfeldman@chromium.org>
24049
24050         Reviewed by Timothy Hatcher.
24051
24052         Web Inspector: make debugger work against new resource manager.
24053         https://bugs.webkit.org/show_bug.cgi?id=48376
24054
24055         * inspector/Inspector.idl:
24056         * inspector/InspectorController.cpp:
24057         (WebCore::InspectorController::identifierForInitialRequest):
24058         * inspector/InspectorResourceAgent.cpp:
24059         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
24060         * inspector/InspectorResourceAgent.h:
24061         * inspector/front-end/ExtensionServer.js:
24062         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
24063         * inspector/front-end/Resource.js:
24064         (WebInspector.Resource.prototype.set content):
24065         * inspector/front-end/ResourceManager.js:
24066         (WebInspector.ResourceManager):
24067         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
24068         (WebInspector.ResourceManager.prototype._createResource):
24069         (WebInspector.ResourceManager.prototype.willSendRequest):
24070         (WebInspector.ResourceManager.prototype._updateResourceWithRequest):
24071         (WebInspector.ResourceManager.prototype.didFinishLoading):
24072         (WebInspector.ResourceManager.prototype.didFailLoading):
24073         (WebInspector.ResourceManager.prototype.setOverrideContent):
24074         (WebInspector.ResourceManager.prototype._processCachedResources):
24075         (WebInspector.ResourceManager.prototype._addFramesRecursively):
24076         (WebInspector.ResourceManager.prototype.resourceForURL):
24077         (WebInspector.ResourceManager.prototype.addConsoleMessage):
24078         (WebInspector.ResourceManager.prototype.clearConsoleMessages):
24079         (WebInspector.ResourceManager.prototype.forAllResources):
24080         (WebInspector.ResourceManager.prototype._bindResourceURL):
24081         (WebInspector.ResourceManager.prototype._unbindResourceURL):
24082         (WebInspector.ResourceManager.getContent):
24083         (WebInspector.ResourceTreeModel):
24084         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
24085         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
24086         (WebInspector.ResourceTreeModel.prototype._clearResources):
24087         * inspector/front-end/StoragePanel.js:
24088         (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
24089         * inspector/front-end/networkPanel.css:
24090         (.network.panel .resources-dividers):
24091
24092 2010-10-28  Andy Estes  <aestes@apple.com>
24093
24094         One more Qt fix due to r70754.
24095
24096         * html/HTMLObjectElement.cpp:
24097         (WebCore::HTMLObjectElement::hasValidClassId):
24098
24099 2010-10-28  Pascal Massimino  <pascal.massimino@gmail.com>
24100
24101         Reviewed by Adam Barth.
24102
24103         fix setSize() call flow: it was only called the first
24104         time (when onlySize is true)
24105         Bug URL: https://bugs.webkit.org/show_bug.cgi?id=48494
24106
24107         Testing: difficult to exercise the bug, as it requires
24108         some manual flow (change tab, scroll,...)
24109
24110         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
24111         (WebCore::WEBPImageDecoder::decode):
24112            fix: call setSize() even when onlySize is false
24113
24114 2010-10-28  Andy Estes  <aestes@apple.com>
24115
24116         Fix the Qt build after r70754.
24117
24118         * html/HTMLObjectElement.cpp:
24119         (WebCore::HTMLObjectElement::hasValidClassId):
24120         (WebCore::HTMLObjectElement::updateWidget):
24121         * html/HTMLObjectElement.h:
24122
24123 2010-10-28  Andy Estes  <aestes@apple.com>
24124
24125         Reviewed by Adam Barth.
24126
24127         Fix a test failure introduced in r70748 by supporting Qt's non-standard
24128         use of classid.
24129         https://bugs.webkit.org/show_bug.cgi?id=45679
24130
24131         * html/HTMLObjectElement.cpp:
24132         (WebCore::objectHasSupportedClassId): Return true if the object's
24133         serviceType is 'application/x-qt-plugin'.
24134         (WebCore::HTMLObjectElement::updateWidget): Do not render fallback
24135         content if a non-empty classid is specified for a Qt plugin object.
24136
24137 2010-10-28  Ivan Krstić  <ike@apple.com>
24138
24139         Reviewed by Mark Rowe.
24140
24141         Remove unused experimental proxied panel interface.
24142         <rdar://problem/7237059>
24143
24144         * WebCore.exp.in:
24145         * platform/mac/WebCoreSystemInterface.h:
24146         * platform/mac/WebCoreSystemInterface.mm:
24147
24148 2010-10-27  Andy Estes  <aestes@apple.com>
24149
24150         Reviewed by Adam Barth.
24151
24152         r66156 broke AtlasCT library, formerly affected http://map.d.co.il/
24153         https://bugs.webkit.org/show_bug.cgi?id=45679
24154
24155         This patch removes WebKit's map of classid values to MIME types. It also
24156         changes the behavior of object elements to render fallback content when
24157         a non-empty classid attribute is specified, which is the behavior HTML5
24158         specifies when a UA encounters a classid it doesn't understand.
24159
24160         Test: fast/replaced/object-with-non-empty-classid-triggers-fallback.html
24161
24162         * html/HTMLObjectElement.cpp: Remove serviceTypeForClassId(),
24163         createClassIdToTypeMap(), and the ClassIdToTypeMap typedef.
24164         (WebCore::HTMLObjectElement::updateWidget): Do not call
24165         serviceTypeForClassId() when there is no type attribute, and render
24166         fallback content if the classid attribute is non-empty.
24167
24168 2010-10-27  Eric Uhrhane  <ericu@chromium.org>
24169
24170         Reviewed by David Levin.
24171
24172         [Chromium] Metadata queries should return full file info, not just modification time
24173         https://bugs.webkit.org/show_bug.cgi?id=48098
24174
24175         LayoutTests that use this functionality via WorkerAsyncFileWriter are in review.
24176
24177         Build file changes to add FileMetadata.
24178         * GNUmakefile.am:
24179         * WebCore.gypi:
24180         * WebCore.pro:
24181         * WebCore.vcproj/WebCore.vcproj:
24182         * WebCore.xcodeproj/project.pbxproj:
24183
24184         The rest of the changes here just pass the new FileMetadata object through calls that used to take a modification time.
24185         * platform/FileMetadata.h: Added.
24186         (WebCore::FileMetadata::FileMetadata):
24187         * fileapi/FileSystemCallbacks.cpp:
24188         (WebCore::FileSystemCallbacksBase::didReadMetadata):
24189         (WebCore::MetadataCallbacks::didReadMetadata):
24190         * fileapi/FileSystemCallbacks.h:
24191         * platform/AsyncFileSystemCallbacks.h:
24192
24193 2010-10-27  Chris Rogers  <crogers@google.com>
24194
24195         Reviewed by Kenneth Russell.
24196
24197         Add VectorMath files
24198         https://bugs.webkit.org/show_bug.cgi?id=48467
24199
24200         No new tests since audio API is not yet implemented.
24201
24202         * platform/audio/VectorMath.cpp: Added.
24203         (WebCore::VectorMath::vsmul):
24204         (WebCore::VectorMath::vadd):
24205         * platform/audio/VectorMath.h: Added.
24206
24207 2010-10-27  Chris Rogers  <crogers@google.com>
24208
24209         Reviewed by Kenneth Russell.
24210
24211         Fixup files affected by VectorMath and related API changes
24212         https://bugs.webkit.org/show_bug.cgi?id=48481
24213
24214         No new tests since audio API is not yet implemented.
24215
24216         * platform/audio/AudioBus.cpp:
24217         * platform/audio/AudioChannel.cpp:
24218         * platform/audio/Biquad.cpp:
24219         * platform/audio/FFTConvolver.cpp:
24220         * platform/audio/FFTConvolver.h:
24221         * platform/audio/Panner.cpp:
24222         (WebCore::Panner::create):
24223         * platform/audio/Reverb.cpp:
24224         (WebCore::calculateNormalizationScale):
24225         (WebCore::Reverb::initialize):
24226         (WebCore::Reverb::process):
24227         * platform/audio/ReverbAccumulationBuffer.cpp:
24228         * platform/audio/ReverbAccumulationBuffer.h:
24229         * platform/audio/ReverbConvolver.cpp:
24230         (WebCore::ReverbConvolver::ReverbConvolver):
24231         (WebCore::ReverbConvolver::process):
24232         * platform/audio/ReverbConvolver.h:
24233         * platform/audio/ReverbConvolverStage.cpp:
24234         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
24235         * platform/audio/ReverbConvolverStage.h:
24236         * platform/audio/ReverbInputBuffer.h:
24237
24238 2010-10-27  Kinuko Yasuda  <kinuko@chromium.org>
24239
24240         Reviewed by Dumitru Daniliuc.
24241
24242         DOMFileSystem's reference should be kept while there're any active Entries/callbacks
24243         https://bugs.webkit.org/show_bug.cgi?id=47535
24244
24245         Changed to keep DOMFileSystem's reference in each EntryBase, DirectoryReaderBase, EntryCallbacks and EntriesCallbacks.
24246
24247         Test: fast/filesystem/filesystem-reference.html
24248
24249         * fileapi/DOMFileSystemBase.cpp:
24250         (WebCore::DOMFileSystemBase::readDirectory): Changed to pass/take
24251         PassRefPtr but not a raw pointer.
24252         * fileapi/DOMFileSystemBase.h:
24253         * fileapi/DirectoryEntry.cpp:
24254         (WebCore::DirectoryEntry::DirectoryEntry): Ditto.
24255         (WebCore::DirectoryEntry::createReader):
24256         * fileapi/DirectoryEntry.h:
24257         (WebCore::DirectoryEntry::create): Ditto.
24258         * fileapi/DirectoryEntrySync.cpp:
24259         (WebCore::DirectoryEntrySync::DirectoryEntrySync): Ditto.
24260         * fileapi/DirectoryEntrySync.h:
24261         (WebCore::DirectoryEntrySync::create): Ditto.
24262         * fileapi/DirectoryReader.h:
24263         (WebCore::DirectoryReader::filesystem):
24264         * fileapi/DirectoryReaderBase.h:
24265         (WebCore::DirectoryReaderBase::filesystem):
24266         * fileapi/Entry.cpp:
24267         (WebCore::Entry::Entry): Ditto.
24268         * fileapi/Entry.h:
24269         (WebCore::Entry::filesystem):
24270         * fileapi/EntryBase.h:
24271         (WebCore::EntryBase::filesystem):
24272         (WebCore::EntryBase::EntryBase): Ditto.
24273         * fileapi/EntrySync.cpp:
24274         (WebCore::EntrySync::create): Ditto.
24275         (WebCore::EntrySync::getParent):
24276         (WebCore::EntrySync::EntrySync): Ditto.
24277         * fileapi/EntrySync.h:
24278         (WebCore::EntrySync::filesystem):
24279         * fileapi/FileEntry.cpp:
24280         (WebCore::FileEntry::FileEntry): Ditto.
24281         * fileapi/FileEntry.h:
24282         (WebCore::FileEntry::create): Ditto.
24283         * fileapi/FileEntrySync.cpp:
24284         (WebCore::FileEntrySync::FileEntrySync): Ditto.
24285         * fileapi/FileEntrySync.h:
24286         (WebCore::FileEntrySync::create): Ditto.
24287         * fileapi/FileSystemCallbacks.cpp:
24288         (WebCore::EntriesCallbacks::create): Ditto.
24289         (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
24290         * fileapi/FileSystemCallbacks.h:
24291
24292 2010-10-27  Yuzo Fujishima  <yuzo@google.com>
24293
24294         Reviewed by Eric Seidel.
24295
24296         Fix for Bug 48310 - SVG font-face-name without name attribute causes a crash
24297         https://bugs.webkit.org/show_bug.cgi?id=48310
24298
24299         Test: svg/custom/font-face-name-without-name-attr.svg
24300
24301         * svg/SVGFontFaceElement.cpp:
24302         (WebCore::SVGFontFaceElement::rebuildFontFace): Don't create src
24303         property if the src value list is empty.
24304         * svg/SVGFontFaceSrcElement.cpp:
24305         (WebCore::SVGFontFaceSrcElement::srcValue): Don't add empty src
24306         values to the src value list.
24307
24308 2010-10-27  Chris Rogers  <crogers@google.com>
24309
24310         Reviewed by Kenneth Russell.
24311
24312         Allow AudioDSPKernel to function without an AudioDSPKernelProcessor
24313         https://bugs.webkit.org/show_bug.cgi?id=48472
24314
24315         No new tests since audio API is not yet implemented.
24316
24317         * platform/audio/AudioDSPKernel.h:
24318         (WebCore::AudioDSPKernel::AudioDSPKernel):
24319         (WebCore::AudioDSPKernel::sampleRate):
24320
24321 2010-10-27  Enrica Casucci  <enrica@apple.com>
24322
24323         Reviewed by Alexey Proskuryakov.
24324
24325         Support Appkit key bindings and custom key bindings in WebKit2
24326         https://bugs.webkit.org/show_bug.cgi?id=48271
24327         <rdar://problem/7660723>
24328
24329         * dom/KeyboardEvent.h:
24330         (WebCore::KeypressCommand::KeypressCommand): Added default constructor and modified assert for text
24331         insertion command constructor to support WebKit2 scenarios.
24332         The default constructor is needed to support the generated WebKit2 message processing code.
24333
24334 2010-10-26  Darin Adler  <darin@apple.com>
24335
24336         Reviewed by Sam Weinig.
24337
24338         WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
24339         https://bugs.webkit.org/show_bug.cgi?id=42322
24340         rdar://problem/8193631
24341
24342         WebKitTestRunner needs to support layoutTestController.clearBackForwardList
24343         https://bugs.webkit.org/show_bug.cgi?id=42333
24344         rdar://problem/8193643
24345
24346         * WebCore.exp.in: Updated exports.
24347
24348         * history/BackForwardList.h: Added comments about future refactoring.
24349         Moved functions that are not called inside WebCore into a separate
24350         section, to be removed later. Added an isActive function to replace the
24351         use of enabled() and entries().
24352
24353         * history/BackForwardListImpl.h: Removed isBackForwardListImpl.
24354         Marked virtual function overrides virtual explicitly, except for the
24355         ones that will be non-virtual once we make the changes above.
24356         Added the isActive function.
24357
24358         * history/PageCache.cpp:
24359         (WebCore::logCanCachePageDecision): Use isActive.
24360         (WebCore::PageCache::canCache): Ditto.
24361
24362         * loader/FrameLoader.cpp:
24363         (WebCore::FrameLoader::checkDidPerformFirstNavigation): Check
24364         using currentItem, backItem, and forwardItem instead of
24365         using entries.
24366
24367         * page/Settings.cpp:
24368         (WebCore::Settings::setUsesPageCache): Loop through the back/forward
24369         list entries using backListCount and forwardListCount instead of
24370         using entries.
24371
24372 2010-10-27  Chris Rogers  <crogers@google.com>
24373
24374         Reviewed by Chris Marrin.
24375
24376         Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
24377         https://bugs.webkit.org/show_bug.cgi?id=48279
24378
24379         No new tests since flag is disabled.
24380
24381         * Configurations/FeatureDefines.xcconfig:
24382
24383 2010-10-27  Chris Rogers  <crogers@google.com>
24384
24385         Reviewed by Kenneth Russell.
24386
24387         Add AudioResamplerKernel files
24388         https://bugs.webkit.org/show_bug.cgi?id=47624
24389
24390         No new tests since audio API is not yet implemented.
24391
24392         * platform/audio/AudioResamplerKernel.cpp: Added.
24393         (WebCore::AudioResamplerKernel::AudioResamplerKernel):
24394         (WebCore::AudioResamplerKernel::getSourcePointer):
24395         (WebCore::AudioResamplerKernel::process):
24396         (WebCore::AudioResamplerKernel::reset):
24397         (WebCore::AudioResamplerKernel::rate):
24398         * platform/audio/AudioResamplerKernel.h: Added.
24399
24400 2010-10-27  Adam Barth  <abarth@webkit.org>
24401
24402         Reviewed by Ojan Vafai.
24403
24404         REGRESSION(66511): CORDYS Process Factory doesn't work
24405         https://bugs.webkit.org/show_bug.cgi?id=48453
24406
24407         When Ojan refactored this function in 66511, he missed an "else",
24408         which causes us to generated HIERARCHY_REQUEST_ERR in some cases where
24409         we're not supposed to.  This patch restores the "else" behavior (using
24410         an early return) and adds a test for the cases that caused problems in
24411         the field.
24412
24413         Test: fast/dom/allowed-children.html
24414
24415         * dom/Node.cpp:
24416         (WebCore::isChildTypeAllowed):
24417
24418 2010-10-27  Beth Dakin  <bdakin@apple.com>
24419
24420         Reviewed by Darin Adler.
24421
24422         Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit 
24423         SPI to scale a WebView
24424         -and corresponding-
24425         <rdar://problem/8107667>
24426
24427         This patch adds SPI to Mac WebKit that scales the page by the given 
24428         scale factor. The scale factor is factored into the RenderStyle's 
24429         transform.
24430
24431         Set the current pageScale for the document.
24432         * css/CSSStyleSelector.cpp:
24433         (WebCore::CSSStyleSelector::styleForDocument):
24434
24435         Frame keeps track of the page scale factor. When 
24436         scalePage() is called, it modifies the RenderView's style to 
24437         include a transform of the appropriate scale and forces a style 
24438         recalc.
24439         * page/Frame.cpp:
24440         (WebCore::Frame::Frame):
24441         (WebCore::Frame::scalePage):
24442         * page/Frame.h:
24443         (WebCore::Frame::pageScaleFactor):
24444         * WebCore.exp.in:
24445
24446         Add a scale to the transformation matrix.
24447         * rendering/style/RenderStyle.cpp:
24448         (WebCore::RenderStyle::setPageScaleTransform):
24449         * rendering/style/RenderStyle.h:
24450
24451 2010-10-27  Dan Bernstein  <mitz@apple.com>
24452
24453         Reviewed by Darin Adler.
24454
24455         REGRESSION (r70335): Incorrect article layout in Safari Reader
24456         https://bugs.webkit.org/show_bug.cgi?id=48436
24457
24458         * page/DOMWindow.cpp:
24459         (WebCore::DOMWindow::getMatchedCSSRules): Return rules from all origins if the cross-origin
24460         check is disabled.
24461         * page/Settings.cpp:
24462         (WebCore::Settings::Settings): Initialize m_crossOriginCheckInGetMatchedCSSRulesDisabled.
24463         * page/Settings.h:
24464         (WebCore::Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled): Added this accessor.
24465         (WebCore::Settings::crossOriginCheckInGetMatchedCSSRulesDisabled): Ditto.
24466
24467 2010-10-27  Zhenyao Mo  <zmo@google.com>
24468
24469         Reviewed by Kenneth Russell.
24470
24471         refactor the nested large switch statements in GraphicsContext3DCG.cpp:getImageData()
24472         https://bugs.webkit.org/show_bug.cgi?id=47027
24473
24474         * platform/graphics/GraphicsContext3D.cpp:
24475         (WebCore::doPacking): ASSERT false if undefined format is passed in.
24476         * platform/graphics/GraphicsContext3D.h: Add kSourceFormatUndefined enum.
24477         * platform/graphics/cg/GraphicsContext3DCG.cpp:
24478         (WebCore::getSourceDataFormat): Decide source data format from componentsPerPixel, alpha format, bitsPerComponet, etc.
24479         (WebCore::GraphicsContext3D::getImageData): Refactor the code to use getSourceDataFormat and remove nested switches.
24480
24481 2010-10-27  Patrick Gansterer  <paroga@webkit.org>
24482
24483         Reviewed by Adam Barth.
24484
24485         Use WTF::StringHasher::createBlobHash where possible
24486         https://bugs.webkit.org/show_bug.cgi?id=48228
24487
24488         Replace StringImpl::computeHash with StringHasher::createBlobHash.
24489         This removes many duplicated code.
24490
24491         * bindings/js/JSSVGPODTypeWrapper.h:
24492         (WebCore::PODTypeWrapperCacheInfoHash::hash):
24493         * page/SecurityOriginHash.h:
24494         (WebCore::SecurityOriginHash::hash):
24495         * platform/cf/SchedulePair.h:
24496         (WebCore::SchedulePairHash::hash):
24497         * platform/graphics/FontCache.cpp:
24498         (WebCore::computeHash):
24499         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
24500         (WebCore::FontPlatformData::RefCountedHFONT::hash):
24501         * platform/graphics/cocoa/FontPlatformData.h:
24502         (WebCore::FontPlatformData::hash):
24503         * platform/graphics/gtk/FontPlatformDataPango.h:
24504         (WebCore::FontPlatformData::hash):
24505         * platform/graphics/wince/FontPlatformData.cpp:
24506         (WebCore::FixedSizeFontDataKeyHash::hash):
24507         * platform/graphics/wx/FontPlatformDataWx.cpp:
24508         (WebCore::FontPlatformData::FontPlatformData):
24509         (WebCore::FontPlatformData::computeHash):
24510         * plugins/PluginPackage.cpp:
24511         (WebCore::PluginPackage::hash):
24512         * plugins/win/PluginPackageWin.cpp:
24513         (WebCore::PluginPackage::hash):
24514         * svg/DeprecatedSVGAnimatedTemplate.h:
24515         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
24516         * svg/properties/SVGAnimatedPropertyDescription.h:
24517         (WebCore::SVGAnimatedPropertyDescriptionHash::hash):
24518
24519 2010-10-27  Tony Chang  <tony@chromium.org>
24520
24521         Unreviewed, build fix after r70692.
24522
24523         * rendering/RenderBoxModelObject.cpp:
24524         (WebCore::RenderBoxModelObject::paintBorder):
24525
24526 2010-10-27  Leandro Pereira  <leandro@profusion.mobi>
24527
24528         Unreviewed. Build fix after r70651.
24529
24530         * CMakeListsEfl.txt: Add SoupURIUtils.cpp.
24531
24532 2010-10-27  Crystal Zhang  <haizhang@rim.com>
24533
24534         Reviewed by Eric Carlson.
24535
24536         https://bugs.webkit.org/show_bug.cgi?id=48446
24537
24538         Fix an issue where we were passing the wrong parameter
24539         to MIMETypeRegistry::getMIMETypeForExtension().
24540
24541         * platform/MIMETypeRegistry.cpp:
24542
24543 2010-10-27  David Hyatt  <hyatt@apple.com>
24544
24545         Reviewed by Beth Dakin.
24546
24547         https://bugs.webkit.org/show_bug.cgi?id=48449
24548         
24549         Make border drawing work correctly with vertical inline flows.  The top and bottom edge have to be omitted
24550         rather than the left and right edges.
24551         
24552         Also discovered that border-radius is broken with the new path-based-drawing code for all inline flows.  This
24553         is a regression from the old drawing code.  I patched the code to be correct rather than clipping out stuff
24554         that it shouldn't and applying border-radii on lines that don't even have them.
24555
24556         Added fast/blockflow/border-vertical-lr.html and fast/borders/border-radius-inline-flow.html
24557
24558         * rendering/RenderBoxModelObject.cpp:
24559         (WebCore::RenderBoxModelObject::paintBorder):
24560         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
24561         * rendering/RenderBoxModelObject.h:
24562
24563 2010-10-27  Martin Robinson  <mrobinson@igalia.com>
24564
24565         Reviewed by Gustavo Noronha Silva.
24566
24567         [Cairo] Font fallback determination is very ineffecient
24568         https://bugs.webkit.org/show_bug.cgi?id=42052
24569
24570         When choosing a fallback font in FontCache::getFontDataForCharacters, use FontConfig's
24571         mechanism for searching the fallback list directly, instead of scanning the list manually.
24572         If the font is a custom font or any other font with no FontConfig pattern associated with
24573         it, as FontConfig for a font that can supply the missing glyphs.
24574
24575         Test: platform/gtk/fonts/custom-font-missing-glyphs.html
24576
24577         * platform/graphics/cairo/FontCacheFreeType.cpp:
24578         (WebCore::createFontConfigPatternForCharacters): Added this helper which turns
24579         a collection of unicode characters into a FontConfig pattern.
24580         (WebCore::findBestFontGivenFallbacks): Using a FontConfig pattern created with th
24581         above helper and a FcFontSet of fallback fonts, this helper will find a font in
24582         the set which fulfills the requirments.
24583         (WebCore::FontCache::getFontDataForCharacters): Given an existing font with missing
24584         glyphs, either find an appropriate fallback font from the list of FontConfig fallbacks
24585         or ask FontConfig directly for an appropriate font.
24586         * platform/graphics/cairo/FontPlatformDataFreeType.h: Made a member mutable, as it is
24587         initialized lazily.
24588
24589 2010-10-27  Alexander Pavlov  <apavlov@chromium.org>
24590
24591         Reviewed by Pavel Feldman.
24592
24593         Web Inspector: "Reload Page and Audit on Load" fails to run audits when resource tracking is disabled
24594         https://bugs.webkit.org/show_bug.cgi?id=48431
24595
24596         * inspector/front-end/AuditsPanel.js:
24597         (WebInspector.AuditsPanel.prototype._reloadResources):
24598         * inspector/front-end/ResourcesPanel.js:
24599         (WebInspector.ResourcesPanel.prototype._createPanelEnabler):
24600         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
24601
24602 2010-10-27  Abhishek Arya  <inferno@chromium.org>
24603
24604         Reviewed by Dave Hyatt.
24605
24606         Add a function to make sure child is allowed before adding to a
24607         render view. 
24608         https://bugs.webkit.org/show_bug.cgi?id=48328 
24609
24610         Test: fast/inline/inline-child-height-width-calc-crash.html
24611
24612         * rendering/RenderView.cpp:
24613         (WebCore::RenderView::isChildAllowed):
24614         * rendering/RenderView.h:
24615
24616 2010-10-27  Martin Robinson  <mrobinson@igalia.com>
24617
24618         Reviewed by Gustavo Noronha Silva.
24619
24620         [GTK] r69296 includes a cast from GdkWindow* to GtkWindow*
24621         https://bugs.webkit.org/show_bug.cgi?id=48445
24622
24623         Pass the pageClient GtkWidget* to gtk_xtbin_new instead of the
24624         GdkWindow*. The pageClient is used to get the proper visual for the
24625         plugin container widget.
24626
24627         No new tests. This patch should prevent plugins/null-npp-getvalue-pointer.html
24628         from crashing.
24629
24630         * plugins/gtk/PluginViewGtk.cpp:
24631         (WebCore::PluginView::platformStart): Pass the widget instead of the window.
24632         * plugins/gtk/gtk2xtbin.c: Accept the widget instead of the window.
24633         (gtk_xtbin_new):
24634         * plugins/gtk/gtk2xtbin.h: Update the declaration.
24635
24636 2010-10-27  Kwang Yul Seo  <skyul@company100.net>
24637
24638         Reviewed by James Robinson.
24639
24640         [BREWMP] Port graphics backend
24641         https://bugs.webkit.org/show_bug.cgi?id=40275
24642
24643         Add PLATFORM(BREWMP) guard to skia's FontCustomPlatformData
24644         to share OS(LINUX) implementation.
24645
24646         * loader/CachedFont.cpp:
24647         * platform/graphics/skia/FontCustomPlatformData.cpp:
24648         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
24649         (WebCore::FontCustomPlatformData::fontPlatformData):
24650         (WebCore::createFontCustomPlatformData):
24651         * platform/graphics/skia/FontCustomPlatformData.h:
24652
24653 2010-10-27  Satish Sampath  <satish@chromium.org>
24654
24655         Unreviewed, rolling out r70665.
24656         http://trac.webkit.org/changeset/70665
24657         https://bugs.webkit.org/show_bug.cgi?id=47089
24658
24659         Need to address Alexey's review comments.
24660
24661         * page/SpeechInput.cpp:
24662         (WebCore::SpeechInput::startRecognition):
24663         * page/SpeechInput.h:
24664         * page/SpeechInputClient.h:
24665         * platform/mock/SpeechInputClientMock.cpp:
24666         (WebCore::SpeechInputClientMock::startRecognition):
24667         (WebCore::SpeechInputClientMock::setRecognitionResult):
24668         (WebCore::SpeechInputClientMock::timerFired):
24669         * platform/mock/SpeechInputClientMock.h:
24670         * rendering/TextControlInnerElements.cpp:
24671         (WebCore::TextControlInnerElement::attachInnerElement):
24672         (WebCore::SearchFieldCancelButtonElement::detach):
24673         (WebCore::SpinButtonElement::defaultEventHandler):
24674         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
24675         (WebCore::InputFieldSpeechButtonElement::detach):
24676
24677 2010-10-27  ZHenyao Mo  <zmo@google.com>
24678
24679         Reviewed by Kenneth Russell.
24680
24681         Must enable GL_POINT_SPRITE in GraphicsContext3D implementations
24682         https://bugs.webkit.org/show_bug.cgi?id=45908
24683
24684         * platform/graphics/mac/GraphicsContext3DMac.mm: Enable for Mac port.
24685         (WebCore::GraphicsContext3D::GraphicsContext3D):
24686
24687 2010-10-27  Leandro Gracia Gil  <leandrogracia@google.com>
24688
24689         Reviewed by Jeremy Orlow.
24690
24691         Patch the current speech input implementation to use the nearest
24692         language tag. The language is now passed to the startRecognition
24693         methods so that language-specific recognition could be used. Also added
24694         a second parameter to setMockSpeechInputResult for the language used in
24695         speech recognition.
24696         https://bugs.webkit.org/show_bug.cgi?id=47089
24697
24698         This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
24699         details see http://codereview.chromium.org/3615005/show and
24700         http://codereview.chromium.org/3595018/show. The last of the 4 patches
24701         depends also on the language tag validation provided by this patch:
24702         https://bugs.webkit.org/show_bug.cgi?id=48225.
24703
24704         Test: fast/speech/input-text-language-tag.html
24705
24706         * page/SpeechInput.cpp:
24707         (WebCore::SpeechInput::startRecognition):
24708         * page/SpeechInput.h:
24709         * page/SpeechInputClient.h:
24710         * platform/mock/SpeechInputClientMock.cpp:
24711         (WebCore::SpeechInputClientMock::startRecognition):
24712         (WebCore::SpeechInputClientMock::setRecognitionResult):
24713         (WebCore::SpeechInputClientMock::timerFired):
24714         * platform/mock/SpeechInputClientMock.h:
24715         * rendering/TextControlInnerElements.cpp:
24716         (WebCore::TextControlInnerElement::attachInnerElement):
24717         (WebCore::SearchFieldCancelButtonElement::detach):
24718         (WebCore::SpinButtonElement::defaultEventHandler):
24719         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
24720         (WebCore::InputFieldSpeechButtonElement::detach):
24721
24722 2010-10-27  David Hyatt  <hyatt@apple.com>
24723
24724         Reviewed by Dan Bernstein.
24725
24726         https://bugs.webkit.org/show_bug.cgi?id=48381
24727
24728         Make basic layer positioning work with vertical-lr writing-mode.
24729
24730         * rendering/RenderBlock.cpp:
24731         (WebCore::RenderBlock::paintChildren):
24732         (WebCore::RenderBlock::paintFloats):
24733         * rendering/RenderBox.cpp:
24734         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
24735         (WebCore::RenderBox::locationOffsetIncludingFlipping):
24736         * rendering/RenderBox.h:
24737         * rendering/RenderLayer.cpp:
24738         (WebCore::RenderLayer::updateLayerPosition):
24739
24740 2010-10-27  Zhenyao Mo  <zmo@google.com>
24741
24742         Reviewed by Kenneth Russell.
24743
24744         object-deletion-behaviour.html fails with mesa backend
24745         https://bugs.webkit.org/show_bug.cgi?id=46667
24746
24747         * html/canvas/WebGLRenderingContext.cpp:
24748         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): If object_type is 0, we return early because object_name should be always be 0.
24749
24750 2010-10-27  Zhenyao Mo  <zmo@google.com>
24751
24752         Reviewed by Kenneth Russell.
24753
24754         If WebGL is running on top of a strict version of OpenGL ES it should make sure attribs have buffers assigned at all times
24755         https://bugs.webkit.org/show_bug.cgi?id=47964
24756
24757         * html/canvas/WebGLRenderingContext.cpp:
24758         (WebCore::WebGLRenderingContext::validateRenderingState): Minimum checking: if input <= 0, only check if each enabled vertex attribute is bound to a buffer.
24759         (WebCore::WebGLRenderingContext::drawArrays): If underlying GL performs bounds checking, we still need to do the minimum checking using validateRenderingState.
24760         (WebCore::WebGLRenderingContext::drawElements): Ditto.
24761         * html/canvas/WebGLRenderingContext.h: Add a comment for input <= 0 in validateRenderingState.
24762
24763 2010-10-27  Simon Fraser  <simon.fraser@apple.com>
24764
24765         Reviewed by Dan Bernstein.
24766
24767         Accelerated animation with missing values in keyframes is broken
24768         https://bugs.webkit.org/show_bug.cgi?id=48395
24769
24770         r66339 changed the behavior of keyframe animations such that if a property
24771         is missing from a keyframe, the property will be interpolated between those
24772         keyframes that do have a value for the property. If a value is missing
24773         from the first or last keyframes, the element's unanimated style supplies
24774         that value.
24775         
24776         However, accelerated animations had a bug where if a value was missing
24777         from the first (and maybe subsequent) or last (and maybe preceding) keyframes,
24778         the animation data given to the GraphicsLayer would be missing the style from the
24779         first or final keyframe.
24780
24781         Tests: animations/missing-values-first-keyframe.html
24782                animations/missing-values-last-keyframe.html
24783
24784         * rendering/RenderLayerBacking.cpp:
24785         (WebCore::RenderLayerBacking::startAnimation):
24786
24787 2010-10-27  Renata Hodovan  <reni@inf.u-szeged.hu>
24788
24789         Reviewed by Dirk Schulze.
24790
24791         Calling the super class of RenderSVGImage::updateFromElement is missing
24792         https://bugs.webkit.org/show_bug.cgi?id=48347
24793
24794         RenderSVGImage::updateFromElement is an inherited function of RenderSVGModelObject what needs calling its ancestor.
24795         Lack of this call caused filters were not invalidated at SVGImage objects.
24796
24797         No new tests, because this modification is covered by SVGFEConvolveMatrixElement's dynamic update tests.
24798
24799         * rendering/RenderSVGImage.cpp:
24800         (WebCore::RenderSVGImage::updateFromElement):
24801
24802 2010-10-27  Justin Schuh  <jschuh@chromium.org>
24803
24804         Reviewed by Dirk Schulze.
24805
24806         Ignore invalid blend modes
24807         https://bugs.webkit.org/show_bug.cgi?id=48371
24808
24809         Test: svg/filters/feBlend-invalid-mode.xhtml
24810
24811         * platform/graphics/filters/FEBlend.cpp:
24812         (WebCore::FEBlend::apply):
24813
24814 2010-10-27  Sergio Villar Senin  <svillar@igalia.com>
24815
24816         Reviewed by Martin Robinson.
24817
24818         [Gtk] http/tests/xmlhttprequest/basic-auth-default.html fails
24819         https://bugs.webkit.org/show_bug.cgi?id=38956
24820
24821         Added a new utility function that turns SoupURIs into
24822         KURLs. That addresses some issues with SoupURIs like for example
24823         soup_uri_to_string ignoring the URI password. Basic authentication
24824         using URL credentials should work now.
24825
24826         * GNUmakefile.am:
24827         * platform/network/soup/ResourceHandleSoup.cpp:
24828         (WebCore::ResourceHandle::start):
24829         (WebCore::ResourceHandle::loadResourceSynchronously):
24830         * platform/network/soup/ResourceRequestSoup.cpp:
24831         (WebCore::ResourceRequest::updateFromSoupMessage):
24832         * platform/network/soup/ResourceResponseSoup.cpp:
24833         (WebCore::ResourceResponse::updateFromSoupMessage):
24834         * platform/network/soup/SoupURIUtils.cpp: Added.
24835         (WebCore::soupURIToKURL):
24836         * platform/network/soup/SoupURIUtils.h: Added.
24837
24838 2010-10-27  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
24839
24840         Reviewed by Andreas Kling.
24841
24842         Remove references to ancient QGVLauncher and QtLauncher
24843         https://bugs.webkit.org/show_bug.cgi?id=48430
24844
24845         * manual-tests/plugins/windowed.html: change to QtTestBrowser
24846         * manual-tests/plugins/windowless.html: ditto
24847
24848 2010-10-27  Patrick Gansterer  <paroga@webkit.org>
24849
24850         Reviewed by Csaba Osztrogonác.
24851
24852         [WINCE] Buildfix after r70400.
24853         https://bugs.webkit.org/show_bug.cgi?id=48419
24854
24855         * platform/wince/TemporaryLinkStubs.cpp: Added.
24856         (WebCore::setCookieStoragePrivateBrowsingEnabled):
24857
24858 2010-10-27  Satish Sampath  <satish@chromium.org>
24859
24860         Reviewed by Steve Block.
24861
24862         Add runtime flag check before enabling speech input in code.
24863         https://bugs.webkit.org/show_bug.cgi?id=48426
24864
24865         * html/HTMLInputElement.cpp:
24866         (WebCore::HTMLInputElement::isSpeechEnabled): Added runtime flag check.
24867
24868 2010-10-27  Adam Roben  <aroben@apple.com>
24869
24870         Only decompress pixel buffers when needed (and fix a crash in the
24871         process)
24872
24873         Fixes <http://webkit.org/b/48417> Crash when running
24874         compositing/video/video-background-color.html on Windows
24875
24876         Reviewed by Anders Carlsson.
24877
24878         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
24879         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Only
24880         decompress the pixel buffer when it has an incompatible format. This
24881         also has the benefit of only decompressing the buffer when a
24882         QTDecompressionSession has been created! (I assume this was just a typo
24883         from when this code was added in r70252.)
24884
24885 2010-10-27  Mario Sanchez Prada  <msanchez@igalia.com>
24886
24887         Reviewed by Martin Robinson.
24888
24889         getTextAtOffset returns incorrect results if a link includes text and an image
24890         https://bugs.webkit.org/show_bug.cgi?id=47365
24891
24892         Properly consider text under a non-text renderer in textForObject.
24893
24894         We need to check all the children under a non-text renderer, if
24895         any, to consider when current object is not a text object but some
24896         of its children are, in order not to miss those portions of text
24897         by not properly handling those situations.
24898
24899         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24900         (textForRenderer): New. Get the text for a RenderObject's children.
24901         (textForObject): Use the new textForRenderer function.
24902
24903 2010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
24904
24905         Reviewed by Rob Buis.
24906
24907         Convert SVGRect to the new SVGPropertyTearOff concept
24908         https://bugs.webkit.org/show_bug.cgi?id=48204
24909
24910         Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
24911         Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
24912
24913         Test: svg/dom/SVGRect.html
24914
24915         * GNUmakefile.am: Add SVGAnimatedRect.h to build.
24916         * WebCore.gypi: Ditto.
24917         * WebCore.pro: Ditto.
24918         * WebCore.vcproj/WebCore.vcproj: Ditto.
24919         * WebCore.xcodeproj/project.pbxproj: Ditto.
24920         * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
24921         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
24922         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
24923         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
24924         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
24925         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
24926         * svg/SVGAngle.idl: Remove [SVGProperty] flag.
24927         * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
24928         * svg/SVGAnimatedLength.idl: Ditto.
24929         * svg/SVGAnimatedLengthList.idl: Ditto.
24930         * svg/SVGAnimatedRect.h: Added.
24931         * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
24932         * svg/SVGLength.idl: Remove [SVGProperty] flag.
24933         * svg/SVGMarkerElement.h:
24934         * svg/SVGPatternElement.h:
24935         * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
24936         * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
24937         (WebCore::SVGSVGElement::currentView):
24938         (WebCore::SVGSVGElement::inheritViewAttributes):
24939         * svg/SVGSVGElement.h:
24940         * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
24941         * svg/SVGSymbolElement.h:
24942         * svg/SVGViewElement.h:
24943         * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
24944         (WebCore::SVGViewSpec::SVGViewSpec):
24945         * svg/SVGViewSpec.h: Ditto.
24946         (WebCore::SVGViewSpec::contextElement):
24947         * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
24948         * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
24949
24950 2010-10-27  Pavel Podivilov  <podivilov@chromium.org>
24951
24952         Unreviewed, fix line endings in InspectorState.h
24953
24954         * inspector/InspectorState.h:
24955
24956 2010-10-27  Pavel Podivilov  <podivilov@chromium.org>
24957
24958         Reviewed by Pavel Feldman.
24959
24960         Web Inspector: move frontend settings to local storage
24961         https://bugs.webkit.org/show_bug.cgi?id=47715
24962
24963         * inspector/Inspector.idl:
24964         * inspector/InspectorController.cpp:
24965         (WebCore::InspectorController::InspectorController):
24966         (WebCore::InspectorController::didCommitLoad):
24967         * inspector/InspectorController.h:
24968         * inspector/InspectorState.cpp:
24969         (WebCore::InspectorState::InspectorState):
24970         * inspector/InspectorState.h:
24971         * inspector/front-end/ConsoleView.js:
24972         * inspector/front-end/EventListenersSidebarPane.js:
24973         * inspector/front-end/NetworkPanel.js:
24974         (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
24975         * inspector/front-end/Panel.js:
24976         (WebInspector.Panel):
24977         * inspector/front-end/ResourcesPanel.js:
24978         (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
24979         * inspector/front-end/Settings.js:
24980         (WebInspector.Settings):
24981         (WebInspector.Settings.prototype.installApplicationSetting):
24982         (WebInspector.Settings.prototype.installProjectSetting):
24983         (WebInspector.Settings.prototype._get):
24984         (WebInspector.Settings.prototype._set):
24985         (WebInspector.Settings.prototype._getProjectSetting):
24986         (WebInspector.Settings.prototype._setProjectSetting):
24987         (WebInspector.Settings.prototype._formatProjectKey):
24988         * inspector/front-end/StylesSidebarPane.js:
24989         * inspector/front-end/WatchExpressionsSidebarPane.js:
24990         (WebInspector.WatchExpressionsSidebarPane):
24991         (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
24992         * inspector/front-end/inspector.js:
24993         (WebInspector.reset):
24994
24995 2010-10-27  Andy Estes  <aestes@apple.com>
24996
24997         Reviewed by David Hyatt.
24998
24999         Siblings of floated elements should be cleared below the float if they
25000         are too wide to fit in the containing block.
25001         https://bugs.webkit.org/show_bug.cgi?id=48396
25002
25003         Test: fast/block/float/clear-element-too-wide-for-containing-block.html
25004
25005         WebKit did not clear elements adjacent to floats if they were wider than
25006         the containing block, instead keeping them on the same line and allowing
25007         them to spill out the right side of the containing block. We should
25008         match the spec in this regard and clear the element below the float even
25009         if it is too wide for the containing block. Doing this seems to also
25010         match IE's and Firefox's behavior.
25011
25012         * rendering/RenderBlock.cpp:
25013         (WebCore::RenderBlock::getClearDelta): Continue to compute the clear
25014         delta even if the child's minimum preferred width is greater than the
25015         containing block's available width.
25016
25017 2010-10-26  Rob Buis  <rwlbuis@gmail.com>
25018
25019         Reviewed by Nikolas Zimmermann.
25020
25021         Title-Element has no popup on <svg>-Elements, but on <g>
25022         https://bugs.webkit.org/show_bug.cgi?id=47669
25023
25024         Allow tooltips on non-root svg elements.
25025
25026         No new tests.
25027
25028         * svg/SVGStyledElement.cpp:
25029
25030 2010-10-26  Dai Mikurube  <dmikurube@google.com>
25031
25032         Reviewed by Kent Tamura.
25033
25034         constraint validation: stepMismatch (rounding error)
25035         https://bugs.webkit.org/show_bug.cgi?id=48220
25036
25037         1. Changed the computation to achieve difference from a integral
25038         multiple of the allowed value step.
25039
25040         The previous fmod(doubleValue, step) sometimes returned unacceptable
25041         remainder. For example,
25042             double doubleValue = 1.005; // Actually, near to 1.005
25043             double step = 0.005; // Actually, near to 0.005
25044             fmod(doubleValue, step) ==> (near to) 0.005
25045         It's a case that doubleValue is a little smaller than 1.005 and step is
25046         a little larger than 0.005.
25047
25048         2. Changed the error threshold.
25049
25050         Number values in HTML5 are expressed in IEEE 754 single-precision.
25051         Too precise comparison sometimes leads unintended errors.
25052
25053         For example, I found a case :
25054                   remainder = 0.00000000000000022204460
25055             acceptableError = 0.00000000000000007105427
25056
25057         * html/NumberInputType.cpp:
25058         (WebCore::NumberInputType::stepMismatch):
25059
25060 2010-10-26  Chris Rogers  <crogers@google.com>
25061
25062         Reviewed by Kenneth Russell.
25063
25064         Add DelayNode files
25065         https://bugs.webkit.org/show_bug.cgi?id=47516
25066
25067         No new tests since audio API is not yet implemented.
25068
25069         * webaudio/DelayNode.cpp: Added.
25070         (WebCore::DelayNode::DelayNode):
25071         (WebCore::DelayNode::delayTime):
25072         * webaudio/DelayNode.h: Added.
25073         (WebCore::DelayNode::create):
25074         (WebCore::DelayNode::delayProcessor):
25075         * webaudio/DelayNode.idl: Added.
25076
25077 2010-10-26  Chris Rogers  <crogers@google.com>
25078
25079         Reviewed by Kenneth Russell.
25080
25081         AudioContext and AudioNode followup changes for AudioNodeInput/AudioNodeOutput thread safety
25082         https://bugs.webkit.org/show_bug.cgi?id=47504
25083
25084         No new tests since audio API is not yet implemented.
25085
25086         * webaudio/AudioContext.cpp:
25087         (WebCore::AudioContext::isAudioThread):
25088         (WebCore::AudioContext::isGraphOwner):
25089         (WebCore::AudioContext::handlePreRenderTasks):
25090         (WebCore::AudioContext::handlePostRenderTasks):
25091         (WebCore::AudioContext::deleteMarkedNodes):
25092         (WebCore::AudioContext::markAudioNodeInputDirty):
25093         (WebCore::AudioContext::markAudioNodeOutputDirty):
25094         (WebCore::AudioContext::handleDirtyAudioNodeInputs):
25095         (WebCore::AudioContext::handleDirtyAudioNodeOutputs):
25096         * webaudio/AudioContext.h:
25097         * webaudio/AudioNode.cpp:
25098         * webaudio/AudioNode.h:
25099         (WebCore::AudioNode::isMarkedForDeletion):
25100         * webaudio/AudioNode.idl:
25101
25102 2010-10-26  Chris Rogers  <crogers@google.com>
25103
25104         Reviewed by Kenneth Russell.
25105
25106         Add DelayProcessor files
25107         https://bugs.webkit.org/show_bug.cgi?id=47517
25108
25109         No new tests since audio API is not yet implemented.
25110
25111         * webaudio/DelayProcessor.cpp: Added.
25112         (WebCore::DelayProcessor::DelayProcessor):
25113         (WebCore::DelayProcessor::~DelayProcessor):
25114         (WebCore::DelayProcessor::createKernel):
25115         * webaudio/DelayProcessor.h: Added.
25116         (WebCore::DelayProcessor::delayTime):
25117
25118 2010-10-26  Chris Rogers  <crogers@google.com>
25119
25120         Reviewed by Kenneth Russell.
25121
25122         Add AudioNodeOutput files
25123         https://bugs.webkit.org/show_bug.cgi?id=45581
25124
25125         No new tests since audio API is not yet implemented.
25126
25127         * webaudio/AudioNodeOutput.cpp: Added.
25128         (WebCore::AudioNodeOutput::AudioNodeOutput):
25129         (WebCore::AudioNodeOutput::setNumberOfChannels):
25130         (WebCore::AudioNodeOutput::setInternalBus):
25131         (WebCore::AudioNodeOutput::updateRenderingState):
25132         (WebCore::AudioNodeOutput::updateNumberOfChannels):
25133         (WebCore::AudioNodeOutput::propagateChannelCount):
25134         (WebCore::AudioNodeOutput::pull):
25135         (WebCore::AudioNodeOutput::bus):
25136         (WebCore::AudioNodeOutput::renderingFanOutCount):
25137         (WebCore::AudioNodeOutput::fanOutCount):
25138         (WebCore::AudioNodeOutput::addInput):
25139         (WebCore::AudioNodeOutput::removeInput):
25140         (WebCore::AudioNodeOutput::disconnectAllInputs):
25141         (WebCore::AudioNodeOutput::disable):
25142         (WebCore::AudioNodeOutput::enable):
25143         * webaudio/AudioNodeOutput.h: Added.
25144         (WebCore::AudioNodeOutput::node):
25145         (WebCore::AudioNodeOutput::context):
25146         (WebCore::AudioNodeOutput::numberOfChannels):
25147         (WebCore::AudioNodeOutput::isChannelCountKnown):
25148
25149 2010-10-26  Chris Rogers  <crogers@google.com>
25150
25151         Reviewed by Kenneth Russell.
25152
25153         Add AudioNodeInput files
25154         https://bugs.webkit.org/show_bug.cgi?id=45577
25155
25156         No new tests since audio API is not yet implemented.
25157
25158         * webaudio/AudioNodeInput.cpp: Added.
25159         (WebCore::AudioNodeInput::AudioNodeInput):
25160         (WebCore::AudioNodeInput::connect):
25161         (WebCore::AudioNodeInput::disconnect):
25162         (WebCore::AudioNodeInput::disable):
25163         (WebCore::AudioNodeInput::enable):
25164         (WebCore::AudioNodeInput::changedOutputs):
25165         (WebCore::AudioNodeInput::updateRenderingState):
25166         (WebCore::AudioNodeInput::numberOfChannels):
25167         (WebCore::AudioNodeInput::numberOfRenderingChannels):
25168         (WebCore::AudioNodeInput::bus):
25169         (WebCore::AudioNodeInput::internalSummingBus):
25170         (WebCore::AudioNodeInput::sumAllConnections):
25171         (WebCore::AudioNodeInput::pull):
25172         * webaudio/AudioNodeInput.h: Added.
25173         (WebCore::AudioNodeInput::node):
25174         (WebCore::AudioNodeInput::context):
25175         (WebCore::AudioNodeInput::numberOfRenderingConnections):
25176         (WebCore::AudioNodeInput::renderingOutput):
25177         (WebCore::AudioNodeInput::isConnected):
25178         (WebCore::AudioNodeInput::numberOfConnections):
25179
25180 2010-10-26  MORITA Hajime  <morrita@google.com>
25181
25182         Reviewed by Tony Chang.
25183
25184         Rolling in r70512 again, added missing null-check to
25185         Editor::isSpellCheckingEnabled().
25186         http://trac.webkit.org/changeset/70512
25187
25188         spellcheck='' should be the same as spellcheck="true"
25189         https://bugs.webkit.org/show_bug.cgi?id=25539
25190
25191         * dom/Element.cpp:
25192         (WebCore::Element::spellcheckAttributeState):
25193         (WebCore::Element::isSpellCheckingEnabled):
25194         * dom/Element.h:
25195         * editing/Editor.cpp:
25196         (WebCore::markMisspellingsOrBadGrammar):
25197         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
25198         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
25199         * editing/Editor.h:
25200         * platform/ContextMenu.cpp:
25201         (WebCore::ContextMenu::populate):
25202
25203 2010-10-26  Brent Fulgham  <bfulgham@webkit.org>
25204
25205         Unreviewed build fixes.
25206
25207         * WebCore.vcproj/WebCore.vcproj: Turn off several non-WinCairo
25208         files.  We don't support CoreAnimation!
25209         * WebCore.vcproj/WebCoreCairo.vsprops: Add missing include path
25210         for 'image-decoders/webp'
25211         * platform/network/curl/CookieJarCurl.cpp:
25212         (WebCore::setCookieStoragePrivateBrowsingEnabled): Add build stub.
25213
25214 2010-10-26  Ryosuke Niwa  <rniwa@webkit.org>
25215
25216         Reviewed by Kent Tamura.
25217
25218         Crash in CompositeEditCommand::splitTreeToNode
25219         https://bugs.webkit.org/show_bug.cgi?id=48349
25220
25221         The bug was caused by indentIntoBlockquote's passing null pointer to splitTreeToNode.
25222         Fixed the crash by adding early exits.
25223
25224         Test: editing/execCommand/indent-node-to-split-to-crash.html
25225
25226         * editing/CompositeEditCommand.cpp:
25227         (WebCore::CompositeEditCommand::splitTreeToNode):
25228         * editing/IndentOutdentCommand.cpp:
25229         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
25230
25231 2010-10-26  Ryosuke Niwa  <rniwa@webkit.org>
25232
25233         Reviewed by Kent Tamura.
25234
25235         REGRESSION(r67170): crash in removeImplicitlyStyledElement
25236         https://bugs.webkit.org/show_bug.cgi?id=48389
25237
25238         Fixed the crash by adding a null pointer check.
25239
25240         Test: editing/style/invalid-font-size.html
25241
25242         * editing/ApplyStyleCommand.cpp:
25243         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
25244
25245 2010-10-26  Dimitri Glazkov  <dglazkov@chromium.org>
25246
25247         Unreviewed, rolling out r70573.
25248         http://trac.webkit.org/changeset/70573
25249         https://bugs.webkit.org/show_bug.cgi?id=48204
25250
25251         Broke 39 tests on Chromium
25252
25253         * GNUmakefile.am:
25254         * WebCore.gypi:
25255         * WebCore.pro:
25256         * WebCore.vcproj/WebCore.vcproj:
25257         * WebCore.xcodeproj/project.pbxproj:
25258         * bindings/scripts/CodeGenerator.pm:
25259         * bindings/scripts/CodeGeneratorJS.pm:
25260         * bindings/scripts/CodeGeneratorObjC.pm:
25261         * bindings/scripts/CodeGeneratorV8.pm:
25262         * svg/DeprecatedSVGAnimatedPropertyTraits.h:
25263         * svg/DeprecatedSVGAnimatedTemplate.h:
25264         * svg/SVGAngle.idl:
25265         * svg/SVGAnimatedAngle.idl:
25266         * svg/SVGAnimatedLength.idl:
25267         * svg/SVGAnimatedLengthList.idl:
25268         * svg/SVGAnimatedRect.h: Removed.
25269         * svg/SVGFitToViewBox.h:
25270         * svg/SVGLength.idl:
25271         * svg/SVGMarkerElement.h:
25272         * svg/SVGPatternElement.h:
25273         * svg/SVGRect.idl:
25274         * svg/SVGSVGElement.cpp:
25275         (WebCore::SVGSVGElement::currentView):
25276         (WebCore::SVGSVGElement::inheritViewAttributes):
25277         * svg/SVGSVGElement.h:
25278         * svg/SVGSVGElement.idl:
25279         * svg/SVGSymbolElement.h:
25280         * svg/SVGViewElement.h:
25281         * svg/SVGViewSpec.cpp:
25282         (WebCore::SVGViewSpec::SVGViewSpec):
25283         * svg/SVGViewSpec.h:
25284         (WebCore::SVGViewSpec::contextElement):
25285         * svg/SVGZoomEvent.idl:
25286         * svg/properties/SVGAnimatedPropertyMacros.h:
25287
25288 2010-10-26  Anders Carlsson  <andersca@apple.com>
25289
25290         Fix 32-bit build.
25291
25292         * platform/graphics/mac/FontMac.mm:
25293         (WebCore::showGlyphsWithAdvances):
25294
25295 2010-10-26  Jenn Braithwaite  <jennb@chromium.org>
25296
25297         Reviewed by Dmitry Titov.
25298
25299         Resource tracking failure when trying to move a frame between documents
25300         https://bugs.webkit.org/show_bug.cgi?id=44713
25301
25302         Test: fast/frames/iframe-reparenting-fail-load.html
25303
25304         * loader/DocumentLoader.cpp:
25305         (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
25306         Added method that notifies the client to update resource tracking for
25307         loading resources that have been transferred to a different page.
25308         * loader/DocumentLoader.h:
25309         * loader/EmptyClients.h:
25310         (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
25311         Empty method.
25312         * loader/FrameLoader.h:
25313         * loader/FrameLoader.cpp:
25314         Added method that triggers resource tracking updates. This wraps
25315         the DocumentLoader method as it appears DocumentLoader is opaque
25316         to Frame.
25317         * loader/FrameLoaderClient.h:
25318         Added API to notify the client to update resource tracking for
25319         a loading resource that has been transferred to a different page.
25320         * page/Frame.cpp:
25321         (WebCore::Frame::transferChildFrameToNewDocument):
25322         Update resource tracking if page has changed.
25323
25324 2010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
25325
25326         Reviewed by Rob Buis.
25327
25328         Convert SVGRect to the new SVGPropertyTearOff concept
25329         https://bugs.webkit.org/show_bug.cgi?id=48204
25330
25331         Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
25332         Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
25333
25334         Test: svg/dom/SVGRect.html
25335
25336         * GNUmakefile.am: Add SVGAnimatedRect.h to build.
25337         * WebCore.gypi: Ditto.
25338         * WebCore.pro: Ditto.
25339         * WebCore.vcproj/WebCore.vcproj: Ditto.
25340         * WebCore.xcodeproj/project.pbxproj: Ditto.
25341         * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
25342         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
25343         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
25344         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
25345         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
25346         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
25347         * svg/SVGAngle.idl: Remove [SVGProperty] flag.
25348         * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
25349         * svg/SVGAnimatedLength.idl: Ditto.
25350         * svg/SVGAnimatedLengthList.idl: Ditto.
25351         * svg/SVGAnimatedRect.h: Added.
25352         * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
25353         * svg/SVGLength.idl: Remove [SVGProperty] flag.
25354         * svg/SVGMarkerElement.h:
25355         * svg/SVGPatternElement.h:
25356         * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
25357         * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
25358         (WebCore::SVGSVGElement::currentView):
25359         (WebCore::SVGSVGElement::inheritViewAttributes):
25360         * svg/SVGSVGElement.h:
25361         * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
25362         * svg/SVGSymbolElement.h:
25363         * svg/SVGViewElement.h:
25364         * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
25365         (WebCore::SVGViewSpec::SVGViewSpec):
25366         * svg/SVGViewSpec.h: Ditto.
25367         (WebCore::SVGViewSpec::contextElement):
25368         * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
25369         * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
25370
25371 2010-10-26  takano takumi  <takano1@asia.apple.com>
25372
25373         Reviewed by Dave Hyatt.
25374
25375         Advances are wrong and glyphs are rotated improperly in vertical writing
25376         https://bugs.webkit.org/show_bug.cgi?id=48315
25377
25378         We shouldn't use vertical metrics for Roman fonts. Also, we should rotate vertical variant
25379         glyphs back on drawing as the whole run has already been rotated beforehand.
25380
25381         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
25382         (WebCore::FontPlatformData::FontPlatformData): Changed to ignore vertical orientation when the font doesn't support vertical metrics.
25383         * platform/graphics/mac/FontMac.mm:
25384         (WebCore::showGlyphsWithAdvances): Changed to rotate glyphs -90 degree for vertical variants.
25385         (WebCore::Font::drawGlyphs):
25386
25387 2010-10-26  Satish Sampath  <satish@chromium.org>
25388
25389         Reviewed by Jeremy Orlow.
25390
25391         Add a 'grammar' attribute for speech input.
25392         https://bugs.webkit.org/show_bug.cgi?id=48339
25393
25394         To differentiate between various types of speech input, we add a 'x-webkit-grammar' attribute to a
25395         speech enabled input element. This is passed without validation to the speech recognizer. Typical values
25396         could be "builtin:search", "builtin:dictation" and even an externally hosted SRGS grammar XML file URI.
25397         It is up to the recognizer to interpret the value and use it as an aid in recognition.
25398
25399         * bindings/generic/RuntimeEnabledFeatures.h:
25400         (WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled):
25401         * html/HTMLAttributeNames.in:
25402         * html/HTMLInputElement.idl:
25403         * page/SpeechInput.cpp:
25404         (WebCore::SpeechInput::startRecognition):
25405         * page/SpeechInput.h:
25406         * page/SpeechInputClient.h:
25407         * platform/mock/SpeechInputClientMock.cpp:
25408         (WebCore::SpeechInputClientMock::startRecognition):
25409         * platform/mock/SpeechInputClientMock.h:
25410         * rendering/TextControlInnerElements.cpp:
25411         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
25412
25413 2010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25414
25415         Reviewed by Timothy Hatcher.
25416
25417         Web Inspector: console does not work after two reloads.
25418         https://bugs.webkit.org/show_bug.cgi?id=48318
25419
25420         * inspector/InspectorController.cpp:
25421         (WebCore::InspectorController::disconnectFrontend):
25422
25423 2010-10-26  Pavel Podivilov  <podivilov@chromium.org>
25424
25425         Reviewed by Pavel Feldman.
25426
25427         Web Inspector: console doesn't work in closures when window is overrode 
25428         https://bugs.webkit.org/show_bug.cgi?id=48320
25429
25430         * inspector/front-end/InjectedScript.js:
25431         (injectedScriptConstructor.):
25432
25433 2010-10-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
25434
25435         Reviewed by Kenneth Rohde Christiansen.
25436
25437         [Qt] Fix an assert with QtPixmapInstance creation.
25438         https://bugs.webkit.org/show_bug.cgi?id=48323
25439
25440         This places the newly refcounted QtPixmapInstance in a RefPtr
25441         to prevent an assert on the first ref() call.
25442
25443         * bridge/qt/qt_pixmapruntime.cpp:
25444         (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
25445
25446 2010-10-26  Kenichi Ishibashi  <bashi@google.com>
25447
25448         Reviewed by Kent Tamura.
25449
25450         Input Method inserts conversion candidates unexpectedly
25451         https://bugs.webkit.org/show_bug.cgi?id=46868
25452
25453         Calls updateStyleIfNeeded() before setting selection for the composition to
25454         avoid inserting the previous composition text into a content editable element
25455         which has an event handler that changes the style of the element.
25456
25457         Test: platform/chromium/fast/text/chromium-mac-duplicate-ime-composition.html
25458
25459         * editing/Editor.cpp:
25460         (WebCore::Editor::setComposition): calls updateStyleIfNeeded() before setting selection.
25461
25462 2010-10-26  Mario Sanchez Prada  <msanchez@igalia.com>
25463
25464         Reviewed by Chris Fleizach.
25465
25466         [Gtk] Layout tables should indicate that they are not data tables via an object attribute
25467         https://bugs.webkit.org/show_bug.cgi?id=35422
25468
25469         Set the 'layout-guess' attribute to 'true' for data tables.
25470
25471         Reorganized some code in AccessibilityTable so now the function
25472         isDataTable() is more coherent by just answering that very
25473         specific question, regardless of whether the table is being
25474         exposed or not to Assistive Technologies.
25475
25476         Hence, now it's possible to make two questions separately instead
25477         of just one, meaning that the new function isAccessibleTable() is
25478         now what we formerly defined as the isDataTable() function.
25479
25480         * accessibility/AccessibilityObject.h:
25481         (WebCore::AccessibilityObject::isAccessibilityTable):
25482            New function to allow asking tables both whether they are
25483            exposed and whether they are data tables, which are different
25484            questions whose answers might be the same in many situations,
25485            but different sometimes (as it can happen in the GTK port).
25486         * accessibility/AccessibilityTable.h:
25487         * accessibility/AccessibilityTable.cpp:
25488         (WebCore::AccessibilityTable::hasARIARole):
25489            New, checks whether the table has a valid ARIA role.
25490         (WebCore::AccessibilityTable::isAccessibilityTable):
25491            New, returns the value of m_isAccessibilityTable. It's
25492            basically the former isDataTable() function renamed.
25493         (WebCore::AccessibilityTable::isDataTable):
25494            Changed behaviour. Instead of just returning the value of
25495            m_isAccessibilityTable as it did so far (which was confusing
25496            because of that's not what the name suggests), focus on
25497            checking whether it's a data table or not and return a bool
25498            value accordingly. It's basically a rename of the former
25499            isTableExposableThroughAccessibility() function, but withouth
25500            the GTK-specific if-endif region (which didn't make sense
25501            here now, because that was answering the question "is the table
25502            exposed in the GTK port?", instead of "is it a data table?").
25503         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
25504            Uses the hasAriaRole(), and isDataTable() to determine whether
25505            a table should be exposed or not. Also includes the GTK-specific
25506            if-region coming from the former implementation of the function
25507            isTableExposableThroughAccessibility() not to check whether it's
25508            a data table in case the rest of the checks succeeded (all
25509            tables are exposed in the GTK port).
25510         (WebCore::AccessibilityTable::addChildren):
25511            Replace usage of isDataTable() with isAccessibilityTable(), to
25512            keep exactly the same behaviour happening before this patch.
25513         (WebCore::AccessibilityTable::roleValue): Ditto.
25514         (WebCore::AccessibilityTable::accessibilityIsIgnored): Ditto.
25515         (WebCore::AccessibilityTable::title): Ditto.
25516
25517         Updated usage of the former function isDataTable() everywhere
25518         else, replacing it with the new isAccessibilityTable(), so keeping
25519         exactly the same behaviour happening before this patch.
25520
25521         * accessibility/AccessibilityARIAGrid.cpp:
25522         (WebCore::AccessibilityARIAGrid::addChildren):
25523            Use isAccessibilityTable() instead of isDataTable().
25524         * accessibility/AccessibilityARIAGridCell.cpp:
25525         (WebCore::AccessibilityARIAGridCell::parentTable): Ditto.
25526         * accessibility/AccessibilityARIAGridRow.cpp:
25527         (WebCore::AccessibilityARIAGridRow::disclosedRows): Ditto.
25528         (WebCore::AccessibilityARIAGridRow::disclosedByRow): Ditto.
25529         (WebCore::AccessibilityARIAGridRow::parentTable): Ditto.
25530         * accessibility/AccessibilityTableCell.cpp:
25531         (WebCore::AccessibilityTableCell::isTableCell):
25532            Use isAccessibilityTable() instead of isDataTable().
25533         * accessibility/AccessibilityTableHeaderContainer.cpp:
25534         (WebCore::AccessibilityTableHeaderContainer::addChildren): Ditto.
25535         * accessibility/AccessibilityTableRow.cpp:
25536         (WebCore::AccessibilityTableRow::isTableRow): Ditto
25537         * accessibility/mac/AccessibilityObjectWrapper.mm:
25538         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
25539            Use isAccessibilityTable() instead of isDataTable().
25540         (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
25541         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
25542         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): Ditto.
25543         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): Ditto.
25544         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Ditto.
25545
25546         Use the new function isAccessibilityTable() together with the
25547         modified implementation of isDataTable() to set the 'layout-guess'
25548         attribute when needed.
25549
25550         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
25551         (webkit_accessible_get_attributes):
25552            Set the 'layout-guess' attribute to 'true' to help Assistive
25553            Technologies guessing which tables are not data tables.
25554
25555 2010-10-26  Chris Marrin  <cmarrin@apple.com>
25556
25557         Reviewed by Simon Fraser.
25558
25559         Resuming animations causes webkitAnimationStart events to be fired
25560         https://bugs.webkit.org/show_bug.cgi?id=46540
25561
25562         Added a flag that makes sure start animation event is only ever
25563         fired once. 
25564
25565         Test: animations/suspend-resume-animation-events.html
25566
25567         * page/animation/KeyframeAnimation.cpp:
25568         (WebCore::KeyframeAnimation::KeyframeAnimation):
25569         (WebCore::KeyframeAnimation::sendAnimationEvent):
25570         * page/animation/KeyframeAnimation.h:
25571
25572 2010-10-26  Abhishek Arya  <inferno@chromium.org>
25573
25574         Reviewed by Dimitri Glazkov.
25575
25576         Added checks to ensure that events types are right before casting. 
25577         https://bugs.webkit.org/show_bug.cgi?id=48345
25578
25579         * html/ImageDocument.cpp:
25580         (WebCore::ImageEventListener::handleEvent):
25581         * inspector/InspectorDOMStorageResource.cpp:
25582         (WebCore::InspectorDOMStorageResource::handleEvent):
25583
25584 2010-10-26  Dai Mikurube  <dmikurube@google.com>
25585
25586         Reviewed by Kent Tamura.
25587
25588         Number values for form controls should be in the range of IEEE 754
25589         single-precision floating point number
25590         https://bugs.webkit.org/show_bug.cgi?id=48221
25591
25592         Changed the range of number values to fit in IEEE 754 single-precision
25593
25594         * html/parser/HTMLParserIdioms.cpp:
25595         (WebCore::parseToDoubleForNumberType):
25596         * html/NumberInputType.cpp:
25597
25598 2010-10-26  David Hyatt  <hyatt@apple.com>
25599
25600         Reviewed by Sam Weinig.
25601
25602         https://bugs.webkit.org/show_bug.cgi?id=48157
25603         
25604         Direction and writing-mode should propagate from the <body> to the <html> to the initial containing block.
25605         Modify the existing code that propagates from the document element to also propagate from the body.
25606         
25607         Fix the buggy code that was trying to dirty the body when the view changed size if it stretched to fill the
25608         viewport.  The code didn't consider the root element, and it only worked with one axis.  I pulled it
25609         out of calculateScrollbarModesForLayout, since it should never have been put there in the first place.
25610         
25611         Added four new tests in fast/blockflow.
25612
25613         * css/CSSStyleSelector.cpp:
25614         (WebCore::CSSStyleSelector::initElement):
25615         (WebCore::CSSStyleSelector::styleForDocument):
25616         (WebCore::CSSStyleSelector::applyProperty):
25617         * dom/Document.cpp:
25618         (WebCore::Document::Document):
25619         * dom/Document.h:
25620         (WebCore::Document::directionSetOnDocumentElement):
25621         (WebCore::Document::writingModeSetOnDocumentElement):
25622         (WebCore::Document::setDirectionSetOnDocumentElement):
25623         (WebCore::Document::setWritingModeSetOnDocumentElement):
25624         * page/FrameView.cpp:
25625         (WebCore::FrameView::calculateScrollbarModesForLayout):
25626         (WebCore::FrameView::layout):
25627         * rendering/RenderBox.cpp:
25628         (WebCore::RenderBox::styleDidChange):
25629         * rendering/RenderBox.h:
25630         (WebCore::RenderBox::stretchesToViewport):
25631
25632 2010-10-26  Joseph Pecoraro  <joepeck@webkit.org>
25633
25634         Reviewed by David Kilzer.
25635
25636         Fix Cache::dumpStats formatting
25637         https://bugs.webkit.org/show_bug.cgi?id=48286
25638
25639         This updates the column width in the dumpStats output to be wide enough
25640         for all the titles. Previously one of the titles was too wide and crept
25641         into later column space.
25642
25643         * loader/Cache.cpp:
25644         (WebCore::Cache::dumpStats): make columns 13 characters wide.
25645
25646 2010-10-26  Alexey Marinichev  <amarinichev@chromium.org>
25647
25648         Reviewed by Kenneth Russell.
25649
25650         [chromium] Check getGraphicsResetStatusARB and reinitialize the
25651         renderer in an error is returned.
25652         https://bugs.webkit.org/show_bug.cgi?id=47848
25653
25654         Tested by failure injection (stopping in the debugger and issuing a
25655         jump as if an error has occurred).
25656
25657         * platform/graphics/chromium/LayerChromium.cpp:
25658         (WebCore::LayerChromium::setLayerRenderer):
25659         * platform/graphics/chromium/LayerRendererChromium.h:
25660         (WebCore::LayerRendererChromium::transferRootLayer): added
25661
25662 2010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25663
25664         Not reviewed. Touching inspector controller to kick gtk build, removing comments.
25665
25666         * inspector/InspectorController.cpp:
25667         * inspector/front-end/ResourceManager.js:
25668         * inspector/front-end/ScriptsPanel.js:
25669
25670 2010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25671
25672         Web Inspector: continue making resources panel optional.
25673         https://bugs.webkit.org/show_bug.cgi?id=48261
25674
25675         This refactoring makes console, audits and extensions tests pass while taking data from
25676         resources panel. Network panel as a source is to follow.
25677
25678         * inspector/front-end/AuditLauncherView.js:
25679         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
25680         * inspector/front-end/AuditsPanel.js:
25681         * inspector/front-end/ConsoleView.js:
25682         (WebInspector.ConsoleView.prototype.addMessage):
25683         * inspector/front-end/CookieItemsView.js:
25684         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
25685         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
25686         * inspector/front-end/ExtensionServer.js:
25687         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
25688         (WebInspector.ExtensionServer.prototype._onGetResources):
25689         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
25690         * inspector/front-end/HAREntry.js:
25691         (WebInspector.HARLog.prototype.build):
25692         (WebInspector.HARLog.prototype.buildMainResourceTimings):
25693         (WebInspector.HARLog.prototype._convertResource):
25694         * inspector/front-end/NetworkPanel.js:
25695         (WebInspector.NetworkPanel):
25696         (WebInspector.NetworkPanel.prototype._reset):
25697         (WebInspector.NetworkPanel.prototype.get resources):
25698         (WebInspector.NetworkPanel.prototype.addResource):
25699         * inspector/front-end/Resource.js:
25700         (WebInspector.Resource.prototype.set category):
25701         * inspector/front-end/ResourceCategory.js:
25702         (WebInspector.ResourceCategory):
25703         (WebInspector.ResourceCategory.prototype.toString):
25704         * inspector/front-end/ResourceManager.js:
25705         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
25706         (WebInspector.ResourceManager.prototype.willSendRequest):
25707         (WebInspector.ResourceManager.prototype.didFinishLoading):
25708         (WebInspector.ResourceManager.prototype.didFailLoading):
25709         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
25710         (WebInspector.ResourceManager.prototype.setOverrideContent):
25711         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
25712         * inspector/front-end/ResourcesPanel.js:
25713         (WebInspector.ResourcesPanel):
25714         (WebInspector.ResourcesPanel.prototype.reset):
25715         (WebInspector.ResourcesPanel.prototype.addResource):
25716         (WebInspector.ResourcesPanel.prototype.removeResource):
25717         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
25718         * inspector/front-end/ScriptsPanel.js:
25719         (WebInspector.ScriptsPanel.prototype.addScript):
25720         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
25721         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
25722         * inspector/front-end/StylesSidebarPane.js:
25723         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
25724         * inspector/front-end/inspector.js:
25725         (WebInspector._updateFocusedNode):
25726         (WebInspector.get networkResources):
25727         (WebInspector.forAllResources):
25728         (WebInspector.resourceForURL):
25729         (WebInspector.updateResource):
25730         (WebInspector.domContentEventFired):
25731         (WebInspector.loadEventFired):
25732         (WebInspector.removeResource):
25733         (WebInspector.reset):
25734         (WebInspector.displayNameForURL):
25735         (WebInspector.linkifyStringAsFragment):
25736         (WebInspector.resourceURLForRelatedNode.callback):
25737         (WebInspector.resourceURLForRelatedNode):
25738
25739 2010-10-26  Jeremy Orlow  <jorlow@chromium.org>
25740
25741         Reviewed by Steve Block.
25742         Fix IndexedDB crashes
25743         https://bugs.webkit.org/show_bug.cgi?id=48266
25744
25745         If IDBKey returns null, type conversion failed. Handle this case
25746         in the bindings.
25747
25748         Change UNKNOWN_ERR to be 1 since 0 is hard coded to mean no error.
25749         This is just a stop-gap move until we get it figured out in standards
25750         land.
25751
25752         IDBObjectStore needs to handle null ranges.
25753
25754         It's actually OK for m_transaction to be non-null when hitting the
25755         destructor. We just need to then remove it from the set of pending
25756         transactions.
25757
25758         The transaction can become aborted in the middle of processing a
25759         list of tasks. Fix this.
25760
25761         All changes (except the last 2 races) are tested in LayoutTests.
25762         I couldn't find a way to reliably reproduce the races.
25763
25764         * bindings/scripts/CodeGeneratorV8.pm:
25765         * bindings/scripts/test/V8/V8TestObj.cpp:
25766         (WebCore::TestObjInternal::idbKeyCallback):
25767         * bindings/v8/IDBBindingUtilities.cpp:
25768         (WebCore::createIDBKeyFromValue):
25769         * storage/IDBDatabaseException.h:
25770         * storage/IDBDatabaseException.idl:
25771         * storage/IDBObjectStoreBackendImpl.cpp:
25772         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
25773         * storage/IDBRequest.cpp:
25774         (WebCore::IDBRequest::~IDBRequest):
25775         (WebCore::IDBRequest::timerFired):
25776         * storage/IDBTransactionBackendImpl.cpp:
25777         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
25778
25779 2010-10-25  Andrey Kosyakov  <caseq@chromium.org>
25780
25781         Reviewed by Pavel Feldman.
25782
25783         Web Inspector: Show cookie data in the request headers in network pane
25784         https://bugs.webkit.org/show_bug.cgi?id=16531
25785
25786         * inspector/front-end/CookieItemsView.js:
25787         (WebInspector.CookieItemsView): Factor out common cookies grid logic to CookiesTable
25788         (WebInspector.CookieItemsView.prototype._populateDataGrid):
25789         * inspector/front-end/CookieParser.js: Store cookie type (request/response) within a cookie.
25790         (WebInspector.CookieParser.prototype.parseCookie):
25791         (WebInspector.CookieParser.prototype.parseSetCookie):
25792         (WebInspector.CookieParser.prototype._addCookie):
25793         (WebInspector.Cookie):
25794         * inspector/front-end/DataGrid.js:
25795         (WebInspector.DataGrid.prototype.autoSizeColumns): Optionally, traverse nested nodes when looking for max field widths.
25796         (WebInspector.DataGrid.prototype._enumerateChildren):
25797         (WebInspector.DataGrid.prototype.updateWidths): Skip attempt to calculate column widths if grid is not attached to DOM tree yet.
25798         * inspector/front-end/FontView.js:
25799         (WebInspector.FontView.prototype.resize):
25800         * inspector/front-end/ResourceView.js:
25801         (WebInspector.ResourceView.prototype.resize):
25802         (WebInspector.ResourceView.prototype._selectTab):
25803         (WebInspector.ResourceView.prototype._selectCookiesTab):
25804         (WebInspector.ResourceView.prototype._innerSelectContentTab):
25805         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
25806         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
25807         (WebInspector.ResourceView.prototype._refreshHeaders):
25808         (WebInspector.ResourceView.prototype._refreshCookies):
25809         (WebInspector.ResourceCookiesTab):
25810         (WebInspector.ResourceCookiesTab.prototype.set requestCookies):
25811         (WebInspector.ResourceCookiesTab.prototype.set responseCookies):
25812         (WebInspector.ResourceCookiesTab.prototype._populateDataGrid):
25813         (WebInspector.ResourceCookiesTab.prototype._populateCookies):
25814         (WebInspector.ResourceCookiesTab.prototype._createFolder):
25815         * inspector/front-end/SourceView.js:
25816         (WebInspector.SourceView.prototype.resize):
25817         * inspector/front-end/inspector.css:
25818         (.resource-view .resource-view-cookies):
25819         (.resource-view.headers-visible .resource-view-cookies):
25820         (.resource-view-cookies.table .data-grid):
25821         (.resource-view-cookies .data-grid .row-group):
25822
25823 2010-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
25824
25825         Unreviewed, rolling out r70518.
25826         http://trac.webkit.org/changeset/70518
25827         https://bugs.webkit.org/show_bug.cgi?id=48332
25828
25829         Breaks inspector tests. (Requested by pfeldman on #webkit).
25830
25831         * inspector/front-end/AuditLauncherView.js:
25832         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
25833         * inspector/front-end/AuditsPanel.js:
25834         * inspector/front-end/ConsoleView.js:
25835         (WebInspector.ConsoleView.prototype.addMessage):
25836         * inspector/front-end/CookieItemsView.js:
25837         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
25838         * inspector/front-end/ExtensionServer.js:
25839         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
25840         (WebInspector.ExtensionServer.prototype._onGetResources):
25841         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
25842         * inspector/front-end/HAREntry.js:
25843         (WebInspector.HARLog.prototype.build):
25844         (WebInspector.HARLog.prototype.buildMainResourceTimings):
25845         (WebInspector.HARLog.prototype._convertResource):
25846         * inspector/front-end/NetworkPanel.js:
25847         (WebInspector.NetworkPanel):
25848         (WebInspector.NetworkPanel.prototype._reset):
25849         (WebInspector.NetworkPanel.prototype.addResource):
25850         * inspector/front-end/Resource.js:
25851         (WebInspector.Resource.prototype.set category):
25852         * inspector/front-end/ResourceCategory.js:
25853         (WebInspector.ResourceCategory):
25854         (WebInspector.ResourceCategory.prototype.toString):
25855         (WebInspector.ResourceCategory.prototype.addResource):
25856         (WebInspector.ResourceCategory.prototype.removeResource):
25857         (WebInspector.ResourceCategory.prototype.removeAllResources):
25858         * inspector/front-end/ResourceManager.js:
25859         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
25860         (WebInspector.ResourceManager.prototype.willSendRequest):
25861         (WebInspector.ResourceManager.prototype.didFinishLoading):
25862         (WebInspector.ResourceManager.prototype.didFailLoading):
25863         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
25864         (WebInspector.ResourceManager.prototype.setOverrideContent):
25865         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
25866         * inspector/front-end/ResourcesPanel.js:
25867         (WebInspector.ResourcesPanel):
25868         (WebInspector.ResourcesPanel.prototype.reset):
25869         (WebInspector.ResourcesPanel.prototype.addResource):
25870         (WebInspector.ResourcesPanel.prototype.removeResource):
25871         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
25872         * inspector/front-end/ScriptsPanel.js:
25873         (WebInspector.ScriptsPanel.prototype.addScript):
25874         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
25875         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
25876         * inspector/front-end/StylesSidebarPane.js:
25877         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
25878         * inspector/front-end/inspector.js:
25879         (WebInspector._updateFocusedNode):
25880         (WebInspector.updateResource):
25881         (WebInspector.domContentEventFired):
25882         (WebInspector.loadEventFired):
25883         (WebInspector.removeResource):
25884         (WebInspector.reset):
25885         (WebInspector.displayNameForURL):
25886         (WebInspector.resourceForURL):
25887         (WebInspector.linkifyStringAsFragment):
25888         (WebInspector.resourceURLForRelatedNode):
25889
25890 2010-10-26  Jeremy Orlow  <jorlow@chromium.org>
25891
25892         Reviewed by Steve Block.
25893
25894         Quota for IndexedDB should be per origin not per database
25895         https://bugs.webkit.org/show_bug.cgi?id=48064
25896
25897         Merge all databases for each origin into a single SQLiteDatabase.
25898
25899         Replace the awkward metaData table with a Database table.
25900
25901         Create a new IDBSQLiteDatabase class that wraps SQLiteDatabase
25902         and implements weak pointer semantics for IDBFactory. It's ref
25903         counted so multiple IDBDatabaseBackendImpls can share one.
25904
25905         Fix uniqueness constraints that were overly conservitive.
25906
25907         Get rid of the code that blows away existing data every time
25908         the database is opened.
25909
25910         Get rid of the fairly useless indexedDB manual test and replace
25911         it with one that verifies data persists.
25912
25913         Use name+origin (not just name) in our cache of IDBDatabaseBackend
25914         objects (so one origin can't access anothers' data).
25915
25916         Test: storage/indexeddb/duplicates.html
25917
25918         * WebCore.gypi:
25919         * manual-tests/indexed-database.html: Removed.
25920         * manual-tests/indexeddb-persists.html: Added.
25921         * storage/IDBDatabaseBackendImpl.cpp:
25922         (WebCore::extractMetaData):
25923         (WebCore::setMetaData):
25924         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
25925         (WebCore::IDBDatabaseBackendImpl::setDescription):
25926         (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
25927         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
25928         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
25929         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
25930         * storage/IDBDatabaseBackendImpl.h:
25931         (WebCore::IDBDatabaseBackendImpl::create):
25932         (WebCore::IDBDatabaseBackendImpl::id):
25933         * storage/IDBFactoryBackendImpl.cpp:
25934         (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
25935         (WebCore::openSQLiteDatabase):
25936         (WebCore::createTables):
25937         (WebCore::IDBFactoryBackendImpl::open):
25938         (WebCore::IDBFactoryBackendImpl::databaseFileName):
25939         * storage/IDBFactoryBackendImpl.h:
25940         * storage/IDBObjectStoreBackendImpl.cpp:
25941         (WebCore::putObjectStoreData):
25942         (WebCore::IDBObjectStoreBackendImpl::putInternal):
25943         * storage/IDBSQLiteDatabase.cpp: Added.
25944         (WebCore::IDBSQLiteDatabase::IDBSQLiteDatabase):
25945         (WebCore::IDBSQLiteDatabase::~IDBSQLiteDatabase):
25946         * storage/IDBSQLiteDatabase.h: Added.
25947         (WebCore::IDBSQLiteDatabase::create):
25948         (WebCore::IDBSQLiteDatabase::db):
25949
25950 2010-10-20  Andrey Kosyakov  <caseq@chromium.org>
25951
25952         Reviewed by Yury Semikhatsky.
25953
25954         Inspector needs to use cached resources to display image resources.
25955         https://bugs.webkit.org/show_bug.cgi?id=16395
25956
25957         * inspector/Inspector.idl: Add base64Encode parameter to getContent
25958         * inspector/InspectorResourceAgent.cpp:
25959         (WebCore::InspectorResourceAgent::resourceContent):
25960         * inspector/InspectorResourceAgent.h:
25961         * inspector/front-end/ExtensionServer.js:
25962         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
25963         * inspector/front-end/ImageView.js:
25964         (WebInspector.ImageView.prototype.contentTabSelected.onResourceContent):
25965         (WebInspector.ImageView.prototype.contentTabSelected):
25966         * inspector/front-end/NetworkPanel.js:
25967         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell.):
25968         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
25969         * inspector/front-end/Resource.js:
25970         (WebInspector.Resource):
25971         (WebInspector.Resource.prototype.set finished):
25972         (WebInspector.Resource.prototype.getContent):
25973         (WebInspector.Resource.prototype.get contentURL):
25974         (WebInspector.Resource.prototype._requestContent.onResourceContent):
25975         (WebInspector.Resource.prototype._requestContent):
25976         * inspector/front-end/ResourcesPanel.js:
25977         (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement.):
25978         (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement):
25979         * inspector/front-end/Settings.js: Added useDataURLForResourceImageIcons
25980         * inspector/front-end/SourceView.js:
25981         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
25982
25983 2010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25984
25985         Reviewed by Timothy Hatcher.
25986
25987         Web Inspector: continue making resources panel optional.
25988         https://bugs.webkit.org/show_bug.cgi?id=48261
25989
25990         This refactoring makes console, audits and extensions tests pass while taking data from
25991         resources panel. Network panel as a source is to follow.
25992
25993         * inspector/InspectorController.cpp:
25994         (WebCore::InspectorController::connectFrontend):
25995         * inspector/front-end/AuditLauncherView.js:
25996         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
25997         * inspector/front-end/AuditsPanel.js:
25998         * inspector/front-end/ConsoleView.js:
25999         (WebInspector.ConsoleView.prototype.addMessage):
26000         * inspector/front-end/CookieItemsView.js:
26001         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
26002         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
26003         * inspector/front-end/ExtensionServer.js:
26004         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
26005         (WebInspector.ExtensionServer.prototype._onGetResources):
26006         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
26007         * inspector/front-end/HAREntry.js:
26008         (WebInspector.HARLog.prototype.build):
26009         (WebInspector.HARLog.prototype.buildMainResourceTimings):
26010         (WebInspector.HARLog.prototype._convertResource):
26011         * inspector/front-end/NetworkPanel.js:
26012         (WebInspector.NetworkPanel):
26013         (WebInspector.NetworkPanel.prototype._reset):
26014         (WebInspector.NetworkPanel.prototype.get resources):
26015         (WebInspector.NetworkPanel.prototype.addResource):
26016         * inspector/front-end/Resource.js:
26017         (WebInspector.Resource.prototype.set category):
26018         * inspector/front-end/ResourceCategory.js:
26019         (WebInspector.ResourceCategory):
26020         (WebInspector.ResourceCategory.prototype.toString):
26021         * inspector/front-end/ResourceManager.js:
26022         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
26023         (WebInspector.ResourceManager.prototype.willSendRequest):
26024         (WebInspector.ResourceManager.prototype.didFinishLoading):
26025         (WebInspector.ResourceManager.prototype.didFailLoading):
26026         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
26027         (WebInspector.ResourceManager.prototype.setOverrideContent):
26028         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
26029         * inspector/front-end/ResourcesPanel.js:
26030         (WebInspector.ResourcesPanel):
26031         (WebInspector.ResourcesPanel.prototype.reset):
26032         (WebInspector.ResourcesPanel.prototype.addResource):
26033         (WebInspector.ResourcesPanel.prototype.removeResource):
26034         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
26035         * inspector/front-end/ScriptsPanel.js:
26036         (WebInspector.ScriptsPanel.prototype.addScript):
26037         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
26038         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
26039         * inspector/front-end/Settings.js:
26040         * inspector/front-end/StylesSidebarPane.js:
26041         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
26042         * inspector/front-end/inspector.js:
26043         (WebInspector._updateFocusedNode):
26044         (WebInspector.get networkResources):
26045         (WebInspector.forAllResources):
26046         (WebInspector.resourceForURL):
26047         (WebInspector.updateResource):
26048         (WebInspector.domContentEventFired):
26049         (WebInspector.loadEventFired):
26050         (WebInspector.removeResource):
26051         (WebInspector.reset):
26052         (WebInspector.displayNameForURL):
26053         (WebInspector.linkifyStringAsFragment):
26054         (WebInspector.resourceURLForRelatedNode.callback):
26055         (WebInspector.resourceURLForRelatedNode):
26056
26057 2010-10-26  Abhishek Arya  <inferno@chromium.org>
26058
26059         Reviewed by Adam Barth.
26060
26061         Protect the frame from being blown away in loadWithDocumentLoader function call.
26062         dispatchBeforeLoadEvent can cause the frame to be freed, which gets later used in
26063         continueLoadAfterNavigationPolicy call.
26064         https://bugs.webkit.org/show_bug.cgi?id=48281
26065
26066         Test: fast/events/form-iframe-target-before-load-crash.html
26067
26068         * loader/FrameLoader.cpp:
26069         (WebCore::FrameLoader::loadWithDocumentLoader):
26070
26071 2010-10-26  Xan Lopez  <xlopez@igalia.com>
26072
26073         Restore another mix-up in copy&paste error. Use height for the
26074         vertical adjustments instead of width.
26075
26076         * platform/gtk/ScrollViewGtk.cpp:
26077         (WebCore::ScrollView::setVerticalAdjustment):
26078
26079 2010-10-26  Xan Lopez  <xlopez@igalia.com>
26080
26081         Restore early return accidentally removed in previous
26082         patch. Should make API tests pass again.
26083
26084         * platform/gtk/ScrollViewGtk.cpp:
26085         (WebCore::ScrollView::setHorizontalAdjustment):
26086         (WebCore::ScrollView::setVerticalAdjustment):
26087
26088 2010-10-26  Xan Lopez  <xlopez@igalia.com>
26089
26090         Reviewed by Martin Robinson.
26091
26092         [GTK] Port to new GtkScrollable interface in GTK+ 3.x
26093         https://bugs.webkit.org/show_bug.cgi?id=48202
26094
26095         The new GtkScrollable API sets the adjustments individually, so
26096         adjust the code for this fact.
26097
26098         * platform/ScrollView.h:
26099         * platform/gtk/ScrollViewGtk.cpp:
26100         (WebCore::ScrollView::setHorizontalAdjustment): new method to set the horizontal adjustment.
26101         (WebCore::ScrollView::setVerticalAdjustment): new method to set the vertical adjustment.
26102         (WebCore::ScrollView::setGtkAdjustments): make this just call the other two methods.
26103
26104 2010-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
26105
26106         Unreviewed, rolling out r70512.
26107         http://trac.webkit.org/changeset/70512
26108         https://bugs.webkit.org/show_bug.cgi?id=48314
26109
26110         crashes many tests (Requested by inferno-sec on #webkit).
26111
26112         * dom/Element.cpp:
26113         * dom/Element.h:
26114         * editing/Editor.cpp:
26115         (WebCore::markMisspellingsOrBadGrammar):
26116         (WebCore::Editor::spellCheckingEnabledInFocusedNode):
26117         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
26118         * editing/Editor.h:
26119         * platform/ContextMenu.cpp:
26120         (WebCore::ContextMenu::populate):
26121
26122 2010-10-24  MORITA Hajime  <morrita@google.com>
26123
26124         Reviewed by Tony Chang.
26125
26126         spellcheck='' should be the same as spellcheck="true"
26127         https://bugs.webkit.org/show_bug.cgi?id=25539
26128
26129         - Added a check for empty string and missing attribute.
26130         - Extracted the check to Element::spellCheckingEnabled()
26131         - Introduced SpellcheckAttributeState enum to represent the
26132           states for spellcheck attributes.
26133
26134         * dom/Element.cpp:
26135         (WebCore::Element::spellcheckAttributeState): Added.
26136         (WebCore::Element::isSpellCheckingEnabled): Added.
26137         * dom/Element.h:
26138         * editing/Editor.cpp:
26139         (WebCore::markMisspellingsOrBadGrammar):
26140         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Renamed, partly extracted to Element::isSpellCheckingEnabled()
26141         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
26142         * editing/Editor.h:
26143         * platform/ContextMenu.cpp:
26144         (WebCore::ContextMenu::populate):
26145
26146 2010-10-25  Kent Tamura  <tkent@chromium.org>
26147
26148         Reviewed by Darin Adler.
26149
26150         Refactor HTMLInputElement: Move createRender(), appendFormData(),
26151         saveFormControlState() and restoreFormControlState() to InputTypes.
26152         https://bugs.webkit.org/show_bug.cgi?id=47834
26153
26154         This change adds BaseButtonInputType and BaseCheckableInputType. They
26155         are super classes of some concrete InputType classes.
26156
26157         No new tests. Just a code refactoring.
26158
26159         * CMakeLists.txt: Add BaseButtonInputType and BaseCheckableInputType files.
26160         * GNUmakefile.am: ditto.
26161         * WebCore.gypi: ditto.
26162         * WebCore.pro: ditto.
26163         * WebCore.vcproj/WebCore.vcproj: ditto.
26164         * WebCore.xcodeproj/project.pbxproj: ditto.
26165         * html/BaseButtonInputType.cpp: Added.
26166         (WebCore::BaseButtonInputType::appendFormData):
26167         (WebCore::BaseButtonInputType::createRenderer):
26168         * html/BaseButtonInputType.h: Added.
26169         (WebCore::BaseButtonInputType::BaseButtonInputType):
26170         * html/BaseCheckableInputType.cpp: Added.
26171         (WebCore::BaseCheckableInputType::saveFormControlState):
26172         (WebCore::BaseCheckableInputType::restoreFormControlState):
26173         (WebCore::BaseCheckableInputType::appendFormData):
26174         * html/BaseCheckableInputType.h: Added.
26175         (WebCore::BaseCheckableInputType::BaseCheckableInputType):
26176         * html/ButtonInputType.h: Change the super class.
26177         (WebCore::ButtonInputType::ButtonInputType):
26178         * html/CheckboxInputType.h: Change the super class.
26179         (WebCore::CheckboxInputType::CheckboxInputType):
26180         * html/FileInputType.cpp:
26181         (WebCore::FileInputType::appendFormData):
26182         (WebCore::FileInputType::createRenderer):
26183         * html/FileInputType.h: Change the super class.
26184         (WebCore::FileInputType::FileInputType):
26185         * html/HTMLFormControlElement.h:
26186           Make placeholderShouldBeVisible() public for access from TextFieldInputType.
26187         * html/HTMLInputElement.cpp:
26188         (WebCore::HTMLInputElement::saveFormControlState):
26189         (WebCore::HTMLInputElement::restoreFormControlState):
26190         (WebCore::HTMLInputElement::createRenderer):
26191         (WebCore::HTMLInputElement::appendFormData):
26192         * html/HTMLInputElement.h:
26193           Add the following functions for ImageInputType and SubmitInputType.
26194         (WebCore::HTMLInputElement::xPosition):
26195         (WebCore::HTMLInputElement::yPosition):
26196         * html/HiddenInputType.cpp:
26197         (WebCore::HiddenInputType::createRenderer):
26198         * html/HiddenInputType.h:
26199         * html/ImageInputType.cpp:
26200         (WebCore::ImageInputType::isFormDataAppendable):
26201         (WebCore::ImageInputType::appendFormData):
26202         (WebCore::ImageInputType::createRenderer):
26203         * html/ImageInputType.h: Change the super class.
26204         (WebCore::ImageInputType::ImageInputType):
26205         * html/InputType.cpp:
26206         (WebCore::InputType::saveFormControlState):
26207         (WebCore::InputType::restoreFormControlState):
26208         (WebCore::InputType::isFormDataAppendable):
26209         (WebCore::InputType::appendFormData):
26210         (WebCore::InputType::createRenderer):
26211         * html/InputType.h:
26212         * html/PasswordInputType.cpp:
26213         (WebCore::PasswordInputType::saveFormControlState):
26214         (WebCore::PasswordInputType::restoreFormControlState):
26215         * html/PasswordInputType.h:
26216         * html/RadioInputType.h: Change the super class.
26217         (WebCore::RadioInputType::RadioInputType):
26218         * html/RangeInputType.cpp:
26219         (WebCore::RangeInputType::createRenderer):
26220         * html/RangeInputType.h:
26221         * html/ResetInputType.h:
26222         (WebCore::ResetInputType::ResetInputType):
26223         * html/SubmitInputType.cpp:
26224         (WebCore::SubmitInputType::appendFormData):
26225         * html/SubmitInputType.h: Change the super class.
26226         (WebCore::SubmitInputType::SubmitInputType):
26227         * html/TextFieldInputType.cpp:
26228         (WebCore::TextFieldInputType::createRenderer):
26229         * html/TextFieldInputType.h:
26230
26231 2010-10-25  Simon Fraser  <simon.fraser@apple.com>
26232
26233         Reviewed by Dan Bernstein.
26234
26235         Fix scrolling of noncomposited iframes within composited document
26236         https://bugs.webkit.org/show_bug.cgi?id=47391
26237         
26238         When an iframe that is painting into a compositing layer is scrolled,
26239         we need to repaint via the RenderObject (which dirties the compositing layer contents),
26240         rather than going out to hostWindow.
26241
26242         Test: compositing/iframes/composited-iframe-scroll.html
26243
26244         * page/FrameView.cpp:
26245         (WebCore::FrameView::scrollContentsSlowPath):
26246         * page/FrameView.h:
26247         * platform/ScrollView.cpp:
26248         (WebCore::ScrollView::scrollContents):
26249         (WebCore::ScrollView::scrollContentsSlowPath):
26250         * platform/ScrollView.h:
26251
26252 2010-10-25  Ryosuke Niwa  <rniwa@webkit.org>
26253
26254         Unreviewed Qt build fix for r70496.
26255
26256         * bridge/qt/qt_instance.cpp:
26257         (JSC::Bindings::QtInstance::numberValue):
26258         * bridge/qt/qt_pixmapruntime.cpp:
26259         (JSC::Bindings::QtPixmapWidthField::valueFromInstance):
26260         (JSC::Bindings::QtPixmapHeightField::valueFromInstance):
26261         * bridge/qt/qt_runtime.cpp:
26262         (JSC::Bindings::convertValueToQVariant):
26263         (JSC::Bindings::convertQVariantToValue):
26264         (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
26265         (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
26266
26267 2010-10-25  Andy Estes  <aestes@apple.com>
26268
26269         Reviewed by Simon Fraser.
26270
26271         Source change by Simon Fraser.
26272
26273         Setting an element's visibility property to visible has no effect when
26274         it has a hidden parent.
26275         https://bugs.webkit.org/show_bug.cgi?id=48267
26276
26277         Test: fast/layers/visible-layer-with-hidden-parent.html
26278
26279         When a layer is hidden, there is an optimization that removes it from
26280         the layer tree. If the layer is made visible again, it would only mark
26281         its own stacking context's z-order list as dirty. If there are hidden
26282         parent layers, they need to be marked dirty as well so layers with
26283         visible descendents are re-added to the layer tree.
26284
26285         * rendering/RenderLayer.cpp:
26286         (WebCore::RenderLayer::setHasVisibleContent): Dirty the z-order lists of
26287         all parent stacking context render layers up to and including the first
26288         visible stacking context.
26289
26290 2010-10-25  Oliver Hunt  <oliver@apple.com>
26291
26292         Reviewed by Gavin Barraclough.
26293
26294         Remove exec and globalData arguments from jsNumber
26295         https://bugs.webkit.org/show_bug.cgi?id=48270
26296
26297         Mechanical removal of exec parameter to jsNumber.
26298
26299         * bindings/js/JSAudioConstructor.cpp:
26300         (WebCore::JSAudioConstructor::JSAudioConstructor):
26301         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
26302         (WebCore::JSCSSStyleDeclaration::nameGetter):
26303         * bindings/js/JSCoordinatesCustom.cpp:
26304         (WebCore::JSCoordinates::altitude):
26305         (WebCore::JSCoordinates::altitudeAccuracy):
26306         (WebCore::JSCoordinates::heading):
26307         (WebCore::JSCoordinates::speed):
26308         * bindings/js/JSDOMWindowCustom.cpp:
26309         (WebCore::JSDOMWindow::setTimeout):
26310         (WebCore::JSDOMWindow::setInterval):
26311         * bindings/js/JSDeviceMotionEventCustom.cpp:
26312         (WebCore::createAccelerationObject):
26313         (WebCore::createRotationRateObject):
26314         (WebCore::JSDeviceMotionEvent::interval):
26315         * bindings/js/JSDeviceOrientationEventCustom.cpp:
26316         (WebCore::JSDeviceOrientationEvent::alpha):
26317         (WebCore::JSDeviceOrientationEvent::beta):
26318         (WebCore::JSDeviceOrientationEvent::gamma):
26319         * bindings/js/JSGeolocationCustom.cpp:
26320         (WebCore::JSGeolocation::watchPosition):
26321         * bindings/js/JSHTMLInputElementCustom.cpp:
26322         (WebCore::JSHTMLInputElement::selectionStart):
26323         (WebCore::JSHTMLInputElement::selectionEnd):
26324         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
26325         (WebCore::JSHTMLOptionsCollection::length):
26326         * bindings/js/JSIDBKeyCustom.cpp:
26327         (WebCore::toJS):
26328         * bindings/js/JSInjectedScriptHostCustom.cpp:
26329         (WebCore::InjectedScriptHost::createInjectedScript):
26330         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
26331         * bindings/js/JSOptionConstructor.cpp:
26332         (WebCore::JSOptionConstructor::JSOptionConstructor):
26333         * bindings/js/JSSQLResultSetRowListCustom.cpp:
26334         (WebCore::JSSQLResultSetRowList::item):
26335         * bindings/js/JSSVGLengthCustom.cpp:
26336         (WebCore::JSSVGLength::value):
26337         * bindings/js/JSScriptProfileNodeCustom.cpp:
26338         (WebCore::JSScriptProfileNode::callUID):
26339         * bindings/js/JSWebGLRenderingContextCustom.cpp:
26340         (WebCore::toJS):
26341         * bindings/js/JSWorkerContextCustom.cpp:
26342         (WebCore::JSWorkerContext::setTimeout):
26343         (WebCore::JSWorkerContext::setInterval):
26344         * bindings/js/JSWorkerContextErrorHandler.cpp:
26345         (WebCore::JSWorkerContextErrorHandler::handleEvent):
26346         * bindings/js/ScriptFunctionCall.cpp:
26347         (WebCore::ScriptCallArgumentHandler::appendArgument):
26348         * bindings/js/SerializedScriptValue.cpp:
26349         (WebCore::CloneDeserializer::readTerminal):
26350         * bindings/scripts/CodeGeneratorJS.pm:
26351         * bridge/c/c_instance.cpp:
26352         (JSC::Bindings::CInstance::numberValue):
26353         * bridge/c/c_utility.cpp:
26354         (JSC::Bindings::convertNPVariantToValue):
26355         * bridge/jni/jsc/JNIBridgeJSC.cpp:
26356         (JavaField::valueFromInstance):
26357         (JavaArray::valueAt):
26358         * bridge/jni/jsc/JavaInstanceJSC.cpp:
26359         (JavaInstance::numberValue):
26360         (JavaInstance::invokeMethod):
26361         * bridge/objc/objc_instance.mm:
26362         (ObjcInstance::numberValue):
26363         * bridge/objc/objc_utility.mm:
26364         (JSC::Bindings::convertObjcValueToValue):
26365         * bridge/runtime_array.cpp:
26366         (JSC::RuntimeArray::lengthGetter):
26367         * bridge/runtime_method.cpp:
26368         (JSC::RuntimeMethod::lengthGetter):
26369
26370 2010-10-21  Satish Sampath  <satish@chromium.org>
26371
26372         Reviewed by Jeremy Orlow.
26373
26374         Allow embedder to pass on all the speech recognition results to the input element.
26375         https://bugs.webkit.org/show_bug.cgi?id=48068
26376
26377         No new tests added as functionality has not changed, tests will be added in the next
26378         patch where these results are exposed as an attribute to scripts.
26379
26380         * Android.mk: Added new source files.
26381         * GNUmakefile.am:
26382         * WebCore.gypi:
26383         * WebCore.pro:
26384         * WebCore.xcodeproj/project.pbxproj:
26385         * page/SpeechInput.cpp:
26386         (WebCore::SpeechInput::setRecognitionResult): Accept an array instead of a single string.
26387         * page/SpeechInput.h:
26388         * page/SpeechInputListener.h:
26389         * page/SpeechInputResult.cpp: Added, defines a class for managing a speech input result.
26390         (WebCore::SpeechInputResult::create):
26391         (WebCore::SpeechInputResult::SpeechInputResult):
26392         (WebCore::SpeechInputResult::confidence):
26393         (WebCore::SpeechInputResult::utterance):
26394         * page/SpeechInputResult.h: Added.
26395         * platform/mock/SpeechInputClientMock.cpp:
26396         (WebCore::SpeechInputClientMock::timerFired):
26397         * rendering/TextControlInnerElements.cpp:
26398         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
26399         * rendering/TextControlInnerElements.h:
26400
26401 2010-10-25  Jian Li  <jianli@chromium.org>
26402
26403         Reviewed by David Levin.
26404
26405         Support appending an ArrayBuffer object in BlobBuilder
26406         https://bugs.webkit.org/show_bug.cgi?id=47701
26407
26408         Test cases have been added to read-blob-test-cases.js.
26409
26410         * fileapi/BlobBuilder.cpp:
26411         (WebCore::BlobBuilder::getBuffer):
26412         (WebCore::BlobBuilder::append): Removed bool return values since they
26413         weren't used.
26414         * fileapi/BlobBuilder.h:
26415         * fileapi/BlobBuilder.idl:
26416
26417 2010-10-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
26418
26419         Reviewed by Kenneth Rohde Christiansen.
26420
26421         [Texmap] [Qt] Texture mapper initial implementation
26422         https://bugs.webkit.org/show_bug.cgi?id=47070
26423
26424         Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
26425         a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
26426         the compositor and by the page client.
26427         Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
26428
26429         No new tests: the existing tests under LayoutTests/compositing already cover this.
26430
26431         * platform/graphics/GraphicsLayer.h:
26432         * platform/qt/QWebPageClient.h:
26433         (QWebPageClient::setRootGraphicsLayer):
26434
26435 2010-10-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
26436
26437         Reviewed by Kenneth Rohde Christiansen.
26438
26439         [Texmap] [Qt] Texture mapper initial implementation
26440         https://bugs.webkit.org/show_bug.cgi?id=47070
26441
26442         Add a config flag and a define (WTF_USE_TEXTURE_MAPPER) to WebCore, to enable opt-in compilation of texture-mapper with Qt.
26443
26444         No new tests: WIP for a new implementation.
26445
26446         * WebCore.pro:
26447
26448 2010-10-25  Jian Li  <jianli@chromium.org>
26449
26450         Reviewed by David Levin.
26451
26452         Calling FileReader.abort during reading could cause crash
26453         https://bugs.webkit.org/show_bug.cgi?id=48163
26454
26455         Test: fast/files/file-reader-abort.html
26456
26457         * fileapi/FileReader.cpp:
26458         (WebCore::delayedAbort):
26459         (WebCore::FileReader::abort): Schedule to do the abort later to work
26460         around the case that abort() could be called from event handler.
26461         (WebCore::FileReader::doAbort):
26462         (WebCore::FileReader::didFail): Do not go with normal error handling
26463         when we are in the process of aborting.
26464         (WebCore::FileReader::failed):
26465         (WebCore::FileReader::readyState):
26466         * fileapi/FileReader.h:
26467
26468 2010-10-25  Patrick Gansterer  <paroga@webkit.org>
26469
26470         Reviewed by Adam Roben.
26471
26472         [WINCE] Buildfix for NetworkStateNotifier
26473         https://bugs.webkit.org/show_bug.cgi?id=48240
26474
26475         WinCE does not support RegisterWaitForSingleObject, so disable it for now.
26476
26477         * platform/network/win/NetworkStateNotifierWin.cpp:
26478         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
26479
26480 2010-10-25  David Hyatt  <hyatt@apple.com>
26481
26482         Reviewed by Dan Bernstein.
26483
26484         https://bugs.webkit.org/show_bug.cgi?id=48257
26485
26486         Make "rl" and "bt" writing-modes work for blocks and lines.  InlineTextBox is refactored to compute the correct
26487         top left corner and left baseline edge once so that can be passed down to all the painting functions instead of
26488         tx and ty.
26489         
26490         adjustment helpers have been added that can be called before painting children or lines and that fix up
26491         the coordinates from flipped to physical.
26492         
26493         Added fast/blockflow/english-rl-text.html and fast/blockflow/english-bt-text.html
26494
26495         * rendering/InlineBox.cpp:
26496         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
26497         * rendering/InlineBox.h:
26498         * rendering/InlineFlowBox.cpp:
26499         (WebCore::InlineFlowBox::paintBoxDecorations):
26500         (WebCore::InlineFlowBox::paintMask):
26501         * rendering/InlineTextBox.cpp:
26502         (WebCore::paintTextWithShadows):
26503         (WebCore::InlineTextBox::paint):
26504         (WebCore::InlineTextBox::paintSelection):
26505         (WebCore::InlineTextBox::paintCompositionBackground):
26506         (WebCore::InlineTextBox::paintDecoration):
26507         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
26508         (WebCore::InlineTextBox::paintTextMatchMarker):
26509         (WebCore::InlineTextBox::computeRectForReplacementMarker):
26510         (WebCore::InlineTextBox::paintDocumentMarkers):
26511         (WebCore::InlineTextBox::paintCompositionUnderline):
26512         * rendering/InlineTextBox.h:
26513         * rendering/RenderBlock.cpp:
26514         (WebCore::RenderBlock::paintChildren):
26515         (WebCore::RenderBlock::paintFloats):
26516         * rendering/RenderBox.cpp:
26517         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
26518         * rendering/RenderBox.h:
26519         * rendering/style/RenderStyle.h:
26520         (WebCore::InheritedFlags::isFlippedBlocksWritingMode):
26521
26522 2010-10-25  Ben Murdoch  <benm@google.com>
26523
26524         Reviewed by Steve Block.
26525
26526         Build break with ENABLE(BLOB) and not ENABLE(3D_CANVAS)
26527         https://bugs.webkit.org/show_bug.cgi?id=48243
26528
26529         Build fix only so no new tests.
26530
26531         * bindings/generic/RuntimeEnabledFeatures.h: Guard appropriately.
26532         * bindings/v8/custom/V8ArrayBufferViewCustom.h: ditto.
26533
26534 2010-10-25  Cris Neckar  <cdn@chromium.org>
26535
26536         Reviewed by Dimitri Glazkov.
26537
26538         Added check to ensure that events with the type "mousedown" are mouse events before dispatching.
26539         https://bugs.webkit.org/show_bug.cgi?id=48159
26540
26541         Test: fast/events/keyboardevent-mousedown-crash.html
26542
26543         * dom/Node.cpp:
26544         (WebCore::Node::defaultEventHandler):
26545
26546 2010-10-25  Kwang Yul Seo  <skyul@company100.net>
26547
26548         Unreviewed build fix for r70400.
26549
26550         Add dummy setCookieStoragePrivateBrowsingEnabled.
26551
26552         * platform/brew/TemporaryLinkStubs.cpp: Added.
26553         (WebCore::setCookieStoragePrivateBrowsingEnabled):
26554
26555 2010-10-25  Patrick Gansterer  <paroga@webkit.org>
26556
26557         Reviewed by Adam Roben.
26558
26559         [WINCE] Use default implementation of AXObjectCache::platformGenerateAXID
26560         https://bugs.webkit.org/show_bug.cgi?id=48239
26561
26562         WinCE does not support NotifyWinEvent, so use the default implementation.
26563
26564         * accessibility/AXObjectCache.cpp:
26565
26566 2010-10-25  Sam Weinig  <sam@webkit.org>
26567
26568         Reviewed by Anders Carlsson.
26569
26570         Need WebKit2 API to figure out if a frame can provide source
26571         <rdar://problem/8424632>
26572         https://bugs.webkit.org/show_bug.cgi?id=48252
26573
26574         * WebCore.exp.in:
26575
26576 2010-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
26577
26578         Unreviewed, rolling out r70451.
26579         http://trac.webkit.org/changeset/70451
26580         https://bugs.webkit.org/show_bug.cgi?id=48249
26581
26582         Broke set-unloaded-frame-location.html under Qt (Requested by
26583         caseq on #webkit).
26584
26585         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
26586         * bindings/js/ScriptSourceCode.h:
26587         (WebCore::ScriptSourceCode::ScriptSourceCode):
26588         * bindings/v8/ScheduledAction.cpp:
26589         (WebCore::ScheduledAction::ScheduledAction):
26590         * bindings/v8/ScriptController.cpp:
26591         (WebCore::ScriptController::eventHandlerLineNumber):
26592         (WebCore::ScriptController::eventHandlerColumnNumber):
26593         * bindings/v8/ScriptController.h:
26594         * bindings/v8/ScriptEventListener.cpp:
26595         (WebCore::createAttributeEventListener):
26596         * bindings/v8/ScriptSourceCode.h:
26597         (WebCore::ScriptSourceCode::ScriptSourceCode):
26598         (WebCore::ScriptSourceCode::startLine):
26599         * bindings/v8/V8LazyEventListener.cpp:
26600         (WebCore::V8LazyEventListener::V8LazyEventListener):
26601         (WebCore::V8LazyEventListener::prepareListenerObject):
26602         * bindings/v8/V8LazyEventListener.h:
26603         (WebCore::V8LazyEventListener::create):
26604         * bindings/v8/V8Proxy.cpp:
26605         (WebCore::V8Proxy::compileScript):
26606         (WebCore::V8Proxy::evaluate):
26607         (WebCore::V8Proxy::runScript):
26608         * bindings/v8/V8Proxy.h:
26609         * bindings/v8/WorkerContextExecutionProxy.cpp:
26610         (WebCore::WorkerContextExecutionProxy::evaluate):
26611         (WebCore::WorkerContextExecutionProxy::runScript):
26612         * bindings/v8/WorkerContextExecutionProxy.h:
26613         * bindings/v8/WorkerScriptController.cpp:
26614         (WebCore::WorkerScriptController::evaluate):
26615         * dom/PendingScript.cpp:
26616         (WebCore::PendingScript::releaseElementAndClear):
26617         * dom/PendingScript.h:
26618         (WebCore::PendingScript::PendingScript):
26619         (WebCore::PendingScript::operator=):
26620         (WebCore::PendingScript::startingLineNumber):
26621         * dom/ScriptableDocumentParser.h:
26622         * dom/XMLDocumentParser.h:
26623         * dom/XMLDocumentParserLibxml2.cpp:
26624         (WebCore::XMLDocumentParser::XMLDocumentParser):
26625         (WebCore::XMLDocumentParser::startElementNs):
26626         (WebCore::XMLDocumentParser::endElementNs):
26627         (WebCore::XMLDocumentParser::lineNumber):
26628         (WebCore::XMLDocumentParser::columnNumber):
26629         * dom/XMLDocumentParserQt.cpp:
26630         (WebCore::XMLDocumentParser::XMLDocumentParser):
26631         (WebCore::XMLDocumentParser::parseStartElement):
26632         (WebCore::XMLDocumentParser::parseEndElement):
26633         * html/parser/HTMLDocumentParser.cpp:
26634         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
26635         (WebCore::HTMLDocumentParser::columnNumber):
26636         * html/parser/HTMLDocumentParser.h:
26637         * html/parser/HTMLScriptRunner.cpp:
26638         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
26639         (WebCore::HTMLScriptRunner::execute):
26640         (WebCore::HTMLScriptRunner::runScript):
26641         * html/parser/HTMLScriptRunner.h:
26642         * html/parser/HTMLTreeBuilder.cpp:
26643         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
26644         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
26645         (WebCore::HTMLTreeBuilder::processEndTag):
26646         (WebCore::HTMLTreeBuilder::processScriptStartTag):
26647         * html/parser/HTMLTreeBuilder.h:
26648
26649 2010-10-25  Kwang Yul Seo  <skyul@company100.net>
26650
26651         Unreviewed build fix for r70095.
26652
26653         Provide platformDefaultLanguage().
26654
26655         * platform/brew/LanguageBrew.cpp: Added.
26656         (WebCore::platformDefaultLanguage):
26657         * platform/brew/LocalizedStringsBrew.cpp:
26658
26659 2010-10-25  Patrick Gansterer  <paroga@webkit.org>
26660
26661         Reviewed by David Kilzer.
26662
26663         Replace _countof with WTF_ARRAY_LENGTH
26664         https://bugs.webkit.org/show_bug.cgi?id=48229
26665
26666         * platform/win/FileSystemWin.cpp:
26667         (WebCore::openTemporaryFile):
26668         * platform/wince/FileSystemWinCE.cpp:
26669         (WebCore::openTemporaryFile):
26670         * plugins/win/PluginDatabaseWin.cpp:
26671         (WebCore::addPluginPathsFromRegistry):
26672         (WebCore::addWindowsMediaPlayerPluginDirectory):
26673         (WebCore::addMacromediaPluginDirectories):
26674
26675 2010-10-25  David Hyatt  <hyatt@apple.com>
26676
26677         Reviewed by Sam Weinig.
26678
26679         https://bugs.webkit.org/show_bug.cgi?id=48246
26680
26681         Make selectionRect() on InlineTextBox give the right value for a vertical line.  Selection is still too broken
26682         to test anything though.
26683
26684         * rendering/InlineTextBox.cpp:
26685         (WebCore::InlineTextBox::selectionRect):
26686
26687 2010-10-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
26688
26689         Reviewed by Antonio Gomes.
26690
26691         Typo in the TextureMapperGL
26692         https://bugs.webkit.org/show_bug.cgi?id=48241
26693
26694         Fix the typo.
26695
26696         * platform/graphics/opengl/TextureMapperGL.cpp:
26697         (WebCore::TextureMapperGL::TextureMapperGL):
26698
26699 2010-10-25  Pavel Feldman  <pfeldman@chromium.org>
26700
26701         Reviewed by Timothy Hatcher.
26702
26703         Web Inspector: slowly make old resources panel optional (continued).
26704         https://bugs.webkit.org/show_bug.cgi?id=48207
26705
26706         * inspector/front-end/Resource.js:
26707         (WebInspector.Resource.prototype.set url):
26708         * inspector/front-end/StoragePanel.js:
26709         (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
26710         (WebInspector.StoragePanel.prototype.showResource):
26711         (WebInspector.StoragePanel.prototype.searchMatchFound):
26712         (WebInspector.StoragePanel.prototype._findTreeElementForResource):
26713         (WebInspector.StoragePanel.prototype._findTreeElementForResource.getParent):
26714         (WebInspector.BaseStorageTreeElement.prototype.onattach):
26715         * inspector/front-end/inspector.css:
26716         (.storage.panel .sidebar):
26717         (.storage.panel .sidebar li):
26718         (.storage.panel .sidebar li.parent):
26719         (.storage.panel .sidebar li.selected):
26720         (.storage.panel .sidebar li .selection):
26721         (.storage.panel .sidebar :focus li .selection):
26722         (body.inactive .storage.panel .sidebar li .selection):
26723         (.storage.panel .sidebar .icon):
26724
26725 2010-10-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
26726
26727         Reviewed by Kenneth Rohde Christiansen.
26728
26729         [Texmap] [Qt] Texture mapper initial implementation
26730         This patch adds the OpenGL implementation of TextureMapper. See the other entries from bug 47070 for details.
26731         https://bugs.webkit.org/show_bug.cgi?id=47070
26732
26733         No new tests. Part of a new implementation.
26734
26735         * platform/graphics/opengl/TextureMapperGL.cpp: Added.
26736         * platform/graphics/opengl/TextureMapperGL.h: Added.
26737
26738 2010-10-25  Peter Rybin  <peter.rybin@gmail.com>
26739
26740         Reviewed by Adam Barth.
26741
26742         HTML parser should provide script column position within HTML document to JavaScript engine
26743         https://bugs.webkit.org/show_bug.cgi?id=45271
26744
26745         Replaces line number with TextPosition struct so that script engine
26746         gets script starting line/column.
26747
26748         * ForwardingHeaders/wtf/text/TextPosition.h: Added.
26749         * bindings/js/ScriptSourceCode.h:
26750         (WebCore::ScriptSourceCode::ScriptSourceCode):
26751         * bindings/v8/ScheduledAction.cpp:
26752         (WebCore::ScheduledAction::ScheduledAction):
26753         * bindings/v8/ScriptController.cpp:
26754         (WebCore::ScriptController::eventHandlerPosition):
26755         * bindings/v8/ScriptController.h:
26756         * bindings/v8/ScriptEventListener.cpp:
26757         (WebCore::createAttributeEventListener):
26758         * bindings/v8/ScriptSourceCode.h:
26759         (WebCore::ScriptSourceCode::ScriptSourceCode):
26760         (WebCore::ScriptSourceCode::startLine):
26761         (WebCore::ScriptSourceCode::startPosition):
26762         * bindings/v8/V8LazyEventListener.cpp:
26763         (WebCore::V8LazyEventListener::V8LazyEventListener):
26764         (WebCore::V8LazyEventListener::prepareListenerObject):
26765         * bindings/v8/V8LazyEventListener.h:
26766         (WebCore::V8LazyEventListener::create):
26767         * bindings/v8/V8Proxy.cpp:
26768         (WebCore::V8Proxy::compileScript):
26769         (WebCore::V8Proxy::evaluate):
26770         (WebCore::V8Proxy::runScript):
26771         * bindings/v8/V8Proxy.h:
26772         * bindings/v8/WorkerContextExecutionProxy.cpp:
26773         (WebCore::WorkerContextExecutionProxy::evaluate):
26774         (WebCore::WorkerContextExecutionProxy::runScript):
26775         * bindings/v8/WorkerContextExecutionProxy.h:
26776         * bindings/v8/WorkerScriptController.cpp:
26777         (WebCore::WorkerScriptController::evaluate):
26778         * dom/PendingScript.cpp:
26779         (WebCore::PendingScript::releaseElementAndClear):
26780         * dom/PendingScript.h:
26781         (WebCore::PendingScript::PendingScript):
26782         (WebCore::PendingScript::operator=):
26783         (WebCore::PendingScript::startingPosition):
26784         * dom/ScriptableDocumentParser.h:
26785         * dom/XMLDocumentParser.h:
26786         * dom/XMLDocumentParserLibxml2.cpp:
26787         (WebCore::XMLDocumentParser::XMLDocumentParser):
26788         (WebCore::XMLDocumentParser::startElementNs):
26789         (WebCore::XMLDocumentParser::endElementNs):
26790         (WebCore::XMLDocumentParser::lineNumber):
26791         (WebCore::XMLDocumentParser::columnNumber):
26792         (WebCore::XMLDocumentParser::textPosition):
26793         (WebCore::XMLDocumentParser::textPositionOneBased):
26794         * dom/XMLDocumentParserQt.cpp:
26795         (WebCore::XMLDocumentParser::XMLDocumentParser):
26796         (WebCore::XMLDocumentParser::textPosition):
26797         (WebCore::XMLDocumentParser::parseStartElement):
26798         (WebCore::XMLDocumentParser::parseEndElement):
26799         * html/parser/HTMLDocumentParser.cpp:
26800         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
26801         (WebCore::HTMLDocumentParser::textPosition):
26802         * html/parser/HTMLDocumentParser.h:
26803         * html/parser/HTMLScriptRunner.cpp:
26804         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
26805         (WebCore::HTMLScriptRunner::execute):
26806         (WebCore::HTMLScriptRunner::runScript):
26807         * html/parser/HTMLScriptRunner.h:
26808         * html/parser/HTMLTreeBuilder.cpp:
26809         (WebCore::uninitializedPositionValue1):
26810         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
26811         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
26812         (WebCore::HTMLTreeBuilder::processEndTag):
26813         (WebCore::HTMLTreeBuilder::processScriptStartTag):
26814         * html/parser/HTMLTreeBuilder.h:
26815
26816 2010-10-24  Pavel Feldman  <pfeldman@chromium.org>
26817
26818         Reviewed by Timothy Hatcher.
26819
26820         Web Inspector: slowly make old resources panel optional.
26821         https://bugs.webkit.org/show_bug.cgi?id=48207
26822
26823         * inspector/front-end/AuditsPanel.js:
26824         (WebInspector.AuditsPanel.prototype._reloadResources):
26825         (WebInspector.AuditsPanel.prototype.show):
26826         * inspector/front-end/ExtensionServer.js:
26827         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
26828         * inspector/front-end/ResourcesPanel.js:
26829         * inspector/front-end/ScriptsPanel.js:
26830         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
26831         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
26832         * inspector/front-end/inspector.js:
26833         (WebInspector._createPanels):
26834         (WebInspector.doLoadedDone.populateInspectorState):
26835         (WebInspector.doLoadedDone):
26836         (WebInspector.openResource):
26837         (WebInspector.updateResource):
26838         (WebInspector.domContentEventFired):
26839         (WebInspector.loadEventFired):
26840         (WebInspector.removeResource):
26841         (WebInspector.displayNameForURL):
26842         (WebInspector._choosePanelToShowSourceLine):
26843         (WebInspector.doPerformSearch):
26844
26845 2010-10-24  Pavel Feldman  <pfeldman@chromium.org>
26846
26847         Reviewed by Timothy Hatcher.
26848
26849         Web Inspector: add support for errors, warnings and search to the storage panel.
26850         https://bugs.webkit.org/show_bug.cgi?id=48206
26851
26852         * inspector/front-end/ConsoleView.js:
26853         (WebInspector.ConsoleView.prototype.addMessage):
26854         (WebInspector.ConsoleView.prototype.clearMessages):
26855         * inspector/front-end/Resource.js:
26856         (WebInspector.Resource.prototype.set errors):
26857         (WebInspector.Resource.prototype.set warnings):
26858         (WebInspector.Resource.prototype.get searchMatches):
26859         (WebInspector.Resource.prototype.set searchMatches):
26860         (WebInspector.Resource.prototype.clearErrorsAndWarnings):
26861         * inspector/front-end/ResourceManager.js:
26862         (WebInspector.ResourceManager):
26863         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
26864         (WebInspector.ResourceManager.prototype._createResource):
26865         (WebInspector.ResourceManager.prototype._appendRedirect):
26866         (WebInspector.ResourceManager.prototype.didReceiveResponse):
26867         (WebInspector.ResourceManager.prototype.didFinishLoading):
26868         (WebInspector.ResourceManager.prototype.didFailLoading):
26869         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
26870         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
26871         (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
26872         (WebInspector.ResourceManager.prototype._addFramesRecursively):
26873         (WebInspector.ResourceManager.prototype.resourceForURL):
26874         (WebInspector.ResourceManager.prototype.addConsoleMessage):
26875         (WebInspector.ResourceManager.prototype.clearConsoleMessages):
26876         (WebInspector.ResourceTreeModel):
26877         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
26878         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
26879         (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
26880         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
26881         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
26882         (WebInspector.ResourceTreeModel.prototype._clearResources):
26883         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
26884         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
26885         (WebInspector.ResourceTreeModel.prototype.resourceForURL):
26886         (WebInspector.ResourceTreeModel.prototype.forAllResources):
26887         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
26888         * inspector/front-end/StoragePanel.js:
26889         (WebInspector.StoragePanel):
26890         (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
26891         (WebInspector.StoragePanel.prototype.reset):
26892         (WebInspector.StoragePanel.prototype.removeFrame):
26893         (WebInspector.StoragePanel.prototype.canShowSourceLine):
26894         (WebInspector.StoragePanel.prototype.showSourceLine):
26895         (WebInspector.StoragePanel.prototype.showResource):
26896         (WebInspector.StoragePanel.prototype._showResourceView):
26897         (WebInspector.StoragePanel.prototype.updateMainViewWidth):
26898         (WebInspector.StoragePanel.prototype.get searchableViews.callback):
26899         (WebInspector.StoragePanel.prototype.get searchableViews):
26900         (WebInspector.StoragePanel.prototype._forAllResourceTreeElements):
26901         (WebInspector.StoragePanel.prototype.searchMatchFound):
26902         (WebInspector.StoragePanel.prototype.searchCanceled.callback):
26903         (WebInspector.StoragePanel.prototype.searchCanceled):
26904         (WebInspector.StoragePanel.prototype.performSearch):
26905         (WebInspector.StoragePanel.prototype.showView):
26906         (WebInspector.BaseStorageTreeElement.prototype.onattach):
26907         (WebInspector.BaseStorageTreeElement.prototype.set titleText):
26908         (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
26909         (WebInspector.FrameResourceTreeElement):
26910         (WebInspector.FrameResourceTreeElement.prototype.onselect):
26911         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
26912         (WebInspector.FrameResourceTreeElement.prototype.onattach):
26913         (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
26914         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
26915         (WebInspector.FrameResourceTreeElement.prototype._resetBubble):
26916         (WebInspector.FrameResourceTreeElement.prototype._searchMatchesUpdated):
26917         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
26918         * inspector/front-end/inspector.css:
26919         (.storage.panel .sidebar):
26920         (.storage.panel .outline-disclosure li):
26921         (.storage.panel .outline-disclosure li.parent):
26922         (.storage.panel .outline-disclosure li .selection):
26923         (.storage.panel .outline-disclosure .icon):
26924         (.storage.panel .base-storage-tree-element-title):
26925         (.storage.panel .status):
26926         (.storage.panel li .status .bubble):
26927         (li .status):
26928         (li .status:empty):
26929         (li .status .bubble):
26930         (li .status .bubble:empty):
26931         (li.selected .status .bubble):
26932         (:focus li.selected .status .bubble):
26933         (body.inactive li.selected .status .bubble):
26934         (li.selected .bubble.search-matches):
26935         (:focus li.selected .bubble.search-matches):
26936         (body.inactive li.selected .bubble.search-matches):
26937
26938 2010-10-24  Csaba Osztrogonác  <ossy@webkit.org>
26939
26940         Reviewed by David Kilzer.
26941
26942         Fix Qt minimal build break revealed by r70413.
26943         https://bugs.webkit.org/show_bug.cgi?id=48185
26944
26945         * rendering/RenderMeter.h: Missing include added, needless include removed.
26946
26947 2010-10-20  Kinuko Yasuda  <kinuko@chromium.org>
26948
26949         Reviewed by Jian Li.
26950
26951         Renumber FileError/FileException error codes per latest File API spec changes
26952         https://bugs.webkit.org/show_bug.cgi?id=47936
26953
26954         * bindings/js/JSDOMBinding.cpp:
26955         (WebCore::setDOMException): Added FileExceptionType case.
26956         * bindings/v8/V8Proxy.cpp:
26957         (WebCore::V8Proxy::setDOMException): Added FileExceptionType case.
26958         * dom/ExceptionCode.cpp:
26959         (WebCore::getExceptionCodeDescription): Added code for FileException.
26960         * dom/ExceptionCode.h:
26961         * fileapi/AsyncFileWriterClient.h:
26962         * fileapi/DirectoryEntry.cpp:
26963         (WebCore::DirectoryEntry::getFile):
26964         (WebCore::DirectoryEntry::getDirectory):
26965         (WebCore::DirectoryEntry::removeRecursively):
26966         * fileapi/DirectoryEntrySync.cpp:
26967         (WebCore::DirectoryEntrySync::getFile):
26968         (WebCore::DirectoryEntrySync::getDirectory):
26969         (WebCore::DirectoryEntrySync::removeRecursively):
26970         * fileapi/DirectoryReaderSync.cpp:
26971         (WebCore::DirectoryReaderSync::readEntries):
26972         * fileapi/Entry.cpp:
26973         (WebCore::Entry::getMetadata):
26974         (WebCore::Entry::moveTo):
26975         (WebCore::Entry::copyTo):
26976         (WebCore::Entry::remove):
26977         (WebCore::Entry::getParent):
26978         * fileapi/EntrySync.cpp:
26979         (WebCore::EntrySync::getMetadata):
26980         (WebCore::EntrySync::moveTo):
26981         (WebCore::EntrySync::copyTo):
26982         (WebCore::EntrySync::remove):
26983         * fileapi/FileError.h: Added error code enum.
26984         (WebCore::FileError::create):
26985         (WebCore::FileError::code):
26986         (WebCore::FileError::FileError):
26987         * fileapi/FileError.idl: Rebased error code numbers.
26988         * fileapi/FileException.h: Added exception code enum.
26989         (WebCore::FileException::ErrorCodeToExceptionCode): Added.
26990         * fileapi/FileException.idl: Rebased exception code numbers.
26991         * fileapi/FileReader.cpp:
26992         (WebCore::FileReader::abort):
26993         (WebCore::FileReader::failed):
26994         (WebCore::FileReader::httpStatusCodeToErrorCode): Changed from
26995         httpStatuCodeToExceptionCode.
26996         * fileapi/FileReader.h:
26997         * fileapi/FileReaderSync.cpp:
26998         (WebCore::FileReaderSyncLoader::start):
26999         * fileapi/FileSystemCallbacks.cpp:
27000         (WebCore::FileSystemCallbacksBase::didFail):
27001         * fileapi/FileWriter.cpp:
27002         (WebCore::FileWriter::write):
27003         (WebCore::FileWriter::seek):
27004         (WebCore::FileWriter::truncate):
27005         (WebCore::FileWriter::abort):
27006         (WebCore::FileWriter::didFail):
27007         (WebCore::FileWriter::setError):
27008         * fileapi/FileWriter.h:
27009         * fileapi/SyncCallbackHelper.h:
27010         (WebCore::SyncCallbackHelper::SyncCallbackHelper):
27011         (WebCore::SyncCallbackHelper::getResult):
27012         (WebCore::SyncCallbackHelper::setError):
27013         * page/DOMWindow.cpp:
27014         (WebCore::DOMWindow::requestFileSystem):
27015         * workers/WorkerContext.cpp:
27016         (WebCore::WorkerContext::requestFileSystem):
27017         (WebCore::WorkerContext::requestFileSystemSync):
27018
27019 2010-10-24  Dan Bernstein  <mitz@apple.com>
27020
27021         Reviewed by Anders Carlsson.
27022
27023         Expose HitTestResult::absoluteMediaURL() via WebKit API
27024         https://bugs.webkit.org/show_bug.cgi?id=48219
27025
27026         * WebCore.exp.in: Export HitTestResult::absoluteMediaURL().
27027
27028 2010-10-24  Sam Weinig  <sam@webkit.org>
27029
27030         Reviewed by Dan Bernstein.
27031
27032         Need a way to determine the screen rect for a form control in WebKit2
27033         <rdar://problem/8530670>
27034         https://bugs.webkit.org/show_bug.cgi?id=48216
27035
27036         * WebCore.exp.in: Add export.
27037         * dom/Element.cpp:
27038         (WebCore::Element::boundsInWindowSpace):
27039         * dom/Element.h:
27040         Add function to return the bounding box in window (in ScrollView terminology) space,
27041         this is the same space as the root viewport.
27042
27043 2010-10-24  Andreas Kling  <kling@webkit.org>
27044
27045         Reviewed by Kenneth Rohde Christiansen.
27046
27047         [Qt] ImageBuffer::platformTransformColorSpace is unnecessarily slow
27048         https://bugs.webkit.org/show_bug.cgi?id=48211
27049
27050         Grab the QImage::bits() and do direct access instead of going through
27051         QImage::pixel() and QImage::setPixel().
27052
27053         This is a performance optimization, so no new tests.
27054
27055         * platform/graphics/qt/ImageBufferQt.cpp:
27056         (WebCore::ImageBuffer::platformTransformColorSpace):
27057
27058 2010-10-24  Dirk Schulze  <krit@webkit.org>
27059
27060         Reviewed by Nikolas Zimmermann.
27061
27062         Filter example Chiseled from SVG Wow! is slow
27063         https://bugs.webkit.org/show_bug.cgi?id=48174
27064
27065         Use a pointer to the ByteArray instead of the ref counted CanvasPixelArray or ImageData directly
27066         to access the data for pixel manipulation on SVG Filters or SVG Masker. This is a
27067         performance increase since the recurring use of the -> operator can be avoided.
27068         FEConvolveMatrix and FELighting still need to change in a followup patch.
27069
27070         No functionality was changed. So, no new tests.
27071
27072         * platform/graphics/filters/FEBlend.cpp:
27073         (WebCore::FEBlend::apply):
27074         * platform/graphics/filters/FEColorMatrix.cpp:
27075         (WebCore::luminance):
27076         (WebCore::effectType):
27077         (WebCore::FEColorMatrix::apply):
27078         * platform/graphics/filters/FEComponentTransfer.cpp:
27079         (WebCore::FEComponentTransfer::apply):
27080         * platform/graphics/filters/FEComposite.cpp:
27081         (WebCore::arithmetic):
27082         (WebCore::FEComposite::apply):
27083         * platform/graphics/filters/FEDisplacementMap.cpp:
27084         (WebCore::FEDisplacementMap::apply):
27085         * platform/graphics/filters/FEGaussianBlur.cpp:
27086         (WebCore::boxBlur):
27087         (WebCore::FEGaussianBlur::apply):
27088         * platform/graphics/filters/FEMorphology.cpp:
27089         (WebCore::FEMorphology::apply):
27090         * platform/graphics/filters/FETurbulence.cpp:
27091         (WebCore::FETurbulence::apply):
27092         * rendering/RenderSVGResourceMasker.cpp:
27093         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
27094
27095 2010-10-24  Pavel Feldman  <pfeldman@chromium.org>
27096
27097         Reviewed by Timothy Hatcher.
27098
27099         Web Inspector: polish network panel UI.
27100         https://bugs.webkit.org/show_bug.cgi?id=48205
27101
27102         * inspector/front-end/Images/frame.png:
27103         * inspector/front-end/Images/networkIcon.png:
27104         * inspector/front-end/NetworkPanel.js:
27105         (WebInspector.NetworkPanel.prototype._createTable):
27106         (WebInspector.NetworkPanel.prototype._setLargerResources):
27107         (WebInspector.NetworkPanel.prototype._toggleGridMode):
27108         * inspector/front-end/networkPanel.css:
27109         (.network.panel .data-grid td):
27110         (.network.panel .data-grid.small td):
27111         (#network-views .resource-view.headers-visible .resource-view-content):
27112         (#network-views.small .resource-view.headers-visible .resource-view-content):
27113         (#network-views .resource-view-headers):
27114         (#network-views.small .resource-view-headers):
27115         (#network-views .resource-view .tabbed-pane-header):
27116         (#network-views.small .resource-view .tabbed-pane-header):
27117
27118 2010-10-24  Nikolas Zimmermann  <nzimmermann@rim.com>
27119
27120         Reviewed by Dimitri Glazkov.
27121
27122         Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
27123         https://bugs.webkit.org/show_bug.cgi?id=48179
27124
27125         Fix WebGL tests. Accept 'boolean' as valid numeric type in StrictTypeChecking mode.
27126
27127         * bindings/scripts/CodeGeneratorJS.pm:
27128         * bindings/scripts/CodeGeneratorV8.pm:
27129
27130 2010-10-24  Nikolas Zimmermann  <nzimmermann@rim.com>
27131
27132         Reviewed by Dirk Schulze.
27133
27134         Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
27135         https://bugs.webkit.org/show_bug.cgi?id=48179
27136
27137         Speculative fix for the WebGL tests, I was not aware they're not run on Leopard, so I missed the breakage.
27138
27139         * bindings/scripts/CodeGeneratorJS.pm: Restore the order of type checking in the 'StrictTypeChecking' code.
27140         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
27141
27142 2010-10-23  Nikolas Zimmermann  <nzimmermann@rim.com>
27143
27144         Reviewed by Dirk Schulze.
27145
27146         Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
27147         https://bugs.webkit.org/show_bug.cgi?id=48179
27148
27149         Rewrite SVGAngle to use the new SVGPropertyTearOff concept, and consume much less memory.
27150         Down from two floats, one string and an ushort to one float and one ushort. Synchronize value/valueInSpecifiedUnits/valueAsString on demand.
27151
27152         Adding an extensive SVGAngle test, that required to implement 'StrictTypeChecking' for attribute setters (was only implemented in V8/JSC for function cals so far).
27153
27154         Test: svg/dom/SVGAngle.html
27155
27156         * GNUmakefile.am: Add SVGAnimatedAngle.h to build.
27157         * WebCore.gypi: Ditto.
27158         * WebCore.pro: Ditto.
27159         * WebCore.vcproj/WebCore.vcproj: Ditto.
27160         * WebCore.xcodeproj/project.pbxproj: Ditto.
27161         * bindings/scripts/CodeGenerator.pm: Split IsPrimitiveType in IsPrimitiveType and IsNumericType.
27162         * bindings/scripts/CodeGeneratorJS.pm: Implement 'StrictTypeChecking' for setters and recognize SVGAngle as new SVGPropertyTearOff type.
27163         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
27164         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
27165         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAngle handling.
27166         * svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedAngle handling.
27167         * svg/SVGAngle.cpp: Rewrite, to consume less memory and to operate more efficient.
27168         * svg/SVGAngle.h: Ditto.
27169         * svg/SVGAngle.idl: Add 'StrictTypeChecking' to the value/valueInSpecifiedUnits methods.
27170         * svg/SVGAnimatedAngle.h: Added.
27171         * svg/SVGAnimatedAngle.idl: Mark as [SVGAnimatedProperty].
27172         * svg/SVGMarkerElement.cpp:
27173         (WebCore::SVGMarkerElement::parseMappedAttribute): SVGAngle::setValueAsString() now takes an ExceptionCode parameter.
27174         * svg/SVGMarkerElement.h: s/ANIMATED_PROPERTY/ANIMATED_PROPERTY_NEW/ for the SVGAngle type.
27175         * svg/SVGNumber.idl: Remove exception setter exceptions, which aren't needed. As we're now generating exception handlers in the bindings, it would lead to compile errors.
27176         * svg/SVGPoint.idl: Ditto.
27177         * svg/SVGRect.idl: Ditto.
27178         * svg/SVGSVGElement.idl: Remove obsolete [SVGLiveProperty] flag.
27179
27180 2010-10-23  Daniel Bates  <dbates@rim.com>
27181
27182         Reviewed by Adam Barth.
27183
27184         Remove unused method HTMLFrameElementBase::setNameAndOpenURLCallback()
27185         https://bugs.webkit.org/show_bug.cgi?id=48197
27186
27187         With the landing of the patch for bug #45365 in
27188         changeset 67182 <http://trac.webkit.org/changeset/67182>, 
27189         HTMLFrameElementBase::setNameAndOpenURLCallback() is not needed.
27190         Therefore, we remove it.
27191
27192         Before changeset 67182, HTMLFrameElementBase::attach() set up a post-attach
27193         callback to HTMLFrameElementBase::setNameAndOpenURLCallback(). Changeset 67182
27194         removed this callback.
27195
27196         No functionality was changed. So, no new tests.
27197
27198         * html/HTMLFrameElementBase.cpp: Remove HTMLFrameElementBase::setNameAndOpenURLCallback().
27199         * html/HTMLFrameElementBase.h: Ditto.
27200
27201 2010-10-23  Xan Lopez  <xlopez@igalia.com>
27202
27203         Reviewed by Sam Weinig.
27204
27205         Unify globalData APIs
27206         https://bugs.webkit.org/show_bug.cgi?id=47969
27207
27208         Adapt code to JSGlobalObject::globalData returning a reference
27209         instead of a pointer.
27210
27211         * bindings/js/JSCallbackData.cpp:
27212         (WebCore::JSCallbackData::invokeCallback):
27213         * bindings/js/JSCustomXPathNSResolver.cpp:
27214         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
27215         * bindings/js/JSEventListener.cpp:
27216         (WebCore::JSEventListener::handleEvent):
27217         * bindings/js/JSWorkerContextCustom.cpp:
27218         (WebCore::JSWorkerContext::markChildren):
27219         * bindings/js/JSWorkerContextErrorHandler.cpp:
27220         (WebCore::JSWorkerContextErrorHandler::handleEvent):
27221         * bindings/js/ScheduledAction.cpp:
27222         (WebCore::ScheduledAction::executeFunctionInContext):
27223         * bindings/js/WorkerScriptController.cpp:
27224         (WebCore::WorkerScriptController::evaluate):
27225         * bridge/NP_jsobject.cpp:
27226         (_NPN_InvokeDefault):
27227         (_NPN_Invoke):
27228         (_NPN_Evaluate):
27229         (_NPN_Construct):
27230
27231 2010-10-23  Alexey Proskuryakov  <ap@apple.com>
27232
27233         Windows debug build fix.
27234
27235         * platform/network/cf/CookieStorageCFNet.cpp: Include MainThread.h for isMainThread().
27236
27237 2010-10-23  Alexey Proskuryakov  <ap@apple.com>
27238
27239         Windows build fix.
27240
27241         * platform/network/cf/CookieStorageCFNet.cpp:
27242         (WebCore::setCookieStoragePrivateBrowsingEnabled): It's adoptCF, not adoptPtr.
27243
27244 2010-10-23  Alexey Proskuryakov  <ap@apple.com>
27245
27246         Reviewed by Anders Carlsson.
27247
27248         https://bugs.webkit.org/show_bug.cgi?id=48083
27249         <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
27250
27251         * GNUmakefile.am:
27252         * WebCore.gypi:
27253         * WebCore.pro:
27254         * WebCore.vcproj/WebCore.vcproj:
27255         Added CookieStorage.h to build files that contain headers.
27256
27257         * WebCore.xcodeproj/project.pbxproj: Added CookieStorage.h and CookieStorageMac.mm.
27258
27259         * WebCore.exp.in: Export _wkSetCookieStoragePrivateBrowsingEnabled (WebKit initializes WKSI
27260         on WebCore's behalf).
27261
27262         * platform/mac/WebCoreSystemInterface.h:
27263         * platform/mac/WebCoreSystemInterface.mm:
27264         More work for passing the function pointer down to WebCore.
27265
27266         * page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): Tell cookie manager to
27267         when to use private browsing mode. Note that although this is a per-page setting, it
27268         actually has global effect.
27269
27270         * page/Settings.h: Extended a comment about what private browsing does.
27271
27272         * platform/android/TemporaryLinkStubs.cpp: (setCookieStoragePrivateBrowsingEnabled):
27273         * platform/chromium/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27274         * platform/efl/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27275         * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27276         * platform/haiku/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27277         * platform/qt/TemporaryLinkStubsQt.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27278         Added an empty implementation for ports that don't implement private browsing, or implement
27279         it in ways I cannot discover.
27280
27281         * platform/network/CookieStorage.h: Added. I'm not entirely sure how this is different from
27282         CookieJar.h, just following a precedent already set by Windows port with CookieStorageWin.h.
27283
27284         * platform/network/mac/CookieStorageMac.mm: Added.
27285         (WebCore::setCookieStoragePrivateBrowsingEnabled): Call a WKSI function to enable private
27286         browsing mode for cookies.
27287
27288         * platform/network/cf/CookieStorageCFNet.cpp:
27289         (WebCore::currentCookieStorage): Added ASSERT(isMainThread()).
27290         (WebCore::setCurrentCookieStorage): Ditto.
27291         (WebCore::setCookieStoragePrivateBrowsingEnabled): Set cookie storage to a private one
27292         when in private browsing mode. ResourceHandle applies the storage to each individual request.
27293
27294         * platform/network/cf/CookieStorageCFNet.h: Added a comment explaining that these functions
27295         are only for WebKit1.
27296
27297 2010-10-23  David Kilzer  <ddkilzer@apple.com>
27298
27299         <http://webkit.org/b/48181> Add missing include of MacErrors.h
27300
27301         Reviewed by Alexey Proskuryakov.
27302
27303         * platform/network/mac/FormDataStreamMac.mm: Added #import of
27304         <MacErrors.h> for iOS since the formOpen() method uses "fnfErr",
27305         which was added in r55670.  The same header is included through
27306         <CoreServices/CoreServices.h> on Mac OS X.
27307
27308 2010-10-23  Patrick Gansterer  <paroga@webkit.org>
27309
27310         Reviewed by David Kilzer.
27311
27312         [WINCE] Port COMPtr.h to WinCE
27313         https://bugs.webkit.org/show_bug.cgi?id=48190
27314
27315         Don't include guiddef.h on WinCE. It's not required and only creates build problems.
27316
27317         * platform/win/COMPtr.h:
27318
27319 2010-10-23  Patrick Gansterer  <paroga@webkit.org>
27320
27321         Reviewed by David Kilzer.
27322
27323         [WINCE] Rename SharedBitmap::createInstance to SharedBitmap::create
27324         https://bugs.webkit.org/show_bug.cgi?id=48180
27325
27326         Also use better arguments for the create function.
27327
27328         * platform/graphics/wince/GraphicsContextWinCE.cpp:
27329         (WebCore::GraphicsContextPlatformPrivate::getTransparentLayerBitmap):
27330         (WebCore::TransparentLayerDC::TransparentLayerDC):
27331         (WebCore::GraphicsContext::drawFrameControl):
27332         * platform/graphics/wince/ImageBufferWinCE.cpp:
27333         (WebCore::ImageBufferData::ImageBufferData):
27334         * platform/graphics/wince/ImageWinCE.cpp:
27335         (WebCore::RGBA32Buffer::asNewNativeImage):
27336
27337 2010-10-23  Dimitri Glazkov  <dglazkov@chromium.org>
27338
27339         Unreviewed, rolling out r70369.
27340         http://trac.webkit.org/changeset/70369
27341         https://bugs.webkit.org/show_bug.cgi?id=47974
27342
27343         Caused weird artifacts in expected results.
27344
27345         * WebCore.gyp/WebCore.gyp:
27346         * WebCore.gypi:
27347         * loader/CachedImage.cpp:
27348         (WebCore::CachedImage::createImage):
27349         * platform/graphics/ImageSource.h:
27350         * platform/image-decoders/ImageDecoder.cpp:
27351         (WebCore::RGBA32Buffer::operator=):
27352         (WebCore::RGBA32Buffer::clear):
27353         (WebCore::RGBA32Buffer::zeroFill):
27354         (WebCore::RGBA32Buffer::copyBitmapData):
27355         (WebCore::RGBA32Buffer::setSize):
27356         * platform/image-decoders/ImageDecoder.h:
27357         (WebCore::RGBA32Buffer::getAddr):
27358         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
27359         (WebCore::RGBA32Buffer::asNewNativeImage):
27360         * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed.
27361         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
27362         (WebCore::RGBA32Buffer::asNewNativeImage):
27363         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
27364         (WebCore::RGBA32Buffer::asNewNativeImage):
27365         * platform/image-decoders/wx/ImageDecoderWx.cpp:
27366         (WebCore::RGBA32Buffer::asNewNativeImage):
27367
27368 2010-10-23  Adam Barth  <abarth@webkit.org>
27369
27370         Reviewed by Andreas Kling.
27371
27372         WebP decoding hits ASSERT
27373         https://bugs.webkit.org/show_bug.cgi?id=48168
27374
27375         Calling reserveCapacity only allocates the memory.  It doesn't actually
27376         set the length.  When you try to access the zeroth element, you hit an
27377         ASSERT.
27378
27379         Covered by fast/images/webp-image-decoding.html in debug.
27380
27381         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
27382         (WebCore::WEBPImageDecoder::decode):
27383
27384 2010-10-23  Martin Robinson  <mrobinson@igalia.com>
27385
27386         Reviewed by Xan Lopez.
27387
27388         [GTK] Menu list buttons do react properly to CSS styling
27389         https://bugs.webkit.org/show_bug.cgi?id=48099
27390
27391         Correct the way that menu list buttons get their necessary padding from
27392         GTK+. Instead of resetting the padding to these values, return them via
27393         the popupInternalPadding* methods. Add implementations for *MenuListButton*
27394         methods.
27395
27396         * platform/gtk/RenderThemeGtk.cpp:
27397         (WebCore::getComboBoxPadding): Added.
27398         (WebCore::RenderThemeGtk::popupInternalPaddingLeft): Added.
27399         (WebCore::RenderThemeGtk::popupInternalPaddingRight): Added.
27400         (WebCore::RenderThemeGtk::popupInternalPaddingTop): Added.
27401         (WebCore::RenderThemeGtk::popupInternalPaddingBottom): Added.
27402         (WebCore::RenderThemeGtk::adjustMenuListStyle): Do not reset CSS
27403         properties, instead rely on the poupInternalPadding* methods.
27404         (WebCore::RenderThemeGtk::adjustMenuListButtonStyle): Added.
27405         (WebCore::RenderThemeGtk::paintMenuListButton): Added.
27406         * platform/gtk/RenderThemeGtk.h: Added new method declarations.
27407
27408 2010-10-23  Patrick Gansterer  <paroga@webkit.org>
27409
27410         Reviewed by David Kilzer.
27411
27412         Add Gradient::hasAlpha
27413         https://bugs.webkit.org/show_bug.cgi?id=48183
27414
27415         WinCE can do some performance improvements if the gradient is opaque.
27416
27417         * platform/graphics/Gradient.cpp:
27418         (WebCore::Gradient::hasAlpha):
27419         * platform/graphics/Gradient.h:
27420
27421 2010-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
27422
27423         Reviewed by David Kilzer.
27424
27425         [EFL] Implement platformDefaultLanguage() 
27426         https://bugs.webkit.org/show_bug.cgi?id=48113
27427
27428         Implement the platformDefaultLanguage() function for EFL port.
27429
27430         * platform/efl/LanguageEfl.cpp:
27431         (WebCore::platformDefaultLanguage):
27432
27433 2010-10-23  Sheriff Bot  <webkit.review.bot@gmail.com>
27434
27435         Unreviewed, rolling out r70367.
27436         http://trac.webkit.org/changeset/70367
27437         https://bugs.webkit.org/show_bug.cgi?id=48176
27438
27439         It made 8-10 tests crash on Qt bot (Requested by Ossy on
27440         #webkit).
27441
27442         * loader/MainResourceLoader.cpp:
27443         (WebCore::MainResourceLoader::MainResourceLoader):
27444         (WebCore::MainResourceLoader::continueAfterContentPolicy):
27445         (WebCore::MainResourceLoader::didReceiveResponse):
27446         (WebCore::MainResourceLoader::setDefersLoading):
27447         * loader/MainResourceLoader.h:
27448
27449 2010-10-22  Andy Estes  <aestes@apple.com>
27450
27451         Reviewed by Adam Roben and Sam Weinig.
27452
27453         WebKit shouldn't load a plug-in based on file extension if a MIME type
27454         is specified.
27455         https://bugs.webkit.org/show_bug.cgi?id=48046
27456
27457         The fix landed in r70332 only covered the Mac port. Implement this fix
27458         for other ports as well.
27459
27460         * plugins/PluginDatabase.cpp:
27461         (WebCore::PluginDatabase::findPlugin):
27462
27463 2010-10-21  Adam Barth  <abarth@webkit.org>
27464
27465         Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
27466         (Eric reviewed the CoreGraphics interactions, Peter reviewed the image
27467         decoder interaction, and Darin Fisher SGTMed the policy decision.)
27468
27469         [chromium] Chromium Mac should use WebKit's image decoders
27470         https://bugs.webkit.org/show_bug.cgi?id=47974
27471
27472         This patch teaches WebKit's image decoders how to talk to CoreGraphics.
27473         This patch doesn't handle color profiles, but that will come in a
27474         subsequent patch.
27475
27476         * WebCore.gyp/WebCore.gyp:
27477         * WebCore.gypi:
27478         * loader/CachedImage.cpp:
27479         (WebCore::CachedImage::createImage):
27480         * platform/graphics/ImageSource.h:
27481         * platform/image-decoders/ImageDecoder.cpp:
27482         (WebCore::RGBA32Buffer::clear):
27483         (WebCore::RGBA32Buffer::zeroFill):
27484         (WebCore::RGBA32Buffer::copyBitmapData):
27485         (WebCore::RGBA32Buffer::setSize):
27486         * platform/image-decoders/ImageDecoder.h:
27487         (WebCore::RGBA32Buffer::getAddr):
27488         * platform/image-decoders/cg: Added.
27489         * platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
27490         (WebCore::RGBA32Buffer::copyBitmapData):
27491         (WebCore::RGBA32Buffer::setSize):
27492         (WebCore::RGBA32Buffer::asNewNativeImage):
27493
27494 2010-10-20  Anders Carlsson  <andersca@apple.com>
27495
27496         Reviewed by Adam Barth and Darin Adler.
27497
27498         Using the decidePolicyForMIMEType delegate message in an asynchronous manner does not work
27499         https://bugs.webkit.org/show_bug.cgi?id=48014
27500         <rdar://problem/8202716>
27501
27502         * loader/MainResourceLoader.cpp:
27503         (WebCore::MainResourceLoader::continueAfterContentPolicy):
27504         Resume loading.
27505
27506         (WebCore::MainResourceLoader::didReceiveResponse):
27507         Defer loading until we hear back from the policy client.
27508
27509 2010-10-22  James Robinson  <jamesr@chromium.org>
27510
27511         Reviewed by Dimitri Glazkov.
27512
27513         REGRESSION(66391): http://ligth-arts.all-up.com/ crashes in EventHandler::selectCursor
27514         https://bugs.webkit.org/show_bug.cgi?id=47942
27515
27516         Add checks for a NULL StyleImage in a CursorList.
27517
27518         * css/CSSComputedStyleDeclaration.cpp:
27519         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
27520         * css/CSSStyleSelector.cpp:
27521         (WebCore::CSSStyleSelector::loadPendingImages):
27522         * page/EventHandler.cpp:
27523         (WebCore::EventHandler::selectCursor):
27524         * rendering/style/CursorList.h:
27525         (WebCore::CursorList::at):
27526         * manual-tests/cursor-empty-url.html: Added.
27527         * manual-tests/resources/cursor-empty-url.css: Added.
27528
27529 2010-10-22  David Hyatt  <hyatt@apple.com>
27530
27531         Reviewed by Adele Peterson.
27532
27533         https://bugs.webkit.org/show_bug.cgi?id=48156
27534
27535         Make vertical lines hit test properly and show a vertical i-beam cursor.  Numerous bugs with overflow were discovered while getting this to work,
27536         so these are in the patch as well.  The broken layout tests are fixed by the overflow bug fixes as well (which just restore the old behavior).
27537
27538         * page/EventHandler.cpp:
27539         (WebCore::EventHandler::selectCursor):
27540         * rendering/InlineBox.h:
27541         (WebCore::InlineBox::width):
27542         (WebCore::InlineBox::height):
27543         * rendering/InlineFlowBox.cpp:
27544         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
27545         (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
27546         (WebCore::InlineFlowBox::nodeAtPoint):
27547         * rendering/InlineFlowBox.h:
27548         (WebCore::InlineFlowBox::logicalTopVisibleOverflow):
27549         (WebCore::InlineFlowBox::logicalBottomVisibleOverflow):
27550         (WebCore::InlineFlowBox::visibleOverflowRect):
27551         (WebCore::InlineFlowBox::layoutOverflowRect):
27552         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
27553         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
27554         (WebCore::InlineFlowBox::visualOverflowRect):
27555         (WebCore::InlineFlowBox::logicalTopVisualOverflow):
27556         (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
27557         (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
27558         * rendering/InlineTextBox.cpp:
27559         (WebCore::InlineTextBox::nodeAtPoint):
27560         * rendering/RenderBox.cpp:
27561         (WebCore::RenderBox::blockDirectionOverflow):
27562         * rendering/RenderBox.h:
27563         * rendering/RenderLineBoxList.cpp:
27564         (WebCore::RenderLineBoxList::hitTest):
27565
27566 2010-10-22  Dan Bernstein  <mitz@apple.com>
27567
27568         Reviewed by Anders Carlsson.
27569
27570         <rdar://problem/8251616> Layout not updating in a subtree when a scrollbar is hidden in a flexbox descendant
27571         https://bugs.webkit.org/show_bug.cgi?id=48154
27572
27573         Test: scrollbars/hidden-scrollbar-prevents-layout.html
27574
27575         updateScrollInfoAfterLayout() calling setHasHorizontalScrollbar() caused updateScrollbarParts()
27576         to call setChildNeedsLayout() on the overflow, because the RenderScrollbar was created with
27577         the default thickness instead of the thickness specified in style. This led to the the overflow’s
27578         parent to be re-marked for layout during its own parent’s finishDelayUpdateScrollInfo(), and
27579         the result was that at the end of RenderView::layout(), there was a dirty renderer.
27580
27581         * rendering/RenderScrollbar.cpp:
27582         (WebCore::RenderScrollbar::RenderScrollbar): Set the frame size in the 'display: none' and
27583         'visibility: hidden' cases as well.
27584
27585 2010-10-22  Patrick Gansterer  <paroga@webkit.org>
27586
27587         Unreviewed.
27588
27589         [WINCE] Build fix after r70143.
27590
27591         * platform/graphics/wince/ImageBufferWinCE.cpp:
27592         (WebCore::ImageBuffer::ImageBuffer):
27593
27594 2010-10-22  Adam Roben  <aroben@apple.com>
27595
27596         Windows build fix
27597
27598         r70319 added Windows-native versions of the various platform/network
27599         headers to platform/network/win. WebCoreGenerated was copying these
27600         headers over the CFNetwork-specific versions in $WebKitOutputDir,
27601         leading to the wrong headers being used in WebKit.
27602
27603         This patch changes WebCoreGenerated not to copy any headers from
27604         platform/network/win into $WebKitOutputDir. Instead, only headers from
27605         platform/network/cf or platform/network/curl (as specified) are copied.
27606         There were some CFNetwork-specific files still hanging around in
27607         platform/network/win; these have been moved to platform/network/cf.
27608
27609         * WebCore.vcproj/WebCore.vcproj: Updated for file moves and let VS
27610         * format the file as it saw fit.
27611
27612         * WebCore.vcproj/WebCoreGenerated.vcproj: Added the various scripts
27613         * this project uses to make editing them easier.
27614
27615         * WebCore.vcproj/copyForwardingHeaders.cmd: Changed not to copy any
27616         * headers from platform/network/win.
27617
27618         * platform/network/cf/CookieJarCFNet.cpp: Renamed from WebCore/platform/network/win/CookieJarCFNetWin.cpp.
27619         * platform/network/cf/CookieStorageCFNet.cpp: Renamed from WebCore/platform/network/win/CookieStorageWin.cpp.
27620         * platform/network/cf/CookieStorageCFNet.h: Renamed from WebCore/platform/network/win/CookieStorageWin.h.
27621
27622         * platform/network/cf/ResourceHandleCFNet.cpp: Updated for rename.
27623
27624         * platform/network/cf/AuthenticationChallenge.h:
27625         * platform/network/cf/ResourceError.h:
27626         * platform/network/cf/ResourceRequest.h:
27627         * platform/network/cf/ResourceResponse.h:
27628         * platform/network/cf/SocketStreamError.h:
27629         * platform/network/cf/SocketStreamHandle.h:
27630         Touched to force a re-copy.
27631
27632 2010-10-22  Abhishek Arya  <inferno@chromium.org>
27633
27634         Reviewed by Dave Hyatt.
27635
27636         Add code in getMatchedCSSRules to block cross origin access to stylesheet data. Prevent access
27637         in Javascript to non author stylesheets.
27638         https://bugs.webkit.org/show_bug.cgi?id=46853
27639
27640         Tests: http/tests/security/cross-origin-getMatchedCSSRules.html
27641                http/tests/security/cross-origin-getMatchedCSSRules2.html
27642
27643         * css/CSSRule.h:
27644         * css/CSSStyleSelector.cpp:
27645         (WebCore::CSSStyleSelector::matchRulesForList):
27646         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
27647         (WebCore::CSSStyleSelector::styleRulesForElement):
27648         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
27649         * css/CSSStyleSelector.h:
27650         * page/DOMWindow.cpp:
27651         (WebCore::DOMWindow::getMatchedCSSRules):
27652         * page/DOMWindow.idl:
27653
27654 2010-10-22  Sam Weinig  <sam@webkit.org>
27655
27656         Reviewed by Anders Carlsson.
27657
27658         WebKit2 needs to pass the current event modifier flags when requesting a new window
27659         https://bugs.webkit.org/show_bug.cgi?id=48140
27660
27661         Store the NavigationAction used for the newWindowPolicyDecision in the PolicyCallback
27662         so that it can be used after the decision has been made in further callbacks.
27663
27664         * WebCore.exp.in: Fix export name for new function signature.
27665         * loader/EmptyClients.h:
27666         (WebCore::EmptyChromeClient::createWindow):
27667         (WebCore::EmptyFrameLoaderClient::dispatchCreatePage):
27668         * loader/FrameLoader.cpp:
27669         (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
27670         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
27671         (WebCore::createWindow):
27672         * loader/FrameLoader.h:
27673         * loader/FrameLoaderClient.h:
27674         * loader/PolicyCallback.cpp:
27675         (WebCore::PolicyCallback::set):
27676         (WebCore::PolicyCallback::call):
27677         (WebCore::PolicyCallback::cancel):
27678         * loader/PolicyCallback.h:
27679         * loader/PolicyChecker.cpp:
27680         (WebCore::PolicyChecker::checkNewWindowPolicy):
27681         * page/Chrome.cpp:
27682         (WebCore::Chrome::createWindow):
27683         * page/Chrome.h:
27684         * page/ChromeClient.h:
27685         * page/ContextMenuController.cpp:
27686         (WebCore::openNewWindow):
27687
27688 2010-10-22  David Hyatt  <hyatt@apple.com>
27689
27690         Reviewed by Sam Weinig.
27691
27692         https://bugs.webkit.org/show_bug.cgi?id=48149
27693         
27694         Update block direction line overflow computation to be writing-mode-aware.
27695
27696         * rendering/InlineBox.h:
27697         (WebCore::InlineBox::logicalBottom):
27698         * rendering/InlineFlowBox.cpp:
27699         (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
27700         * rendering/InlineFlowBox.h:
27701         (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
27702         (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
27703         * rendering/RenderBlockLineLayout.cpp:
27704         (WebCore::RenderBlock::layoutInlineChildren):
27705         * rendering/RenderBox.cpp:
27706         (WebCore::RenderBox::blockDirectionOverflow):
27707         * rendering/RenderBox.h:
27708         * rendering/RootInlineBox.cpp:
27709         (WebCore::RootInlineBox::addHighlightOverflow):
27710         * rendering/style/RenderStyle.h:
27711         (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
27712         (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
27713         (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
27714
27715 2010-10-22  Adam Barth  <abarth@webkit.org>
27716
27717         Reviewed by Eric Seidel.
27718
27719         ASSERT while viewing Google C++ style guide
27720         https://bugs.webkit.org/show_bug.cgi?id=48148
27721
27722         This code used to stop the parser twice.  Instead of reaching in an
27723         trying to stop the parser manually, we now just let close() do the work
27724         for us.
27725
27726         Test: fast/xsl/transform-to-html.xml
27727
27728         * xml/XSLTProcessor.cpp:
27729         (WebCore::XSLTProcessor::createDocumentFromSource):
27730
27731 2010-10-22  Patrick Gansterer  <paroga@webkit.org>
27732
27733         Reviewed by Adam Roben.
27734
27735         [WINCE] Implement GraphicsContext::(get|release)WindowsContext
27736         https://bugs.webkit.org/show_bug.cgi?id=48136
27737
27738         * platform/graphics/wince/GraphicsContextWinCE.cpp:
27739         (WebCore::GraphicsContext::getWindowsContext):
27740         (WebCore::GraphicsContext::releaseWindowsContext):
27741
27742 2010-10-22  Adam Roben  <aroben@apple.com>
27743
27744         Attempt to fix the Windows build
27745
27746         * platform/network/win/CookieJarCFNetWin.cpp: Add a missing #include.
27747
27748 2010-10-22  Cosmin Truta  <ctruta@chromium.org>
27749
27750         Reviewed by Dirk Schulze.
27751
27752         getBoundingClientRect does not work with SVG <text>
27753         https://bugs.webkit.org/show_bug.cgi?id=46775
27754
27755         Added back to SVGStyledTransformableElement overloads of the following
27756         methods: nearestViewportElement, farthestViewportElement, getBBox.
27757         This was necessary to appease the Visual C++ compiler, which warned on
27758         inheritance via dominance.
27759
27760         * svg/SVGStyledTransformableElement.cpp:
27761         * svg/SVGStyledTransformableElement.h:
27762         (SVGStyledTransformableElement::nearestViewportElement):
27763         (SVGStyledTransformableElement::farthestViewportElement):
27764         (SVGStyledTransformableElement::getBBox):
27765
27766 2010-10-21  Chris Marrin  <cmarrin@apple.com>
27767
27768         Reviewed by Adam Roben.
27769
27770         Content in <iframe> doesn't appear when going back to http://webkit.org/blog/386/3d-transforms/
27771         https://bugs.webkit.org/show_bug.cgi?id=32447
27772
27773         Added documentDidBecomeActive() when document comes back from cache to cause compositing
27774         layers in iframes to be reattached.
27775
27776         There is no layout test, but I added a manual test. This test is ready to be a layout test
27777         but currently DRT disables the WebCore page cache, so the back/forward essentially do a 
27778         page load which does not exhibit the bug.
27779
27780         * history/CachedFrame.cpp:
27781         (WebCore::CachedFrameBase::restore):
27782         * manual-tests/compositing/show-composited-iframe-on-back-button.html: Added.
27783
27784 2010-10-22  Patrick Gansterer  <paroga@webkit.org>
27785
27786         Reviewed by Adam Roben.
27787
27788         [WIN] Add Windows specific files for platform/network/win
27789         https://bugs.webkit.org/show_bug.cgi?id=27376
27790
27791         * platform/network/win/AuthenticationChallenge.h: Added.
27792         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
27793         * platform/network/win/ResourceError.h: Added.
27794         (WebCore::ResourceError::ResourceError):
27795         * platform/network/win/ResourceRequest.h: Added.
27796         (WebCore::ResourceRequest::ResourceRequest):
27797         (WebCore::ResourceRequest::doUpdatePlatformRequest):
27798         (WebCore::ResourceRequest::doUpdateResourceRequest):
27799         (WebCore::ResourceRequest::doPlatformCopyData):
27800         (WebCore::ResourceRequest::doPlatformAdopt):
27801         * platform/network/win/ResourceResponse.h: Added.
27802         (WebCore::ResourceResponse::ResourceResponse):
27803         (WebCore::ResourceResponse::doPlatformCopyData):
27804         (WebCore::ResourceResponse::doPlatformAdopt):
27805
27806 2010-10-22  Adam Barth  <abarth@webkit.org>
27807
27808         Unreviewed, rolling out r70290.
27809         http://trac.webkit.org/changeset/70290
27810         https://bugs.webkit.org/show_bug.cgi?id=48111
27811
27812         Undelete Android build files.
27813
27814         * Android.mk: Added.
27815
27816 2010-10-22  Cosmin Truta  <ctruta@chromium.org>
27817
27818         Reviewed by Nikolas Zimmermann.
27819
27820         getBoundingClientRect does not work with SVG <text>
27821         https://bugs.webkit.org/show_bug.cgi?id=46775
27822
27823         Dispatched the calls from Element::getBoundingClientRect to getBBox
27824         through SVGElement::boundingBox.
27825         Recognized SVGTextElement in addition to SVGStyledLocatableElement
27826         as a class that provides getBBox.
27827         Fixed the result of zooming: adjusted the getBoundingClientRect rectangle
27828         for absolute zoom, even for SVG elements.
27829
27830         Additional cleanup task:
27831         Removed redundant overloads of SVGStyledTransformableElement
27832         methods: nearestViewportElement, farthestViewportElement, getBBox.
27833         These methods are already inherited from SVGStyledLocatableElement.
27834
27835         Test: css3/zoom-coords.xhtml
27836
27837         * WebCore.xcodeproj/project.pbxproj: Set role of SVGLocatable.h to private.
27838         * dom/Element.cpp:
27839         (Element::getBoundingClientRect): Used SVGElement::boundingBox.
27840         Adjusted coordinates for absolute zoom, for all kinds of elements.
27841         * svg/SVGElement.cpp:
27842         * svg/SVGElement.h:
27843         (SVGElement::boundingBox): Added.
27844         * svg/SVGStyledTransformableElement.cpp:
27845         * svg/SVGStyledTransformableElement.h:
27846         (SVGStyledTransformableElement::nearestViewportElement): Removed.
27847         (SVGStyledTransformableElement::farthestViewportElement): Removed.
27848         (SVGStyledTransformableElement::getBBox): Removed.
27849
27850 2010-10-22  Patrick Gansterer  <paroga@webkit.org>
27851
27852         Reviewed by Adam Roben.
27853
27854         [WIN] Add stubs for SocketStream classes
27855         https://bugs.webkit.org/show_bug.cgi?id=47983
27856
27857         * platform/network/win/SocketStreamError.h: Copied from WebCore/platform/network/curl/SocketStreamError.h.
27858         (WebCore::SocketStreamError::SocketStreamError):
27859         * platform/network/win/SocketStreamHandle.h: Copied from WebCore/platform/network/curl/SocketStreamHandle.h.
27860         (WebCore::SocketStreamHandle::create):
27861         * platform/network/win/SocketStreamHandleWin.cpp: Copied from WebCore/platform/network/curl/SocketStreamHandleCurl.cpp.
27862
27863 2010-10-22  Patrick Gansterer  <paroga@webkit.org>
27864
27865         Reviewed by Adam Roben.
27866
27867         Disable cache in ResourceHandleWin
27868         https://bugs.webkit.org/show_bug.cgi?id=48128
27869
27870         The caching of windows does not work correctly, so disable it for now.
27871
27872         * platform/network/win/ResourceHandleWin.cpp:
27873         (WebCore::ResourceHandle::start):
27874
27875 2010-10-22  Jia Pu  <jpu@apple.com>
27876
27877         Reviewed by Dan Bernstein.
27878
27879         Regression (r69548): cancelled autocorrection suggestion is still applied.
27880         https://bugs.webkit.org/show_bug.cgi?id=48081
27881         <rdar://problem/8579765>
27882         
27883         The test requires a 0.3 second delay using setTimeout(). So we put it in manual-tests.
27884
27885         * editing/Editor.cpp:
27886         (WebCore::Editor::handleRejectedCorrection): Clear autocorrection info when user dismissed the panel.
27887         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Added.
27888
27889 2010-10-22  Andreas Kling  <kling@webkit.org>
27890
27891         Reviewed by Kenneth Rohde Christiansen.
27892
27893         [Gtk] Fix canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
27894         https://bugs.webkit.org/show_bug.cgi?id=48133
27895
27896         * platform/graphics/cairo/PathCairo.cpp:
27897         (WebCore::Path::contains): Return false if any x or y are nonfinite.
27898
27899 2010-10-22  Alexander Pavlov  <apavlov@chromium.org>
27900
27901         Reviewed by Pavel Feldman.
27902
27903         Web Inspector: Implement property toggling in InspectorCSSAgent
27904
27905         This change implements enablement/disablement and setting of style properties.
27906         Disabled properties are persisted in the (top-level) scope of InspectorStyleSheet.
27907         https://bugs.webkit.org/show_bug.cgi?id=47339
27908
27909         Drive-by: fixes for the Web Inspector Protocol format.
27910
27911         * inspector/InspectorCSSAgent.cpp:
27912         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
27913         (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
27914         (WebCore::InspectorCSSAgent::setPropertyText2):
27915         (WebCore::InspectorCSSAgent::toggleProperty2):
27916         (WebCore::InspectorCSSAgent::setRuleSelector2):
27917         (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
27918         * inspector/InspectorCSSAgent.h:
27919         * inspector/InspectorStyleSheet.cpp:
27920         (WebCore::InspectorStyle::buildObjectForStyle):
27921         (WebCore::InspectorStyle::setPropertyText):
27922         (WebCore::InspectorStyle::toggleProperty):
27923         (WebCore::InspectorStyle::disabledIndexByOrdinal):
27924         (WebCore::InspectorStyle::styleText):
27925         (WebCore::InspectorStyle::disableProperty):
27926         (WebCore::InspectorStyle::enableProperty):
27927         (WebCore::InspectorStyle::populateAllProperties):
27928         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
27929         (WebCore::InspectorStyle::shiftDisabledProperties):
27930         (WebCore::InspectorStyle::replacePropertyInStyleText):
27931         (WebCore::InspectorStyle::shorthandValue):
27932         (WebCore::InspectorStyle::shorthandPriority):
27933         (WebCore::InspectorStyle::longhandProperties):
27934         (WebCore::InspectorStyleSheet::setText):
27935         (WebCore::InspectorStyleSheet::setRuleSelector):
27936         (WebCore::InspectorStyleSheet::addRule):
27937         (WebCore::InspectorStyleSheet::ruleForId):
27938         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
27939         (WebCore::InspectorStyleSheet::buildObjectForRule):
27940         (WebCore::InspectorStyleSheet::buildObjectForStyle):
27941         (WebCore::InspectorStyleSheet::setPropertyText):
27942         (WebCore::InspectorStyleSheet::toggleProperty):
27943         (WebCore::InspectorStyleSheet::styleForId):
27944         (WebCore::InspectorStyleSheet::inspectorStyleForId):
27945         (WebCore::InspectorStyleSheet::rememberInspectorStyle):
27946         (WebCore::InspectorStyleSheet::forgetInspectorStyle):
27947         (WebCore::InspectorStyleSheet::ruleOrStyleId):
27948         (WebCore::InspectorStyleSheet::ensureText):
27949         (WebCore::InspectorStyleSheet::setStyleText):
27950         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
27951         (WebCore::InspectorStyleSheet::ruleId):
27952         (WebCore::InspectorStyleSheet::revalidateStyle):
27953         (WebCore::InspectorStyleSheet::originalStyleSheetText):
27954         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
27955         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
27956         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
27957         (WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):
27958         * inspector/InspectorStyleSheet.h:
27959         (WebCore::InspectorCSSId::createFromParts):
27960         (WebCore::InspectorCSSId::InspectorCSSId):
27961         (WebCore::InspectorCSSId::styleSheetId):
27962         (WebCore::InspectorCSSId::ordinal):
27963         (WebCore::InspectorCSSId::isEmpty):
27964         (WebCore::InspectorCSSId::asString):
27965         (WebCore::InspectorStyleProperty::InspectorStyleProperty):
27966         (WebCore::InspectorStyle::create):
27967         (WebCore::InspectorStyle::InspectorStyle):
27968         (WebCore::InspectorStyle::cssStyle):
27969         (WebCore::InspectorStyle::hasDisabledProperties):
27970         (WebCore::InspectorStyleSheet::styleId):
27971         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
27972         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
27973         (WebCore::InspectorStyleSheetForInlineStyle::rememberInspectorStyle):
27974         (WebCore::InspectorStyleSheetForInlineStyle::forgetInspectorStyle):
27975
27976 2010-10-22  Pavel Feldman  <pfeldman@chromium.org>
27977
27978         Reviewed by Yury Semikhatsky.
27979
27980         Web Inspector: update resources tree in storage panel upon network events.
27981         https://bugs.webkit.org/show_bug.cgi?id=48121
27982
27983         * inspector/Inspector.idl:
27984         * inspector/InspectorResourceAgent.cpp:
27985         (WebCore::buildObjectForDocumentLoader):
27986         (WebCore::buildObjectForFrameTree):
27987         (WebCore::InspectorResourceAgent::didCommitLoad):
27988         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
27989         * inspector/front-end/ResourceManager.js:
27990         (WebInspector.ResourceManager):
27991         (WebInspector.ResourceManager.prototype._createResource):
27992         (WebInspector.ResourceManager.prototype.didReceiveResponse):
27993         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
27994         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
27995         (WebInspector.ResourceManager.prototype._addResourceToStorageFrame):
27996         (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
27997         (WebInspector.ResourceManager.prototype._clearResources):
27998         (WebInspector.ResourceManager.prototype._processCachedResources):
27999         (WebInspector.ResourceManager.prototype._addFramesRecursively):
28000         (WebInspector.ResourceManager.getContents):
28001         * inspector/front-end/StoragePanel.js:
28002         (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
28003         (WebInspector.StoragePanel.prototype.removeFrame):
28004         (WebInspector.StoragePanel.prototype.addResourceToFrame):
28005         (WebInspector.StoragePanel.prototype.removeResourcesFromFrame):
28006         (WebInspector.BaseStorageTreeElement.prototype.onattach):
28007         (WebInspector.BaseStorageTreeElement.prototype.onreveal):
28008         (WebInspector.BaseStorageTreeElement.prototype.set titleText):
28009         (WebInspector.FrameTreeElement):
28010         (WebInspector.FrameTreeElement.prototype.onselect):
28011         (WebInspector.FrameTreeElement.prototype.get displayName):
28012         (WebInspector.FrameTreeElement.prototype.set displayName):
28013
28014 2010-10-22  François Sausset  <sausset@gmail.com>
28015
28016         Reviewed by Kenneth Rohde Christiansen.
28017
28018         Fix wrong xHeight() value for Apple Symbols font.
28019         https://bugs.webkit.org/show_bug.cgi?id=41535
28020
28021         Test: mathml/xHeight.xhtml
28022
28023         * platform/graphics/mac/SimpleFontDataMac.mm:
28024         (WebCore::SimpleFontData::platformInit):
28025
28026 2010-10-22  Nikolas Zimmermann  <nzimmermann@rim.com>
28027
28028         Reviewed by Dirk Schulze.
28029
28030         Further preparations to deploy the new SVGAnimatedProperty concept for the rest of the SVG datatypes
28031         https://bugs.webkit.org/show_bug.cgi?id=48125
28032
28033         Model SVGListPropertyTearOff similar to SVGPropertyTearOff, allow it to be used for SVGXXXList datatypes, that are not animated. (SVGStringList)
28034         Recognize all SVG primitive datatypes in SVGPropertyTraits.
28035         Add a new - temporary - macro to support multiple animated properties that map to a single DOM attribute (kernelUnitLength attribute vs. kernelUnitLengthX/Y properties).
28036         These macros will all be removed and expanded by their content, as soon as the transition to the new SVGAnimatedProperty concept is done.
28037
28038         Doesn't affect any tests yet, as the code is still unused.
28039
28040         * svg/properties/SVGAnimatedProperty.h:
28041         (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
28042         (WebCore::SVGAnimatedProperty::lookupWrapper):
28043         * svg/properties/SVGAnimatedPropertyMacros.h:
28044         * svg/properties/SVGAnimatedPropertySynchronizer.h:
28045         * svg/properties/SVGListPropertyTearOff.h:
28046         (WebCore::SVGListPropertyTearOff::create):
28047         (WebCore::SVGListPropertyTearOff::removeItemFromList):
28048         (WebCore::SVGListPropertyTearOff::detachListWrappers):
28049         (WebCore::SVGListPropertyTearOff::clear):
28050         (WebCore::SVGListPropertyTearOff::numberOfItems):
28051         (WebCore::SVGListPropertyTearOff::initialize):
28052         (WebCore::SVGListPropertyTearOff::getItem):
28053         (WebCore::SVGListPropertyTearOff::insertItemBefore):
28054         (WebCore::SVGListPropertyTearOff::replaceItem):
28055         (WebCore::SVGListPropertyTearOff::removeItem):
28056         (WebCore::SVGListPropertyTearOff::appendItem):
28057         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
28058         (WebCore::SVGListPropertyTearOff::~SVGListPropertyTearOff):
28059         (WebCore::SVGListPropertyTearOff::commitChange):
28060         * svg/properties/SVGPropertyTearOff.h:
28061         * svg/properties/SVGPropertyTraits.h:
28062
28063 2010-10-22  Sheriff Bot  <webkit.review.bot@gmail.com>
28064
28065         Unreviewed, rolling out r70301.
28066         http://trac.webkit.org/changeset/70301
28067         https://bugs.webkit.org/show_bug.cgi?id=48126
28068
28069         "Lang attribute layout tests failing" (Requested by satish on
28070         #webkit).
28071
28072         * dom/Element.cpp:
28073         (WebCore::Element::computeInheritedLanguage):
28074         * page/SpeechInput.cpp:
28075         (WebCore::SpeechInput::startRecognition):
28076         * page/SpeechInput.h:
28077         * page/SpeechInputClient.h:
28078         * platform/mock/SpeechInputClientMock.cpp:
28079         (WebCore::SpeechInputClientMock::startRecognition):
28080         (WebCore::SpeechInputClientMock::setRecognitionResult):
28081         (WebCore::SpeechInputClientMock::timerFired):
28082         * platform/mock/SpeechInputClientMock.h:
28083         * rendering/TextControlInnerElements.cpp:
28084         (WebCore::TextControlInnerElement::attachInnerElement):
28085         (WebCore::SearchFieldCancelButtonElement::detach):
28086         (WebCore::SpinButtonElement::defaultEventHandler):
28087         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
28088         (WebCore::InputFieldSpeechButtonElement::detach):
28089
28090 2010-10-22  Leandro Gracia Gil  <leandrogracia@google.com>
28091
28092         Reviewed by Jeremy Orlow.
28093
28094         Patch the current speech input implementation to use and validate the
28095         nearest language tag. The language is now passed to the startRecognition
28096         methods so that language-specific recognition could be used. Also added
28097         a second parameter to setMockSpeechInputResult for the language used in
28098         speech recognition.
28099         https://bugs.webkit.org/show_bug.cgi?id=47089
28100
28101         This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
28102         details see http://codereview.chromium.org/3615005/show and
28103         http://codereview.chromium.org/3595018/show.
28104
28105         Test: fast/speech/input-text-language-tag.html
28106
28107         * dom/Element.cpp:
28108         (WebCore::Element::computeInheritedLanguage): includes a brief character
28109           validation for the BCP 47 language tag.
28110         * page/SpeechInput.cpp:
28111         (WebCore::SpeechInput::startRecognition):
28112         * page/SpeechInput.h:
28113         * page/SpeechInputClient.h:
28114         * platform/mock/SpeechInputClientMock.cpp:
28115         (WebCore::SpeechInputClientMock::startRecognition):
28116         (WebCore::SpeechInputClientMock::setRecognitionResult): results are now
28117           stored by language using a hash map.
28118         (WebCore::SpeechInputClientMock::timerFired):
28119         * platform/mock/SpeechInputClientMock.h:
28120         * rendering/TextControlInnerElements.cpp:
28121         (WebCore::TextControlInnerElement::attachInnerElement):
28122         (WebCore::SearchFieldCancelButtonElement::detach):
28123         (WebCore::SpinButtonElement::defaultEventHandler):
28124         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
28125         (WebCore::InputFieldSpeechButtonElement::detach):
28126
28127 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28128
28129         Unreviewed, rolling out r70298.WebKit win compilation failure.
28130         http://trac.webkit.org/changeset/70298
28131         https://bugs.webkit.org/show_bug.cgi?id=48122
28132
28133 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28134
28135         Reviewed by Pavel Feldman.
28136
28137         Web Inspector: decouple ScriptArguments from ScriptCallStack
28138         https://bugs.webkit.org/show_bug.cgi?id=48058
28139
28140         ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
28141         The factory functions that allow to create ScriptCallStack from VM-specific
28142         objects are defined in ScriptCallStackFactory.cpp.
28143
28144         ScriptArguments class is used for passing arguments from JS code to the native
28145         part.
28146
28147         No new tests. This refactoring is covered with existing Console tests.
28148
28149         * WebCore.gypi:
28150         * WebCore.xcodeproj/project.pbxproj:
28151         * bindings/js/ScriptCallFrame.cpp: Removed.
28152         * bindings/js/ScriptCallFrame.h: Removed.
28153         * bindings/js/ScriptCallStack.cpp: Removed.
28154         * bindings/js/ScriptCallStack.h: Removed.
28155         * bindings/js/ScriptCallStackFactory.cpp: Added.
28156         (WebCore::createScriptCallStack):
28157         (WebCore::createScriptArguments):
28158         (WebCore::ScriptCallStack::stackTrace):
28159         * bindings/js/ScriptCallStackFactory.h: Added.
28160         * bindings/js/ScriptState.h:
28161         (WebCore::ScriptStateProtectedPtr::get):
28162         * bindings/scripts/CodeGeneratorJS.pm:
28163         * bindings/scripts/CodeGeneratorV8.pm:
28164         * bindings/v8/ScriptCallFrame.cpp: Removed.
28165         * bindings/v8/ScriptCallFrame.h: Removed.
28166         * bindings/v8/ScriptCallStack.cpp: Removed.
28167         * bindings/v8/ScriptCallStack.h: Removed.
28168         * bindings/v8/ScriptCallStackFactory.cpp: Added.
28169         (WebCore::toScriptCallFrame):
28170         (WebCore::toScriptCallFramesVector):
28171         (WebCore::createScriptCallStack):
28172         (WebCore::createScriptArguments):
28173         (WebCore::ScriptCallStack::stackTrace):
28174         * bindings/v8/ScriptCallStackFactory.h: Added.
28175         * bindings/v8/ScriptController.cpp:
28176         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
28177         * bindings/v8/ScriptState.h:
28178         (WebCore::ScriptStateProtectedPtr::get):
28179         * bindings/v8/V8ConsoleMessage.cpp:
28180         (WebCore::V8ConsoleMessage::handler):
28181         (WebCore::V8ConsoleMessage::dispatchNow):
28182         * bindings/v8/V8ConsoleMessage.h:
28183         * bindings/v8/custom/V8ConsoleCustom.cpp:
28184         (WebCore::V8Console::traceCallback):
28185         (WebCore::V8Console::assertCallback):
28186         * inspector/ConsoleMessage.cpp:
28187         (WebCore::ConsoleMessage::ConsoleMessage):
28188         (WebCore::ConsoleMessage::addToFrontend):
28189         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
28190         (WebCore::ConsoleMessage::isEqual):
28191         * inspector/ConsoleMessage.h:
28192         * inspector/InspectorController.cpp:
28193         (WebCore::InspectorController::addMessageToConsole):
28194         (WebCore::InspectorController::startGroup):
28195         * inspector/InspectorController.h:
28196         * inspector/ScriptArguments.cpp: Added.
28197         (WebCore::ScriptArguments::ScriptArguments):
28198         (WebCore::ScriptArguments::~ScriptArguments):
28199         (WebCore::ScriptArguments::argumentAt):
28200         (WebCore::ScriptArguments::globalState):
28201         (WebCore::ScriptArguments::getFirstArgumentAsString):
28202         (WebCore::ScriptArguments::isEqual):
28203         * inspector/ScriptArguments.h: Added.
28204         (WebCore::ScriptArguments::argumentCount):
28205         * inspector/ScriptCallFrame.cpp: Added.
28206         (WebCore::ScriptCallFrame::ScriptCallFrame):
28207         (WebCore::ScriptCallFrame::~ScriptCallFrame):
28208         (WebCore::ScriptCallFrame::isEqual):
28209         (WebCore::ScriptCallFrame::buildInspectorObject):
28210         * inspector/ScriptCallFrame.h: Added.
28211         (WebCore::ScriptCallFrame::functionName):
28212         (WebCore::ScriptCallFrame::sourceURL):
28213         (WebCore::ScriptCallFrame::lineNumber):
28214         * inspector/ScriptCallStack.cpp: Added.
28215         (WebCore::ScriptCallStack::ScriptCallStack):
28216         (WebCore::ScriptCallStack::~ScriptCallStack):
28217         (WebCore::ScriptCallStack::at):
28218         (WebCore::ScriptCallStack::size):
28219         (WebCore::ScriptCallStack::isEqual):
28220         (WebCore::ScriptCallStack::buildInspectorObject):
28221         * inspector/ScriptCallStack.h: Added.
28222         * page/Console.cpp:
28223         (WebCore::Console::addMessage):
28224         (WebCore::Console::debug):
28225         (WebCore::Console::error):
28226         (WebCore::Console::info):
28227         (WebCore::Console::log):
28228         (WebCore::Console::dir):
28229         (WebCore::Console::dirxml):
28230         (WebCore::Console::trace):
28231         (WebCore::Console::assertCondition):
28232         (WebCore::Console::count):
28233         (WebCore::Console::markTimeline):
28234         (WebCore::Console::profile):
28235         (WebCore::Console::profileEnd):
28236         (WebCore::Console::timeEnd):
28237         (WebCore::Console::group):
28238         (WebCore::Console::groupCollapsed):
28239         (WebCore::Console::shouldCaptureFullStackTrace):
28240         (WebCore::Console::warn):
28241         * page/Console.h:
28242
28243 2010-10-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
28244
28245         Reviewed by Simon Hausmann.
28246
28247         [Qt] All widgets are rendered incorrectly when rendered through a cache
28248         https://bugs.webkit.org/show_bug.cgi?id=47767
28249
28250         When a widget is not available to the RenderTheme, default
28251         value are used for the state.
28252
28253         * platform/qt/RenderThemeQt.cpp:
28254         (WebCore::initStyleOption):
28255         (WebCore::RenderThemeQt::paintButton):
28256         (WebCore::RenderThemeQt::paintTextField):
28257         (WebCore::RenderThemeQt::paintMenuList):
28258         (WebCore::RenderThemeQt::paintMenuListButton):
28259         (WebCore::RenderThemeQt::paintProgressBar):
28260         (WebCore::RenderThemeQt::paintSliderTrack):
28261
28262 2010-10-22  Zoltan Herczeg  <zherczeg@webkit.org>
28263
28264         Reviewed by Dirk Schulze.
28265
28266         Moving all bounding box related calculation to RenderSVGResourceFilterPrimitive
28267         https://bugs.webkit.org/show_bug.cgi?id=47174
28268
28269         The primitive sub-region calculation was spread in many
28270         files across in WebKit source code, and all of them are moved
28271         to RenderSVGResourceFilterPrimitive, where they should be.
28272         In this patch the calculation is a static method which will
28273         be turned to a real member function in the near future.
28274
28275         * platform/graphics/filters/FETile.cpp:
28276         * platform/graphics/filters/FETile.h:
28277         (WebCore::FETile::filterEffectType):
28278         * platform/graphics/filters/Filter.h:
28279         * platform/graphics/filters/FilterEffect.cpp:
28280         * platform/graphics/filters/FilterEffect.h:
28281         * rendering/RenderSVGResourceFilter.cpp:
28282         (WebCore::RenderSVGResourceFilter::applyResource):
28283         * rendering/RenderSVGResourceFilterPrimitive.cpp:
28284         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
28285         * rendering/RenderSVGResourceFilterPrimitive.h:
28286         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
28287         * svg/graphics/filters/SVGFilter.cpp:
28288         * svg/graphics/filters/SVGFilter.h:
28289         (WebCore::SVGFilter::mapLocalRectToAbsoluteRect):
28290         (WebCore::SVGFilter::targetBoundingBox):
28291
28292 2010-10-21  Kwang Yul Seo  <skyul@company100.net>
28293
28294         Reviewed by Kent Tamura.
28295
28296         [BREWMP] Add a String constructor which takes AECHAR*
28297         https://bugs.webkit.org/show_bug.cgi?id=45043
28298
28299         Implement String(const AECHAR*) constructor.
28300
28301         * platform/text/brew/StringBrew.cpp: Added.
28302         (WTF::String::String):
28303
28304 2010-10-21  James Simonsen  <simonjam@chromium.org>
28305
28306         Reviewed by Adam Barth.
28307
28308         HTMLTreeBuilder's InForeignContent code needs a re-write
28309
28310         Foreign Content mode was changed significantly by:
28311         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
28312
28313         The differences can be seen here:
28314         http://html5.org/tools/web-apps-tracker?from=5520&to=5522
28315
28316         This bug addresses all spec changes in the diff except the select scope
28317         changes, which have already been fixed in a separate bug.
28318
28319         https://bugs.webkit.org/show_bug.cgi?id=46676
28320
28321         * html/parser/HTMLElementStack.cpp:
28322         (WebCore::HTMLNames::isScopeMarker): Add foreign elements to list.
28323         * html/parser/HTMLTreeBuilder.cpp:
28324         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
28325         (WebCore::HTMLTreeBuilder::processDoctypeToken): Switch mode before reprocessing any tokens.
28326         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto. Remove secondary insertion mode.
28327         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Switch mode before reprocessing any tokens.
28328         (WebCore::HTMLTreeBuilder::processStartTag): Ditto. Remove secondary insertion mode.
28329         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Remove foreign var. Use hasTagName() instead of == localName() to fix bug with foreign elements.
28330         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Switch mode before reprocessing any tokens.
28331         (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
28332         (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
28333         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
28334         (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
28335         (WebCore::HTMLTreeBuilder::prepareToReprocessToken): Added.
28336         (WebCore::HTMLTreeBuilder::reprocessStartTag): Added.
28337         (WebCore::HTMLTreeBuilder::reprocessEndTag): Added.
28338         (WebCore::HTMLTreeBuilder::processForeignContentUsingInBodyModeAndResetMode): Added.
28339         (WebCore::HTMLTreeBuilder::resetForeignInsertionMode): Added.
28340         (WebCore::HTMLTreeBuilder::processComment): Switch mode before reprocessing any tokens.
28341         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
28342         (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
28343         * html/parser/HTMLTreeBuilder.h: Functions and member for tracking potential switch from InForeignContentMode.
28344
28345 2010-10-21  Adam Barth  <abarth@webkit.org>
28346
28347         Reviewed by David Levin.
28348
28349         Remove Android build system
28350         https://bugs.webkit.org/show_bug.cgi?id=48111
28351
28352         As far as I can tell, these files are not maintained.  They are a
28353         mantaince burden on the project.  If folks would like to come out of
28354         the woodwork and maintain these files, that's great.  At the moment,
28355         they seem like dead weight for the project.
28356
28357         * Android.mk: Removed.
28358
28359 2010-10-21  Kwang Yul Seo  <skyul@company100.net>
28360
28361         Reviewed by James Robinson.
28362
28363         Make sure skia is not Chromium specific
28364         https://bugs.webkit.org/show_bug.cgi?id=39672
28365
28366         GlyphPageTreeNodeLinux does not depend on Linux or Chromium.
28367         Move GlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
28368         GlyphPageTreeNodeSkia.cpp so that other ports can use it.
28369
28370         * WebCore.gyp/WebCore.gyp:
28371         * WebCore.gypi:
28372         * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
28373         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.
28374
28375 2010-10-21  Ryosuke Niwa  <rniwa@webkit.org>
28376
28377         Reviewed by Tony Chang.
28378
28379         removeFormat needs to be reimplemented
28380         https://bugs.webkit.org/show_bug.cgi?id=43017
28381
28382         Reimplemented execCommand('RemoveFormat', false, null). New implementation removes
28383         the same elements removed by Internet Explorer. Because WebKit supports StyleWithCSS
28384         we also reset any editing styles to match that of the root editable element
28385         while Internet Explorer does not remove any CSS styles.
28386
28387         New implementation uses ApplyStyleCommand to remove appropriate elements and reset the style.
28388         Added new constructor and member variable to ApplyStyleCommand to support mass-removal of elements
28389         since it's inefficient to call ApplyStyleCommand on each element we're removing.
28390
28391         To avoid an infinite loop in pushDownInlineStyleAroundNode when mass-removing, WebKit no longer
28392         push down element one level at a time. Instead, we keep a stack of styled elements to be applied,
28393         and apply wrap siblings of targetNode's ancestors by all of them at once.
28394
28395         Tests: editing/execCommand/remove-format-elements.html
28396                editing/execCommand/remove-format-multiple-elements.html
28397
28398         * editing/ApplyStyleCommand.cpp:
28399         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Added; this version takes style and a function pointer
28400         to a boolean function that determines which element needs to removed, and set m_removeOnly to true.
28401         (WebCore::ApplyStyleCommand::doApply): Added support for m_isInlineElementToRemoveFunction.
28402         (WebCore::ApplyStyleCommand::applyBlockStyle): Ditto.
28403         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Exits early if m_removeOnly is true.
28404         (WebCore::ApplyStyleCommand::isStyledInlineElementToRemove): Added.
28405         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls isStyledInlineElementToRemove.
28406         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Ditto.
28407         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
28408         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): See above.
28409         * editing/ApplyStyleCommand.h:
28410         (WebCore::ApplyStyleCommand::create): Added.
28411         * editing/RemoveFormatCommand.cpp:
28412         (WebCore::isElementForRemoveFormatCommand): Added.
28413         (WebCore::RemoveFormatCommand::doApply): Rewritten.
28414
28415 2010-10-21  Tony Gentilcore  <tonyg@chromium.org>
28416
28417         Reviewed by Adam Barth.
28418
28419         Ignore document.write() when it comes from a network task
28420         https://bugs.webkit.org/show_bug.cgi?id=47560
28421
28422         This implements the update to the spec made by:
28423         http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
28424
28425         It also matches the latest Firefox 4 beta. The notable change is that
28426         document.write from a deferred script no longer works. This avoids
28427         blowing the patch away.
28428
28429         * dom/Document.cpp:
28430         (WebCore::Document::Document):
28431         (WebCore::Document::write):
28432         * dom/Document.h:
28433         (WebCore::DestructiveWriteCountIncrementer::DestructiveWriteCountIncrementer):
28434         (WebCore::Document::ignoreDestructiveWriteCountIncrementer):
28435         * dom/ScriptElement.cpp:
28436         (WebCore::ScriptElement::insertedIntoDocument):
28437         (WebCore::ScriptElementData::ScriptElementData):
28438         (WebCore::ScriptElementData::evaluateScript):
28439         * dom/ScriptElement.h:
28440         * html/parser/HTMLScriptRunner.cpp:
28441         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
28442
28443 2010-10-21  Ryosuke Niwa  <rniwa@webkit.org>
28444
28445         Unreviewed Leopard build fix attempt.
28446
28447         Explicitly cast the return value of deg2rad to float.
28448
28449         * rendering/InlineTextBox.cpp:
28450         (WebCore::InlineTextBox::paint):
28451
28452 2010-10-21  Mihai Parparita  <mihaip@chromium.org>
28453
28454         Reviewed by James Robinson.
28455
28456         [Chromium] Fix Chromium Mac build
28457         https://bugs.webkit.org/show_bug.cgi?id=48096
28458
28459         Fix Chromium Mac build after r70225 (Chromium uses Core Text but is not
28460         PLATFORM(MAC)).
28461
28462         * platform/graphics/SimpleFontData.h:
28463
28464 2010-10-21  Xiaomei Ji  <xji@chromium.org>
28465
28466         Reviewed by David Levin.
28467
28468         Performance improvement for FontLinux.
28469         https://bugs.webkit.org/show_bug.cgi?id=47019
28470         
28471         Reduce the number of calls for the normalization function because converting
28472         to NFC form is very expensive.
28473     
28474         Combine space normalization and character mirroring into one text scan.
28475
28476         Test: platform/chromium/fast/text/font-linux-normalize.html
28477
28478         * platform/graphics/chromium/FontLinux.cpp:
28479         (WebCore::TextRunWalker::TextRunWalker):
28480         (WebCore::TextRunWalker::~TextRunWalker):
28481         (WebCore::TextRunWalker::getNormalizedTextRun):
28482         (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars):
28483
28484 2010-10-21  David Hyatt  <hyatt@apple.com>
28485
28486         Reviewed by Darin Adler.
28487
28488         https://bugs.webkit.org/show_bug.cgi?id=48085
28489
28490         Make basic vertical text painting work.  This includes the text itself, underlines, overlines, line-throughs and shadows.
28491
28492         Added fast/blockflow/english-lr-text.html
28493
28494         * rendering/InlineFlowBox.cpp:
28495         (WebCore::InlineFlowBox::paint):
28496         * rendering/InlineFlowBox.h:
28497         * rendering/InlineTextBox.cpp:
28498         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
28499         (WebCore::paintTextWithShadows):
28500         (WebCore::InlineTextBox::paint):
28501         (WebCore::InlineTextBox::paintDecoration):
28502         (WebCore::InlineTextBox::paintTextMatchMarker):
28503         * rendering/InlineTextBox.h:
28504         * rendering/svg/SVGInlineTextBox.cpp:
28505         (WebCore::SVGInlineTextBox::paintTextWithShadows):
28506
28507 2010-10-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
28508
28509         Reviewed by Simon Hausmann.
28510
28511         [Qt] When doing rendering through tiling, it seems the tiles are not initialized before rendering
28512         https://bugs.webkit.org/show_bug.cgi?id=48070
28513
28514         No new tests. Auto-tests for Tiled Backing Store should be added, see bug 48082
28515
28516         * page/Frame.cpp:
28517         (WebCore::Frame::tiledBackingStoreBackgroundColor):
28518         * page/Frame.h:
28519         * platform/graphics/TiledBackingStoreClient.h:
28520         * platform/graphics/qt/TileQt.cpp:
28521         (WebCore::Tile::updateBackBuffer):
28522
28523 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
28524
28525         Reviewed by Martin Robinson.
28526
28527         [GTK] Use GCharsetConverter instead of g_iconv in TextCodecGtk
28528         https://bugs.webkit.org/show_bug.cgi?id=47896
28529
28530         It makes error handling easier. Fixes tests:
28531          fast/encoding/invalid-multi-byte-over-consumption.html
28532          fast/encoding/invalid-xml.html
28533          fast/encoding/japanese-encoding-mix.html
28534         when building with glib unicode
28535
28536         * platform/text/gtk/TextCodecGtk.cpp:
28537         (WebCore::TextCodecGtk::TextCodecGtk):
28538         (WebCore::TextCodecGtk::~TextCodecGtk):
28539         (WebCore::TextCodecGtk::createIConvDecoder):
28540         (WebCore::TextCodecGtk::createIConvEncoder):
28541         (WebCore::TextCodecGtk::decode):
28542         (WebCore::TextCodecGtk::encode):
28543         * platform/text/gtk/TextCodecGtk.h:
28544
28545 2010-10-21  Chris Fleizach  <cfleizach@apple.com>
28546
28547         Reviewed by Beth Dakin.
28548
28549         AX: contenteditable nodes do not return correct AXSelectedText* attributes
28550         https://bugs.webkit.org/show_bug.cgi?id=48080
28551
28552         The ariaSelectedDOMTextRange() method was not returning the correct values. 
28553         The fix is to return a plain text range that represents the current selection.
28554
28555         Test: platform/mac/accessibility/content-editable-range-properties.html
28556
28557         * accessibility/AccessibilityObject.h:
28558         (WebCore::AccessibilityObject::accessibilityDescription):
28559         * accessibility/AccessibilityRenderObject.cpp:
28560         (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
28561         (WebCore::AccessibilityRenderObject::selectedText):
28562         (WebCore::AccessibilityRenderObject::selectedTextRange):
28563         * accessibility/AccessibilityRenderObject.h:
28564
28565 2010-10-20  Jer Noble  <jer.noble@apple.com>
28566
28567         Reviewed by Eric Carlson.
28568
28569         Video -> Canvas doesn't work on Windows
28570         https://bugs.webkit.org/show_bug.cgi?id=47996
28571         rdar://problem/7884690
28572
28573         * WebCore.vcproj/QTMovieWin.vcproj: Added QTDecompressionSession.{cpp,h}
28574         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
28575         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Create a 
28576             QTDecompressionSession if necessary and convert the QTPixelBuffer
28577             into a CG-compatible one.
28578         * platform/graphics/win/QTDecompressionSession.cpp: Added.
28579         * platform/graphics/win/QTDecompressionSession.h: Added.
28580         * platform/graphics/win/QTPixelBuffer.cpp:
28581         (SetNumberValue): Moved from QTMovieVisualContext.
28582         (QTPixelBuffer::createPixelBufferAttributesDictionary): Moved from inside
28583             QTMovieVisualContext::createPixelBufferOptionsDictionary().
28584         * platform/graphics/win/QTPixelBuffer.h: Moved the Type enum 
28585             from QTMovieVisualContext.h.
28586
28587 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
28588
28589         Reviewed by Martin Robinson.
28590
28591         [GTK] TextBreakIteratorGtk should initialize its internal index to 0
28592         https://bugs.webkit.org/show_bug.cgi?id=48065
28593
28594         It fixes the following tests when using glib unicode:
28595           fast/forms/ValidityState-tooLong-input.html
28596           fast/forms/ValidityState-tooLong-textarea.html
28597           fast/forms/input-appearance-maxlength.html
28598           fast/forms/input-implicit-length-limit.html
28599           fast/forms/input-maxlength.html
28600           fast/forms/textarea-live-pseudo-selectors.html
28601           fast/forms/mailto/advanced-get.html
28602           fast/forms/mailto/advanced-put.html
28603
28604         * platform/text/gtk/TextBreakIteratorGtk.cpp:
28605         (WebCore::setUpIterator):
28606
28607 2010-10-21  takano takumi  <takano1@asia.apple.com>
28608
28609         Reviewed by Dan Bernstein.
28610
28611         Need to swap glyphs for vertical writing
28612         https://bugs.webkit.org/show_bug.cgi?id=46973
28613
28614         Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
28615         and ultimately to CoreText APIs in both font complex path and fast path.
28616
28617         Tests: fast/text/international/vertical-text-glyph-test.html
28618                fast/text/international/vertical-text-metrics-test.html
28619
28620         * WebCore.exp.in:
28621         * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
28622         * css/CSSFontFaceSource.cpp:
28623         (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
28624         * css/CSSStyleSelector.cpp:
28625         (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
28626         when writing-mode is being specified.
28627         * loader/CachedFont.cpp:
28628         (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
28629         * loader/CachedFont.h:
28630         * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
28631         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
28632         (WebCore::FontPlatformDataCacheKey::operator==):
28633         (WebCore::computeHash):
28634         (WebCore::FontCache::getCachedFontPlatformData):
28635         * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
28636         (WebCore::FontDescription::FontDescription):
28637         (WebCore::FontDescription::orientation):
28638         (WebCore::FontDescription::setOrientation):
28639         (WebCore::FontDescription::operator==):
28640         * platform/graphics/FontOrientation.h: Added.
28641         * platform/graphics/SimpleFontData.h:
28642         * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28643         (WebCore::FontCustomPlatformData::fontPlatformData):
28644         * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28645         * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
28646         (WebCore::FontPlatformData::FontPlatformData):
28647         (WebCore::FontPlatformData::orientation):
28648         (WebCore::FontPlatformData::hash):
28649         (WebCore::FontPlatformData::operator==):
28650         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
28651         (WebCore::FontPlatformData::FontPlatformData):
28652         (WebCore::FontPlatformData::operator=):
28653         (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
28654         (WebCore::FontPlatformData::description):
28655         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
28656         (WebCore::FontCustomPlatformData::fontPlatformData):
28657         * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28658         (WebCore::FontCustomPlatformData::fontPlatformData):
28659         * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28660         * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
28661         (WebCore::FontCache::getFontDataForCharacters):
28662         (WebCore::FontCache::createFontPlatformData):
28663         * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
28664         (WebCore::FontCustomPlatformData::fontPlatformData):
28665         * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
28666         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
28667         (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
28668         CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
28669         * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
28670         (WebCore::SimpleFontData::getCFStringAttributes):
28671         * platform/graphics/mac/SimpleFontDataMac.mm:
28672         (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
28673         (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
28674         to get vertical metrics when the font orientation is vertical.
28675         * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28676         * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
28677         (WebCore::FontCustomPlatformData::fontPlatformData):
28678         * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28679         (WebCore::FontCustomPlatformData::fontPlatformData):
28680         * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28681         * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28682         (WebCore::FontCustomPlatformData::fontPlatformData):
28683         * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28684         * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
28685         (WebCore::FontCustomPlatformData::fontPlatformData):
28686         * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
28687         * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28688         (WebCore::FontCustomPlatformData::fontPlatformData):
28689         * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28690         * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28691         (WebCore::FontCustomPlatformData::fontPlatformData):
28692         * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28693
28694 2010-10-21  Pavel Feldman  <pfeldman@chromium.org>
28695
28696         Reviewed by Yury Semikhatsky.
28697
28698         Web Inspector: provide resource tree in the Storage panel (behind the flag).
28699         https://bugs.webkit.org/show_bug.cgi?id=48069
28700
28701         * WebCore.gypi:
28702         * inspector/Inspector.idl:
28703         * inspector/InspectorController.cpp:
28704         (WebCore::InspectorController::frameDetachedFromParent):
28705         * inspector/InspectorResourceAgent.cpp:
28706         (WebCore::buildObjectForDocumentLoader):
28707         (WebCore::buildObjectForFrameResource):
28708         (WebCore::buildObjectForCachedResource):
28709         (WebCore::populateObjectWithFrameResources):
28710         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
28711         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
28712         (WebCore::buildObjectForFrameTree):
28713         (WebCore::InspectorResourceAgent::didCommitLoad):
28714         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
28715         (WebCore::InspectorResourceAgent::cachedResources):
28716         (WebCore::InspectorResourceAgent::resourceContent):
28717         * inspector/InspectorResourceAgent.h:
28718         * inspector/front-end/Images/frame.png: Added.
28719         * inspector/front-end/NetworkPanel.js:
28720         (WebInspector.NetworkPanel.prototype.refreshResource):
28721         (WebInspector.NetworkPanel.prototype._showResource):
28722         * inspector/front-end/Resource.js:
28723         (WebInspector.Resource.Type.toString):
28724         (WebInspector.Resource.prototype.getContents):
28725         * inspector/front-end/ResourceManager.js:
28726         (WebInspector.ResourceManager):
28727         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
28728         (WebInspector.ResourceManager.prototype._createResource):
28729         (WebInspector.ResourceManager.prototype.willSendRequest):
28730         (WebInspector.ResourceManager.prototype._appendRedirect):
28731         (WebInspector.ResourceManager.prototype.markResourceAsCached):
28732         (WebInspector.ResourceManager.prototype.didReceiveResponse):
28733         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
28734         (WebInspector.ResourceManager.prototype.didReceiveContentLength):
28735         (WebInspector.ResourceManager.prototype.didFinishLoading):
28736         (WebInspector.ResourceManager.prototype.didFailLoading):
28737         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
28738         (WebInspector.ResourceManager.prototype._updateResourceWithCachedResource):
28739         (WebInspector.ResourceManager.prototype.setOverrideContent):
28740         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
28741         (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
28742         (WebInspector.ResourceManager.prototype._clearResources):
28743         (WebInspector.ResourceManager.prototype.didCreateWebSocket):
28744         (WebInspector.ResourceManager.prototype.willSendWebSocketHandshakeRequest):
28745         (WebInspector.ResourceManager.prototype.didReceiveWebSocketHandshakeResponse):
28746         (WebInspector.ResourceManager.prototype.didCloseWebSocket):
28747         (WebInspector.ResourceManager.prototype._processCachedResources):
28748         (WebInspector.ResourceManager.prototype._appendFramesRecursively.comparator):
28749         (WebInspector.ResourceManager.prototype._appendFramesRecursively):
28750         (WebInspector.ResourceManager.createResourceView):
28751         (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
28752         (WebInspector.ResourceManager.resourceViewForResource):
28753         (WebInspector.ResourceManager.getContents):
28754         * inspector/front-end/ResourcesPanel.js:
28755         (WebInspector.ResourcesPanel.prototype.get searchableViews):
28756         (WebInspector.ResourcesPanel.prototype.addMessageToResource):
28757         (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
28758         (WebInspector.ResourcesPanel.prototype.showResource):
28759         (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
28760         * inspector/front-end/ScriptsPanel.js:
28761         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
28762         * inspector/front-end/StoragePanel.js:
28763         (WebInspector.StoragePanel):
28764         (WebInspector.StoragePanel.prototype.addFrame):
28765         (WebInspector.StoragePanel.prototype.removeFrame):
28766         (WebInspector.StoragePanel.prototype.addFrameResource):
28767         (WebInspector.StoragePanel.prototype.removeFrameResources):
28768         (WebInspector.StoragePanel.prototype.showResource):
28769         (WebInspector.BaseStorageTreeElement.prototype.onattach):
28770         (WebInspector.BaseStorageTreeElement.prototype.onreveal):
28771         (WebInspector.FrameTreeElement):
28772         (WebInspector.FrameTreeElement.prototype.onselect):
28773         (WebInspector.FrameResourceTreeElement):
28774         (WebInspector.FrameResourceTreeElement.prototype.onselect):
28775         (WebInspector.FrameResourceTreeElement.prototype.onattach):
28776         * inspector/front-end/WebKit.qrc:
28777         * inspector/front-end/inspector.css:
28778         (.frame-storage-tree-item .icon):
28779         (.storage.panel .sidebar.outline-disclosure > ol):
28780         (.resources-category-images .image-resource-icon-preview):
28781         (.children.small .resources-category-images .image-resource-icon-preview):
28782         * inspector/front-end/inspector.js:
28783
28784 2010-10-21  David Kilzer  <ddkilzer@apple.com>
28785
28786         <http://webkit.org/b/48047> Fix warnings found by check-Xcode-source-file-types
28787
28788         Reviewed by Adam Roben.
28789
28790         Fixes the following warning:
28791
28792             WARNING: Unknown file type 'sourcecode' for file 'CSSPrimitiveValue.idl'.
28793             1 issues found for WebCore/WebCore.xcodeproj/project.pbxproj.
28794
28795         * WebCore.xcodeproj/project.pbxproj: Removed explicit file type
28796         for CSSPrimitiveValue.idl to make it match other IDL files.
28797
28798 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28799
28800         Reviewed by Pavel Feldman.
28801
28802         Web Inspector: decouple ScriptArguments from ScriptCallStack
28803         https://bugs.webkit.org/show_bug.cgi?id=48058
28804
28805         ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
28806         The factory functions that allow to create ScriptCallStack from VM-specific
28807         objects are defined in ScriptCallStackFactory.cpp.
28808
28809         ScriptArguments class is used for passing arguments from JS code to the native
28810         part.
28811
28812         No new tests. This refactoring is covered with existing Console tests.
28813
28814         * WebCore.gypi:
28815         * WebCore.xcodeproj/project.pbxproj:
28816         * bindings/js/ScriptCallFrame.cpp: Removed.
28817         * bindings/js/ScriptCallFrame.h: Removed.
28818         * bindings/js/ScriptCallStack.cpp: Removed.
28819         * bindings/js/ScriptCallStack.h: Removed.
28820         * bindings/js/ScriptCallStackFactory.cpp: Added.
28821         (WebCore::createScriptCallStack):
28822         (WebCore::createScriptArguments):
28823         (WebCore::ScriptCallStack::stackTrace):
28824         * bindings/js/ScriptCallStackFactory.h: Added.
28825         * bindings/js/ScriptState.h:
28826         (WebCore::ScriptStateProtectedPtr::get):
28827         * bindings/scripts/CodeGeneratorJS.pm:
28828         * bindings/scripts/CodeGeneratorV8.pm:
28829         * bindings/v8/ScriptCallFrame.cpp: Removed.
28830         * bindings/v8/ScriptCallFrame.h: Removed.
28831         * bindings/v8/ScriptCallStack.cpp: Removed.
28832         * bindings/v8/ScriptCallStack.h: Removed.
28833         * bindings/v8/ScriptCallStackFactory.cpp: Added.
28834         (WebCore::toScriptCallFrame):
28835         (WebCore::toScriptCallFramesVector):
28836         (WebCore::createScriptCallStack):
28837         (WebCore::createScriptArguments):
28838         (WebCore::ScriptCallStack::stackTrace):
28839         * bindings/v8/ScriptCallStackFactory.h: Added.
28840         * bindings/v8/ScriptController.cpp:
28841         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
28842         * bindings/v8/ScriptState.h:
28843         (WebCore::ScriptStateProtectedPtr::get):
28844         * bindings/v8/V8ConsoleMessage.cpp:
28845         (WebCore::V8ConsoleMessage::handler):
28846         (WebCore::V8ConsoleMessage::dispatchNow):
28847         * bindings/v8/V8ConsoleMessage.h:
28848         * bindings/v8/custom/V8ConsoleCustom.cpp:
28849         (WebCore::V8Console::traceCallback):
28850         (WebCore::V8Console::assertCallback):
28851         * inspector/ConsoleMessage.cpp:
28852         (WebCore::ConsoleMessage::ConsoleMessage):
28853         (WebCore::ConsoleMessage::addToFrontend):
28854         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
28855         (WebCore::ConsoleMessage::isEqual):
28856         * inspector/ConsoleMessage.h:
28857         * inspector/InspectorController.cpp:
28858         (WebCore::InspectorController::addMessageToConsole):
28859         (WebCore::InspectorController::startGroup):
28860         * inspector/InspectorController.h:
28861         * inspector/ScriptArguments.cpp: Added.
28862         (WebCore::ScriptArguments::ScriptArguments):
28863         (WebCore::ScriptArguments::~ScriptArguments):
28864         (WebCore::ScriptArguments::argumentAt):
28865         (WebCore::ScriptArguments::globalState):
28866         (WebCore::ScriptArguments::getFirstArgumentAsString):
28867         (WebCore::ScriptArguments::isEqual):
28868         * inspector/ScriptArguments.h: Added.
28869         (WebCore::ScriptArguments::argumentCount):
28870         * inspector/ScriptCallFrame.cpp: Added.
28871         (WebCore::ScriptCallFrame::ScriptCallFrame):
28872         (WebCore::ScriptCallFrame::~ScriptCallFrame):
28873         (WebCore::ScriptCallFrame::isEqual):
28874         (WebCore::ScriptCallFrame::buildInspectorObject):
28875         * inspector/ScriptCallFrame.h: Added.
28876         (WebCore::ScriptCallFrame::functionName):
28877         (WebCore::ScriptCallFrame::sourceURL):
28878         (WebCore::ScriptCallFrame::lineNumber):
28879         * inspector/ScriptCallStack.cpp: Added.
28880         (WebCore::ScriptCallStack::ScriptCallStack):
28881         (WebCore::ScriptCallStack::~ScriptCallStack):
28882         (WebCore::ScriptCallStack::at):
28883         (WebCore::ScriptCallStack::size):
28884         (WebCore::ScriptCallStack::isEqual):
28885         (WebCore::ScriptCallStack::buildInspectorObject):
28886         * inspector/ScriptCallStack.h: Added.
28887         * page/Console.cpp:
28888         (WebCore::Console::addMessage):
28889         (WebCore::Console::debug):
28890         (WebCore::Console::error):
28891         (WebCore::Console::info):
28892         (WebCore::Console::log):
28893         (WebCore::Console::dir):
28894         (WebCore::Console::dirxml):
28895         (WebCore::Console::trace):
28896         (WebCore::Console::assertCondition):
28897         (WebCore::Console::count):
28898         (WebCore::Console::markTimeline):
28899         (WebCore::Console::profile):
28900         (WebCore::Console::profileEnd):
28901         (WebCore::Console::timeEnd):
28902         (WebCore::Console::group):
28903         (WebCore::Console::groupCollapsed):
28904         (WebCore::Console::shouldCaptureFullStackTrace):
28905         (WebCore::Console::warn):
28906         * page/Console.h:
28907
28908 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28909
28910         Unreviewed. Revert r70232. Chromium compilation failure.
28911
28912 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28913
28914         Unreviewed. Revert r70233. Too many failures.
28915
28916 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28917
28918         Unreviewed. Remove references to deleted headers from WebCore.pro
28919
28920         * WebCore.pro:
28921
28922 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28923
28924         Reviewed by Pavel Feldman.
28925
28926         Web Inspector: decouple ScriptArguments from ScriptCallStack
28927         https://bugs.webkit.org/show_bug.cgi?id=48058
28928
28929         ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
28930         The factory functions that allow to create ScriptCallStack from VM-specific
28931         objects are defined in ScriptCallStackFactory.cpp.
28932
28933         ScriptArguments class is used for passing arguments from JS code to the native
28934         part.
28935
28936         No new tests. This refactoring is covered with existing Console tests.
28937
28938         * WebCore.gypi:
28939         * WebCore.xcodeproj/project.pbxproj:
28940         * bindings/js/ScriptCallFrame.cpp: Removed.
28941         * bindings/js/ScriptCallFrame.h: Removed.
28942         * bindings/js/ScriptCallStack.cpp: Removed.
28943         * bindings/js/ScriptCallStack.h: Removed.
28944         * bindings/js/ScriptCallStackFactory.cpp: Added.
28945         (WebCore::createScriptCallStack):
28946         (WebCore::createScriptArguments):
28947         (WebCore::ScriptCallStack::stackTrace):
28948         * bindings/js/ScriptCallStackFactory.h: Added.
28949         * bindings/js/ScriptState.h:
28950         (WebCore::ScriptStateProtectedPtr::get):
28951         * bindings/scripts/CodeGeneratorJS.pm:
28952         * bindings/scripts/CodeGeneratorV8.pm:
28953         * bindings/v8/ScriptCallFrame.cpp: Removed.
28954         * bindings/v8/ScriptCallFrame.h: Removed.
28955         * bindings/v8/ScriptCallStack.cpp: Removed.
28956         * bindings/v8/ScriptCallStack.h: Removed.
28957         * bindings/v8/ScriptCallStackFactory.cpp: Added.
28958         (WebCore::toScriptCallFrame):
28959         (WebCore::toScriptCallFramesVector):
28960         (WebCore::createScriptCallStack):
28961         (WebCore::createScriptArguments):
28962         (WebCore::ScriptCallStack::stackTrace):
28963         * bindings/v8/ScriptCallStackFactory.h: Added.
28964         * bindings/v8/ScriptController.cpp:
28965         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
28966         * bindings/v8/ScriptState.h:
28967         (WebCore::ScriptStateProtectedPtr::get):
28968         * bindings/v8/V8ConsoleMessage.cpp:
28969         (WebCore::V8ConsoleMessage::handler):
28970         (WebCore::V8ConsoleMessage::dispatchNow):
28971         * bindings/v8/V8ConsoleMessage.h:
28972         * bindings/v8/custom/V8ConsoleCustom.cpp:
28973         (WebCore::V8Console::traceCallback):
28974         (WebCore::V8Console::assertCallback):
28975         * inspector/ConsoleMessage.cpp:
28976         (WebCore::ConsoleMessage::ConsoleMessage):
28977         (WebCore::ConsoleMessage::addToFrontend):
28978         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
28979         (WebCore::ConsoleMessage::isEqual):
28980         * inspector/ConsoleMessage.h:
28981         * inspector/InspectorController.cpp:
28982         (WebCore::InspectorController::addMessageToConsole):
28983         (WebCore::InspectorController::startGroup):
28984         * inspector/InspectorController.h:
28985         * inspector/ScriptArguments.cpp: Added.
28986         (WebCore::ScriptArguments::ScriptArguments):
28987         (WebCore::ScriptArguments::~ScriptArguments):
28988         (WebCore::ScriptArguments::argumentAt):
28989         (WebCore::ScriptArguments::globalState):
28990         (WebCore::ScriptArguments::getFirstArgumentAsString):
28991         (WebCore::ScriptArguments::isEqual):
28992         * inspector/ScriptArguments.h: Added.
28993         (WebCore::ScriptArguments::argumentCount):
28994         * inspector/ScriptCallFrame.cpp: Added.
28995         (WebCore::ScriptCallFrame::ScriptCallFrame):
28996         (WebCore::ScriptCallFrame::~ScriptCallFrame):
28997         (WebCore::ScriptCallFrame::isEqual):
28998         (WebCore::ScriptCallFrame::buildInspectorObject):
28999         * inspector/ScriptCallFrame.h: Added.
29000         (WebCore::ScriptCallFrame::functionName):
29001         (WebCore::ScriptCallFrame::sourceURL):
29002         (WebCore::ScriptCallFrame::lineNumber):
29003         * inspector/ScriptCallStack.cpp: Added.
29004         (WebCore::ScriptCallStack::ScriptCallStack):
29005         (WebCore::ScriptCallStack::~ScriptCallStack):
29006         (WebCore::ScriptCallStack::at):
29007         (WebCore::ScriptCallStack::size):
29008         (WebCore::ScriptCallStack::isEqual):
29009         (WebCore::ScriptCallStack::buildInspectorObject):
29010         * inspector/ScriptCallStack.h: Added.
29011         * page/Console.cpp:
29012         (WebCore::Console::addMessage):
29013         (WebCore::Console::debug):
29014         (WebCore::Console::error):
29015         (WebCore::Console::info):
29016         (WebCore::Console::log):
29017         (WebCore::Console::dir):
29018         (WebCore::Console::dirxml):
29019         (WebCore::Console::trace):
29020         (WebCore::Console::assertCondition):
29021         (WebCore::Console::count):
29022         (WebCore::Console::markTimeline):
29023         (WebCore::Console::profile):
29024         (WebCore::Console::profileEnd):
29025         (WebCore::Console::timeEnd):
29026         (WebCore::Console::group):
29027         (WebCore::Console::groupCollapsed):
29028         (WebCore::Console::shouldCaptureFullStackTrace):
29029         (WebCore::Console::warn):
29030         * page/Console.h:
29031
29032 2010-10-21  Pavel Feldman  <pfeldman@chromium.org>
29033
29034         Reviewed by Yury Semikhatsky.
29035
29036         Chromium: use dedicated event listener type in EventListenerWrapper.
29037         https://bugs.webkit.org/show_bug.cgi?id=48059
29038
29039         This change introduces new EventListener::Type NativeEventListenerType.
29040         This new type is intended to be used by any code that wants to protect
29041         itself from unsafe casts to particular event listener implementations.
29042
29043         * dom/EventListener.h:
29044
29045 2010-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
29046
29047         Unreviewed, rolling out r70225.
29048         http://trac.webkit.org/changeset/70225
29049         https://bugs.webkit.org/show_bug.cgi?id=48061
29050
29051         Build breakage on Leopard. (Requested by pfeldman on #webkit).
29052
29053         * WebCore.exp.in:
29054         * WebCore.xcodeproj/project.pbxproj:
29055         * css/CSSFontFaceSource.cpp:
29056         (WebCore::CSSFontFaceSource::getFontData):
29057         * css/CSSStyleSelector.cpp:
29058         (WebCore::CSSStyleSelector::applyProperty):
29059         * loader/CachedFont.cpp:
29060         (WebCore::CachedFont::platformDataFromCustomData):
29061         * loader/CachedFont.h:
29062         * platform/graphics/FontCache.cpp:
29063         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
29064         (WebCore::FontPlatformDataCacheKey::operator==):
29065         (WebCore::computeHash):
29066         (WebCore::FontCache::getCachedFontPlatformData):
29067         * platform/graphics/FontDescription.h:
29068         (WebCore::FontDescription::FontDescription):
29069         (WebCore::FontDescription::operator==):
29070         * platform/graphics/FontOrientation.h: Removed.
29071         * platform/graphics/SimpleFontData.h:
29072         * platform/graphics/cairo/FontCustomPlatformData.cpp:
29073         (WebCore::FontCustomPlatformData::fontPlatformData):
29074         * platform/graphics/cairo/FontCustomPlatformData.h:
29075         * platform/graphics/cocoa/FontPlatformData.h:
29076         (WebCore::FontPlatformData::FontPlatformData):
29077         (WebCore::FontPlatformData::hash):
29078         (WebCore::FontPlatformData::operator==):
29079         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
29080         (WebCore::FontPlatformData::FontPlatformData):
29081         (WebCore::FontPlatformData::operator=):
29082         (WebCore::FontPlatformData::allowsLigatures):
29083         (WebCore::FontPlatformData::description):
29084         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
29085         (WebCore::FontCustomPlatformData::fontPlatformData):
29086         * platform/graphics/haiku/FontCustomPlatformData.cpp:
29087         (WebCore::FontCustomPlatformData::fontPlatformData):
29088         * platform/graphics/haiku/FontCustomPlatformData.h:
29089         * platform/graphics/mac/FontCacheMac.mm:
29090         (WebCore::FontCache::getFontDataForCharacters):
29091         (WebCore::FontCache::createFontPlatformData):
29092         * platform/graphics/mac/FontCustomPlatformData.cpp:
29093         (WebCore::FontCustomPlatformData::fontPlatformData):
29094         * platform/graphics/mac/FontCustomPlatformData.h:
29095         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
29096         (WebCore::GlyphPage::fill):
29097         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
29098         (WebCore::SimpleFontData::getCFStringAttributes):
29099         * platform/graphics/mac/SimpleFontDataMac.mm:
29100         (WebCore::SimpleFontData::platformBoundsForGlyph):
29101         (WebCore::SimpleFontData::platformWidthForGlyph):
29102         * platform/graphics/qt/FontCustomPlatformData.h:
29103         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
29104         (WebCore::FontCustomPlatformData::fontPlatformData):
29105         * platform/graphics/skia/FontCustomPlatformData.cpp:
29106         (WebCore::FontCustomPlatformData::fontPlatformData):
29107         * platform/graphics/skia/FontCustomPlatformData.h:
29108         * platform/graphics/win/FontCustomPlatformData.cpp:
29109         (WebCore::FontCustomPlatformData::fontPlatformData):
29110         * platform/graphics/win/FontCustomPlatformData.h:
29111         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
29112         (WebCore::FontCustomPlatformData::fontPlatformData):
29113         * platform/graphics/win/FontCustomPlatformDataCairo.h:
29114         * platform/graphics/wince/FontCustomPlatformData.cpp:
29115         (WebCore::FontCustomPlatformData::fontPlatformData):
29116         * platform/graphics/wince/FontCustomPlatformData.h:
29117         * platform/graphics/wx/FontCustomPlatformData.cpp:
29118         (WebCore::FontCustomPlatformData::fontPlatformData):
29119         * platform/graphics/wx/FontCustomPlatformData.h:
29120
29121 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
29122
29123         Reviewed by Martin Robinson.
29124
29125         [GTK] Tests LayoutTests/fast/encoding/utf-32* fail when using glib unicode
29126         https://bugs.webkit.org/show_bug.cgi?id=47805
29127
29128         Register UTF-32 encodings in TextCodecGtk.
29129
29130         * platform/text/gtk/TextCodecGtk.cpp:
29131         (WebCore::TextCodecGtk::registerBaseEncodingNames):
29132         (WebCore::TextCodecGtk::registerBaseCodecs):
29133
29134 2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
29135
29136         Reviewed by Darin Adler.
29137
29138         Adding MediaQueryListListener binding test cases
29139         https://bugs.webkit.org/show_bug.cgi?id=48028
29140
29141         MediaQueryListListener type will need special handling of the code generators. Adding the test cases.
29142
29143         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Added.
29144         (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListenerPrivate::WebDOMTestMediaQueryListListenerPrivate):
29145         (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListener):
29146         (WebDOMTestMediaQueryListListener::operator=):
29147         (WebDOMTestMediaQueryListListener::impl):
29148         (WebDOMTestMediaQueryListListener::~WebDOMTestMediaQueryListListener):
29149         (WebDOMTestMediaQueryListListener::method):
29150         (toWebCore):
29151         (toWebKit):
29152         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Added.
29153         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: Added.
29154         (WebKit::kit):
29155         (webkit_dom_test_media_query_list_listener_method):
29156         (WebKit::core):
29157         (webkit_dom_test_media_query_list_listener_finalize):
29158         (webkit_dom_test_media_query_list_listener_set_property):
29159         (webkit_dom_test_media_query_list_listener_get_property):
29160         (webkit_dom_test_media_query_list_listener_constructed):
29161         (webkit_dom_test_media_query_list_listener_class_init):
29162         (webkit_dom_test_media_query_list_listener_init):
29163         (WebKit::wrapTestMediaQueryListListener):
29164         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h: Added.
29165         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h: Added.
29166         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Added.
29167         (WebCore::JSTestMediaQueryListListenerConstructor::classInfo):
29168         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
29169         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
29170         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
29171         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
29172         (WebCore::JSTestMediaQueryListListenerPrototype::self):
29173         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
29174         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
29175         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
29176         (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
29177         (WebCore::JSTestMediaQueryListListener::createPrototype):
29178         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
29179         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
29180         (WebCore::jsTestMediaQueryListListenerConstructor):
29181         (WebCore::JSTestMediaQueryListListener::getConstructor):
29182         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
29183         (WebCore::toJS):
29184         (WebCore::toTestMediaQueryListListener):
29185         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Added.
29186         (WebCore::JSTestMediaQueryListListener::classInfo):
29187         (WebCore::JSTestMediaQueryListListener::createStructure):
29188         (WebCore::JSTestMediaQueryListListener::impl):
29189         (WebCore::JSTestMediaQueryListListenerPrototype::classInfo):
29190         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
29191         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
29192         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Added.
29193         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Added.
29194         (-[DOMTestMediaQueryListListener dealloc]):
29195         (-[DOMTestMediaQueryListListener finalize]):
29196         (-[DOMTestMediaQueryListListener method:]):
29197         (core):
29198         (kit):
29199         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Added.
29200         * bindings/scripts/test/TestMediaQueryListListener.idl: Added.
29201         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Added.
29202         (WebCore::TestMediaQueryListListenerInternal::V8_USE):
29203         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
29204         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
29205         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
29206         (WebCore::V8TestMediaQueryListListener::GetTemplate):
29207         (WebCore::V8TestMediaQueryListListener::HasInstance):
29208         (WebCore::V8TestMediaQueryListListener::wrapSlow):
29209         (WebCore::V8TestMediaQueryListListener::derefObject):
29210         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Added.
29211         (WebCore::V8TestMediaQueryListListener::toNative):
29212         (WebCore::V8TestMediaQueryListListener::wrap):
29213         (WebCore::toV8):
29214
29215 2010-10-21  takano takumi  <takano1@asia.apple.com>
29216
29217         Reviewed by Dan Bernstein.
29218
29219         Need to swap glyphs for vertical writing
29220         https://bugs.webkit.org/show_bug.cgi?id=46973
29221
29222         Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
29223         and ultimately to CoreText APIs in both font complex path and fast path.
29224
29225         Tests: fast/text/international/vertical-text-glyph-test.html
29226                fast/text/international/vertical-text-metrics-test.html
29227
29228         * WebCore.exp.in:
29229         * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
29230         * css/CSSFontFaceSource.cpp:
29231         (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
29232         * css/CSSStyleSelector.cpp:
29233         (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
29234         when writing-mode is being specified.
29235         * loader/CachedFont.cpp:
29236         (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
29237         * loader/CachedFont.h:
29238         * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
29239         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
29240         (WebCore::FontPlatformDataCacheKey::operator==):
29241         (WebCore::computeHash):
29242         (WebCore::FontCache::getCachedFontPlatformData):
29243         * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
29244         (WebCore::FontDescription::FontDescription):
29245         (WebCore::FontDescription::orientation):
29246         (WebCore::FontDescription::setOrientation):
29247         (WebCore::FontDescription::operator==):
29248         * platform/graphics/FontOrientation.h: Added.
29249         * platform/graphics/SimpleFontData.h:
29250         * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29251         (WebCore::FontCustomPlatformData::fontPlatformData):
29252         * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29253         * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
29254         (WebCore::FontPlatformData::FontPlatformData):
29255         (WebCore::FontPlatformData::orientation):
29256         (WebCore::FontPlatformData::hash):
29257         (WebCore::FontPlatformData::operator==):
29258         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
29259         (WebCore::FontPlatformData::FontPlatformData):
29260         (WebCore::FontPlatformData::operator=):
29261         (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
29262         (WebCore::FontPlatformData::description):
29263         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
29264         (WebCore::FontCustomPlatformData::fontPlatformData):
29265         * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29266         (WebCore::FontCustomPlatformData::fontPlatformData):
29267         * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29268         * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
29269         (WebCore::FontCache::getFontDataForCharacters):
29270         (WebCore::FontCache::createFontPlatformData):
29271         * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
29272         (WebCore::FontCustomPlatformData::fontPlatformData):
29273         * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
29274         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
29275         (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
29276         CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
29277         * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
29278         (WebCore::SimpleFontData::getCFStringAttributes):
29279         * platform/graphics/mac/SimpleFontDataMac.mm:
29280         (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
29281         (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
29282         to get vertical metrics when the font orientation is vertical.
29283         * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29284         * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
29285         (WebCore::FontCustomPlatformData::fontPlatformData):
29286         * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29287         (WebCore::FontCustomPlatformData::fontPlatformData):
29288         * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29289         * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29290         (WebCore::FontCustomPlatformData::fontPlatformData):
29291         * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29292         * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
29293         (WebCore::FontCustomPlatformData::fontPlatformData):
29294         * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
29295         * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29296         (WebCore::FontCustomPlatformData::fontPlatformData):
29297         * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29298         * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29299         (WebCore::FontCustomPlatformData::fontPlatformData):
29300         * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29301
29302 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
29303
29304         Reviewed by Dirk Schulze.
29305
29306         Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings)
29307         https://bugs.webkit.org/show_bug.cgi?id=47905
29308
29309         Tests: svg/dom/SVGLengthList-appendItem.xhtml
29310                svg/dom/SVGLengthList-basics.xhtml
29311                svg/dom/SVGLengthList-getItem.xhtml
29312                svg/dom/SVGLengthList-initialize.xhtml
29313                svg/dom/SVGLengthList-insertItemBefore.xhtml
29314                svg/dom/SVGLengthList-removeItem.xhtml
29315                svg/dom/SVGLengthList-replaceItem.xhtml
29316                svg/dom/SVGLengthList-xml-dom-modifications.xhtml
29317
29318         Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings.
29319
29320         Concrete example:
29321         The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'.
29322         Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations),
29323         both of type 'SVGLength'. These objects are all _live_. That means you can do:
29324         var foobar = rect.x.baseVal; foobar.value += 150;
29325
29326         If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects
29327         in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store
29328         SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all.
29329
29330         In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>.
29331         When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength).
29332         This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM.
29333         Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly.
29334
29335         The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement).
29336         Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper.
29337
29338         It works like this:
29339         A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute.
29340         It also stores a RefPtr to the SVGElement that created it.
29341         
29342         In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength>
29343         object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap.
29344
29345         The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList).
29346         SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and
29347         SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr.
29348         The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example:
29349         When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr.
29350         When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement.
29351         Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods.
29352         This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail).
29353
29354         The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes
29355         like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.)
29356         is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all.
29357         SVGLengthList is live just like most other SVG DOM object. Concrete example:
29358         var item0 = text.x.baseVal.getItem(0); item0.value += 150;
29359
29360         Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM
29361         w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object
29362         around the real object 'SVGLength'. This complexity is completly gone.
29363
29364         The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength>
29365         wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects
29366         store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized.
29367         The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases.
29368
29369         This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept.
29370         This will change in follow-up patches.
29371
29372         * GNUmakefile.am: Add new files from svg/properties to build.
29373         * WebCore.gypi: Ditto.
29374         * WebCore.pro: Ditto.
29375         * WebCore.vcproj/WebCore.vcproj: Ditto.
29376         * WebCore.xcodeproj/project.pbxproj: Ditto.
29377         * bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
29378         (WebCore::JSSVGLength::value):
29379         (WebCore::JSSVGLength::convertToSpecifiedUnits):
29380         * bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList".
29381         * bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper.
29382         * bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C).
29383         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
29384         * bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
29385         (WebCore::V8SVGLength::valueAccessorGetter):
29386         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
29387         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
29388         (WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference.
29389         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now.
29390         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
29391         * svg/SVGAnimatedLength.h: Added.
29392         * svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty].
29393         * svg/SVGAnimatedLengthList.h: Added.
29394         * svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty].
29395         * svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
29396         * svg/SVGCursorElement.h: Ditto.
29397         * svg/SVGEllipseElement.h: Ditto.
29398         * svg/SVGFilterElement.h: Ditto.
29399         * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
29400         * svg/SVGForeignObjectElement.h: Ditto.
29401         * svg/SVGImageElement.h: Ditto.
29402         * svg/SVGLength.idl: Mark as [SVGProperty].
29403         * svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now.
29404         (WebCore::SVGLengthList::parse): 
29405         (WebCore::SVGLengthList::valueAsString):
29406         * svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now.
29407         (WebCore::SVGLengthList::SVGLengthList):
29408         * svg/SVGLengthList.idl: Mark as [SVGListProperty].
29409         * svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
29410         * svg/SVGLinearGradientElement.h: Ditto.
29411         * svg/SVGMarkerElement.h: Ditto.
29412         * svg/SVGMaskElement.h: Ditto.
29413         * svg/SVGPatternElement.h: Ditto.
29414         * svg/SVGRadialGradientElement.h: Ditto.
29415         * svg/SVGRectElement.h: Ditto.
29416         * svg/SVGSVGElement.h: Ditto.
29417         * svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created.
29418         * svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
29419         * svg/SVGTextPathElement.h: Ditto.
29420         * svg/SVGTextPositioningElement.cpp:
29421         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
29422         (WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM.
29423         (WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now.
29424         * svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished.
29425         * svg/SVGUseElement.h:
29426         * svg/properties/SVGAnimatedListPropertyTearOff.h: Added.
29427         * svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff.
29428         * svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h.
29429         * svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished.
29430         * svg/properties/SVGAnimatedPropertyTearOff.h: Added.
29431         * svg/properties/SVGListPropertyTearOff.h: Added.
29432         * svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff.
29433         * svg/properties/SVGPropertyTearOff.h: Added.
29434         * svg/properties/SVGPropertyTraits.h: Added.
29435
29436 2010-10-21  Alex Milowski  <alex@milowski.com>
29437
29438         Reviewed by Kenneth Rohde Christiansen.
29439
29440         Changed the layout algorithm for rows to avoid unnecessary recursion
29441         into child rows.  This solves the long rendering time experienced in
29442         https://bugs.webkit.org/show_bug.cgi?id=43462 as well as reports in
29443         various other bugs.  The change in the algorithm required some
29444         tweaks to other rendering objects to make sure that the baseline
29445         alignment still works.
29446
29447         In addition, an attempt was made to go through the various
29448         rendering objects for MathML and reduce unnecessary calls that
29449         mark the tree in need of layout.
29450
29451         * mathml/RenderMathMLFenced.cpp:
29452         * mathml/RenderMathMLFenced.h:
29453         * mathml/RenderMathMLFraction.cpp:
29454         (WebCore::RenderMathMLFraction::layout):
29455         * mathml/RenderMathMLOperator.cpp:
29456         (WebCore::RenderMathMLOperator::stretchToHeight):
29457         * mathml/RenderMathMLRoot.cpp:
29458         (WebCore::RenderMathMLRoot::layout):
29459         * mathml/RenderMathMLRow.cpp:
29460         (WebCore::RenderMathMLRow::layout):
29461         * mathml/RenderMathMLRow.h:
29462         (WebCore::RenderMathMLRow::stretchToHeight):
29463         * mathml/RenderMathMLSubSup.cpp:
29464         (WebCore::RenderMathMLSubSup::addChild):
29465         (WebCore::RenderMathMLSubSup::stretchToHeight):
29466         (WebCore::RenderMathMLSubSup::nonOperatorHeight):
29467         (WebCore::RenderMathMLSubSup::layout):
29468         (WebCore::RenderMathMLSubSup::baselinePosition):
29469         * mathml/RenderMathMLUnderOver.cpp:
29470         (WebCore::RenderMathMLUnderOver::stretchToHeight):
29471         (WebCore::RenderMathMLUnderOver::layout):
29472         (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
29473         * mathml/mathtags.in:
29474
29475 2010-10-21  Evan Martin  <evan@chromium.org>
29476
29477         Reviewed by Tony Chang.
29478
29479         sqlite: show extended error codes in error logs
29480         https://bugs.webkit.org/show_bug.cgi?id=47859
29481
29482         SQLite can provide "extended" error codes, where extra information
29483         about the error is potentially encoded in the high bits of the error
29484         code.  It's only off by default in case older apps rely on equality
29485         testing on the older error codes, which WebKit doesn't do.
29486
29487         * platform/sql/SQLiteDatabase.cpp:
29488         (WebCore::SQLiteDatabase::open):
29489         * platform/sql/SQLiteStatement.cpp:
29490         (WebCore::SQLiteStatement::step):
29491
29492 2010-10-21  Yuta Kitamura  <yutak@chromium.org>
29493
29494         Reviewed by Yury Semikhatsky.
29495
29496         Web Inspector: Handle WebSocket events via InspectorInstrumentation
29497         https://bugs.webkit.org/show_bug.cgi?id=47968
29498
29499         * inspector/InspectorInstrumentation.cpp:
29500         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
29501         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
29502         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
29503         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
29504         * inspector/InspectorInstrumentation.h:
29505         (WebCore::InspectorInstrumentation::didCreateWebSocket):
29506         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
29507         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
29508         (WebCore::InspectorInstrumentation::didCloseWebSocket):
29509         * websockets/WebSocketChannel.cpp:
29510         (WebCore::WebSocketChannel::WebSocketChannel):
29511         Now we do not depend on InspectorController to generate a resource identifier.
29512         (WebCore::WebSocketChannel::disconnect):
29513         Check if m_identifier is valid in case we could not obtain an identifier.
29514         (WebCore::WebSocketChannel::didOpen):
29515         (WebCore::WebSocketChannel::didClose):
29516         (WebCore::WebSocketChannel::processBuffer):
29517         * websockets/WebSocketChannel.h:
29518
29519 2010-10-20  Pavel Feldman  <pfeldman@chromium.org>
29520
29521         Reviewed by Yury Semikhatsky.
29522
29523         Web Inspector: Convert sidebar into the browsing tree in the Storage panel.
29524         https://bugs.webkit.org/show_bug.cgi?id=47988
29525
29526         * English.lproj/localizedStrings.js:
29527         * inspector/front-end/ApplicationCacheItemsView.js:
29528         (WebInspector.ApplicationCacheItemsView):
29529         * inspector/front-end/ConsoleView.js:
29530         (WebInspector.ConsoleMessage.prototype._formatMessage):
29531         * inspector/front-end/CookieItemsView.js:
29532         (WebInspector.CookieItemsView):
29533         * inspector/front-end/DatabaseTableView.js:
29534         (WebInspector.DatabaseTableView.prototype._queryFinished):
29535         * inspector/front-end/StoragePanel.js:
29536         (WebInspector.StoragePanel):
29537         (WebInspector.StoragePanel.prototype.reset):
29538         (WebInspector.StoragePanel.prototype.addDatabase):
29539         (WebInspector.StoragePanel.prototype.addCookieDomain):
29540         (WebInspector.StoragePanel.prototype.addDOMStorage):
29541         (WebInspector.StoragePanel.prototype.addApplicationCache):
29542         (WebInspector.StoragePanel.prototype.showDatabase):
29543         (WebInspector.StoragePanel.prototype.showDOMStorage):
29544         (WebInspector.StoragePanel.prototype.showCookies):
29545         (WebInspector.StoragePanel.prototype.showApplicationCache):
29546         (WebInspector.StoragePanel.prototype.showCategoryView):
29547         (WebInspector.StoragePanel.prototype._innerShowView):
29548         (WebInspector.BaseStorageTreeElement):
29549         (WebInspector.BaseStorageTreeElement.prototype.onattach):
29550         (WebInspector.StorageCategoryTreeElement):
29551         (WebInspector.StorageCategoryTreeElement.prototype.onselect):
29552         (WebInspector.DatabaseTreeElement):
29553         (WebInspector.DatabaseTreeElement.prototype.onselect):
29554         (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback):
29555         (WebInspector.DatabaseTreeElement.prototype.onpopulate):
29556         (WebInspector.DatabaseTableTreeElement):
29557         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
29558         (WebInspector.DOMStorageTreeElement):
29559         (WebInspector.DOMStorageTreeElement.prototype.onselect):
29560         (WebInspector.CookieTreeElement):
29561         (WebInspector.CookieTreeElement.prototype.onselect):
29562         (WebInspector.ApplicationCacheTreeElement):
29563         (WebInspector.ApplicationCacheTreeElement.prototype.onselect):
29564         (WebInspector.StorageCategoryView):
29565         (WebInspector.StorageCategoryView.prototype.setText):
29566         * inspector/front-end/inspector.css:
29567         (.properties-tree ol):
29568         (.properties-tree ol.expanded):
29569         (.database-storage-tree-item .icon):
29570         (.database-table-storage-tree-item .icon):
29571         (.domstorage-storage-tree-item.local-storage .icon):
29572         (.domstorage-storage-tree-item.session-storage .icon):
29573         (.cookie-storage-tree-item .icon):
29574         (.application-cache-storage-tree-item .icon):
29575         (.storage.panel .sidebar):
29576         (.storage.panel .outline-disclosure > ol):
29577         (.storage.panel .outline-disclosure li):
29578         (.storage.panel .outline-disclosure li .selection):
29579         (.storage.panel .sidebar-resizer-vertical):
29580         (.storage-base-tree-element-title):
29581         (.storage.panel .outline-disclosure ol):
29582         (.storage.panel .outline-disclosure li.selected):
29583         (.storage.panel .outline-disclosure .icon):
29584         (.storage-empty-view, .storage-view.table .storage-table-error):
29585
29586 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
29587
29588         Reviewed by Martin Robinson.
29589
29590         [GTK] Replace encodings multi-dimensional array with calls to registrar method
29591         https://bugs.webkit.org/show_bug.cgi?id=47990
29592
29593         * platform/text/gtk/TextCodecGtk.cpp:
29594         (WebCore::isEncodingAvailable):
29595         (WebCore::registerEncodingNameIfAvailable):
29596         (WebCore::registerEncodingAliasIfAvailable):
29597         (WebCore::registerCodecIfAvailable):
29598         (WebCore::TextCodecGtk::registerBaseEncodingNames):
29599         (WebCore::TextCodecGtk::registerBaseCodecs):
29600         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
29601         (WebCore::TextCodecGtk::registerExtendedCodecs):
29602         (WebCore::TextCodecGtk::createIConvDecoder):
29603         (WebCore::TextCodecGtk::createIConvEncoder):
29604         * platform/text/gtk/TextCodecGtk.h:
29605
29606 2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
29607
29608         Unreviewed, rolling out r70040.
29609         http://trac.webkit.org/changeset/70040
29610         https://bugs.webkit.org/show_bug.cgi?id=48042
29611
29612         "Reverting a performance regression detected by page_cycler"
29613         (Requested by hayato on #webkit).
29614
29615         * css/CSSStyleSelector.cpp:
29616         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
29617         (WebCore::CSSStyleSelector::checkSelector):
29618         * css/CSSStyleSelector.h:
29619
29620 2010-10-19  Simon Fraser  <simon.fraser@apple.com>
29621
29622         Reviewed by Gavin Barraclough.
29623
29624         https://bugs.webkit.org/show_bug.cgi?id=47851
29625         
29626         Avoid buffer overflows in CSSPrimitiveValue's use of 
29627         DecimalNumber, and pass the buffer size in InspectorBasicValue.
29628
29629         Test: fast/css/large-value-csstext.html
29630
29631         * css/CSSPrimitiveValue.cpp:
29632         (WebCore::formatNumber):
29633         * inspector/InspectorValues.cpp:
29634         (WebCore::InspectorBasicValue::writeJSON):
29635
29636 2010-10-20  Dumitru Daniliuc  <dumi@chromium.org>
29637
29638         Reviewed by David Levin.
29639
29640         Add SecurityOrigin::threadsafeCopy() to the list of exported symbols.
29641         https://bugs.webkit.org/show_bug.cgi?id=40655
29642
29643         * WebCore.exp.in:
29644
29645 2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
29646
29647         Unreviewed, rolling out r70165.
29648         http://trac.webkit.org/changeset/70165
29649         https://bugs.webkit.org/show_bug.cgi?id=48007
29650
29651         It broke tests on Qt bot (Requested by Ossy on #webkit).
29652
29653         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
29654         * bindings/js/ScriptSourceCode.h:
29655         (WebCore::ScriptSourceCode::ScriptSourceCode):
29656         * bindings/v8/ScheduledAction.cpp:
29657         (WebCore::ScheduledAction::ScheduledAction):
29658         * bindings/v8/ScriptController.cpp:
29659         (WebCore::ScriptController::eventHandlerLineNumber):
29660         (WebCore::ScriptController::eventHandlerColumnNumber):
29661         * bindings/v8/ScriptController.h:
29662         * bindings/v8/ScriptEventListener.cpp:
29663         (WebCore::createAttributeEventListener):
29664         * bindings/v8/ScriptSourceCode.h:
29665         (WebCore::ScriptSourceCode::ScriptSourceCode):
29666         (WebCore::ScriptSourceCode::startLine):
29667         * bindings/v8/V8LazyEventListener.cpp:
29668         (WebCore::V8LazyEventListener::V8LazyEventListener):
29669         (WebCore::V8LazyEventListener::prepareListenerObject):
29670         * bindings/v8/V8LazyEventListener.h:
29671         (WebCore::V8LazyEventListener::create):
29672         * bindings/v8/V8Proxy.cpp:
29673         (WebCore::V8Proxy::compileScript):
29674         (WebCore::V8Proxy::evaluate):
29675         (WebCore::V8Proxy::runScript):
29676         * bindings/v8/V8Proxy.h:
29677         * bindings/v8/WorkerContextExecutionProxy.cpp:
29678         (WebCore::WorkerContextExecutionProxy::evaluate):
29679         (WebCore::WorkerContextExecutionProxy::runScript):
29680         * bindings/v8/WorkerContextExecutionProxy.h:
29681         * bindings/v8/WorkerScriptController.cpp:
29682         (WebCore::WorkerScriptController::evaluate):
29683         * dom/PendingScript.cpp:
29684         (WebCore::PendingScript::releaseElementAndClear):
29685         * dom/PendingScript.h:
29686         (WebCore::PendingScript::PendingScript):
29687         (WebCore::PendingScript::operator=):
29688         (WebCore::PendingScript::startingLineNumber):
29689         * dom/ScriptableDocumentParser.h:
29690         * dom/XMLDocumentParser.h:
29691         * dom/XMLDocumentParserLibxml2.cpp:
29692         (WebCore::XMLDocumentParser::XMLDocumentParser):
29693         (WebCore::XMLDocumentParser::startElementNs):
29694         (WebCore::XMLDocumentParser::endElementNs):
29695         (WebCore::XMLDocumentParser::lineNumber):
29696         (WebCore::XMLDocumentParser::columnNumber):
29697         * dom/XMLDocumentParserQt.cpp:
29698         (WebCore::XMLDocumentParser::XMLDocumentParser):
29699         (WebCore::XMLDocumentParser::parseStartElement):
29700         (WebCore::XMLDocumentParser::parseEndElement):
29701         * html/parser/HTMLDocumentParser.cpp:
29702         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
29703         (WebCore::HTMLDocumentParser::columnNumber):
29704         * html/parser/HTMLDocumentParser.h:
29705         * html/parser/HTMLScriptRunner.cpp:
29706         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
29707         (WebCore::HTMLScriptRunner::execute):
29708         (WebCore::HTMLScriptRunner::runScript):
29709         * html/parser/HTMLScriptRunner.h:
29710         * html/parser/HTMLTreeBuilder.cpp:
29711         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
29712         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
29713         (WebCore::HTMLTreeBuilder::processEndTag):
29714         (WebCore::HTMLTreeBuilder::processScriptStartTag):
29715         * html/parser/HTMLTreeBuilder.h:
29716
29717 2010-10-20  David Hyatt  <hyatt@apple.com>
29718
29719         Reviewed by Dan Bernstein.
29720
29721         https://bugs.webkit.org/show_bug.cgi?id=48001
29722
29723         Make boxes place themselves properly in the block direction.  Get basic painting working for spans and add a test that
29724         verifies that span painting and replaced element painting (like images) works correctly.
29725         
29726         Added fast/blockflow/basic-vertical-line.html
29727
29728         * rendering/InlineBox.cpp:
29729         (WebCore::InlineBox::logicalHeight):
29730         * rendering/InlineFlowBox.cpp:
29731         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
29732         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
29733         (WebCore::verticalPositionForBox):
29734         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
29735         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
29736         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
29737         (WebCore::InlineFlowBox::paintBoxDecorations):
29738         (WebCore::InlineFlowBox::paintMask):
29739         * rendering/InlineFlowBox.h:
29740         * rendering/style/RenderStyle.h:
29741         (WebCore::InheritedFlags::isFlippedLinesWritingMode):
29742
29743 2010-10-20  Beth Dakin  <bdakin@apple.com>
29744
29745         Reviewed by Dave Hyatt.
29746
29747         Fix for https://bugs.webkit.org/show_bug.cgi?id=47514 CSS 
29748         transforms should affect scrolling
29749
29750         This patch causes topmostPosition, lowestPosition, 
29751         leftmostPosition, and rightmostPosition to take transforms into 
29752         account.
29753
29754         Compute the topmost/lowest/leftmost/rightmost position without 
29755         factoring in the block's transform until the end.
29756         * rendering/RenderBlock.cpp:
29757         (WebCore::RenderBlock::topmostPosition):
29758         (WebCore::RenderBlock::lowestPosition):
29759         (WebCore::RenderBlock::rightmostPosition):
29760         (WebCore::RenderBlock::leftmostPosition):
29761         * rendering/RenderBlock.h:
29762
29763         transformedFrameRect() returns the frameRect() transformed to the 
29764         layer's transform. applyLayerTransformToRect() does the same thing 
29765         for the input rect.
29766         * rendering/RenderBox.cpp:
29767         (WebCore::RenderBox::applyLayerTransformToRect):
29768         (WebCore::RenderBox::transformedFrameRect):
29769         (WebCore::RenderBox::topmostPosition):
29770         (WebCore::RenderBox::lowestPosition):
29771         (WebCore::RenderBox::rightmostPosition):
29772         (WebCore::RenderBox::leftmostPosition):
29773         * rendering/RenderBox.h:
29774         * rendering/RenderMedia.cpp:
29775         (WebCore::RenderMedia::topmostPosition):
29776         (WebCore::RenderMedia::lowestPosition):
29777         (WebCore::RenderMedia::rightmostPosition):
29778         (WebCore::RenderMedia::leftmostPosition):
29779         * rendering/RenderMedia.h:
29780         * rendering/RenderTableSection.cpp:
29781         (WebCore::RenderTableSection::topmostPosition):
29782         (WebCore::RenderTableSection::lowestPosition):
29783         (WebCore::RenderTableSection::rightmostPosition):
29784         (WebCore::RenderTableSection::leftmostPosition):
29785         * rendering/RenderTableSection.h:
29786
29787 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
29788
29789         Not reviewed.
29790
29791         Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
29792         https://bugs.webkit.org/show_bug.cgi?id=47973
29793
29794         Copy headers from svg/properties, otherwhise builds from scratch on win are broken.
29795
29796         * WebCore.vcproj/copyForwardingHeaders.cmd:
29797
29798 2010-10-20  Peter Rybin  <peter.rybin@gmail.com>
29799
29800         Reviewed by Adam Barth.
29801
29802         HTML parser should provide script column position within HTML document to JavaScript engine
29803         https://bugs.webkit.org/show_bug.cgi?id=45271
29804
29805         Replaces line number with TextPosition struct so that script engine
29806         gets script starting line/column.
29807
29808         * ForwardingHeaders/wtf/text/TextPosition.h: Added.
29809         * bindings/js/ScriptSourceCode.h:
29810         (WebCore::ScriptSourceCode::ScriptSourceCode):
29811         * bindings/v8/ScheduledAction.cpp:
29812         (WebCore::ScheduledAction::ScheduledAction):
29813         * bindings/v8/ScriptController.cpp:
29814         (WebCore::ScriptController::eventHandlerPosition):
29815         * bindings/v8/ScriptController.h:
29816         * bindings/v8/ScriptEventListener.cpp:
29817         (WebCore::createAttributeEventListener):
29818         * bindings/v8/ScriptSourceCode.h:
29819         (WebCore::ScriptSourceCode::ScriptSourceCode):
29820         (WebCore::ScriptSourceCode::startLine):
29821         (WebCore::ScriptSourceCode::startPosition):
29822         * bindings/v8/V8LazyEventListener.cpp:
29823         (WebCore::V8LazyEventListener::V8LazyEventListener):
29824         (WebCore::V8LazyEventListener::prepareListenerObject):
29825         * bindings/v8/V8LazyEventListener.h:
29826         (WebCore::V8LazyEventListener::create):
29827         * bindings/v8/V8Proxy.cpp:
29828         (WebCore::V8Proxy::compileScript):
29829         (WebCore::V8Proxy::evaluate):
29830         (WebCore::V8Proxy::runScript):
29831         * bindings/v8/V8Proxy.h:
29832         * bindings/v8/WorkerContextExecutionProxy.cpp:
29833         (WebCore::WorkerContextExecutionProxy::evaluate):
29834         (WebCore::WorkerContextExecutionProxy::runScript):
29835         * bindings/v8/WorkerContextExecutionProxy.h:
29836         * bindings/v8/WorkerScriptController.cpp:
29837         (WebCore::WorkerScriptController::evaluate):
29838         * dom/PendingScript.cpp:
29839         (WebCore::PendingScript::releaseElementAndClear):
29840         * dom/PendingScript.h:
29841         (WebCore::PendingScript::PendingScript):
29842         (WebCore::PendingScript::operator=):
29843         (WebCore::PendingScript::startingPosition):
29844         * dom/ScriptableDocumentParser.h:
29845         * dom/XMLDocumentParser.h:
29846         * dom/XMLDocumentParserLibxml2.cpp:
29847         (WebCore::XMLDocumentParser::XMLDocumentParser):
29848         (WebCore::XMLDocumentParser::startElementNs):
29849         (WebCore::XMLDocumentParser::endElementNs):
29850         (WebCore::XMLDocumentParser::lineNumber):
29851         (WebCore::XMLDocumentParser::columnNumber):
29852         (WebCore::XMLDocumentParser::textPosition):
29853         (WebCore::XMLDocumentParser::textPositionOneBased):
29854         * dom/XMLDocumentParserQt.cpp:
29855         (WebCore::XMLDocumentParser::XMLDocumentParser):
29856         (WebCore::XMLDocumentParser::textPosition):
29857         (WebCore::XMLDocumentParser::parseStartElement):
29858         (WebCore::XMLDocumentParser::parseEndElement):
29859         * html/parser/HTMLDocumentParser.cpp:
29860         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
29861         (WebCore::HTMLDocumentParser::textPosition):
29862         * html/parser/HTMLDocumentParser.h:
29863         * html/parser/HTMLScriptRunner.cpp:
29864         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
29865         (WebCore::HTMLScriptRunner::execute):
29866         (WebCore::HTMLScriptRunner::runScript):
29867         * html/parser/HTMLScriptRunner.h:
29868         * html/parser/HTMLTreeBuilder.cpp:
29869         (WebCore::uninitializedPositionValue1):
29870         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
29871         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
29872         (WebCore::HTMLTreeBuilder::processEndTag):
29873         (WebCore::HTMLTreeBuilder::processScriptStartTag):
29874         * html/parser/HTMLTreeBuilder.h:
29875
29876 2010-10-20  David Hyatt  <hyatt@apple.com>
29877
29878         Reviewed by Simon Fraser.
29879
29880         https://bugs.webkit.org/show_bug.cgi?id=47994
29881         
29882         Make computeBlockDirectionPositionsForLine writing-mode-aware.  None of the functions it calls are patched yet.
29883
29884         * rendering/RenderBlockLineLayout.cpp:
29885         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
29886
29887 2010-10-20  John Abd-El-Malek  <jam@chromium.org>
29888
29889         Reviewed by Darin Fisher.
29890
29891         [chromium] Fix crash when mousing over scrollview
29892         https://bugs.webkit.org/show_bug.cgi?id=47956
29893
29894         Test: plugins/mouse-move-over-plugin-in-frame.html
29895
29896         * platform/Widget.h:
29897         (WebCore::Widget::isPluginContainer):
29898
29899 2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
29900
29901         Unreviewed, rolling out r70149.
29902         http://trac.webkit.org/changeset/70149
29903         https://bugs.webkit.org/show_bug.cgi?id=47989
29904
29905         "Build breaks in mac and win" (Requested by satish on
29906         #webkit).
29907
29908         * dom/Element.cpp:
29909         (WebCore::Element::computeInheritedLanguage):
29910         * page/SpeechInput.cpp:
29911         (WebCore::SpeechInput::startRecognition):
29912         * page/SpeechInput.h:
29913         * page/SpeechInputClient.h:
29914         * platform/mock/SpeechInputClientMock.cpp:
29915         (WebCore::SpeechInputClientMock::startRecognition):
29916         (WebCore::SpeechInputClientMock::setRecognitionResult):
29917         (WebCore::SpeechInputClientMock::timerFired):
29918         * platform/mock/SpeechInputClientMock.h:
29919         * rendering/TextControlInnerElements.cpp:
29920         (WebCore::TextControlInnerElement::attachInnerElement):
29921         (WebCore::SearchFieldCancelButtonElement::detach):
29922         (WebCore::SpinButtonElement::defaultEventHandler):
29923         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
29924         (WebCore::InputFieldSpeechButtonElement::detach):
29925
29926 2010-10-20  Leandro Gracia Gil  <leandrogracia@google.com>
29927
29928         Reviewed by Jeremy Orlow.
29929
29930         Patch the current speech input implementation to use and validate the
29931         nearest language tag. The language is now passed to the startRecognition
29932         methods so that language-specific recognition could be used. Also added
29933         a second parameter to setMockSpeechInputResult for the language used in
29934         speech recognition.
29935         https://bugs.webkit.org/show_bug.cgi?id=47089
29936
29937         This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
29938         details see http://codereview.chromium.org/3615005/show and
29939         http://codereview.chromium.org/3595018/show.
29940
29941         Test: fast/speech/input-text-language-tag.html
29942
29943         * dom/Element.cpp:
29944         (WebCore::Element::computeInheritedLanguage): includes a brief character
29945           validation for the BCP 47 language tag.
29946         * page/SpeechInput.cpp:
29947         (WebCore::SpeechInput::startRecognition):
29948         * page/SpeechInput.h:
29949         * page/SpeechInputClient.h:
29950         * platform/mock/SpeechInputClientMock.cpp:
29951         (WebCore::SpeechInputClientMock::startRecognition):
29952         (WebCore::SpeechInputClientMock::setRecognitionResult): results are now
29953           stored by language using a hash map.
29954         (WebCore::SpeechInputClientMock::timerFired):
29955         * platform/mock/SpeechInputClientMock.h:
29956         * rendering/TextControlInnerElements.cpp:
29957         (WebCore::TextControlInnerElement::attachInnerElement):
29958         (WebCore::SearchFieldCancelButtonElement::detach):
29959         (WebCore::SpinButtonElement::defaultEventHandler):
29960         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
29961         (WebCore::InputFieldSpeechButtonElement::detach):
29962
29963 2010-10-20  Dirk Schulze  <krit@webkit.org>
29964
29965         Reviewed by Nikolas Zimmermann.
29966
29967         Merge ColorSpace and ImageColorSpace enums
29968         https://bugs.webkit.org/show_bug.cgi?id=47922
29969
29970         Merging these two enums makes it easier to implement color-interpolation as well as
29971         color-interpolation-filter for SVG.
29972         Added ColorSpaceLinearRGB to the ColorSpace enum and changed ImageColorSpace to ColorSpace in all related
29973         files. Renamed enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
29974         to follow webkit style rules.
29975         Removed gray scale support in ImageBuffer since it is not used anymore on WebKit.
29976
29977         * css/CSSPrimitiveValueMappings.h:
29978         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
29979         (WebCore::CSSPrimitiveValue::operator ColorSpace):
29980         * css/CSSStyleSelector.cpp:
29981         (WebCore::CSSStyleSelector::applyProperty):
29982         * editing/SelectionController.cpp:
29983         (WebCore::SelectionController::paintCaret):
29984         * html/HTMLCanvasElement.cpp:
29985         (WebCore::HTMLCanvasElement::paint):
29986         * html/canvas/CanvasRenderingContext2D.cpp:
29987         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
29988         (WebCore::CanvasRenderingContext2D::setShadow):
29989         (WebCore::CanvasRenderingContext2D::applyShadow):
29990         (WebCore::CanvasRenderingContext2D::drawImage):
29991         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
29992         (WebCore::CanvasRenderingContext2D::drawTextInternal):
29993         * html/canvas/CanvasStyle.cpp:
29994         (WebCore::CanvasStyle::applyStrokeColor):
29995         (WebCore::CanvasStyle::applyFillColor):
29996         * inspector/InspectorController.cpp:
29997         (WebCore::drawOutlinedQuad):
29998         (WebCore::InspectorController::drawElementTitle):
29999         * mathml/RenderMathMLBlock.cpp:
30000         (WebCore::RenderMathMLBlock::paint):
30001         * mathml/RenderMathMLFraction.cpp:
30002         (WebCore::RenderMathMLFraction::paint):
30003         * mathml/RenderMathMLRoot.cpp:
30004         (WebCore::RenderMathMLRoot::paint):
30005         * mathml/RenderMathMLSquareRoot.cpp:
30006         (WebCore::RenderMathMLSquareRoot::paint):
30007         * page/FrameView.cpp:
30008         (WebCore::FrameView::paintContents):
30009         * page/PrintContext.cpp:
30010         (WebCore::PrintContext::spoolAllPagesWithBoundaries):
30011         * platform/ScrollView.cpp:
30012         (WebCore::ScrollView::wheelEvent):
30013         * platform/ScrollbarTheme.h:
30014         (WebCore::ScrollbarTheme::paintScrollCorner):
30015         * platform/ScrollbarThemeComposite.cpp:
30016         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
30017         * platform/chromium/PopupMenuChromium.cpp:
30018         (WebCore::PopupContainer::paintBorder):
30019         (WebCore::PopupListBox::paint):
30020         (WebCore::PopupListBox::paintRow):
30021         * platform/chromium/ScrollbarThemeChromium.cpp:
30022         (WebCore::ScrollbarThemeChromium::paintTickmarks):
30023         * platform/chromium/ScrollbarThemeChromiumMac.mm:
30024         (WebCore::ScrollbarThemeChromiumMac::paint):
30025         * platform/graphics/ColorSpace.h:
30026         * platform/graphics/GraphicsContext.cpp:
30027         (WebCore::GraphicsContext::setStrokePattern):
30028         (WebCore::GraphicsContext::setFillPattern):
30029         (WebCore::GraphicsContext::setStrokeGradient):
30030         (WebCore::GraphicsContext::setFillGradient):
30031         * platform/graphics/GraphicsContextPrivate.h:
30032         (WebCore::GraphicsContextState::GraphicsContextState):
30033         * platform/graphics/ImageBuffer.cpp:
30034         (WebCore::ImageBuffer::transformColorSpace):
30035         * platform/graphics/ImageBuffer.h:
30036         (WebCore::ImageBuffer::create):
30037         * platform/graphics/cairo/ImageBufferCairo.cpp:
30038         (WebCore::ImageBuffer::ImageBuffer):
30039         * platform/graphics/cg/ColorCG.cpp:
30040         (WebCore::cachedCGColorSpace):
30041         (WebCore::cachedCGColor):
30042         * platform/graphics/cg/GraphicsContextCG.cpp:
30043         (WebCore::linearRGBColorSpaceRef):
30044         * platform/graphics/cg/GraphicsContextCG.h:
30045         * platform/graphics/cg/ImageBufferCG.cpp:
30046         (WebCore::ImageBuffer::ImageBuffer):
30047         (WebCore::cgImage):
30048         (WebCore::ImageBuffer::draw):
30049         * platform/graphics/cg/ImageBufferData.h:
30050         * platform/graphics/cg/ImageCG.cpp:
30051         (WebCore::imageWithColorSpace):
30052         * platform/graphics/chromium/GLES2Canvas.cpp:
30053         (WebCore::GLES2Canvas::clearRect):
30054         (WebCore::GLES2Canvas::fillRect):
30055         * platform/graphics/chromium/TransparencyWin.cpp:
30056         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
30057         * platform/graphics/filters/FEColorMatrix.cpp:
30058         (WebCore::FEColorMatrix::apply):
30059         * platform/graphics/filters/FEComposite.cpp:
30060         (WebCore::FEComposite::apply):
30061         * platform/graphics/filters/FEFlood.cpp:
30062         (WebCore::FEFlood::apply):
30063         * platform/graphics/filters/FEMerge.cpp:
30064         (WebCore::FEMerge::apply):
30065         * platform/graphics/filters/FEOffset.cpp:
30066         (WebCore::FEOffset::apply):
30067         * platform/graphics/filters/FETile.cpp:
30068         (WebCore::FETile::apply):
30069         * platform/graphics/filters/FilterEffect.cpp:
30070         (WebCore::FilterEffect::effectContext):
30071         * platform/graphics/filters/SourceAlpha.cpp:
30072         (WebCore::SourceAlpha::apply):
30073         * platform/graphics/filters/SourceGraphic.cpp:
30074         (WebCore::SourceGraphic::apply):
30075         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
30076         (WebCore::MediaPlayerPrivateGStreamer::paint):
30077         * platform/graphics/gtk/FontGtk.cpp:
30078         (WebCore::Font::drawComplexText):
30079         * platform/graphics/mac/GraphicsContextMac.mm:
30080         (WebCore::GraphicsContext::drawFocusRing):
30081         * platform/graphics/mac/GraphicsLayerCA.mm:
30082         (WebCore::setLayerBorderColor):
30083         (WebCore::setLayerBackgroundColor):
30084         * platform/graphics/qt/GraphicsContextQt.cpp:
30085         (WebCore::GraphicsContext::GraphicsContext):
30086         * platform/graphics/qt/ImageBufferQt.cpp:
30087         (WebCore::ImageBuffer::ImageBuffer):
30088         (WebCore::ImageBuffer::draw):
30089         * platform/graphics/skia/ImageBufferSkia.cpp:
30090         (WebCore::ImageBuffer::ImageBuffer):
30091         * platform/graphics/skia/PlatformContextSkia.cpp:
30092         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
30093         * platform/graphics/win/FontCGWin.cpp:
30094         (WebCore::Font::drawGlyphs):
30095         * platform/graphics/win/GraphicsContextCGWin.cpp:
30096         (WebCore::GraphicsContext::GraphicsContext):
30097         (WebCore::GraphicsContext::drawFocusRing):
30098         * platform/graphics/win/GraphicsLayerCACF.cpp:
30099         (WebCore::setLayerBorderColor):
30100         (WebCore::setLayerBackgroundColor):
30101         * platform/graphics/win/ImageCGWin.cpp:
30102         (WebCore::BitmapImage::getHBITMAPOfSize):
30103         * platform/graphics/win/ImageCairoWin.cpp:
30104         (WebCore::BitmapImage::getHBITMAPOfSize):
30105         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
30106         * platform/graphics/win/WebLayer.cpp:
30107         (WebCore::WebLayer::drawInContext):
30108         * platform/graphics/wince/GraphicsContextWinCE.cpp:
30109         (WebCore::GraphicsContext::clearRect):
30110         (WebCore::GraphicsContext::fillRect):
30111         * platform/graphics/wince/ImageWinCE.cpp:
30112         (WebCore::BitmapImage::getHBITMAPOfSize):
30113         * platform/graphics/wx/GraphicsContextWx.cpp:
30114         (WebCore::GraphicsContext::GraphicsContext):
30115         * platform/gtk/RenderThemeGtk.cpp:
30116         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
30117         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
30118         (WebCore::paintMediaButton):
30119         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
30120         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
30121         * platform/mac/ScrollbarThemeMac.mm:
30122         (WebCore::ScrollbarThemeMac::paint):
30123         * platform/win/PopupMenuWin.cpp:
30124         (WebCore::PopupMenuWin::paint):
30125         * platform/win/WebCoreTextRenderer.cpp:
30126         (WebCore::doDrawTextAtPoint):
30127         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
30128         (WebCore::drawTextWithSpacing):
30129         * plugins/PluginView.cpp:
30130         (WebCore::PluginView::paintMissingPluginIcon):
30131         * rendering/RenderLayer.cpp:
30132         (WebCore::RenderLayer::beginTransparencyLayers):
30133         (WebCore::RenderLayer::paintResizer):
30134         * rendering/RenderListMarker.cpp:
30135         (WebCore::RenderListMarker::paint):
30136         * rendering/RenderMediaControlsChromium.cpp:
30137         (WebCore::paintMediaButton):
30138         (WebCore::paintMediaSlider):
30139         (WebCore::paintMediaVolumeSlider):
30140         (WebCore::paintMediaTimelineContainer):
30141         * rendering/RenderSVGImage.cpp:
30142         (WebCore::RenderSVGImage::paint):
30143         * rendering/RenderSVGResourceClipper.cpp:
30144         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
30145         * rendering/RenderSVGResourceFilter.cpp:
30146         (WebCore::RenderSVGResourceFilter::applyResource):
30147         (WebCore::RenderSVGResourceFilter::postApplyResource):
30148         * rendering/RenderSVGResourceGradient.cpp:
30149         (WebCore::createMaskAndSwapContextForTextGradient):
30150         * rendering/RenderSVGResourceMasker.cpp:
30151         (WebCore::RenderSVGResourceMasker::applyResource):
30152         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
30153         * rendering/RenderSVGResourcePattern.cpp:
30154         (WebCore::RenderSVGResourcePattern::createTileImage):
30155         * rendering/RenderSVGResourceSolidColor.cpp:
30156         (WebCore::RenderSVGResourceSolidColor::applyResource):
30157         * rendering/RenderScrollbarTheme.cpp:
30158         (WebCore::RenderScrollbarTheme::paintScrollCorner):
30159         * rendering/RenderThemeMac.mm:
30160         (WebCore::RenderThemeMac::paintProgressBar):
30161         (WebCore::RenderThemeMac::paintMenuListButton):
30162         * rendering/RenderThemeSafari.cpp:
30163         (WebCore::RenderThemeSafari::paintMenuListButton):
30164         * rendering/RenderThemeWinCE.cpp:
30165         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
30166         (WebCore::RenderThemeWinCE::paintSliderTrack):
30167         (WebCore::RenderThemeWinCE::paintSliderThumb):
30168         * rendering/SVGImageBufferTools.cpp:
30169         (WebCore::SVGImageBufferTools::createImageBuffer):
30170         * rendering/SVGImageBufferTools.h:
30171         * rendering/style/StyleRareInheritedData.cpp:
30172         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
30173         * svg/SVGFEImageElement.cpp:
30174         (WebCore::SVGFEImageElement::build):
30175         * svg/graphics/SVGImage.cpp:
30176         (WebCore::SVGImage::nativeImageForCurrentFrame):
30177         * svg/graphics/filters/SVGFEImage.cpp:
30178         (WebCore::FEImage::apply):
30179
30180 2010-10-20  Dirk Schulze  <krit@webkit.org>
30181
30182         Reviewed by Andreas Kling.
30183
30184         Remove left over code after moving Cairo port to ShadowContext
30185         https://bugs.webkit.org/show_bug.cgi?id=47929
30186
30187         ImageBufferFilter is not needed anymore, since Cairo is using ShadowContext now.
30188         Made kernelPosition() in FEGaussianBlur a inline function instead of a static function.
30189
30190         * CMakeLists.txt:
30191         * GNUmakefile.am:
30192         * WebCore.gypi:
30193         * WebCore.vcproj/WebCore.vcproj:
30194         * platform/graphics/filters/FEGaussianBlur.cpp:
30195         (WebCore::kernelPosition):
30196         * platform/graphics/filters/FEGaussianBlur.h:
30197         * platform/graphics/filters/ImageBufferFilter.cpp: Removed.
30198         * platform/graphics/filters/ImageBufferFilter.h: Removed.
30199
30200 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
30201
30202         Not reviewed.
30203
30204         Fix efl build, by adding the new svg/properties include directory.
30205
30206         * CMakeLists.txt:
30207
30208 2010-10-19  Andrey Kosyakov  <caseq@chromium.org>
30209
30210         Reviewed by Pavel Feldman.
30211
30212         Web Inspector: expose request/response cookies in HAR
30213         https://bugs.webkit.org/show_bug.cgi?id=47894
30214
30215         Test: inspector/cookie-parser.html
30216
30217         * WebCore.gypi:
30218         * WebCore.vcproj/WebCore.vcproj:
30219         * inspector/front-end/CookieParser.js: Added.
30220         * inspector/front-end/HAREntry.js:
30221         (WebInspector.HAREntry.prototype._buildRequest):
30222         (WebInspector.HAREntry.prototype._buildResponse):
30223         (WebInspector.HAREntry.prototype._buildCookies):
30224         (WebInspector.HAREntry.prototype._buildCookie):
30225         * inspector/front-end/Resource.js: Parse Cookie/Set-Cookie headers and expose cookies.
30226         (WebInspector.Resource.prototype.set requestHeaders):
30227         (WebInspector.Resource.prototype.get requestCookies):
30228         (WebInspector.Resource.prototype.set responseHeaders):
30229         (WebInspector.Resource.prototype.get responseCookies):
30230         (WebInspector.Resource.prototype._parseRequestCookies):
30231         (WebInspector.Resource.prototype._parseResponseCookies):
30232         * inspector/front-end/WebKit.qrc:
30233         * inspector/front-end/inspector.html:
30234
30235 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
30236
30237         Not reviewed.
30238
30239         Fix non-mac builds, by adding the new svg/properties include directory.
30240
30241         * GNUmakefile.am:
30242         * WebCore.gyp/WebCore.gyp:
30243         * WebCore.pro:
30244         * WebCore.vcproj/WebCoreCommon.vsprops:
30245
30246 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
30247
30248         Reviewed by Adam Roben.
30249
30250         Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
30251         https://bugs.webkit.org/show_bug.cgi?id=47973
30252
30253         Prepare fixing bug 47905, redesigning SVGAnimatedProperty. As we're going to move type by type
30254         to the new animated property concept, keep the old one around, marked deprecated, until the
30255         transition is finished.
30256
30257         * GNUmakefile.am:
30258         * WebCore.gypi:
30259         * WebCore.pro:
30260         * WebCore.vcproj/WebCore.vcproj:
30261         * WebCore.xcodeproj/project.pbxproj:
30262         * bindings/scripts/CodeGeneratorObjC.pm:
30263         * bindings/scripts/CodeGeneratorV8.pm:
30264         * svg/DeprecatedSVGAnimatedProperty.h: Copied from svg/SVGAnimatedProperty.h.
30265         (WebCore::DeprecatedSVGAnimatedPropertyTearOff::DeprecatedSVGAnimatedPropertyTearOff):
30266         (WebCore::DeprecatedSVGAnimatedPropertyTearOff::~DeprecatedSVGAnimatedPropertyTearOff):
30267         (WebCore::DeprecatedSVGAnimatedProperty::~DeprecatedSVGAnimatedProperty):
30268         (WebCore::DeprecatedSVGAnimatedProperty::DeprecatedSVGAnimatedProperty):
30269         (WebCore::DeprecatedSVGAnimatedProperty::value):
30270         (WebCore::DeprecatedSVGAnimatedProperty::baseValue):
30271         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Copied from svg/SVGAnimatedPropertyTraits.h.
30272         * svg/DeprecatedSVGAnimatedTemplate.h: Copied from svg/SVGAnimatedTemplate.h.
30273         (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::DeprecatedSVGAnimatedTypeWrapperKey):
30274         (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::operator==):
30275         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
30276         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::equal):
30277         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue):
30278         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue):
30279         (WebCore::DeprecatedSVGAnimatedTemplate::~DeprecatedSVGAnimatedTemplate):
30280         (WebCore::DeprecatedSVGAnimatedTemplate::forgetWrapper):
30281         (WebCore::lookupOrCreateWrapper):
30282         * svg/SVGAnimatedProperty.h: Removed.
30283         * svg/SVGAnimatedPropertySynchronizer.h: Removed.
30284         * svg/SVGAnimatedPropertyTraits.h: Removed.
30285         * svg/SVGAnimatedTemplate.h: Removed.
30286         * svg/SVGElement.h:
30287         * svg/SVGExternalResourcesRequired.h:
30288         * svg/SVGFitToViewBox.h:
30289         * svg/SVGURIReference.h:
30290         * svg/properties: Added.
30291         * svg/properties/SVGAnimatedPropertySynchronizer.h: Copied from svg/SVGAnimatedPropertySynchronizer.h.
30292
30293 2010-10-20  Shinichiro Hamaji  <hamaji@chromium.org>
30294
30295         Reviewed by Kent Tamura.
30296
30297         absolutely positioned list in inline element crashes
30298         https://bugs.webkit.org/show_bug.cgi?id=45095
30299
30300         Add a NULL check to avoid crash. The rendering result isn't ideal yet.
30301
30302         Test: fast/lists/positioned-count-crash.html
30303
30304         * rendering/RenderListItem.cpp:
30305         (WebCore::previousListItem):
30306
30307 2010-10-19  Adam Roben  <aroben@apple.com>
30308
30309         Remove uses of CACFContextRef and CARender* from WebCore
30310
30311         These types are now wrapped in a WKCACFContext type exported by
30312         WebKitSystemInterface.
30313
30314         Fixes <http://webkit.org/b/43244>.
30315
30316         Reviewed by Sam Weinig.
30317
30318         * platform/graphics/win/WKCACFContextFlusher.cpp:
30319         (WebCore::WKCACFContextFlusher::addContext):
30320         (WebCore::WKCACFContextFlusher::removeContext):
30321         (WebCore::WKCACFContextFlusher::flushAllContexts):
30322         * platform/graphics/win/WKCACFContextFlusher.h:
30323         Changed to use WKCACFContext. We don't retain/release the context when
30324         putting it into/taking it out of the set. WKCACFContext is not a
30325         ref-counted type, so we can't retain/release it, but the
30326         retain/release was also unnecessary as WKCACFLayerRenderer calls
30327         removeContext before the context is destroyed.
30328
30329         * platform/graphics/win/WKCACFLayer.cpp:
30330         (WebCore::WKCACFLayer::becomeRootLayerForContext):
30331         * platform/graphics/win/WKCACFLayer.h:
30332         Changed to use WKCACFContext.
30333
30334         * platform/graphics/win/WKCACFLayerRenderer.cpp:
30335         (WebCore::WKCACFLayerRenderer::didFlushContext):
30336         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
30337         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
30338         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
30339         (WebCore::WKCACFLayerRenderer::createRenderer):
30340         (WebCore::WKCACFLayerRenderer::destroyRenderer):
30341         (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
30342         CGSRegion with WebKitSystemInterface functions/types.
30343         (WebCore::WKCACFLayerRenderer::resetDevice):
30344         * platform/graphics/win/WKCACFLayerRenderer.h:
30345         Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
30346         with a single WKCACFContext, which wraps all three. We hold a bare
30347         pointer to it and destroy it in our destructor.
30348
30349 2010-10-19  Yongjun Zhang  <yongjun_zhang@apple.com>
30350
30351         Reviewed by Dan Bernstein.
30352
30353         Pixel cracks when using background image sprite on transformed element at certain scales.
30354         https://bugs.webkit.org/show_bug.cgi?id=47868
30355
30356         The pixel bleeding happens when the current context has scale and interpolation is kCGInterpolationHigh
30357         or kCGInterpolationDefault.  If the source rect size is smaller than the intrinsic image size,  some
30358         pixels outside of the clip rect will also be used to interpolate the color value for clip edges, which
30359         results in unwanted thin lines around the painted area.  We need to use sub-image patch to get rid of
30360         the artifacts in this case.
30361
30362         Test: fast/images/pixel-crack-image-background-webkit-transform-scale.html
30363
30364         * platform/graphics/cg/ImageCG.cpp:
30365         (WebCore::BitmapImage::draw):
30366
30367 2010-10-19  Evan Martin  <evan@chromium.org>
30368
30369         Reviewed by Tony Chang.
30370
30371         sqlite: remove unused member variable
30372         https://bugs.webkit.org/show_bug.cgi?id=47957
30373
30374         There's no need to save the error code into a member variable
30375         because nobody ever looks at it.
30376
30377         * platform/sql/SQLiteDatabase.cpp:
30378         (WebCore::SQLiteDatabase::open):
30379         * platform/sql/SQLiteDatabase.h:
30380
30381 2010-10-19  Jia Pu  <jpu@apple.com>
30382
30383         Reviewed by James Robinson.
30384
30385         Moving cursor back to autocorrected word in the same line shouldn't remove the underline
30386         https://bugs.webkit.org/show_bug.cgi?id=47629
30387         <rdar://problem/8546758>
30388         
30389         Patch <http://trac.webkit.org/changeset/70071> breaks some Chromium Mac hehavior. This patch
30390         fixes that.
30391
30392         * editing/Editor.cpp:
30393         (WebCore::Editor::respondToChangedSelection): Add "!PLATFORM(MAC)" to make sure nothing changes
30394           on non-Mac platforms.
30395
30396 2010-10-19  Alexey Proskuryakov  <ap@apple.com>
30397
30398         Build fix (EFL, maybe more).
30399
30400         * CMakeLists.txt: Added platform/Language.cpp here, too.
30401
30402 2010-10-19  Jian Li  <jianli@chromium.org>
30403
30404         Reviewed by Darin Fisher.
30405
30406         Rename createBlobURL to createObjectURL and revokeBlobURL to
30407         revokeObjectURL per the latest File API spec.
30408         https://bugs.webkit.org/show_bug.cgi?id=47934
30409
30410         * inspector/front-end/ResourcesPanel.js:
30411         (WebInspector.ResourcesPanel.prototype._contextMenu):
30412         * inspector/front-end/utilities.js:
30413         * page/DOMWindow.cpp:
30414         (WebCore::DOMWindow::createObjectURL):
30415         (WebCore::DOMWindow::revokeObjectURL):
30416         * page/DOMWindow.h:
30417         * page/DOMWindow.idl:
30418         * workers/WorkerContext.cpp:
30419         (WebCore::WorkerContext::createObjectURL):
30420         (WebCore::WorkerContext::revokeObjectURL):
30421         * workers/WorkerContext.h:
30422         * workers/WorkerContext.idl:
30423
30424 2010-10-19  Alexey Proskuryakov  <ap@apple.com>
30425
30426         Reviewed by Anders Carlsson.
30427
30428         https://bugs.webkit.org/show_bug.cgi?id=47933
30429         <rdar://problem/8494337> navigator.language doesn't work in WebKit2
30430
30431         * CMakeListsEfl.txt:
30432         * GNUmakefile.am:
30433         * WebCore.gypi:
30434         * WebCore.pro:
30435         * WebCore.vcproj/WebCore.vcproj:
30436         * WebCore.xcodeproj/project.pbxproj:
30437         * platform/chromium/Language.cpp: Removed.
30438         * platform/chromium/LanguageChromium.cpp: Copied from WebCore/platform/chromium/Language.cpp.
30439         * platform/efl/Language.cpp: Removed.
30440         * platform/efl/LanguageEfl.cpp: Copied from WebCore/platform/efl/Language.cpp.
30441         * platform/gtk/Language.cpp: Removed.
30442         * platform/gtk/LanguageGtk.cpp: Copied from WebCore/platform/gtk/Language.cpp.
30443         * platform/qt/Language.cpp: Removed.
30444         * platform/qt/LanguageQt.cpp: Copied from WebCore/platform/qt/Language.cpp.
30445         * platform/win/Language.cpp: Removed.
30446         * platform/win/LanguageWin.cpp: Copied from WebCore/platform/win/Language.cpp.
30447         * platform/Language.cpp: Added.
30448         Cross platform code is now in platform/Language.cpp. So, I renamed platform files to match
30449         the common pattern.
30450
30451         * WebCore.exp.in: Exported new functions.
30452
30453         * platform/Language.h: Added an ability to force the language, and an ability to set up
30454         listeners for changes (if the platform implements that). Web process will always use the
30455         forced language, as sent to it from UI process.
30456
30457         * platform/mac/Language.mm: Moved code from WebKit.
30458         (WebCore::platformDefaultLanguage): Added code to synchronize user defaults. For some reason,
30459         they come unsynchronized in WebKit2 here, unlike WebKit1.
30460
30461         * page/mac/WebCoreViewFactory.h: Removed defaultLanguageCode. WebCore no longer goes to WebKit
30462         to ask for that.
30463
30464         * platform/mac/WebCoreSystemInterface.h:
30465         * platform/mac/WebCoreSystemInterface.mm:
30466         Added wkCopyCFLocalizationPreferredName().
30467
30468 2010-10-19  James Simonsen  <simonjam@chromium.org>
30469
30470         Reviewed by Adam Barth.
30471
30472         Add "in select" insertion mode to parser.
30473
30474         This was added to the spec in:
30475         http://html5.org/tools/web-apps-tracker?from=5520&to=5522
30476
30477         And as a result of:
30478         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
30479
30480         https://bugs.webkit.org/show_bug.cgi?id=47706
30481
30482         No new tests. Open to ideas.
30483
30484         * html/parser/HTMLElementStack.cpp: Added "in select" mode.
30485         (WebCore::HTMLNames::isSelectScopeMarker): Ditto.
30486         (WebCore::HTMLElementStack::inSelectScope): Ditto.
30487         * html/parser/HTMLElementStack.h: Ditto.
30488         * html/parser/HTMLTreeBuilder.cpp:
30489         (WebCore::HTMLTreeBuilder::processStartTag): Use "in select" instead of "in table."
30490         (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
30491
30492 2010-10-19  Jeremy Orlow  <jorlow@chromium.org>
30493
30494         Reviewed by Nate Chapin.
30495
30496         Fix multiple index support in IndexedDB
30497         https://bugs.webkit.org/show_bug.cgi?id=47919
30498
30499         Fix 2 bugs that caused the IndexData of all but the last index to be
30500         properly updated:
30501         * The objectStoreDataId is NOT unique if there are multiple indexes. So
30502           remove the constraint.
30503         * Do not delete all existing entries with that objectStoreDataId before
30504           adding an entry for each index. Only do it once at the beginning.
30505
30506         Test: storage/indexeddb/queued-commands.html
30507             + index-basics.html modified
30508
30509         * storage/IDBFactoryBackendImpl.cpp:
30510         (WebCore::createTables):
30511         * storage/IDBObjectStoreBackendImpl.cpp:
30512         (WebCore::deleteIndexData):
30513         (WebCore::putIndexData):
30514         (WebCore::IDBObjectStoreBackendImpl::putInternal):
30515
30516 2010-10-19  Martin Robinson  <mrobinson@igalia.com>
30517
30518         Fix the GTK+ build after r70072. The logic looks incorrect, but
30519         this fix tries to preserves it, even so.
30520
30521         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
30522         (baselinePositionForAccessibilityRenderObject):
30523         (getAttributeSetForAccessibilityObject):
30524
30525 2010-10-06  Jer Noble  <jer.noble@apple.com>
30526
30527         Reviewed by Eric Carlson.
30528
30529         Windows: Implement 'preload=none'
30530         https://bugs.webkit.org/show_bug.cgi?id=47317
30531         <rdar://problem/7718442>
30532         
30533         Implement the 'preload=none' identically to the mac implementation. Add three new
30534         ivars: m_preload, m_delayLoad and m_movieURL; and override the MediaPlayerPrivate
30535         functions: prepareToPlay() and setPreload().
30536
30537         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
30538         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
30539             Initialize new ivars m_delayLoad and m_preload.
30540         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::resumeLoad): Added; new.
30541         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Split contents between
30542             load and loadInternal.
30543         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Added; new.
30544         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::prepareToPlay): Added; overrides MediaPlayerPrivate.
30545         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPreload): Added; overrides MediaPlayerPrivate.
30546         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
30547         
30548 2010-10-19  Enrica Casucci  <enrica@apple.com>
30549
30550         Reviewed by Alexey Proskuryakov.
30551
30552         Upstream support of KeyCodes for iOS
30553         https://bugs.webkit.org/show_bug.cgi?id=47857
30554         
30555         * platform/cocoa/KeyEventCocoa.mm:
30556         (WebCore::windowsKeyCodeForCharCode): Added special handling of keyCodes for iOS.
30557
30558 2010-10-19  Joseph Pecoraro  <joepeck@webkit.org>
30559
30560         Reviewed by David Kilzer.
30561
30562         iOS: ASSERT in Cache::adjustSize running layout tests
30563         https://bugs.webkit.org/show_bug.cgi?id=47873
30564
30565         Inside Cache::pruneDeadResources we loop over the LRU lists and make resources purgeable
30566         with Cache::makeResourcePurgeable(). This wasn't taking into account whether the resource
30567         was already purgeable or not, and the makeResourcePurgeable call was always calling
30568         adjustSize(). Now we make sure makeResourcePurgable only adjusts the size of the Cache's
30569         dead sizes when it first marks the resource purgeable. Likewise, if a resource is marked
30570         as purgeable and then evicted, we should not adjust the size again.
30571
30572         The balancing call is when we have a resource that has been marked as purgeable and we
30573         successfully mark it as no longer purgeable in Cache::resourceForURL.
30574
30575         No test added because this requires testing purgeable memory.
30576
30577         * loader/Cache.cpp:
30578         (WebCore::Cache::makeResourcePurgeable):
30579         (WebCore::Cache::evict):
30580
30581 2010-10-19  Vangelis Kokkevis  <vangelis@chromium.org>
30582
30583         Reviewed by Kenneth Russell.
30584
30585         [chromium] Disable mipmapping for ImageLayer's to prevent memory use and
30586         performance regression.
30587         https://bugs.webkit.org/show_bug.cgi?id=47913
30588         
30589         This patch is a straight revert of the patch committed with issue 46493
30590
30591         * platform/graphics/chromium/ContentLayerChromium.cpp:
30592         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
30593         (WebCore::ContentLayerChromium::updateTextureRect):
30594         * platform/graphics/chromium/ContentLayerChromium.h:
30595         (WebCore::ContentLayerChromium::SharedValues::initialized):
30596         * platform/graphics/chromium/ImageLayerChromium.cpp:
30597         (WebCore::ImageLayerChromium::updateContents):
30598
30599 2010-10-18  Zhenyao Mo  <zmo@google.com>
30600
30601         Reviewed by Kenneth Russell.
30602
30603         gl-teximage.html fails on chromium webkit mac bot
30604         https://bugs.webkit.org/show_bug.cgi?id=47034
30605
30606         * platform/graphics/GraphicsContext3D.cpp: Deal with endians in 16 bit image data.
30607         (WebCore::convertColor16LittleTo8):
30608         (WebCore::convertColor16BigTo8):
30609         (WebCore::doPacking):
30610         * platform/graphics/GraphicsContext3D.h: Ditto.
30611         * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
30612         (WebCore::GraphicsContext3D::getImageData):
30613
30614 2010-10-19  David Hyatt  <hyatt@apple.com>
30615
30616         Reviewed by Dan Bernstein.
30617
30618         https://bugs.webkit.org/show_bug.cgi?id=47841
30619
30620         Rework baselinePosition and lineHeight to be writing-mode-aware.  There's a lot of refactoring here to clean up
30621         the method parameters to be more readable and to simplify the subclassing of the various methods in order to 
30622         keep the horizontal/vertical querying to a minimum.
30623
30624         * WebCore.xcodeproj/project.pbxproj:
30625         * mathml/RenderMathMLFraction.cpp:
30626         (WebCore::RenderMathMLFraction::baselinePosition):
30627         * mathml/RenderMathMLFraction.h:
30628         * mathml/RenderMathMLOperator.cpp:
30629         (WebCore::RenderMathMLOperator::baselinePosition):
30630         * mathml/RenderMathMLOperator.h:
30631         * mathml/RenderMathMLRow.cpp:
30632         (WebCore::RenderMathMLRow::baselinePosition):
30633         * mathml/RenderMathMLRow.h:
30634         * mathml/RenderMathMLSubSup.cpp:
30635         (WebCore::RenderMathMLSubSup::baselinePosition):
30636         * mathml/RenderMathMLSubSup.h:
30637         * mathml/RenderMathMLUnderOver.cpp:
30638         (WebCore::RenderMathMLUnderOver::layout):
30639         (WebCore::RenderMathMLUnderOver::baselinePosition):
30640         * mathml/RenderMathMLUnderOver.h:
30641         * rendering/InlineBox.h:
30642         (WebCore::InlineBox::baselinePosition):
30643         (WebCore::InlineBox::lineHeight):
30644         * rendering/InlineFlowBox.cpp:
30645         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
30646         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
30647         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
30648         * rendering/InlineTextBox.cpp:
30649         (WebCore::InlineTextBox::baselinePosition):
30650         (WebCore::InlineTextBox::lineHeight):
30651         * rendering/InlineTextBox.h:
30652         * rendering/RenderBR.cpp:
30653         (WebCore::RenderBR::lineHeight):
30654         * rendering/RenderBR.h:
30655         (WebCore::toRenderBR):
30656         * rendering/RenderBlock.cpp:
30657         (WebCore::RenderBlock::lineHeight):
30658         (WebCore::RenderBlock::baselinePosition):
30659         (WebCore::RenderBlock::firstLineBoxBaseline):
30660         (WebCore::RenderBlock::lastLineBoxBaseline):
30661         (WebCore::RenderBlock::localCaretRect):
30662         * rendering/RenderBlock.h:
30663         * rendering/RenderBlockLineLayout.cpp:
30664         (WebCore::RenderBlock::layoutInlineChildren):
30665         * rendering/RenderBox.cpp:
30666         (WebCore::RenderBox::lineHeight):
30667         (WebCore::RenderBox::baselinePosition):
30668         * rendering/RenderBox.h:
30669         * rendering/RenderBoxModelObject.cpp:
30670         (WebCore::RenderBoxModelObject::verticalPosition):
30671         * rendering/RenderBoxModelObject.h:
30672         * rendering/RenderFileUploadControl.cpp:
30673         (WebCore::RenderFileUploadControl::paintObject):
30674         * rendering/RenderFlexibleBox.cpp:
30675         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
30676         (WebCore::RenderFlexibleBox::layoutVerticalBox):
30677         * rendering/RenderInline.cpp:
30678         (WebCore::RenderInline::lineHeight):
30679         (WebCore::RenderInline::baselinePosition):
30680         * rendering/RenderInline.h:
30681         * rendering/RenderListBox.cpp:
30682         (WebCore::RenderListBox::baselinePosition):
30683         * rendering/RenderListBox.h:
30684         * rendering/RenderListMarker.cpp:
30685         (WebCore::RenderListMarker::lineHeight):
30686         (WebCore::RenderListMarker::baselinePosition):
30687         * rendering/RenderListMarker.h:
30688         * rendering/RenderObject.cpp:
30689         * rendering/RenderObject.h:
30690         * rendering/RenderReplaced.cpp:
30691         * rendering/RenderReplaced.h:
30692         * rendering/RenderSVGRoot.cpp:
30693         * rendering/RenderSVGRoot.h:
30694         * rendering/RenderSlider.cpp:
30695         (WebCore::RenderSlider::baselinePosition):
30696         * rendering/RenderSlider.h:
30697         * rendering/RenderTableCell.cpp:
30698         (WebCore::RenderTableCell::baselinePosition):
30699         * rendering/RenderTableCell.h:
30700         * rendering/RenderTableCol.h:
30701         (WebCore::RenderTableCol::isTableCol):
30702         * rendering/RenderTableRow.h:
30703         * rendering/RenderTableSection.h:
30704         * rendering/RenderText.cpp:
30705         * rendering/RenderText.h:
30706         * rendering/RenderTextControl.cpp:
30707         (WebCore::RenderTextControl::computeLogicalHeight):
30708         * rendering/RenderTextControlMultiLine.cpp:
30709         (WebCore::RenderTextControlMultiLine::baselinePosition):
30710         * rendering/RenderTextControlMultiLine.h:
30711         * rendering/RenderTextControlSingleLine.cpp:
30712         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
30713         * rendering/RootInlineBox.h:
30714         (WebCore::RootInlineBox::baselinePosition):
30715         (WebCore::RootInlineBox::lineHeight):
30716         * rendering/svg/SVGInlineTextBox.cpp:
30717         (WebCore::SVGInlineTextBox::calculateBoundaries):
30718
30719 2010-10-19  Jia Pu  <jpu@apple.com>
30720
30721         Reviewed by Adele Peterson.
30722
30723         Moving cursor back to autocorrected word in the same line shouldn't remove the underline
30724         https://bugs.webkit.org/show_bug.cgi?id=47629
30725         <rdar://problem/8546758>
30726
30727         Tests: platform/mac/editing/spelling/click-autocorrected-word.html
30728                platform/mac/editing/spelling/delete-into-autocorrected-word.html
30729                platform/mac/editing/spelling/delete-into-misspelled-word.html
30730                platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html
30731                platform/mac/editing/spelling/move-cursor-around-misspelled-word.html
30732                platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html
30733                platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html
30734
30735         * editing/Editor.cpp:
30736         (WebCore::Editor::respondToChangedSelection): Don't remove misspelling or autocorrection
30737           underlines when cursor is moved onto a word.
30738
30739 2010-10-19  Eric Carlson  <eric.carlson@apple.com>
30740
30741         Not reviewed. Build fix.
30742
30743         * html/HTMLMediaElement.cpp:
30744         (WebCore::HTMLMediaElement::selectNextSourceChild): Initialize variable to avoid Windows
30745         "potentially uninitialized local variable" warning.
30746
30747 2010-10-19  Eric Carlson  <eric.carlson@apple.com>
30748
30749         Reviewed by Darin Adler.
30750
30751         https://bugs.webkit.org/show_bug.cgi?id=46763
30752         CRASH in WebCore::ThreadTimers::sharedTimerFiredInternal
30753
30754         Fix crashes caused by moving and deleting <source> element(s) of active media element.
30755
30756         Tests: media/video-source-moved.html
30757                media/video-source-removed.html
30758
30759         * html/HTMLMediaElement.cpp:
30760         (WebCore::HTMLMediaElement::HTMLMediaElement): Add logging. Initialize selectNextSourceChild.
30761         (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
30762         (WebCore::HTMLMediaElement::insertedIntoDocument): Ditto.
30763         (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
30764         (WebCore::HTMLMediaElement::scheduleLoad): Ditto.
30765         (WebCore::HTMLMediaElement::setNetworkState): Deal with m_currentSourceNode being null when
30766         the media engine signals a failure by skipping the error message and continuing as usual.
30767         (WebCore::HTMLMediaElement::setVolume): Fix logging typo.
30768         (WebCore::HTMLMediaElement::havePotentialSourceChild): Save and restore m_nextChildNodeToConsider
30769         around call to selectNextSourceChild because they are both significant.
30770         (WebCore::HTMLMediaElement::selectNextSourceChild): Use m_nextChildNodeToConsider to pick
30771         the first node to consider. Bail immediately if it signals that we have already processed 
30772         every <source> node. Stach the node following the current source element in m_nextChildNodeToConsider
30773         so we can resume the search even if m_currentSourceNode is removed while it is being processed.
30774         (WebCore::HTMLMediaElement::sourceWasAdded): New, move logic from HTMLSourceElement::insertedIntoTree
30775         here and correct it to deal with a <source> node being inserted immediately after the
30776         current <source> node and a new <source> node being inserted at the end of the list after
30777         all candidates have failed.
30778         (WebCore::HTMLMediaElement::sourceWillBeRemoved): New, deal with current source node and next
30779         potential node being removed.
30780         * html/HTMLMediaElement.h:
30781         (WebCore::HTMLMediaElement::sourceChildEndOfListValue): New, define sentinal value used to indicate
30782         that all nodes have been processed.
30783
30784         * html/HTMLSourceElement.cpp:
30785         (WebCore::HTMLSourceElement::HTMLSourceElement): Add logging.
30786         (WebCore::HTMLSourceElement::insertedIntoTree): Call mediaElement->sourceWasAdded instead
30787         of having logic here.
30788         (WebCore::HTMLSourceElement::willRemove): New, call mediaElement->sourceWillBeRemoved
30789         (WebCore::HTMLSourceElement::scheduleErrorEvent): Add logging.
30790         (WebCore::HTMLSourceElement::cancelPendingErrorEvent): Add logging.
30791         * html/HTMLSourceElement.h:
30792
30793 2010-10-19  Luiz Agostini  <luiz.agostini@openbossa.org>
30794
30795         Reviewed by Antti Koivisto.
30796
30797         [Qt] WebKit2 MacOS build fix
30798         https://bugs.webkit.org/show_bug.cgi?id=47897
30799
30800         Qt WebKit2 MacOS build fix.
30801
30802         * bridge/npapi.h:
30803
30804 2010-10-19  Philippe Normand  <pnormand@igalia.com>
30805
30806         Reviewed by Xan Lopez.
30807
30808         [GTK] Soup cache code still has some warnings
30809         https://bugs.webkit.org/show_bug.cgi?id=47733
30810
30811         Fixed some compilation warnings happening with gcc 4.4.5 on
30812         64-bits architecture.
30813
30814         * platform/network/soup/cache/webkit/soup-cache.c:
30815         (webkit_soup_cache_entry_set_freshness):
30816         (close_ready_cb):
30817
30818 2010-10-19  Yury Semikhatsky  <yurys@chromium.org>
30819
30820         Reviewed by Pavel Feldman.
30821
30822         Web Inspector: crash while trying to step over a function using inspector
30823         https://bugs.webkit.org/show_bug.cgi?id=47902
30824
30825         * inspector/front-end/ScriptsPanel.js:
30826         (WebInspector.ScriptsPanel.prototype.reset): reset scripts panel to resumed state on navigation.
30827
30828 2010-10-19  Ryuan Choi  <ryuan.choi@samsung.com>
30829
30830         Unreviewed attempt to remove warning in EFL build.
30831
30832         Fix #if to #ifdef.
30833
30834         No new features, so no tests added.
30835
30836         * platform/efl/WidgetEfl.cpp:
30837         (WebCore::Widget::applyFallbackCursor):
30838
30839 2010-10-19  Andreas Kling  <kling@webkit.org>
30840
30841         Reviewed by Tor Arne Vestbø.
30842
30843         [Qt] getImageData returns wrong data for non-0,0 source offset
30844         https://bugs.webkit.org/show_bug.cgi?id=47898
30845
30846         Test: fast/canvas/canvas-getImageData-negative-source.html
30847
30848         * platform/graphics/qt/ImageBufferQt.cpp:
30849         (WebCore::getImageData): Add missing *4's to get correct pixel offset.
30850
30851 2010-10-19  Andreas Kling  <kling@webkit.org>
30852
30853         Reviewed by Kenneth Rohde Christiansen.
30854
30855         [Qt] Correct initial state of ImageBuffer QPen
30856         https://bugs.webkit.org/show_bug.cgi?id=47804
30857
30858         Have the QPen on ImageBuffers start in Qt::SvgMiterJoin mode.
30859
30860         * platform/graphics/qt/ImageBufferQt.cpp:
30861         (WebCore::ImageBufferData::ImageBufferData):
30862
30863 2010-10-19  Philippe Normand  <pnormand@igalia.com>
30864
30865         Reviewed by Martin Robinson.
30866
30867         GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
30868         https://bugs.webkit.org/show_bug.cgi?id=46790
30869
30870         Simple API addition to PlatformVideoWindow to allow
30871         implementations to optionally prepare their own PlatformWidget
30872         before applying the GStreamer XOverlay to it. This will likely be
30873         needed on Mac OSX only.
30874
30875         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
30876         (WebCore::GStreamerGWorld::setWindowOverlay):
30877         * platform/graphics/gstreamer/PlatformVideoWindow.h:
30878         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
30879         (PlatformVideoWindow::prepareForOverlay):
30880         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
30881         (PlatformVideoWindow::prepareForOverlay):
30882
30883 2010-10-19  Ben Murdoch  <benm@google.com>
30884
30885         Reviewed by Steve Block.
30886
30887         Missing support for document.createTouch and document.createTouchList
30888         https://bugs.webkit.org/show_bug.cgi?id=47676
30889
30890         These APIs are used by many sites to detect support for touch events.
30891
30892         Implement the APIs according to the documentation at:
30893         http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html
30894
30895         Tests: fast/events/touch/document-create-touch-list.html
30896                fast/events/touch/document-create-touch.html
30897
30898         * bindings/js/JSBindingsAllInOne.cpp: Add new files to list.
30899         * bindings/js/JSTouchCustom.cpp: Added.
30900         (WebCore::toJSNewlyCreated):
30901         * bindings/js/JSTouchListCustom.cpp: Added.
30902         (WebCore::toJSNewlyCreated):
30903         * bindings/scripts/CodeGeneratorJS.pm:
30904         * dom/Document.cpp:
30905         (WebCore::Document::createTouch):
30906         (WebCore::Document::createTouchList):
30907         * dom/Document.h:
30908         * dom/Document.idl: Add createTouch and createTouchList functions.
30909         * Android.jscbindings.mk: Update makefiles.
30910         * CMakeLists.txt: Ditto.
30911         * GNUmakefile.am: Ditto.
30912         * WebCore.gypi: Ditto.
30913         * WebCore.pro: Ditto.
30914
30915
30916 2010-10-19  Pavel Feldman  <pfeldman@chromium.org>
30917
30918         Reviewed by Yury Semikhatsky.
30919
30920         Web Inspector: migrate from legacy Object.properties to Object.keys, remove dead code.
30921         https://bugs.webkit.org/show_bug.cgi?id=47890
30922
30923         * inspector/front-end/ConsoleView.js:
30924         (WebInspector.ConsoleView.prototype._reportCompletions):
30925         * inspector/front-end/ElementsPanel.js:
30926         (WebInspector.ElementsPanel):
30927         * inspector/front-end/ExtensionServer.js:
30928         (WebInspector.ExtensionServer.prototype._onGetResources):
30929         * inspector/front-end/HAREntry.js:
30930         (WebInspector.HARLog.prototype.build):
30931         * inspector/front-end/StylesSidebarPane.js:
30932         (WebInspector.StylePropertyTreeElement.prototype.):
30933         (WebInspector.StylePropertyTreeElement.prototype):
30934         * inspector/front-end/utilities.js:
30935
30936 2010-10-19  Pavel Feldman  <pfeldman@chromium.org>
30937
30938         Reviewed by Yury Semikhatsky.
30939
30940         Web Inspector: do not access ResourcePanel from resources directly.
30941         https://bugs.webkit.org/show_bug.cgi?id=47892
30942
30943         * inspector/front-end/Resource.js:
30944         (WebInspector.Resource.prototype.set documentURL):
30945         (WebInspector.Resource.prototype.set startTime):
30946         (WebInspector.Resource.prototype.set responseReceivedTime):
30947         (WebInspector.Resource.prototype.set endTime):
30948         (WebInspector.Resource.prototype.set resourceSize):
30949         (WebInspector.Resource.prototype.set expectedContentLength):
30950         (WebInspector.Resource.prototype.set category):
30951         (WebInspector.Resource.prototype.set cached):
30952         (WebInspector.Resource.prototype.set mimeType):
30953         (WebInspector.Resource.prototype.get requestHeaders):
30954         (WebInspector.Resource.prototype.set requestHeaders):
30955         (WebInspector.Resource.prototype.get responseHeaders):
30956         (WebInspector.Resource.prototype.set responseHeaders):
30957         * inspector/front-end/ResourcesPanel.js:
30958         (WebInspector.ResourcesPanel.prototype.addResource):
30959         (WebInspector.ResourcesPanel.prototype.refreshResource):
30960         (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
30961         (WebInspector.ResourcesPanel.prototype._resourceViewIsConsistentWithCategory):
30962         (WebInspector.ResourceGraph):
30963         (WebInspector.ResourceGraph.prototype.refresh):
30964         * inspector/front-end/inspector.js:
30965         (WebInspector.updateResource):
30966
30967 2010-10-19  Yuta Kitamura  <yutak@chromium.org>
30968
30969         Reviewed by Pavel Feldman.
30970
30971         Make sure WebSocket resource has the url field when it is created.
30972
30973         Web Inspector: Uncaught TypeError when connection to WebSocket server is refused
30974         https://bugs.webkit.org/show_bug.cgi?id=47891
30975
30976         * inspector/InspectorResource.cpp:
30977         (WebCore::InspectorResource::createWebSocket):
30978
30979 2010-10-19  Hayato Ito  <hayato@chromium.org>
30980
30981         Reviewed by Darin Adler.
30982
30983         Make CSS style selector non-recursive.
30984         https://bugs.webkit.org/show_bug.cgi?id=43783
30985
30986         This change is one of the required changes to fix the following master bug:
30987         https://bugs.webkit.org/show_bug.cgi?id=42806
30988
30989         To avoid recursion, we prepare a call stack and maintain a list of
30990         function call state by ourselves and try matching iteratively.
30991
30992         Test: fast/css/long-css-selector-matches.html
30993
30994         * css/CSSStyleSelector.cpp:
30995         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
30996         (WebCore::CSSStyleSelector::checkSelector):
30997         * css/CSSStyleSelector.h:
30998
30999 2010-10-19  Sheriff Bot  <webkit.review.bot@gmail.com>
31000
31001         Unreviewed, rolling out r70034.
31002         http://trac.webkit.org/changeset/70034
31003         https://bugs.webkit.org/show_bug.cgi?id=47889
31004
31005         "Gustavo's bot is lame" (Requested by xan_ on #webkit).
31006
31007         * platform/network/soup/CookieJarSoup.cpp:
31008         (WebCore::defaultCookieJar):
31009         (WebCore::setCookies):
31010         * platform/network/soup/ResourceHandleSoup.cpp:
31011         (WebCore::ResourceHandle::prepareForURL):
31012         (WebCore::restartedCallback):
31013         (WebCore::startHttp):
31014         * platform/network/soup/ResourceRequestSoup.cpp:
31015         (WebCore::ResourceRequest::toSoupMessage):
31016         (WebCore::ResourceRequest::updateFromSoupMessage):
31017
31018 2010-10-19  Xan Lopez  <xlopez@igalia.com>
31019
31020         Reviewed by Martin Robinson.
31021
31022         [GTK] Bump minimum requirement for libsoup to 2.30
31023         https://bugs.webkit.org/show_bug.cgi?id=46176
31024
31025         Bump minimum required libsoup version to 2.30.
31026
31027         * platform/network/soup/CookieJarSoup.cpp:
31028         (WebCore::defaultCookieJar):
31029         (WebCore::setCookies):
31030         * platform/network/soup/ResourceHandleSoup.cpp:
31031         (WebCore::ResourceHandle::prepareForURL):
31032         (WebCore::restartedCallback):
31033         (WebCore::startHttp):
31034         * platform/network/soup/ResourceRequestSoup.cpp:
31035         (WebCore::ResourceRequest::toSoupMessage):
31036         (WebCore::ResourceRequest::updateFromSoupMessage):
31037
31038 2010-10-19  Xan Lopez  <xlopez@igalia.com>
31039
31040         Reviewed by Martin Robinson.
31041
31042         Fix distcheck, take 2.
31043
31044         * GNUmakefile.am: also move the generated CSS hash files to the
31045         build dir.
31046
31047 2010-10-18  Kent Tamura  <tkent@chromium.org>
31048
31049         Reviewed by Dimitri Glazkov.
31050
31051         Should not save state of a detached form control.
31052         https://bugs.webkit.org/show_bug.cgi?id=47811
31053
31054         Test: fast/forms/state-save-of-detached-control.html
31055
31056         * html/HTMLFormControlElement.cpp:
31057         (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
31058           If the node is detached, don't save the state.
31059
31060 2010-10-18  Xan Lopez  <xlopez@igalia.com>
31061
31062         Reviewed by Martin Robinson.
31063
31064         * GNUmakefile.am: add missing files.
31065
31066 2010-10-18  Oliver Hunt  <oliver@apple.com>
31067
31068         Reviewed by Sam Weinig.
31069
31070         REGRESSION: Feedly extension crashes Webkit
31071         https://bugs.webkit.org/show_bug.cgi?id=45811
31072
31073         The basic problem was the deserializer was holding a pointer into
31074         the constant pool, but if you were sufficiently unlucky then the
31075         constant pool would be moved while still relying on the pointer,
31076         which leads to badness.
31077
31078         I looked at just making all the sites this could happen extract the
31079         right string/jsstring before any possible allocations, but it seemed
31080         too fragile so i've gone for a forwarding object as the solution.
31081
31082         * bindings/js/SerializedScriptValue.cpp:
31083         (WebCore::CloneDeserializer::CachedStringRef::CachedStringRef):
31084         (WebCore::CloneDeserializer::CachedStringRef::operator->):
31085         (WebCore::CloneDeserializer::readStringData):
31086         (WebCore::CloneDeserializer::readFile):
31087         (WebCore::CloneDeserializer::readTerminal):
31088         (WebCore::CloneDeserializer::deserialize):
31089
31090 2010-10-18  Chris Rogers  <crogers@google.com>
31091
31092         Reviewed by Chris Fleizach.
31093
31094         Add AudioResampler files
31095         https://bugs.webkit.org/show_bug.cgi?id=47623
31096
31097         No new tests since audio API is not yet implemented.
31098
31099         * platform/audio/AudioResampler.cpp: Added.
31100         (WebCore::AudioResampler::AudioResampler):
31101         (WebCore::AudioResampler::configureChannels):
31102         (WebCore::AudioResampler::process):
31103         (WebCore::AudioResampler::setRate):
31104         (WebCore::AudioResampler::reset):
31105         * platform/audio/AudioResampler.h: Added.
31106         (WebCore::AudioResampler::~AudioResampler):
31107         (WebCore::AudioResampler::rate):
31108
31109 2010-10-18  Vangelis Kokkevis  <vangelis@chromium.org>
31110
31111         Reviewed by James Robinson.
31112
31113         [chromium] Prevent the creation of very large textures for layers by switching
31114         to "large layer" mode when a texture is larger than some fixed reasonable size
31115         (set to 2000 pixels for now).
31116         https://bugs.webkit.org/show_bug.cgi?id=47751
31117
31118         The code also changes the large layer logic to use the current scissor rect used
31119         by the compositor instead of the visible rect to determine how to clip large layers.
31120         This will provide additional texture savings. In addition, the various layer rects
31121         have been converted to use integers instead of floats to preserve uniformity in the code.
31122         
31123         Tests: Existing large layer layout tests including huge-layer and huge-layer-img
31124
31125         * platform/graphics/chromium/ContentLayerChromium.cpp:
31126         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
31127         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
31128         * platform/graphics/chromium/LayerChromium.cpp:
31129         (WebCore::LayerChromium::getDrawRect):
31130         * platform/graphics/chromium/LayerChromium.h:
31131         * platform/graphics/chromium/LayerRendererChromium.cpp:
31132         (WebCore::LayerRendererChromium::drawLayers):
31133         (WebCore::LayerRendererChromium::drawLayersRecursive):
31134         (WebCore::LayerRendererChromium::scissorToRect):
31135         * platform/graphics/chromium/LayerRendererChromium.h:
31136         (WebCore::LayerRendererChromium::currentScissorRect):
31137
31138 2010-10-18  Jia Pu  <jpu@apple.com>
31139
31140         Reviewed by Stephanie Lewis.
31141
31142         Correct the description of manual test: autocorrection-cancelled-by-typing-1.html
31143         https://bugs.webkit.org/show_bug.cgi?id=47722
31144         <rdar://problem/8556206>
31145
31146         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description
31147           to match the test content.
31148
31149 2010-10-18  Martin Robinson  <mrobinson@igalia.com>
31150
31151         Build fix for newer versions of GTK+ 2.0. Instead of using GDK_DISPLAY()
31152         use GDK_DRAWABLE_XDISPLAY(gdk_display_get_default()). GDK_DISPLAY() was
31153         recently deprecated and the latter method has been available since GTK+
31154         2.2.
31155
31156         * plugins/gtk/PluginViewGtk.cpp:
31157         (WebCore::PluginView::updatePluginWidget):
31158         (WebCore::PluginView::paint):
31159         (WebCore::PluginView::initXEvent):
31160         (WebCore::PluginView::platformGetValue):
31161         (WebCore::getVisualAndColormap):
31162         (WebCore::PluginView::platformStart):
31163         (WebCore::PluginView::platformDestroy):
31164
31165 2010-10-18  Ryosuke Niwa  <rniwa@webkit.org>
31166
31167         Reviewed by Adam Barth.
31168
31169         elementCannotHaveEndTag should be a member function of MarkupAccumulator
31170         https://bugs.webkit.org/show_bug.cgi?id=47846
31171
31172         Moved elementCannotHaveEndTag into MarkupAccumulator.
31173
31174         No new tests are added since this is a cleanup.
31175
31176         * editing/MarkupAccumulator.cpp:
31177         (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
31178         * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
31179         * editing/markup.cpp: Removed elementCannotHaveEndTag.
31180         * editing/markup.h: Removed elementCannotHaveEndTag.
31181
31182 2010-10-18  Johnny Ding  <jnd@chromium.org>
31183
31184         Reviewed by Adam Barth.
31185
31186         Set the right referent sourceURL for the script with force user gesture.
31187         https://bugs.webkit.org/show_bug.cgi?id=37138
31188
31189         Because empty sourceURL indicates running script with force user gesture,
31190         make WebKit use document.url() as referent sourceURL (Since it uses blank
31191         URL instead empty if the input URL is empty) if WebKit isn't running the
31192         script from a hyper-link.
31193
31194         Test: fast/events/popup-blocked-from-window-open.html
31195
31196         * bindings/ScriptControllerBase.cpp:
31197         (WebCore::ScriptController::executeScript):
31198         * bindings/js/ScriptController.cpp:
31199         (WebCore::ScriptController::executeScriptInWorld):
31200
31201 2010-10-18  Darin Adler  <darin@apple.com>
31202
31203         * dom/Node.h: Fix ancient typo in just-modified comment.
31204
31205 2010-10-18  Darin Adler  <darin@apple.com>
31206
31207         Reviewed by Alexey Proskuryakov.
31208
31209         Remove some functions from class Node and make a few others non-virtual
31210         https://bugs.webkit.org/show_bug.cgi?id=47735
31211
31212         Refactoring. No new tests.
31213
31214         * bindings/js/JSNodeCustom.cpp:
31215         (WebCore::JSNode::markChildren): Added a FIXME about the use of the virtual
31216         ownerDocument function.
31217
31218         * dom/ContainerNode.cpp:
31219         (WebCore::ContainerNode::removeChildren): Removed the unused return value.
31220
31221         * dom/ContainerNode.h: Made insertBefore, replaceChild, removeChild, and
31222         appendChild non-virtual for clarity and performance. Made removeChildren
31223         non-virtual and removed its return value. Moved the inline Node functions
31224         that call through to ContainerNode into this file since the old way involved
31225         an extra level of inline function but otherwise had no advantages.
31226
31227         * dom/Element.h: Moved isMathMLElement here because there is no call site
31228         that needs to call it on a Node*. We can always move it back if we need to,
31229         but it's better to have less in the Node class.
31230
31231         * dom/Node.cpp:
31232         (WebCore::Node::insertBefore): Added an isContainerNode check so this can
31233         be non-virtual. There are very few callers who call this function on Node.
31234         If we want to optimize them further we can make the isContainerNode check
31235         inline in the future.
31236         (WebCore::Node::replaceChild): Ditto.
31237         (WebCore::Node::removeChild): Ditto.
31238         (WebCore::Node::appendChild): Ditto.
31239         (WebCore::Node::remove): Removed unneeded ref/unref because
31240         ContainerNode::removeChild already does this.
31241         (WebCore::Node::createRendererIfNeeded): Removed #if around call to
31242         childShouldCreateRenderer since it's needed even without SVG and XHTMLMP.
31243
31244         * dom/Node.h: Moved definitions of inline functions that depend on
31245         ContainerNode to the ContainerNode.h header. They already required inclusion
31246         of that header, so there is no functional change. Made insertBefore,
31247         replaceChild, removeChild, and appendChild non-virtual. There are very few
31248         callers of these functions on this class. Moved isMathMLElement to Element.
31249         Added a FIXME about the name of eventAncestors. Fixed comment formatting.
31250         Eliminated unused isEditableBlock function. Moved the body of the
31251         enclosingInlineElement function to the editing file that was the only
31252         call site. Removed the previousEditable and nextEditable functions,
31253         incorporating their bodies into the one place they were called.
31254         Took the childShouldCreateRenderer function out of #if since it's
31255         now used by the implementation of the <noscript> element.
31256
31257         * dom/Position.cpp:
31258         (WebCore::nextRenderedEditable): Rewrote the function to use nextLeafNode
31259         instead of nextEditable.
31260         (WebCore::previousRenderedEditable): Rewrote the function to use
31261         previousLeafNode instead of previousEditable.
31262
31263         * editing/ReplaceSelectionCommand.cpp:
31264         (WebCore::enclosingInline): Moved function here from the Node class. Also
31265         fixed an incorrect cast this function did, which assumed the function
31266         result was always an element, which the function does not guarantee.
31267         (WebCore::ReplaceSelectionCommand::doApply): Call the function above.
31268
31269         * history/HistoryItem.cpp: Added include of MathExtras.h.
31270
31271 2010-10-18  Yongjun Zhang  <yongjun_zhang@apple.com>
31272
31273         Reviewed by Darin Adler.
31274
31275         Missing support for document.createEvent("OrientationEvent")
31276         https://bugs.webkit.org/show_bug.cgi?id=32492
31277
31278         Add support for document.createEvent("OrientationEvent") to help unit testing of
31279         onOrientationChange event.
31280
31281         Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html
31282
31283         * dom/Document.cpp:
31284         (WebCore::Document::createEvent):
31285
31286 2010-10-18  Jeremy Orlow  <jorlow@chromium.org>
31287
31288         Reviewed by Darin Adler.
31289
31290         DOMStringList should return null if the index is out of range
31291         https://bugs.webkit.org/show_bug.cgi?id=47829
31292
31293         When item() returns a null string, it needs to be passed to JS as
31294         null. The indexed getter will then magically do the right thing.
31295         So all that's left is having DOMStringList::item() return null when
31296         the index is out of bounds.
31297
31298         * dom/DOMStringList.cpp:
31299         (WebCore::DOMStringList::item):
31300         * dom/DOMStringList.h:
31301         * dom/DOMStringList.idl:
31302
31303 2010-10-18  Girish Ramakrishnan  <girish@forwardbias.in>
31304
31305         Reviewed by Ariya Hidayat.
31306
31307         [Qt] Implement Accelerated Composition for NPAPI Plugins.
31308
31309         https://bugs.webkit.org/show_bug.cgi?id=35524
31310
31311         * plugins/PluginView.h:
31312         (WebCore::PluginView::platformLayer):
31313         * plugins/qt/PluginViewQt.cpp:
31314         (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
31315         (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
31316         (WebCore::PluginGraphicsLayerQt::paint):
31317         (WebCore::PluginView::updatePluginWidget):
31318         (WebCore::PluginView::paint):
31319         (WebCore::PluginView::invalidateRect):
31320         (WebCore::PluginView::invalidateRegion):
31321         (WebCore::PluginView::platformStart):
31322         (WebCore::PluginView::platformLayer):
31323
31324 2010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>
31325
31326         Reviewed by Eric Seidel.
31327
31328         Switch to using the new Carbon NPAPI event declarations, and remove
31329         the old ones.
31330
31331         https://bugs.webkit.org/show_bug.cgi?id=40784
31332
31333         * bridge/npapi.h:
31334         * plugins/mac/PluginViewMac.mm:
31335         (WebCore::PluginView::setFocus):
31336         (WebCore::PluginView::handleMouseEvent):
31337
31338 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31339
31340         Reviewed by Yury Semikhatsky.
31341
31342         Web Inspector: comment out resource manager instantiation on front-end side.
31343         https://bugs.webkit.org/show_bug.cgi?id=47823
31344
31345         * inspector/front-end/inspector.js:
31346
31347 2010-10-18  Andrei Popescu  <andreip@google.com>
31348
31349         Reviewed by Jeremy Orlow.
31350
31351         The description parameter of IDBFactory::open() should be mandatory.
31352         https://bugs.webkit.org/show_bug.cgi?id=47835
31353
31354         Makes the description parameter mandatory, as per the IndexedDatabase specification.
31355         Modified existing tests to cover this change.
31356
31357         * storage/IDBDatabaseBackendImpl.cpp:
31358         (WebCore::extractMetaData):
31359         (WebCore::setMetaData):
31360         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
31361         * storage/IDBFactory.cpp:
31362         (WebCore::IDBFactory::open):
31363         * storage/IDBFactory.h:
31364         * storage/IDBFactory.idl:
31365
31366 2010-10-18  Xiaomei Ji  <xji@chromium.org>
31367
31368         Reviewed by David Levin.
31369
31370         Code cleanup: Move most function members in TextRunWorker from inlined.
31371         https://bugs.webkit.org/show_bug.cgi?id=47732
31372
31373         No functionality change, so no tests added.
31374
31375         * platform/graphics/chromium/FontLinux.cpp:
31376         (WebCore::TextRunWalker::setWordSpacingAdjustment):
31377         (WebCore::TextRunWalker::setLetterSpacingAdjustment):
31378         (WebCore::TextRunWalker::setXOffsetToZero):
31379         (WebCore::TextRunWalker::rtl):
31380         (WebCore::TextRunWalker::glyphs):
31381         (WebCore::TextRunWalker::length):
31382         (WebCore::TextRunWalker::xPositions):
31383         (WebCore::TextRunWalker::advances):
31384         (WebCore::TextRunWalker::width):
31385         (WebCore::TextRunWalker::logClusters):
31386         (WebCore::TextRunWalker::numCodePoints):
31387         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
31388         (WebCore::TextRunWalker::isCodepointSpace):
31389         (WebCore::TextRunWalker::TextRunWalker):
31390         (WebCore::TextRunWalker::~TextRunWalker):
31391         (WebCore::TextRunWalker::isWordBreak):
31392         (WebCore::TextRunWalker::setPadding):
31393         (WebCore::TextRunWalker::reset):
31394         (WebCore::TextRunWalker::setBackwardsIteration):
31395         (WebCore::TextRunWalker::nextScriptRun):
31396         (WebCore::TextRunWalker::widthOfFullRun):
31397         (WebCore::TextRunWalker::getTextRun):
31398         (WebCore::TextRunWalker::getNormalizedTextRun):
31399         (WebCore::TextRunWalker::setupFontForScriptRun):
31400         (WebCore::TextRunWalker::allocHarfbuzzFont):
31401         (WebCore::TextRunWalker::deleteGlyphArrays):
31402         (WebCore::TextRunWalker::createGlyphArrays):
31403         (WebCore::TextRunWalker::resetGlyphArrays):
31404         (WebCore::TextRunWalker::shapeGlyphs):
31405         (WebCore::TextRunWalker::setGlyphXPositions):
31406         (WebCore::TextRunWalker::mirrorCharacters):
31407
31408 2010-10-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
31409
31410         Reviewed by Andreas Kling.
31411
31412         [Qt] AC rendering bugs
31413         There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's
31414         contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly.
31415
31416         https://bugs.webkit.org/show_bug.cgi?id=47571
31417
31418         No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt.
31419
31420         * platform/graphics/qt/GraphicsLayerQt.cpp:
31421         (WebCore::GraphicsLayerQtImpl::flushChanges):
31422         (WebCore::GraphicsLayerQt::setContentsNeedsDisplay):
31423         * platform/graphics/qt/GraphicsLayerQt.h:
31424
31425 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31426
31427         Reviewed by Simon Fraser.
31428
31429         Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
31430         https://bugs.webkit.org/show_bug.cgi?id=46224
31431
31432         * CMakeLists.txt:
31433         * GNUmakefile.am:
31434         * WebCore.gypi:
31435         * WebCore.pro:
31436         * WebCore.vcproj/WebCore.vcproj:
31437         * WebCore.xcodeproj/project.pbxproj:
31438         * inspector/InspectorClient.cpp: Added.
31439         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
31440         * inspector/InspectorClient.h:
31441         (WebCore::InspectorClient::InspectorClient):
31442
31443 2010-10-18  Andrei Popescu  <andreip@google.com>
31444
31445         Reviewed by Jeremy Orlow.
31446
31447         IDBKeyTree.h is no longer used.
31448         https://bugs.webkit.org/show_bug.cgi?id=47824
31449
31450         No new tests, just removing unused files.
31451
31452         * WebCore.gypi:
31453         * WebCore.xcodeproj/project.pbxproj:
31454         * storage/IDBKeyTree.h: Removed.
31455
31456 2010-10-18  Andreas Kling  <kling@webkit.org>
31457
31458         Unreviewed buildfix for Qt + V8.
31459         Add missing <wtf/text/CString.h> include.
31460
31461         * inspector/InspectorInstrumentation.cpp:
31462
31463 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
31464
31465         Reviewed by Yury Semikhatsky.
31466
31467         Web Inspector: toJSON serialization for Numbers should be fixed.
31468         DecimalNumber is used instead of printf.
31469
31470         https://bugs.webkit.org/show_bug.cgi?id=43832
31471
31472         * inspector/InspectorValues.cpp:
31473         (WebCore::InspectorBasicValue::writeJSON):
31474
31475 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
31476
31477         Reviewed by Yury Semikhatsky.
31478
31479         Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests.
31480         The initial state of an inspector setting should stay untouched
31481         if the profile has no value for it.
31482
31483         https://bugs.webkit.org/show_bug.cgi?id=47785
31484
31485         * inspector/InspectorState.cpp:
31486         (WebCore::InspectorState::loadFromSettings):
31487
31488 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31489
31490         Reviewed by Yury Semikhatsky.
31491
31492         Web Inspector: tab headers on resource panel are 1px off on Mac.
31493         https://bugs.webkit.org/show_bug.cgi?id=47798
31494
31495         * inspector/front-end/inspector.css:
31496         (.tabbed-pane-header li):
31497
31498 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31499
31500         Not reviewed. Build fix.
31501
31502         * inspector/InspectorResourceAgent.cpp:
31503         (WebCore::cachedResourceTypeString):
31504
31505 2010-10-17  Pavel Feldman  <pfeldman@chromium.org>
31506
31507         Reviewed by Yury Semikhatsky.
31508
31509         Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to
31510         fill network panel with data.
31511         https://bugs.webkit.org/show_bug.cgi?id=47779
31512         
31513         InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal
31514         to the front-end's. This new resource agent does not have state, instead it covers two functions:
31515          1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources.
31516         (1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept.
31517         This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart.
31518         Once resources panel is refactored for the new concept, InspectorResource, InspectorController's
31519         resource-related routines, inspector.js's code dealing with resources, they all will be gone.
31520
31521         * WebCore.gypi:
31522         * WebCore.vcproj/WebCore.vcproj:
31523         * inspector/CodeGeneratorInspector.pm:
31524         * inspector/Inspector.idl:
31525         * inspector/InspectorApplicationCacheAgent.cpp:
31526         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
31527         * inspector/InspectorController.cpp:
31528         (WebCore::InspectorController::connectFrontend):
31529         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
31530         (WebCore::InspectorController::didCommitLoad):
31531         (WebCore::InspectorController::frameDetachedFromParent):
31532         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
31533         (WebCore::InspectorController::identifierForInitialRequest):
31534         (WebCore::InspectorController::willSendRequest):
31535         (WebCore::InspectorController::markResourceAsCached):
31536         (WebCore::InspectorController::didReceiveResponse):
31537         (WebCore::InspectorController::didReceiveContentLength):
31538         (WebCore::InspectorController::didFinishLoading):
31539         (WebCore::InspectorController::didFailLoading):
31540         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
31541         (WebCore::InspectorController::scriptImported):
31542         (WebCore::InspectorController::didCreateWebSocket):
31543         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
31544         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
31545         (WebCore::InspectorController::didCloseWebSocket):
31546         * inspector/InspectorController.h:
31547         * inspector/InspectorResource.cpp:
31548         (WebCore::InspectorResource::updateResponse):
31549         (WebCore::cachedResourceType):
31550         (WebCore::InspectorResource::type):
31551         (WebCore::InspectorResource::sourceString):
31552         (WebCore::InspectorResource::sourceBytes):
31553         (WebCore::InspectorResource::endTiming):
31554         * inspector/InspectorResourceAgent.cpp:
31555         (WebCore::InspectorResourceAgent::resourceContent):
31556         (WebCore::InspectorResourceAgent::resourceContentBase64):
31557         (WebCore::InspectorResourceAgent::resourceData):
31558         (WebCore::InspectorResourceAgent::cachedResource):
31559         (WebCore::buildObjectForHeaders):
31560         (WebCore::buildObjectForTiming):
31561         (WebCore::buildObjectForResourceRequest):
31562         (WebCore::buildObjectForResourceResponse):
31563         (WebCore::buildObjectForMainResource):
31564         (WebCore::cachedResourceTypeString):
31565         (WebCore::buildObjectForCachedResource):
31566         (WebCore::buildObjectForFrameResources):
31567         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
31568         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
31569         (WebCore::InspectorResourceAgent::willSendRequest):
31570         (WebCore::InspectorResourceAgent::markResourceAsCached):
31571         (WebCore::InspectorResourceAgent::didReceiveResponse):
31572         (WebCore::InspectorResourceAgent::didReceiveContentLength):
31573         (WebCore::InspectorResourceAgent::didFinishLoading):
31574         (WebCore::InspectorResourceAgent::didFailLoading):
31575         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
31576         (WebCore::InspectorResourceAgent::setOverrideContent):
31577         (WebCore::InspectorResourceAgent::didCommitLoad):
31578         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
31579         (WebCore::createReadableStringFromBinary):
31580         (WebCore::InspectorResourceAgent::didCreateWebSocket):
31581         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
31582         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
31583         (WebCore::InspectorResourceAgent::didCloseWebSocket):
31584         (WebCore::InspectorResourceAgent::cachedResources):
31585         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
31586         * inspector/InspectorResourceAgent.h:
31587         (WebCore::InspectorResourceAgent::create):
31588         * inspector/InspectorStyleSheet.cpp:
31589         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
31590         * inspector/front-end/ExtensionServer.js:
31591         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
31592         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
31593         * inspector/front-end/Resource.js:
31594         (WebInspector.Resource.prototype.get responseReceivedTime):
31595         (WebInspector.Resource.prototype.set endTime):
31596         * inspector/front-end/Settings.js:
31597         * inspector/front-end/SourceView.js:
31598         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
31599         * inspector/front-end/WebKit.qrc:
31600         * inspector/front-end/inspector.css:
31601         (.tabbed-pane-header li):
31602         * inspector/front-end/inspector.html:
31603         * inspector/front-end/inspector.js:
31604         (WebInspector.updateResource):
31605         * loader/ResourceLoadNotifier.cpp:
31606         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
31607         * loader/appcache/ApplicationCacheGroup.cpp:
31608         (WebCore::ApplicationCacheGroup::didReceiveResponse):
31609
31610 2010-10-16  Pavel Feldman  <pfeldman@chromium.org>
31611
31612         Reviewed by Yury Semikhatsky.
31613
31614         Web Inspector: brush up URL parsing on the front-end.
31615         https://bugs.webkit.org/show_bug.cgi?id=47772
31616
31617         * inspector/InspectorResource.cpp:
31618         (WebCore::InspectorResource::updateScriptObject):
31619         * inspector/front-end/AuditRules.js:
31620         (WebInspector.AuditRules.getDomainToResourcesMap):
31621         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
31622         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
31623         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
31624         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
31625         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
31626         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
31627         * inspector/front-end/CookieItemsView.js:
31628         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
31629         * inspector/front-end/DOMAgent.js:
31630         (WebInspector.Cookies.cookieMatchesResourceURL):
31631         * inspector/front-end/Resource.js:
31632         (WebInspector.Resource):
31633         (WebInspector.Resource.prototype.set url):
31634         (WebInspector.Resource.prototype.get displayName):
31635         * inspector/front-end/ResourceCategory.js:
31636         (WebInspector.ResourceCategory.prototype.addResource):
31637         * inspector/front-end/ResourceView.js:
31638         (WebInspector.ResourceView):
31639         * inspector/front-end/inspector.js:
31640         (WebInspector.documentClick.followLink):
31641         (WebInspector.documentClick):
31642         (WebInspector.updateResource):
31643         (WebInspector.linkifyStringAsFragment):
31644         (WebInspector.resourceURLForRelatedNode):
31645         (WebInspector.completeURL):
31646         * inspector/front-end/utilities.js:
31647         (String.prototype.asParsedURL):
31648
31649 2010-10-17  Andreas Kling  <kling@webkit.org>
31650
31651         Reviewed by Kenneth Rohde Christiansen.
31652
31653         [Qt] Support custom open() verbs/methods in XMLHttpRequest
31654         https://bugs.webkit.org/show_bug.cgi?id=40476
31655
31656         Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb
31657         that's not specifically supported by QNetworkAccessManager.
31658
31659         This prevents the infinite loop that otherwise occurs after sending
31660         an UnknownOperation request.
31661
31662         This change is covered by existing (skipped) tests that will be
31663         unskipped once the Qt bots are running Qt 4.7.
31664
31665         * platform/network/qt/QNetworkReplyHandler.cpp:
31666         (WebCore::QNetworkReplyHandler::httpMethod):
31667         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
31668         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
31669         * platform/network/qt/QNetworkReplyHandler.h:
31670
31671 2010-10-17  Adam Barth  <abarth@webkit.org>
31672
31673         Reviewed by Dimitri Glazkov.
31674
31675         Remove explicit passing of user gesture in NavigationScheduler
31676         https://bugs.webkit.org/show_bug.cgi?id=47786
31677
31678         As requested by Mr. Glazkov, remove more explicit passing of the user
31679         gesture state.  We now use a static to pass this information around.
31680
31681         * bindings/generic/BindingFrame.h:
31682         (WebCore::::navigateIfAllowed):
31683         * bindings/js/JSDOMWindowCustom.cpp:
31684         (WebCore::JSDOMWindow::setLocation):
31685         * bindings/js/JSLocationCustom.cpp:
31686         (WebCore::JSLocation::reload):
31687         * bindings/v8/custom/V8LocationCustom.cpp:
31688         (WebCore::V8Location::reloadCallback):
31689         * inspector/InspectorController.cpp:
31690         (WebCore::InspectorController::setResourceTrackingEnabled):
31691         (WebCore::InspectorController::reloadPage):
31692         * loader/NavigationScheduler.cpp:
31693         (WebCore::ScheduledNavigation::ScheduledNavigation):
31694         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
31695         (WebCore::ScheduledRedirect::ScheduledRedirect):
31696         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
31697         (WebCore::ScheduledRefresh::ScheduledRefresh):
31698         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
31699         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
31700         (WebCore::NavigationScheduler::scheduleRedirect):
31701         (WebCore::NavigationScheduler::mustLockBackForwardList):
31702         (WebCore::NavigationScheduler::scheduleLocationChange):
31703         (WebCore::NavigationScheduler::scheduleFormSubmission):
31704         (WebCore::NavigationScheduler::scheduleRefresh):
31705         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
31706         * loader/NavigationScheduler.h:
31707         * loader/SubframeLoader.cpp:
31708         (WebCore::SubframeLoader::loadOrRedirectSubframe):
31709
31710 2010-10-17  Julien Chaffraix  <jchaffraix@codeaurora.org>
31711
31712         Reviewed by Andreas Kling.
31713
31714         'transparent' should be a valid color
31715         https://bugs.webkit.org/show_bug.cgi?id=45482
31716
31717         Test: svg/animations/svg-animate-color-transparent.svg
31718
31719         Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>
31720
31721         * platform/ColorData.gperf: Added 'transparent' to the list of colors.
31722         Added the alpha to all the colors as it was needed to support the new color.
31723
31724         * platform/graphics/Color.cpp:
31725         (WebCore::Color::Color):
31726         (WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not
31727         always 0xFF.
31728
31729 2010-10-17  Justin Schuh  <jschuh@chromium.org>
31730
31731         Reviewed by Nikolas Zimmermann.
31732
31733         Duplicate use element children in shadow tree.
31734         https://bugs.webkit.org/show_bug.cgi?id=47561
31735
31736         Test: svg/custom/use-nested-children.svg
31737
31738         * svg/SVGUseElement.cpp:
31739         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
31740
31741 2010-10-17  Hyung Song  <beergun@company100.net>
31742
31743         Reviewed by David Levin.
31744
31745         Add !SINGLE_THREADED guard.
31746         https://bugs.webkit.org/show_bug.cgi?id=47608
31747
31748         For SINGLE_THREADED ports LockingMutex.tryLock() returns false.
31749         This will prevent interrupt() from falling into infinite loop.
31750
31751         * platform/sql/SQLiteDatabase.cpp:
31752         (WebCore::SQLiteDatabase::interrupt):
31753
31754 2010-10-17  Simon Fraser  <simon.fraser@apple.com>
31755
31756         Reviewed by Nikolas Zimmermann.
31757
31758         Very large and small numbers fail to round-trip through CSS
31759         https://bugs.webkit.org/show_bug.cgi?id=20674
31760         
31761         Use the new DecimalNumber functionality to convert CSS numberic values to strings
31762         using decimal notation, rather than %g (which can output scientific notation).
31763
31764         Test: fast/css/round-trip-values.html
31765
31766         * css/CSSPrimitiveValue.cpp:
31767         (WebCore::formatNumber):
31768         (WebCore::CSSPrimitiveValue::cssText):
31769
31770 2010-10-17  Cosmin Truta  <ctruta@chromium.org>
31771
31772         Reviewed by Nikolas Zimmermann.
31773
31774         Crash while processing ill-formed SVG with cycles
31775         https://bugs.webkit.org/show_bug.cgi?id=47498
31776
31777         Test: svg/custom/invalid-paint-shape-mask.svg
31778
31779         * rendering/SVGResources.cpp:
31780         (paintingResourceFromSVGPaint): Ensured that the painting resource is
31781         either a pattern resource or a gradient resource.
31782         (SVGResources::setClipper):
31783         (SVGResources::setFilter):
31784         (SVGResources::setMarkerStart):
31785         (SVGResources::setMarkerMid):
31786         (SVGResources::setMarkerEnd):
31787         (SVGResources::setMasker):
31788         (SVGResources::setFill):
31789         (SVGResources::setStroke): Added ASSERT statements for previously-unchecked
31790         preconditions.
31791
31792 2010-10-17  Alex Milowski  <alex@milowski.com>
31793
31794         Reviewed by Kenneth Rohde Christiansen.
31795
31796         Fixed extra whitespace above operators when they aren't stretched
31797         yet the stretch height is large.  Also, the baseline alignment
31798         was changed so that rows and operators interact appropriately now
31799         that operators don't have the extra white space.
31800
31801         * mathml/RenderMathMLOperator.cpp:
31802         * mathml/RenderMathMLRow.cpp:
31803
31804 2010-10-17  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
31805
31806         Reviewed by Antonio Gomes.
31807
31808         [Qt] Fix focusing of control elements on mouse click.
31809         Brings GTK fix to Qt platform.
31810         https://bugs.webkit.org/show_bug.cgi?id=40641
31811                         
31812         Test: fast/events/click-focus-control.html
31813
31814         * html/HTMLFormControlElement.cpp:
31815         (WebCore::HTMLFormControlElement::isMouseFocusable):
31816
31817 2010-10-17  Adam Barth  <abarth@webkit.org>
31818
31819         Reviewed by Dimitri Glazkov.
31820
31821         FrameLoader doesn't need an explicit userGesture parameter
31822         https://bugs.webkit.org/show_bug.cgi?id=47777
31823
31824         We used to pass around the user gesture state explicitly.  Now we use
31825         static state.  Explicitly passing the user gesture state to FrameLoader
31826         in these methods is pretty out-dated.
31827
31828         * bindings/ScriptControllerBase.cpp:
31829         (WebCore::ScriptController::executeIfJavaScriptURL):
31830         * bindings/generic/BindingDOMWindow.h:
31831         (WebCore::::createWindow):
31832         (WebCore::::open):
31833         * bindings/js/JSDOMWindowCustom.cpp:
31834         (WebCore::createWindow):
31835         (WebCore::JSDOMWindow::open):
31836         * bindings/js/JSDocumentCustom.cpp:
31837         (WebCore::JSDocument::setLocation):
31838         * bindings/js/ScriptController.h:
31839         * bindings/v8/ScriptController.h:
31840         * html/HTMLAnchorElement.cpp:
31841         (WebCore::handleLinkClick):
31842         * inspector/InspectorController.cpp:
31843         (WebCore::InspectorController::openInInspectedWindow):
31844         * loader/FrameLoader.cpp:
31845         (WebCore::FrameLoader::changeLocation):
31846         (WebCore::FrameLoader::urlSelected):
31847         (WebCore::FrameLoader::submitForm):
31848         * loader/FrameLoader.h:
31849         * loader/NavigationScheduler.cpp:
31850         (WebCore::ScheduledURLNavigation::fire):
31851         (WebCore::ScheduledRefresh::fire):
31852         (WebCore::ScheduledHistoryNavigation::fire):
31853         (WebCore::NavigationScheduler::scheduleLocationChange):
31854
31855 2010-10-17  Sergey A. Sukiyazov  <sergey.sukiyazov@gmail.com>
31856
31857         Reviewed by Andreas Kling
31858
31859         [Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine)
31860         https://bugs.webkit.org/show_bug.cgi?id=42248
31861
31862         The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside
31863         method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere,
31864         then the new point coordinates will be passed to Qt graphics engine.
31865
31866         The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine
31867         is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...),  which
31868         called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value.
31869
31870         NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used.
31871
31872         No new tests.
31873
31874         * platform/graphics/qt/GraphicsContextQt.cpp:
31875         (WebCore::GraphicsContext::drawLineForText):
31876
31877 2010-10-17  Rob Buis  <rwlbuis@gmail.com>
31878
31879         Reviewed by Dirk Schulze.
31880
31881         Text under nested link dropped
31882         https://bugs.webkit.org/show_bug.cgi?id=46460
31883
31884         Allow links inside of tspan and textPath elements.
31885
31886         * svg/SVGTSpanElement.cpp:
31887         (WebCore::SVGTSpanElement::childShouldCreateRenderer):
31888         * svg/SVGTextPathElement.cpp:
31889         (WebCore::SVGTextPathElement::childShouldCreateRenderer):
31890
31891 2010-10-16  Kwang Yul Seo  <skyul@company100.net>
31892
31893         Reviewed by Kent Tamura.
31894
31895         [BREWMP] Port TextCodec
31896         https://bugs.webkit.org/show_bug.cgi?id=45797
31897
31898         Implement TextCodec with Brew MP's ICharsetConv.
31899         Only UTF-8 is supported for now.
31900
31901         * platform/text/TextEncoding.cpp:
31902         (WebCore::TextEncoding::encode):
31903         * platform/text/TextEncodingRegistry.cpp:
31904         (WebCore::buildBaseTextCodecMaps):
31905         * platform/text/brew/TextCodecBrew.cpp: Added.
31906         (WebCore::newTextCodecBrew):
31907         (WebCore::TextCodecBrew::registerBaseEncodingNames):
31908         (WebCore::TextCodecBrew::registerBaseCodecs):
31909         (WebCore::TextCodecBrew::registerExtendedEncodingNames):
31910         (WebCore::TextCodecBrew::registerExtendedCodecs):
31911         (WebCore::TextCodecBrew::TextCodecBrew):
31912         (WebCore::TextCodecBrew::~TextCodecBrew):
31913         (WebCore::TextCodecBrew::decode):
31914         (WebCore::TextCodecBrew::encode):
31915         * platform/text/brew/TextCodecBrew.h: Added.
31916
31917 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
31918
31919         Unreviewed.
31920
31921         Build fix for !ENABLE(INSPECTOR) after r69844.
31922
31923         * inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard.
31924
31925 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
31926
31927         Unreviewed, build fix.
31928
31929         WinCE build fix for r69798.
31930
31931         * platform/text/wince/TextCodecWinCE.cpp: Added missing include.
31932
31933 2010-10-16  Johnny Ding  <jnd@chromium.org>
31934
31935         Reviewed by Adam Barth.
31936
31937         Requires a user gesture when opening file choose dialog.
31938         https://bugs.webkit.org/show_bug.cgi?id=47593
31939
31940         Test: fast/forms/input-file-not-open-without-gesture.html
31941
31942         * rendering/RenderFileUploadControl.cpp:
31943         (WebCore::RenderFileUploadControl::click):
31944
31945 2010-10-16  Alex Milowski  <alex@milowski.com>
31946
31947         Reviewed by Kenneth Rohde Christiansen.
31948
31949         Changed the vertical alignment within mfenced to baseline to
31950         match the rest of the containers (e.g. mrow) and adjusted the
31951         operator spacing to 0.1em.
31952
31953         Test: mathml/presentation/fenced-mi.xhtml
31954
31955         * css/mathml.css:
31956         * mathml/RenderMathMLFenced.cpp:
31957
31958 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
31959
31960         Reviewed by Adam Barth.
31961
31962         Rename StringHasherFunctions.h to StringHasher.h
31963         https://bugs.webkit.org/show_bug.cgi?id=47200
31964
31965         * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
31966         * ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h. 
31967  
31968 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
31969
31970         Reviewed by Darin Adler.
31971
31972         unlink removes inline style of anchor elements
31973         https://bugs.webkit.org/show_bug.cgi?id=47424
31974
31975         The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle.
31976         Because we removed the element without pushing its inline style down, we lost style information.
31977
31978         Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode.
31979         Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container
31980         node as supposed to that of startNode from the style to apply when startNode is not an element.
31981
31982         Test: editing/execCommand/toggle-unlink.html
31983
31984         * editing/ApplyStyleCommand.cpp:
31985         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future,
31986         added an assert that extractedStyle is specified whenever we're removing a styled element.
31987         (WebCore::ApplyStyleCommand::removeInlineStyle):
31988         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
31989
31990 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
31991
31992         Reviewed by Tony Chang.
31993
31994         serializeNodesWithNamespaces should be in MarkupAccumulator
31995         https://bugs.webkit.org/show_bug.cgi?id=47749
31996
31997         Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes.
31998         MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults().
31999         Added several helper functions to MarkupAccumulator.
32000
32001         No new tests are added since this is a cleanup.
32002
32003         * editing/MarkupAccumulator.cpp:
32004         (WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup.
32005         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp
32006         (WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly.
32007         (WebCore::MarkupAccumulator::appendEndTag): Ditto.
32008         (WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults.
32009         (WebCore::MarkupAccumulator::concatenateMarkup): Ditto.
32010         * editing/MarkupAccumulator.h:
32011         (WebCore::MarkupAccumulator::length): Added; calls totalLength.
32012         * editing/markup.cpp:
32013         (WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString.
32014         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString.
32015         (WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup.
32016         (WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function.
32017         (WebCore::createMarkup): Uses MarkupAccumulator.
32018
32019 2010-10-15  Kinuko Yasuda  <kinuko@google.com>
32020
32021         Reviewed by Jian Li.
32022
32023         Implement FileEntrySync.file() in FileSystem API
32024         https://bugs.webkit.org/show_bug.cgi?id=47310
32025
32026         Tests: fast/filesystem/workers/file-from-file-entry-sync.html
32027                fast/filesystem/workers/file-from-file-entry.html
32028
32029         * fileapi/DOMFileSystem.cpp:
32030         (WebCore::DOMFileSystem::createFile): Added.
32031         * fileapi/DOMFileSystem.h:
32032         * fileapi/DOMFileSystemSync.cpp:
32033         (WebCore::DOMFileSystemSync::createFile): Added.
32034         * fileapi/DOMFileSystemSync.h:
32035         * fileapi/DirectoryReaderBase.h: Added 'virtual path' comment.
32036         * fileapi/EntryBase.h: Added 'virtual path' comment.
32037         * fileapi/FileEntry.cpp:
32038         (WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile.
32039         * fileapi/FileEntrySync.cpp:
32040         (WebCore::FileEntrySync::file): Implemented.
32041         * fileapi/FileEntrySync.h:
32042         * fileapi/FileEntrySync.idl: Added file().
32043
32044 2010-10-15  Nico Weber  <thakis@chromium.org>
32045
32046         Reviewed by Eric Carlson.
32047
32048         Make sure to update the current graphics context when calling out to AppKit.
32049         https://bugs.webkit.org/show_bug.cgi?id=47757
32050
32051         Like r57741, but for the spellchecking highlight
32052
32053         * platform/graphics/mac/GraphicsContextMac.mm:
32054         (WebCore::GraphicsContext::drawLineForTextChecking):
32055
32056 2010-10-15  Brian Weinstein  <bweinstein@apple.com>
32057
32058         Reviewed by Sam Weinig.
32059
32060         REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request.
32061         https://bugs.webkit.org/show_bug.cgi?id=47753
32062         <rdar://problem/8558242>
32063         
32064         r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue
32065         where some Windows calls were returning null terminated strings, and this breaks the new
32066         method of concatenation.
32067         
32068         GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated,
32069         so once we create our WebCore string, we want to trim off the null terminating character before
32070         we return the localeInfo.
32071
32072         Test: fast/dom/navigator-userAgent.html
32073
32074         * platform/win/Language.cpp:
32075         (WebCore::localeInfo):
32076
32077 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
32078
32079         Trying to fix crashes on Leopard buildbot.
32080
32081         * loader/loader.cpp:
32082         (WebCore::Loader::Host::didFinishLoading):
32083         (WebCore::Loader::Host::didFail):
32084         Moved logging higher in the function - it seems that CachedResource can be already destroyed.
32085
32086         * platform/Logging.cpp: (WebCore::getChannelFromName):
32087         * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
32088         Initialize the new channel (oops).
32089
32090 2010-10-15  Mike Lawther  <mikelawther@chromium.org>
32091
32092         Reviewed by James Robinson.
32093
32094         Prevent scrollbars from appearing in iframes with scrolling=no
32095         when the embedded content has overflow:scroll set on the html
32096         or body tags.
32097
32098         iframes keep getting scrollbars with scrolling="no"
32099         https://bugs.webkit.org/show_bug.cgi?id=29240
32100
32101         Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html
32102
32103         * page/FrameView.cpp:
32104         (WebCore::FrameView::calculateScrollbarModesForLayout)
32105         (WebCore::FrameView::updateCanHaveScrollbars):
32106         (WebCore::FrameView::layout):
32107         * page/FrameView.h:
32108         (WebCore::FrameView::calculateScrollbarModesForLayout)
32109
32110 2010-10-15  Dan Bernstein  <mitz@apple.com>
32111
32112         Reviewed by Adele Peterson.
32113
32114         Clean up RenderFlexibleBox::applyLineClamp()
32115         https://bugs.webkit.org/show_bug.cgi?id=47743
32116
32117         * rendering/RenderFlexibleBox.cpp:
32118         (WebCore::RenderFlexibleBox::applyLineClamp):
32119
32120 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
32121
32122         Reviewed by Darin Adler.
32123
32124         https://bugs.webkit.org/show_bug.cgi?id=47736
32125         <rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time
32126
32127         Test: http/tests/cache/stopped-revalidation.html
32128
32129         * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for
32130         revalidation requests from didFail().
32131
32132 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
32133
32134         Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>.
32135
32136         Add a logging channel for WebCore cache and resource loading.
32137
32138         Test: http/tests/cache/stopped-revalidation.html
32139
32140         * platform/Logging.cpp:
32141         * platform/Logging.h:
32142         Added a logging channel for Cache and Loader.
32143
32144         * loader/Cache.cpp:
32145         (WebCore::Cache::requestResource):
32146         (WebCore::Cache::revalidateResource):
32147         (WebCore::Cache::revalidationFailed):
32148         (WebCore::Cache::evict):
32149         * loader/CachedResource.cpp:
32150         (WebCore::CachedResource::setResourceToRevalidate):
32151         (WebCore::CachedResource::switchClientsToRevalidatedResource):
32152         (WebCore::CachedResource::mustRevalidate):
32153         Added logging.
32154
32155         * loader/loader.cpp:
32156         (WebCore::Loader::load): Added logging.
32157         (WebCore::Loader::scheduleServePendingRequests): Ditto.
32158         (WebCore::Loader::requestTimerFired): Ditto.
32159         (WebCore::Loader::servePendingRequests): Ditto.
32160         (WebCore::Loader::Host::servePendingRequests):  Changed logging to use the new channel.
32161         (WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel.
32162         (WebCore::Loader::Host::didFail): Added logging.
32163
32164 2010-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
32165
32166         Reviewed by Simon Fraser.
32167
32168         Add public functions to serialize TransformOperations.
32169         https://bugs.webkit.org/show_bug.cgi?id=47728
32170
32171         Added public accessors to the internal data of the TransformOperations.
32172
32173         No new tests. These functions are enablers for WebKit2.
32174
32175         * platform/graphics/transforms/Matrix3DTransformOperation.h:
32176         (WebCore::Matrix3DTransformOperation::matrix):
32177         * platform/graphics/transforms/MatrixTransformOperation.h:
32178         (WebCore::MatrixTransformOperation::matrix):
32179         * platform/graphics/transforms/PerspectiveTransformOperation.h:
32180         (WebCore::PerspectiveTransformOperation::perspective):
32181         * platform/graphics/transforms/RotateTransformOperation.h:
32182         (WebCore::RotateTransformOperation::x):
32183         (WebCore::RotateTransformOperation::y):
32184         (WebCore::RotateTransformOperation::z):
32185         * platform/graphics/transforms/SkewTransformOperation.h:
32186         (WebCore::SkewTransformOperation::angleX):
32187         (WebCore::SkewTransformOperation::angleY):
32188         * platform/graphics/transforms/TranslateTransformOperation.h:
32189         (WebCore::TranslateTransformOperation::x):
32190         (WebCore::TranslateTransformOperation::y):
32191         (WebCore::TranslateTransformOperation::z):
32192
32193 2010-10-15  Jian Li  <jianli@chromium.org>
32194
32195         Reviewed by Dmitry Titov.
32196
32197         FileReader.readAsDataURL should take Blob object
32198         https://bugs.webkit.org/show_bug.cgi?id=47679
32199
32200         Test cases have been added into read-blob-test-cases.js.
32201
32202         * fileapi/FileReader.idl: Update per the latest File API spec.
32203
32204 2010-10-15  Adam Barth  <abarth@webkit.org>
32205
32206         Reviewed by Eric Seidel.
32207
32208         Move MarkupAccumulator from markup.cpp to its own file
32209         https://bugs.webkit.org/show_bug.cgi?id=47734
32210
32211         This patch moves the MarkupAccumulator class into its own file.
32212         There's a lot of clean up left to do, but this patch is a step in the
32213         right direction.
32214
32215         No behavior change.
32216
32217         * Android.mk:
32218         * CMakeLists.txt:
32219         * GNUmakefile.am:
32220         * WebCore.gypi:
32221         * WebCore.pro:
32222         * WebCore.vcproj/WebCore.vcproj:
32223         * WebCore.xcodeproj/project.pbxproj:
32224         * editing/markup.cpp:
32225         (WebCore::elementCannotHaveEndTag):
32226         * editing/markup.h:
32227         * editing/MarkupAccumulator.h: Added.
32228         * editing/MarkupAccumulator.cpp: Added.
32229
32230 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
32231
32232         Reviewed by Darin Adler.
32233
32234         Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock')
32235         https://bugs.webkit.org/show_bug.cgi?id=47712
32236
32237         Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl,
32238         div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand
32239         in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved
32240         to FormatBlockCommand.cpp
32241
32242         Tests are added to editing/execCommand/query-format-block.html
32243
32244         * editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand.
32245         * editing/Editor.h:
32246         * editing/EditorCommand.cpp:
32247         (WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand.
32248         (WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand.
32249         * editing/FormatBlockCommand.cpp:
32250         (WebCore::isElementForFormatBlock):
32251         (WebCore::FormatBlockCommand::FormatBlockCommand):
32252         (WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name
32253         is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element.
32254         (WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp.  Takes Range* instead of accessing selection directly.
32255         (WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp
32256         (WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock.
32257         * editing/FormatBlockCommand.h:
32258         (WebCore::FormatBlockCommand::didApply): Added.
32259
32260 2010-10-15  Dirk Schulze  <krit@webkit.org>
32261
32262         Reviewed by Nikolas Zimmermann.
32263
32264         carto.net Dock example redraws *way* too often
32265         https://bugs.webkit.org/show_bug.cgi?id=16090
32266
32267         Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
32268         Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
32269         setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
32270         differ, do nothing if not.
32271         Also added caching of the repaint rect to avoid multiple calculations.
32272
32273         Test: svg/custom/repaint-on-constant-size-change.svg
32274
32275         * rendering/RenderSVGImage.cpp:
32276         (WebCore::RenderSVGImage::RenderSVGImage):
32277         (WebCore::RenderSVGImage::layout): Update repaint rect on layout.
32278         (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
32279         * rendering/RenderSVGImage.h:
32280         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
32281         * svg/SVGImageElement.cpp:
32282         (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.
32283
32284 2010-10-15  Martin Robinson  <mrobinson@igalia.com>
32285
32286         Build fix for GTK+.
32287
32288         * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
32289         in a file that does not include config.h
32290
32291 2010-10-15  Anders Carlsson  <andersca@apple.com>
32292
32293         Reviewed by Sam Weinig.
32294
32295         Add FindIndicatorWindow class
32296         https://bugs.webkit.org/show_bug.cgi?id=47731
32297
32298         Export symbols needed by the FindIndicator in WebKit2.
32299
32300         * WebCore.exp.in:
32301
32302 2010-10-15  Leandro Pereira  <leandro@profusion.mobi>
32303
32304         [EFL] Unreviewed. Build fix.
32305
32306         Add new files needed by the Soup network backend, and #ifdef a
32307         GTK+-port only include in soup-cache.h.
32308
32309         * CMakeListsEfl.txt:
32310         * platform/network/soup/cache/webkit/soup-cache.h:
32311
32312 2010-10-14  Darin Adler  <darin@apple.com>
32313
32314         Reviewed by Alexey Proskuryakov.
32315
32316         Use more specific types for node pointers, especially when calling node insertion and removal functions
32317         https://bugs.webkit.org/show_bug.cgi?id=47702
32318
32319         Refactoring. No new tests.
32320
32321         While developing this patch I temporarily removed the node insertion and
32322         removal member functions from the Node class and fixed almost all call sites
32323         so they call it directly on the ContainerNode class, which will be important
32324         once we make the functions non-virtual.
32325
32326         * css/CSSStyleSelector.cpp:
32327         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
32328         * dom/ContainerNode.cpp:
32329         (WebCore::ContainerNode::insertBefore):
32330         (WebCore::ContainerNode::replaceChild):
32331         (WebCore::ContainerNode::appendChild):
32332         * dom/Document.cpp:
32333         (WebCore::Document::caretRangeFromPoint):
32334         * dom/DynamicNodeList.cpp:
32335         (WebCore::DynamicNodeList::itemWithName):
32336         * dom/Position.cpp:
32337         (WebCore::Position::previous):
32338         (WebCore::Position::next):
32339         * dom/Text.cpp:
32340         (WebCore::Text::replaceWholeText):
32341         * dom/TreeWalker.cpp:
32342         (WebCore::TreeWalker::firstChild):
32343         (WebCore::TreeWalker::lastChild):
32344         (WebCore::TreeWalker::previousNode):
32345         * dom/XMLDocumentParserLibxml2.cpp:
32346         (WebCore::XMLDocumentParser::XMLDocumentParser):
32347         * editing/BreakBlockquoteCommand.cpp:
32348         (WebCore::BreakBlockquoteCommand::doApply):
32349         * editing/CompositeEditCommand.h:
32350         * editing/DeleteButtonController.cpp:
32351         (WebCore::isDeletableElement):
32352         * editing/IndentOutdentCommand.cpp:
32353         (WebCore::IndentOutdentCommand::outdentParagraph):
32354         * editing/InsertNodeBeforeCommand.cpp:
32355         (WebCore::InsertNodeBeforeCommand::doApply):
32356         * editing/JoinTextNodesCommand.cpp:
32357         (WebCore::JoinTextNodesCommand::doApply):
32358         (WebCore::JoinTextNodesCommand::doUnapply):
32359         * editing/MergeIdenticalElementsCommand.cpp:
32360         (WebCore::MergeIdenticalElementsCommand::doUnapply):
32361         * editing/RemoveNodeCommand.cpp:
32362         (WebCore::RemoveNodeCommand::doApply):
32363         (WebCore::RemoveNodeCommand::doUnapply):
32364         * editing/RemoveNodeCommand.h:
32365         * editing/SplitElementCommand.cpp:
32366         (WebCore::SplitElementCommand::executeApply):
32367         * editing/SplitTextNodeCommand.cpp:
32368         (WebCore::SplitTextNodeCommand::doApply):
32369         (WebCore::SplitTextNodeCommand::doReapply):
32370         * editing/TextIterator.cpp:
32371         (WebCore::parentCrossingShadowBoundaries):
32372         * editing/htmlediting.cpp:
32373         (WebCore::enclosingList):
32374         * editing/markup.cpp:
32375         (WebCore::serializeNodes):
32376         (WebCore::ancestorToRetainStructureAndAppearance):
32377         (WebCore::createMarkup):
32378         * html/HTMLAreaElement.cpp:
32379         (WebCore::HTMLAreaElement::updateFocusAppearance):
32380         * html/HTMLEmbedElement.cpp:
32381         (WebCore::HTMLEmbedElement::rendererIsNeeded):
32382         * html/HTMLFormElement.cpp:
32383         (WebCore::HTMLFormElement::rendererIsNeeded):
32384         * html/HTMLFrameSetElement.cpp:
32385         (WebCore::HTMLFrameSetElement::attach):
32386         * html/HTMLImageElement.cpp:
32387         (WebCore::HTMLImageElement::insertedIntoTree):
32388         * html/HTMLLegendElement.cpp:
32389         (WebCore::HTMLLegendElement::associatedControl):
32390         * html/HTMLOptGroupElement.cpp:
32391         (WebCore::HTMLOptGroupElement::recalcSelectOptions):
32392         (WebCore::HTMLOptGroupElement::ownerSelectElement):
32393         * html/HTMLOptionElement.cpp:
32394         (WebCore::HTMLOptionElement::ownerSelectElement):
32395         * html/HTMLTableCellElement.cpp:
32396         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
32397         * html/HTMLTableColElement.cpp:
32398         (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
32399         * html/HTMLTableElement.cpp:
32400         (WebCore::HTMLTableElement::insertRow):
32401         * html/HTMLTableRowElement.cpp:
32402         (WebCore::HTMLTableRowElement::rowIndex):
32403         * html/HTMLTableSectionElement.cpp:
32404         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
32405         * page/DOMSelection.cpp:
32406         (WebCore::DOMSelection::getRangeAt):
32407         (WebCore::DOMSelection::containsNode):
32408         * rendering/RenderSVGGradientStop.cpp:
32409         (WebCore::RenderSVGGradientStop::gradientElement):
32410         * svg/SVGElement.cpp:
32411         (WebCore::SVGElement::ownerSVGElement):
32412         (WebCore::SVGElement::viewportElement):
32413         * svg/SVGFELightElement.cpp:
32414         (WebCore::SVGFELightElement::svgAttributeChanged):
32415         (WebCore::SVGFELightElement::childrenChanged):
32416         * svg/SVGFEMergeNodeElement.cpp:
32417         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
32418         * svg/SVGFontFaceFormatElement.cpp:
32419         (WebCore::SVGFontFaceFormatElement::childrenChanged):
32420         * svg/SVGFontFaceUriElement.cpp:
32421         (WebCore::SVGFontFaceUriElement::childrenChanged):
32422         * svg/SVGGlyphElement.cpp:
32423         (WebCore::SVGGlyphElement::invalidateGlyphCache):
32424         * svg/SVGHKernElement.cpp:
32425         (WebCore::SVGHKernElement::insertedIntoDocument):
32426         (WebCore::SVGHKernElement::removedFromDocument):
32427         * svg/SVGLocatable.cpp:
32428         (WebCore::SVGLocatable::nearestViewportElement):
32429         (WebCore::SVGLocatable::farthestViewportElement):
32430         * svg/SVGUseElement.cpp:
32431         (WebCore::SVGUseElement::updateContainerOffsets):
32432         * svg/SVGVKernElement.cpp:
32433         (WebCore::SVGVKernElement::insertedIntoDocument):
32434         (WebCore::SVGVKernElement::removedFromDocument):
32435         * svg/animation/SVGSMILElement.cpp:
32436         (WebCore::SVGSMILElement::targetElement):
32437         * wml/WMLDoElement.cpp:
32438         (WebCore::WMLDoElement::insertedIntoDocument):
32439         (WebCore::WMLDoElement::removedFromDocument):
32440         * wml/WMLNoopElement.cpp:
32441         (WebCore::WMLNoopElement::insertedIntoDocument):
32442         * wml/WMLOptionElement.cpp:
32443         (WebCore::ownerSelectElement):
32444         * wml/WMLPostfieldElement.cpp:
32445         (WebCore::WMLPostfieldElement::insertedIntoDocument):
32446         (WebCore::WMLPostfieldElement::removedFromDocument):
32447         * wml/WMLSetvarElement.cpp:
32448         (WebCore::WMLSetvarElement::insertedIntoDocument):
32449         (WebCore::WMLSetvarElement::removedFromDocument):
32450         * wml/WMLTaskElement.cpp:
32451         (WebCore::WMLTaskElement::insertedIntoDocument):
32452         (WebCore::WMLTaskElement::removedFromDocument):
32453         * wml/WMLTimerElement.cpp:
32454         (WebCore::WMLTimerElement::insertedIntoDocument):
32455         (WebCore::WMLTimerElement::removedFromDocument):
32456         * xml/XPathStep.cpp:
32457         (WebCore::XPath::Step::nodesInAxis):
32458         Use ContainerNode* for the result of the parentNode function now that
32459         it returns a ContainerNode*. In the past it used to return just Node*.
32460
32461         * dom/ContainerNode.h: Added toContainerNode.
32462
32463         * dom/Element.h: Use ContainerNode*. Added toElement.
32464
32465         * dom/Element.cpp:
32466         (WebCore::Element::deprecatedCreateContextualFragment): Explcitly
32467         cast to HTMLElement* in the case that handles <html> and <body>
32468         elements.
32469         (WebCore::Element::baseURI): Use ContainerNode*.
32470
32471         * dom/Node.cpp:
32472         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
32473         (WebCore::Node::isDescendantOf): Ditto.
32474         (WebCore::Node::createRendererIfNeeded): Ditto.
32475         (WebCore::Node::setTextContent): Use already-typecast pointer in a call to
32476         appendChild.
32477         (WebCore::Node::ancestorElement): Use ContainerNode*.
32478
32479         * dom/Range.cpp:
32480         (WebCore::Range::compareNode): Use ContainerNode*.
32481         (WebCore::Range::intersectsNode): Ditto.
32482         (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
32483         where we previously checked that the node in question has a child. Any node
32484         that returns a non-zero value for firstChild is a ContainerNode.
32485         (WebCore::Range::checkNodeBA): Ditto.
32486         (WebCore::Range::selectNode): Ditto.
32487         (WebCore::Range::surroundContents): Ditto.
32488
32489         * dom/XMLDocumentParser.cpp:
32490         (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
32491         more specific types, document instead of doc, and paragraph instead of par.
32492
32493         * editing/ApplyStyleCommand.cpp:
32494         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
32495         Use ContainerNode*.
32496         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
32497         Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
32498         took a Node argument and had Node in its name.
32499
32500         * editing/CompositeEditCommand.cpp:
32501         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
32502         (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
32503         Renamed and changed to take HTMLElement. Also use ContainerNode.
32504         (WebCore::CompositeEditCommand::prune): Ditto.
32505         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
32506         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.
32507
32508         * editing/ReplaceNodeWithSpanCommand.cpp:
32509         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
32510         HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
32511         (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
32512         (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
32513         (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
32514         * editing/ReplaceNodeWithSpanCommand.h: Ditto.
32515
32516         * editing/ReplaceSelectionCommand.cpp:
32517         (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
32518         of insertFragmentForTestRendering since that's what it returns.
32519         (WebCore::ReplacementFragment::removeNode): Use ContainerNode.
32520         (WebCore::ReplacementFragment::insertNodeBefore): Ditto.
32521         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
32522         Use HTMLElement for body.
32523         (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
32524         StyledElement.
32525         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
32526         (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
32527         the cloned span, since the clone will be a sspan too.
32528         (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
32529         the list item has a child, and that proves it is a ContainerNode.
32530
32531         * editing/SelectionController.cpp:
32532         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
32533         Use ContainerNode and also removed an unnneded local variable.
32534
32535         * html/HTMLElement.cpp:
32536         (WebCore::HTMLElement::setOuterText): Use ContainerNode.
32537         (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
32538         the logic a little simpler.
32539         (WebCore::contextElementForInsertion): Use ContainerNode.
32540         (WebCore::HTMLElement::findFormAncestor): Ditto.
32541
32542         * inspector/InspectorDOMAgent.cpp:
32543         (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
32544         (WebCore::InspectorDOMAgent::changeTagName): Ditto.
32545         (WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
32546         (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
32547         nodeType. We should almost never use nodeType inside the engine.
32548         (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
32549         (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.
32550
32551         * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
32552         replaceChild, removeChild, appendChild, and removeChildren functions.
32553         Ths already overrides childrenChanged, that is called by all of the above,
32554         and it does the same thing these functions did.
32555         (WebCore::ownerSelectElement): Use ContainerNode.
32556         * wml/WMLOptGroupElement.h: Ditto.
32557
32558 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
32559
32560         Reviewed by Darin Adler.
32561
32562         Crash in WebCore::ApplyStyleCommand::applyBlockStyle
32563         https://bugs.webkit.org/show_bug.cgi?id=47699
32564
32565         The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
32566         Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.
32567
32568         Test: editing/style/block-style-progress-crash.html
32569
32570         * editing/ApplyStyleCommand.cpp:
32571         (WebCore::ApplyStyleCommand::applyBlockStyle):
32572
32573 2010-10-13  Anders Carlsson  <andersca@apple.com>
32574
32575         Reviewed by Sam Weinig.
32576
32577         Add a FindIndicator class
32578         https://bugs.webkit.org/show_bug.cgi?id=47635
32579
32580         Make Gradient.h and Generator.h private headers; they're used by WebKit2.
32581
32582         * WebCore.xcodeproj/project.pbxproj:
32583
32584 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
32585
32586         Reviewed by Gustavo Noronha Silva.
32587
32588         [Soup] Should not ignore body for redirection responses
32589         https://bugs.webkit.org/show_bug.cgi?id=29299
32590
32591         Body is now provided to WebKitGtk+ in some redirections (like 302)
32592         because it could be used by servers to perform clunky redirections
32593         for example using http-equiv=REFRESH
32594
32595         Test: http/tests/navigation/redirect302-metaredirect.html
32596
32597         * platform/network/soup/ResourceHandleSoup.cpp:
32598         (WebCore::gotHeadersCallback):
32599         (WebCore::finishedCallback):
32600
32601 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
32602
32603         Reviewed by Martin Robinson.
32604
32605         [GTK] Fix introspection support
32606         https://bugs.webkit.org/show_bug.cgi?id=47723
32607
32608         WebKitSoupCacheType was incorrectly registered twice. Renamed to
32609         WebKitSoupCacheTypeType for the enumerated type.
32610
32611         * platform/network/soup/cache/webkit/soup-cache.c:
32612         (webkit_soup_cache_type_get_type):
32613
32614 2010-10-15  Ilya Tikhonovsky  <loislo@chromium.org>
32615
32616         Reviewed by Yury Semikhatsky.
32617
32618         Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function.
32619
32620         This is a part of Inspector protocol sanitization activity.
32621         We want to populate console messages only if it is required by frontend.
32622
32623         https://bugs.webkit.org/show_bug.cgi?id=46802
32624
32625         * inspector/Inspector.idl:
32626         * inspector/InspectorController.cpp:
32627         (WebCore::InspectorController::setConsoleMessagesEnabled):
32628         (WebCore::InspectorController::addConsoleMessage):
32629         (WebCore::InspectorController::disconnectFrontend):
32630         (WebCore::InspectorController::populateScriptObjects):
32631         * inspector/InspectorController.h:
32632         * inspector/InspectorState.cpp:
32633         (WebCore::InspectorState::InspectorState):
32634         * inspector/InspectorState.h:
32635         * inspector/front-end/inspector.js:
32636         (WebInspector.doLoadedDone):
32637
32638 2010-10-15  Ryuan Choi  <ryuan.choi@samsung.com>
32639
32640         Reviewed by Nikolas Zimmermann.
32641
32642         [EFL] REGRESSION(69798) UCHAR can't be converted to String.
32643         https://bugs.webkit.org/show_bug.cgi?id=47698
32644
32645         Create String value using String(const char*, 1) instead of operator[].
32646
32647         No tests. No functionality changed.
32648
32649         * platform/efl/PlatformKeyboardEventEfl.cpp:
32650         (WebCore::createWindowsKeyMap):
32651
32652 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
32653
32654         Reviewed by Xan Lopez.
32655
32656         [GTK] Do a stricter check for invalid base64 dataURLs
32657         https://bugs.webkit.org/show_bug.cgi?id=47717
32658
32659         Restore the strict base64 decoding we added in
32660         https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back
32661         in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing
32662         test. The actual issue was that we were not finishing the load of
32663         the resource gracefully when an error happened.
32664
32665         Loading invalid base64-encoded data:// URLs are now handled
32666         properly.
32667
32668         * platform/network/soup/ResourceHandleSoup.cpp:
32669         (WebCore::parseDataUrl):
32670         * platform/network/soup/cache/soup-request-data.c:
32671         (webkit_soup_request_data_send):
32672
32673 2010-10-15  Alejandro G. Castro  <alex@igalia.com>
32674
32675         Reviewed by Martin Robinson.
32676
32677         compile fail with gtk >= 2.22
32678         https://bugs.webkit.org/show_bug.cgi?id=47483
32679
32680         * platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation,
32681         it was added long time ago and currently it is not adding any real
32682         area to the clip vertically, actually the gtk3 shrink version did
32683         not work.
32684         (WebCore::Font::drawComplexText):
32685         * platform/gtk/gtk2drawing.c: Undef the deprecation flags, this
32686         file is full of gtk2 stuff, and it does not seem interesting to
32687         upgrade because we are already creating a new version of the file
32688         for gtk3.
32689
32690 2010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>
32691
32692         Reviewed by Pavel Feldman.
32693
32694         Web Inspector: inspector settings/properties/states management
32695         should be extracted into separate class.
32696
32697         We have a lot of flags/values in InspectorController.
32698         Some flags are persisting into profile.
32699         Others are part of inspector state for frontend.
32700         All these flags should keep their values after navigation.
32701         It'd be better to extract these flags/values into separate
32702         class which will care about theirs lifetime.
32703
32704         https://bugs.webkit.org/show_bug.cgi?id=47275
32705
32706         * CMakeLists.txt:
32707         * GNUmakefile.am:
32708         * WebCore.exp.in:
32709         * WebCore.gypi:
32710         * WebCore.pro:
32711         * WebCore.vcproj/WebCore.vcproj:
32712         * WebCore.xcodeproj/project.pbxproj:
32713         * inspector/InspectorController.cpp:
32714         (WebCore::InspectorController::InspectorController):
32715         (WebCore::InspectorController::inspectorStartsAttached):
32716         (WebCore::InspectorController::setInspectorStartsAttached):
32717         (WebCore::InspectorController::setInspectorAttachedHeight):
32718         (WebCore::InspectorController::inspectorAttachedHeight):
32719         (WebCore::InspectorController::searchingForNodeInPage):
32720         (WebCore::InspectorController::resourceTrackingEnabled):
32721         (WebCore::InspectorController::saveApplicationSettings):
32722         (WebCore::InspectorController::getInspectorState):
32723         (WebCore::InspectorController::restoreInspectorStateFromCookie):
32724         (WebCore::InspectorController::getSettings):
32725         (WebCore::InspectorController::storeLastActivePanel):
32726         (WebCore::InspectorController::mouseDidMoveOverElement):
32727         (WebCore::InspectorController::handleMousePress):
32728         (WebCore::InspectorController::setSearchingForNode):
32729         (WebCore::InspectorController::setMonitoringXHREnabled):
32730         (WebCore::InspectorController::showPanel):
32731         (WebCore::InspectorController::disconnectFrontend):
32732         (WebCore::InspectorController::populateScriptObjects):
32733         (WebCore::InspectorController::restoreDebugger):
32734         (WebCore::InspectorController::restoreProfiler):
32735         (WebCore::InspectorController::getTrackedResource):
32736         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
32737         (WebCore::InspectorController::identifierForInitialRequest):
32738         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
32739         (WebCore::InspectorController::scriptImported):
32740         (WebCore::InspectorController::setResourceTrackingEnabled):
32741         (WebCore::InspectorController::ensureSettingsLoaded):
32742         (WebCore::InspectorController::startTimelineProfiler):
32743         (WebCore::InspectorController::stopTimelineProfiler):
32744         (WebCore::InspectorController::enableProfiler):
32745         (WebCore::InspectorController::disableProfiler):
32746         (WebCore::InspectorController::enableDebuggerFromFrontend):
32747         (WebCore::InspectorController::disableDebugger):
32748         (WebCore::InspectorController::loadBreakpoints):
32749         (WebCore::InspectorController::saveBreakpoints):
32750         * inspector/InspectorController.h:
32751         * inspector/InspectorFrontendClientLocal.cpp:
32752         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
32753         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
32754         * inspector/InspectorState.cpp: Added.
32755         (WebCore::InspectorState::InspectorState):
32756         (WebCore::InspectorState::restoreFromInspectorCookie):
32757         (WebCore::InspectorState::generateStateObjectForFrontend):
32758         (WebCore::InspectorState::loadFromSettings):
32759         (WebCore::InspectorState::updateCookie):
32760         (WebCore::InspectorState::setValue):
32761         (WebCore::InspectorState::getBoolean):
32762         (WebCore::InspectorState::getString):
32763         (WebCore::InspectorState::getLong):
32764         (WebCore::InspectorState::registerBoolean):
32765         (WebCore::InspectorState::registerString):
32766         (WebCore::InspectorState::registerLong):
32767         (WebCore::InspectorState::Property::create):
32768         * inspector/InspectorState.h: Added.
32769         (WebCore::InspectorState::setBoolean):
32770         (WebCore::InspectorState::setString):
32771         (WebCore::InspectorState::setLong):
32772
32773 2010-10-14  Jia Pu  <jpu@apple.com>
32774
32775         Reviewed by Adele Peterson.
32776
32777         REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word
32778         https://bugs.webkit.org/show_bug.cgi?id=47689
32779         <rdar://problem/8552250>
32780
32781         The test requires using setTimeout(). So we put it in manual-tests.
32782
32783         * editing/Editor.cpp:
32784         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear().
32785         (WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before
32786           start timer for next autocorrection check.
32787         * manual-tests/autocorrection: Added.
32788         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added.
32789
32790 2010-10-14  Ryosuke Niwa  <rniwa@webkit.org>
32791
32792         Reviewed by Tony Chang and Darin Adler.
32793
32794         execCommand FormatBlock creates lots of blockquotes
32795         https://bugs.webkit.org/show_bug.cgi?id=19795
32796
32797         The bug was caused by WebKit's not reusing the block node added by previous iteration
32798         and its inserting block node at wrong places.
32799
32800         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
32801         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
32802         avoids the existing block elements when replacing blocks and it also adds a placeholder
32803         when removing the existing block caused paragraphs to collapse.
32804
32805         Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of
32806         the block element to which the paragraph is moved if the block element is the start of a paragraph
32807         and not the end of a paragraph.
32808
32809         Tests: editing/execCommand/format-block-multiple-paragraphs.html
32810                editing/execCommand/format-block-table.html
32811
32812         * editing/CompositeEditCommand.cpp:
32813         (WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br.
32814         * editing/EditorCommand.cpp:
32815         (WebCore::executeFormatBlock):
32816         * editing/FormatBlockCommand.cpp:
32817         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
32818         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
32819         and moved from htmlediting.cpp.
32820         (WebCore::enclosingBlockToSplitTreeTo): Added.
32821         * editing/FormatBlockCommand.h:
32822         * editing/VisiblePosition.cpp:
32823         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
32824         * editing/VisiblePosition.h:
32825
32826 2010-10-14  Justin Schuh  <jschuh@chromium.org>
32827
32828         Reviewed by James Robinson.
32829
32830         Crash in HTMLTextFormControlElement::selection()
32831         https://bugs.webkit.org/show_bug.cgi?id=47522
32832
32833         Patch by Ryosuke Niwa  <rniwa@webkit.org>
32834
32835         The bug was caused by our triggering layout inside RenderTextControl::selection.
32836         Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection.
32837
32838         Test: fast/forms/render-text-crash.html
32839
32840         * editing/Editor.cpp:
32841         (WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection.
32842         * html/HTMLFormControlElement.cpp:
32843         (WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection.
32844         * html/HTMLFormControlElement.h:
32845         * rendering/RenderTextControl.cpp:
32846         (WebCore::RenderTextControl::selection): Changed the return type.
32847         * rendering/RenderTextControl.h:
32848
32849 2010-10-14  James Robinson  <jamesr@chromium.org>
32850
32851         Reviewed by Simon Fraser.
32852
32853         SelectElement should check if its renderer exists after calling Element::focus()
32854         https://bugs.webkit.org/show_bug.cgi?id=47696
32855
32856         Adds null checks for element->renderer() after calling element->focus(), since focus()
32857         can dispatch an event and run arbitrary javascript that may cause the select element
32858         to lose its renderer.
32859
32860         Test: fast/forms/select-listbox-focus-displaynone.html
32861
32862         * dom/SelectElement.cpp:
32863         (WebCore::SelectElement::menuListDefaultEventHandler):
32864         (WebCore::SelectElement::listBoxDefaultEventHandler):
32865
32866 2010-10-14  Beth Dakin  <bdakin@apple.com>
32867
32868         Reviewed by Dave Hyatt.
32869
32870         This patch lays the groundwork for 
32871         https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should 
32872         affect scrolling
32873         by adding topmostPosition().
32874
32875         * rendering/RenderBlock.cpp:
32876         (WebCore::RenderBlock::topmostPosition):
32877         * rendering/RenderBlock.h:
32878         * rendering/RenderBox.cpp:
32879         (WebCore::RenderBox::topmostPosition):
32880         * rendering/RenderBox.h:
32881         * rendering/RenderMedia.cpp:
32882         (WebCore::RenderMedia::topmostPosition):
32883         * rendering/RenderMedia.h:
32884         * rendering/RenderTableSection.cpp:
32885         (WebCore::RenderTableSection::topmostPosition):
32886         * rendering/RenderTableSection.h:
32887
32888 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
32889
32890         Reviewed by Martin Robinson.
32891
32892         [GTK] fix compilation warnings in imported libsoup code
32893         https://bugs.webkit.org/show_bug.cgi?id=47674
32894
32895         Fixed some warnings caused by comparisons between signed and
32896         unsigned integer expressions
32897
32898         * platform/network/soup/cache/soup-directory-input-stream.c:
32899         (webkit_soup_directory_input_stream_read):
32900         * platform/network/soup/cache/soup-request-data.c:
32901         (webkit_soup_request_data_send):
32902         * platform/network/soup/cache/soup-request-file.c:
32903         (webkit_soup_request_file_ensure_file):
32904         * platform/network/soup/cache/webkit/soup-cache.c:
32905         (webkit_soup_cache_entry_is_fresh_enough):
32906         (webkit_soup_cache_has_response):
32907
32908 2010-10-14  Andreas Kling  <kling@webkit.org>
32909
32910         Unreviewed buildfix, RetainPtr is a mac thing..
32911
32912         * platform/network/soup/ProxyServerSoup.cpp:
32913
32914 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
32915
32916         Reviewed by Xan Lopez.
32917
32918         [GTK] Form controls do not respect GTK+ font size
32919         https://bugs.webkit.org/show_bug.cgi?id=47134
32920
32921         Have form controls use the font specified in GtkSettings. This font is
32922         the default control font in GTK+ applications and Firefox. We need to
32923         pass the string through Pango to get a valid font name and size.
32924
32925         * platform/gtk/RenderThemeGtk.cpp:
32926         (WebCore::getScreenDPI): A helper function which returns
32927         the DPI of the default screen or 96 as a fallback.
32928         (WebCore::RenderThemeGtk::systemFont): Calculate the system font
32929         by looking at the GtkSettings value and pushing it through Pango
32930         to get the font family and font size.
32931
32932 2010-10-14  Andreas Kling  <kling@webkit.org>
32933
32934         Soup buildfix for r69808: add ProxyServer stub.
32935
32936         * GNUmakefile.am:
32937         * platform/network/soup/ProxyServerSoup.cpp: Added.
32938         (WebCore::proxyServersForURL):
32939
32940 2010-10-14  Andreas Kling  <kling@webkit.org>
32941
32942         Fix GTK+ build after r69808.
32943
32944         * GNUmakefile.am:
32945         * platform/network/curl/ProxyServerCurl.cpp:
32946         (WebCore::proxyServersForURL):
32947
32948 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
32949
32950         Another build fix. Export FrameLoader::networkingContext()
32951
32952         * WebCore.exp.in:
32953
32954 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
32955
32956         Fix the build after r69808.
32957         
32958         * WebCore.xcodeproj/project.pbxproj:
32959         * platform/network/cf/ProxyServerCFNet.cpp:
32960         (WebCore::proxyServersForURL):
32961
32962 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
32963
32964         Windows build fix following r69806.
32965
32966         * platform/win/ClipboardUtilitiesWin.cpp:
32967         (WebCore::markupToCFHTML):
32968
32969 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
32970
32971         Reviewed by Andreas Kling
32972
32973         Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo.
32974         https://bugs.webkit.org/show_bug.cgi?id=34539
32975
32976         These missing NPN functions cause Java applets to crash in ports such
32977         as QtWebkit that rely on webkit for Java applet support.
32978
32979         * plugins/PluginDebug.cpp:
32980         (WebCore::prettyNameForNPNURLVariable):
32981         * plugins/PluginDebug.h:
32982         * plugins/PluginPackage.cpp:
32983         (WebCore::PluginPackage::initializeBrowserFuncs):
32984         * plugins/PluginView.cpp:
32985         (WebCore::PluginView::getValueForURL):
32986         (WebCore::PluginView::setValueForURL):
32987         (WebCore::PluginView::getAuthenticationInfo):
32988         * plugins/PluginView.h:
32989         * plugins/npapi.cpp:
32990         (NPN_GetValueForURL):
32991         (NPN_SetValueForURL):
32992         (NPN_GetAuthenticationInfo):
32993         * platform/network/ProxyServer.h:
32994         * platform/network/cf/ProxyServerCFNet.cpp:
32995         (WebCore::proxyServersForURL):
32996         * platform/network/qt/ProxyServerQt.cpp:
32997         (WebCore::proxyServersForURL):
32998  
32999 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
33000
33001         Windows build fix following r69806.
33002
33003         * platform/win/ClipboardUtilitiesWin.cpp:
33004         (WebCore::markupToCFHTML):
33005
33006 2010-10-14  Zhenyao Mo  <zmo@google.com>
33007
33008         Reviewed by Kenneth Russell.
33009
33010         Cache link status at linkProgram and use it in useProgram instead of querying GPU
33011         https://bugs.webkit.org/show_bug.cgi?id=47685
33012
33013         * html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query.
33014         (WebCore::WebGLProgram::WebGLProgram):
33015         * html/canvas/WebGLProgram.h: Ditto.
33016         (WebCore::WebGLProgram::getLinkStatus):
33017         (WebCore::WebGLProgram::setLinkStatus):
33018         * html/canvas/WebGLRenderingContext.cpp: Ditto.
33019         (WebCore::WebGLRenderingContext::getProgramParameter):
33020         (WebCore::WebGLRenderingContext::linkProgram):
33021         (WebCore::WebGLRenderingContext::useProgram):
33022
33023 2010-10-14  Justin Schuh  <jschuh@chromium.org>
33024
33025         Reviewed by James Robinson.
33026
33027         Style fix for r69735
33028         https://bugs.webkit.org/show_bug.cgi?id=47684
33029
33030         No logic change. Existing tests apply.
33031
33032         * rendering/RootInlineBox.cpp:
33033         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
33034
33035 2010-10-14  Yury Semikhatsky  <yurys@chromium.org>
33036
33037         Reviewed by Pavel Feldman.
33038
33039         Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter
33040         https://bugs.webkit.org/show_bug.cgi?id=47675
33041
33042         No new tests. This refactoring is covered by existing inspector tests.
33043
33044         * bindings/js/JSConsoleCustom.cpp:
33045         * bindings/js/ScriptCallFrame.cpp:
33046         * bindings/js/ScriptCallFrame.h:
33047         (WebCore::ScriptCallFrame::functionName):
33048         (WebCore::ScriptCallFrame::sourceURL):
33049         (WebCore::ScriptCallFrame::lineNumber):
33050         (WebCore::ScriptCallFrame::argumentCount):
33051         * inspector/ConsoleMessage.cpp:
33052         (WebCore::ConsoleMessage::isEqual):
33053         * inspector/ConsoleMessage.h:
33054         * inspector/InspectorController.cpp:
33055         (WebCore::InspectorController::addMessageToConsole):
33056         (WebCore::InspectorController::addConsoleMessage):
33057         (WebCore::InspectorController::startGroup):
33058         (WebCore::InspectorController::endGroup):
33059         * inspector/InspectorController.h:
33060
33061 2010-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
33062
33063         Reviewed by Gavin Barraclough.
33064
33065         Replace lots of String::format() usages by StringConcatenate
33066         https://bugs.webkit.org/show_bug.cgi?id=47664
33067
33068         * ForwardingHeaders/wtf/text/StringConcatenate.h: Added.
33069         * bindings/js/JSDOMWindowBase.cpp:
33070         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
33071         * bindings/v8/V8Proxy.cpp:
33072         (WebCore::V8Proxy::reportUnsafeAccessTo):
33073         * dom/ExceptionBase.cpp:
33074         (WebCore::ExceptionBase::ExceptionBase):
33075         * dom/XMLDocumentParser.cpp:
33076         (WebCore::XMLDocumentParser::handleError):
33077         * history/PageCache.cpp:
33078         (WebCore::logCanCacheFrameDecision):
33079         * html/FTPDirectoryDocument.cpp:
33080         (WebCore::processFileDateString):
33081         * inspector/CodeGeneratorInspector.pm:
33082         * inspector/InspectorController.cpp:
33083         (WebCore::InspectorController::didReceiveResponse):
33084         (WebCore::InspectorController::count):
33085         * inspector/InspectorDOMAgent.cpp:
33086         (WebCore::InspectorDOMAgent::createBreakpointId):
33087         * inspector/InspectorDebuggerAgent.cpp:
33088         (WebCore::formatBreakpointId):
33089         * inspector/InspectorProfilerAgent.cpp:
33090         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
33091         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
33092         (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
33093         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
33094         * loader/CachedResourceLoader.cpp:
33095         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
33096         * loader/FrameLoader.cpp:
33097         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
33098         (WebCore::FrameLoader::checkIfRunInsecureContent):
33099         (WebCore::FrameLoader::shouldAllowNavigation):
33100         * loader/archive/cf/LegacyWebArchive.cpp:
33101         (WebCore::LegacyWebArchive::createFromSelection):
33102         * page/DOMWindow.cpp:
33103         (WebCore::DOMWindow::postMessageTimerFired):
33104         * page/PrintContext.cpp:
33105         (WebCore::PrintContext::pageProperty):
33106         (WebCore::PrintContext::pageSizeAndMarginsInPixels):
33107         * page/XSSAuditor.cpp:
33108         (WebCore::XSSAuditor::canLoadObject):
33109         * platform/efl/PlatformKeyboardEventEfl.cpp:
33110         (WebCore::createKeyMap):
33111         (WebCore::createWindowsKeyMap):
33112         * platform/graphics/GraphicsLayer.cpp:
33113         (WebCore::GraphicsLayer::animationNameForTransition):
33114         * platform/graphics/brew/ImageBrew.cpp:
33115         (WebCore::Image::loadPlatformResource):
33116         * platform/graphics/cg/ImageBufferCG.cpp:
33117         (WebCore::ImageBuffer::toDataURL):
33118         * platform/graphics/efl/ImageEfl.cpp:
33119         (WebCore::loadResourceSharedBuffer):
33120         * platform/graphics/gtk/ImageBufferGtk.cpp:
33121         (WebCore::ImageBuffer::toDataURL):
33122         * platform/graphics/haiku/ImageBufferHaiku.cpp:
33123         (WebCore::ImageBuffer::toDataURL):
33124         * platform/graphics/mac/GraphicsLayerCA.mm:
33125         (WebCore::animationIdentifier):
33126         * platform/graphics/qt/ImageBufferQt.cpp:
33127         (WebCore::ImageBuffer::toDataURL):
33128         * platform/graphics/skia/ImageBufferSkia.cpp:
33129         (WebCore::ImageBuffer::toDataURL):
33130         * platform/graphics/win/WebLayer.cpp:
33131         (WebCore::WebLayer::drawInContext):
33132         * platform/network/CredentialStorage.cpp:
33133         (WebCore::originStringFromURL):
33134         * platform/sql/SQLiteDatabase.cpp:
33135         (WebCore::SQLiteDatabase::setSynchronous):
33136         * platform/text/wince/TextCodecWinCE.cpp:
33137         (WebCore::LanguageManager::LanguageManager):
33138         * platform/win/ClipboardUtilitiesWin.cpp:
33139         (WebCore::markupToCFHTML):
33140         * platform/win/Language.cpp:
33141         (WebCore::defaultLanguage):
33142         * plugins/PluginStream.cpp:
33143         (WebCore::PluginStream::startStream):
33144         * svg/SVGUseElement.cpp:
33145         (WebCore::dumpInstanceTree):
33146         * websockets/WebSocket.cpp:
33147         (WebCore::WebSocket::connect):
33148         * websockets/WebSocketChannel.cpp:
33149         (WebCore::WebSocketChannel::appendToBuffer):
33150         * websockets/WebSocketHandshake.cpp:
33151         (WebCore::WebSocketHandshake::readServerHandshake):
33152
33153 2010-10-14  Xan Lopez  <xlopez@igalia.com>
33154
33155         Reviewed by Martin Robinson.
33156
33157         [GTK] Small cleanup in PluginViewGtk
33158         https://bugs.webkit.org/show_bug.cgi?id=47588
33159
33160         Remove some dead code and use PlatformRefPtr for cairo surfaces.
33161
33162         No new tests, only refactoring.
33163
33164         * plugins/gtk/PluginViewGtk.cpp:
33165         (WebCore::PluginView::paint):
33166
33167 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
33168
33169         Reviewed by Andreas Kling.
33170
33171         Fix compile error when bulding webkit's Qt port using the "--v8" option.
33172         https://bugs.webkit.org/show_bug.cgi?id=47455
33173
33174         * platform/qt/PlatformBridge.h:
33175
33176 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
33177
33178         Reviewed by Holger Freyther.
33179
33180         [GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558
33181         https://bugs.webkit.org/show_bug.cgi?id=47033
33182
33183         Fix logic that merges XSettings defaults and FontConfig settings. If
33184         FontConfig or XSettings specifies a subpixel order, we force subpixel
33185         anti-aliasing on. If anti-aliasing is turned on explicitly, only
33186         override the setting if it was previously off, otherwise we ignore
33187         the user's preference for subpixel or gray antialiasing.
33188
33189         Test: platform/gtk/fonts/xsettings_antialias_settings.html
33190
33191         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
33192         (WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings
33193         and FontConfig anti-aliasing settings.
33194         (WebCore::getDefaultFontOptions): Added this helper.
33195         (WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper.
33196
33197 2010-10-14  Jian Li  <jianli@chromium.org>
33198
33199         Reviewed by David Levin.
33200
33201         Support typed arrays in workers
33202         https://bugs.webkit.org/show_bug.cgi?id=47616
33203
33204         To support typed arrays in workers, we need to expose constructors in
33205         WorkerContext and add NoStaticTables attribute.
33206
33207         I also add File API feature guard to the constructors defined in
33208         DOMWindow.
33209
33210         * bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the
33211         constructors defined in DOMWindow.
33212         * html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute.
33213         * html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute.
33214         * html/canvas/Float32Array.idl: Add NoStaticTables attribute.
33215         * html/canvas/Int16Array.idl: Add NoStaticTables attribute.
33216         * html/canvas/Int32Array.idl: Add NoStaticTables attribute.
33217         * html/canvas/Int8Array.idl: Add NoStaticTables attribute.
33218         * html/canvas/Uint16Array.idl: Add NoStaticTables attribute.
33219         * html/canvas/Uint32Array.idl: Add NoStaticTables attribute.
33220         * html/canvas/Uint8Array.idl: Add NoStaticTables attribute.
33221         * page/DOMWindow.idl: Add File API feature guard to the constructors
33222         defined in DOMWindow.
33223         * workers/WorkerContext.idl: Expose type array constructors.
33224
33225 2010-10-14  Andreas Kling  <kling@webkit.org>
33226
33227         Reviewed by Ariya Hidayat.
33228
33229         [Qt] Avoid creating empty transparency layers in ImageBuffer::clip()
33230
33231         We were creating empty layers for sub-1 height/width clips due to
33232         using IntRect(FloatRect) instead of enclosingIntRect().
33233         This lead to a bunch of QPainter warnings on the console since you
33234         can't draw on an empty QPixmap.
33235
33236         * platform/graphics/qt/ImageBufferQt.cpp:
33237         (WebCore::ImageBuffer::clip):
33238
33239 2010-10-14  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
33240
33241         Reviewed by Martin Robinson.
33242
33243         [cairo] Typo in determining fixed width fonts
33244         https://bugs.webkit.org/show_bug.cgi?id=47470
33245
33246         It must be a single ampersand otherwise the
33247         && FT_FACE_FLAG_FIXED_WIDTH will always be true.
33248
33249         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
33250         (WebCore::FontPlatformData::FontPlatformData):
33251
33252 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
33253
33254         Reviewed by Xan Lopez.
33255
33256         [GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html
33257         https://bugs.webkit.org/show_bug.cgi?id=47666
33258
33259         Do a less strict decoding of base64 data url's as it was done
33260         before. The actual problem is most likely
33261         https://bugs.webkit.org/show_bug.cgi?id=47661 tough.
33262
33263         * platform/network/soup/cache/soup-request-data.c:
33264         (webkit_soup_request_data_send):
33265
33266 2010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>
33267
33268         Reviewed by Andreas Kling.
33269
33270         SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
33271         https://bugs.webkit.org/show_bug.cgi?id=47660
33272
33273         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
33274         The patch also implements the simple setOrder and setKernelUnitLength methods.
33275
33276         Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
33277                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
33278                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
33279                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
33280                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
33281                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
33282                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
33283                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
33284                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
33285                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
33286
33287         * svg/SVGFEConvolveMatrixElement.cpp:
33288         (WebCore::SVGFEConvolveMatrixElement::setOrder):
33289         (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
33290         (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
33291         * svg/SVGFEConvolveMatrixElement.h:
33292
33293 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
33294
33295         Reviewed by Andreas Kling.
33296
33297         [Qt] Text breaking is slow: enable ICU as an opt-in
33298         https://bugs.webkit.org/show_bug.cgi?id=40332
33299
33300         Added a config flag that enables ICU as an opt-in instead of the Qt specific code.
33301
33302         No new tests, this should be covered by existing tests.
33303
33304         * WebCore.pro:
33305         * platform/text/qt/TextBreakIteratorQt.cpp:
33306         (WebCore::currentTextBreakLocaleID):
33307
33308 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
33309
33310         Reviewed by Kenneth Rohde Christiansen.
33311
33312         [Texmap] [Qt] Texture mapper initial implementation
33313         https://bugs.webkit.org/show_bug.cgi?id=47070
33314
33315         This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated
33316         once other parts of TextureMapper are fully working.
33317
33318         No new tests: this is new implementation that's not enabled yet.
33319
33320         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
33321         (WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt):
33322         (WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient):
33323         (WebCore::TextureMapperVideoLayerQt::paint):
33324         (WebCore::TextureMapperVideoLayerQt::size):
33325         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
33326         (WebCore::MediaPlayerPrivateQt::platformLayer):
33327         * platform/graphics/qt/MediaPlayerPrivateQt.h:
33328         (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
33329         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
33330         (WebCore::MediaPlayerPrivateQt::platformLayer):
33331
33332 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
33333
33334         Reviewed by Martin Robinson.
33335
33336         Fixed crashes in the GTK 64bits bot, we have to use NULL instead
33337         of 0 when calling these glib APIs, 0 is compiled as a char and in
33338         64bits systems it is not correct.
33339
33340         * platform/network/soup/cache/soup-requester.c:
33341         (webkit_soup_requester_new):
33342         (webkit_soup_requester_request_uri):
33343
33344 2010-10-14  Daniel Bates  <dbates@rim.com>
33345
33346         Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>.
33347
33348         * rendering/RenderInline.cpp: Include header "RenderTheme.h"
33349
33350 2010-10-14  Daniel Bates  <dbates@rim.com>
33351
33352         Reviewed by Darin Adler.
33353
33354         Only draw focus ring in RenderInline and RenderImage if the theme
33355         is not able to draw a focus ring
33356         https://bugs.webkit.org/show_bug.cgi?id=47632
33357
33358         Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings()
33359         would draw a focus ring regardless of whether the port-specific theme is able to
33360         draw a focus ring. Instead, these methods should only draw a focus ring if the
33361         theme is unable to draw a focus ring.
33362
33363         Also, extracted common focus ring drawing code from RenderObject::paintOutline()
33364         and RenderInline::paintOutline() into RenderObject::paintFocusRing().
33365
33366         Tests: fast/forms/textfield-focus-ring.html
33367                fast/images/imagemap-focus-ring.html
33368                fast/inline/inline-focus-ring.html
33369
33370         * rendering/RenderImage.cpp:
33371         (WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the
33372         the theme does not draw one.
33373         * rendering/RenderInline.cpp:
33374         (WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing().
33375         * rendering/RenderObject.cpp:
33376         * rendering/RenderObject.cpp:
33377         (WebCore::RenderObject::paintFocusRing): Added.
33378         (WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing().
33379         * rendering/RenderObject.h:
33380
33381 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
33382
33383         Reviewed by Yury Semikhatsky.
33384
33385         Web Inspector: Move load and dom content event timers into InspectorController.
33386         https://bugs.webkit.org/show_bug.cgi?id=47668
33387
33388         * inspector/CodeGeneratorInspector.pm:
33389         * inspector/Inspector.idl:
33390         * inspector/InspectorController.cpp:
33391         (WebCore::InspectorController::InspectorController):
33392         (WebCore::InspectorController::populateScriptObjects):
33393         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
33394         (WebCore::InspectorController::mainResourceFiredLoadEvent):
33395         * inspector/InspectorController.h:
33396         * inspector/InspectorResource.cpp:
33397         (WebCore::InspectorResource::InspectorResource):
33398         (WebCore::InspectorResource::updateScriptObject):
33399         * inspector/InspectorResource.h:
33400         * inspector/front-end/inspector.js:
33401         (WebInspector.updateResource):
33402         (WebInspector.domContentEventFired):
33403         (WebInspector.loadEventFired):
33404
33405 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
33406
33407         Not reviewed. Re-landing r69757.
33408
33409 2010-10-14  Pavel Podivilov  <podivilov@chromium.org>
33410
33411         Reviewed by Pavel Feldman.
33412
33413         Web Inspector: implement pausing on window events and timeouts
33414         https://bugs.webkit.org/show_bug.cgi?id=47542
33415
33416         * inspector/InspectorInstrumentation.cpp:
33417         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
33418         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
33419         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
33420         (WebCore::InspectorInstrumentation::didDispatchEventImpl):
33421         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
33422         (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
33423         (WebCore::InspectorInstrumentation::willFireTimerImpl):
33424         (WebCore::InspectorInstrumentation::didFireTimerImpl):
33425         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
33426         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
33427         * inspector/InspectorInstrumentation.h:
33428         * inspector/front-end/BreakpointManager.js:
33429         (WebInspector.EventListenerBreakpoint.prototype.populateLabelElement):
33430         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
33431         (WebInspector.EventListenerBreakpoint.prototype._condition):
33432         (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
33433         * inspector/front-end/BreakpointsSidebarPane.js:
33434         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
33435
33436 2010-10-14  Csaba Osztrogonác  <ossy@webkit.org>
33437
33438         Reviewed by Andreas Kling.
33439
33440         Canvas: "currentColor" should inherit the canvas element's color
33441         https://bugs.webkit.org/show_bug.cgi?id=40273
33442
33443         Warning fix after r69755. Missing default cases added.
33444
33445         * html/canvas/CanvasStyle.cpp:
33446         (WebCore::parseColorOrCurrentColor):
33447         (WebCore::CanvasStyle::createFromString):
33448         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
33449
33450 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
33451
33452         Not reviewed. Rolling out r69757.
33453
33454 2010-10-08  Pavel Feldman  <pfeldman@chromium.org>
33455
33456         Reviewed by Yury Semikhatsky.
33457
33458         Web Inspector: extract content-related methods into InspectorResourceAgent.
33459         https://bugs.webkit.org/show_bug.cgi?id=47415
33460
33461         This is needed for resource-tracking-less operation of resources panel.
33462
33463         * CMakeLists.txt:
33464         * GNUmakefile.am:
33465         * WebCore.gypi:
33466         * WebCore.pro:
33467         * inspector/InspectorCSSAgent.cpp:
33468         * inspector/InspectorResource.cpp:
33469         (WebCore::InspectorResource::type):
33470         (WebCore::InspectorResource::sourceString):
33471         (WebCore::InspectorResource::sourceBytes):
33472         * inspector/InspectorResource.h:
33473         * inspector/InspectorResourceAgent.cpp: Added.
33474         (WebCore::InspectorResourceAgent::resourceContent):
33475         (WebCore::InspectorResourceAgent::resourceContentBase64):
33476         (WebCore::InspectorResourceAgent::resourceData):
33477         (WebCore::InspectorResourceAgent::cachedResourceType):
33478         (WebCore::InspectorResourceAgent::cachedResource):
33479         * inspector/InspectorResourceAgent.h: Added.
33480         * inspector/InspectorStyleSheet.cpp:
33481         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
33482         * inspector/InspectorUtilities.cpp: Removed.
33483         * inspector/InspectorUtilities.h: Removed.
33484
33485 2010-10-14  Andreas Kling  <kling@webkit.org>
33486
33487         Reviewed by Darin Adler.
33488
33489         Canvas: "currentColor" should inherit the canvas element's color
33490         https://bugs.webkit.org/show_bug.cgi?id=40273
33491
33492         Add support for "currentColor" in CanvasRenderingContext2D APIs.
33493         If the canvas is in-document, "currentColor" is replaced by canvas.style.color,
33494         otherwise we use fully opaque black.
33495
33496         For gradient addColorStop(), "currentColor" always means fully opaque black.
33497
33498         Spec link:
33499         http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
33500
33501         Test: fast/canvas/canvas-currentColor.html
33502
33503         * html/canvas/CanvasGradient.cpp:
33504         (WebCore::CanvasGradient::addColorStop):
33505         * html/canvas/CanvasRenderingContext2D.cpp:
33506         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
33507         (WebCore::CanvasRenderingContext2D::setFillStyle):
33508         (WebCore::CanvasRenderingContext2D::setShadowColor):
33509         (WebCore::CanvasRenderingContext2D::setShadow):
33510         * html/canvas/CanvasStyle.cpp:
33511         (WebCore::parseColor):
33512         (WebCore::currentColor):
33513         (WebCore::parseColorOrCurrentColor):
33514         (WebCore::CanvasStyle::CanvasStyle):
33515         (WebCore::CanvasStyle::createFromString):
33516         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
33517         (WebCore::CanvasStyle::isEquivalentColor):
33518         (WebCore::CanvasStyle::applyStrokeColor):
33519         (WebCore::CanvasStyle::applyFillColor):
33520         * html/canvas/CanvasStyle.h:
33521         (WebCore::CanvasStyle::isCurrentColor):
33522         (WebCore::CanvasStyle::hasOverrideAlpha):
33523         (WebCore::CanvasStyle::overrideAlpha):
33524
33525 2010-10-08  Yury Semikhatsky  <yurys@chromium.org>
33526
33527         Reviewed by Pavel Feldman.
33528
33529         Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values
33530         https://bugs.webkit.org/show_bug.cgi?id=47358
33531
33532         Test: inspector/debugger-eval-on-call-frame.html
33533
33534         * inspector/front-end/InjectedScript.js:
33535         (injectedScriptConstructor.): don't embrace expression evaluated in the local scope
33536         of a call frame into with(window) to avoid shadowing local variables by global ones.
33537
33538 2010-10-13  Adam Barth  <abarth@webkit.org>
33539
33540         Reviewed by Darin Adler.
33541
33542         Implement getParameter from the URL API
33543         https://bugs.webkit.org/show_bug.cgi?id=46610
33544
33545         Another API from
33546         https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en#
33547         getParameter lets a web site easily read the value of a URL parameter.
33548         This API is for the simple case of a non-repeated parameter name.
33549         getParameterAll will handle repeated parameter names in a future patch.
33550
33551         Tests: fast/dom/anchor-getParameter.html
33552                http/tests/misc/location-getParameter.html
33553
33554         * html/HTMLAnchorElement.cpp:
33555         (WebCore::HTMLAnchorElement::getParameter):
33556         * html/HTMLAnchorElement.h:
33557         * html/HTMLAnchorElement.idl:
33558         * page/Location.cpp:
33559         (WebCore::Location::getParameter):
33560         * page/Location.h:
33561         * page/Location.idl:
33562         * platform/KURL.cpp:
33563         (WebCore::KURL::copyParsedQueryTo):
33564         * platform/KURLGoogle.cpp:
33565         (WebCore::KURL::copyParsedQueryTo):
33566         * platform/KURL.h:
33567
33568 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
33569
33570         Unreviewed. GTK build fix.
33571
33572         * platform/network/soup/ResourceHandleSoup.cpp:
33573         (WebCore::sendRequestCallback):
33574
33575 2010-10-14  Adrienne Walker  <enne@google.com>
33576
33577         Reviewed by James Robinson.
33578
33579         Add a short-term solution for large layers.  Layers that are too
33580         large to be contained in a single texture just upload the portion of
33581         the layer that is within the content rect.  A longer-term solution
33582         is still tiling with proper memory management.  Layers that have full
33583         3D transforms (more than just translations) are still not drawn.
33584         https://bugs.webkit.org/show_bug.cgi?id=47016
33585
33586         Test: compositing/tiling
33587
33588         * platform/graphics/chromium/ContentLayerChromium.cpp:
33589         (WebCore::ContentLayerChromium::ContentLayerChromium):
33590         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
33591         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
33592         (WebCore::ContentLayerChromium::updateContents):
33593         (WebCore::ContentLayerChromium::updateTextureRect):
33594         (WebCore::ContentLayerChromium::draw):
33595         * platform/graphics/chromium/ContentLayerChromium.h:
33596         * platform/graphics/chromium/ImageLayerChromium.cpp:
33597         (WebCore::ImageLayerChromium::updateContents):
33598         * platform/graphics/chromium/LayerRendererChromium.cpp:
33599         (WebCore::LayerRendererChromium::drawLayers):
33600         * platform/graphics/chromium/LayerRendererChromium.h:
33601         (WebCore::LayerRendererChromium::rootLayerContentRect):
33602
33603 2010-10-14  Chris Rogers  <crogers@google.com>
33604
33605         Reviewed by Chris Fleizach.
33606
33607         Add DelayDSPKernel files
33608         https://bugs.webkit.org/show_bug.cgi?id=47518
33609
33610         No new tests since audio API is not yet implemented.
33611
33612         * webaudio/DelayDSPKernel.cpp: Added.
33613         (WebCore::DelayDSPKernel::DelayDSPKernel):
33614         (WebCore::DelayDSPKernel::process):
33615         (WebCore::DelayDSPKernel::reset):
33616         * webaudio/DelayDSPKernel.h: Added.
33617         (WebCore::DelayDSPKernel::maxDelayTime):
33618         (WebCore::DelayDSPKernel::setDelayFrames):
33619         (WebCore::DelayDSPKernel::delayProcessor):
33620
33621 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
33622
33623         Reviewed by Martin Robinson.
33624
33625         WebKitGtk+ to use the new API from the imported SoupURILoader code
33626
33627         [GTK] Add HTTP caching support
33628         https://bugs.webkit.org/show_bug.cgi?id=44261
33629
33630         ResourceHandleSoup now does everything via SoupURILoader. This means
33631         that all URLs are handled via the same code path, where WebCore simply
33632         asks libsoup for a WebKitSoupRequest and the request returns an input
33633         stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr
33634         as well, to simplify reference counting
33635
33636         * platform/network/ResourceHandleInternal.h:
33637         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
33638         * platform/network/soup/ResourceHandleSoup.cpp:
33639         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
33640         (WebCore::ResourceHandle::~ResourceHandle):
33641         (WebCore::restartedCallback):
33642         (WebCore::gotChunkCallback):
33643         (WebCore::parseDataUrl):
33644         (WebCore::cleanupSoupRequestOperation):
33645         (WebCore::sendRequestCallback):
33646         (WebCore::startHttp):
33647         (WebCore::ResourceHandle::start):
33648         (WebCore::ResourceHandle::cancel):
33649         (WebCore::closeCallback):
33650         (WebCore::readCallback):
33651         (WebCore::startGio):
33652         * platform/network/soup/ResourceRequest.h:
33653         * platform/network/soup/ResourceRequestSoup.cpp:
33654         (WebCore::ResourceRequest::updateSoupMessage):
33655
33656 2010-10-12  Abhishek Arya  <inferno@chromium.org>
33657
33658         Reviewed by Darin Adler.
33659
33660         Prevent block logical height of a root inline box from overflowing by clamping it
33661         at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
33662         removal a floating object.
33663         https://bugs.webkit.org/show_bug.cgi?id=45611        
33664
33665         Test: fast/overflow/overflow-block-logical-height-crash.html
33666
33667         * rendering/RootInlineBox.cpp:
33668         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
33669
33670 2010-10-13  James Robinson  <jamesr@chromium.org>
33671
33672         Reviewed by Darin Adler.
33673
33674         Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
33675         Canvas: radialGradient with negative radius should throw exception
33676         https://bugs.webkit.org/show_bug.cgi?id=37176
33677
33678         This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
33679         and arcTo().  Also fixes some PassRefPtr/RefPtr errors in this file.
33680
33681         Test: canvas/philip/tests/2d.gradient.radial.negative.html
33682
33683         * html/canvas/CanvasRenderingContext2D.cpp:
33684         (WebCore::CanvasRenderingContext2D::createLinearGradient):
33685         (WebCore::CanvasRenderingContext2D::createRadialGradient):
33686         (WebCore::createEmptyImageData):
33687         (WebCore::CanvasRenderingContext2D::measureText):
33688
33689 2010-10-13  Fridrich Strba  <fridrich.strba@bluewin.ch>
33690
33691         Reviewed by Darin Adler.
33692
33693         Add WebCore/plugins/win directory to CFLAGS
33694         https://bugs.webkit.org/show_bug.cgi?id=45547
33695
33696         * GNUmakefile.am:
33697
33698 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
33699
33700         Build fix for older versions of libsoup.
33701
33702         * platform/network/soup/cache/soup-request-file.c:
33703         (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.
33704
33705 2010-10-13  Kwang Yul Seo  <skyul@company100.net>
33706
33707         Reviewed by Kent Tamura.
33708
33709         [BREWMP] Add TextBoundaries and TextBreakIterator
33710         https://bugs.webkit.org/show_bug.cgi?id=46105
33711
33712         Copy the implementation of WinCE port.
33713
33714         * platform/text/brew/TextBoundariesBrew.cpp: Added.
33715         (WebCore::findNextWordFromIndex):
33716         (WebCore::findWordBoundary):
33717         * platform/text/brew/TextBreakIteratorBrew.cpp: Added.
33718         (WebCore::isCharStop):
33719         (WebCore::isLineStop):
33720         (WebCore::isSentenceStop):
33721         (WebCore::TextBreakIterator::reset):
33722         (WebCore::TextBreakIterator::following):
33723         (WebCore::TextBreakIterator::preceding):
33724         (WebCore::WordBreakIterator::first):
33725         (WebCore::WordBreakIterator::next):
33726         (WebCore::WordBreakIterator::previous):
33727         (WebCore::CharBreakIterator::first):
33728         (WebCore::CharBreakIterator::next):
33729         (WebCore::CharBreakIterator::previous):
33730         (WebCore::LineBreakIterator::first):
33731         (WebCore::LineBreakIterator::next):
33732         (WebCore::LineBreakIterator::previous):
33733         (WebCore::SentenceBreakIterator::first):
33734         (WebCore::SentenceBreakIterator::next):
33735         (WebCore::SentenceBreakIterator::previous):
33736         (WebCore::wordBreakIterator):
33737         (WebCore::characterBreakIterator):
33738         (WebCore::lineBreakIterator):
33739         (WebCore::sentenceBreakIterator):
33740         (WebCore::textBreakFirst):
33741         (WebCore::textBreakNext):
33742         (WebCore::textBreakPreceding):
33743         (WebCore::textBreakFollowing):
33744         (WebCore::textBreakCurrent):
33745         (WebCore::isTextBreak):
33746         (WebCore::cursorMovementIterator):
33747
33748 2010-10-13  Jeremy Orlow  <jorlow@chromium.org>
33749
33750         Reviewed by Nate Chapin.
33751
33752         IndexedDB should fire some errors synchronously
33753         https://bugs.webkit.org/show_bug.cgi?id=47530
33754
33755         Add dumb plumbing to pass around exception codes.
33756         Utilize that plumbing in the backend to fire some
33757         errors synchronously.
33758         Verify that create/remove* functions are only called
33759         in setVersionTransactions (and raise when not).
33760         Remove plumbing for obsolete IDBDatabase.objectStore
33761         Remove obsolete mode param.
33762
33763         * storage/IDBCursor.cpp:
33764         (WebCore::IDBCursor::update):
33765         (WebCore::IDBCursor::continueFunction):
33766         (WebCore::IDBCursor::remove):
33767         * storage/IDBCursor.h:
33768         (WebCore::IDBCursor::continueFunction):
33769         * storage/IDBCursor.idl:
33770         * storage/IDBCursorBackendImpl.cpp:
33771         (WebCore::IDBCursorBackendImpl::update):
33772         (WebCore::IDBCursorBackendImpl::continueFunction):
33773         (WebCore::IDBCursorBackendImpl::remove):
33774         * storage/IDBCursorBackendImpl.h:
33775         * storage/IDBCursorBackendInterface.h:
33776         * storage/IDBDatabase.cpp:
33777         (WebCore::IDBDatabase::IDBDatabase):
33778         (WebCore::IDBDatabase::createObjectStore):
33779         (WebCore::IDBDatabase::removeObjectStore):
33780         (WebCore::IDBDatabase::setVersion):
33781         (WebCore::IDBDatabase::transaction):
33782         * storage/IDBDatabase.h:
33783         (WebCore::IDBDatabase::createObjectStore):
33784         (WebCore::IDBDatabase::transaction):
33785         * storage/IDBDatabase.idl:
33786         * storage/IDBDatabaseBackendImpl.cpp:
33787         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
33788         (WebCore::IDBDatabaseBackendImpl::objectStore):
33789         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
33790         (WebCore::IDBDatabaseBackendImpl::setVersion):
33791         (WebCore::IDBDatabaseBackendImpl::transaction):
33792         * storage/IDBDatabaseBackendImpl.h:
33793         * storage/IDBDatabaseBackendInterface.h:
33794         * storage/IDBFactory.cpp:
33795         (WebCore::IDBFactory::open):
33796         * storage/IDBFactory.h:
33797         (WebCore::IDBFactory::open):
33798         * storage/IDBFactory.idl:
33799         * storage/IDBIndex.cpp:
33800         (WebCore::IDBIndex::openCursor):
33801         (WebCore::IDBIndex::openKeyCursor):
33802         (WebCore::IDBIndex::get):
33803         (WebCore::IDBIndex::getKey):
33804         * storage/IDBIndex.h:
33805         (WebCore::IDBIndex::openCursor):
33806         (WebCore::IDBIndex::openKeyCursor):
33807         * storage/IDBIndex.idl:
33808         * storage/IDBIndexBackendImpl.cpp:
33809         (WebCore::IDBIndexBackendImpl::openCursor):
33810         (WebCore::IDBIndexBackendImpl::openKeyCursor):
33811         (WebCore::IDBIndexBackendImpl::get):
33812         (WebCore::IDBIndexBackendImpl::getKey):
33813         * storage/IDBIndexBackendImpl.h:
33814         * storage/IDBIndexBackendInterface.h:
33815         * storage/IDBObjectStore.cpp:
33816         (WebCore::IDBObjectStore::get):
33817         (WebCore::IDBObjectStore::add):
33818         (WebCore::IDBObjectStore::put):
33819         (WebCore::IDBObjectStore::remove):
33820         (WebCore::IDBObjectStore::createIndex):
33821         (WebCore::IDBObjectStore::index):
33822         (WebCore::IDBObjectStore::removeIndex):
33823         (WebCore::IDBObjectStore::openCursor):
33824         * storage/IDBObjectStore.h:
33825         (WebCore::IDBObjectStore::add):
33826         (WebCore::IDBObjectStore::put):
33827         (WebCore::IDBObjectStore::createIndex):
33828         (WebCore::IDBObjectStore::openCursor):
33829         * storage/IDBObjectStore.idl:
33830         * storage/IDBObjectStoreBackendImpl.cpp:
33831         (WebCore::IDBObjectStoreBackendImpl::get):
33832         (WebCore::IDBObjectStoreBackendImpl::put):
33833         (WebCore::IDBObjectStoreBackendImpl::remove):
33834         (WebCore::IDBObjectStoreBackendImpl::createIndex):
33835         (WebCore::IDBObjectStoreBackendImpl::index):
33836         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
33837         (WebCore::IDBObjectStoreBackendImpl::openCursor):
33838         * storage/IDBObjectStoreBackendImpl.h:
33839         (WebCore::IDBObjectStoreBackendImpl::name):
33840         (WebCore::IDBObjectStoreBackendImpl::keyPath):
33841         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
33842         * storage/IDBObjectStoreBackendInterface.h:
33843         * storage/IDBTransaction.cpp:
33844         (WebCore::IDBTransaction::objectStore):
33845         * storage/IDBTransaction.h:
33846         * storage/IDBTransactionBackendImpl.cpp:
33847         (WebCore::IDBTransactionBackendImpl::objectStore):
33848
33849 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
33850
33851         Reviewed by Martin Robinson.
33852
33853         [GTK] Add HTTP caching support
33854         https://bugs.webkit.org/show_bug.cgi?id=44261
33855
33856         This patch adds HTTP caching support to libsoup networking backend.
33857         This code will eventually be part of libsoup, but has been temporarily
33858         imported into the WebCore tree for testing purposes. All libsoup code
33859         is located in WebCore/platform/network/soup/cache. The webkit prefix
33860         was added to all the symbols to prevent problems when this lands in
33861         libsoup. Some external API was also added under webkit/ directory and
33862         will be used by library clients to enable HTTP caching.
33863
33864         There are two parts to this imported code, the first one is the code
33865         under WebCore/platform/network/soup/cache/ that contains all the
33866         SoupURILoader code that supports the development of the cache. The
33867         second part is the HTTP cache implementation located in
33868         WebCore/platform/network/soup/cache/webkit/.
33869
33870         * GNUmakefile.am:
33871         * platform/network/soup/cache/soup-directory-input-stream.c: Added.
33872         (webkit_soup_directory_input_stream_parse_info):
33873         (webkit_soup_directory_input_stream_read_next_file):
33874         (webkit_soup_directory_input_stream_read):
33875         (webkit_soup_directory_input_stream_close):
33876         (webkit_soup_directory_input_stream_class_init):
33877         (webkit_soup_directory_input_stream_init):
33878         (webkit_soup_directory_input_stream_new):
33879         * platform/network/soup/cache/soup-directory-input-stream.h: Added.
33880         * platform/network/soup/cache/soup-http-input-stream.c: Added.
33881         (webkit_soup_http_input_stream_finalize):
33882         (webkit_soup_http_input_stream_class_init):
33883         (webkit_soup_http_input_stream_seekable_iface_init):
33884         (webkit_soup_http_input_stream_init):
33885         (webkit_soup_http_input_stream_queue_message):
33886         (webkit_soup_http_input_stream_new):
33887         (webkit_soup_http_input_stream_got_headers):
33888         (webkit_soup_http_input_stream_got_chunk):
33889         (webkit_soup_http_input_stream_finished):
33890         (webkit_soup_http_input_stream_cancelled):
33891         (webkit_soup_http_input_stream_prepare_for_io):
33892         (webkit_soup_http_input_stream_done_io):
33893         (set_error_if_http_failed):
33894         (read_from_leftover):
33895         (webkit_soup_http_input_stream_send_internal):
33896         (send_sync_finished):
33897         (webkit_soup_http_input_stream_send):
33898         (webkit_soup_http_input_stream_read):
33899         (webkit_soup_http_input_stream_close):
33900         (wrapper_callback):
33901         (send_async_thread):
33902         (webkit_soup_http_input_stream_send_async_in_thread):
33903         (send_async_finished):
33904         (webkit_soup_http_input_stream_send_async_internal):
33905         (webkit_soup_http_input_stream_send_async):
33906         (webkit_soup_http_input_stream_send_finish):
33907         (read_async_done):
33908         (webkit_soup_http_input_stream_read_async):
33909         (webkit_soup_http_input_stream_read_finish):
33910         (webkit_soup_http_input_stream_close_async):
33911         (webkit_soup_http_input_stream_close_finish):
33912         (webkit_soup_http_input_stream_tell):
33913         (webkit_soup_http_input_stream_can_seek):
33914         (webkit_soup_http_input_stream_seek):
33915         (webkit_soup_http_input_stream_can_truncate):
33916         (webkit_soup_http_input_stream_truncate):
33917         (webkit_soup_http_input_stream_get_message):
33918         * platform/network/soup/cache/soup-http-input-stream.h: Added.
33919         * platform/network/soup/cache/soup-request-data.c: Added.
33920         (webkit_soup_request_data_init):
33921         (webkit_soup_request_data_finalize):
33922         (webkit_soup_request_data_check_uri):
33923         (uri_decoded_copy):
33924         (webkit_soup_request_data_send):
33925         (webkit_soup_request_data_get_content_length):
33926         (webkit_soup_request_data_get_content_type):
33927         (webkit_soup_request_data_class_init):
33928         * platform/network/soup/cache/soup-request-data.h: Added.
33929         * platform/network/soup/cache/soup-request-file.c: Added.
33930         (webkit_soup_request_file_get_file):
33931         (webkit_soup_request_file_init):
33932         (webkit_soup_request_file_finalize):
33933         (webkit_soup_request_file_check_uri):
33934         (webkit_soup_request_file_ftp_main_loop_quit):
33935         (webkit_soup_request_file_ensure_file_ftp):
33936         (webkit_soup_request_file_ensure_file):
33937         (webkit_soup_request_file_send):
33938         (webkit_soup_request_file_send_async_thread):
33939         (webkit_soup_request_file_send_async):
33940         (webkit_soup_request_file_send_finish):
33941         (webkit_soup_request_file_get_content_length):
33942         (webkit_soup_request_file_get_content_type):
33943         (webkit_soup_request_file_class_init):
33944         * platform/network/soup/cache/soup-request-file.h: Added.
33945         * platform/network/soup/cache/soup-request-http.c: Added.
33946         (webkit_soup_request_http_get_message):
33947         (webkit_soup_request_http_init):
33948         (webkit_soup_request_http_check_uri):
33949         (webkit_soup_request_http_finalize):
33950         (webkit_soup_request_http_send):
33951         (sent_async):
33952         (conditional_get_ready_cb):
33953         (send_async_cb):
33954         (webkit_soup_request_http_send_async):
33955         (webkit_soup_request_http_send_finish):
33956         (webkit_soup_request_http_get_content_length):
33957         (webkit_soup_request_http_get_content_type):
33958         (webkit_soup_request_http_class_init):
33959         * platform/network/soup/cache/soup-request-http.h: Added.
33960         * platform/network/soup/cache/soup-request.c: Added.
33961         (webkit_soup_request_init):
33962         (webkit_soup_request_finalize):
33963         (webkit_soup_request_set_property):
33964         (webkit_soup_request_get_property):
33965         (webkit_soup_request_initable_init):
33966         (webkit_soup_request_default_check_uri):
33967         (webkit_soup_request_default_send_async):
33968         (webkit_soup_request_default_send_finish):
33969         (webkit_soup_request_send):
33970         (webkit_soup_request_send_async):
33971         (webkit_soup_request_send_finish):
33972         (webkit_soup_request_class_init):
33973         (webkit_soup_request_initable_interface_init):
33974         (webkit_soup_request_get_uri):
33975         (webkit_soup_request_get_session):
33976         (webkit_soup_request_get_content_length):
33977         (webkit_soup_request_get_content_type):
33978         * platform/network/soup/cache/soup-request.h: Added.
33979         * platform/network/soup/cache/soup-requester.c: Added.
33980         (webkit_soup_requester_init):
33981         (finalize):
33982         (webkit_soup_requester_class_init):
33983         (init_request_types):
33984         (webkit_soup_requester_new):
33985         (webkit_soup_requester_request):
33986         (webkit_soup_requester_request_uri):
33987         (webkit_soup_scheme_is_valid):
33988         (webkit_soup_requester_add_protocol):
33989         (webkit_soup_requester_remove_protocol):
33990         (webkit_soup_error_quark):
33991         * platform/network/soup/cache/soup-requester.h: Added.
33992         * platform/network/soup/cache/webkit/soup-cache-private.h: Added.
33993         * platform/network/soup/cache/webkit/soup-cache.c: Added.
33994         (get_cacheability):
33995         (webkit_soup_cache_entry_free):
33996         (copy_headers):
33997         (update_headers):
33998         (webkit_soup_cache_entry_get_current_age):
33999         (webkit_soup_cache_entry_is_fresh_enough):
34000         (webkit_soup_message_get_cache_key):
34001         (webkit_soup_cache_entry_set_freshness):
34002         (webkit_soup_cache_entry_new):
34003         (webkit_soup_cache_writing_fixture_free):
34004         (close_ready_cb):
34005         (write_ready_cb):
34006         (msg_got_chunk_cb):
34007         (msg_got_body_cb):
34008         (webkit_soup_cache_entry_delete):
34009         (lru_compare_func):
34010         (cache_accepts_entries_of_size):
34011         (make_room_for_new_entry):
34012         (webkit_soup_cache_entry_insert_by_key):
34013         (msg_restarted_cb):
34014         (append_to_ready_cb):
34015         (msg_got_headers_cb):
34016         (webkit_soup_cache_send_response):
34017         (request_started):
34018         (attach):
34019         (webkit_soup_cache_session_feature_init):
34020         (webkit_soup_cache_init):
34021         (webkit_soup_cache_finalize):
34022         (webkit_soup_cache_set_property):
34023         (webkit_soup_cache_get_property):
34024         (webkit_soup_cache_constructed):
34025         (webkit_soup_cache_type_get_type):
34026         (webkit_soup_cache_class_init):
34027         (webkit_soup_cache_new):
34028         (webkit_soup_cache_has_response):
34029         (webkit_soup_cache_get_cacheability):
34030         (force_flush_timeout):
34031         (webkit_soup_cache_flush):
34032         (remove_cache_item):
34033         (webkit_soup_cache_clear):
34034         (webkit_soup_cache_generate_conditional_request):
34035         (pack_entry):
34036         (webkit_soup_cache_dump):
34037         (webkit_soup_cache_load):
34038         (webkit_soup_cache_set_max_size):
34039         (webkit_soup_cache_get_max_size):
34040         * platform/network/soup/cache/webkit/soup-cache.h: Added.
34041
34042 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
34043
34044         Chromium build fix.
34045
34046         * bindings/v8/ScriptProfiler.cpp:
34047
34048 2010-10-13  Chris Evans  <cevans@google.com>
34049
34050         Reviewed by Jian Li.
34051
34052         Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
34053         https://bugs.webkit.org/show_bug.cgi?id=47382
34054
34055         Fix integer overflow errors in Blob.slice and BlobBuilder.append.
34056
34057         Test: fast/files/blob-slice-overflow.html
34058
34059         * fileapi/Blob.cpp:
34060         (WebCore::Blob::slice): handle integer overflow properly.
34061         * fileapi/BlobBuilder.cpp:
34062         (WebCore::BlobBuilder::append): use correct type for vector length.
34063
34064 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
34065
34066         Build fix - remove some redundant references to ScriptString.
34067
34068         * WebCore.gypi:
34069         * WebCore.pro:
34070         * bindings/v8/ScriptProfiler.cpp:
34071
34072 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
34073
34074         Reviewed by Oliver Hunt.
34075
34076         Bug 47621 - Remove bindings/v8/ScriptString
34077         This is now redundant.
34078
34079         * bindings/v8/ScriptCallFrame.h:
34080         (WebCore::ScriptCallFrame::functionName):
34081         * bindings/v8/ScriptFunctionCall.cpp:
34082         * bindings/v8/ScriptFunctionCall.h:
34083         * bindings/v8/ScriptString.h: Removed.
34084         * bindings/v8/ScriptStringImpl.cpp: Removed.
34085         * bindings/v8/ScriptStringImpl.h: Removed.
34086
34087 2010-10-13  Anders Carlsson  <andersca@apple.com>
34088
34089         Reviewed by John Sullivan.
34090
34091         Draw the find overlay holes
34092         https://bugs.webkit.org/show_bug.cgi?id=47631
34093
34094         Export symbols needed by WebKit2.
34095
34096         * WebCore.exp.in:
34097
34098 2010-10-13  James Simonsen  <simonjam@chromium.org>
34099
34100         Reviewed by Darin Adler.
34101
34102         Implement onreadystatechange event handler for Documents
34103         https://bugs.webkit.org/show_bug.cgi?id=26140
34104
34105         Test: fast/dom/Document/readystate.html
34106
34107         * dom/Document.cpp:
34108         (WebCore::Document::setReadyState): Fire readystatechangeevent.
34109         (WebCore::Document::open): Clear event listeners.
34110         * dom/Document.h: Add readystatechange event.
34111         * dom/Document.idl: Ditto.
34112
34113 2010-10-13  Chris Fleizach  <cfleizach@apple.com>
34114
34115         Reviewed by Beth Dakin.
34116
34117         AX: accessibilityIsIgnored not respected on ARIA tables
34118         https://bugs.webkit.org/show_bug.cgi?id=47564
34119
34120         For platforms that ignore column headers and header container objects (everything
34121         except Mac) on accessibility tables, that choice needs to be respected in 
34122         ARIA tables as well.
34123
34124         GTK is the only open platform doing this, so I'll have to collect the result of this 
34125         test. It was copied from table-hierarchy.html, but changed to use ARIA tables.
34126
34127         Test: platform/gtk/accessibility/aria-table-hierarchy.html
34128
34129         * accessibility/AccessibilityARIAGrid.cpp:
34130         (WebCore::AccessibilityARIAGrid::addChildren):
34131
34132 2010-10-13  Victoria Kirst  <vrk@google.com>
34133
34134         Reviewed by James Robinson.
34135
34136         No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
34137         https://bugs.webkit.org/show_bug.cgi?id=47432
34138
34139         * platform/graphics/chromium/VideoLayerChromium.cpp:
34140         (WebCore::VideoLayerChromium::cleanupResources):
34141
34142 2010-10-13  Leandro Pereira  <leandro@profusion.mobi>
34143
34144         [EFL] Unreviewed. Build fix.
34145
34146         * CMakeLists.txt: Add ContextShadow.cpp.
34147         * CMakeListsEfl.txt: Add ContextShadowCairo.cpp.
34148
34149 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
34150
34151         Reviewed by Holger Freyther.
34152
34153         [GTK] r69681 caused some tests to crash
34154         https://bugs.webkit.org/show_bug.cgi?id=47622
34155
34156         Properly initialize m_layerContext on the ContextShadow so that in situations
34157         where beginShadowLayer bails out early with a null return value, it is set
34158         to null. This may happen when the first call to beginShadowLayer on a particular
34159         ContextShadow uses a region which is entirely outside the clip region or which
34160         is empty.
34161
34162         * platform/graphics/cairo/ContextShadow.cpp:
34163         (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.
34164
34165 2010-10-13  Anders Carlsson  <andersca@apple.com>
34166
34167         Reviewed by Beth Dakin.
34168
34169         Don't set the fill/stroke colorspace before filling/stroking
34170         https://bugs.webkit.org/show_bug.cgi?id=47619
34171
34172         Setting the colorspace has the side-effect of setting the color to black, which is
34173         not what we want. When fill/stroke is called, a fill/stroke color should already have been set.
34174
34175         Pixel tests show no regressions from this change.
34176
34177         * platform/graphics/cg/GraphicsContextCG.cpp:
34178         (WebCore::GraphicsContext::fillPath):
34179         (WebCore::GraphicsContext::strokePath):
34180         (WebCore::GraphicsContext::fillRect):
34181         (WebCore::GraphicsContext::strokeRect):
34182
34183 2010-10-13  Brent Fulgham  <bfulgham@webkit.org>
34184
34185         Unreviewed WinCairo build fix.
34186         New ContextShadow class not built for Windows builds.
34187
34188         * WebCore.vcproj/WebCore.vcproj: Add missing files for
34189         building ContextShadow on WinCairo.
34190         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
34191         Add missing include for ContextShadow definition.
34192
34193 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
34194
34195         Chromium build fix pt1.
34196
34197         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
34198         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
34199
34200 2010-10-13  Anders Carlsson  <andersca@apple.com>
34201
34202         Reviewed by Sam Weinig.
34203
34204         Send over find indicator information to the UI process
34205         https://bugs.webkit.org/show_bug.cgi?id=47612
34206
34207         Export symbols needed by WebKit2.
34208
34209         * WebCore.exp.in:
34210
34211 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
34212
34213         Reviewed by Oliver Hunt.
34214
34215         https://bugs.webkit.org/show_bug.cgi?id=43987
34216         Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
34217         to construct their internal result string.  Remove ScriptString (this is now
34218         redundant).
34219
34220         * WebCore.xcodeproj/project.pbxproj:
34221         * bindings/js/JSDOMBinding.cpp:
34222         (WebCore::jsOwnedStringOrNull):
34223         * bindings/js/JSDOMBinding.h:
34224         * bindings/js/JSXMLHttpRequestCustom.cpp:
34225         (WebCore::JSXMLHttpRequest::responseText):
34226         * bindings/js/ScriptCallFrame.cpp:
34227         (WebCore::ScriptCallFrame::ScriptCallFrame):
34228         * bindings/js/ScriptCallFrame.h:
34229         (WebCore::ScriptCallFrame::functionName):
34230         * bindings/js/ScriptCallStack.h:
34231         * bindings/js/ScriptFunctionCall.cpp:
34232         * bindings/js/ScriptFunctionCall.h:
34233         * bindings/js/ScriptString.h: Removed.
34234         * dom/ScriptExecutionContext.h:
34235         * fileapi/FileReader.cpp:
34236         (WebCore::FileReader::FileReader):
34237         (WebCore::FileReader::abort):
34238         (WebCore::FileReader::didReceiveData):
34239         (WebCore::FileReader::result):
34240         (WebCore::FileReader::convertToText):
34241         (WebCore::FileReader::convertToDataURL):
34242         * fileapi/FileReader.h:
34243         * fileapi/FileReaderSync.cpp:
34244         (WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
34245         (WebCore::FileReaderSyncLoader::didReceiveData):
34246         (WebCore::FileReaderSync::readAsBinaryString):
34247         (WebCore::FileReaderSync::readAsText):
34248         (WebCore::FileReaderSync::readAsDataURL):
34249         (WebCore::FileReaderSync::read):
34250         (WebCore::FileReaderSync::convertToText):
34251         * fileapi/FileReaderSync.h:
34252         (WebCore::FileReaderSync::readAsText):
34253         (WebCore::FileReaderSync::FileReaderSync):
34254         * inspector/InspectorController.cpp:
34255         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
34256         (WebCore::InspectorController::scriptImported):
34257         * inspector/InspectorController.h:
34258         * inspector/InspectorResource.cpp:
34259         (WebCore::InspectorResource::setOverrideContent):
34260         * inspector/InspectorResource.h:
34261         * loader/FrameLoader.cpp:
34262         * loader/FrameLoader.h:
34263         * loader/FrameLoaderClient.h:
34264         * loader/ResourceLoadNotifier.h:
34265         * workers/WorkerScriptLoader.h:
34266         * xml/XMLHttpRequest.cpp:
34267         (WebCore::XMLHttpRequest::XMLHttpRequest):
34268         (WebCore::XMLHttpRequest::responseText):
34269         (WebCore::XMLHttpRequest::responseXML):
34270         (WebCore::XMLHttpRequest::abort):
34271         (WebCore::XMLHttpRequest::clearResponse):
34272         (WebCore::XMLHttpRequest::dropProtection):
34273         (WebCore::XMLHttpRequest::didFinishLoading):
34274         (WebCore::XMLHttpRequest::didReceiveData):
34275         * xml/XMLHttpRequest.h:
34276
34277 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
34278
34279         Reviewed by Oliver Hunt.
34280
34281         Bug 43987 - Downloading using XHR is much slower than before
34282
34283         * svg/SVGPathStringBuilder.cpp:
34284         (WebCore::SVGPathStringBuilder::result):
34285             StringBuilder::size() -> StringBuilder::length().
34286
34287 2010-10-13  Yong Li  <yoli@rim.com>
34288
34289         Reviewed by Oliver Hunt.
34290
34291         Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
34292         that can result crash on ARM (<v6).
34293         https://bugs.webkit.org/show_bug.cgi?id=47594
34294
34295         No new test added, because the crash can be produced by existing tests like:
34296         LayoutTests/fast/events/message-channel-gc-4.html
34297
34298         * bindings/js/SerializedScriptValue.cpp:
34299         (WebCore::CloneDeserializer::readLittleEndian):
34300         (WebCore::CloneDeserializer::readString):
34301
34302 2010-10-06  Martin Robinson  <mrobinson@igalia.com>
34303
34304         Reviewed by Dirk Schulze.
34305
34306         [Cairo] Activate ContextShadow in all places where shadows are drawn
34307         https://bugs.webkit.org/show_bug.cgi?id=46475
34308
34309         Turn on ContextShadow for the Cairo port and remove all old shadow code.
34310         Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.
34311
34312         * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
34313         * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
34314         (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
34315         on the specified cairo_t to prepare for drawing glyphs.
34316         (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
34317         while properly handling glyphs with synthetic bold.
34318         (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
34319         * platform/graphics/cairo/GraphicsContextCairo.cpp:
34320         (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
34321         argument specifying whether to fill or stroke the solid figure for the shadow.
34322         (WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
34323         (WebCore::strokeCurrentCairoPath): Ditto.
34324         (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
34325         (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
34326         (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
34327         (WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
34328         (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
34329         (WebCore::GraphicsContext::contextShadow): Added.
34330         (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
34331         (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
34332         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
34333         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
34334         * platform/graphics/cairo/ImageCairo.cpp:
34335         (WebCore::BitmapImage::draw): Updated to use ContextShadow.
34336
34337 2010-10-13  John Knottenbelt  <jknotten@chromium.org>
34338
34339         Reviewed by Steve Block.
34340
34341         First step towards client-based Geolocation in Chromium. Build
34342         fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
34343         https://bugs.webkit.org/show_bug.cgi?id=47586
34344
34345         * WebCore.gyp/WebCore.gyp:
34346         * platform/chromium/ChromiumBridge.h:
34347         * platform/chromium/GeolocationServiceChromium.cpp:
34348
34349 2010-10-13  Steve Block  <steveblock@google.com>
34350
34351         Unreviewed fix
34352
34353         Need to check for the existence of DeviceOrientation and DeviceMotion controllers
34354
34355         These features can be disabled at run time, so an enable guard is not sufficient.
34356         This bug was introduced in http://trac.webkit.org/changeset/69646
34357
34358         Tested with existing tests.
34359
34360         * history/PageCache.cpp:
34361         (WebCore::logCanCachePageDecision):
34362         (WebCore::PageCache::canCache):
34363
34364 2010-10-13  Yury Semikhatsky  <yurys@chromium.org>
34365
34366         Reviewed by Pavel Feldman.
34367
34368         Web Inspector: stack information is inconsistent between console.trace and runtime errors.
34369         https://bugs.webkit.org/show_bug.cgi?id=47252
34370
34371         * console.trace() is now formatted the same way as other stack traces
34372
34373         * If there is //@ sourceURL=url line at the end of eval'ed script source
34374         the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
34375         type has changed from KURL to String.
34376
34377         Tests: inspector/console-trace-in-eval.html
34378                inspector/console-uncaught-exception-in-eval.html
34379
34380         * bindings/js/ScriptCallFrame.cpp:
34381         (WebCore::ScriptCallFrame::ScriptCallFrame):
34382         * bindings/js/ScriptCallFrame.h:
34383         (WebCore::ScriptCallFrame::sourceURL):
34384         * bindings/v8/ScriptCallFrame.cpp:
34385         (WebCore::ScriptCallFrame::ScriptCallFrame):
34386         * bindings/v8/ScriptCallFrame.h:
34387         (WebCore::ScriptCallFrame::sourceURL):
34388         * bindings/v8/ScriptCallStack.cpp:
34389         (WebCore::getFrameLocation):
34390         (WebCore::ScriptCallStack::create):
34391         * bindings/v8/ScriptCallStack.h:
34392         * bindings/v8/ScriptController.cpp:
34393         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
34394         * bindings/v8/custom/V8ConsoleCustom.cpp:
34395         (WebCore::V8Console::traceCallback):
34396         * inspector/ConsoleMessage.cpp:
34397         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
34398         (WebCore::ConsoleMessage::ConsoleMessage):
34399         * inspector/ConsoleMessage.h:
34400         * inspector/front-end/ConsoleView.js:
34401         (WebInspector.ConsoleMessage.prototype._formatMessage):
34402         * page/Console.cpp:
34403         (WebCore::Console::addMessage):
34404         (WebCore::Console::count):
34405         (WebCore::Console::timeEnd):
34406
34407 2010-10-13  Kent Tamura  <tkent@chromium.org>
34408
34409         Unreviewed, a trivial change.
34410
34411         Run sort-Xcode-project-file.
34412
34413         * WebCore.xcodeproj/project.pbxproj:
34414
34415 2010-10-13  Yael Aharon  <yael.aharon@nokia.com>
34416
34417         Reviewed by Andreas Kling.
34418
34419         Wrong ASSERT when select element has size 0
34420         https://bugs.webkit.org/show_bug.cgi?id=47567
34421
34422         Keep the ASSERT only if the size of the element list is more than 0
34423         Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
34424
34425         * dom/SelectElement.cpp:
34426         (WebCore::SelectElement::updateListBoxSelection):
34427         (WebCore::SelectElement::listBoxDefaultEventHandler):
34428
34429 2010-10-13  Steve Block  <steveblock@google.com>
34430
34431         Reviewed by Alexey Proskuryakov.
34432
34433         Pages using DeviceOrientation and DeviceMotion should not go into the page cache
34434         https://bugs.webkit.org/show_bug.cgi?id=47408
34435
34436         Tests: fast/dom/DeviceMotion/no-page-cache.html
34437                fast/dom/DeviceOrientation/no-page-cache.html
34438
34439         * dom/DeviceMotionController.h:
34440         (WebCore::DeviceMotionController::isActive):
34441         * dom/DeviceOrientationController.h:
34442         (WebCore::DeviceOrientationController::isActive):
34443         * history/PageCache.cpp:
34444         (WebCore::logCanCachePageDecision):
34445         (WebCore::PageCache::canCache):
34446         * page/Page.cpp:
34447
34448 2010-10-13  Jenn Braithwaite  <jennb@chromium.org>
34449
34450         Reviewed by Dmitry Titov.
34451
34452         Make resource identifiers unique across pages
34453         https://bugs.webkit.org/show_bug.cgi?id=47002
34454
34455         Test: http/tests/misc/iframe-reparenting-id-collision.html
34456
34457         * loader/ProgressTracker.cpp:
34458         (WebCore::ProgressTracker::ProgressTracker):
34459         (WebCore::ProgressTracker::createUniqueIdentifier):
34460         * loader/ProgressTracker.h:
34461
34462 2010-10-12  Roland Steiner  <rolandsteiner@chromium.org>
34463
34464         Reviewed by David Hyatt.
34465
34466         Bug 41040 - :before/:after content should not become part of a ruby base
34467         https://bugs.webkit.org/show_bug.cgi?id=41040
34468
34469         Also related to:
34470         https://bugs.webkit.org/show_bug.cgi?id=40895.
34471         https://bugs.webkit.org/show_bug.cgi?id=43722.
34472
34473         Explicitly handle :before and :after content in the default way.
34474
34475         Test: fast/ruby/ruby-beforeafter.html
34476               fast/ruby/after-doesnt-crash.html
34477
34478         * rendering/RenderObject.h:
34479         (WebCore::RenderObject::isBeforeContent):
34480         * rendering/RenderRuby.cpp:
34481         (WebCore::lastRubyRun):
34482         (WebCore::RenderRubyAsInline::addChild):
34483         (WebCore::RenderRubyAsInline::removeChild):
34484         (WebCore::RenderRubyAsBlock::addChild):
34485         (WebCore::RenderRubyAsBlock::removeChild):
34486
34487 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
34488
34489         Unreviewed, rolling out r69639.
34490         http://trac.webkit.org/changeset/69639
34491         https://bugs.webkit.org/show_bug.cgi?id=47575
34492
34493         "regressed nav-element.html" (Requested by rniwa on #webkit).
34494
34495         * editing/ApplyBlockElementCommand.cpp:
34496         (WebCore::ApplyBlockElementCommand::formatSelection):
34497         * editing/EditorCommand.cpp:
34498         (WebCore::executeFormatBlock):
34499         * editing/FormatBlockCommand.cpp:
34500         (WebCore::FormatBlockCommand::formatRange):
34501         * editing/FormatBlockCommand.h:
34502         (WebCore::FormatBlockCommand::editingAction):
34503         * editing/VisiblePosition.cpp:
34504         (WebCore::enclosingBlockFlowElement):
34505         * editing/VisiblePosition.h:
34506         * editing/htmlediting.cpp:
34507         (WebCore::validBlockTag):
34508         * editing/htmlediting.h:
34509
34510 2010-10-12  Ryosuke Niwa  <rniwa@webkit.org>
34511
34512         Reviewed by Tony Chang.
34513
34514         execCommand FormatBlock creates lots of blockquotes
34515         https://bugs.webkit.org/show_bug.cgi?id=19795
34516
34517         The bug was caused by WebKit's not reusing the block node added by previous iteration
34518         and its inserting block node at wrong places.
34519
34520         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
34521         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
34522         avoids the existing block elements when replacing blocks and it also adds a placeholder
34523         when removing the existing block caused paragraphs to collapse.
34524
34525         Tests: editing/execCommand/format-block-multiple-paragraphs.html
34526                editing/execCommand/format-block-table.html
34527
34528         * editing/EditorCommand.cpp:
34529         (WebCore::executeFormatBlock):
34530         * editing/FormatBlockCommand.cpp:
34531         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
34532         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
34533         and moved from htmlediting.cpp.
34534         (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
34535         * editing/FormatBlockCommand.h:
34536         * editing/VisiblePosition.cpp:
34537         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
34538         * editing/VisiblePosition.h:
34539
34540 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
34541
34542         Reviewed by Anders Carlsson.
34543
34544         Make PluginView inherit from PluginViewBase.
34545
34546         This change is a precursor to adding accelerated compositing support
34547         for NPAPI plugins.
34548
34549         https://bugs.webkit.org/show_bug.cgi?id=47418
34550
34551         * page/Page.cpp:
34552         (WebCore::Page::privateBrowsingStateChanged):
34553         * plugins/PluginView.h:
34554         * plugins/PluginViewBase.h:
34555         (WebCore::PluginViewBase::PluginViewBase):
34556
34557 2010-10-12  Kinuko Yasuda  <kinuko@chromium.org>
34558
34559         Reviewed by Jian Li.
34560
34561         Pass platform path (rather than virtual path) when creating File from FileEntry
34562         https://bugs.webkit.org/show_bug.cgi?id=47563
34563
34564         No new tests, the new test for FileWriter will be verifying this.
34565
34566         * fileapi/FileEntry.cpp:
34567         (WebCore::FileEntry::file):
34568
34569 2010-10-12 David Hyatt  <hyatt@apple.com>
34570
34571         Reviewed by Dan Bernstein
34572
34573         <rdar://problem/8488444> REGRESSION (r67771)
34574         https://bugs.webkit.org/show_bug.cgi?id=47434
34575         Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
34576         
34577         Added printing/simultaneous-position-float-change.html
34578
34579         Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
34580         objects in them.  Make the mechanism for relayout when the page height changes the same as the one when pageY
34581         changes and just tie a concept of pageHeightChanged to the layout state.  If that is set, blocks will just
34582         automatically mark themselves as needing layout.
34583
34584         * rendering/LayoutState.cpp:
34585         (WebCore::LayoutState::LayoutState):
34586         * rendering/LayoutState.h:
34587         (WebCore::LayoutState::LayoutState):
34588         (WebCore::LayoutState::pageHeight):
34589         (WebCore::LayoutState::pageHeightChanged):
34590         * rendering/RenderBlock.cpp:
34591         (WebCore::RenderBlock::layoutBlock):
34592         (WebCore::RenderBlock::layoutBlockChild):
34593         (WebCore::RenderBlock::layoutPositionedObjects):
34594         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
34595         (WebCore::RenderBlock::insertFloatingObject):
34596         (WebCore::RenderBlock::positionNewFloats):
34597         * rendering/RenderBlock.h:
34598         * rendering/RenderBox.cpp:
34599         * rendering/RenderBox.h:
34600         (WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
34601         * rendering/RenderFlexibleBox.cpp:
34602         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
34603         (WebCore::RenderFlexibleBox::layoutVerticalBox):
34604         * rendering/RenderView.cpp:
34605         (WebCore::RenderView::RenderView):
34606         (WebCore::RenderView::layout):
34607         * rendering/RenderView.h:
34608         (WebCore::RenderView::setPageHeight):
34609         (WebCore::RenderView::pushLayoutState):
34610         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
34611         (WebCore::LayoutStateMaintainer::push):
34612
34613 2010-10-12  Anders Carlsson  <andersca@apple.com>
34614
34615         Reviewed by Dan Bernstein.
34616
34617         Paint the find overlay background
34618         https://bugs.webkit.org/show_bug.cgi?id=47565
34619
34620         Export symbols required by WebKit2.
34621
34622         * WebCore.exp.in:
34623
34624 2010-10-12  James Robinson  <jamesr@chromium.org>
34625
34626         Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619
34627
34628         * platform/graphics/chromium/LayerRendererChromium.cpp:
34629         (WebCore::LayerRendererChromium::create):
34630         (WebCore::LayerRendererChromium::LayerRendererChromium):
34631         * platform/graphics/chromium/LayerRendererChromium.h:
34632
34633 2010-10-12  Chris Marrin  <cmarrin@apple.com>
34634
34635         Reviewed by Darin Adler.
34636
34637         Manage DrawingBuffer lifetime in GraphicsContext3D
34638         https://bugs.webkit.org/show_bug.cgi?id=47501
34639
34640         GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
34641         has a RefPtr to GraphicsContext3D to ensure the proper lifetime. 
34642         DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
34643         refers to GraphicsContext3D rather than SharedGraphicsContext3D.
34644
34645         * html/canvas/CanvasRenderingContext2D.cpp:
34646         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
34647         * html/canvas/CanvasRenderingContext2D.h:
34648         * html/canvas/WebGLRenderingContext.cpp:
34649         (WebCore::WebGLRenderingContext::create):
34650         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
34651         * html/canvas/WebGLRenderingContext.h:
34652         * platform/graphics/GraphicsContext3D.cpp:
34653         (WebCore::GraphicsContext3D::createDrawingBuffer):
34654         * platform/graphics/GraphicsContext3D.h:
34655         * platform/graphics/chromium/DrawingBufferChromium.cpp:
34656         (WebCore::generateColorTexture):
34657         (WebCore::DrawingBuffer::DrawingBuffer):
34658         (WebCore::DrawingBuffer::~DrawingBuffer):
34659         (WebCore::DrawingBuffer::publishToPlatformLayer):
34660         (WebCore::DrawingBuffer::reset):
34661         * platform/graphics/gpu/DrawingBuffer.cpp:
34662         (WebCore::DrawingBuffer::create):
34663         (WebCore::DrawingBuffer::clear):
34664         (WebCore::DrawingBuffer::bind):
34665         * platform/graphics/gpu/DrawingBuffer.h:
34666         (WebCore::DrawingBuffer::graphicsContext3D):
34667         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
34668         (WebCore::SharedGraphicsContext3D::create):
34669         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
34670         * platform/graphics/gpu/SharedGraphicsContext3D.h:
34671         (WebCore::SharedGraphicsContext3D::graphicsContext3D):
34672         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
34673         (WebCore::DrawingBuffer::DrawingBuffer):
34674         (WebCore::DrawingBuffer::~DrawingBuffer):
34675         (WebCore::DrawingBuffer::reset):
34676         * platform/graphics/mac/GraphicsContext3DMac.mm:
34677         (WebCore::GraphicsContext3D::create):
34678
34679 2010-10-12  Jian Li  <jianli@chromium.org>
34680
34681         Reviewed by David Levin.
34682
34683         Fix passing blob data with string data item between threads.
34684         https://bugs.webkit.org/show_bug.cgi?id=46543
34685
34686         The fix is to use a thread-safe ref-counted Vector<char> to store the
34687         string data. This also makes us be able to store any binary data in it.
34688
34689         I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
34690         copies to make blob handling faster.
34691
34692         * fileapi/BlobBuilder.cpp:
34693         (WebCore::BlobBuilder::append):
34694         * fileapi/ThreadableBlobRegistry.cpp:
34695         (WebCore::BlobRegistryContext::BlobRegistryContext):
34696         * platform/network/BlobData.cpp:
34697         (WebCore::BlobDataItem::RawData::RawData):
34698         (WebCore::BlobDataItem::RawData::detachFromCurrentThread):
34699         (WebCore::BlobDataItem::detachFromCurrentThread):
34700         (WebCore::BlobData::create):
34701         (WebCore::BlobData::detachFromCurrentThread):
34702         (WebCore::BlobData::appendData):
34703         * platform/network/BlobData.h:
34704         (WebCore::BlobDataItem::RawData::create):
34705         (WebCore::BlobDataItem::RawData::data):
34706         (WebCore::BlobDataItem::RawData::length):
34707         (WebCore::BlobDataItem::RawData::mutableData):
34708         (WebCore::BlobDataItem::BlobDataItem):
34709         * platform/network/BlobRegistryImpl.cpp:
34710         (WebCore::BlobRegistryImpl::registerBlobURL):
34711         * platform/network/BlobResourceHandle.cpp:
34712         (WebCore::BlobResourceHandle::readDataSync):
34713         (WebCore::BlobResourceHandle::readDataAsync):
34714         * platform/network/mac/FormDataStreamMac.mm:
34715         (WebCore::setHTTPBody):
34716         * platform/text/LineEnding.cpp:
34717         (OutputBuffer::CStringBuffer::CStringBuffer):
34718         (OutputBuffer::CStringBuffer::~CStringBuffer):
34719         (OutputBuffer::CStringBuffer::allocate):
34720         (OutputBuffer::CStringBuffer::copy):
34721         (OutputBuffer::CStringBuffer::buffer):
34722         (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
34723         (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
34724         (OutputBuffer::VectorCharAppendBuffer::allocate):
34725         (OutputBuffer::VectorCharAppendBuffer::copy):
34726         (OutputBuffer::internalNormalizeLineEndingsToCRLF):
34727         (WebCore::normalizeToCROrLF):
34728         (WebCore::normalizeLineEndingsToCRLF):
34729         (WebCore::normalizeLineEndingsToCR):
34730         (WebCore::normalizeLineEndingsToLF):
34731         (WebCore::normalizeLineEndingsToNative):
34732         * platform/text/LineEnding.h:
34733
34734 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
34735
34736         Unreviewed, rolling out r69589.
34737         http://trac.webkit.org/changeset/69589
34738         https://bugs.webkit.org/show_bug.cgi?id=47547
34739
34740         Wrong patch landed from a bug with two patches (Requested by
34741         mrobinson on #webkit).
34742
34743         * platform/network/ResourceHandleInternal.h:
34744         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
34745         * platform/network/soup/ResourceHandleSoup.cpp:
34746         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
34747         (WebCore::ResourceHandle::~ResourceHandle):
34748         (WebCore::restartedCallback):
34749         (WebCore::gotChunkCallback):
34750         (WebCore::finishedCallback):
34751         (WebCore::parseDataUrl):
34752         (WebCore::startHttp):
34753         * platform/network/soup/ResourceRequest.h:
34754         * platform/network/soup/ResourceRequestSoup.cpp:
34755
34756 2010-10-12  Simon Fraser  <simon.fraser@apple.com>
34757
34758         Screen.availLeft should be signed
34759         https://bugs.webkit.org/show_bug.cgi?id=34397
34760         
34761         Add the manual test missed in r69599.
34762
34763         * manual-tests/screen-availLeft.html: Added.
34764
34765 2010-10-12  Girish Ramakrishnan  <girish@forwardbias.in>
34766
34767         Reviewed by Ariya Hidayat.
34768
34769         [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
34770
34771         Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
34772         quirk is enabled only for 64-bit Flash/X11 and should not affect other
34773         plugins. The freeze itself is in Flash code and the backtrace is not
34774         useful.
34775
34776         https://bugs.webkit.org/show_bug.cgi?id=47545
34777
34778         * plugins/PluginPackage.cpp:
34779         (WebCore::PluginPackage::determineQuirks):
34780         * plugins/PluginQuirkSet.h:
34781         * plugins/qt/PluginViewQt.cpp:
34782         (WebCore::PluginView::handleMouseEvent):
34783
34784 2010-10-08  Simon Fraser  <simon.fraser@apple.com>
34785
34786         Reviewed by Alexey Proskuryakov.
34787
34788         Screen.availLeft should be signed
34789         https://bugs.webkit.org/show_bug.cgi?id=34397
34790
34791         For the screen to the left of the main screen, screen.availLeft
34792         can be negative, so the Screen API needs to use signed numbers
34793         for availLeft and availTop.
34794
34795         * manual-tests/screen-availLeft.html: Added.
34796         * page/Screen.cpp:
34797         (WebCore::Screen::availLeft):
34798         (WebCore::Screen::availTop):
34799         * page/Screen.h:
34800         * page/Screen.idl:
34801
34802 2010-10-12  Anders Carlsson  <andersca@apple.com>
34803
34804         Reviewed by Sam Weinig.
34805
34806         Add FindController class
34807         https://bugs.webkit.org/show_bug.cgi?id=47555
34808
34809         Export Page::findString.
34810
34811         * WebCore.exp.in:
34812
34813 2010-10-12  Alexey Proskuryakov  <ap@apple.com>
34814
34815         Reviewed by Simon Fraser.
34816
34817         https://bugs.webkit.org/show_bug.cgi?id=47550
34818         <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
34819         (esp. with AdBlock style extensions)
34820
34821         No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.
34822
34823         The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
34824         not available yet, so scripting could only attempt to load it recursively.
34825
34826         This didn't affect NPAPI plug-ins, because of a completely different code path taken in
34827         updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.
34828
34829         * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
34830         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
34831         * html/HTMLPlugInElement.cpp:
34832         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
34833         (WebCore::HTMLPlugInElement::pluginWidget):
34834         * html/HTMLPlugInElement.h:
34835
34836 2010-10-12  Nikolas Zimmermann  <nzimmermann@rim.com>
34837
34838         Reviewed by Gavin Barraclough.
34839
34840         Unify JSC::StringBuilder & WebCore::StringBuilder
34841         https://bugs.webkit.org/show_bug.cgi?id=47538
34842
34843         JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
34844         WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
34845         characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
34846         most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
34847         strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.
34848
34849         Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
34850         While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.
34851
34852         No change in functionality, thus no new tests.
34853
34854         * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
34855         * CMakeLists.txt: Ditto.
34856         * GNUmakefile.am: Ditto. 
34857         * WebCore.gypi: Ditto.
34858         * WebCore.order: Ditto.
34859         * WebCore.pro: Ditto.
34860         * WebCore.vcproj/WebCore.vcproj: Ditto.
34861         * WebCore.xcodeproj/project.pbxproj: Ditto.
34862         * ForwardingHeaders/runtime/StringBuilder.h: Removed.
34863         * ForwardingHeaders/runtime/UStringBuilder.h: Added.
34864         * ForwardingHeaders/wtf/text/StringBuilder.h: Added.
34865         * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
34866         (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
34867         * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
34868         * css/MediaQuery.cpp: Ditto.
34869         * css/MediaQueryExp.cpp: Ditto.
34870         * dom/Node.cpp: Ditto.
34871         (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
34872         * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
34873         * html/DOMTokenList.cpp: Use WTF::StringBuilder.
34874         * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
34875         * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
34876         * platform/brew/FileSystemBrew.cpp: Ditto.
34877         * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
34878         * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
34879         * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
34880         * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
34881         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
34882         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
34883         * platform/network/ProxyServer.cpp:
34884         (WebCore::appendProxyServerString): Use WTF::StringBuilder.
34885         * platform/text/StringBuffer.h: Removed.
34886         * platform/text/StringBuilder.cpp: Removed.
34887         * platform/text/StringBuilder.h: Removed.
34888         * plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
34889         * svg/SVGPathParserFactory.cpp: Ditto.
34890         * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
34891         (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
34892         (WebCore::SVGPathStringBuilder::moveTo):
34893         (WebCore::SVGPathStringBuilder::lineTo):
34894         (WebCore::SVGPathStringBuilder::lineToHorizontal):
34895         (WebCore::SVGPathStringBuilder::lineToVertical):
34896         (WebCore::SVGPathStringBuilder::curveToCubic):
34897         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
34898         (WebCore::SVGPathStringBuilder::curveToQuadratic):
34899         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
34900         (WebCore::SVGPathStringBuilder::arcTo):
34901         (WebCore::SVGPathStringBuilder::closePath):
34902         * svg/SVGPathStringBuilder.h:
34903         (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
34904         * websockets/WebSocket.cpp: Use WTF::StringBuilder.
34905         * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).
34906
34907 2010-10-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
34908
34909         Reviewed by Antonio Gomes.
34910
34911         [EFL] Add a missing file in CMakeListEfl.txt
34912         https://bugs.webkit.org/show_bug.cgi?id=47480
34913
34914         IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.
34915
34916         * CMakeListsEfl.txt:
34917
34918 2010-10-12  Sam Weinig  <sam@webkit.org>
34919
34920         Reviewed by Anders Carlsson.
34921
34922         Need WebKit2 API to get the cell above a table cell
34923         <rdar://problem/8537111>
34924         https://bugs.webkit.org/show_bug.cgi?id=47532
34925
34926         Re-factor functionality to get the cell above a table cell
34927         into a function on HTMLTableCellElement and export it for use
34928         as SPI.
34929
34930         * WebCore.exp.in:
34931         * WebCore.xcodeproj/project.pbxproj:
34932         * html/HTMLTableCellElement.cpp:
34933         (WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
34934         * html/HTMLTableCellElement.h:
34935         * page/Frame.cpp:
34936         (WebCore::Frame::searchForLabelsAboveCell): ...from here.
34937
34938 2010-10-12  Dave Moore  <davemoore@chromium.org>
34939
34940         Reviewed by Tony Chang.
34941
34942         Use new WebThemeEngine api on chromium / linux to draw scrollbars.
34943         https://bugs.webkit.org/show_bug.cgi?id=47473
34944
34945         * platform/chromium/ChromiumBridge.h:
34946         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
34947
34948 2010-10-12  Andreas Kling  <kling@webkit.org>
34949
34950         Reviewed by Antonio Gomes.
34951
34952         [Qt] Clipping problem viewing SVG with WebKit
34953         https://bugs.webkit.org/show_bug.cgi?id=29596
34954
34955         SVG path clipping (via GraphicsContext::clipPath()) was done using the
34956         Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
34957         to misrenderings when nesting multiple clip paths.
34958
34959         * platform/graphics/qt/GraphicsContextQt.cpp:
34960         (WebCore::GraphicsContext::clipPath):
34961
34962 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
34963
34964         Reviewed by Pavel Feldman.
34965
34966         Web Inspector: refactoring of native breakpoints.
34967         https://bugs.webkit.org/show_bug.cgi?id=47360
34968
34969         Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
34970         Move stuff that depends on breakpoint type to corresponding subclass.
34971
34972         * inspector/Inspector.idl:
34973         * inspector/InspectorController.cpp:
34974         (WebCore::InspectorController::didCommitLoad):
34975         (WebCore::InspectorController::setNativeBreakpoint):
34976         (WebCore::InspectorController::removeNativeBreakpoint):
34977         (WebCore::InspectorController::findEventListenerBreakpoint):
34978         (WebCore::InspectorController::findXHRBreakpoint):
34979         * inspector/InspectorController.h:
34980         * inspector/InspectorDOMAgent.cpp:
34981         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
34982         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
34983         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
34984         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
34985         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
34986         (WebCore::InspectorDOMAgent::createBreakpointId):
34987         * inspector/InspectorDOMAgent.h:
34988         * inspector/InspectorDebuggerAgent.h:
34989         * inspector/InspectorInstrumentation.cpp:
34990         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
34991         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
34992         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
34993         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
34994         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
34995         * inspector/front-end/BreakpointManager.js:
34996         (WebInspector.BreakpointManager):
34997         (WebInspector.BreakpointManager.prototype.reset):
34998         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
34999         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
35000         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
35001         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
35002         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
35003         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
35004         (WebInspector.BreakpointManager.prototype.debuggerPaused):
35005         (WebInspector.BreakpointManager.prototype.debuggerResumed):
35006         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
35007         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
35008         (WebInspector.NativeBreakpoint):
35009         (WebInspector.NativeBreakpoint.prototype.remove):
35010         (WebInspector.NativeBreakpoint.prototype.get _frontendId):
35011         (WebInspector.NativeBreakpoint.prototype.get _type):
35012         (WebInspector.NativeBreakpoint.prototype._compare):
35013         (WebInspector.NativeBreakpoint.prototype._onRemove):
35014         (WebInspector.DOMBreakpoint):
35015         (WebInspector.DOMBreakpoint.prototype.click):
35016         (WebInspector.DOMBreakpoint.prototype.compareTo):
35017         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
35018         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
35019         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
35020         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
35021         (WebInspector.DOMBreakpoint.prototype._condition):
35022         (WebInspector.DOMBreakpoint.prototype._onRemove):
35023         (WebInspector.EventListenerBreakpoint):
35024         (WebInspector.EventListenerBreakpoint.prototype.compareTo):
35025         (WebInspector.EventListenerBreakpoint.prototype.label):
35026         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
35027         (WebInspector.EventListenerBreakpoint.prototype._condition):
35028         (WebInspector.XHRBreakpoint):
35029         (WebInspector.XHRBreakpoint.prototype.compareTo):
35030         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
35031         (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
35032         (WebInspector.XHRBreakpoint.prototype._condition):
35033         (WebInspector.domBreakpointTypeLabel):
35034         (WebInspector.domBreakpointTypeContextMenuLabel):
35035         * inspector/front-end/BreakpointsSidebarPane.js:
35036         (WebInspector.BreakpointItem):
35037         (WebInspector.BreakpointItem.prototype._breakpointClicked):
35038         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
35039         * inspector/front-end/CallStackSidebarPane.js:
35040         (WebInspector.CallStackSidebarPane):
35041         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
35042         (WebInspector.CallStackSidebarPane.prototype._breakpointHit):
35043         * inspector/front-end/DOMAgent.js:
35044         (WebInspector.DOMNode):
35045         (WebInspector.DOMAgent.prototype._setDocument):
35046         (WebInspector.DOMAgent.prototype._removeBreakpoints):
35047         (WebInspector.childNodeRemoved):
35048         * inspector/front-end/ElementsTreeOutline.js:
35049         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
35050         * inspector/front-end/ScriptsPanel.js:
35051         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
35052         * inspector/front-end/inspector.js:
35053         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
35054         (WebInspector.createDOMBreakpointsSidebarPane):
35055         (WebInspector.reset):
35056
35057 2010-10-11  Eric Uhrhane  <ericu@chromium.org>
35058
35059         Reviewed by Dumitru Daniliuc.
35060
35061         FileWriter should hold a reference to a Blob during write
35062         https://bugs.webkit.org/show_bug.cgi?id=47318
35063
35064         Without this reference, the Blob might get garbage-collected from JS
35065         before the write has completed, which would be quite unintuitive to the
35066         user.  I just grab a RefPtr to the Blob at write(), then clear it when
35067         we're done.
35068
35069         * fileapi/FileWriter.cpp:
35070         (WebCore::FileWriter::stop):
35071         (WebCore::FileWriter::write):
35072         (WebCore::FileWriter::didWrite):
35073         (WebCore::FileWriter::didFail):
35074         * fileapi/FileWriter.h:
35075
35076 2010-10-11  Michael Saboff  <msaboff@apple.com>
35077
35078         Reviewed by Darin Adler.
35079
35080         Changed DOMWindow to have a constructor.  Updated the code generator
35081         to add security checks to the constructors if CheckDomainSecurity is 
35082         set.  Also changed the constructor generation code to use 
35083         globalObject->prototype() for DOMWindow object prototypes instead
35084         of "self".
35085         https://bugs.webkit.org/show_bug.cgi?id=47422
35086
35087         Test: fast/dom/Window/window-constructor.html
35088
35089         * bindings/scripts/CodeGeneratorJS.pm:
35090         * page/DOMWindow.idl:
35091
35092 2010-10-11  Daniel Cheng  <dcheng@chromium.org>
35093
35094         Reviewed by Tony Chang.
35095
35096         [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
35097         https://bugs.webkit.org/show_bug.cgi?id=44992
35098
35099         In order to allow a graceful transition, ChromiumDataObject has been
35100         reimplemented as a wrapper around the three different types of data
35101         objects that the Chrome port uses:
35102         1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
35103            All the data that ClipboardChromium/DragDataChromium can potentially
35104            use is copied over, regardless of whether or not it is needed.
35105         2. ReadableDataObject -- used for dragging in and pasting into WebKit.
35106            For efficiency, it caches an optimistic list of types it believes it
35107            can handle. When getData() is called, a browser IPC is called to
35108            retrieve the appropriate data.
35109         3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
35110            buffers all data when dragging out of WebKit or copying/cutting.
35111            Unfortunately, there is a difference between dragging out and
35112            copying/cutting--on drag outs, the data is buffered and flushed out
35113            when startDrag() is called. For copy/cut, any calls to setData()
35114            result in a browser IPC right away, so calls to setData() in one
35115            copy/cut event are not atomic.
35116
35117         Copy and paste has been changed to use the new data objects. Dragging
35118         out uses the legacy data object, and dragging in now has two potential
35119         entry points--one using the legacy data object, and one using
35120         ReadableDataObject. Once Chromium transitions to using the new drag-in
35121         interface, the old interface will be removed.
35122
35123         This change is covered by existing tests.
35124
35125         * WebCore.gypi:
35126         * editing/chromium/EditorChromium.cpp:
35127         (WebCore::Editor::newGeneralClipboard):
35128         * page/chromium/EventHandlerChromium.cpp:
35129         (WebCore::EventHandler::createDraggingClipboard):
35130         * platform/chromium/ChromiumDataObject.cpp:
35131         (WebCore::ChromiumDataObject::ChromiumDataObject):
35132         (WebCore::ChromiumDataObject::create):
35133         (WebCore::ChromiumDataObject::createReadable):
35134         (WebCore::ChromiumDataObject::createWritable):
35135         (WebCore::ChromiumDataObject::clearData):
35136         (WebCore::ChromiumDataObject::clearAll):
35137         (WebCore::ChromiumDataObject::clearAllExceptFiles):
35138         (WebCore::ChromiumDataObject::hasData):
35139         (WebCore::ChromiumDataObject::types):
35140         (WebCore::ChromiumDataObject::getData):
35141         (WebCore::ChromiumDataObject::setData):
35142         (WebCore::ChromiumDataObject::urlTitle):
35143         (WebCore::ChromiumDataObject::setUrlTitle):
35144         (WebCore::ChromiumDataObject::htmlBaseUrl):
35145         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
35146         (WebCore::ChromiumDataObject::containsFilenames):
35147         (WebCore::ChromiumDataObject::filenames):
35148         (WebCore::ChromiumDataObject::setFilenames):
35149         (WebCore::ChromiumDataObject::fileExtension):
35150         (WebCore::ChromiumDataObject::setFileExtension):
35151         (WebCore::ChromiumDataObject::fileContentFilename):
35152         (WebCore::ChromiumDataObject::setFileContentFilename):
35153         (WebCore::ChromiumDataObject::fileContent):
35154         (WebCore::ChromiumDataObject::setFileContent):
35155         * platform/chromium/ChromiumDataObject.h:
35156         * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
35157         (WebCore::ChromiumDataObjectLegacy::clearData):
35158         (WebCore::ChromiumDataObjectLegacy::clearAll):
35159         (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
35160         (WebCore::ChromiumDataObjectLegacy::hasData):
35161         (WebCore::ChromiumDataObjectLegacy::types):
35162         (WebCore::ChromiumDataObjectLegacy::getData):
35163         (WebCore::ChromiumDataObjectLegacy::setData):
35164         (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
35165         * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
35166         (WebCore::ChromiumDataObjectLegacy::create):
35167         (WebCore::ChromiumDataObjectLegacy::copy):
35168         (WebCore::ChromiumDataObjectLegacy::urlTitle):
35169         (WebCore::ChromiumDataObjectLegacy::setUrlTitle):
35170         (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
35171         (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
35172         (WebCore::ChromiumDataObjectLegacy::containsFilenames):
35173         (WebCore::ChromiumDataObjectLegacy::filenames):
35174         (WebCore::ChromiumDataObjectLegacy::setFilenames):
35175         (WebCore::ChromiumDataObjectLegacy::fileExtension):
35176         (WebCore::ChromiumDataObjectLegacy::setFileExtension):
35177         (WebCore::ChromiumDataObjectLegacy::fileContentFilename):
35178         (WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
35179         (WebCore::ChromiumDataObjectLegacy::fileContent):
35180         (WebCore::ChromiumDataObjectLegacy::setFileContent):
35181         * platform/chromium/ClipboardChromium.cpp:
35182         (WebCore::ClipboardChromium::create):
35183         * platform/chromium/ClipboardChromium.h:
35184         * platform/chromium/ReadableDataObject.cpp:
35185         (WebCore::ReadableDataObject::getData):
35186         * platform/chromium/WritableDataObject.cpp:
35187         (WebCore::WritableDataObject::setData):
35188
35189 2010-10-11  Anders Carlsson  <andersca@apple.com>
35190
35191         Reviewed by Darin Adler.
35192
35193         Remove WebIconFetcher from WebKit and IconFetcher from WebCore
35194         https://bugs.webkit.org/show_bug.cgi?id=47523
35195
35196         Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.
35197
35198         * GNUmakefile.am:
35199         * WebCore.exp.in:
35200         * WebCore.gyp/WebCore.gyp:
35201         * WebCore.gypi:
35202         * WebCore.vcproj/WebCore.vcproj:
35203         * WebCore.xcodeproj/project.pbxproj:
35204         * loader/icon/IconFetcher.cpp: Removed.
35205         * loader/icon/IconFetcher.h: Removed.
35206
35207 2010-10-11  Jia Pu  <jpu@apple.com>
35208
35209         Reviewed by Adele Peterson.
35210
35211         Should commit pending autocorrection before next round of text checking.
35212         https://bugs.webkit.org/show_bug.cgi?id=46986
35213         <rdar://problem/8424535>
35214
35215         1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
35216         2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
35217            selection changes, which occurs after every typing command.
35218
35219         * editing/Editor.cpp:
35220         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
35221         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
35222           in m_correctionReplacementString.
35223         (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
35224         * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.
35225
35226 2010-10-11  Oliver Hunt  <oliver@apple.com>
35227
35228         Reviewed by Adam Barth.
35229
35230         Make fast/canvas/webgl/glsl-conformance pass again
35231         https://bugs.webkit.org/show_bug.cgi?id=47525
35232
35233         Remove incorrect call to glGetShaderiv, so it is only
35234         called in the case where we don't have our own simulated
35235         log.
35236
35237         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35238         (WebCore::GraphicsContext3D::getShaderInfoLog):
35239
35240 2010-10-11  Sam Weinig  <sam@webkit.org>
35241
35242         Reviewed by Anders Carlsson.
35243
35244         Add WebKit2 equivalents for setValueForUser and setAutoFilled
35245         <rdar://problem/8475934>
35246         https://bugs.webkit.org/show_bug.cgi?id=47524
35247
35248         * WebCore.exp.in: Add needed export.
35249
35250 2010-10-11  Andrei Popescu  <andreip@google.com>
35251
35252         Reviewed by Jeremy Orlow.
35253
35254         The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
35255         https://bugs.webkit.org/show_bug.cgi?id=47508
35256
35257         * bindings/generic/RuntimeEnabledFeatures.h:
35258         (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
35259         (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
35260         (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
35261         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
35262         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
35263         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
35264         (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
35265         (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
35266         (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
35267         (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
35268         (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
35269         (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
35270         (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
35271         (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
35272         (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
35273         * page/DOMWindow.cpp:
35274         (WebCore::DOMWindow::webkitIndexedDB):
35275         * page/DOMWindow.h:
35276         * page/DOMWindow.idl:
35277
35278 2010-10-11  Sam Weinig  <sam@webkit.org>
35279
35280         Reviewed by Anders Carlsson.
35281
35282         Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
35283         https://bugs.webkit.org/show_bug.cgi?id=47509
35284
35285         * WebCore.exp.in: Export toNode.
35286
35287 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
35288
35289         Reviewed by Tony Chang.
35290
35291         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
35292         https://bugs.webkit.org/show_bug.cgi?id=47244
35293
35294         Store the URI list as a String in DataObjectGtk, so that non-URI elements
35295         are preserved when getData(...) is called. This necessitates some other
35296         changes, including adding a m_filenames member to DataObjectGtk to store
35297         filenames extracted during setURIList(...). The logic in getData(...) has
35298         also changed to set success = true no matter what to match the spec. A
35299         followup patch will remove this parameter completely for all platforms.
35300
35301         * platform/gtk/ClipboardGtk.cpp:
35302         (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
35303         spec and Firefox. Simply return the uriList string from the DataObject
35304         instead of reconstructing it from a vector of KURLs.
35305         (WebCore::ClipboardGtk::setData): The DataObject now accepts a string
35306         for the uriList parameter.
35307         (WebCore::ClipboardGtk::types): Predicate the "Files" member on 
35308         DataObjectGtk::hasFilenames().
35309         (WebCore::ClipboardGtk::files): Update to reflect the change from
35310         DataObjectGtk::files() to DataObjectGtk::filenames().
35311         * platform/gtk/DataObjectGtk.cpp:
35312         (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
35313         first valid URL to use as the m_url member and also extract a list of filenames
35314         from the URI list.
35315         (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
35316         (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
35317         also leave a comment explaining why we do not clear filenames here.
35318         * platform/gtk/DataObjectGtk.h:
35319         (WebCore::DataObjectGtk::url): This implementation is now a simple getter.
35320         (WebCore::DataObjectGtk::uriList): Ditto.
35321         (WebCore::DataObjectGtk::filenames): Added.
35322         (WebCore::DataObjectGtk::hasURL): Now a simple check.
35323         (WebCore::DataObjectGtk::hasFilenames): Added.
35324         (WebCore::DataObjectGtk::clearURIList): Simple setter.
35325         (WebCore::DataObjectGtk::clearURL): Ditto.
35326         * platform/gtk/DragDataGtk.cpp:
35327         (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
35328         (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
35329         * platform/gtk/PasteboardHelper.cpp:
35330         (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
35331         (WebCore::PasteboardHelper::fillSelectionData):  Ditto.
35332         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.
35333
35334 2010-10-11  James Robinson  <jamesr@chromium.org>
35335
35336         Reviewed by Kenneth Russell.
35337
35338         [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
35339         https://bugs.webkit.org/show_bug.cgi?id=47241
35340
35341         Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
35342         if there is no drawingContext associated with the canvas.
35343
35344         Test: fast/canvas/access-zero-sized-canvas.html
35345               fast/canvas/canvas-skia-excessive-size.html
35346               fast/canvas/toDataURL-noData.html
35347         with --accelerated-compositing and --accelerated-2d-canvas
35348
35349         * html/canvas/CanvasRenderingContext2D.cpp:
35350         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
35351         (WebCore::CanvasRenderingContext2D::reset):
35352
35353 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
35354
35355         Reviewed by Gustavo Noronha Silva.
35356
35357         [GTK] Cleanup font selection code for the Freetype backend
35358         https://bugs.webkit.org/show_bug.cgi?id=47503
35359
35360         Do some miscellaneous cleanup work in the Freetype font font selection backend.
35361
35362         * platform/graphics/cairo/FontCacheFreeType.cpp:
35363         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
35364         a WebCore String.
35365         (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
35366         handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
35367         comparisons using WebCore Strings. Remove a large block comment that originated from a
35368         Apache-licensed file.
35369
35370 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
35371
35372         Reviewed by Gustavo Noronha Silva.
35373
35374         [GTK] Buttons activated with the keyboard should be painted as clicked
35375         https://bugs.webkit.org/show_bug.cgi?id=18364
35376
35377         When a button is pressed, force it into the hovered state as far as the
35378         Mozilla theme drawing code is concerned. This bug also seems to be an
35379         issue for Firefox. When we switch away from the Mozilla theme drawing
35380         code this work-around should no longer be necessary.
35381
35382         No new tests. I was not able to generate a pixel test for this issue. It
35383         seems that our DRT does not have the necessary infrastructure to generate a
35384         pixel dump while a button is in the pressed state.
35385
35386         * platform/gtk/RenderThemeGtk.cpp:
35387         (WebCore::RenderThemeGtk::paintRenderObject):
35388
35389 2010-10-11  Jian Li  <jianli@chromium.org>
35390
35391         Unreviewed. Build fix.
35392
35393         * bindings/js/JSArrayBufferCustom.cpp:
35394         * bindings/js/JSArrayBufferViewCustom.cpp:
35395         * bindings/js/JSFloat32ArrayCustom.cpp:
35396         * bindings/js/JSInt16ArrayCustom.cpp:
35397         * bindings/js/JSInt32ArrayCustom.cpp:
35398         * bindings/js/JSInt8ArrayCustom.cpp:
35399         * bindings/js/JSUint16ArrayCustom.cpp:
35400         * bindings/js/JSUint32ArrayCustom.cpp:
35401         * bindings/js/JSUint8ArrayCustom.cpp:
35402         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
35403         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
35404         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
35405         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
35406         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
35407         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
35408         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
35409         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
35410         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
35411
35412 2010-10-11  Brent Fulgham  <bfulgham@webkit.org>
35413
35414         Unreviewed WinCairo build fixes.
35415
35416         * platform/network/curl/ResourceResponse.h: Correct forward declaration
35417         for CFURLResponseRef.
35418         * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
35419         header file to avoid build failure on non-VIDEO builds.
35420
35421 2010-10-11  Jian Li  <jianli@chromium.org>
35422
35423         Reviewed by Adam Barth.
35424
35425         Add File API feature guard to all typed array files
35426         https://bugs.webkit.org/show_bug.cgi?id=47437
35427
35428         Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
35429         we need to update all type array files to include File API feature guard
35430         in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
35431         XMLHttpRequest, we will then remove all the guards. This is per the
35432         discussion on webkit-dev mailing list:
35433         https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html
35434
35435         * html/canvas/ArrayBuffer.cpp:
35436         * html/canvas/ArrayBuffer.idl:
35437         * html/canvas/ArrayBufferView.cpp:
35438         * html/canvas/ArrayBufferView.idl:
35439         * html/canvas/Float32Array.cpp:
35440         * html/canvas/Float32Array.idl:
35441         * html/canvas/Int16Array.cpp:
35442         * html/canvas/Int16Array.idl:
35443         * html/canvas/Int32Array.cpp:
35444         * html/canvas/Int32Array.idl:
35445         * html/canvas/Int8Array.cpp:
35446         * html/canvas/Int8Array.idl:
35447         * html/canvas/Uint16Array.cpp:
35448         * html/canvas/Uint16Array.idl:
35449         * html/canvas/Uint32Array.cpp:
35450         * html/canvas/Uint32Array.idl:
35451         * html/canvas/Uint8Array.cpp:
35452         * html/canvas/Uint8Array.idl:
35453
35454 2010-10-11  Andreas Kling  <kling@webkit.org>
35455
35456         Build fix (implicit float conversion in Path.cpp)
35457
35458         * platform/graphics/Path.cpp:
35459
35460 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
35461
35462         Reviewed by Kenneth Rohde Christiansen.
35463
35464         [Qt] Refactor Plugin X Pixmap painting code to a separate function
35465
35466         The refactored function will be used for rendering by the Accelerated
35467         Composition enabled graphics layer.
35468
35469         https://bugs.webkit.org/show_bug.cgi?id=35524
35470
35471         * plugins/PluginView.h:
35472         * plugins/qt/PluginViewQt.cpp:
35473         (WebCore::PluginView::paintUsingXPixmap):
35474         (WebCore::PluginView::paint):
35475
35476 2010-10-11  Andreas Kling  <kling@webkit.org>
35477
35478         Reviewed by Dirk Schulze.
35479
35480         SVG: Remove "create" methods and use port-specific "add" counterparts
35481         https://bugs.webkit.org/show_bug.cgi?id=46052
35482
35483         Circles and ellipses will be significantly faster on platforms that
35484         implement Path::addEllipse() in a sane fashion.
35485
35486         Also, a lot of Path copying has been factored out by changing functions
35487         that would return Paths to take Path& arguments instead (toPathData, toClipPath)
35488
35489         * mathml/RenderMathMLRoot.cpp:
35490         (WebCore::RenderMathMLRoot::paint):
35491         * mathml/RenderMathMLSquareRoot.cpp:
35492         (WebCore::RenderMathMLSquareRoot::paint):
35493         * platform/graphics/GraphicsContext.cpp:
35494         (WebCore::GraphicsContext::addRoundedRectClip):
35495         (WebCore::GraphicsContext::clipOutRoundedRect):
35496         * platform/graphics/Path.cpp:
35497         (WebCore::pathLengthApplierFunction):
35498         (WebCore::Path::addRoundedRect):
35499         * platform/graphics/Path.h:
35500         * platform/graphics/cairo/ContextShadowCairo.cpp:
35501         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
35502         (WebCore::ContextShadow::drawRectShadow):
35503         * platform/graphics/cairo/GraphicsContextCairo.cpp:
35504         (WebCore::GraphicsContext::drawFocusRing):
35505         (WebCore::GraphicsContext::drawTiledShadow):
35506         (WebCore::GraphicsContext::fillRoundedRect):
35507         * platform/graphics/cg/GraphicsContextCG.cpp:
35508         (WebCore::GraphicsContext::fillRoundedRect):
35509         * platform/graphics/qt/GraphicsContextQt.cpp:
35510         (WebCore::GraphicsContext::fillRoundedRect):
35511         * rendering/RenderBoxModelObject.cpp:
35512         (WebCore::RenderBoxModelObject::paintBorder):
35513         (WebCore::RenderBoxModelObject::paintBoxShadow):
35514         * rendering/RenderEmbeddedObject.cpp:
35515         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
35516         * rendering/RenderSVGResourceClipper.cpp:
35517         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
35518         * rendering/svg/RenderSVGPath.cpp:
35519         (WebCore::RenderSVGPath::layout):
35520         * rendering/svg/RenderSVGTextPath.cpp:
35521         (WebCore::RenderSVGTextPath::layoutPath):
35522         * rendering/svg/SVGInlineTextBox.cpp:
35523         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
35524         * svg/SVGAnimateMotionElement.cpp:
35525         (WebCore::SVGAnimateMotionElement::animationPath):
35526         * svg/SVGCircleElement.cpp:
35527         (WebCore::SVGCircleElement::toPathData):
35528         * svg/SVGCircleElement.h:
35529         * svg/SVGEllipseElement.cpp:
35530         (WebCore::SVGEllipseElement::toPathData):
35531         * svg/SVGEllipseElement.h:
35532         * svg/SVGLineElement.cpp:
35533         (WebCore::SVGLineElement::toPathData):
35534         * svg/SVGLineElement.h:
35535         * svg/SVGPathElement.cpp:
35536         (WebCore::SVGPathElement::getTotalLength):
35537         (WebCore::SVGPathElement::getPointAtLength):
35538         (WebCore::SVGPathElement::toPathData):
35539         * svg/SVGPathElement.h:
35540         * svg/SVGPolygonElement.cpp:
35541         (WebCore::SVGPolygonElement::toPathData):
35542         * svg/SVGPolygonElement.h:
35543         * svg/SVGPolylineElement.cpp:
35544         (WebCore::SVGPolylineElement::toPathData):
35545         * svg/SVGPolylineElement.h:
35546         * svg/SVGRectElement.cpp:
35547         (WebCore::SVGRectElement::toPathData):
35548         * svg/SVGRectElement.h:
35549         * svg/SVGStyledTransformableElement.cpp:
35550         (WebCore::SVGStyledTransformableElement::toClipPath):
35551         * svg/SVGStyledTransformableElement.h:
35552         (WebCore::SVGStyledTransformableElement::toPathData):
35553         * svg/SVGUseElement.cpp:
35554         (WebCore::SVGUseElement::toClipPath):
35555         * svg/SVGUseElement.h:
35556
35557 2010-10-01  Oliver Hunt  <oliver@apple.com>
35558
35559         Reviewed by Gavin Barraclough.
35560
35561         [ES5] Implement strict mode
35562         https://bugs.webkit.org/show_bug.cgi?id=10701
35563
35564         Test: fast/js/basic-strict-mode.html
35565
35566         Override toStrictThisObject on the domwindow so that
35567         it correctly provides the shell object when used as this
35568         in a strict mode function.
35569
35570         * bindings/js/JSDOMWindowBase.cpp:
35571         (WebCore::JSDOMWindowBase::toStrictThisObject):
35572         * bindings/js/JSDOMWindowBase.h:
35573
35574 2010-10-11  Joseph Pecoraro  <joepeck@webkit.org>
35575
35576         Reviewed by Eric Carlson.
35577
35578         CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
35579         https://bugs.webkit.org/show_bug.cgi?id=46777
35580
35581         Another case that could lead to an improper set of states between
35582         m_currentNode and m_loadingState. Also added an ASSERT and early
35583         return to prevent crashes if this case can still happen in other ways.
35584
35585         * html/HTMLMediaElement.cpp:
35586         (WebCore::HTMLMediaElement::prepareForLoad):
35587
35588 2010-10-11  Ryosuke Niwa  <rniwa@webkit.org>
35589
35590         Reviewed by Darin Adler.
35591
35592         spellcheck="false" not respected in designMode
35593         https://bugs.webkit.org/show_bug.cgi?id=39978
35594
35595         The bug was caused by WebKit's setting focus to html element rather than body element in design mode.
35596         Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false,
35597         this caused us to ignore body element's spellcheck attribute.
35598
35599         Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable
35600         when the parent node of body elements (namely html element) is editable.
35601
35602         Test: editing/spelling/design-mode-spellcheck-off.html
35603
35604         * html/HTMLBodyElement.cpp:
35605         (WebCore::HTMLBodyElement::supportsFocus): Added.
35606         * html/HTMLBodyElement.h:
35607
35608 2010-10-11  Oliver Hunt  <oliver@apple.com>
35609
35610         Build fix -- I thought i had killed the prior commit in time to have this be part of the commit.
35611
35612         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35613         (WebCore::GraphicsContext3D::getShaderInfoLog):
35614
35615 2010-10-11  Oliver Hunt  <oliver@apple.com>
35616
35617         Reviewed by Andreas Kling.
35618
35619         Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp
35620         https://bugs.webkit.org/show_bug.cgi?id=47494
35621
35622         Working on another patch I found that there was some screwy behaviour
35623         when dealing with logs from GL.  GL_INFO_LOG_LENGTH is defined as being
35624         zero if there is no log message, but we did not check for that case and
35625         simply perfomed a zero sized alloc and passed the resultant buffer to
35626         glGetShaderInfoLog, etc.  glGetShaderInfoLog would then write a null
35627         terminator to the buffer, thus causing an overflow.  This is obviously
35628         not a problem in practice as allocations are at least 4 bytes long in
35629         all common allocators, but it is still a bug.
35630
35631         I also removed some unnecessary null checks following calls to fastMalloc.
35632
35633         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35634         (WebCore::GraphicsContext3D::getProgramInfoLog):
35635         (WebCore::GraphicsContext3D::getShaderInfoLog):
35636
35637 2010-10-11  Nikolas Zimmermann  <nzimmermann@rim.com>
35638
35639         Reviewed by Andreas Kling.
35640
35641         Kill Path::debugString()
35642         https://bugs.webkit.org/show_bug.cgi?id=47493
35643
35644         Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way.
35645
35646         * platform/graphics/Path.h:
35647         * platform/graphics/cairo/PathCairo.cpp:
35648         * platform/graphics/cg/PathCG.cpp:
35649         * platform/graphics/haiku/PathHaiku.cpp:
35650         * platform/graphics/openvg/PathOpenVG.cpp:
35651         * platform/graphics/qt/PathQt.cpp:
35652         * platform/graphics/skia/PathSkia.cpp:
35653         * platform/graphics/wince/PathWinCE.cpp:
35654         * platform/graphics/wince/PlatformPathWinCE.cpp:
35655         * platform/graphics/wince/PlatformPathWinCE.h:
35656         * platform/graphics/wx/PathWx.cpp:
35657         * svg/SVGGlyphElement.h:
35658         (WebCore::SVGGlyphIdentifier::operator==):
35659
35660 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
35661
35662         Reviewed by Xan Lopez.
35663
35664         [GTK] Search field icons should be centered vertically in the field
35665         https://bugs.webkit.org/show_bug.cgi?id=47441
35666
35667         Center search field icons vertically in the search field.
35668
35669         * platform/gtk/RenderThemeGtk.cpp:
35670         (WebCore::centerRectVerticallyInParentInputElement): Added this helper.
35671         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search
35672         field icon by adjusting its drawing rect relative to the containing search field.
35673         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
35674
35675 2010-10-11  Pavel Podivilov  <podivilov@chromium.org>
35676
35677         Reviewed by Pavel Feldman.
35678
35679         Web Inspector: fix event listener breakpoints sidebar pane style
35680         https://bugs.webkit.org/show_bug.cgi?id=47487
35681
35682         * inspector/front-end/inspector.css:
35683         (.section .properties, .event-bar .event-properties):
35684         (.section.expanded .properties, .event-bar.expanded .event-properties):
35685         (.properties-tree):
35686         (.properties-tree li):
35687         (.properties-tree li.parent):
35688         (.properties-tree li.parent::before):
35689         (.properties-tree li.parent.expanded::before):
35690         (.properties-tree li .info):
35691         (.properties-tree ol, .stack-trace ol, ol.stack-trace):
35692         (.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
35693         (ol.stack-trace):
35694         (.event-listener-breakpoints .event-category):
35695         (.event-listener-breakpoints.properties-tree .children li):
35696         (.event-listener-breakpoints .checkbox-elem):
35697         (.breakpoint-list .breakpoint-hit):
35698
35699 2010-10-11  Andreas Kling  <kling@webkit.org>
35700
35701         Reviewed by Tor Arne Vestbø.
35702
35703         [Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible
35704
35705         Same concept as <http://trac.webkit.org/changeset/69462>, do nothing
35706         when clearing an already empty QPainterPath. Avoids one delete+new.
35707
35708         * platform/graphics/qt/GraphicsContextQt.cpp:
35709         (WebCore::GraphicsContextPlatformPrivate::clearCurrentPath):
35710         (WebCore::GraphicsContext::fillPath):
35711         (WebCore::GraphicsContext::strokePath):
35712         (WebCore::GraphicsContext::beginPath):
35713
35714 2010-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35715
35716         Unreviewed. Remove unnecessary GTK+ and Pango includes.
35717
35718         * platform/gtk/FileChooserGtk.cpp:
35719         * platform/gtk/Language.cpp:
35720
35721 2010-10-11  Kinuko Yasuda  <kinuko@chromium.org>
35722
35723         Reviewed by David Levin.
35724
35725         Support DirectoryEntry.removeRecursively for FileSystem API
35726         https://bugs.webkit.org/show_bug.cgi?id=47400
35727
35728         Also disallows remove/removeRecursively on the root directory.
35729
35730         Test: fast/filesystem/op-remove.html
35731
35732         * fileapi/DOMFileSystemBase.cpp:
35733         (WebCore::DOMFileSystemBase::removeRecursively): Added.
35734         * fileapi/DOMFileSystemBase.h:
35735         * fileapi/DirectoryEntry.cpp:
35736         (WebCore::DirectoryEntry::removeRecursively): Added.
35737         * fileapi/DirectoryEntry.h:
35738         * fileapi/DirectoryEntry.idl:
35739         * fileapi/DirectoryEntrySync.cpp:
35740         (WebCore::DirectoryEntrySync::removeRecursively): Added.
35741         * fileapi/DirectoryEntrySync.h:
35742         * fileapi/DirectoryEntrySync.idl:
35743         * platform/AsyncFileSystem.h:
35744
35745 2010-10-11  Dirk Schulze  <krit@webkit.org>
35746
35747         Reviewed by Nikolas Zimmermann.
35748
35749         SVG feImage take preserveAspectRatio into account for absolute paint rect
35750         https://bugs.webkit.org/show_bug.cgi?id=47464
35751
35752         Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
35753
35754         * svg/graphics/filters/SVGFEImage.cpp:
35755         (WebCore::FEImage::determineAbsolutePaintRect):
35756         (WebCore::FEImage::apply):
35757         * svg/graphics/filters/SVGFEImage.h:
35758
35759 2010-10-10  Abhishek Arya  <inferno@chromium.org>
35760
35761         Reviewed by Dan Bernstein.
35762
35763         <rdar://problem/8510200> Lines flow around a float that has been removed 
35764
35765         Overhanging floats are not added to flexible boxes since they behave like
35766         block formatting contexts. This causes the intruding floats added in siblings
35767         to not get cleared. Enforce the float release by checking if the parent is a
35768         flexible box and if yes, use that as the outermost block.
35769         
35770         https://bugs.webkit.org/show_bug.cgi?id=47104
35771
35772         Test: fast/flexbox/overhanging-floats-removed.html
35773
35774         * rendering/RenderBox.cpp:
35775         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
35776
35777 2010-10-10  Chris Fleizach  <cfleizach@apple.com>
35778
35779         Reviewed by Beth Dakin.
35780
35781         AX: if aria-live is on a <span> or ignored element, live regions don't work
35782         https://bugs.webkit.org/show_bug.cgi?id=47443
35783
35784         If an element has aria attributes, but has no other native role associated with it,
35785         accessibility should fallback to exposing that element as an AXGroup.
35786
35787         Test: platform/mac/accessibility/live-region-on-span.html
35788
35789         * accessibility/AccessibilityRenderObject.cpp:
35790         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
35791
35792 2010-10-10  Daniel Cheng  <dcheng@chromium.org>
35793
35794         Reviewed by Adam Barth.
35795
35796         [chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain'
35797         https://bugs.webkit.org/show_bug.cgi?id=47419
35798
35799         This was a regression introduced in r68807. mimeTypeText had the incorrect
35800         value.
35801
35802         Test: editing/pasteboard/dataTransfer-setData-getData.html
35803
35804         * platform/chromium/ClipboardMimeTypes.cpp:
35805
35806 2010-10-09  Eric Uhrhane  <ericu@chromium.org>
35807
35808         Reviewed by Andreas Kling.
35809
35810         FileWriter sends write event instead of progress event
35811         https://bugs.webkit.org/show_bug.cgi?id=47454
35812
35813         No new tests; FileWriter tests will be added shortly, but currently
35814         there's no implementation capable of running them.
35815
35816         * fileapi/FileWriter.cpp:
35817         (WebCore::FileWriter::didWrite):
35818
35819 2010-10-09  Andreas Kling  <kling@webkit.org>
35820
35821         Reviewed by Kenneth Rohde Christiansen.
35822
35823         [Qt] Fast-path in Path::clear() for already empty paths
35824         https://bugs.webkit.org/show_bug.cgi?id=47460
35825
35826         The only way to clear a QPainterPath is to assign QPainterPath() to it.
35827         Avoid creating a temporary object etc if the path is already empty.
35828
35829         * platform/graphics/qt/PathQt.cpp:
35830         (WebCore::Path::clear):
35831
35832 2010-10-08  Ryosuke Niwa  <rniwa@webkit.org>
35833
35834         Reviewed by Darin Adler.
35835
35836         Redo in ReplaceNodeWithSpanCommand is broken
35837         https://bugs.webkit.org/show_bug.cgi?id=47428
35838
35839         The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand,
35840         and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply
35841         directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply
35842         only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op.
35843
35844         Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand.
35845         This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation.
35846
35847         Test: editing/undo/replace-by-span-then-remove.html
35848
35849         * editing/ReplaceNodeWithSpanCommand.cpp:
35850         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
35851         * editing/ReplaceNodeWithSpanCommand.h:
35852
35853 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
35854
35855         Reviewed by Martin Robinson.
35856
35857         [GTK] Implement subregion rendering in WebView when using gtk3
35858         https://bugs.webkit.org/show_bug.cgi?id=47411
35859
35860         * GNUmakefile.am:
35861         * platform/graphics/FloatRect.h:
35862         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
35863         (WebCore::FloatRect::FloatRect):
35864         (WebCore::FloatRect::operator cairo_rectangle_t):
35865
35866 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
35867
35868         Reviewed by Martin Robinson.
35869
35870         [GTK] Implement subregion rendering in WebView when using gtk3
35871         https://bugs.webkit.org/show_bug.cgi?id=47411
35872
35873         * GNUmakefile.am:
35874         * platform/graphics/FloatRect.h:
35875         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
35876         (WebCore::FloatRect::FloatRect):
35877         (WebCore::FloatRect::operator cairo_rectangle_t):
35878
35879 2010-10-09  Kwang Yul Seo  <skyul@company100.net>
35880
35881         Reviewed by Andreas Kling.
35882
35883         Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture
35884         https://bugs.webkit.org/show_bug.cgi?id=47114
35885
35886         PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS).
35887
35888         * platform/graphics/skia/PlatformContextSkia.h:
35889
35890 2010-10-09  Patrick Gansterer  <paroga@webkit.org>
35891
35892         Reviewed by Adam Barth.
35893
35894         Use WTF::StringHasher for hashing MappedAttributeKey
35895         https://bugs.webkit.org/show_bug.cgi?id=46516
35896
35897         * dom/StyledElement.cpp:
35898         (WebCore::MappedAttributeHash::hash):
35899
35900 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
35901
35902         Reviewed by Xan Lopez.
35903
35904         [Gtk] Non-rectangular buttons have a square background behind them
35905         https://bugs.webkit.org/show_bug.cgi?id=23569
35906
35907         Remove some code which was clearing pieces of the GdkDrawable if it was
35908         currently mapped to a window. In our case it is unnecessary, because the
35909         platform-independent parts of the render have already cleared this section
35910         if it is needed.
35911
35912         Mozilla must not trip this code path, which means they are probably rendering
35913         most often to a non-mapped GdkPixmap.
35914
35915         No new tests as some themed rendering is covered by existing tests that
35916         render buttons. This particular bug is very hard to test as it only appears
35917         with certain GTK+ themes and we currently have no mechanism to test different
35918         themes in DRT.
35919
35920         * platform/gtk/gtk2drawing.c:
35921         (moz_gtk_button_paint): Remove unnecessary code.
35922
35923 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
35924
35925         Reviewed by Xan Lopez.
35926
35927         [GTK] Slider padding translate into a larger track rect
35928         https://bugs.webkit.org/show_bug.cgi?id=47435
35929
35930         Instead of painting the track rectangle for ranges onto the entire RenderBox
35931         rectangle, simply paint it on the content rectangle. This prevents misrendering
35932         sliders with padding.
35933
35934         * platform/gtk/RenderThemeGtk.cpp:
35935         (WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect
35936         of the slider instead of the entire area (which includes padding).
35937
35938 2010-10-09  Kent Tamura  <tkent@chromium.org>
35939
35940         Unreviewed, trivial regression fix for r69445.
35941
35942         RangeInputType::supportsRequired() should return false.
35943         https://bugs.webkit.org/show_bug.cgi?id=47405
35944
35945         * html/RangeInputType.cpp:
35946         (WebCore::RangeInputType::supportsRequired):
35947         * html/RangeInputType.h:
35948
35949 2010-10-09  Kent Tamura  <tkent@chromium.org>
35950
35951         Reviewed by Dimitri Glazkov.
35952
35953         Refactor HTMLInputElement: Move typeMismatch(), valueMissing(),
35954         isRequiredFormControl(), and recalcWillValidate()
35955         https://bugs.webkit.org/show_bug.cgi?id=47405
35956
35957         Also make checkedRadioButtons() an inline member function of
35958         HTMLInputElement in order that RadioInputType can use it.
35959
35960         * html/BaseDateAndTimeInputType.cpp:
35961         (WebCore::BaseDateAndTimeInputType::typeMismatchFor):
35962         (WebCore::BaseDateAndTimeInputType::typeMismatch):
35963         * html/BaseDateAndTimeInputType.h:
35964         * html/ButtonInputType.cpp:
35965         (WebCore::ButtonInputType::supportsValidation):
35966         * html/ButtonInputType.h:
35967         * html/CheckboxInputType.cpp:
35968         (WebCore::CheckboxInputType::valueMissing):
35969         * html/CheckboxInputType.h:
35970         * html/ColorInputType.cpp:
35971         (WebCore::isValidColorString):
35972         (WebCore::ColorInputType::typeMismatchFor):
35973         (WebCore::ColorInputType::typeMismatch):
35974         (WebCore::ColorInputType::supportsRequired):
35975         * html/ColorInputType.h:
35976         * html/EmailInputType.cpp:
35977         (WebCore::isValidEmailAddress):
35978         (WebCore::EmailInputType::typeMismatchFor):
35979         (WebCore::EmailInputType::typeMismatch):
35980         * html/EmailInputType.h:
35981         * html/FileInputType.cpp:
35982         (WebCore::FileInputType::valueMissing):
35983         * html/FileInputType.h:
35984         * html/HTMLInputElement.cpp:
35985         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
35986         (WebCore::HTMLInputElement::isValidValue):
35987         (WebCore::HTMLInputElement::typeMismatch):
35988         (WebCore::HTMLInputElement::valueMissing):
35989         (WebCore::HTMLInputElement::isKeyboardFocusable):
35990         (WebCore::HTMLInputElement::updateType):
35991         (WebCore::HTMLInputElement::parseMappedAttribute):
35992         (WebCore::HTMLInputElement::setChecked):
35993         (WebCore::HTMLInputElement::preDispatchEventHandler):
35994         (WebCore::HTMLInputElement::isRequiredFormControl):
35995         (WebCore::HTMLInputElement::recalcWillValidate):
35996         * html/HTMLInputElement.h:
35997         (WebCore::HTMLInputElement::checkedRadioButtons):
35998         * html/HiddenInputType.cpp:
35999         (WebCore::HiddenInputType::supportsValidation):
36000         * html/HiddenInputType.h:
36001         * html/ImageInputType.cpp:
36002         (WebCore::ImageInputType::supportsValidation):
36003         * html/ImageInputType.h:
36004         * html/InputType.cpp:
36005         (WebCore::InputType::supportsValidation):
36006         (WebCore::InputType::typeMismatchFor):
36007         (WebCore::InputType::typeMismatch):
36008         (WebCore::InputType::supportsRequired):
36009         (WebCore::InputType::valueMissing):
36010         * html/InputType.h:
36011         * html/IsIndexInputType.cpp:
36012         (WebCore::IsIndexInputType::supportsRequired):
36013         * html/IsIndexInputType.h:
36014         * html/NumberInputType.cpp:
36015         (WebCore::NumberInputType::typeMismatchFor):
36016         (WebCore::NumberInputType::typeMismatch):
36017         * html/NumberInputType.h:
36018         * html/RadioInputType.cpp:
36019         (WebCore::RadioInputType::valueMissing):
36020         * html/RadioInputType.h:
36021         * html/ResetInputType.cpp:
36022         (WebCore::ResetInputType::supportsValidation):
36023         * html/ResetInputType.h:
36024         * html/SubmitInputType.cpp:
36025         (WebCore::SubmitInputType::supportsValidation):
36026         * html/SubmitInputType.h:
36027         * html/TextFieldInputType.cpp:
36028         (WebCore::TextFieldInputType::valueMissing):
36029         * html/TextFieldInputType.h:
36030         * html/URLInputType.cpp:
36031         (WebCore::URLInputType::typeMismatchFor):
36032         (WebCore::URLInputType::typeMismatch):
36033         * html/URLInputType.h:
36034         * html/ValidityState.cpp:
36035         (WebCore::ValidityState::typeMismatch):
36036
36037 2010-10-09  Pratik Solanki  <psolanki@apple.com>
36038
36039         Reviewed by Dan Bernstein.
36040
36041         https://bugs.webkit.org/show_bug.cgi?id=47450
36042         Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil
36043         <rdar://problem/8244376>
36044
36045         * platform/network/cf/SocketStreamHandleCFNet.cpp:
36046         (WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is
36047         NULL, return early to avoid crash.
36048
36049 2010-10-08  Chris Rogers  <crogers@google.com>
36050
36051         Reviewed by James Robinson.
36052
36053         Add HRTFPanner files
36054         https://bugs.webkit.org/show_bug.cgi?id=46299
36055
36056         No new tests since audio API is not yet implemented.
36057
36058         * platform/audio/HRTFPanner.cpp: Added.
36059         (WebCore::HRTFPanner::HRTFPanner):
36060         (WebCore::HRTFPanner::~HRTFPanner):
36061         (WebCore::HRTFPanner::fftSizeForSampleRate):
36062         (WebCore::HRTFPanner::reset):
36063         (WebCore::wrapDistance):
36064         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
36065         (WebCore::HRTFPanner::pan):
36066         * platform/audio/HRTFPanner.h: Added.
36067         (WebCore::HRTFPanner::fftSize):
36068         (WebCore::HRTFPanner::sampleRate):
36069
36070 2010-10-08  James Robinson  <jamesr@chromium.org>
36071
36072         Reviewed by Adam Barth.
36073
36074         Avoid inlining large and/or virtual functions in widely included header files
36075         https://bugs.webkit.org/show_bug.cgi?id=47230
36076
36077         Functions with very large bodies should not be included in widely included header files.
36078         This results in the function's code ending up included in hundreds of object files that
36079         the linker has to discard, at a cost of linker memory use, link time, and disk space. This
36080         is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit
36081         virtual address space and completely fails to link.
36082
36083         This patch moves function definitions from the .h to the corresponding .cpp when the function
36084         is large and not a candidate for inlining either because it is virtual or because its size is
36085         above any reasonable compiler's threshhold for inlining.  The most common case by far in this
36086         patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in
36087         the header and an explicitly defined d'tor in the .cpp.  This is important since many of our
36088         container and utility classes (especially Vector, String, and HashSet) have quite large
36089         destructors.
36090
36091         This patch removes 22.4MB of object file size in a debug 64 bit compile.
36092
36093         * css/CSSBorderImageValue.cpp:
36094         (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
36095         * css/CSSBorderImageValue.h:
36096         * css/CSSFontFaceSrcValue.cpp:
36097         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
36098         * css/CSSFontFaceSrcValue.h:
36099         * css/CSSFunctionValue.h:
36100         * dom/BeforeTextInsertedEvent.cpp:
36101         (WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent):
36102         * dom/BeforeTextInsertedEvent.h:
36103         * dom/BeforeUnloadEvent.cpp:
36104         (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
36105         * dom/BeforeUnloadEvent.h:
36106         * dom/ClassNodeList.h:
36107         * dom/ClipboardEvent.cpp:
36108         (WebCore::ClipboardEvent::~ClipboardEvent):
36109         * dom/ClipboardEvent.h:
36110         * dom/CustomEvent.cpp:
36111         (WebCore::CustomEvent::~CustomEvent):
36112         * dom/CustomEvent.h:
36113         * dom/Element.cpp:
36114         * dom/Element.h:
36115         * dom/EventTarget.cpp:
36116         (WebCore::EventTargetData::EventTargetData):
36117         * dom/EventTarget.h:
36118         * dom/InputElement.cpp:
36119         (WebCore::InputElementData::~InputElementData):
36120         * dom/InputElement.h:
36121         * dom/MutationEvent.cpp:
36122         (WebCore::MutationEvent::~MutationEvent):
36123         * dom/MutationEvent.h:
36124         * dom/Node.cpp:
36125         (WebCore::Node::refEventTarget):
36126         (WebCore::Node::derefEventTarget):
36127         * dom/Node.h:
36128         * dom/OptionElement.cpp:
36129         (WebCore::OptionElementData::~OptionElementData):
36130         * dom/OptionElement.h:
36131         * dom/PopStateEvent.cpp:
36132         (WebCore::PopStateEvent::~PopStateEvent):
36133         * dom/PopStateEvent.h:
36134         * dom/QualifiedName.cpp:
36135         (WebCore::QualifiedName::~QualifiedName):
36136         * dom/QualifiedName.h:
36137         * dom/SelectElement.cpp:
36138         (WebCore::SelectElementData::~SelectElementData):
36139         * dom/SelectElement.h:
36140         * dom/StaticHashSetNodeList.cpp:
36141         (WebCore::StaticHashSetNodeList::StaticHashSetNodeList):
36142         (WebCore::StaticHashSetNodeList::~StaticHashSetNodeList):
36143         * dom/StaticHashSetNodeList.h:
36144         * dom/StyleElement.cpp:
36145         (WebCore::StyleElement::~StyleElement):
36146         * dom/StyleElement.h:
36147         * dom/TouchEvent.cpp:
36148         (WebCore::TouchEvent::TouchEvent):
36149         (WebCore::TouchEvent::~TouchEvent):
36150         * dom/TouchEvent.h:
36151         * editing/CompositeEditCommand.cpp:
36152         (WebCore::CompositeEditCommand::~CompositeEditCommand):
36153         * editing/CompositeEditCommand.h:
36154         * editing/TextIterator.cpp:
36155         (WebCore::BitStack::~BitStack):
36156         (WebCore::TextIterator::~TextIterator):
36157         (WebCore::WordAwareIterator::~WordAwareIterator):
36158         * editing/TextIterator.h:
36159         * inspector/InspectorValues.cpp:
36160         (WebCore::InspectorObject::~InspectorObject):
36161         (WebCore::InspectorObject::InspectorObject):
36162         (WebCore::InspectorArray::~InspectorArray):
36163         (WebCore::InspectorArray::InspectorArray):
36164         * inspector/InspectorValues.h:
36165         * loader/CachedResource.cpp:
36166         (WebCore::CachedResource::registerHandle):
36167         (WebCore::CachedResource::unregisterHandle):
36168         * loader/CachedResource.h:
36169         * platform/network/HTTPHeaderMap.cpp:
36170         (WebCore::HTTPHeaderMap::HTTPHeaderMap):
36171         (WebCore::HTTPHeaderMap::~HTTPHeaderMap):
36172         (WebCore::HTTPHeaderMap::get):
36173         (WebCore::HTTPHeaderMap::add):
36174         * platform/network/HTTPHeaderMap.h:
36175         * rendering/RenderApplet.cpp:
36176         (WebCore::RenderApplet::~RenderApplet):
36177         * rendering/RenderApplet.h:
36178         * rendering/RenderButton.cpp:
36179         (WebCore::RenderButton::~RenderButton):
36180         * rendering/RenderButton.h:
36181         * rendering/RenderCounter.cpp:
36182         (WebCore::RenderCounter::~RenderCounter):
36183         * rendering/RenderCounter.h:
36184         * rendering/RenderFieldset.h:
36185         * rendering/RenderForeignObject.cpp:
36186         (WebCore::RenderForeignObject::~RenderForeignObject):
36187         * rendering/RenderForeignObject.h:
36188         * rendering/RenderFrame.h:
36189         * rendering/RenderFrameBase.h:
36190         * rendering/RenderHTMLCanvas.h:
36191         * rendering/RenderIFrame.h:
36192         * rendering/RenderInline.h:
36193         * rendering/RenderListItem.h:
36194         * rendering/RenderMarquee.cpp:
36195         (WebCore::RenderMarquee::~RenderMarquee):
36196         * rendering/RenderMarquee.h:
36197         * rendering/RenderPath.cpp:
36198         (WebCore::RenderPath::~RenderPath):
36199         * rendering/RenderPath.h:
36200         * rendering/RenderSVGBlock.h:
36201         * rendering/RenderSVGContainer.cpp:
36202         (WebCore::RenderSVGContainer::~RenderSVGContainer):
36203         * rendering/RenderSVGContainer.h:
36204         * rendering/RenderSVGHiddenContainer.h:
36205         * rendering/RenderSVGInline.h:
36206         * rendering/RenderSVGInlineText.cpp:
36207         (WebCore::RenderSVGInlineText::~RenderSVGInlineText):
36208         * rendering/RenderSVGInlineText.h:
36209         * rendering/RenderSVGModelObject.h:
36210         * rendering/RenderSVGResourceFilterPrimitive.h:
36211         * rendering/RenderSVGRoot.cpp:
36212         (WebCore::RenderSVGRoot::~RenderSVGRoot):
36213         * rendering/RenderSVGRoot.h:
36214         * rendering/RenderSVGTSpan.h:
36215         * rendering/RenderSVGText.h:
36216         * rendering/RenderSVGTextPath.h:
36217         * rendering/RenderSVGTransformableContainer.h:
36218         * rendering/RenderSVGViewportContainer.h:
36219         * rendering/RenderTable.cpp:
36220         (WebCore::RenderTable::~RenderTable):
36221         * rendering/RenderTable.h:
36222         * rendering/RenderTableCell.h:
36223         * rendering/RenderTableCol.h:
36224         * rendering/RenderTableRow.h:
36225         * rendering/RenderTextFragment.cpp:
36226         (WebCore::RenderTextFragment::~RenderTextFragment):
36227         * rendering/RenderTextFragment.h:
36228         * rendering/RenderWordBreak.h:
36229         * svg/SVGStyledElement.cpp:
36230         (WebCore::SVGStyledElement::~SVGStyledElement):
36231         * svg/SVGStyledElement.h:
36232         * svg/SVGStyledTransformableElement.cpp:
36233         (WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement):
36234         * svg/SVGStyledTransformableElement.h:
36235         * xml/XPathParser.cpp:
36236         (WebCore::XPath::Parser::~Parser):
36237         * xml/XPathParser.h:
36238
36239 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
36240
36241         Reviewed by Daniel Bates.
36242
36243         [GTK] Fails /LayoutTests/fast/css/button-height.html
36244         https://bugs.webkit.org/show_bug.cgi?id=33936
36245
36246         GTK buttons honor height property set via CSS. The code for the method
36247         adjustButtonStyle originates from the original GTK+ theme drawing code
36248         and is clearly just a copy-paste from the Safari theme drawing code. The
36249         Safari theme drawing code does quite a bit of work to ensure that button
36250         fonts are consistent with the system theme, which is not something the GTK+
36251         port does.
36252
36253         This change brings the method more in line with the Chromium port, which
36254         allows CSS to style buttons, only overriding the line-height property,
36255         which is required for layout tests to pass.
36256
36257         * platform/gtk/RenderThemeGtk.cpp:
36258         (WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS
36259         properties for button styling.
36260
36261 2010-10-08  Mihai Parparita  <mihaip@chromium.org>
36262
36263         Reviewed by Adam Barth.
36264
36265         popstate events are lost when network connection is in progress
36266         https://bugs.webkit.org/show_bug.cgi?id=42940
36267         
36268         Instead of checking FrameLoader::isComplete() (which isn't true if the
36269         document's resource loader has requests outstanding), check that the
36270         document's readyState is complete, as the spec says.
36271
36272         Test: http/tests/history/popstate-fires-with-pending-requests.html
36273
36274         * dom/Document.cpp:
36275         (WebCore::Document::statePopped):
36276         * loader/FrameLoader.cpp:
36277         (WebCore::FrameLoader::didBeginDocument): Added call to set readyState
36278         to Loading earlier. Otherwise, readyState's initial value is Complete,
36279         and we only set it to Loading in Document::implicitOpen (which is called
36280         after FrameLoader::didBeginDocument by DocumentWriter::begin), so we 
36281         could end up in Document::statePopped and have the readyState be
36282         Complete, even if we hadn't even begin loading the document.
36283
36284 2010-10-08  Daniel Cheng  <dcheng@chromium.org>
36285
36286         Reviewed by Tony Chang.
36287
36288         [chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change
36289         https://bugs.webkit.org/show_bug.cgi?id=47394
36290
36291         Minor cleanup--these classes have suffered from bit rot since they aren't
36292         actively used at the moment. The three main changes are to:
36293         1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl,
36294            setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL
36295            title and HTML base URL.
36296         2) Use Clipboard::ClipboardType instead of a bool.
36297         3) Remove the use of virtuals, as they are no longer needed..
36298
36299         * platform/chromium/ReadableDataObject.cpp:
36300         (WebCore::clipboardBuffer):
36301         (WebCore::ReadableDataObject::create):
36302         (WebCore::ReadableDataObject::ReadableDataObject):
36303         (WebCore::ReadableDataObject::getData):
36304         (WebCore::ReadableDataObject::urlTitle): renamed from getURL
36305         (WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML
36306         (WebCore::ReadableDataObject::containsFilenames):
36307         (WebCore::ReadableDataObject::filenames):
36308         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
36309         * platform/chromium/ReadableDataObject.h:
36310         * platform/chromium/WritableDataObject.cpp:
36311         (WebCore::WritableDataObject::create):
36312         (WebCore::WritableDataObject::WritableDataObject):
36313         (WebCore::WritableDataObject::setData):
36314         * platform/chromium/WritableDataObject.h:
36315         (WebCore::WritableDataObject::setUrlTitle): renamed from setURL
36316         (WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML
36317         (WebCore::WritableDataObject::dataMap):
36318         (WebCore::WritableDataObject::urlTitle):
36319         (WebCore::WritableDataObject::htmlBaseURL):
36320         (WebCore::WritableDataObject::fileExtension):
36321         (WebCore::WritableDataObject::fileContentFilename):
36322         (WebCore::WritableDataObject::fileContent):
36323         (WebCore::WritableDataObject::setFileExtension):
36324         (WebCore::WritableDataObject::setFileContentFilename):
36325         (WebCore::WritableDataObject::setFileContent):
36326
36327 2010-10-08  Abhishek Arya  <inferno@chromium.org>
36328
36329         Unreviewed, rolling out r69360.
36330         http://trac.webkit.org/changeset/69360
36331         https://bugs.webkit.org/show_bug.cgi?id=46921
36332
36333         Test still crashing on chromium test_shell
36334
36335         * html/HTMLObjectElement.cpp:
36336         (WebCore::HTMLObjectElement::renderFallbackContent):
36337
36338 2010-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
36339
36340         Unreviewed, rolling out r68574.
36341         http://trac.webkit.org/changeset/68574
36342         https://bugs.webkit.org/show_bug.cgi?id=47433
36343
36344         [chromium] Breaks partial repaint of images while scrolling
36345         (Requested by jamesr on #webkit).
36346
36347         * platform/graphics/skia/ImageSkia.cpp:
36348         (WebCore::computeResamplingMode):
36349         (WebCore::drawResampledBitmap):
36350
36351 2010-10-08  Andy Estes  <aestes@apple.com>
36352
36353         Reviewed by Darin Adler.
36354
36355         REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images.
36356         https://bugs.webkit.org/show_bug.cgi?id=47430
36357
36358         Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html
36359
36360         * rendering/RenderImage.cpp:
36361         (WebCore::RenderImage::imageChanged): imageChanged() can be called prior
36362         to m_imageResource being set. The appropriate thing to do in this case
36363         is to return early.
36364         (WebCore::RenderImage::notifyFinished): Ditto.
36365
36366 2010-10-08  Andrei Popescu  <andreip@google.com>
36367
36368         Reviewed by Jeremy Orlow.
36369
36370         IndexedDB does not have a quota mechanism.
36371         https://bugs.webkit.org/show_bug.cgi?id=47389
36372
36373         Test: storage/indexeddb/database-quota.html
36374
36375         Add a simple mechanism for enforcing a maximum size
36376         for each origin using IndexedDB. Note that this depends
36377         on having one SQLite database file per origin, which is
36378         addressed in a separate patch.
36379
36380         * page/GroupSettings.cpp:
36381         (WebCore::GroupSettings::GroupSettings):
36382         (WebCore::GroupSettings::setIndexedDBQuotaBytes):
36383         * page/GroupSettings.h:
36384         (WebCore::GroupSettings::indexedDBQuotaBytes):
36385         * storage/IDBDatabaseBackendImpl.cpp:
36386         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
36387         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
36388         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
36389         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
36390         * storage/IDBFactory.cpp:
36391         (WebCore::IDBFactory::open):
36392         * storage/IDBFactoryBackendImpl.cpp:
36393         (WebCore::openSQLiteDatabase):
36394         (WebCore::IDBFactoryBackendImpl::open):
36395         * storage/IDBFactoryBackendImpl.h:
36396         * storage/IDBFactoryBackendInterface.h:
36397         * storage/IDBObjectStoreBackendImpl.cpp:
36398         (WebCore::putObjectStoreData):
36399         (WebCore::putIndexData):
36400         (WebCore::IDBObjectStoreBackendImpl::put):
36401         (WebCore::IDBObjectStoreBackendImpl::putInternal):
36402         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
36403         * storage/IDBObjectStoreBackendImpl.h:
36404
36405 2010-10-08  Gavin Peters  <gavinp@chromium.org>
36406
36407         Reviewed by Adam Barth.
36408
36409         Output X-Purpose header for prefetch requests
36410         https://bugs.webkit.org/show_bug.cgi?id=46529
36411
36412         Test: http/tests/misc/prefetch-purpose.html
36413
36414         * loader/loader.cpp:
36415         (WebCore::Loader::Host::servePendingRequests):
36416
36417 2010-10-08  James Kozianski  <koz@chromium.org>
36418
36419         Reviewed by Simon Fraser.
36420
36421         Crash on reload when CSS property 'content' has malformed URL.
36422         https://bugs.webkit.org/show_bug.cgi?id=47322
36423
36424         Make CSSStyleSelector handle the case where a cached image can't be
36425         produced due to a malformed URL.
36426
36427         Test: fast/css-generated-content/malformed-url.html
36428
36429         * css/CSSStyleSelector.cpp:
36430         (WebCore::CSSStyleSelector::loadPendingImages):
36431
36432 2010-10-08  Dirk Schulze  <krit@webkit.org>
36433
36434         Reviewed by Nikolas Zimmermann.
36435
36436         SVG feImage needs absolute subregion for preserveAspectRatio
36437         https://bugs.webkit.org/show_bug.cgi?id=47409
36438
36439         PreserverAspectRatio needs the subregion in absolute coordinates to determine
36440         the destination position and size of the input image. The maxEffectRect() already
36441         stores the absolute subregion, but clipped to the filter region.
36442
36443         Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg
36444
36445         * platform/graphics/filters/FETile.cpp:
36446         (WebCore::FETile::apply):
36447         * platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage.
36448         (WebCore::FilterEffect::filterEffectType):
36449         * platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect
36450         (WebCore::SourceAlpha::filterEffectType):
36451         * platform/graphics/filters/SourceGraphic.h: Ditto.
36452         (WebCore::SourceGraphic::filterEffectType):
36453         * svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image.
36454         (WebCore::FEImage::apply):
36455         * svg/graphics/filters/SVGFEImage.h: Ditto.
36456         (WebCore::FEImage::setAbsoluteSubregion):
36457         (WebCore::FEImage::filterEffectType):
36458         * svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it.
36459         (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
36460
36461 2010-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
36462
36463         Reviewed by Dirk Schulze.
36464
36465         gradient stroke on lines does not work
36466         https://bugs.webkit.org/show_bug.cgi?id=40985
36467
36468         Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition.
36469         Perfectly matches Opera, and now lets us pass three of the new tests.
36470
36471         Fix incorrect svg/custom/invalid-fill* tests:
36472         -> If there's an invalid fill URI, but no fallback specified, it is as if fill="black" was specified. (invalid-fill.svg)
36473         -> If there's an invalid fill color, but no fallback specified, it is as if fill="none" was specified. (invalid-fill-hex.svg)
36474
36475         Needed to refactor some of the gradient/pattern code to properly handle fallback paint servers.
36476         As side effect, we're allowing gradients with gradientUnits="userSpaceOnUse" to apply on 1d objects (lines) again, per SVG 1.1 2nd edition.
36477
36478         Tests: svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
36479                svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
36480                svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg
36481
36482         * rendering/RenderSVGResource.cpp: Rewrite fill/stroke paint resource requests, share all code between the similar functions.
36483         (WebCore::requestPaintingResource):
36484         (WebCore::RenderSVGResource::fillPaintingResource):
36485         (WebCore::RenderSVGResource::strokePaintingResource):
36486         * rendering/RenderSVGResource.h:
36487         * rendering/RenderSVGResourceGradient.cpp: Split collecting gradient properties from building the gradient. We don't need to build it, if it's not applyable (eg. on 1d lines).
36488         (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
36489         (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
36490         (WebCore::clipToTextMask):
36491         (WebCore::RenderSVGResourceGradient::applyResource):
36492         * rendering/RenderSVGResourceGradient.h: Stop storing boundingBoxMode & gradientTransform in each GradientData object, it's enough to just store it in the gradient resource, once.
36493         * rendering/RenderSVGResourceLinearGradient.cpp:
36494         (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes): Splitted from buildGradient.
36495         (WebCore::RenderSVGResourceLinearGradient::buildGradient):
36496         * rendering/RenderSVGResourceLinearGradient.h:
36497         (WebCore::RenderSVGResourceLinearGradient::boundingBoxMode): Return bounding box mode information, from m_attributes instead of storing in gradientData.
36498         (WebCore::RenderSVGResourceLinearGradient::calculateGradientTransform): Ditto.
36499         * rendering/RenderSVGResourcePattern.cpp: Split collecting pattern properties from building the pattern. We don't need to build it, if it's not applyable (eg. on 1d lines).
36500         (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
36501         (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
36502         (WebCore::RenderSVGResourcePattern::applyResource):
36503         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
36504         * rendering/RenderSVGResourcePattern.h:
36505         * rendering/RenderSVGResourceRadialGradient.cpp:
36506         (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
36507         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
36508         * rendering/RenderSVGResourceRadialGradient.h:
36509         (WebCore::RenderSVGResourceRadialGradient::boundingBoxMode):
36510         (WebCore::RenderSVGResourceRadialGradient::calculateGradientTransform):
36511         * rendering/SVGRenderTreeAsText.cpp: Adapt to change, that fill/strokePaintingResource now take a Color& fallbackColor parameter.
36512         (WebCore::writeStyle):
36513         (WebCore::writeSVGResourceContainer):
36514         * rendering/svg/RenderSVGPath.cpp: 
36515         (WebCore::RenderSVGPath::fillContains): Ditto.
36516         (WebCore::RenderSVGPath::strokeContains): Ditto.
36517         (WebCore::RenderSVGPath::fillAndStrokePath): Properly handle fallback color, if an existing (!) paint server failed to apply.
36518         * rendering/svg/SVGInlineTextBox.cpp:
36519         (WebCore::SVGInlineTextBox::acquirePaintingResource): Ditto.
36520         * svg/SVGLinearGradientElement.cpp:
36521         (WebCore::SVGLinearGradientElement::collectGradientAttributes): Pass LinearGradientAttributes by reference, instead of returning a copy.
36522         * svg/SVGLinearGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
36523         * svg/SVGPatternElement.cpp:
36524         (WebCore::SVGPatternElement::collectPatternAttributes): Pass PatternAttributes by reference, instead of returning.
36525         * svg/SVGPatternElement.h: Rename collectPatternProperties to collectPatternAttributes.
36526         * svg/SVGRadialGradientElement.cpp:
36527         (WebCore::SVGRadialGradientElement::collectGradientAttributes): Pass RadialGradientAttributes by reference, instead of returning a copy.
36528         * svg/SVGRadialGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
36529
36530 2010-10-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
36531
36532         Reviewed by Andreas Kling.
36533
36534         [Qt] Slider widgets looks bad on Mac
36535         https://bugs.webkit.org/show_bug.cgi?id=47421
36536
36537         This patch change the rendering of the slider to only have the
36538         subcontrols that would be defined by default on a QSlider.
36539
36540         * platform/qt/RenderThemeQt.cpp:
36541         (WebCore::RenderThemeQt::paintSliderTrack):
36542
36543 2010-10-08  Renata Hodovan  <reni@inf.u-szeged.hu>
36544
36545         Reviewed by Andreas Kling.
36546
36547         SVGFEColorMatrixElement doesn't support dynamic invalidation, when attributes change.
36548         https://bugs.webkit.org/show_bug.cgi?id=47342
36549
36550         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
36551
36552         Tests: svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html
36553                svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html
36554                svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html
36555                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html
36556                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html
36557                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html
36558
36559         * svg/SVGFEColorMatrixElement.cpp:
36560         (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
36561         * svg/SVGFEColorMatrixElement.h:
36562
36563 2010-10-08  Pavel Podivilov  <podivilov@chromium.org>
36564
36565         Reviewed by Pavel Feldman.
36566
36567         Web Inspector: save InspectorController in instrumentation cookie
36568         https://bugs.webkit.org/show_bug.cgi?id=47406
36569
36570         * bindings/v8/V8Proxy.cpp:
36571         (WebCore::V8Proxy::evaluate):
36572         (WebCore::V8Proxy::callFunction):
36573         * dom/Document.cpp:
36574         (WebCore::Document::recalcStyle):
36575         * dom/Node.cpp:
36576         (WebCore::Node::dispatchGenericEvent):
36577         * html/parser/HTMLDocumentParser.cpp:
36578         (WebCore::HTMLDocumentParser::pumpTokenizer):
36579         * inspector/InspectorInstrumentation.cpp:
36580         * inspector/InspectorInstrumentation.h:
36581         * loader/ResourceLoader.cpp:
36582         (WebCore::ResourceLoader::didReceiveResponse):
36583         (WebCore::ResourceLoader::didReceiveData):
36584         * page/DOMTimer.cpp:
36585         (WebCore::DOMTimer::fired):
36586         * page/DOMWindow.cpp:
36587         (WebCore::DOMWindow::dispatchEvent):
36588         * page/FrameView.cpp:
36589         (WebCore::FrameView::layout):
36590         (WebCore::FrameView::paintContents):
36591         * rendering/RenderLayerBacking.cpp:
36592         (WebCore::RenderLayerBacking::paintContents):
36593         * xml/XMLHttpRequest.cpp:
36594         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
36595
36596 2010-10-08  Adam Roben  <aroben@apple.com>
36597
36598         Windows Release build fix for 32-bit systems
36599
36600         WebCore had once again grown too large for the linker's virtual
36601         address space on 32-bit systems. I combined WebCore/rendering,
36602         WebCore/rendering/style, and WebCore/dom into new *AllInOne.cpp files,
36603         and added a few more files to RenderSVGAllInOne.cpp.
36604
36605         Fixes <http://webkit.org/b/47417> <rdar://problem/8529362>
36606
36607         * WebCore.vcproj/WebCore.vcproj: Added new *AllInOne.cpp files and
36608         excluded the individual files they contain from the build.
36609
36610         * rendering/RenderSVGAllInOne.cpp: Added a few more files to this.
36611
36612         * dom/DOMAllInOne.cpp: Added.
36613         * rendering/RenderingAllInOne.cpp: Added.
36614         * rendering/style/StyleAllInOne.cpp: Added.
36615
36616 2010-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
36617
36618         Reviewed by Andreas Kling.
36619
36620         [Qt] Use constBegin and constEnd when using const iterators
36621
36622         * platform/graphics/qt/GraphicsLayerQt.cpp:
36623         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
36624         (WebCore::GraphicsLayerQtImpl::updateTransform):
36625         (WebCore::GraphicsLayerQtImpl::flushChanges):
36626
36627 2010-10-07  Pavel Feldman  <pfeldman@chromium.org>
36628
36629         Reviewed by Yury Semikhatsky.
36630
36631         Web Inspector: add resource viewer to the network panel.
36632         https://bugs.webkit.org/show_bug.cgi?id=47346
36633
36634         * inspector/front-end/DataGrid.js:
36635         (WebInspector.DataGrid):
36636         (WebInspector.DataGrid.prototype.autoSizeColumns):
36637         (WebInspector.DataGrid.prototype.updateWidths):
36638         (WebInspector.DataGrid.prototype.columnWidthsMap):
36639         (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
36640         (WebInspector.DataGrid.prototype.isColumnVisible):
36641         (WebInspector.DataGrid.prototype.showColumn):
36642         (WebInspector.DataGrid.prototype.hideColumn):
36643         (WebInspector.DataGrid.prototype._positionResizers):
36644         (WebInspector.DataGrid.prototype._resizerDragging):
36645         * inspector/front-end/NetworkPanel.js:
36646         (WebInspector.NetworkPanel):
36647         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
36648         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
36649         (WebInspector.NetworkPanel.prototype.handleShortcut):
36650         (WebInspector.NetworkPanel.prototype._createTable):
36651         (WebInspector.NetworkPanel.prototype._sortItems):
36652         (WebInspector.NetworkPanel.prototype._sortByTimeline):
36653         (WebInspector.NetworkPanel.prototype._createSummaryBar):
36654         (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
36655         (WebInspector.NetworkPanel.prototype.hide):
36656         (WebInspector.NetworkPanel.prototype.get searchableViews):
36657         (WebInspector.NetworkPanel.prototype.refresh):
36658         (WebInspector.NetworkPanel.prototype.reset):
36659         (WebInspector.NetworkPanel.prototype.refreshResource):
36660         (WebInspector.NetworkPanel.prototype.canShowSourceLine):
36661         (WebInspector.NetworkPanel.prototype.showSourceLine):
36662         (WebInspector.NetworkPanel.prototype._showResource):
36663         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
36664         (WebInspector.NetworkPanel.prototype._resourceViewForResource):
36665         (WebInspector.NetworkPanel.prototype._resourceViewTypeMatchesResource):
36666         (WebInspector.NetworkPanel.prototype._toggleGridMode):
36667         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
36668         (WebInspector.NetworkDataGridNode):
36669         (WebInspector.NetworkDataGridNode.prototype.select):
36670         (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
36671         * inspector/front-end/networkPanel.css:
36672         (#network-container):
36673         (#network-views):
36674         (.network.panel .data-grid.full-grid-mode .viewer-column):
36675         (.network.panel .data-grid.brief-grid-mode .time-column):
36676         (.network.panel.viewing-resource .network-timeline-grid):
36677         (.network.panel .data-grid.viewing-resource-mode .timeline-column):
36678         (.network.panel .network-sidebar):
36679         (.network.panel:not(.viewing-resource) .sidebar-resizer-vertical):
36680         (.network.panel.viewing-resource .data-grid-resizer):
36681         (.network.panel .scope-bar):
36682         (.network.panel .resource-view.headers-visible .resource-view-content):
36683         (.network.panel:not(.viewing-resource) .data-grid tr.selected):
36684
36685 2010-10-08  Andreas Kling  <kling@webkit.org>
36686
36687         Reviewed by Nikolas Zimmermann.
36688
36689         SVGTextLayoutAttributesBuilder: "XValue" and "YValue" clash with X11 macros
36690         https://bugs.webkit.org/show_bug.cgi?id=47180
36691
36692         Rename *Value to *ValueAttribute
36693
36694         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
36695         (WebCore::SVGTextLayoutAttributesBuilder::nextLayoutValue):
36696         (WebCore::SVGTextLayoutAttributesBuilder::assignLayoutAttributesForCharacter):
36697         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
36698
36699 2010-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
36700
36701         Reviewed by Kenneth Rohde Christiansen.
36702
36703         [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
36704         https://bugs.webkit.org/show_bug.cgi?id=47347
36705
36706         * WebCore.pro:
36707
36708 2010-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36709
36710         Reviewed by Kenneth Rohde Christiansen.
36711
36712         [EFL] Implement IntRectEfl.cpp
36713         https://bugs.webkit.org/show_bug.cgi?id=47403
36714
36715         Implement IntRect for Efl Port using Eina_Rectangle.
36716
36717         * platform/graphics/IntRect.h:
36718         * platform/graphics/efl/IntRectEfl.cpp:
36719         (WebCore::IntRect::IntRect):
36720         (WebCore::IntRect::operator Eina_Rectangle):
36721
36722 2010-10-08  Andreas Kling  <andreas.kling@nokia.com>
36723
36724         Reviewed by Nikolas Zimmermann.
36725
36726         SVG: Make RenderPath DRT output platform-independent
36727         https://bugs.webkit.org/show_bug.cgi?id=46051
36728
36729         Move away from using the port-specific Path::debugString() to dump
36730         RenderPath objects. This shrinks the DRT output delta between platforms
36731         and makes it more readable as we now dump only the relevant,
36732         element-specific properties of each object.
36733
36734         * rendering/SVGRenderTreeAsText.cpp:
36735         (WebCore::operator<<):
36736         Generate DRT output for RenderPaths in a platform-independent manner,
36737         dumping the relevant element properties.
36738
36739 2010-10-08  Kinuko Yasuda  <kinuko@chromium.org>
36740
36741         Reviewed by David Levin.
36742
36743         Fix FileSystem path validation order to normalize '..' and '.' before restriction checks
36744         https://bugs.webkit.org/show_bug.cgi?id=47309
36745
36746         Test: fast/filesystem/op-get-entry.html
36747
36748         * fileapi/DOMFileSystemBase.cpp:
36749         (WebCore::DOMFileSystemBase::getFile): Fixed the path validation order.
36750         (WebCore::DOMFileSystemBase::getDirectory): Fixed the path validation order.
36751
36752 2010-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
36753
36754         Reviewed by Xan Lopez.
36755
36756         [GTK] Port GTK+ theming code to GTK+ 3.x APIs
36757         https://bugs.webkit.org/show_bug.cgi?id=47398
36758
36759         Create a new gtk3drawing file for the widget drawing primitives in
36760         WebKit, using the GTK+ 3.x APIs. It's very similar to the GTK+ 2.x
36761         code at the moment, but we'll evolve it incrementally from here.
36762
36763         * GNUmakefile.am:
36764         * platform/gtk/RenderThemeGtk.cpp:
36765         (WebCore::RenderThemeGtk::partsForDrawable):
36766         (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
36767         * platform/gtk/gtk2drawing.c:
36768         (TSOffsetStyleGCArray):
36769         (TSOffsetStyleGCs):
36770         (moz_gtk_button_paint):
36771         (moz_gtk_scrollbar_thumb_paint):
36772         (moz_gtk_entry_paint):
36773         (moz_gtk_combo_box_paint):
36774         (moz_gtk_get_widget_border):
36775         * platform/gtk/gtk3drawing.c: Added.
36776         * platform/gtk/gtkdrawing.h:
36777
36778 2010-10-07  Daniel Cheng  <dcheng@chromium.org>
36779
36780         Reviewed by Kent Tamura.
36781
36782         [chromium] Fix indentation in ChromiumDataObject.h 
36783         https://bugs.webkit.org/show_bug.cgi?id=47396
36784
36785         Just a cleanup patch to make followup diffs smaller.
36786
36787         * platform/chromium/ChromiumDataObject.h:
36788         (WebCore::ChromiumDataObject::create):
36789         (WebCore::ChromiumDataObject::copy):
36790         (WebCore::ChromiumDataObject::urlTitle):
36791         (WebCore::ChromiumDataObject::setUrlTitle):
36792         (WebCore::ChromiumDataObject::htmlBaseUrl):
36793         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
36794         (WebCore::ChromiumDataObject::containsFilenames):
36795         (WebCore::ChromiumDataObject::filenames):
36796         (WebCore::ChromiumDataObject::setFilenames):
36797         (WebCore::ChromiumDataObject::fileExtension):
36798         (WebCore::ChromiumDataObject::setFileExtension):
36799         (WebCore::ChromiumDataObject::fileContentFilename):
36800         (WebCore::ChromiumDataObject::setFileContentFilename):
36801         (WebCore::ChromiumDataObject::fileContent):
36802         (WebCore::ChromiumDataObject::setFileContent):
36803
36804 2010-10-07  Kent Tamura  <tkent@chromium.org>
36805
36806         Reviewed by Dimitri Glazkov.
36807
36808         Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations
36809         https://bugs.webkit.org/show_bug.cgi?id=47327
36810
36811         Move the content of HTMLInputElement::valueAsDate(), setValueAsDate(),
36812         valueAsNumber(), and setValueAsNumber() to InputType, and move
36813         serialize() and serializeForDateTimeTypes() too
36814
36815         * html/BaseDateAndTimeInputType.cpp:
36816         (WebCore::BaseDateAndTimeInputType::valueAsDate):
36817         (WebCore::BaseDateAndTimeInputType::setValueAsDate):
36818         (WebCore::BaseDateAndTimeInputType::valueAsNumber):
36819         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
36820         (WebCore::BaseDateAndTimeInputType::serialize):
36821         * html/BaseDateAndTimeInputType.h:
36822         * html/DateInputType.cpp:
36823         (WebCore::DateInputType::setMillisecondToDateComponents):
36824         * html/DateInputType.h:
36825         * html/DateTimeInputType.cpp:
36826         (WebCore::DateTimeInputType::setMillisecondToDateComponents):
36827         * html/DateTimeInputType.h:
36828         * html/DateTimeLocalInputType.cpp:
36829         (WebCore::DateTimeLocalInputType::valueAsDate):
36830         (WebCore::DateTimeLocalInputType::setValueAsDate):
36831         (WebCore::DateTimeLocalInputType::setMillisecondToDateComponents):
36832         * html/DateTimeLocalInputType.h:
36833         * html/HTMLInputElement.cpp:
36834         (WebCore::HTMLInputElement::valueAsDate):
36835         (WebCore::HTMLInputElement::setValueAsDate):
36836         (WebCore::HTMLInputElement::valueAsNumber):
36837         (WebCore::HTMLInputElement::setValueAsNumber):
36838         (WebCore::HTMLInputElement::stepUpFromRenderer):
36839         * html/HTMLInputElement.h:
36840         * html/InputType.cpp:
36841         (WebCore::InputType::valueAsDate):
36842         (WebCore::InputType::setValueAsDate):
36843         (WebCore::InputType::valueAsNumber):
36844         (WebCore::InputType::setValueAsNumber):
36845         (WebCore::InputType::serialize):
36846         * html/InputType.h:
36847         * html/MonthInputType.cpp:
36848         (WebCore::MonthInputType::valueAsDate):
36849         (WebCore::MonthInputType::setValueAsDate):
36850         (WebCore::MonthInputType::setMillisecondToDateComponents):
36851         * html/MonthInputType.h:
36852         * html/NumberInputType.cpp:
36853         (WebCore::NumberInputType::valueAsNumber):
36854         (WebCore::NumberInputType::setValueAsNumber):
36855         (WebCore::NumberInputType::serialize):
36856         * html/NumberInputType.h:
36857         * html/RangeInputType.cpp:
36858         (WebCore::RangeInputType::valueAsNumber):
36859         (WebCore::RangeInputType::setValueAsNumber):
36860         (WebCore::RangeInputType::serialize):
36861         * html/RangeInputType.h:
36862         * html/TimeInputType.cpp:
36863         (WebCore::TimeInputType::setMillisecondToDateComponents):
36864         * html/TimeInputType.h:
36865         * html/WeekInputType.cpp:
36866         (WebCore::WeekInputType::setMillisecondToDateComponents):
36867         * html/WeekInputType.h:
36868
36869 2010-10-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
36870
36871         Reviewed by Kenneth Rohde Christiansen.
36872
36873         [Texmap] [Qt] Texture mapper initial implementation
36874         Texture Mapper is an implementation of accelerated compositing that doesn't require a
36875         platform specific scenegraph library like CA or QGraphicsView. The idea is that with
36876         time this would replace GraphicsLayerQt, and could serve as an implementation for other
36877         platforms that don't have a scenegraph library. The first stage of this is to add all the code to trunk,
36878         and enable it in Qt with an opt-in build flag so that it can be easily tested. Once it reaches
36879         an adequate level of stability, we can enable it by default and eventually have it replace GraphicsLayerQt.
36880
36881         This change includes only the common new files and the Qt backend; Still to come: the GL backend and integration layer.
36882
36883         * platform/graphics/qt/TextureMapperQt.cpp: Added.
36884         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added.
36885         * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added.
36886         * platform/graphics/texmap/TextureMapper.h: Added.
36887         * platform/graphics/texmap/TextureMapperPlatformLayer.h: Added.
36888
36889 2010-10-07  Antonio Gomes  <agomes@rim.com>
36890
36891         Reviewed by Simon Fraser.
36892
36893         [Mac] [DRT] implement setSpatialNavigationEnabled
36894         https://bugs.webkit.org/show_bug.cgi?id=47291
36895
36896         Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in
36897         so it can be used from WebKit/mac.
36898
36899         * WebCore.exp.in:
36900
36901 2010-10-07  Eric Uhrhane  <ericu@chromium.org>
36902
36903         Reviewed by Jian Li
36904
36905         [V8] Add FileWriter to active DOM map
36906         https://bugs.webkit.org/show_bug.cgi?id=47380
36907
36908         It's an ActiveDOMObject; it needs to be in the map.
36909
36910         * bindings/scripts/CodeGeneratorV8.pm:
36911
36912 2010-10-07  Nico Weber  <thakis@chromium.org>
36913
36914         Reviewed by James Robinson.
36915
36916         [chromium] Make sure to update the current graphics context when calling out to AppKit.
36917         https://bugs.webkit.org/show_bug.cgi?id=47387
36918
36919         This ports r57741 to ThemeChromiumMac. It also reverts r66975, which is
36920         now no longer necessary.
36921
36922         Should be covered by existing tests. The checkbox at
36923         http://webkit.org/blog-files/3d-transforms/morphing-cubes.html should
36924         now show up correctly.
36925
36926         * platform/chromium/ThemeChromiumMac.mm:
36927         (WebCore::paintCheckbox):
36928         (WebCore::paintRadio):
36929         Create current context.
36930         * platform/graphics/chromium/ContentLayerChromium.cpp:
36931         (WebCore::ContentLayerChromium::updateContents):
36932         Remove LocalCurrentContext, it's now no longer necessary.
36933
36934 2010-10-07  Cris Neckar  <cdn@chromium.org>
36935
36936         Reviewed by Adam Barth.
36937
36938         Postpone clearing the imageLoader when rendering certain fallback content for objects until after the attach().
36939         https://bugs.webkit.org/show_bug.cgi?id=46921
36940
36941         Test: fast/html/object-image-nested-fallback.html
36942
36943         * html/HTMLObjectElement.cpp:
36944         (WebCore::HTMLObjectElement::renderFallbackContent):
36945
36946 2010-10-07  Rafael Antognolli  <antognolli@profusion.mobi>
36947
36948         Reviewed by Kenneth Rohde Christiansen.
36949
36950         [EFL] Fix shared timers on EFL port - make them thread safe.
36951         https://bugs.webkit.org/show_bug.cgi?id=47383
36952
36953         Using ecore_timer_add to create a timer from a thread that is
36954         not the main thread isn't safe. Now we add a pipe that is used
36955         to request a timer to be added in the main thread.
36956
36957         In order to reduce some delay on timers that are added with a
36958         very small interval, the timer callback is called immediately
36959         if the interval is smaller than the mainloop frame time.
36960
36961         No new features, so no tests added.
36962
36963         * platform/efl/SharedTimerEfl.cpp:
36964         (WebCore::setSharedTimerFiredFunction):
36965         (WebCore::timerEvent):
36966         (WebCore::processTimers):
36967         (WebCore::pipeHandlerCb):
36968         (WebCore::stopSharedTimer):
36969         (WebCore::addNewTimer):
36970         (WebCore::setSharedTimerFireTime):
36971
36972 2010-10-07  James Kozianski  <koz@chromium.org>
36973
36974         Reviewed by Adam Barth.
36975
36976         getPropertyValue('border') is incorrect after border-top-width is set
36977         https://bugs.webkit.org/show_bug.cgi?id=45949
36978
36979         Test: fast/dom/css-shorthand-common-value.html
36980
36981         CSSMutableStyleDeclaration::getCommonValue() was ignoring values from
36982         properties that were implicitly set, which led to erroneous results
36983         from getPropertyValue().
36984
36985         * css/CSSMutableStyleDeclaration.cpp:
36986         (WebCore::CSSMutableStyleDeclaration::getCommonValue):
36987
36988 2010-10-07  Ryosuke Niwa  <rniwa@webkit.org>
36989
36990         Reviewed by Tony Chang.
36991
36992         REGRESSION: Indenting pre duplicates content
36993         https://bugs.webkit.org/show_bug.cgi?id=47233
36994
36995         The bug was caused by our not splitting text nodes properly.
36996
36997         In new approach, we split text nodes in each iteration. Added rangeForParagraphSplitingTextNodesIfNeeded
36998         to split text nodes at the start and at the end of paragraph, which also adjusts start and end positions
36999         for moveParagraphWithClones. Added endOfNextParagrahSplittingTextNodesIfNeeded to adjust endOfNextParagraph,
37000         start, and end to work-around moveParagraphWithClones's removing a line feed.
37001
37002         Tests: editing/execCommand/indent-pre-list.html
37003                editing/execCommand/indent-pre-paragraphs.html
37004
37005         * editing/ApplyBlockElementCommand.cpp:
37006         (WebCore::ApplyBlockElementCommand::formatSelection): See above.
37007         (WebCore::isNewLineAtPosition):
37008         (WebCore::renderStyleOfEnclosingTextNode): Added.
37009         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Added.
37010         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Added.
37011         * editing/ApplyBlockElementCommand.h:
37012         * editing/FormatBlockCommand.cpp:
37013         (WebCore::FormatBlockCommand::formatRange): Takes two Positions instead of one VisiblePosition.
37014         * editing/FormatBlockCommand.h:
37015         * editing/IndentOutdentCommand.cpp:
37016         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Ditto.
37017         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Ditto.
37018         (WebCore::IndentOutdentCommand::formatRange): Ditto.
37019         * editing/IndentOutdentCommand.h:
37020
37021 2010-10-07  Jian Li  <jianli@chromium.org>
37022
37023         Reviewed by Adam Barth.
37024
37025         Support generating a FormData object based on the data in an existing <form>.
37026         https://bugs.webkit.org/show_bug.cgi?id=45929
37027
37028         Test: http/tests/local/formdata/send-form-data-constructed-from-form.html
37029
37030         * bindings/js/JSDOMFormDataCustom.cpp:
37031         (WebCore::toHTMLFormElement):
37032         (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
37033         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
37034         (WebCore::V8DOMFormData::constructorCallback):
37035         * html/DOMFormData.cpp:
37036         (WebCore::DOMFormData::DOMFormData):
37037         * html/DOMFormData.h:
37038         (WebCore::DOMFormData::create):
37039         * html/DOMFormData.idl:
37040
37041 2010-10-07  Abhishek Arya  <inferno@chromium.org>
37042
37043         Reviewed by Dave Hyatt.
37044
37045         Set the m_selectedChildren flag on the root inline box if one of the leaf 
37046         inline box from the bidi runs walk has a selection state. Remove the flag
37047         setting logic from addToLine, since line boxes created in createLinesBoxes
37048         should not be propagating selection state to root inline box.
37049         https://bugs.webkit.org/show_bug.cgi?id=47201
37050
37051         Test: editing/selection/root-inlinebox-selected-children-crash.html
37052
37053         * rendering/InlineFlowBox.cpp:
37054         (WebCore::InlineFlowBox::addToLine):
37055         * rendering/RenderBlockLineLayout.cpp:
37056         (WebCore::RenderBlock::constructLine):
37057
37058 2010-10-07  Benjamin Otte  <otte@gnome.org>
37059
37060         Reviewed by Martin Robinson.
37061
37062         [GTK] Code cleanup in PluginViewGtk.cpp for transparent plugins
37063         https://bugs.webkit.org/show_bug.cgi?id=47361
37064
37065         Reduce some code in PluginViewGtk.cpp by doing things with Cairo instead
37066         of directly with X11. This should work fine with GDK double-buffering, but
37067         if we ever disable it, we'll need to verify that this is still functioning
37068         properly.
37069
37070         * plugins/gtk/PluginViewGtk.cpp:
37071         (WebCore::PluginView::paint): Do a bit of code cleanup.
37072
37073 2010-10-07  Anders Carlsson  <andersca@apple.com>
37074
37075         Reviewed by Sam Weinig.
37076
37077         Add a WKPageFindClient, hook up WKPageCountStringMatches
37078         https://bugs.webkit.org/show_bug.cgi?id=47373
37079
37080         Export find related symbols needed by WebKit2.
37081
37082         * WebCore.exp.in:
37083
37084 2010-10-07  David Hyatt  <hyatt@apple.com>
37085
37086         Reviewed by Sam Weinig.
37087
37088         https://bugs.webkit.org/show_bug.cgi?id=47370
37089         
37090         Make line box placement in the inline direction writing-mode-aware.  Lines now set their y-position instead of x-position
37091         when vertical.
37092         
37093         Refactored shadow overflow to give text-shadow the same helpers in RenderStyle that box-shadow has so that the shadow-walking loop in
37094         placeBoxesInInlineDirection can be replaced with the helper.
37095
37096         Overflow had to be patched to be writing-mode-aware so that the correct physical directions would be set for vertical line
37097         boxes.
37098
37099         Vertical lines are still not testable until they can be placed in the block direction.  Then the render tree dumps
37100         become meaningful (even if the pixel results look horrible).
37101
37102         * rendering/InlineBox.h:
37103         (WebCore::InlineBox::logicalRight):
37104         * rendering/InlineFlowBox.cpp:
37105         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
37106         * rendering/InlineFlowBox.h:
37107         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
37108         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
37109         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
37110         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
37111         (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
37112         * rendering/RenderBlockLineLayout.cpp:
37113         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
37114         * rendering/style/RenderStyle.cpp:
37115         (WebCore::RenderStyle::getShadowExtent):
37116         (WebCore::RenderStyle::getShadowHorizontalExtent):
37117         (WebCore::RenderStyle::getShadowVerticalExtent):
37118         * rendering/style/RenderStyle.h:
37119         (WebCore::InheritedFlags::getTextShadowExtent):
37120         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
37121         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
37122         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
37123         (WebCore::InheritedFlags::getBoxShadowExtent):
37124         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
37125         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
37126         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
37127         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
37128
37129 2010-10-07  Dan Bernstein  <mitz@apple.com>
37130
37131         Reviewed by Simon Fraser.
37132
37133         <rdar://problem/8142645> REGRESSION (r47440): Printing Mail messages with large fonts does not fill page
37134         https://bugs.webkit.org/show_bug.cgi?id=47374
37135
37136         In the legacy (paint-time pagination) printing model, when there are overlapping lines,
37137         adjustPageHeightDeprecated() was not idempotent, since the truncation point imposed by line n,
37138         namely the top of line n, was above the bottom of line n-1, so in the next round, line n-1
37139         moved the truncation point up again.
37140
37141         * rendering/RenderLineBoxList.cpp:
37142         (WebCore::RenderLineBoxList::paint): Consider the top of the next line when deciding if the
37143         current line extends below the truncation point.
37144
37145 2010-10-07  Simon Fraser  <simon.fraser@apple.com>
37146
37147         Reviewed by Beth Dakin.
37148
37149         Use isIdentityOrTranslationOrFlipped() in scrollbar code
37150         https://bugs.webkit.org/show_bug.cgi?id=47378
37151
37152         Replace old code that looked at values in the CGAffineTransform
37153         with nicely named method that does the same test.
37154
37155         * platform/mac/ScrollbarThemeMac.mm:
37156         (WebCore::ScrollbarThemeMac::paint):
37157
37158 2010-10-07  Simon Fraser  <simon.fraser@apple.com>
37159
37160         Reviewed by Beth Dakin.
37161
37162         Edge fringe artifact with transformed, masked elements (including reflections)
37163         https://bugs.webkit.org/show_bug.cgi?id=19179
37164         
37165         When drawing the mask images, use a transparency layer if the CTM
37166         has a rotation, scale or skew in it to avoid antialiasing issues at
37167         the edges.
37168
37169         Test: fast/css/transformed-mask.html
37170
37171         * rendering/RenderBox.cpp:
37172         (WebCore::RenderBox::paintMask): Don't bother painting the mask if
37173         painting is disabled, which also avoids an assertion in getCTM().
37174         (WebCore::RenderBox::paintMaskImages):
37175
37176 2010-10-07  Kwang Yul Seo  <skyul@company100.net>
37177
37178         Reviewed by Kent Tamura.
37179
37180         [BREWMP] Map non-alphabet key code to Unicode value
37181         https://bugs.webkit.org/show_bug.cgi?id=46002
37182
37183         Non-alphabet key codes are not equal to the unicode values. Add conversion.
37184
37185         * platform/brew/PlatformKeyboardEventBrew.cpp:
37186         (WebCore::singleCharacterString):
37187
37188 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
37189
37190         Reviewed by Chris Fleizach.
37191
37192         [GTK] The FreeType backend does not respect the FC_EMBOLDEN property
37193         https://bugs.webkit.org/show_bug.cgi?id=46216
37194
37195         Look for the FC_EMBOLDEN property of the FcPattern when constructing
37196         FontPlatformData and use it to enable synthetic bold fonts when necessary.
37197
37198         Test: platform/gtk/fonts/fontconfig-synthetic-bold.html
37199
37200         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
37201         (WebCore::FontPlatformData::FontPlatformData): Properly handle the FC_EMBOLDEN property.
37202
37203 2010-10-07  James Simonsen  <simonjam@chromium.org>
37204
37205         Reviewed by Pavel Feldman.
37206
37207         [Web Timing] Use platform definition of responseEnd
37208         https://bugs.webkit.org/show_bug.cgi?id=46306
37209
37210         No new tests. Used existing webtiming test.
37211
37212         * loader/MainResourceLoader.cpp:
37213         (WebCore::MainResourceLoader::didFinishLoading):
37214
37215 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
37216
37217         Reviewed by Chris Fleizach.
37218
37219         [Gtk] CSS font-style: italic behavior
37220         https://bugs.webkit.org/show_bug.cgi?id=33299
37221
37222         Properly interpret the FC_MATRIX property from a FontConfig pattern.
37223         FontConfig will use this property when returning fonts which have a
37224         synthetic oblique variant configured in the fonts.conf configuration
37225         file.
37226
37227         Test: platform/gtk/fonts/fontconfig-synthetic-oblique.html
37228
37229         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
37230         (WebCore::FontPlatformData::FontPlatformData): Added a constructor that
37231         takes an existing FontPlatformData and a font size.
37232         (WebCore::FontPlatformData::initializeWithFontFace): Added this helper
37233         intialization method that properly handles the FC_MATRIX property from
37234         the FcPattern.
37235         * platform/graphics/cairo/FontPlatformDataFreeType.h: Added a declaration
37236         to the new constructor and the initializeWithFontFace.
37237         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
37238         (WebCore::SimpleFontData::smallCapsFontData): Use the new FontPlatformData
37239         constructor.
37240
37241 2010-10-07  David Hyatt  <hyatt@apple.com>
37242
37243         Reviewed by Dan Bernstein.
37244
37245         https://bugs.webkit.org/show_bug.cgi?id=47357
37246         
37247         Make findNextLineBreak and some of the helper functions it also calls writing-mode-aware.
37248
37249         * rendering/InlineFlowBox.cpp:
37250         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
37251         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
37252         * rendering/RenderBlock.cpp:
37253         (WebCore::RenderBlock::positionNewFloatOnLine):
37254         * rendering/RenderBlockLineLayout.cpp:
37255         (WebCore::getBorderPaddingMargin):
37256         (WebCore::inlineLogicalWidth):
37257         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
37258         (WebCore::inlineFlowRequiresLineBox):
37259         (WebCore::RenderBlock::skipLeadingWhitespace):
37260         (WebCore::RenderBlock::fitBelowFloats):
37261         (WebCore::RenderBlock::findNextLineBreak):
37262         * rendering/RenderBoxModelObject.h:
37263         (WebCore::RenderBoxModelObject::hasInlineDirectionBordersPaddingOrMargin):
37264         (WebCore::RenderBoxModelObject::hasInlineDirectionBordersOrPadding):
37265
37266 2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
37267
37268         Reviewed by Kenneth Rohde Christiansen.
37269
37270         Fixing viewport meta tag user-scalable handling
37271         https://bugs.webkit.org/show_bug.cgi?id=47330
37272
37273         user-scalable attribute was not considered in viewport meta tag handling.
37274
37275         * dom/ViewportArguments.cpp:
37276         (WebCore::findConfigurationForViewportData):
37277         * dom/ViewportArguments.h:
37278
37279 2010-10-05  Diego Gonzalez  <diegohcg@webkit.org>
37280
37281         Reviewed by Andreas Kling.
37282
37283         [Qt] Hook up accelerometer data via Qt DeviceMotion
37284         https://bugs.webkit.org/show_bug.cgi?id=47105
37285
37286         Get accelerometer necessary data via Qt mobility library using a
37287         provider class. Enable, also the RotationRate using the current device
37288         orientation provider.
37289
37290         * WebCore.pro:
37291
37292 2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
37293
37294         Reviewed by Kenneth Rohde Christiansen.
37295
37296         Some viewport meta tag api refactoring
37297         https://bugs.webkit.org/show_bug.cgi?id=47334
37298
37299         WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
37300         WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
37301
37302         * dom/ViewportArguments.cpp:
37303         (WebCore::computeViewportAttributes):
37304         * dom/ViewportArguments.h:
37305
37306 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37307
37308         Reviewed by Xan Lopez.
37309
37310         [GTK] Don't use GtkObject
37311         https://bugs.webkit.org/show_bug.cgi?id=47090
37312
37313         GtkObject has been removed in gtk3.
37314
37315         * plugins/gtk/gtk2xtbin.c:
37316         (gtk_xtbin_class_init):
37317         (gtk_xtbin_dispose):
37318
37319 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
37320
37321         Reviewed by Pavel Feldman.
37322
37323         Web Inspector: highlight XHR breakpoint when hit.
37324         https://bugs.webkit.org/show_bug.cgi?id=47253
37325
37326         * inspector/InspectorController.cpp:
37327         (WebCore::InspectorController::didCommitLoad):
37328         (WebCore::InspectorController::setNativeBreakpoint):
37329         (WebCore::InspectorController::removeNativeBreakpoint):
37330         (WebCore::InspectorController::findEventListenerBreakpoint):
37331         (WebCore::InspectorController::findXHRBreakpoint):
37332         * inspector/InspectorController.h:
37333         * inspector/InspectorInstrumentation.cpp:
37334         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
37335         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
37336         * inspector/front-end/BreakpointManager.js:
37337         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
37338         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
37339         (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
37340         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
37341         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
37342         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
37343         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
37344         (WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend):
37345         (WebInspector.BreakpointManager.prototype.debuggerPaused):
37346         (WebInspector.BreakpointManager.prototype.debuggerResumed):
37347         (WebInspector.NativeBreakpoint):
37348         (WebInspector.NativeBreakpoint.prototype.get enabled):
37349         (WebInspector.NativeBreakpoint.prototype.set enabled):
37350         (WebInspector.NativeBreakpoint.prototype.remove):
37351         * inspector/front-end/BreakpointsSidebarPane.js:
37352         (WebInspector.BreakpointItem):
37353         (WebInspector.BreakpointItem.prototype._breakpointClicked):
37354         (WebInspector.BreakpointItem.prototype._hitStateChanged):
37355         * inspector/front-end/CallStackSidebarPane.js:
37356         (WebInspector.CallStackSidebarPane.prototype.updateStatus):
37357         * inspector/front-end/inspector.css:
37358         (.breakpoint-list .breakpoint-hit):
37359         * inspector/front-end/inspector.js:
37360         (WebInspector.pausedScript):
37361         (WebInspector.resumedScript):
37362
37363 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37364
37365         Reviewed by Xan Lopez.
37366
37367         [GTK] Fix the build for GTK+ 3
37368         https://bugs.webkit.org/show_bug.cgi?id=47249
37369
37370         Use GdkVisual instead of GdkColormap. GdkColormap has been removed
37371         in gtk3.
37372
37373         * plugins/gtk/PluginViewGtk.cpp:
37374         (WebCore::PluginView::platformStart):
37375         * plugins/gtk/gtk2xtbin.c:
37376         (gtk_xtbin_new):
37377
37378 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37379
37380         Reviewed by Xan Lopez.
37381
37382         [GTK] Fix the build for GTK+ 3
37383         https://bugs.webkit.org/show_bug.cgi?id=47249
37384
37385         Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
37386         are deprecated in gtk2 and have been removed in gtk3. Equivalent
37387         API has been added to GdkWindow.
37388
37389         * platform/gtk/GtkVersioning.c:
37390         (getDefaultGDKPointerDevice):
37391         * platform/gtk/GtkVersioning.h:
37392         * platform/gtk/PlatformScreenGtk.cpp:
37393         (WebCore::getVisual):
37394         (WebCore::screenAvailableRect):
37395
37396 2010-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
37397
37398         Reviewed by Andreas Kling.
37399
37400         [Qt] Disconnect signals before destroying MediaPlayerPrivateQt
37401
37402         https://bugs.webkit.org/show_bug.cgi?id=47073
37403
37404         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
37405
37406 2010-10-07  Alexander Pavlov  <apavlov@chromium.org>
37407
37408         Unreviewed, release build fix.
37409
37410         * inspector/InspectorStyleSheet.cpp:
37411         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
37412         * inspector/InspectorStyleSheet.h:
37413         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
37414         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
37415
37416 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
37417
37418         Unreviewed, build fix.
37419
37420         Build fix for r69283.
37421
37422         * dom/Document.cpp:
37423         (WebCore::Document::inspectorController):
37424         * dom/Document.h:
37425
37426 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37427
37428         Reviewed by Xan Lopez.
37429
37430         [GTK] Fix the build for GTK+ 3
37431         https://bugs.webkit.org/show_bug.cgi?id=47249
37432
37433         Don't use gtk_size_request_get_size(). It has been removed,
37434         gtk_widget_get_preferred_size() should be used instead
37435
37436         * platform/gtk/PopupMenuGtk.cpp:
37437         (WebCore::PopupMenuGtk::show):
37438
37439 2010-10-06  Alexander Pavlov  <apavlov@chromium.org>
37440
37441         Reviewed by Pavel Feldman.
37442
37443         Web Inspector: Implement handling of CSS operations in InspectorCSSAgent.
37444         Property toggling not implemented yet. The code is not going live.
37445         https://bugs.webkit.org/show_bug.cgi?id=45825
37446
37447         * CMakeLists.txt:
37448         * GNUmakefile.am:
37449         * WebCore.gypi:
37450         * WebCore.pro:
37451         * WebCore.vcproj/WebCore.vcproj:
37452         * WebCore.xcodeproj/project.pbxproj:
37453         * inspector/InspectorCSSAgent.cpp: Added.
37454         (WebCore::InspectorCSSAgent::buildObjectForStyle):
37455         (WebCore::InspectorCSSAgent::parentStyleSheet):
37456         (WebCore::InspectorCSSAgent::asCSSStyleRule):
37457         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
37458         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
37459         (WebCore::InspectorCSSAgent::reset):
37460         (WebCore::InspectorCSSAgent::getMatchedRulesForNode2):
37461         (WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2):
37462         (WebCore::InspectorCSSAgent::getAttributeStylesForNode2):
37463         (WebCore::InspectorCSSAgent::getInlineStyleForNode2):
37464         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
37465         (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
37466         (WebCore::InspectorCSSAgent::getAllStyles2):
37467         (WebCore::InspectorCSSAgent::getStyleSheet2):
37468         (WebCore::InspectorCSSAgent::setStyleSheetText2):
37469         (WebCore::InspectorCSSAgent::setStyleText2):
37470         (WebCore::InspectorCSSAgent::toggleProperty2):
37471         (WebCore::InspectorCSSAgent::setRuleSelector2):
37472         (WebCore::InspectorCSSAgent::addRule2):
37473         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
37474         (WebCore::InspectorCSSAgent::inlineStyleElement):
37475         (WebCore::InspectorCSSAgent::populateObjectWithStyleProperties):
37476         (WebCore::InspectorCSSAgent::shorthandValue):
37477         (WebCore::InspectorCSSAgent::shorthandPriority):
37478         (WebCore::InspectorCSSAgent::longhandProperties):
37479         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
37480         (WebCore::InspectorCSSAgent::elementForId):
37481         (WebCore::InspectorCSSAgent::bindStyleSheet):
37482         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
37483         (WebCore::InspectorCSSAgent::styleSheetForId):
37484         (WebCore::InspectorCSSAgent::detectOrigin):
37485         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
37486         (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
37487         (WebCore::InspectorCSSAgent::didRemoveDocument):
37488         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
37489         * inspector/InspectorCSSAgent.h: Added.
37490         (WebCore::InspectorCSSAgent::create):
37491         * inspector/InspectorDOMAgent.cpp:
37492         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
37493         (WebCore::InspectorDOMAgent::setDOMListener):
37494         (WebCore::InspectorDOMAgent::unbind):
37495         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
37496         (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
37497         * inspector/InspectorDOMAgent.h:
37498         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
37499         (WebCore::InspectorDOMAgent::documents):
37500         * inspector/InspectorStyleSheet.cpp: Added.
37501         (ParsedStyleSheet::cssStyleSheet):
37502         (ParsedStyleSheet::text):
37503         (ParsedStyleSheet::hasText):
37504         (ParsedStyleSheet::sourceData):
37505         (ParsedStyleSheet::hasSourceData):
37506         (ParsedStyleSheet::ParsedStyleSheet):
37507         (ParsedStyleSheet::setText):
37508         (ParsedStyleSheet::setSourceData):
37509         (ParsedStyleSheet::ruleSourceDataAt):
37510         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
37511         (WebCore::InspectorStyleSheet::~InspectorStyleSheet):
37512         (WebCore::InspectorStyleSheet::setText):
37513         (WebCore::InspectorStyleSheet::setRuleSelector):
37514         (WebCore::InspectorStyleSheet::addRule):
37515         (WebCore::InspectorStyleSheet::ruleForId):
37516         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
37517         (WebCore::InspectorStyleSheet::buildObjectForRule):
37518         (WebCore::InspectorStyleSheet::buildObjectForStyle):
37519         (WebCore::InspectorStyleSheet::styleForId):
37520         (WebCore::InspectorStyleSheet::setStyleText):
37521         (WebCore::InspectorStyleSheet::ownerDocument):
37522         (WebCore::InspectorStyleSheet::ruleSourceDataFor):
37523         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
37524         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
37525         (WebCore::InspectorStyleSheet::text):
37526         (WebCore::InspectorStyleSheet::ensureText):
37527         (WebCore::InspectorStyleSheet::ensureSourceData):
37528         (WebCore::InspectorStyleSheet::innerSetStyleSheetText):
37529         (WebCore::InspectorStyleSheet::innerSetStyleText):
37530         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
37531         (WebCore::InspectorStyleSheet::findPageRuleWithStyle):
37532         (WebCore::InspectorStyleSheet::fullRuleId):
37533         (WebCore::InspectorStyleSheet::revalidateStyle):
37534         (WebCore::InspectorStyleSheet::styleSheetText):
37535         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
37536         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
37537         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
37538         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
37539         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
37540         (WebCore::InspectorStyleSheetForInlineStyle::ownerDocument):
37541         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
37542         (WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
37543         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
37544         * inspector/InspectorStyleSheet.h: Added.
37545         (WebCore::InspectorStyleSheet::create):
37546         (WebCore::InspectorStyleSheet::id):
37547         (WebCore::InspectorStyleSheet::pageStyleSheet):
37548         (WebCore::InspectorStyleSheet::canBind):
37549         (WebCore::InspectorStyleSheet::fullRuleOrStyleId):
37550         (WebCore::InspectorStyleSheet::ruleOrStyleId):
37551         (WebCore::InspectorStyleSheet::fullStyleId):
37552         (WebCore::InspectorStyleSheetForInlineStyle::create):
37553         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
37554         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
37555         (WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle):
37556         * inspector/InspectorUtilities.cpp: Added.
37557         (WebCore::InspectorUtilities::resourceContentForURL):
37558         * inspector/InspectorUtilities.h: Added.
37559
37560 2010-10-05  Pavel Podivilov  <podivilov@chromium.org>
37561
37562         Reviewed by Pavel Feldman.
37563
37564         Web Inspector: extract Inspector Instrumentation API as a class
37565         https://bugs.webkit.org/show_bug.cgi?id=47173
37566
37567         * bindings/js/JSXMLHttpRequestCustom.cpp:
37568         (WebCore::JSXMLHttpRequest::send):
37569         * bindings/js/ScriptController.cpp:
37570         (WebCore::ScriptController::evaluateInWorld):
37571         * bindings/v8/V8DOMWindowShell.cpp:
37572         * bindings/v8/V8Proxy.cpp:
37573         (WebCore::V8Proxy::evaluate):
37574         (WebCore::V8Proxy::callFunction):
37575         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
37576         (WebCore::V8XMLHttpRequest::sendCallback):
37577         * dom/Document.cpp:
37578         (WebCore::Document::recalcStyle):
37579         * dom/Document.h:
37580         * dom/Node.cpp:
37581         (WebCore::Node::dispatchGenericEvent):
37582         * html/parser/HTMLDocumentParser.cpp:
37583         (WebCore::HTMLDocumentParser::pumpTokenizer):
37584         * html/parser/HTMLDocumentParser.h:
37585         * inspector/InspectorInstrumentation.cpp:
37586         (WebCore::InspectorInstrumentation::hasFrontend):
37587         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
37588         * inspector/InspectorInstrumentation.h:
37589         (WebCore::InspectorInstrumentation::hasFrontends):
37590         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
37591         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
37592         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
37593         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
37594         * inspector/InspectorTimelineAgent.cpp:
37595         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
37596         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
37597         * inspector/InspectorTimelineAgent.h:
37598         * loader/ResourceLoader.cpp:
37599         (WebCore::ResourceLoader::didReceiveResponse):
37600         (WebCore::ResourceLoader::didReceiveData):
37601         * loader/loader.cpp:
37602         (WebCore::Loader::load):
37603         * page/DOMTimer.cpp:
37604         (WebCore::DOMTimer::install):
37605         (WebCore::DOMTimer::removeById):
37606         (WebCore::DOMTimer::fired):
37607         * page/DOMTimer.h:
37608         * page/DOMWindow.cpp:
37609         (WebCore::DOMWindow::dispatchEvent):
37610         * page/DOMWindow.h:
37611         * page/FrameView.cpp:
37612         (WebCore::FrameView::layout):
37613         (WebCore::FrameView::paintContents):
37614         * page/FrameView.h:
37615         * page/Page.cpp:
37616         * page/Page.h:
37617         * rendering/RenderLayerBacking.cpp:
37618         (WebCore::RenderLayerBacking::paintContents):
37619         * xml/XMLHttpRequest.cpp:
37620         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
37621
37622 2010-10-07  Zraly Mike  <mike.zraly@nokia.com>
37623
37624         Reviewed by Andreas Kling.
37625
37626         Windowless flash plugin is not rendered in Symbian
37627         https://bugs.webkit.org/show_bug.cgi?id=47172
37628
37629         * plugins/symbian/PluginViewSymbian.cpp:
37630         (WebCore::PluginView::platformStart):
37631         Add call to updatePluginWidget() following changes to
37632         platform widget.  This is needed to set PluginView's
37633         m_windowRect and m_clipRect members properly after
37634         the proxy widget and its container get created.
37635
37636 2010-10-07  Andreas Kling  <kling@webkit.org>
37637
37638         Reviewed by Nikolas Zimmermann.
37639
37640         Rename (and move) RenderPath to svg/RenderSVGPath
37641         https://bugs.webkit.org/show_bug.cgi?id=47053
37642
37643         Also renamed RenderObject::isRenderPath() to isSVGPath()
37644
37645         * Android.mk:
37646         * CMakeLists.txt:
37647         * GNUmakefile.am:
37648         * WebCore.gypi:
37649         * WebCore.order:
37650         * WebCore.pro:
37651         * WebCore.vcproj/WebCore.vcproj:
37652         * WebCore.xcodeproj/project.pbxproj:
37653         * rendering/RenderObject.h:
37654         (WebCore::RenderObject::isSVGPath):
37655         * rendering/RenderPath.cpp: Removed.
37656         * rendering/RenderPath.h: Removed.
37657         * rendering/RenderSVGHiddenContainer.cpp:
37658         * rendering/RenderSVGResourceClipper.cpp:
37659         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
37660         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
37661         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
37662         * rendering/RenderSVGResourceContainer.cpp:
37663         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
37664         * rendering/RenderSVGResourceSolidColor.cpp:
37665         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
37666         * rendering/RenderTreeAsText.cpp:
37667         (WebCore::write):
37668         * rendering/SVGRenderSupport.cpp:
37669         (WebCore::SVGRenderSupport::layoutChildren):
37670         * rendering/SVGRenderTreeAsText.cpp:
37671         (WebCore::writeStyle):
37672         (WebCore::operator<<):
37673         (WebCore::write):
37674         * rendering/SVGRenderTreeAsText.h:
37675         * rendering/style/SVGRenderStyle.cpp:
37676         (WebCore::SVGRenderStyle::diff):
37677         * rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp.
37678         (WebCore::RenderSVGPath::RenderSVGPath):
37679         (WebCore::RenderSVGPath::fillContains):
37680         (WebCore::RenderSVGPath::strokeContains):
37681         (WebCore::RenderSVGPath::layout):
37682         (WebCore::RenderSVGPath::fillAndStrokePath):
37683         (WebCore::RenderSVGPath::paint):
37684         (WebCore::RenderSVGPath::addFocusRingRects):
37685         (WebCore::RenderSVGPath::nodeAtFloatPoint):
37686         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
37687         (WebCore::RenderSVGPath::updateCachedBoundaries):
37688         * rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h.
37689         (WebCore::RenderSVGPath::isSVGPath):
37690         (WebCore::RenderSVGPath::renderName):
37691         (WebCore::toRenderSVGPath):
37692         * svg/SVGCircleElement.cpp:
37693         (WebCore::SVGCircleElement::svgAttributeChanged):
37694         * svg/SVGEllipseElement.cpp:
37695         (WebCore::SVGEllipseElement::svgAttributeChanged):
37696         * svg/SVGGradientElement.cpp:
37697         * svg/SVGLineElement.cpp:
37698         (WebCore::SVGLineElement::svgAttributeChanged):
37699         * svg/SVGPathElement.cpp:
37700         (WebCore::SVGPathElement::svgAttributeChanged):
37701         * svg/SVGPolyElement.cpp:
37702         (WebCore::SVGPolyElement::svgAttributeChanged):
37703         * svg/SVGRectElement.cpp:
37704         (WebCore::SVGRectElement::svgAttributeChanged):
37705         * svg/SVGStyledLocatableElement.cpp:
37706         * svg/SVGStyledTransformableElement.cpp:
37707         (WebCore::SVGStyledTransformableElement::createRenderer):
37708
37709 2010-10-06  Yury Semikhatsky  <yurys@chromium.org>
37710
37711         Reviewed by Pavel Feldman.
37712
37713         Web Inspector: clear line highlight when switching current view
37714         https://bugs.webkit.org/show_bug.cgi?id=47262
37715
37716         * inspector/front-end/SourceFrame.js:
37717         (WebInspector.SourceFrame.prototype.clearLineHighlight):
37718         * inspector/front-end/SourceView.js:
37719         (WebInspector.SourceView.prototype.hide):
37720         * inspector/front-end/TextViewer.js:
37721         (WebInspector.TextViewer.prototype.highlightLine):
37722         (WebInspector.TextViewer.prototype.clearLineHighlight):
37723
37724 2010-10-06  Chris Evans  <cevans@google.com>
37725
37726         Reviewed by David Levin.
37727
37728         https://bugs.webkit.org/show_bug.cgi?id=47313
37729
37730         Fix integer errors with enormous input strings to newline normalization APIs.
37731
37732         * platform/text/LineEnding.cpp:
37733         (WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now).
37734         (WebCore::normalizeToCROrLF): use the correct type for a string length.
37735
37736 2010-10-06  Kent Tamura  <tkent@chromium.org>
37737
37738         Unreviewed, build fix.
37739
37740         Windows build fix for r69272.
37741
37742         * html/BaseDateAndTimeInputType.cpp:
37743         (WebCore::BaseDateAndTimeInputType::stepBase):
37744          Use defaultStepBase() instead of defaultStepBase.
37745         * html/InputType.h:
37746         (WebCore::InputType::defaultStepBase):
37747          Make defaultStepBase static function.
37748         * html/NumberInputType.cpp:
37749         (WebCore::NumberInputType::stepBase):
37750          Use defaultStepBase() instead of defaultStepBase.
37751
37752 2010-10-06  Kent Tamura  <tkent@chromium.org>
37753
37754         Reviewed by Dimitri Glazkov.
37755
37756         Refactor HTMLInputElement: Move range/step related functions
37757         https://bugs.webkit.org/show_bug.cgi?id=47251
37758
37759         Move the content of the following functions:
37760          - rangeUnderflow()
37761          - rangeOverflow()
37762          - minimum()
37763          - maximum()
37764          - stepMismatch()
37765          - stepBase()
37766
37767         getStepParameters() was split into InputType::defaultStep() and
37768         stepScaleFactor().
37769
37770         * html/BaseDateAndTimeInputType.cpp:
37771         (WebCore::BaseDateAndTimeInputType::rangeUnderflow):
37772         (WebCore::BaseDateAndTimeInputType::rangeOverflow):
37773         (WebCore::BaseDateAndTimeInputType::stepMismatch):
37774         (WebCore::BaseDateAndTimeInputType::stepBase):
37775         * html/BaseDateAndTimeInputType.h:
37776         * html/DateInputType.cpp:
37777         (WebCore::DateInputType::minimum):
37778         (WebCore::DateInputType::maximum):
37779         (WebCore::DateInputType::defaultStep):
37780         (WebCore::DateInputType::stepScaleFactor):
37781         (WebCore::DateInputType::parsedStepValueShouldBeInteger):
37782         * html/DateInputType.h:
37783         * html/DateTimeInputType.cpp:
37784         (WebCore::DateTimeInputType::minimum):
37785         (WebCore::DateTimeInputType::maximum):
37786         (WebCore::DateTimeInputType::defaultStep):
37787         (WebCore::DateTimeInputType::stepScaleFactor):
37788         (WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger):
37789         * html/DateTimeInputType.h:
37790         * html/DateTimeLocalInputType.cpp:
37791         (WebCore::DateTimeLocalInputType::minimum):
37792         (WebCore::DateTimeLocalInputType::maximum):
37793         (WebCore::DateTimeLocalInputType::defaultStep):
37794         (WebCore::DateTimeLocalInputType::stepScaleFactor):
37795         (WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger):
37796         * html/DateTimeLocalInputType.h:
37797         * html/HTMLInputElement.cpp:
37798         (WebCore::HTMLInputElement::rangeUnderflow):
37799         (WebCore::HTMLInputElement::rangeOverflow):
37800         (WebCore::HTMLInputElement::minimum):
37801         (WebCore::HTMLInputElement::maximum):
37802         (WebCore::HTMLInputElement::stepMismatch):
37803         (WebCore::HTMLInputElement::getAllowedValueStep):
37804         (WebCore::HTMLInputElement::applyStep):
37805         (WebCore::HTMLInputElement::handleKeyEventForRange):
37806         (WebCore::HTMLInputElement::stepUpFromRenderer):
37807         * html/HTMLInputElement.h:
37808         * html/InputType.cpp:
37809         (WebCore::InputType::patternMismatch):
37810         (WebCore::InputType::rangeUnderflow):
37811         (WebCore::InputType::rangeOverflow):
37812         (WebCore::InputType::minimum):
37813         (WebCore::InputType::maximum):
37814         (WebCore::InputType::stepMismatch):
37815         (WebCore::InputType::stepBase):
37816         (WebCore::InputType::defaultStep):
37817         (WebCore::InputType::stepScaleFactor):
37818         (WebCore::InputType::parsedStepValueShouldBeInteger):
37819         (WebCore::InputType::scaledStepValeuShouldBeInteger):
37820         * html/InputType.h:
37821         * html/MonthInputType.cpp:
37822         (WebCore::MonthInputType::minimum):
37823         (WebCore::MonthInputType::maximum):
37824         (WebCore::MonthInputType::defaultStep):
37825         (WebCore::MonthInputType::stepScaleFactor):
37826         (WebCore::MonthInputType::parsedStepValueShouldBeInteger):
37827         * html/MonthInputType.h:
37828         * html/NumberInputType.cpp:
37829         (WebCore::NumberInputType::rangeUnderflow):
37830         (WebCore::NumberInputType::rangeOverflow):
37831         (WebCore::NumberInputType::minimum):
37832         (WebCore::NumberInputType::maximum):
37833         (WebCore::NumberInputType::stepMismatch):
37834         (WebCore::NumberInputType::stepBase):
37835         (WebCore::NumberInputType::defaultStep):
37836         (WebCore::NumberInputType::stepScaleFactor):
37837         * html/NumberInputType.h:
37838         * html/RangeInputType.cpp:
37839         (WebCore::RangeInputType::rangeUnderflow):
37840         (WebCore::RangeInputType::rangeOverflow):
37841         (WebCore::RangeInputType::minimum):
37842         (WebCore::RangeInputType::maximum):
37843         (WebCore::RangeInputType::stepMismatch):
37844         (WebCore::RangeInputType::stepBase):
37845         (WebCore::RangeInputType::defaultStep):
37846         (WebCore::RangeInputType::stepScaleFactor):
37847         * html/RangeInputType.h:
37848         * html/TimeInputType.cpp:
37849         (WebCore::TimeInputType::minimum):
37850         (WebCore::TimeInputType::maximum):
37851         (WebCore::TimeInputType::defaultStep):
37852         (WebCore::TimeInputType::stepScaleFactor):
37853         (WebCore::TimeInputType::scaledStepValeuShouldBeInteger):
37854         * html/TimeInputType.h:
37855         * html/WeekInputType.cpp:
37856         (WebCore::WeekInputType::minimum):
37857         (WebCore::WeekInputType::maximum):
37858         (WebCore::WeekInputType::stepBase):
37859         (WebCore::WeekInputType::defaultStep):
37860         (WebCore::WeekInputType::stepScaleFactor):
37861         (WebCore::WeekInputType::parsedStepValueShouldBeInteger):
37862         * html/WeekInputType.h:
37863
37864 2010-10-06  Simon Fraser  <simon.fraser@apple.com>
37865
37866         Reviewed by Dan Bernstein, Darin Adler.
37867
37868         :first-letter should apply to "punctuation" after the first letter
37869         https://bugs.webkit.org/show_bug.cgi?id=45986
37870         
37871         Follow the CSS 2.1 spec by allow certain kinds of punctuation before and after
37872         the :first-letter character.
37873         
37874         The spec does not describe whitespace behavior, and browsers are inconsistent.
37875         This patch allows whitespace (including non-breaking spaces) before and after the
37876         leading punctuation, and before the trailing punctuation.
37877
37878         Test: fast/css/first-letter-punctuation.html
37879
37880         * rendering/RenderBlock.cpp:
37881         (WebCore::isPunctuationForFirstLetter):
37882         (WebCore::shouldSkipForFirstLetter):
37883         (WebCore::RenderBlock::updateFirstLetter):
37884
37885 2010-10-06  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
37886
37887         Reviewed by Darin Fisher.
37888
37889         Released the pluginNode in PluginDocument::detach() and prevents a memory leak.
37890         https://bugs.webkit.org/show_bug.cgi?id=47129
37891
37892         * html/PluginDocument.cpp:
37893         (WebCore::PluginDocument::detach):
37894         * html/PluginDocument.h:
37895
37896 2010-10-06  Vincent Scheib  <scheib@chromium.org>
37897
37898         Reviewed by Kenneth Russell.
37899
37900         [chromium] Thumbnail generation asserts on zero alpha values.
37901         https://bugs.webkit.org/show_bug.cgi?id=47292
37902
37903         Test: Tested manually by running debug mode, and analyzing in PIX.
37904
37905         * platform/graphics/chromium/LayerRendererChromium.cpp:
37906         (WebCore::LayerRendererChromium::drawLayers):
37907
37908 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
37909
37910         Unreviewed, trying to fix chromium Windows build.
37911
37912         Explicitly give the parameter value that has a default parameter value.
37913
37914         * page/DOMWindow.cpp:
37915         (WebCore::DOMWindow::requestFileSystem):
37916         * workers/WorkerContext.cpp:
37917         (WebCore::WorkerContext::requestFileSystem):
37918
37919 2010-10-06  Darin Adler  <darin@apple.com>
37920
37921         Try to fix Windows build.
37922
37923         * platform/graphics/cg/ColorCG.cpp:
37924         (WebCore::cachedCGColor): Put in braces to make the Windows compiler
37925         happy with this file.
37926
37927         * platform/graphics/cg/ImageCG.cpp: Added include of RetainPtr.h.
37928
37929 2010-10-06  Darin Adler  <darin@apple.com>
37930
37931         Reviewed by Alexey Proskuryakov.
37932
37933         Cache CGColor as we do NSColor
37934         https://bugs.webkit.org/show_bug.cgi?id=47226
37935
37936         This fixes performance problems on certain web pages that use
37937         multiple colors. Once in the past we were using NSColor. Now that
37938         we are using CGColor, we need the same sort of caching that we have
37939         for NSColor.
37940
37941         One example: <http://results.active.com/uploads/html/100759.html>.
37942
37943         * WebCore.xcodeproj/project.pbxproj: Add GraphicsContextCG.h.
37944
37945         * platform/graphics/Color.h: Replace createCGColor with cachedCGColor.
37946
37947         * platform/graphics/cg/ColorCG.cpp:
37948         (WebCore::cachedCGColorSpace): Added.
37949         (WebCore::leakCGColor): Added. 
37950         (WebCore::cachedCGColor): Added.
37951
37952         * platform/graphics/cg/GraphicsContextCG.cpp:
37953         (WebCore::setCGFillColor): Use cachedCGColor.
37954         (WebCore::setCGStrokeColor): Ditto.
37955         (WebCore::GraphicsContext::fillRect): Ditto.
37956         (WebCore::GraphicsContext::setPlatformShadow): Ditto.
37957
37958         * platform/graphics/cg/GraphicsContextCG.h: Added.
37959         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
37960         Moved the color space functions here.
37961
37962         * platform/graphics/cg/ImageCG.cpp: Tweaked headers and formatting.
37963
37964         * platform/graphics/mac/ColorMac.mm: Removed the createCGColor
37965         function.
37966
37967         * platform/graphics/mac/GraphicsContextMac.mm:
37968         (WebCore::drawFocusRingToContext): Removed innappropriate use of
37969         RetainPtr for the arguments to this function.
37970         (WebCore::GraphicsContext::drawFocusRing): Use cachedCGColor.
37971
37972         * platform/graphics/mac/GraphicsLayerCA.mm:
37973         (WebCore::setLayerBorderColor): Use cachedCGColor.
37974         (WebCore::setLayerBackgroundColor): Ditto.
37975         * platform/graphics/win/GraphicsContextCGWin.cpp:
37976         (WebCore::GraphicsContext::drawFocusRing): Ditto.
37977         * platform/graphics/win/GraphicsLayerCACF.cpp:
37978         (WebCore::setLayerBorderColor): Ditto.
37979         (WebCore::setLayerBackgroundColor): Ditto.
37980
37981         * platform/graphics/win/WKCACFLayerRenderer.cpp:
37982         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Use
37983         CGColorCreateGenericRGB for color used only for debugging.
37984         * platform/graphics/win/WebTiledLayer.cpp:
37985         (WebCore::WebTiledLayer::addTile): Ditto.
37986
37987 2010-10-06  Peter Kasting  <pkasting@google.com>
37988
37989         Reviewed by James Robinson
37990
37991         ScrollViews without scrollbars should not eat scroll events
37992         https://bugs.webkit.org/show_bug.cgi?id=47036
37993
37994         * platform/ScrollView.cpp:
37995         (WebCore::ScrollView::wheelEvent):
37996
37997 2010-10-06  Daniel Bates  <dbates@rim.com>
37998
37999         Reviewed by Darin Adler.
38000
38001         ASSERTION FAILURE: Attempt to cast RenderObject to RenderFrameSet
38002         when <frameset> has CSS content property
38003         https://bugs.webkit.org/show_bug.cgi?id=47314
38004
38005         Fixes an issue where sending a mouse event to an HTML Frameset Element that
38006         whose content was replaced via the CSS content property causes an assertion
38007         failure.
38008
38009         By default, HTMLFrameSetElement forwards mouse events to RenderFrameSet so as
38010         to support resizing a frame within the set. When a <frameset> specifies an
38011         image in its CSS content property we create a generic render object (RenderObject)
38012         for the frame set instead of a RenderFrameSet object. The event handler code
38013         in HTMLFrameSetElement calls WebCore::toRenderFrameSet() to cast its renderer
38014         to type RenderFrameSet, which fails. To correct this, HTMLFrameSetElement
38015         must check that its renderer is of type RenderFrameSet before casting to this type.
38016
38017         Test: fast/frames/crash-frameset-CSS-content-property.html
38018
38019         * html/HTMLFrameSetElement.cpp:
38020         (WebCore::HTMLFrameSetElement::defaultEventHandler): Check that our renderer is
38021         of type RenderFrameSet before casting it as such.
38022
38023 2010-10-06  Albert J. Wong  <ajwong@chromium.org>
38024
38025         Reviewed by Andreas Kling.
38026
38027         r69181 breaks compilation of WebCore/platform/graphics/filters/FETile.cpp if ENABLE(SVG) is false.
38028         https://bugs.webkit.org/show_bug.cgi?id=47315
38029
38030         Compile fix. No tests.
38031
38032         * platform/graphics/filters/FETile.cpp:
38033         (WebCore::FETile::apply):
38034
38035 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
38036
38037         Unreviewed, fixing screwed up ChangeLogs.
38038
38039 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
38040
38041         Reviewed by David Levin.
38042
38043         Add FileSystemSync implementation for Worker
38044         https://bugs.webkit.org/show_bug.cgi?id=47044
38045
38046         Tests: fast/filesystem/async-operations.html
38047                fast/filesystem/workers/async-operations.html
38048                fast/filesystem/workers/sync-operations.html
38049
38050         * GNUmakefile.am:
38051         * WebCore.gypi:
38052         * WebCore.pro:
38053         * WebCore.vcproj/WebCore.vcproj:
38054         * WebCore.xcodeproj/project.pbxproj:
38055         * bindings/generic/RuntimeEnabledFeatures.h: Removed
38056         requestFileSystemEnabled() as I changed the idl/generator to
38057         use fileSystemEnabled for all the FileSystem related features.
38058         * fileapi/DOMFileSystem.cpp:
38059         * fileapi/DOMFileSystem.h:
38060         * fileapi/DOMFileSystemBase.cpp:
38061         (WebCore::DOMFileSystemBase::getMetadata): Moved from DOMFileSystem.
38062         (WebCore::checkValidityForForCopyOrMove): Moved from DOMFileSystem.
38063         (WebCore::DOMFileSystemBase::move): Moved from DOMFileSystem.
38064         (WebCore::DOMFileSystemBase::copy): Moved from DOMFileSystem.
38065         (WebCore::DOMFileSystemBase::remove): Moved from DOMFileSystem.
38066         (WebCore::DOMFileSystemBase::getParent): Moved from DOMFileSystem.
38067         (WebCore::DOMFileSystemBase::getFile): Moved from DOMFileSystem.
38068         (WebCore::DOMFileSystemBase::getDirectory): Moved from DOMFileSystem.
38069         (WebCore::DOMFileSystemBase::readDirectory): Moved from DOMFileSystem.
38070         * fileapi/DOMFileSystemBase.h:
38071         * fileapi/DOMFileSystemSync.h:
38072         * fileapi/DirectoryEntry.cpp:
38073         (WebCore::DirectoryEntry::DirectoryEntry): Updated to call
38074         DOMFileSystemBase's method instead of DOMFileSystem's one.
38075         (WebCore::DirectoryEntry::getFile): Ditto.
38076         (WebCore::DirectoryEntry::getDirectory): Ditto.
38077         * fileapi/DirectoryEntry.h:
38078         * fileapi/DirectoryEntrySync.cpp:
38079         (WebCore::DirectoryEntrySync::getFile): Implemented.
38080         (WebCore::DirectoryEntrySync::getDirectory): Implemented.
38081         * fileapi/DirectoryReader.h:
38082         * fileapi/DirectoryReaderSync.cpp:
38083         (WebCore::DirectoryReaderSync::readEntries): Implemented.
38084         * fileapi/Entry.cpp:
38085         (WebCore::Entry::Entry): Updated to call DOMFileSystemBase's method.
38086         (WebCore::Entry::getMetadata): Ditto.
38087         (WebCore::Entry::moveTo): Ditto.
38088         (WebCore::Entry::copyTo): Ditto.
38089         (WebCore::Entry::remove): Ditto.
38090         (WebCore::Entry::getParent): Ditto.
38091         * fileapi/Entry.h:
38092         * fileapi/Entry.idl:
38093         * fileapi/EntryArraySync.cpp:
38094         (WebCore::EntryArraySync::create): Added.
38095         * fileapi/EntryArraySync.h:
38096         * fileapi/EntryBase.h:
38097         (WebCore::EntryBase::filesystem): Added.
38098         * fileapi/EntrySync.cpp:
38099         (WebCore::EntrySync::create): Implemented.
38100         (WebCore::EntrySync::getMetadata): Implemented.
38101         (WebCore::EntrySync::moveTo): Implemented.
38102         (WebCore::EntrySync::copyTo): Implemented.
38103         (WebCore::EntrySync::remove): Implemented.
38104         * fileapi/EntrySync.h:
38105         * fileapi/FileEntry.cpp:
38106         * fileapi/FileEntry.h:
38107         * fileapi/FileSystemCallbacks.cpp:
38108         (WebCore::EntryCallbacks::create): Updated to take DOMFileSystemBase
38109         instead of DOMFileSystem.
38110         (WebCore::EntryCallbacks::EntryCallbacks): Ditto.
38111         (WebCore::EntriesCallbacks::create): Ditto.
38112         (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
38113         * fileapi/FileSystemCallbacks.h:
38114         * fileapi/LocalFileSystem.cpp:
38115         (WebCore::LocalFileSystem::requestFileSystem): Added synchronous
38116         parameter.
38117         * fileapi/LocalFileSystem.h:
38118         * fileapi/Metadata.h:
38119         * fileapi/SyncCallbackHelper.h: Added. This defines a helper template
38120         for synchronous implementation.
38121         * page/DOMWindow.idl:
38122         * platform/AsyncFileSystem.h:
38123         (WebCore::AsyncFileSystem::waitCompletion): Added.
38124         * workers/WorkerContext.cpp:
38125         (WebCore::WorkerContext::requestFileSystemSync): Added.
38126         * workers/WorkerContext.h:
38127         * workers/WorkerContext.idl:
38128
38129 2010-10-06  Andrei Popescu  <andreip@google.com>
38130
38131         Reviewed by Jeremy Orlow.
38132
38133         IDBDatabase and IDBObjectStore metadata is not recovered correctly when the setVersion transactions aborts.
38134         https://bugs.webkit.org/show_bug.cgi?id=47245
38135
38136         Recover metadata properly by adding abort tasks that
38137         are run when a transaction aborts.
38138  
38139         * storage/IDBDatabase.cpp:
38140         (WebCore::IDBDatabase::createObjectStore):
38141         (WebCore::IDBDatabase::removeObjectStore):
38142         * storage/IDBDatabaseBackendImpl.cpp:
38143         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
38144         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
38145         (WebCore::IDBDatabaseBackendImpl::setVersion):
38146         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
38147         (WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
38148         (WebCore::IDBDatabaseBackendImpl::resetVersion):
38149         * storage/IDBDatabaseBackendImpl.h:
38150         * storage/IDBObjectStoreBackendImpl.cpp:
38151         (WebCore::IDBObjectStoreBackendImpl::createIndex):
38152         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
38153         (WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
38154         (WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
38155         * storage/IDBObjectStoreBackendImpl.h:
38156         * storage/IDBTransactionBackendImpl.cpp:
38157         (WebCore::IDBTransactionBackendImpl::scheduleTask):
38158         (WebCore::IDBTransactionBackendImpl::abort):
38159         * storage/IDBTransactionBackendImpl.h:
38160         * storage/IDBTransactionBackendInterface.h:
38161         * storage/IDBTransactionCoordinator.h:
38162
38163 2010-10-06  David Hyatt  <hyatt@apple.com>
38164
38165         Reviewed by Dan Bernstein.
38166
38167         https://bugs.webkit.org/show_bug.cgi?id=47306
38168         
38169         Convert determineStart/EndPosition and matchedEndLine to be writing-mode-aware.
38170
38171         * rendering/RenderBlockLineLayout.cpp:
38172         (WebCore::RenderBlock::determineStartPosition):
38173         (WebCore::RenderBlock::determineEndPosition):
38174         (WebCore::RenderBlock::matchedEndLine):
38175
38176 22010-10-06  Chris Fleizach  <cfleizach@apple.com>
38177
38178         Reviewed by Beth Dakin.
38179
38180         REGRESSION (r53857): AREA tag with tabindex="-1" displays focus ring after multiple mouse clicks.
38181         https://bugs.webkit.org/show_bug.cgi?id=45832
38182
38183         Test: fast/events/mouse-focus-imagemap.html
38184
38185         * html/HTMLAreaElement.cpp:
38186         (WebCore::HTMLAreaElement::isKeyboardFocusable):
38187         (WebCore::HTMLAreaElement::isMouseFocusable):
38188         (WebCore::HTMLAreaElement::isFocusable):
38189         (WebCore::HTMLAreaElement::updateFocusAppearance):
38190         * html/HTMLAreaElement.h:
38191
38192 010-10-06  David Hyatt  <hyatt@apple.com>
38193
38194         Reviewed by Dan Bernstein.
38195
38196         https://bugs.webkit.org/show_bug.cgi?id=47303
38197
38198         Convert layoutInlineChildren to be block-flow-aware.  None of the functions it calls are patched yet.
38199
38200         * rendering/RenderBlock.cpp:
38201         (WebCore::RenderBlock::layoutBlock):
38202         * rendering/RenderBlock.h:
38203         (WebCore::RenderBlock::forceLayoutInlineChildren):
38204         * rendering/RenderBlockLineLayout.cpp:
38205         (WebCore::RenderBlock::layoutInlineChildren):
38206         (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
38207         (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
38208         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
38209         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
38210         * rendering/RenderBox.h:
38211         (WebCore::RenderBox::logicalLeftLayoutOverflow):
38212         (WebCore::RenderBox::logicalRightLayoutOverflow):
38213         (WebCore::RenderBox::logicalLeftVisualOverflow):
38214         (WebCore::RenderBox::logicalRightVisualOverflow):
38215
38216 2010-10-06  David Hyatt  <hyatt@apple.com>
38217
38218         Reviewed by Dan Bernstein.
38219
38220         https://bugs.webkit.org/show_bug.cgi?id=47298
38221         
38222         Rename blockHeight to blockLogicalHeight.
38223
38224         * rendering/RenderBlock.cpp:
38225         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
38226         * rendering/RenderBlockLineLayout.cpp:
38227         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
38228         (WebCore::RenderBlock::layoutInlineChildren):
38229         (WebCore::RenderBlock::determineStartPosition):
38230         (WebCore::RenderBlock::determineEndPosition):
38231         (WebCore::RenderBlock::matchedEndLine):
38232         * rendering/RootInlineBox.cpp:
38233         (WebCore::RootInlineBox::RootInlineBox):
38234         (WebCore::RootInlineBox::adjustPosition):
38235         * rendering/RootInlineBox.h:
38236         (WebCore::RootInlineBox::blockLogicalHeight):
38237         (WebCore::RootInlineBox::setBlockLogicalHeight):
38238         * rendering/svg/SVGRootInlineBox.cpp:
38239         (WebCore::SVGRootInlineBox::layoutRootBox):
38240
38241 2010-10-05  James Robinson  <jamesr@chromium.org>
38242
38243         Reviewed by Kenneth Russell.
38244
38245         [chromium] DRT assertion w/accel 2D canvas in PlatformContextSkia
38246         https://bugs.webkit.org/show_bug.cgi?id=47242
38247
38248         Call PlatformContextSkia::prepareForSoftwareDraw before doing putImageData
38249         since that call mutates the software backing store.
38250
38251         Test: fast/canvas/canvas-putImageData.html
38252
38253         * platform/graphics/skia/ImageBufferSkia.cpp:
38254         (WebCore::ImageBuffer::putUnmultipliedImageData):
38255
38256 2010-10-06  Alexey Proskuryakov  <ap@apple.com>
38257
38258         Reviewed by Brady Eidson.
38259
38260         https://bugs.webkit.org/show_bug.cgi?id=47294
38261         <rdar://problem/8425647>Application cache isn't consulted on redirect
38262
38263         Test: http/tests/appcache/main-resource-redirect.html
38264
38265         * loader/MainResourceLoader.cpp:
38266         (WebCore::MainResourceLoader::continueAfterNavigationPolicy): If we have substitute data now
38267         (presumably after a redirect is served by appcache), switch to it.
38268         (WebCore::MainResourceLoader::willSendRequest): Check appcache for the new URL.
38269
38270         * loader/MainResourceLoader.h: Made handleDataLoadSoon() take a const ResourceRequest
38271         reference - it doesn't ever modify it, and we can call it from continueAfterNavigationPolicy() now.
38272
38273 2010-10-06  Alejandro G. Castro  <alex@igalia.com>
38274
38275         Reviewed by Dirk Schulze.
38276
38277         ContextShadow should not use the blur radius as kernel size of the
38278         box blurs
38279         https://bugs.webkit.org/show_bug.cgi?id=46918
38280
38281         Calculate the size of the kernel in the blur algorithm using the radius instead
38282         of using the blur distance directly. Change the name of the variables to match the
38283         terminology in the spec.
38284
38285         * platform/graphics/ContextShadow.cpp:
38286         (WebCore::ContextShadow::ContextShadow):
38287         (WebCore::ContextShadow::clear):
38288         (WebCore::ContextShadow::blurLayerImage):
38289         (WebCore::ContextShadow::calculateLayerBoundingRect):
38290         * platform/graphics/ContextShadow.h:
38291
38292 2010-10-06  Andras Becsi  <abecsi@webkit.org>
38293
38294         Reviewed by Kenneth Rohde Christiansen.
38295
38296         [Qt] Correct CamelCase of socketSentdata() in SocketStreamHandlePrivate 
38297         to fix "QMetaObject::invokeMethod: No such method" warnings in layout tests.
38298         https://bugs.webkit.org/show_bug.cgi?id=47284
38299
38300         No new tests needed.
38301
38302         * platform/network/qt/SocketStreamHandlePrivate.h:
38303         * platform/network/qt/SocketStreamHandleQt.cpp:
38304         (WebCore::SocketStreamHandlePrivate::socketSentData):
38305
38306 2010-10-06  David Hyatt  <hyatt@apple.com>
38307
38308         Reviewed by Dan Bernstein.
38309
38310         https://bugs.webkit.org/show_bug.cgi?id=47285
38311
38312         Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
38313         Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
38314         as appropriate.
38315
38316         * css/CSSComputedStyleDeclaration.cpp:
38317         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
38318         * css/CSSParser.cpp:
38319         (WebCore::CSSParser::parseValue):
38320         * css/CSSPrimitiveValueMappings.h:
38321         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
38322         (WebCore::CSSPrimitiveValue::operator WritingMode):
38323         (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
38324         * css/CSSProperty.cpp:
38325         (WebCore::resolveToPhysicalProperty):
38326         (WebCore::CSSProperty::resolveDirectionAwareProperty):
38327         * css/CSSProperty.h:
38328         * css/CSSPropertyNames.in:
38329         * css/CSSStyleSelector.cpp:
38330         (WebCore::CSSStyleSelector::styleForDocument):
38331         (WebCore::CSSStyleSelector::adjustRenderStyle):
38332         (WebCore::CSSStyleSelector::applyDeclarations):
38333         (WebCore::CSSStyleSelector::applyProperty):
38334         * css/CSSValueKeywords.in:
38335         * rendering/RenderBlock.cpp:
38336         (WebCore::RenderBlock::MarginInfo::MarginInfo):
38337         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
38338         (WebCore::RenderBlock::setLogicalLeftForChild):
38339         (WebCore::RenderBlock::setLogicalTopForChild):
38340         (WebCore::RenderBlock::layoutBlockChild):
38341         (WebCore::RenderBlock::insertFloatingObject):
38342         (WebCore::RenderBlock::addOverhangingFloats):
38343         (WebCore::RenderBlock::addIntrudingFloats):
38344         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
38345         (WebCore::RenderBlock::collapsedMarginAfterForChild):
38346         (WebCore::RenderBlock::marginBeforeForChild):
38347         (WebCore::RenderBlock::marginAfterForChild):
38348         (WebCore::RenderBlock::marginStartForChild):
38349         (WebCore::RenderBlock::marginEndForChild):
38350         (WebCore::RenderBlock::setMarginStartForChild):
38351         (WebCore::RenderBlock::setMarginEndForChild):
38352         (WebCore::RenderBlock::setMarginBeforeForChild):
38353         (WebCore::RenderBlock::setMarginAfterForChild):
38354         (WebCore::RenderBlock::marginValuesForChild):
38355         * rendering/RenderBlock.h:
38356         (WebCore::RenderBlock::logicalWidthForChild):
38357         (WebCore::RenderBlock::logicalHeightForChild):
38358         (WebCore::RenderBlock::logicalTopForChild):
38359         (WebCore::RenderBlock::logicalRightOffsetForContent):
38360         (WebCore::RenderBlock::logicalLeftOffsetForContent):
38361         (WebCore::RenderBlock::logicalTopForFloat):
38362         (WebCore::RenderBlock::logicalBottomForFloat):
38363         (WebCore::RenderBlock::logicalLeftForFloat):
38364         (WebCore::RenderBlock::logicalRightForFloat):
38365         (WebCore::RenderBlock::logicalWidthForFloat):
38366         (WebCore::RenderBlock::setLogicalTopForFloat):
38367         (WebCore::RenderBlock::setLogicalLeftForFloat):
38368         (WebCore::RenderBlock::setLogicalHeightForFloat):
38369         (WebCore::RenderBlock::setLogicalWidthForFloat):
38370         * rendering/RenderBox.cpp:
38371         (WebCore::RenderBox::marginBefore):
38372         (WebCore::RenderBox::marginAfter):
38373         (WebCore::RenderBox::marginStart):
38374         (WebCore::RenderBox::marginEnd):
38375         (WebCore::RenderBox::setMarginStart):
38376         (WebCore::RenderBox::setMarginEnd):
38377         (WebCore::RenderBox::setMarginBefore):
38378         (WebCore::RenderBox::setMarginAfter):
38379         (WebCore::RenderBox::styleDidChange):
38380         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
38381         (WebCore::RenderBox::computeLogicalWidth):
38382         (WebCore::RenderBox::computeLogicalHeight):
38383         (WebCore::RenderBox::availableLogicalHeightUsing):
38384         (WebCore::RenderBox::avoidsFloats):
38385         * rendering/RenderBox.h:
38386         (WebCore::RenderBox::logicalLeft):
38387         (WebCore::RenderBox::logicalTop):
38388         (WebCore::RenderBox::logicalWidth):
38389         (WebCore::RenderBox::logicalHeight):
38390         (WebCore::RenderBox::setLogicalLeft):
38391         (WebCore::RenderBox::setLogicalTop):
38392         (WebCore::RenderBox::setLogicalWidth):
38393         (WebCore::RenderBox::setLogicalHeight):
38394         (WebCore::RenderBox::setLogicalLocation):
38395         (WebCore::RenderBox::contentLogicalWidth):
38396         (WebCore::RenderBox::contentLogicalHeight):
38397         (WebCore::RenderBox::stretchesToViewport):
38398         (WebCore::RenderBox::intrinsicLogicalWidth):
38399         (WebCore::RenderBox::intrinsicLogicalHeight):
38400         (WebCore::RenderBox::availableWidth):
38401         (WebCore::RenderBox::availableHeight):
38402         (WebCore::RenderBox::scrollbarLogicalHeight):
38403         (WebCore::RenderBox::isWritingModeRoot):
38404         * rendering/RenderFieldset.cpp:
38405         (WebCore::RenderFieldset::paintBoxDecorations):
38406         (WebCore::RenderFieldset::paintMask):
38407         * rendering/RenderImage.cpp:
38408         (WebCore::RenderImage::computeReplacedLogicalWidth):
38409         (WebCore::RenderImage::computeReplacedLogicalHeight):
38410         * rendering/RenderInline.cpp:
38411         (WebCore::RenderInline::marginLeft):
38412         (WebCore::RenderInline::marginRight):
38413         (WebCore::RenderInline::marginTop):
38414         (WebCore::RenderInline::marginBottom):
38415         * rendering/RenderTableCell.cpp:
38416         (WebCore::RenderTableCell::paddingTop):
38417         (WebCore::RenderTableCell::paddingBottom):
38418         (WebCore::RenderTableCell::paddingLeft):
38419         (WebCore::RenderTableCell::paddingRight):
38420         * rendering/RenderView.h:
38421         (WebCore::RenderView::viewLogicalWidth):
38422         (WebCore::RenderView::viewLogicalHeight):
38423         * rendering/RootInlineBox.cpp:
38424         (WebCore::RootInlineBox::RootInlineBox):
38425         * rendering/style/RenderStyle.cpp:
38426         (WebCore::RenderStyle::diff):
38427         (WebCore::RenderStyle::logicalWidth):
38428         (WebCore::RenderStyle::logicalHeight):
38429         (WebCore::RenderStyle::logicalMinWidth):
38430         (WebCore::RenderStyle::logicalMaxWidth):
38431         (WebCore::RenderStyle::logicalMinHeight):
38432         (WebCore::RenderStyle::logicalMaxHeight):
38433         (WebCore::RenderStyle::borderBeforeWidth):
38434         (WebCore::RenderStyle::borderAfterWidth):
38435         (WebCore::RenderStyle::borderStartWidth):
38436         (WebCore::RenderStyle::borderEndWidth):
38437         (WebCore::RenderStyle::marginBefore):
38438         (WebCore::RenderStyle::marginAfter):
38439         (WebCore::RenderStyle::marginBeforeUsing):
38440         (WebCore::RenderStyle::marginAfterUsing):
38441         (WebCore::RenderStyle::marginStart):
38442         (WebCore::RenderStyle::marginEnd):
38443         (WebCore::RenderStyle::marginStartUsing):
38444         (WebCore::RenderStyle::marginEndUsing):
38445         (WebCore::RenderStyle::paddingBefore):
38446         (WebCore::RenderStyle::paddingAfter):
38447         (WebCore::RenderStyle::paddingStart):
38448         (WebCore::RenderStyle::paddingEnd):
38449         * rendering/style/RenderStyle.h:
38450         (WebCore::InheritedFlags::setBitDefaults):
38451         (WebCore::InheritedFlags::writingMode):
38452         (WebCore::InheritedFlags::isHorizontalWritingMode):
38453         (WebCore::InheritedFlags::setWritingMode):
38454         (WebCore::InheritedFlags::initialWritingMode):
38455         * rendering/style/RenderStyleConstants.h:
38456         * rendering/style/SVGRenderStyle.h:
38457         (WebCore::SVGRenderStyle::initialWritingMode):
38458         (WebCore::SVGRenderStyle::setWritingMode):
38459         (WebCore::SVGRenderStyle::writingMode):
38460         * rendering/style/SVGRenderStyleDefs.h:
38461
38462 2010-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
38463
38464         Unreviewed, rolling out r69201.
38465         http://trac.webkit.org/changeset/69201
38466         https://bugs.webkit.org/show_bug.cgi?id=47279
38467
38468         This change broke the WebKitGTK+ build for GTK+ 2.0.
38469         (Requested by mrobinson on #webkit).
38470
38471         * platform/gtk/GtkVersioning.c:
38472         (getDefaultGDKPointerDevice):
38473         * platform/gtk/GtkVersioning.h:
38474         * platform/gtk/PlatformScreenGtk.cpp:
38475         (WebCore::getVisual):
38476         (WebCore::screenAvailableRect):
38477
38478 2010-10-06  Stephen White  <senorblanco@chromium.org>
38479
38480         Reviewed by James Robinson.
38481         https://bugs.webkit.org/show_bug.cgi?id=47282
38482
38483         Robustify the creation of SharedGraphicsContext3D against shader
38484         compilation failures.
38485
38486         Covered by any canvas 2D layout test, when opened in chrome with 
38487         --enable-accelerated-2d-canvas --in-process-webgl.
38488
38489         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38490         (WebCore::SharedGraphicsContext3D::create):
38491         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
38492         * platform/graphics/gpu/SharedGraphicsContext3D.h:
38493
38494 2010-10-06  Luiz Agostini  <luiz.agostini@openbossa.org>
38495
38496         Reviewed by Kenneth Rohde Christiansen.
38497
38498         Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
38499         https://bugs.webkit.org/show_bug.cgi?id=47268
38500
38501         Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
38502
38503         * dom/ViewportArguments.cpp:
38504         (WebCore::findConfigurationForViewportData):
38505         * dom/ViewportArguments.h:
38506
38507 2010-10-06  Renata Hodovan  <reni@inf.u-szeged.hu>
38508
38509         Reviewed by Nikolas Zimmermann.
38510
38511         SVGFEMergeNodeElement doesn't support dynamic invalidation, when attributes change.
38512         https://bugs.webkit.org/show_bug.cgi?id=47181
38513
38514         Since feMergeNode doesn't have own renderer, we have to call the invalidation via its parent.
38515
38516         Tests: svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html
38517                svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html
38518
38519         * svg/SVGFEMergeNodeElement.cpp:
38520         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
38521         * svg/SVGFEMergeNodeElement.h:
38522
38523 2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
38524
38525         Reviewed by Martin Robinson.
38526
38527         [GTK] Remove unused code from gtk2drawing.c
38528         https://bugs.webkit.org/show_bug.cgi?id=47086
38529
38530         gtk2drawing.c was copied from mozilla and contains a lot of code that is not
38531         used by WebKit. Most of that unused code is uncompatible with gtk3, so
38532         removing it will make easier porting to gtk3.
38533
38534         * platform/gtk/gtk2drawing.c:
38535         (moz_gtk_get_widget_border):
38536         (moz_gtk_widget_paint):
38537         (moz_gtk_destroy_theme_parts_widgets):
38538         * platform/gtk/gtkdrawing.h:
38539
38540 2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
38541
38542         Reviewed by Xan Lopez.
38543
38544         [GTK] Use pixbufs instead of pixmaps when creating platform cursors
38545         https://bugs.webkit.org/show_bug.cgi?id=47087
38546
38547         gdk_cursor_new_from_pixmap() has been removed in gtk3. We can use a
38548         pixbuf instead of a pixman and use gdk_cursor_new_from_pixbuf() instead
38549         for both gtk2 and gtk3.
38550
38551         * platform/gtk/CursorGtk.cpp:
38552         (WebCore::createNamedCursor):
38553         * platform/gtk/GtkVersioning.c:
38554         (gdk_cairo_format_for_content):
38555         (gdk_cairo_surface_coerce_to_image):
38556         (convert_alpha):
38557         (convert_no_alpha):
38558         (gdk_pixbuf_get_from_surface):
38559         * platform/gtk/GtkVersioning.h:
38560
38561 2010-10-06  Pavel Podivilov  <podivilov@chromium.org>
38562
38563         Reviewed by Yury Semikhatsky.
38564
38565         Web Inspector: add event listener breakpoints sidebar pane
38566         https://bugs.webkit.org/show_bug.cgi?id=46738
38567
38568         * inspector/front-end/BreakpointManager.js:
38569         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
38570         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint.breakpoint.compareTo):
38571         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
38572         (WebInspector.NativeBreakpoint):
38573         (WebInspector.NativeBreakpoint.prototype._setOnBackend.didSet):
38574         (WebInspector.NativeBreakpoint.prototype._setOnBackend):
38575         * inspector/front-end/BreakpointsSidebarPane.js:
38576         (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
38577         (WebInspector.BreakpointItem):
38578         (WebInspector.EventListenerBreakpointsSidebarPane):
38579         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
38580         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCheckbox):
38581         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
38582         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._eventNameCheckboxClicked):
38583         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointEnableChanged):
38584         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
38585         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
38586         * inspector/front-end/EventListenersSidebarPane.js:
38587         ():
38588         * inspector/front-end/PropertiesSection.js:
38589         (WebInspector.PropertiesSection):
38590         * inspector/front-end/ScriptsPanel.js:
38591         (WebInspector.ScriptsPanel):
38592         (WebInspector.ScriptsPanel.prototype.reset):
38593         * inspector/front-end/inspector.css:
38594         (.section .properties, .event-bar .event-properties):
38595         (.section.expanded .properties, .event-bar.expanded .event-properties):
38596         (ol.properties-tree):
38597         (ol.properties-tree li):
38598         (ol.properties-tree li.parent):
38599         (ol.properties-tree li.parent::before):
38600         (ol.properties-tree li.parent.expanded::before):
38601         (ol.properties-tree li .info):
38602         (ol.properties-tree ol, .stack-trace ol, ol.stack-trace):
38603         (ol.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
38604         (ol.stack-trace):
38605         (.event-listener-breakpoints .event-category):
38606         (ol.event-listener-breakpoints.properties-tree .children li):
38607         (.event-listener-breakpoints .checkbox-elem):
38608         * inspector/front-end/inspector.js:
38609         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
38610         (WebInspector.createXHRBreakpointsSidebarPane):
38611
38612 2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
38613
38614         Reviewed by Xan Lopez.
38615
38616         [GTK] Port to gtk+3 (2.91.0)
38617         https://bugs.webkit.org/show_bug.cgi?id=47249
38618
38619         Do not use GdkDrawable deprecated API
38620
38621         Some methods of GdkDrawable are deprecated in gtk2 and have been
38622         remmoved in gtk3. Equivalent API has been added to GdkWindow.
38623
38624         * platform/gtk/GtkVersioning.c:
38625         (getDefaultGDKPointerDevice):
38626         * platform/gtk/GtkVersioning.h:
38627         * platform/gtk/PlatformScreenGtk.cpp:
38628         (WebCore::getVisual):
38629         (WebCore::screenAvailableRect):
38630
38631 2010-10-06  Ryuan Choi  <ryuan.choi@samsung.com>
38632
38633         Reviewed by Antonio Gomes.
38634
38635         [EFL] Support Progress Tag
38636         https://bugs.webkit.org/show_bug.cgi?id=45951
38637
38638         Implement to render progress tag.
38639
38640         No new tests. Existing tests in fast/dom/HTMLProgressElement.
38641
38642         * platform/efl/RenderThemeEfl.cpp:
38643         (WebCore::RenderThemeEfl::paintThemePart):
38644         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
38645         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
38646         (WebCore::RenderThemeEfl::paintProgressBar):
38647         * platform/efl/RenderThemeEfl.h:
38648
38649 2010-10-06  Patrick Gansterer  <paroga@webkit.org>
38650
38651         Reviewed by Darin Adler.
38652
38653         Add KURL::protocolIsData()
38654         https://bugs.webkit.org/show_bug.cgi?id=47219
38655
38656         * page/Page.cpp:
38657         (WebCore::Page::userStyleSheetLocationChanged):
38658         * page/SecurityOrigin.cpp:
38659         (WebCore::SecurityOrigin::taintsCanvas):
38660         * page/XSSAuditor.cpp:
38661         (WebCore::XSSAuditor::findInRequest):
38662         * platform/KURL.h:
38663         (WebCore::KURL::protocolIsData):
38664         * platform/network/curl/ResourceHandleManager.cpp:
38665         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
38666         (WebCore::ResourceHandleManager::startJob):
38667         * platform/network/win/ResourceHandleWin.cpp:
38668         (WebCore::ResourceHandle::start):
38669         (WebCore::ResourceHandle::fileLoadTimer):
38670
38671 2010-10-06  Alexander Pavlov  <apavlov@chromium.org>
38672
38673         Reviewed by Pavel Feldman.
38674
38675         CSSParser: Enable rule selector source range extraction.
38676         API modification followed by clients.
38677         https://bugs.webkit.org/show_bug.cgi?id=46367
38678
38679         Some code removal suggested by Darin Adler.
38680
38681         * css/CSSGrammar.y:
38682         * css/CSSParser.cpp:
38683         (WebCore::CSSParser::CSSParser):
38684         (WebCore::CSSParser::parseSheet):
38685         (WebCore::CSSParser::parseDeclaration):
38686         (WebCore::CSSParser::createStyleRule):
38687         (WebCore::CSSParser::markSelectorListStart):
38688         (WebCore::CSSParser::markSelectorListEnd):
38689         (WebCore::CSSParser::markRuleBodyStart):
38690         (WebCore::CSSParser::markRuleBodyEnd):
38691         (WebCore::CSSParser::markPropertyStart):
38692         (WebCore::CSSParser::markPropertyEnd):
38693         * css/CSSParser.h:
38694         (WebCore::CSSParser::resetSelectorListMarks):
38695         (WebCore::CSSParser::resetRuleBodyMarks):
38696         (WebCore::CSSParser::resetPropertyMarks):
38697         * css/CSSPropertySourceData.cpp:
38698         * css/CSSPropertySourceData.h:
38699         (WebCore::CSSRuleSourceData::create):
38700         * inspector/InspectorCSSStore.cpp:
38701         (WebCore::InspectorCSSStore::getRuleSourceData):
38702         (WebCore::InspectorCSSStore::extractRanges):
38703         (WebCore::InspectorCSSStore::getStyleAttributeRanges):
38704         * inspector/InspectorCSSStore.h:
38705         * inspector/InspectorDOMAgent.cpp:
38706         (WebCore::InspectorDOMAgent::getStyleSourceData):
38707
38708 2010-10-06  Dirk Schulze  <krit@webkit.org>
38709
38710         Added reviewer to commit r69187.
38711
38712 2010-10-06  Dirk Schulze  <krit@webkit.org>
38713
38714         Reviewed by Nikolas Zimmermann.
38715
38716         SVG feMorphology - big radii cause huge ImageBuffer sizes
38717         https://bugs.webkit.org/show_bug.cgi?id=47263
38718
38719         The current code in FEMorphology::determineAbsolutePaintRect calculates the smallest paint rect by inflate the paint rect
38720         of a previous effect with the radius. This was meant as an optimization, but I forgot to clip the calculated image size
38721         by the maximal effect size. This caused huge image sizes for big radii.
38722
38723         This is covered by svg/filters/feMorphology-invalid-radius.svg and fixes the crashes on Windows and Snow Leopard bots.
38724
38725         * platform/graphics/filters/FEMorphology.cpp:
38726         (WebCore::FEMorphology::determineAbsolutePaintRect):
38727
38728 2010-10-06  Alejandro G. Castro  <alex@igalia.com>
38729
38730         Reviewed by Dirk Schulze.
38731
38732         Fixed crash in gtk bots (filter-empty-g.svg) after r69181.
38733
38734         * rendering/RenderSVGResourceFilter.cpp:
38735         (WebCore::RenderSVGResourceFilter::postApplyResource):
38736
38737 2010-10-06  Antonio Gomes  <agomes@rim.org>
38738
38739         Reviewed by Kenneth Rohde Christiansen.
38740
38741         Rename HitTestResult::rectFromPoint to rectForPoint
38742         https://bugs.webkit.org/show_bug.cgi?id=47261
38743
38744         As per Kenneth Christiansen request inhttps://bugs.webkit.org/show_bug.cgi?id=46336#c20.
38745
38746         * WebCore.exp.in:
38747         * dom/Document.cpp:
38748         (WebCore::Document::nodesFromRect):
38749         * rendering/EllipsisBox.cpp:
38750         (WebCore::EllipsisBox::nodeAtPoint):
38751         * rendering/HitTestResult.cpp:
38752         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
38753         (WebCore::HitTestResult::rectForPoint):
38754         * rendering/HitTestResult.h:
38755         (WebCore::HitTestResult::rectForPoint):
38756         * rendering/InlineFlowBox.cpp:
38757         (WebCore::InlineFlowBox::nodeAtPoint):
38758         * rendering/InlineTextBox.cpp:
38759         (WebCore::InlineTextBox::nodeAtPoint):
38760         * rendering/RenderBlock.cpp:
38761         (WebCore::RenderBlock::nodeAtPoint):
38762         (WebCore::RenderBlock::hitTestColumns):
38763         * rendering/RenderBox.cpp:
38764         (WebCore::RenderBox::nodeAtPoint):
38765         * rendering/RenderLayer.cpp:
38766         (WebCore::RenderLayer::hitTestLayer):
38767         (WebCore::RenderLayer::hitTestChildLayerColumns):
38768         * rendering/RenderTable.cpp:
38769         (WebCore::RenderTable::nodeAtPoint):
38770         * rendering/RenderTableSection.cpp:
38771         (WebCore::RenderTableSection::nodeAtPoint):
38772
38773 2010-10-06  Dirk Schulze  <krit@webkit.org>
38774
38775         Reviewed by Martin Robinson.
38776
38777         SVGs with filters look grainy when scaled
38778         https://bugs.webkit.org/show_bug.cgi?id=5526
38779
38780         Fixed issues on Cairos shadow implementation after the changes to FilterEffects.
38781         Cairo calculates the inflation of the effect rect itself. Respect this for FEGaussianBlur.
38782         This is just a temporary solution, since Cairo and Qt will use ContextShadow soon.
38783
38784         * platform/graphics/GraphicsContext.h:
38785         * platform/graphics/cairo/GraphicsContextCairo.cpp:
38786         (WebCore::drawBorderlessRectShadow):
38787         (WebCore::GraphicsContext::applyPlatformShadow):
38788         (WebCore::GraphicsContext::createShadowMask):
38789         (WebCore::GraphicsContext::drawTiledShadow):
38790         (WebCore::GraphicsContext::fillRoundedRect):
38791         * platform/graphics/filters/ImageBufferFilter.cpp:
38792         (WebCore::ImageBufferFilter::ImageBufferFilter):
38793         (WebCore::ImageBufferFilter::create):
38794         * platform/graphics/filters/ImageBufferFilter.h:
38795         (WebCore::ImageBufferFilter::filterRegion):
38796         (WebCore::ImageBufferFilter::sourceImageRect):
38797
38798 2010-10-06  Nikolas Zimmermann  <nzimmermann@rim.com>
38799
38800         Reviewed by Dirk Schulze.
38801
38802         Only execute first SVG text layout phase if needed
38803         https://bugs.webkit.org/show_bug.cgi?id=47254
38804
38805         The first SVG text layout phase which computes the per-character metrics and extracts
38806         the x/y/dx/dy/rotate values from the SVG DOM is currently executed upon every RenderSVGText::layout() call.
38807
38808         Optimize this, by only calling it:
38809         - if x/y/dx/dy/rotate value lists change
38810         - the style of a RenderSVGInlineText changes (eg. font-size changes influence metrics)
38811         - the text content of any of the children in the <text> subtree change
38812
38813         No change in layout tests, a pure performance change - covered by existing tests.
38814
38815         * rendering/RenderSVGResourceGradient.cpp:
38816         (WebCore::createMaskAndSwapContextForTextGradient): Adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
38817         (WebCore::clipToTextMask): Ditto.
38818         * rendering/SVGRenderSupport.cpp:
38819         * rendering/SVGRenderSupport.h: Move findTreeRootObject to RenderSVGText::locateRenderSVGTextAncestor().
38820         * rendering/svg/RenderSVGInline.cpp:
38821         (WebCore::RenderSVGInline::objectBoundingBox): adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
38822         (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
38823         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
38824         (WebCore::RenderSVGInline::absoluteQuads): Ditto.
38825         * rendering/svg/RenderSVGInlineText.cpp:
38826         (WebCore::RenderSVGInlineText::styleDidChange): Call setNeedsPositioningValuesUpdate() on the RenderSVGText root object, if diff == StyleDifferenceLayout.
38827         * rendering/svg/RenderSVGText.cpp:
38828         (WebCore::RenderSVGText::RenderSVGText): Initialize m_needsPositioningValuesUpdate.
38829         (WebCore::RenderSVGText::locateRenderSVGTextAncestor): New helper function, moved from SVGRenderSupport, to a more sensible place.
38830         (WebCore::RenderSVGText::layout): Only execute the first SVG text layout phase, if m_needsPositioningValuesUpdate=true.
38831         * rendering/svg/RenderSVGText.h:
38832         (WebCore::RenderSVGText::setNeedsPositioningValuesUpdate):
38833         (WebCore::toRenderSVGText): Add new helper casting methods, like most other renderers have.
38834         * svg/SVGTextPositioningElement.cpp:
38835         (WebCore::updatePositioningValuesInRenderer):
38836         (WebCore::SVGTextPositioningElement::svgAttributeChanged): If x/y/dx/dy/rotate changes, call setNeedsPositioningValuesUpdate on the RenderSVGText root object.
38837         (WebCore::SVGTextPositioningElement::childrenChanged): If any children changes (addition, removal), do the same.
38838         * svg/SVGTextPositioningElement.h:
38839
38840 2010-10-05  Andrey Kosyakov  <caseq@chromium.org>
38841
38842         Reviewed by Yury Semikhatsky.
38843
38844         Web Inspector: [Extensions API] Expose access to resource bodies
38845         Added support for encoding resource in WebInspector.getResourceContent()
38846         https://bugs.webkit.org/show_bug.cgi?id=45953
38847
38848         * inspector/Inspector.idl: Added encoding parameter to getResourceContent()
38849         * inspector/InspectorController.cpp:
38850         (WebCore::InspectorController::getResourceContent):
38851         * inspector/InspectorController.h:
38852         * inspector/InspectorResource.cpp: Added sourceBytes() to return encoded representation of resource's binary body.
38853         (WebCore::InspectorResource::sourceBytes):
38854         * inspector/InspectorResource.h:
38855         * inspector/front-end/ExtensionAPI.js:
38856         (WebInspector.injectedExtensionAPI.Resources.prototype.getContent):
38857         * inspector/front-end/ExtensionServer.js:
38858         (WebInspector.ExtensionServer):
38859         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
38860         (WebInspector.ExtensionServer.prototype._onGetResourceContent.onContentAvailable):
38861         (WebInspector.getEncodedResourceContent):
38862         * inspector/front-end/NetworkPanel.js:
38863         (WebInspector.getResourceContent):
38864         * inspector/front-end/ResourcesPanel.js:
38865         (WebInspector.getResourceContent):
38866
38867 2010-10-06  David Hyatt  <hyatt@apple.com>
38868
38869         Reviewed by Dan Bernstein.
38870
38871         https://bugs.webkit.org/show_bug.cgi?id=47235
38872         
38873         Make "lr" block-flow fieldsets work.
38874         
38875         (1) Patched html.css rules for legends and fieldsets to use logical margins and padding.
38876         (2) Converted just enough of computePreferredLogicalWidths to make basic examples work.
38877         (3) Removed the extra border drawing code from fieldsets so that the "clip out the legend" approach
38878         is now just always used.  It's silly to keep the old border drawing code in (which has already gotten out
38879         of sync with the base class) just to avoid a save/restore and some clipping.
38880         (4) Modified the layout/painting routines to place the legend properly and to be able to draw it in
38881         both the top and the left borders.
38882
38883         Added fast/blockflow/fieldsets.html
38884
38885         * css/html.css:
38886         (legend):
38887         (fieldset):
38888         * rendering/RenderBlock.cpp:
38889         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
38890         (WebCore::RenderBlock::setLogicalLeftForChild):
38891         (WebCore::RenderBlock::setLogicalTopForChild):
38892         (WebCore::RenderBlock::layoutBlockChild):
38893         (WebCore::RenderBlock::computePreferredLogicalWidths):
38894         * rendering/RenderBlock.h:
38895         * rendering/RenderFieldset.cpp:
38896         (WebCore::RenderFieldset::layoutLegend):
38897         (WebCore::RenderFieldset::paintBoxDecorations):
38898         (WebCore::RenderFieldset::paintMask):
38899         * rendering/RenderFieldset.h:
38900
38901 2010-10-06  Patrick Gansterer  <paroga@webkit.org>
38902
38903         Reviewed by Darin Adler.
38904
38905         Move parseDataUrl() from CURL into own file
38906         https://bugs.webkit.org/show_bug.cgi?id=41462
38907
38908         Move the data URL parsing algorithm into a new file to use it in ResourceHandleWin too.
38909
38910         * CMakeLists.txt:
38911         * WebCore.gypi:
38912         * WebCore.vcproj/WebCore.vcproj:
38913         * platform/network/DataURL.cpp: Added.
38914         (WebCore::handleDataURL):
38915         * platform/network/DataURL.h: Added.
38916         * platform/network/curl/ResourceHandleManager.cpp:
38917         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
38918         (WebCore::ResourceHandleManager::startJob):
38919         * platform/network/win/ResourceHandleWin.cpp:
38920         (WebCore::ResourceHandle::start):
38921         (WebCore::ResourceHandle::fileLoadTimer):
38922
38923 2010-10-06  Dirk Schulze  <krit@webkit.org>
38924
38925         Reviewed by Nikolas Zimmermann.
38926
38927         SVGs with filters look grainy when scaled
38928         https://bugs.webkit.org/show_bug.cgi?id=5526
38929
38930         SVG filter effects need smarter size calculation
38931         https://bugs.webkit.org/show_bug.cgi?id=31370
38932
38933         SVG elements use Filters before own transformations
38934         https://bugs.webkit.org/show_bug.cgi?id=32486
38935
38936         Calculate all filter results in device space instead of the filtered objects user space. This change is similar to
38937         the patches for SVG Pattern and SVG Masker before. It avoids pixelation and guarantees smooth filter results for
38938         every scale level and is independent of any transformation to the target element or any ancester of the target.
38939         The second part of this patch reduces the size of every effect to the smallest affected region instead of the complete
38940         filter primitive subregion (http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion). We just use the subregion
38941         as clipping region, like mentioned in the SVG specification, to make the affected region even smaller now.
38942
38943         This is a huge speed up. The ECMA cloud (http://ejohn.org/files/ecma-cloud.svg) is more than 100 times faster on Gtk and
38944         renders in less than a second.
38945         Some examples on svg-wow.org can be viewed the first time now, since the subregions were much bigger than the affected
38946         region.
38947         There's still more potential to speed up filters, by further reducing the ImageBuffer sizes.
38948         Renamed repaintRectInLocalCoordinates to absolutePaintRect, since all coordinates are in device space instead of the
38949         user space now.
38950         The absolute paint rect is calculated by determineAbsolutePaintRect() and gets called by FilterEffect::effectContext() on
38951         applying the effect.
38952         Partly rewrote filter resolution (http://www.w3.org/TR/SVG/filters.html#FilterElementFilterResAttribute) to work with the
38953         new concept. This also corrects the old behavior to match the SVG specification.
38954
38955         Tests: svg/filters/filterRes1.svg
38956                svg/filters/filterRes2.svg
38957                svg/filters/filterRes3.svg
38958
38959         * platform/graphics/cairo/GraphicsContextCairo.cpp: Call setAbsolutePaintRect instead of setRepaintRectInLocalCoordinates.
38960         (WebCore::GraphicsContext::createShadowMask):
38961         * platform/graphics/filters/FEBlend.cpp: Renamed repaintRectInLocalCoordinates to absolutePaintRect.
38962         (WebCore::FEBlend::apply):
38963         * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
38964         (WebCore::FEColorMatrix::apply):
38965         * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
38966         (WebCore::FEComponentTransfer::apply):
38967         * platform/graphics/filters/FEComposite.cpp: Ditto.
38968         (WebCore::FEComposite::determineAbsolutePaintRect):
38969         (WebCore::FEComposite::apply):
38970         * platform/graphics/filters/FEComposite.h:
38971         * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
38972         (WebCore::FEConvolveMatrix::apply):
38973         * platform/graphics/filters/FEConvolveMatrix.h:
38974         (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
38975         * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
38976         (WebCore::FEDisplacementMap::apply):
38977         * platform/graphics/filters/FEDisplacementMap.h:
38978         (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
38979         * platform/graphics/filters/FEFlood.cpp: Ditto.
38980         (WebCore::FEFlood::apply):
38981         * platform/graphics/filters/FEFlood.h:
38982         (WebCore::FEFlood::determineAbsolutePaintRect):
38983         * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
38984         (WebCore::calculateKernelSize):
38985         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
38986         (WebCore::FEGaussianBlur::apply):
38987         * platform/graphics/filters/FEGaussianBlur.h:
38988         * platform/graphics/filters/FELighting.cpp: Ditto.
38989         (WebCore::FELighting::apply):
38990         * platform/graphics/filters/FEMerge.cpp: Ditto.
38991         (WebCore::FEMerge::apply):
38992         * platform/graphics/filters/FEMorphology.cpp: Ditto.
38993         (WebCore::FEMorphology::determineAbsolutePaintRect):
38994         (WebCore::FEMorphology::apply):
38995         * platform/graphics/filters/FEMorphology.h:
38996         * platform/graphics/filters/FEOffset.cpp: Ditto.
38997         (WebCore::FEOffset::determineAbsolutePaintRect):
38998         (WebCore::FEOffset::apply):
38999         * platform/graphics/filters/FEOffset.h:
39000         * platform/graphics/filters/FETile.cpp: Ditto.
39001         (WebCore::FETile::determineFilterPrimitiveSubregion):
39002         (WebCore::FETile::apply):
39003         * platform/graphics/filters/FETile.h:
39004         (WebCore::FETile::determineAbsolutePaintRect):
39005         * platform/graphics/filters/FETurbulence.cpp: Ditto.
39006         (WebCore::FETurbulence::apply):
39007         * platform/graphics/filters/FETurbulence.h:
39008         (WebCore::FETurbulence::determineAbsolutePaintRect):
39009         * platform/graphics/filters/Filter.h:
39010         (WebCore::Filter::applyHorizontalScale): Map horizontal effect values to absolute coordinates.
39011         (WebCore::Filter::applyVerticalScale): Map vertical effect values to absolute coordinates.
39012         (WebCore::Filter::mapAbsolutePointToLocalPoint):
39013         (WebCore::Filter::filterRegionInUserSpace):
39014         * platform/graphics/filters/FilterEffect.cpp: Ditto.
39015         (WebCore::FilterEffect::determineFilterPrimitiveSubregion):
39016         (WebCore::FilterEffect::determineAbsolutePaintRect):
39017         (WebCore::FilterEffect::requestedRegionOfInputImageData):
39018         (WebCore::FilterEffect::drawingRegionOfInputImage):
39019         (WebCore::FilterEffect::effectContext):
39020         * platform/graphics/filters/FilterEffect.h:
39021         (WebCore::FilterEffect::absolutePaintRect):
39022         (WebCore::FilterEffect::setAbsolutePaintRect):
39023         (WebCore::FilterEffect::maxEffectRect): The subregion in absolute coordinates for SVG.
39024         (WebCore::FilterEffect::setMaxEffectRect):
39025         * platform/graphics/filters/SourceAlpha.cpp: Ditto.
39026         (WebCore::SourceAlpha::determineAbsolutePaintRect):
39027         (WebCore::SourceAlpha::apply):
39028         * platform/graphics/filters/SourceAlpha.h:
39029         * platform/graphics/filters/SourceGraphic.cpp: Ditto.
39030         (WebCore::SourceGraphic::determineAbsolutePaintRect):
39031         (WebCore::SourceGraphic::apply):
39032         * platform/graphics/filters/SourceGraphic.h:
39033         * rendering/RenderSVGResourceFilter.cpp:
39034         (WebCore::RenderSVGResourceFilter::applyResource):
39035         (WebCore::RenderSVGResourceFilter::postApplyResource):
39036         * rendering/RenderSVGResourceFilter.h:
39037         (WebCore::FilterData::FilterData):
39038         * svg/graphics/filters/SVGFEImage.cpp: Ditto.
39039         (WebCore::FEImage::apply):
39040         * svg/graphics/filters/SVGFEImage.h:
39041         (WebCore::FEImage::determineAbsolutePaintRect):
39042         * svg/graphics/filters/SVGFilter.cpp:
39043         (WebCore::SVGFilter::SVGFilter):
39044         (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
39045         (WebCore::SVGFilter::applyHorizontalScale):
39046         (WebCore::SVGFilter::applyVerticalScale):
39047         (WebCore::SVGFilter::create):
39048         * svg/graphics/filters/SVGFilter.h:
39049         (WebCore::SVGFilter::effectBoundingBoxMode):
39050         (WebCore::SVGFilter::filterRegionInUserSpace):
39051         (WebCore::SVGFilter::filterRegion):
39052         (WebCore::SVGFilter::mapAbsolutePointToLocalPoint): Map absolute point to local point in userspace.
39053         (WebCore::SVGFilter::sourceImageRect):
39054         (WebCore::SVGFilter::maxImageSize):
39055
39056 2010-10-06  Pavel Podivilov  <podivilov@chromium.org>
39057
39058         Reviewed by Yury Semikhatsky.
39059
39060         Web Inspector: add "Set Breakpoint" item to XHR resource context menu.
39061         https://bugs.webkit.org/show_bug.cgi?id=47085
39062
39063         * English.lproj/localizedStrings.js:
39064         * inspector/front-end/ResourcesPanel.js:
39065         (WebInspector.ResourcesPanel.prototype._contextMenu):
39066
39067 2010-10-05  Kinuko Yasuda  <kinuko@chromium.org>
39068
39069         Reviewed by David Levin.
39070
39071         Add idl and mock classes for FileSystemSync for FileSystem API
39072         https://bugs.webkit.org/show_bug.cgi?id=46405
39073
39074         Added bunch of *Sync classes, plus refactored some classes:
39075         Added DOMFileSystemBase as a common base class for DOMFileSystem and
39076         DOMFileSystemSync.
39077         Added EntryBase as a common base class for Entry and EntrySync.
39078         Added DirectoryReaderBase as a common base class for DirectoryReader and
39079         DirectoryReaderSync.
39080
39081         Test: fast/filesystem/workers/
39082
39083         * CMakeLists.txt: Added new files.
39084         * DerivedSources.cpp: Added new files.
39085         * DerivedSources.make: Added new files.
39086         * GNUmakefile.am: Added new files.
39087         * WebCore.gypi: Added new files.
39088         * WebCore.pri: Added new files.
39089         * WebCore.pro: Added new files.
39090         * WebCore.vcproj/WebCore.vcproj: Added new files. Also removed the duplicated fileapi\FileEntry.cpp entry.
39091         * WebCore.xcodeproj/project.pbxproj: Added new files.
39092         * bindings/js/JSDirectoryEntrySyncCustom.cpp: Added.
39093         * bindings/js/JSEntrySyncCustom.cpp: Added.
39094         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Added.
39095         * bindings/v8/custom/V8EntrySyncCustom.cpp: Added.
39096         * fileapi/DOMFileSystemBase.cpp: Added.
39097         * fileapi/DOMFileSystemBase.h: Added.
39098         * fileapi/DOMFileSystemSync.cpp: Added.
39099         * fileapi/DOMFileSystemSync.h: Added.
39100         * fileapi/DOMFileSystemSync.idl: Added.
39101         * fileapi/DirectoryEntrySync.cpp: Added.
39102         * fileapi/DirectoryEntrySync.h: Added.
39103         * fileapi/DirectoryEntrySync.idl: Added.
39104         * fileapi/DirectoryReaderBase.h: Added.
39105         * fileapi/DirectoryReaderSync.cpp: Added.
39106         * fileapi/DirectoryReaderSync.h: Added.
39107         * fileapi/DirectoryReaderSync.idl: Added.
39108         * fileapi/EntryArraySync.cpp: Added.
39109         * fileapi/EntryArraySync.h: Added.
39110         * fileapi/EntryArraySync.idl: Added.
39111         * fileapi/EntryBase.h: Added.
39112         * fileapi/EntrySync.cpp: Added.
39113         * fileapi/EntrySync.h: Added.
39114         * fileapi/EntrySync.idl: Added.
39115         * fileapi/FileEntrySync.cpp: Added.
39116         * fileapi/FileEntrySync.h: Added.
39117         * fileapi/FileEntrySync.idl: Added.
39118
39119 2010-10-05  Kent Tamura  <tkent@chromium.org>
39120
39121         Reviewed by Dimitri Glazkov.
39122
39123         REGRESSION (r67166): "Placeholder" text remains in input box after 2nd focus()
39124         https://bugs.webkit.org/show_bug.cgi?id=45940
39125
39126         Test: fast/forms/input-placeholder-focus-twice.html
39127
39128         * html/HTMLFormControlElement.h: Make supportsPlaceholder() public.
39129         * rendering/RenderTextControlSingleLine.cpp:
39130         (WebCore::RenderTextControlSingleLine::updateFromElement):
39131          We always need to update the renderer value with the DOM value if
39132          the element supports the placeholder feature.
39133          Note: the placeholder feature and "unacceptable renderer value"
39134          are exclusive.
39135
39136 2010-10-05  Kyusun Kim  <maniagoon@company100.net>
39137
39138         Reviewed by Kent Tamura.
39139
39140         [BREWMP] Translate key code in PlatformKeyboardEvent with IKeysMapping
39141         https://bugs.webkit.org/show_bug.cgi?id=47234
39142
39143         Brew MP devices have a variey of key configurations and use modifiers to
39144         input capital letters, symbols and special characters. Use IKeysMapping to translate key code.
39145
39146         * platform/brew/PlatformKeyboardEventBrew.cpp:
39147         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
39148
39149 2010-10-05  W. James MacLean  <wjmaclean@chromium.org>
39150
39151         Reviewed by James Robinson.
39152
39153         [chromium] Add mipmap support for ImageLayerChromium
39154         https://bugs.webkit.org/show_bug.cgi?id=46493
39155
39156         Mipmap behaviour can be tested with existing tests.
39157         Tests in LayoutTests/compositing/images/ will detect if
39158         mipmaps fail.
39159
39160         * platform/graphics/chromium/ContentLayerChromium.cpp:
39161         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
39162         (WebCore::isPowerOfTwo):
39163         (WebCore::ContentLayerChromium::updateTextureRect):
39164         * platform/graphics/chromium/ContentLayerChromium.h:
39165         (WebCore::ContentLayerChromium::SharedValues::npotSupported):
39166         * platform/graphics/chromium/ImageLayerChromium.cpp:
39167         (WebCore::ImageLayerChromium::updateContents):
39168
39169 2010-10-05  Adam Barth  <abarth@webkit.org>
39170
39171         Reviewed by Darin Adler.
39172
39173         Issue in treebuilder parsing related to table tags
39174         https://bugs.webkit.org/show_bug.cgi?id=47190
39175
39176         Update ASSERT to match the spec and our behavior.
39177
39178         * html/parser/HTMLTreeBuilder.cpp:
39179         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
39180
39181 2010-10-05  Victoria Kirst  <vrk@google.com>
39182
39183         Reviewed by James Robinson.
39184
39185         VideoLayerChromium releases old resources if the LayerRenderer changes.
39186         https://bugs.webkit.org/show_bug.cgi?id=47030
39187
39188         Refactored LayerChromium to have a virtual cleanupResources() method
39189         that will release textures/other context-dependent resources when a
39190         LayerRenderer changes. ContentLayerChromium and VideoLayerChromium now
39191         override this method to perform cleanup.
39192
39193         * platform/graphics/chromium/ContentLayerChromium.cpp:
39194         * platform/graphics/chromium/ContentLayerChromium.h:
39195         * platform/graphics/chromium/LayerChromium.cpp:
39196         (WebCore::LayerChromium::setLayerRenderer):
39197         * platform/graphics/chromium/LayerChromium.h:
39198         (WebCore::LayerChromium::cleanupResources):
39199         * platform/graphics/chromium/VideoLayerChromium.cpp:
39200         (WebCore::VideoLayerChromium::~VideoLayerChromium):
39201         (WebCore::VideoLayerChromium::cleanupResources):
39202         * platform/graphics/chromium/VideoLayerChromium.h:
39203
39204 2010-10-05  Kinuko Yasuda  <kinuko@chromium.org>
39205
39206         Reviewed by Jian Li.
39207
39208         FileEntry::file needs to be implemented
39209         https://bugs.webkit.org/show_bug.cgi?id=47192
39210
39211         Test: fast/filesystem/file-from-file-entry.html
39212
39213         * fileapi/FileEntry.cpp:
39214         (WebCore::FileEntry::file): Implemented.
39215
39216 2010-09-29  Alpha Lam  <hclam@chromium.org>
39217
39218         Reviewed by James Robinson.
39219
39220         Render textures in video frame directly.
39221         https://bugs.webkit.org/show_bug.cgi?id=46765
39222
39223         Render textures in VideoLayerChromium directly if the video frame type
39224         is GL texture. In the future VideoLayerChromium will not allocate
39225         textures and perform textures upload as those operations will be done
39226         in Chromium to minimize memory copy. This patch will help moving toward
39227         this direction and facilitate hardware video decoding.
39228
39229         * platform/graphics/chromium/VideoFrameChromium.h:
39230         * platform/graphics/chromium/VideoFrameProvider.h:
39231         (WebCore::VideoFrameProvider::~VideoFrameProvider):
39232         * platform/graphics/chromium/VideoLayerChromium.cpp:
39233         (WebCore::VideoLayerChromium::VideoLayerChromium):
39234         (WebCore::VideoLayerChromium::~VideoLayerChromium):
39235         (WebCore::VideoLayerChromium::updateContents):
39236         (WebCore::VideoLayerChromium::draw):
39237         (WebCore::VideoLayerChromium::releaseCurrentFrame):
39238         (WebCore::VideoLayerChromium::resetFrameParameters):
39239         (WebCore::VideoLayerChromium::saveCurrentFrame):
39240         * platform/graphics/chromium/VideoLayerChromium.h:
39241         (WebCore::VideoLayerChromium::SharedValues::initialized):
39242
39243 2010-10-05  Fady Samuel  <fsamuel@chromium.org>
39244
39245         Reviewed by Darin Adler.
39246
39247         REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages
39248         https://bugs.webkit.org/show_bug.cgi?id=45131
39249
39250         When border-collapse: separate property is set on the table, paintObject
39251         may skip repainting cells, if the dirty region only touches one row/col of pixels.
39252
39253         Test: fast/table/simple_paint_separate_borders.html
39254
39255         * rendering/RenderTableSection.cpp:
39256         (WebCore::RenderTableSection::paintObject):  
39257             Don't subtract one from the right and bottom of the dirty paint rect.
39258
39259 2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
39260
39261         Reviewed by Darin Fisher.
39262
39263         PluginDocument now holds on to the created plugin node so that the pluginNode() and pluginWidget() methods can return the correct node.
39264         https://bugs.webkit.org/show_bug.cgi?id=47129
39265
39266         * html/PluginDocument.cpp:
39267         (WebCore::PluginDocumentParser::createDocumentStructure):
39268         (WebCore::PluginDocument::pluginWidget):
39269         (WebCore::PluginDocument::pluginNode):
39270         * html/PluginDocument.h:
39271         (WebCore::PluginDocument::setPluginNode):
39272
39273 2010-10-05  Andreas Kling  <kling@webkit.org>
39274
39275         Reviewed by Tor Arne Vestbø.
39276
39277         [Qt] Re-enable single-NPP_SetWindow quirk for 64-bit
39278         https://bugs.webkit.org/show_bug.cgi?id=45363
39279
39280         This is still causing trouble for people, so let's put the
39281         quirk back until we can figure this out properly.
39282
39283         * plugins/PluginPackage.cpp:
39284         (WebCore::PluginPackage::determineQuirks):
39285
39286 2010-10-05  Jian Li  <jianli@chromium.org>
39287
39288         Reviewed by Nate Chapin.
39289
39290         [V8] Add FileReader to active DOM map
39291         https://bugs.webkit.org/show_bug.cgi?id=47205
39292
39293         We need to have a custom FileReader V8 constructor in order to add object
39294         into active DOM map to prevent it from GC-ed when it is still in-use.
39295
39296         * Android.v8bindings.mk:
39297         * WebCore.gypi:
39298         * bindings/scripts/CodeGeneratorV8.pm:
39299         * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
39300         (WebCore::V8FileReader::constructorCallback):
39301         * fileapi/FileReader.idl:
39302
39303 2010-10-05  Vincent Scheib  <scheib@chromium.org>
39304
39305         Reviewed by Kenneth Russell.
39306
39307         [chromium] 51304 GPU compositor resorts to "slow" text rendering for base page layer
39308         https://bugs.webkit.org/show_bug.cgi?id=47193
39309
39310         Test: Accelerated compositor test infrastructure still coming online. Tested manually.
39311
39312         * platform/graphics/chromium/LayerRendererChromium.cpp:
39313         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
39314         (WebCore::LayerRendererChromium::prepareToDrawLayers):
39315         (WebCore::LayerRendererChromium::drawLayers):
39316
39317 2010-10-05  Nico Weber  <thakis@chromium.org>
39318
39319         Reviewed by Andreas Kling.
39320
39321         Fix clang build
39322         https://bugs.webkit.org/show_bug.cgi?id=47198
39323
39324         * page/Chrome.h:
39325         Declare ViewportArguments as struct, not as class.
39326
39327 2010-10-05  David Hyatt  <hyatt@apple.com>
39328
39329         Reviewed by Sam Weinig.
39330
39331         https://bugs.webkit.org/show_bug.cgi?id=47204
39332         
39333         Make isSelfCollapsingBlock use logical height instead of height in all its checks.
39334
39335         Added fast/blockflow/self-collapsing-block.html
39336
39337         * rendering/RenderBlock.cpp:
39338         (WebCore::RenderBlock::isSelfCollapsingBlock):
39339
39340 2010-10-05  Eric Uhrhane  <ericu@chromium.org>
39341
39342         Reviewed by David Levin.
39343
39344         Relax restrictions on FileWriter::didWrite calls
39345         https://bugs.webkit.org/show_bug.cgi?id=47139
39346
39347         No new tests; they're still waiting on the first implementation.
39348
39349         * fileapi/FileWriter.cpp:
39350         (WebCore::FileWriter::FileWriter):
39351         (WebCore::FileWriter::write):
39352         (WebCore::FileWriter::didWrite):
39353         * fileapi/FileWriter.h:
39354
39355 2010-10-05  Daniel Cheng  <dcheng@chromium.org>
39356
39357         Reviewed by Tony Chang.
39358
39359         [chromium] getData('text/uri-list') should return the same thing that was passed to setData('text/uri-list')
39360         https://bugs.webkit.org/show_bug.cgi?id=46943
39361
39362         We no longer parse the input of setData('text/uri-list') and only store
39363         the valid URLs that were parsed out.
39364
39365         Test: editing/pasteboard/dataTransfer-setData-getData.html
39366
39367         * platform/chromium/ChromiumDataObject.cpp:
39368         (WebCore::ChromiumDataObject::clearData):
39369         (WebCore::ChromiumDataObject::clearAllExceptFiles):
39370         (WebCore::ChromiumDataObject::types):
39371         (WebCore::ChromiumDataObject::getData):
39372         (WebCore::ChromiumDataObject::setData):
39373         * platform/chromium/ChromiumDataObject.h:
39374
39375 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
39376
39377         Reviewed by Xan Lopez.
39378
39379         [GTK] Support FontPlatformData::isFixedPitch for custom fonts
39380         https://bugs.webkit.org/show_bug.cgi?id=47124
39381
39382         Instead of determining whether or not a font is a fixed-width font
39383         lazily, do it up front. For fonts not backed by Fontconfig patterns,
39384         fetch information about whether or not the font is fixed-width from
39385         the FreeType face.
39386
39387         No new tests as this should not change functionality.
39388
39389         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
39390         (WebCore::FontPlatformData::FontPlatformData): Initialize the m_fixedWidth member
39391         from the Fontconfig pattern or the FreeType face.
39392         (WebCore::FontPlatformData::operator=): Copy over the m_fixedWidth member.
39393         (WebCore::FontPlatformData::isFixedPitch): Just return the value of the m_fixedWidth member.
39394         * platform/graphics/cairo/FontPlatformDataFreeType.h: Added an m_fixedWidth member.
39395
39396 2010-10-05  David Hyatt  <hyatt@apple.com>
39397
39398         Reviewed by Anders Carlsson.
39399
39400         https://bugs.webkit.org/show_bug.cgi?id=47199
39401         
39402         Make float positioning work in block layout with block children.
39403         It doesn't work yet from inside line layout, since line layout is unpatched.
39404
39405         Added fast/blockflow/floats-in-block-layout.html
39406
39407         * rendering/RenderBlock.cpp:
39408         (WebCore::RenderBlock::adjustFloatingBlock):
39409         (WebCore::RenderBlock::setLogicalLeftForChild):
39410         (WebCore::RenderBlock::setLogicalTopForChild):
39411         (WebCore::RenderBlock::insertFloatingObject):
39412         (WebCore::RenderBlock::positionNewFloats):
39413         (WebCore::RenderBlock::logicalLeftOffsetForLine):
39414         (WebCore::RenderBlock::logicalRightOffsetForLine):
39415         * rendering/RenderBlock.h:
39416         (WebCore::RenderBlock::FloatingObject::type):
39417         (WebCore::RenderBlock::FloatingObject::renderer):
39418         (WebCore::RenderBlock::logicalRightForFloat):
39419         (WebCore::RenderBlock::setLogicalTopForFloat):
39420         (WebCore::RenderBlock::setLogicalLeftForFloat):
39421         (WebCore::RenderBlock::setLogicalHeightForFloat):
39422         (WebCore::RenderBlock::setLogicalWidthForFloat):
39423
39424 2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
39425
39426         Reviewed by Kenneth Rohde Christiansen.
39427
39428         [Qt] Web process crash when pressing modifiers in input field
39429         https://bugs.webkit.org/show_bug.cgi?id=44935
39430
39431         Revert part of the http://trac.webkit.org/changeset/69105 due to a
39432         test regression.  Unix: Add ASSERTs to plugin related code. These
39433         will fail if Qt WebKit2 is used with plugins, unless code is not
39434         fixed before.
39435
39436         * plugins/qt/PluginViewQt.cpp:
39437         (WebCore::setXKeyEventSpecificFields): Use qKeyEvent, Use ASSERT as a reminder.
39438
39439 2010-10-05  Chris Rogers  <crogers@google.com>
39440
39441         Reviewed by Kenneth Russell.
39442
39443         Add AudioBasicProcessorNode files
39444         https://bugs.webkit.org/show_bug.cgi?id=46495
39445
39446         No new tests since audio API is not yet implemented.
39447
39448         * webaudio/AudioBasicProcessorNode.cpp: Added.
39449         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
39450         (WebCore::AudioBasicProcessorNode::initialize):
39451         (WebCore::AudioBasicProcessorNode::uninitialize):
39452         (WebCore::AudioBasicProcessorNode::process):
39453         (WebCore::AudioBasicProcessorNode::pullInputs):
39454         (WebCore::AudioBasicProcessorNode::reset):
39455         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
39456         (WebCore::AudioBasicProcessorNode::numberOfChannels):
39457         * webaudio/AudioBasicProcessorNode.h: Added.
39458         (WebCore::AudioBasicProcessorNode::processor):
39459
39460 2010-10-05  Chris Marrin  <cmarrin@apple.com>
39461
39462         Unreviewed.
39463
39464         The platform/graphics/gpu folder was mistakenly inside the filters folder.
39465         I moved it to the right place in the Group Tree.
39466
39467         * WebCore.xcodeproj/project.pbxproj:
39468
39469 2010-10-05  Chris Marrin  <cmarrin@apple.com>
39470
39471         Reviewed by Adam Roben.
39472
39473         Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash
39474         https://bugs.webkit.org/show_bug.cgi?id=47197
39475
39476         This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off
39477         by default). Many existing test cases will crash before and after this patch.
39478
39479         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
39480         (WebCore::SharedGraphicsContext3D::create):
39481
39482 2010-10-05  Tony Chang  <tony@chromium.org>
39483
39484         Reviewed by Kent Tamura.
39485
39486         [chromium] properly paint really small scrollbar arrows on linux
39487         https://bugs.webkit.org/show_bug.cgi?id=47109
39488
39489         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
39490         (WebCore::ScrollbarThemeChromiumLinux::buttonSize): Clamp button size based on available size.  This matches what
39491             we do on Win.
39492
39493 2010-10-05  Nate Chapin  <japhet@chromium.org>
39494
39495         Reviewed by David Levin.
39496
39497         Remove unused CachedResource::Status values (New and NotCached).
39498         https://bugs.webkit.org/show_bug.cgi?id=47132
39499
39500         Refactor only, no new tests.
39501
39502         * loader/CachedResource.h:
39503         * loader/CachedResourceLoader.cpp:
39504         (WebCore::CachedResourceLoader::checkCacheObjectStatus):
39505
39506 2010-10-04  Jeremy Orlow  <jorlow@chromium.org>
39507
39508         Reviewed by Nate Chapin.
39509
39510         Rename get* and open*Cursor per the spec on IDBIndex
39511         https://bugs.webkit.org/show_bug.cgi?id=46906
39512
39513         The spec changed so that:
39514         IDBIndex.get -> getKey
39515         IDBIndex.getObject -> get
39516         IDBIndex.openCursor -> openKeyCursor
39517         IDBIndex.openObjectCursor -> openCursor
39518
39519         Existing tests cover since this is just renaming stuff.
39520
39521         * storage/IDBIndex.cpp:
39522         (WebCore::IDBIndex::openCursor):
39523         (WebCore::IDBIndex::openKeyCursor):
39524         (WebCore::IDBIndex::get):
39525         (WebCore::IDBIndex::getKey):
39526         * storage/IDBIndex.h:
39527         * storage/IDBIndex.idl:
39528         * storage/IDBIndexBackendImpl.cpp:
39529         (WebCore::IDBIndexBackendImpl::openCursor):
39530         (WebCore::IDBIndexBackendImpl::openKeyCursor):
39531         (WebCore::IDBIndexBackendImpl::get):
39532         (WebCore::IDBIndexBackendImpl::getKey):
39533         * storage/IDBIndexBackendImpl.h:
39534         * storage/IDBIndexBackendInterface.h:
39535
39536 2010-10-05  Keith Kyzivat  <keith.kyzivat@nokia.com>
39537
39538         Reviewed by Simon Hausmann.
39539
39540         [Qt] Fix breakage in RVCT 2.2 compile
39541         https://bugs.webkit.org/show_bug.cgi?id=47187
39542
39543         Fix bug in RVCT 2.2 compile for Symbian^3 in html/canvas/Int32Array.h and 
39544         html/canvas/Uin8Array.h
39545         For RVCT2.2, the using clause is unneeded, and can be omitted.
39546
39547         A Test case cannot be made for this since this is a build-related issue.
39548
39549         * html/canvas/Int32Array.h:
39550         * html/canvas/Uint8Array.h:
39551
39552 2010-10-04  Andrei Popescu  <andreip@google.com>
39553
39554         Reviewed by Jeremy Orlow.
39555
39556         IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous.
39557         https://bugs.webkit.org/show_bug.cgi?id=46883
39558
39559         Makes the schema manipulation methods synchronous. Modifies the transaction
39560         logic to support tasks that may have pending events as well as tasks that
39561         don't have such events.
39562
39563         * storage/IDBDatabase.cpp:
39564         (WebCore::IDBDatabase::createObjectStore):
39565         (WebCore::IDBDatabase::removeObjectStore):
39566         * storage/IDBDatabase.h:
39567         * storage/IDBDatabase.idl:
39568         * storage/IDBDatabaseBackendImpl.cpp:
39569         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
39570         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
39571         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
39572         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
39573         * storage/IDBDatabaseBackendImpl.h:
39574         * storage/IDBDatabaseBackendInterface.h:
39575         * storage/IDBIndexBackendImpl.cpp:
39576         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
39577         * storage/IDBIndexBackendImpl.h:
39578         (WebCore::IDBIndexBackendImpl::create):
39579         (WebCore::IDBIndexBackendImpl::id):
39580         (WebCore::IDBIndexBackendImpl::setId):
39581         * storage/IDBObjectStore.cpp:
39582         (WebCore::IDBObjectStore::createIndex):
39583         (WebCore::IDBObjectStore::removeIndex):
39584         * storage/IDBObjectStore.h:
39585         * storage/IDBObjectStore.idl:
39586         * storage/IDBObjectStoreBackendImpl.cpp:
39587         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
39588         (WebCore::IDBObjectStoreBackendImpl::createIndex):
39589         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
39590         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
39591         (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
39592         * storage/IDBObjectStoreBackendImpl.h:
39593         (WebCore::IDBObjectStoreBackendImpl::create):
39594         (WebCore::IDBObjectStoreBackendImpl::id):
39595         (WebCore::IDBObjectStoreBackendImpl::setId):
39596         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
39597         * storage/IDBObjectStoreBackendInterface.h:
39598         * storage/IDBTransactionBackendImpl.cpp:
39599         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
39600         (WebCore::IDBTransactionBackendImpl::objectStore):
39601         (WebCore::IDBTransactionBackendImpl::scheduleTask):
39602         (WebCore::IDBTransactionBackendImpl::abort):
39603         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
39604         (WebCore::IDBTransactionBackendImpl::run):
39605         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
39606         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
39607         * storage/IDBTransactionBackendImpl.h:
39608
39609 2010-10-05  Chris Fleizach  <cfleizach@apple.com>
39610
39611         Reviewed by Darin Adler.
39612
39613         WAI-ARIA 'marquee' role live region uses aria-live="polite", should use aria-live="off"
39614         https://bugs.webkit.org/show_bug.cgi?id=47185
39615
39616         Test: platform/mac/accessibility/aria-liveregion-marquee-default.html
39617
39618         * accessibility/AccessibilityRenderObject.cpp:
39619         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
39620
39621 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
39622
39623         Reviewed by Xan Lopez.
39624
39625         [GTK] Interior scrollbars do not draw their background properly
39626         https://bugs.webkit.org/show_bug.cgi?id=47096
39627
39628         Correct the method that the GTK+ theme drawing code uses to
39629         draw scrolled window backgrounds. Now it uses gtk_paint_shadow,
39630         the same as the actual code from GTK+.
39631
39632         No new tests as this is very hard to write tests for. The bug only
39633         manifests on some GTK+ themes and we have no test harness mechanism
39634         for testing rendering with non-default GTK+ themes.
39635
39636         * platform/gtk/ScrollbarThemeGtk.cpp:
39637         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): No longer
39638         initialize the widget state, as it's unused by the callee.
39639         (WebCore::ScrollbarThemeGtk::paint): Remove an inaccurate comment.
39640         * platform/gtk/gtk2drawing.c:
39641         (moz_gtk_scrolled_window_paint): Paint scrolled window backgrounds
39642         with gtk_paint_shadow instead of gtk_paint_box.
39643
39644 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
39645
39646         Reviewed by Kent Tamura.
39647
39648         [BREWMP] Use PlatformRefPtr instead of OwnPtr in FileSystem
39649         https://bugs.webkit.org/show_bug.cgi?id=47025
39650
39651         PlatformRefPtr is a better choice here because all Brew MP instances are
39652         reference counted.
39653
39654         * platform/brew/FileSystemBrew.cpp:
39655         (WebCore::getFileSize):
39656         (WebCore::fileExists):
39657         (WebCore::deleteFile):
39658         (WebCore::deleteEmptyDirectory):
39659         (WebCore::canonicalPath):
39660         (WebCore::makeAllDirectories):
39661         (WebCore::openTemporaryFile):
39662
39663 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
39664
39665         Reviewed by Gustavo Noronha Silva.
39666
39667         [GTK] Complex text rendering does not render custom fonts
39668         https://bugs.webkit.org/show_bug.cgi?id=41091
39669
39670         For fonts that do not have a FontConfig pattern (including custom
39671         fonts), fall back to the simple text rendering path. This is a work-
39672         -around for not supporting Pango rendering with non-FontConfig fonts.
39673
39674         Test: platform/gtk/fonts/font-face-with-complex-text.html
39675
39676         * platform/graphics/gtk/FontGtk.cpp:
39677         (WebCore::Font::drawComplexText): Fall back to the simple path for custom fonts.
39678         (WebCore::Font::floatWidthForComplexText): Ditto.
39679         (WebCore::Font::offsetForPositionForComplexText): Ditto.
39680         (WebCore::Font::selectionRectForComplexText): Ditto.
39681
39682 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
39683
39684         Reviewed by Kent Tamura.
39685
39686         [BREWMP] Use PlatformRefPtr in getDisplayInfo
39687         https://bugs.webkit.org/show_bug.cgi?id=47023
39688
39689         Use PlatformRefPtr to release IBitmap* automatically.
39690
39691         * platform/brew/ScreenBrew.cpp:
39692         (WebCore::getDisplayInfo):
39693
39694 2010-10-05  Kristian Monsen  <kristianm@google.com>
39695
39696         Reviewed by Steve Block.
39697
39698         Including JavaScriptCore/config.h from WebCore/config.h
39699         instead of from WebCorePrefix.h.
39700         https://bugs.webkit.org/show_bug.cgi?id=47179
39701
39702         No new tests, just changing where files are included.
39703
39704         * WebCorePrefix.h:
39705         * config.h:
39706
39707 2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
39708
39709         Reviewed by Andreas Kling.
39710
39711         [Qt] Make build work with QT_NO_CURSOR
39712         https://bugs.webkit.org/show_bug.cgi?id=46097
39713
39714         Add a missing include.
39715
39716         * platform/qt/QWebPageClient.h:
39717
39718 2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
39719
39720         Reviewed by Andreas Kling.
39721
39722         [Qt] Make build work with QT_NO_CURSOR
39723         https://bugs.webkit.org/show_bug.cgi?id=46097
39724
39725         createCustomCursor() is a static function and not used
39726         in that file if QT_NO_CURSOR is defined, so rather than
39727         making it return 0, it should not exist altogether.
39728
39729         * platform/qt/CursorQt.cpp:
39730         (WebCore::createCustomCursor):
39731
39732 2010-10-05  Adam Roben  <aroben@apple.com>
39733
39734         Windows linker warning fix
39735
39736         * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMTokenList.cpp from the
39737         build, since it is already being compiled via DerivedSources.cpp. Also
39738         let VS reorder some files.
39739
39740 2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
39741
39742         Reviewed by Kenneth Rohde Christiansen.
39743
39744         [Qt] Web process crash when pressing modifiers in input field
39745         https://bugs.webkit.org/show_bug.cgi?id=44935
39746
39747         Fix null pointer dereference by not using
39748         PlatformKeyboardEvent::m_qtEvent. This member is not set when
39749         event comes from WebKit2.  Unix: Add ASSERTs to plugin related
39750         code. These will fail if WebKit2 is used with plugins, unless code
39751         is not fixed before.  Symbian: Add ASSERT to code which uses
39752         qtEvent(). It will fail when WebKit2 is enabled for Symbian, if
39753         code is not fixed before.
39754
39755         * platform/PlatformKeyboardEvent.h:
39756         * platform/qt/PlatformKeyboardEventQt.cpp:
39757         (WebCore::isVirtualKeyCodeRepresentingCharacter): Added.
39758         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Avoid using m_qtEvent.
39759         (WebCore::PlatformKeyboardEvent::nativeModifiers): Added. Use ASSERT as a reminder.
39760         (WebCore::PlatformKeyboardEvent::nativeScanCode): Added. Use ASSERT as a reminder.
39761         * plugins/qt/PluginViewQt.cpp:
39762         (WebCore::setXKeyEventSpecificFields):
39763         * plugins/symbian/PluginViewSymbian.cpp:
39764         (WebCore::PluginView::handleKeyboardEvent): Add ASSERT as a reminder.
39765
39766 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
39767
39768         Reviewed by Csaba Osztrogonác.
39769
39770         Add ENABLE(ACCELERATED_2D_CANVAS) guard to LoopBlinnLocalTriangulator.cpp
39771         https://bugs.webkit.org/show_bug.cgi?id=47115
39772
39773         LoopBlinnLocalTriangulator.cpp depends on LoopBlinnMathUtils.cpp which is guarded by
39774         ENABLE(ACCELERATED_2D_CANVAS).
39775
39776         * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp:
39777
39778 2010-10-05  Satish Sampath  <satish@chromium.org>
39779
39780         Reviewed by Kent Tamura.
39781
39782         Added event onwebkitspeechchange to invoke on new speech input results.
39783         https://bugs.webkit.org/show_bug.cgi?id=47127
39784
39785         * dom/EventNames.h: Added webkitspeechchange event name.
39786         * html/HTMLAttributeNames.in: Added onwebkitspeechchange attribute name.
39787         * html/HTMLInputElement.cpp:
39788         (WebCore::HTMLInputElement::parseMappedAttribute): Handle new attribute set.
39789         (WebCore::HTMLInputElement::dispatchWebkitSpeechChangeEvent): Invoke the event handler.
39790         * html/HTMLInputElement.h:
39791         * html/HTMLInputElement.idl: Added attribute to IDL.
39792         * rendering/TextControlInnerElements.cpp:
39793         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Invoke new event handler instead of onChange
39794
39795 2010-10-05  Satish Sampath  <satish@chromium.org>
39796
39797         Reviewed by Jeremy Orlow.
39798
39799         Rename @webkitspeech to @x-webkit-speech to follow HTML5 convention
39800         https://bugs.webkit.org/show_bug.cgi?id=46873
39801
39802         The @webkitspeech attribute is renamed to @x-webkit-speech per the HTML5 spec for extension
39803         attributes. The DOM attribute in IDL was renamed to 'webkitSpeech' as well. But the generated
39804         code for the attribute did not match the generated code for the IDL, so I modified
39805         dom/make_names.pl to generate the appropriate name for such extension attributes.
39806
39807         * bindings/generic/RuntimeEnabledFeatures.h: Rename flag accessor to match IDL attribute name.
39808         (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
39809         * dom/make_names.pl: Additions to generate names for x-webkit-xxxx attributes that match the
39810         generated code from IDL and remember the original names including the x- prefix when writing
39811         out the cpp files.
39812         * html/HTMLAttributeNames.in: Rename @webkitspeech to @x-webkit-speech
39813         * html/HTMLInputElement.idl: Rename @webkitspeech to @webkitSpeech
39814
39815 2010-10-04  Andrey Kosyakov  <caseq@chromium.org>
39816
39817         Reviewed by Yury Semikhatsky.
39818
39819         Web Inspector: [Chromium][Extension API] provide tab id of inspected tab in extension API
39820         https://bugs.webkit.org/show_bug.cgi?id=47080
39821
39822         * inspector/front-end/ExtensionServer.js: Added support for platform-specific extensions API.
39823         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
39824
39825 2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
39826
39827         Reviewed by Darin Fisher.
39828
39829         Fixed implementation of pluginWidgetFromDocument to search for the "embed" element rather than just use the first child.
39830         https://bugs.webkit.org/show_bug.cgi?id=47129
39831
39832         * html/PluginDocument.cpp:
39833         (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
39834
39835 2010-10-05  Chris Rogers  <crogers@google.com>
39836
39837         Reviewed by Kenneth Russell.
39838
39839         Add BiquadDSPKernel files
39840         https://bugs.webkit.org/show_bug.cgi?id=46528
39841
39842         No new tests since audio API is not yet implemented.
39843
39844         * webaudio/BiquadDSPKernel.cpp: Added.
39845         (WebCore::BiquadDSPKernel::process):
39846         * webaudio/BiquadDSPKernel.h: Added.
39847         (WebCore::BiquadDSPKernel::BiquadDSPKernel):
39848         (WebCore::BiquadDSPKernel::reset):
39849         (WebCore::BiquadDSPKernel::biquadProcessor):
39850
39851 2010-10-05  Chris Rogers  <crogers@google.com>
39852
39853         Reviewed by James Robinson.
39854
39855         Fix AudioContext to use new HRTFDatabaseLoader API
39856         https://bugs.webkit.org/show_bug.cgi?id=46858
39857
39858         No new tests since audio API is not yet implemented.
39859
39860         * webaudio/AudioContext.cpp:
39861         (WebCore::AudioContext::AudioContext):
39862         (WebCore::AudioContext::isRunnable):
39863         * webaudio/AudioContext.h:
39864         * webaudio/AudioContext.idl:
39865
39866 2010-10-05  Chris Rogers  <crogers@google.com>
39867
39868         Reviewed by Kenneth Russell.
39869
39870         Add AudioPannerNode files
39871         https://bugs.webkit.org/show_bug.cgi?id=46505
39872
39873         No new tests since audio API is not yet implemented.
39874
39875         * webaudio/AudioPannerNode.cpp: Added.
39876         (WebCore::fixNANs):
39877         (WebCore::AudioPannerNode::AudioPannerNode):
39878         (WebCore::AudioPannerNode::~AudioPannerNode):
39879         (WebCore::AudioPannerNode::pullInputs):
39880         (WebCore::AudioPannerNode::process):
39881         (WebCore::AudioPannerNode::reset):
39882         (WebCore::AudioPannerNode::initialize):
39883         (WebCore::AudioPannerNode::uninitialize):
39884         (WebCore::AudioPannerNode::listener):
39885         (WebCore::AudioPannerNode::setPanningModel):
39886         (WebCore::AudioPannerNode::getAzimuthElevation):
39887         (WebCore::AudioPannerNode::dopplerRate):
39888         (WebCore::AudioPannerNode::distanceConeGain):
39889         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
39890         * webaudio/AudioPannerNode.h: Added.
39891         (WebCore::AudioPannerNode::create):
39892         (WebCore::AudioPannerNode::panningModel):
39893         (WebCore::AudioPannerNode::position):
39894         (WebCore::AudioPannerNode::setPosition):
39895         (WebCore::AudioPannerNode::orientation):
39896         (WebCore::AudioPannerNode::setOrientation):
39897         (WebCore::AudioPannerNode::velocity):
39898         (WebCore::AudioPannerNode::setVelocity):
39899         (WebCore::AudioPannerNode::distanceModel):
39900         (WebCore::AudioPannerNode::setDistanceModel):
39901         (WebCore::AudioPannerNode::refDistance):
39902         (WebCore::AudioPannerNode::setRefDistance):
39903         (WebCore::AudioPannerNode::maxDistance):
39904         (WebCore::AudioPannerNode::setMaxDistance):
39905         (WebCore::AudioPannerNode::rolloffFactor):
39906         (WebCore::AudioPannerNode::setRolloffFactor):
39907         (WebCore::AudioPannerNode::coneInnerAngle):
39908         (WebCore::AudioPannerNode::setConeInnerAngle):
39909         (WebCore::AudioPannerNode::coneOuterAngle):
39910         (WebCore::AudioPannerNode::setConeOuterAngle):
39911         (WebCore::AudioPannerNode::coneOuterGain):
39912         (WebCore::AudioPannerNode::setConeOuterGain):
39913         (WebCore::AudioPannerNode::distanceGain):
39914         (WebCore::AudioPannerNode::coneGain):
39915         * webaudio/AudioPannerNode.idl: Added.
39916
39917 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
39918
39919         Reviewed by Martin Robinson.
39920
39921         [Cairo] Port drawTiledShadow to the new ContextShadow
39922         https://bugs.webkit.org/show_bug.cgi?id=45902
39923
39924         Ported the drawTiledShadow function to the ContextShadow, it
39925         renders shadows for rects faster than the simple blurring using
39926         tiling of a smaller rect. We will remove the old function in a
39927         next patch when starting to use ContextShadows for cairo
39928         rendering.
39929
39930         * platform/graphics/ContextShadow.h:
39931         * platform/graphics/cairo/ContextShadowCairo.cpp:
39932         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
39933         (WebCore::ContextShadow::drawRectShadow):
39934
39935 2010-10-05  Chris Rogers  <crogers@google.com>
39936
39937         Reviewed by Kenneth Russell.
39938
39939         Add BiquadProcessor files
39940         https://bugs.webkit.org/show_bug.cgi?id=46527
39941
39942         No new tests since audio API is not yet implemented.
39943
39944         * webaudio/BiquadProcessor.cpp: Added.
39945         (WebCore::BiquadProcessor::BiquadProcessor):
39946         (WebCore::BiquadProcessor::~BiquadProcessor):
39947         (WebCore::BiquadProcessor::createKernel):
39948         (WebCore::BiquadProcessor::process):
39949         * webaudio/BiquadProcessor.h: Added.
39950         (WebCore::BiquadProcessor::filterCoefficientsDirty):
39951         (WebCore::BiquadProcessor::parameter1):
39952         (WebCore::BiquadProcessor::parameter2):
39953         (WebCore::BiquadProcessor::parameter3):
39954         (WebCore::BiquadProcessor::type):
39955
39956 2010-10-05  Chris Rogers  <crogers@google.com>
39957
39958         Reviewed by Kenneth Russell.
39959
39960         Add EqualPowerPanner files
39961         https://bugs.webkit.org/show_bug.cgi?id=45077
39962
39963         No new tests since audio API is not yet implemented.
39964
39965         * platform/audio/EqualPowerPanner.cpp: Added.
39966         (WebCore::EqualPowerPanner::EqualPowerPanner):
39967         (WebCore::EqualPowerPanner::pan):
39968         * platform/audio/EqualPowerPanner.h: Added.
39969         (WebCore::EqualPowerPanner::reset):
39970
39971 2010-10-05  Chris Rogers  <crogers@google.com>
39972
39973         Reviewed by Kenneth Russell.
39974
39975         Add HighPass2FilterNode files
39976         https://bugs.webkit.org/show_bug.cgi?id=46533
39977
39978         No new tests since audio API is not yet implemented.
39979
39980         * webaudio/HighPass2FilterNode.cpp: Added.
39981         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
39982         * webaudio/HighPass2FilterNode.h: Added.
39983         (WebCore::HighPass2FilterNode::create):
39984         (WebCore::HighPass2FilterNode::cutoff):
39985         (WebCore::HighPass2FilterNode::resonance):
39986         (WebCore::HighPass2FilterNode::biquadProcessor):
39987         * webaudio/HighPass2FilterNode.idl: Added.
39988
39989 2010-10-05  Chris Rogers  <crogers@google.com>
39990
39991         Reviewed by Kenneth Russell.
39992
39993         Add LowPass2FilterNode files
39994         https://bugs.webkit.org/show_bug.cgi?id=46532
39995
39996         No new tests since audio API is not yet implemented.
39997
39998         * webaudio/LowPass2FilterNode.cpp: Added.
39999         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
40000         * webaudio/LowPass2FilterNode.h: Added.
40001         (WebCore::LowPass2FilterNode::create):
40002         (WebCore::LowPass2FilterNode::cutoff):
40003         (WebCore::LowPass2FilterNode::resonance):
40004         (WebCore::LowPass2FilterNode::biquadProcessor):
40005         * webaudio/LowPass2FilterNode.idl: Added.
40006
40007 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
40008
40009         Reviewed by Kent Tamura.
40010
40011         Fixed compilation problem added in commit 69082. The interface of
40012         the function has two parameters with the same name.
40013
40014         * rendering/RenderBlock.h:
40015
40016 2010-10-04  Chris Rogers  <crogers@google.com>
40017
40018         Reviewed by Kenneth Russell.
40019
40020         Add AudioUtilities files
40021         https://bugs.webkit.org/show_bug.cgi?id=47011
40022
40023         No new tests since audio API is not yet implemented.
40024
40025         * platform/audio/AudioUtilities.cpp: Added.
40026         (WebCore::AudioUtilities::decibelsToLinear):
40027         (WebCore::AudioUtilities::linearToDecibels):
40028         (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
40029         * platform/audio/AudioUtilities.h: Added.
40030
40031 2010-10-04  David Hyatt  <hyatt@apple.com>
40032
40033         Reviewed by Dan Bernstein.
40034
40035         https://bugs.webkit.org/show_bug.cgi?id=47112
40036
40037         Convert addOverhangingFloats and addIntrudingFloats to be block-flow-aware.
40038         
40039         Also clean up how floats are placed to use a bit instead of the magic -1 value on top().
40040
40041         * rendering/RenderBlock.cpp:
40042         (WebCore::RenderBlock::layoutBlock):
40043         (WebCore::RenderBlock::layoutBlockChild):
40044         (WebCore::RenderBlock::insertFloatingObject):
40045         (WebCore::RenderBlock::removeFloatingObject):
40046         (WebCore::RenderBlock::removeFloatingObjectsBelow):
40047         (WebCore::RenderBlock::positionNewFloats):
40048         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
40049         (WebCore::RenderBlock::clearFloats):
40050         (WebCore::RenderBlock::addOverhangingFloats):
40051         (WebCore::RenderBlock::addIntrudingFloats):
40052         * rendering/RenderBlock.h:
40053         (WebCore::RenderBlock::FloatingObject::FloatingObject):
40054         (WebCore::RenderBlock::FloatingObject::isPlaced):
40055         (WebCore::RenderBlock::FloatingObject::setIsPlaced):
40056         * rendering/RenderBlockLineLayout.cpp:
40057         (WebCore::RenderBlock::determineStartPosition):
40058
40059 2010-10-04  Nico Weber  <thakis@chromium.org>
40060
40061         Reviewed by Kenneth Russell.
40062
40063         Fix broken C++ in PODInterval and PODIntervalTree
40064         https://bugs.webkit.org/show_bug.cgi?id=47063
40065
40066         See http://clang.llvm.org/compatibility.html#dep_lookup . Since
40067         valueToString needs to work with non-class types, it needs to be
40068         declared before it's used. And since it needs to handle many types, it
40069         needs to be a template function, for which clients will need to
40070         provide specializations for the types they care about. Partial template
40071         specialization is only supported for structs, so wrap the function in
40072         a struct, too.
40073
40074         * platform/graphics/gpu/PODInterval.h:
40075         (WebCore::PODInterval::toString):
40076         * platform/graphics/gpu/PODIntervalTree.h:
40077         (WebCore::PODIntervalTree::checkInvariantsFromNode):
40078         * platform/graphics/gpu/PODRedBlackTree.h:
40079         (WebCore::PODRedBlackTree::dumpFromNode):
40080
40081 2010-10-04  Yael Aharon  <yael.aharon@nokia.com>
40082
40083         Reviewed by Antonio Gomes.
40084
40085         Spatial Navigation: Add support for <input type="radio">
40086         https://bugs.webkit.org/show_bug.cgi?id=46993
40087
40088         When using Spatial Navigation, every radio button should be focusable and 
40089         users should be able to navigate from one button to the next without moving the selection. 
40090
40091         Tests: fast/events/spatial-navigation/snav-radio-group.html
40092                fast/events/spatial-navigation/snav-radio.html
40093
40094         * html/HTMLInputElement.cpp:
40095         (WebCore::HTMLInputElement::isKeyboardFocusable):
40096         Every radio button should be keyboard focusable, if using Spatial Navigation.
40097         (WebCore::HTMLInputElement::defaultEventHandler):
40098         Disable the algorithm for selecting the next radio button within a group, if using Spatial Navigation.
40099
40100 2010-10-04  Renata Hodovan  <reni@inf.u-szeged.hu>
40101
40102         Reviewed by Andreas Kling.
40103
40104         SVGFEGaussianBlurElement doesn't support dynamic invalidation, when attributes change.
40105         https://bugs.webkit.org/show_bug.cgi?id=47074
40106         The patch also implements the simple setStdDeviation method.
40107
40108         Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html
40109                svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html
40110                svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html
40111                svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html
40112
40113         * svg/SVGFEGaussianBlurElement.cpp:
40114         (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
40115         (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
40116         * svg/SVGFEGaussianBlurElement.h:
40117
40118 2010-10-04  Patrick Gansterer  <paroga@paroga.com>
40119
40120         Reviewed by Darin Adler.
40121
40122         Add Base64DecodePolicy option at base64Decode()
40123         https://bugs.webkit.org/show_bug.cgi?id=41510
40124
40125         Add an option for ignoring characters in base64 data.
40126         This is necessary for decoding data urls.
40127
40128         Also add an overload to decode WebCore::String directly.
40129
40130         * page/DOMWindow.cpp:
40131         (WebCore::DOMWindow::atob):
40132         * page/Page.cpp:
40133         (WebCore::Page::userStyleSheetLocationChanged):
40134         * platform/text/Base64.cpp:
40135         (WebCore::base64Encode):
40136         (WebCore::base64Decode):
40137         (WebCore::base64DecodeInternal):
40138         * platform/text/Base64.h:
40139         (WebCore::):
40140
40141 2010-10-04  Ryuan Choi  <bunhere@gmail.com>
40142
40143         Unreviewed build fix.
40144
40145         [WML] Build fix for r68854
40146         https://bugs.webkit.org/show_bug.cgi?id=47043
40147
40148         Include HTMLParserIdioms.h.
40149
40150         No features added, so no new tests.
40151
40152         * wml/WMLAElement.cpp:
40153         * wml/WMLImageLoader.cpp:
40154
40155 2010-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
40156
40157         Unreviewed build fix.
40158
40159         [CMAKE] Build fix for r68901
40160         https://bugs.webkit.org/show_bug.cgi?id=47042
40161
40162         Move plugins/PluginPackage.cpp
40163
40164         No features added, so no new tests.
40165
40166         * CMakeLists.txt:
40167
40168 2010-10-04  Eric Uhrhane  <ericu@chromium.org>
40169
40170         Reviewed by David Levin.
40171
40172         Hook FileEntry::createWriter to DOMFileSystem::createWriter
40173         https://bugs.webkit.org/show_bug.cgi?id=46908
40174
40175         No new tests--still waiting for the first complete implementation.
40176
40177         * fileapi/FileEntry.cpp:
40178         (WebCore::FileEntry::createWriter):
40179
40180 2010-10-04  Yael Aharon  <yael.aharon@nokia.com>
40181
40182         Reviewed by Antonio Gomes.
40183
40184         Spatial Navigation: select element does not release focus with Spatial Navigation
40185         https://bugs.webkit.org/show_bug.cgi?id=46896
40186
40187         When using Spatial Navigation, once a select element is focused, you cannot use arrow keys
40188         to navigate out of the select element. That is because select element currently uses the
40189         arrow keys to change the selected element.
40190         Change the behavior of select element so it does not change selection, if Spatial Navigation
40191         is on.
40192
40193         This patch is addressing the case where Spatial Navigation is used 
40194         in a mobile device, and the flag ENABLE_NO_LISTBOX_RENDERING is on.
40195         In the future we can add support for the case where the flag is off, and
40196         the user needs to traverse the select element inline.
40197
40198         Tests: fast/events/spatial-navigation/snav-multiple-select.html
40199                fast/events/spatial-navigation/snav-single-select.html
40200
40201         * dom/SelectElement.cpp:
40202         (WebCore::SelectElement::menuListDefaultEventHandler):
40203
40204 2010-10-04  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
40205
40206         Reviewed by Andreas Kling.
40207
40208         [Qt] QNetworkReplyHandler forces buffered output for FormData with files
40209         https://bugs.webkit.org/show_bug.cgi?id=46259
40210
40211         No new tests. Existing form submit tests should cover this change.
40212
40213         * platform/network/qt/QNetworkReplyHandler.cpp:
40214         (WebCore::FormDataIODevice::FormDataIODevice):
40215         (WebCore::FormDataIODevice::computeSize):
40216          Add computeSize() for computing form device size
40217         (WebCore::QNetworkReplyHandler::start):
40218          Call computeSize(), fill Content-Length and prevent UploadData buffering
40219         * platform/network/qt/QNetworkReplyHandler.h:
40220         (WebCore::FormDataIODevice::getFormDataSize):
40221
40222 2010-10-04  Chang Shu  <chang.shu@nokia.com>
40223
40224         Reviewed by Antonio Gomes.
40225
40226         Fixed the typo that searches the wrong direction in the no-focus-node case.
40227         As a result, after page is loaded, pressing key "arrowdown" will bring the
40228         focus to the 1st element instead of the last element.
40229         https://bugs.webkit.org/show_bug.cgi?id=46901
40230
40231         Test: fast/events/spatial-navigation/snav-1st-stop.html
40232
40233         * page/FocusController.cpp:
40234         (WebCore::FocusController::advanceFocusDirectionally):
40235
40236 2010-10-04  Simon Fraser  <simon.fraser@apple.com>
40237
40238         No review.
40239         
40240         Touch cf/SocketStreamHandle.h and add an #ifdef to qt/SocketStreamHandle.h
40241         to fail at compile time if Mac includes that header.
40242
40243         * platform/network/cf/SocketStreamHandle.h:
40244         * platform/network/qt/SocketStreamHandle.h:
40245
40246 2010-10-04  Simon Fraser  <simon.fraser@apple.com>
40247
40248         Reviewed by Darin Adler.
40249
40250         https://bugs.webkit.org/show_bug.cgi?id=47136
40251         WebSocket tests are crashing
40252
40253         The Mac xcode project was finding qt/SocketStreamHandle.h because of
40254         an inadvertent change in r68951. Thus the header and implementation didn't match,
40255         and memory corruption ensued.
40256         
40257         * WebCore.xcodeproj/project.pbxproj:
40258
40259 2010-10-04  Chris Marrin  <cmarrin@apple.com>
40260
40261         Reviewed by James Robinson.
40262
40263         Move SharedGraphicsContext3D from ChromeClient to Page
40264         https://bugs.webkit.org/show_bug.cgi?id=47113
40265
40266         * html/canvas/CanvasRenderingContext2D.cpp:
40267         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
40268         * page/ChromeClient.h:
40269         * page/Page.cpp:
40270         (WebCore::Page::sharedGraphicsContext3D):
40271         * page/Page.h:
40272         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
40273         (WebCore::SharedGraphicsContext3D::create):
40274         * platform/graphics/gpu/SharedGraphicsContext3D.h:
40275
40276 2010-10-04  Jeremy Orlow  <jorlow@chromium.org>
40277
40278         Reviewed by Nate Chapin.
40279
40280         Implement IndexedDB's oncomplete and ontimeout.
40281         https://bugs.webkit.org/show_bug.cgi?id=47106
40282
40283         Add ontimeout and oncomplete to IDBTransaction and plumb
40284         them.  Test this behavior in the existing IDBTransaction-basics
40285         test.
40286
40287         * WebCore.gypi:
40288         * storage/IDBTransaction.cpp:
40289         (WebCore::IDBTransaction::IDBTransaction):
40290         (WebCore::IDBTransaction::mode):
40291         (WebCore::IDBTransaction::objectStore):
40292         (WebCore::IDBTransaction::abort):
40293         (WebCore::IDBTransaction::onAbort):
40294         (WebCore::IDBTransaction::onComplete):
40295         (WebCore::IDBTransaction::onTimeout):
40296         (WebCore::IDBTransaction::stop):
40297         (WebCore::IDBTransaction::onAbortTimerFired):
40298         (WebCore::IDBTransaction::onCompleteTimerFired):
40299         (WebCore::IDBTransaction::onTimeoutTimerFired):
40300         * storage/IDBTransaction.h:
40301         * storage/IDBTransactionBackendImpl.cpp:
40302         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
40303         (WebCore::IDBTransactionBackendImpl::commit):
40304         * storage/IDBTransactionCallbacks.h:
40305
40306 2010-10-04  Enrica Casucci  <enrica@apple.com>
40307
40308         Reviewed by Darin Adler.
40309
40310         Crash at WebCore::nextCandidate + 27
40311         https://bugs.webkit.org/show_bug.cgi?id=47118
40312         <rdar://problem/7282934>
40313
40314         When we canonicalize a Position to create a VisiblePosition, the position
40315         is passed by reference. In canonicalPosition we call updateLayoutIgnorePendingStylesheets
40316         that can produce a lot of side effects, including changing the selection.
40317         This becomes a serious problem whne the position passed as reference is one of
40318         the selection endpoints.
40319         
40320         Test: editing/selection/focus-crash.html
40321
40322         * editing/VisiblePosition.cpp:
40323         (WebCore::VisiblePosition::canonicalPosition):
40324
40325 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
40326
40327         Reviewed by Adam Barth.
40328
40329         https://bugs.webkit.org/show_bug.cgi?id=37812
40330         Assertion failure when appcache/fail-on-update.html is run twice in a row
40331
40332         Test: http/tests/appcache/fail-on-update-2.html
40333
40334         For some reason, I can't reproduce this assertion failure with ToT, but the fixes I made
40335         previously are still good, and covered by the new test.
40336
40337         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
40338         Handle the case when the cache is already obsolete by the time cache selection occurs.
40339
40340         * loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::failedLoadingMainResource):
40341         It's not true that loading from appcache always succeeds - it can be aborted.
40342
40343         * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store):
40344         Calling ensureOriginRecord(group->origin()) can change lastInsertRowID!
40345
40346 2010-10-04  Erik Arvidsson  <arv@chromium.org>
40347
40348         Reviewed by James Robinson.
40349
40350         https://bugs.webkit.org/show_bug.cgi?id=47122
40351         Crash in classList when class attribute is empty.
40352
40353         Tests: fast/dom/HTMLElement/class-list.html
40354
40355         * html/DOMTokenList.cpp:
40356         (WebCore::DOMTokenList::length):
40357         (WebCore::DOMTokenList::containsInternal):
40358         (WebCore::DOMTokenList::classNames):
40359
40360 2010-10-04  Darin Adler  <darin@apple.com>
40361
40362         Reviewed by Dan Bernstein.
40363
40364         Use isHTMLSpace in more places, and optimize it
40365         https://bugs.webkit.org/show_bug.cgi?id=47103
40366
40367         * css/CSSParser.cpp:
40368         (WebCore::parseColorInt): Use isHTMLSpace instead of a separate isCSSWhitespace function.
40369         (WebCore::parseAlphaValue): Ditto.
40370         (WebCore::CSSParser::text): Ditto.
40371
40372         * dom/SpaceSplitString.h: Removed isClassWhitespace.
40373
40374         * dom/SpaceSplitString.cpp:
40375         (WebCore::SpaceSplitStringData::createVector): Use isHTMLSpace instead of isClassWhitespace.
40376         * dom/StyledElement.cpp:
40377         (WebCore::StyledElement::classAttributeChanged): Ditto.
40378         * html/DOMTokenList.cpp:
40379         (WebCore::validateToken): Ditto.
40380         (WebCore::DOMTokenList::removeInternal): Ditto.
40381
40382         * html/parser/HTMLParserIdioms.h: Added histogram data an changed so that non-spaces take
40383         only a single branch and plain old spaces take only two branches.
40384
40385 2010-10-04  Justin Schuh  <jschuh@chromium.org>
40386
40387         Reviewed by James Robinson.
40388
40389         HTMLMediaElement delayed load should fire asynchronously
40390         https://bugs.webkit.org/show_bug.cgi?id=45765
40391
40392         Test: media/remove-from-document-before-load.html
40393
40394         * dom/Document.cpp:
40395         (WebCore::Document::Document):
40396         (WebCore::Document::decrementLoadEventDelayCount):
40397         (WebCore::Document::loadEventDelayTimerFired):
40398         * dom/Document.h:
40399         * html/HTMLMediaElement.cpp:
40400         (WebCore::HTMLMediaElement::HTMLMediaElement):
40401         (WebCore::HTMLMediaElement::asyncEventTimerFired):
40402         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
40403         * html/HTMLMediaElement.h:
40404
40405 2010-10-04  Adam Barth  <abarth@webkit.org>
40406
40407         Reviewed by Darin Adler.
40408
40409         ResourceHandle's public/protected/private sections are fragmented
40410         https://bugs.webkit.org/show_bug.cgi?id=47038
40411
40412         Minor cleanup.
40413
40414         * platform/network/ResourceHandle.h:
40415
40416 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
40417
40418         Reviewed by Adam Barth.
40419
40420         https://bugs.webkit.org/show_bug.cgi?id=43506
40421         <rdar://problem/8289284> foreign-iframe-main.html occasionally crashes (during the next test,
40422         idempotent-update.html)
40423
40424         Application cache doesn't use ResourceLoader machinery (for better or worse), so we need to
40425         abort update process explicitly.
40426
40427         Note that in principle, update could piggyback on any other existing frame - or even run
40428         frameless - but currently, it's tied to the first frame that requested update.
40429
40430         * loader/DocumentLoader.cpp:
40431         (WebCore::DocumentLoader::stopLoading):
40432         * loader/appcache/ApplicationCacheGroup.cpp:
40433         (WebCore::ApplicationCacheGroup::stopLoadingInFrame):
40434         * loader/appcache/ApplicationCacheGroup.h:
40435         * loader/appcache/ApplicationCacheHost.cpp:
40436         (WebCore::ApplicationCacheHost::~ApplicationCacheHost):
40437         (WebCore::ApplicationCacheHost::stopLoadingInFrame):
40438         * loader/appcache/ApplicationCacheHost.h:
40439
40440 2010-10-04  Adam Barth  <abarth@webkit.org>
40441
40442         Reviewed by Darin Adler.
40443
40444         Rename RedirectScheduler to NavigationScheduler
40445         https://bugs.webkit.org/show_bug.cgi?id=47037
40446
40447         This class schedules more than just redirects.  In fact, it schedules
40448         most kinds of navigations.
40449
40450         * Android.mk:
40451         * CMakeLists.txt:
40452         * GNUmakefile.am:
40453         * WebCore.gypi:
40454         * WebCore.pro:
40455         * WebCore.vcproj/WebCore.vcproj:
40456         * WebCore.xcodeproj/project.pbxproj:
40457         * bindings/generic/BindingDOMWindow.h:
40458         (WebCore::::createWindow):
40459         (WebCore::::open):
40460         * bindings/generic/BindingFrame.h:
40461         (WebCore::::navigateIfAllowed):
40462         * bindings/js/JSDOMWindowCustom.cpp:
40463         (WebCore::JSDOMWindow::setLocation):
40464         (WebCore::createWindow):
40465         (WebCore::JSDOMWindow::open):
40466         * bindings/js/JSDocumentCustom.cpp:
40467         (WebCore::JSDocument::setLocation):
40468         * bindings/js/JSLocationCustom.cpp:
40469         (WebCore::JSLocation::reload):
40470         * bindings/v8/custom/V8LocationCustom.cpp:
40471         (WebCore::V8Location::reloadCallback):
40472         * dom/Document.cpp:
40473         (WebCore::Document::implicitClose):
40474         (WebCore::Document::processHttpEquiv):
40475         * inspector/InspectorController.cpp:
40476         (WebCore::InspectorController::setResourceTrackingEnabled):
40477         (WebCore::InspectorController::reloadPage):
40478         * loader/FrameLoader.cpp:
40479         (WebCore::FrameLoader::setDefersLoading):
40480         (WebCore::FrameLoader::submitForm):
40481         (WebCore::FrameLoader::stopLoading):
40482         (WebCore::FrameLoader::didOpenURL):
40483         (WebCore::FrameLoader::didExplicitOpen):
40484         (WebCore::FrameLoader::cancelAndClear):
40485         (WebCore::FrameLoader::clear):
40486         (WebCore::FrameLoader::receivedFirstData):
40487         (WebCore::FrameLoader::checkCompleted):
40488         (WebCore::FrameLoader::provisionalLoadStarted):
40489         (WebCore::FrameLoader::completed):
40490         (WebCore::FrameLoader::prepareForCachedPageRestore):
40491         * loader/FrameLoader.h:
40492         * loader/NavigationScheduler.cpp: Added.
40493         (WebCore::ScheduledNavigation::ScheduledNavigation):
40494         (WebCore::ScheduledNavigation::~ScheduledNavigation):
40495         (WebCore::ScheduledNavigation::shouldStartTimer):
40496         (WebCore::ScheduledNavigation::didStartTimer):
40497         (WebCore::ScheduledNavigation::didStopTimer):
40498         (WebCore::ScheduledNavigation::delay):
40499         (WebCore::ScheduledNavigation::lockHistory):
40500         (WebCore::ScheduledNavigation::lockBackForwardList):
40501         (WebCore::ScheduledNavigation::wasDuringLoad):
40502         (WebCore::ScheduledNavigation::isLocationChange):
40503         (WebCore::ScheduledNavigation::wasUserGesture):
40504         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
40505         (WebCore::ScheduledURLNavigation::fire):
40506         (WebCore::ScheduledURLNavigation::didStartTimer):
40507         (WebCore::ScheduledURLNavigation::didStopTimer):
40508         (WebCore::ScheduledURLNavigation::url):
40509         (WebCore::ScheduledURLNavigation::referrer):
40510         (WebCore::ScheduledRedirect::ScheduledRedirect):
40511         (WebCore::ScheduledRedirect::shouldStartTimer):
40512         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
40513         (WebCore::ScheduledRefresh::ScheduledRefresh):
40514         (WebCore::ScheduledRefresh::fire):
40515         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
40516         (WebCore::ScheduledHistoryNavigation::fire):
40517         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
40518         (WebCore::ScheduledFormSubmission::fire):
40519         (WebCore::ScheduledFormSubmission::didStartTimer):
40520         (WebCore::ScheduledFormSubmission::didStopTimer):
40521         (WebCore::NavigationScheduler::NavigationScheduler):
40522         (WebCore::NavigationScheduler::~NavigationScheduler):
40523         (WebCore::NavigationScheduler::redirectScheduledDuringLoad):
40524         (WebCore::NavigationScheduler::locationChangePending):
40525         (WebCore::NavigationScheduler::clear):
40526         (WebCore::NavigationScheduler::scheduleRedirect):
40527         (WebCore::NavigationScheduler::mustLockBackForwardList):
40528         (WebCore::NavigationScheduler::scheduleLocationChange):
40529         (WebCore::NavigationScheduler::scheduleFormSubmission):
40530         (WebCore::NavigationScheduler::scheduleRefresh):
40531         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
40532         (WebCore::NavigationScheduler::timerFired):
40533         (WebCore::NavigationScheduler::schedule):
40534         (WebCore::NavigationScheduler::startTimer):
40535         (WebCore::NavigationScheduler::cancel):
40536         * loader/NavigationScheduler.h: Added.
40537         * loader/RedirectScheduler.cpp: Removed.
40538         * loader/RedirectScheduler.h: Removed.
40539         * loader/SubframeLoader.cpp:
40540         (WebCore::SubframeLoader::loadOrRedirectSubframe):
40541         * loader/appcache/ApplicationCacheGroup.cpp:
40542         (WebCore::ApplicationCacheGroup::selectCache):
40543         * page/Frame.cpp:
40544         (WebCore::Frame::Frame):
40545         * page/Frame.h:
40546         (WebCore::Frame::navigationScheduler):
40547         * page/History.cpp:
40548         (WebCore::History::back):
40549         (WebCore::History::forward):
40550         (WebCore::History::go):
40551         * page/XSSAuditor.cpp:
40552         (WebCore::XSSAuditor::findInRequest):
40553
40554 2010-10-04  Adam Barth  <abarth@webkit.org>
40555
40556         Reviewed by Sam Weinig.
40557
40558         Remove ENABLE_SANDBOX
40559         https://bugs.webkit.org/show_bug.cgi?id=47032
40560
40561         I'm not sure there's a reason for this to be behind a compile flag
40562         anymore.
40563
40564         * Configurations/FeatureDefines.xcconfig:
40565         * GNUmakefile.am:
40566         * features.pri:
40567         * html/HTMLIFrameElement.cpp:
40568         (WebCore::parseSandboxAttribute):
40569         (WebCore::HTMLIFrameElement::parseMappedAttribute):
40570
40571 2010-10-04  Huahui Wu  <mediadependent@gmail.com>
40572
40573         Reviewed by Darin Adler.
40574
40575         Fix a compiler error for ANDROID introduced by bug 45221.
40576         https://bugs.webkit.org/show_bug.cgi?id=47095
40577
40578         It's a small fix for a compiler error, so there is no new test.
40579
40580         * platform/android/PlatformTouchEventAndroid.cpp:
40581         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
40582
40583 2010-10-04  Chris Fleizach  <cfleizach@apple.com>
40584
40585         Reviewed by Beth Dakin.
40586
40587         AX: doAXRangeForLine does not work
40588         https://bugs.webkit.org/show_bug.cgi?id=47101
40589
40590         Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0.
40591         The code was using a SelectionController to extend to the next line. Rather than change the implementation
40592         of that core functionality, it is cleaner to use endOfLine to find the end of the line.
40593
40594         Test: platform/mac/accessibility/range-for-line-textarea.html
40595
40596         * accessibility/AccessibilityRenderObject.cpp:
40597         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
40598
40599 2010-10-04  Brent Fulgham  <bfulgham@webkit.org>
40600
40601         Unreviewed, build fix for r68951.
40602
40603         Add stub implementation for ProxyServer logic.
40604
40605         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo file.
40606         * WebCore/platform/network/curl/ProxyServerCurl.cpp: Added
40607
40608 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
40609
40610         Reviewed by Adam Barth.
40611
40612         https://bugs.webkit.org/show_bug.cgi?id=47035
40613         Application cache selection algorithm should only be invoked after navigation
40614
40615         Tests: http/tests/appcache/document-write-html-element-2.html
40616                http/tests/appcache/document-write-html-element.html
40617                http/tests/appcache/insert-html-element-with-manifest-2.html
40618                http/tests/appcache/insert-html-element-with-manifest.html
40619
40620         * dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser):
40621         * dom/DocumentParser.h:
40622         (WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation):
40623         (WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation):
40624         Track whether the document being parsed is being loaded as part of navigation.
40625
40626         * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the
40627         cache selection algorithm if the document is being loaded as part of navigation. We don't 
40628         want to switch associated appcache is someone document.writes <html manifest=...>.
40629
40630         * html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so
40631         this code can't be in HTMLHtmlElement::insertedIntoDocument().
40632
40633         * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs):
40634         * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement):
40635         * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure):
40636         * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure):
40637         * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure):
40638         * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
40639         Check for manifest attribute in cases specified by HTML5.
40640
40641         * html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement().
40642
40643         * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
40644         * loader/DocumentWriter.h:
40645         Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it.
40646
40647         * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from
40648         loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous
40649         definition that I could find - this seems to be a meaningful formalization.
40650
40651 2010-10-04  David Hyatt  <hyatt@apple.com>
40652
40653         Reviewed by Dan Bernstein.
40654
40655         https://bugs.webkit.org/show_bug.cgi?id=47100
40656
40657         Convert clearFloats() to be block-flow-aware.  Helpers that it calls have not been patched though.
40658
40659         * rendering/RenderBlock.cpp:
40660         (WebCore::RenderBlock::clearFloats):
40661         * rendering/RenderBlock.h:
40662         (WebCore::RenderBlock::logicalTopForFloat):
40663         (WebCore::RenderBlock::logicalLeftForFloat):
40664         (WebCore::RenderBlock::logicalWidthForFloat):
40665
40666 2010-10-04  Diego Gonzalez  <diegohcg@webkit.org>
40667
40668         Reviewed by Kenneth Rohde Christiansen.
40669
40670         [Qt] Hook up DeviceOrientation data for Qt support
40671         https://bugs.webkit.org/show_bug.cgi?id=47052
40672
40673         Get DeviceOrientation necessary data via Qt mobility library
40674         using a provider class.
40675
40676         * WebCore.pro:
40677
40678 2010-10-01  Victoria Kirst  <vrk@google.com>
40679
40680         Reviewed by James Robinson.
40681
40682         Fixing crash when audio media player is destructed
40683         https://bugs.webkit.org/show_bug.cgi?id=47020
40684
40685         Adds assert for LayerRenderer in destructor.
40686
40687         * platform/graphics/chromium/VideoLayerChromium.cpp:
40688         (WebCore::VideoLayerChromium::~VideoLayerChromium):
40689
40690 2010-10-04  Pavel Podivilov  <podivilov@chromium.org>
40691
40692         Reviewed by Pavel Feldman.
40693
40694         Web Inspector: do not show breakpoint in front-end if it was not set in v8
40695         https://bugs.webkit.org/show_bug.cgi?id=46749
40696
40697         * bindings/v8/DebuggerScript.js:
40698         ():
40699
40700 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
40701
40702         Reviewed by Martin Robinson.
40703
40704         [cairo] Context shadow modifies the data of the surface without
40705         flushing and marking as dirty
40706         https://bugs.webkit.org/show_bug.cgi?id=47079
40707
40708         Added the cairo_surface_flush and cairo_surface_mark_dirty before
40709         and after modifying the image pixels directly.
40710
40711         * platform/graphics/cairo/ContextShadowCairo.cpp:
40712         (WebCore::ContextShadow::endShadowLayer):
40713
40714 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
40715
40716         Reviewed by Xan Lopez.
40717
40718         Crashed caused by missing OwnPtrCairo include, for more
40719         information check the issue in the bug 46268.
40720
40721         * platform/graphics/cairo/CairoUtilities.cpp:
40722
40723 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
40724
40725         Reviewed by Martin Robinson.
40726
40727         [cairo] Move some cairo functions to the CairoUtilities
40728         https://bugs.webkit.org/show_bug.cgi?id=47076
40729
40730         Moved some cairo functions to the CairoUtilities so we can use
40731         them outside GraphicsContextCairo.
40732
40733         * platform/graphics/cairo/CairoUtilities.cpp:
40734         (WebCore::appendPathToCairoContext):
40735         (WebCore::setPathOnCairoContext):
40736         (WebCore::appendWebCorePathToCairoContext):
40737         (WebCore::toCairoOperator):
40738         (WebCore::drawPatternToCairoContext):
40739         * platform/graphics/cairo/CairoUtilities.h:
40740         * platform/graphics/cairo/GraphicsContextCairo.cpp:
40741         * platform/graphics/cairo/ImageCairo.cpp:
40742         (WebCore::Image::drawPattern):
40743
40744 2010-10-04  podivilov@chromium.org  <podivilov@chromium.org>
40745
40746         Reviewed by Yury Semikhatsky.
40747
40748         Web Inspector: implement pausing on event listeners (back-end part)
40749         https://bugs.webkit.org/show_bug.cgi?id=46624
40750
40751         * bindings/js/ScriptDebugServer.cpp:
40752         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
40753         * bindings/js/ScriptDebugServer.h:
40754         * bindings/v8/ScriptDebugServer.cpp:
40755         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
40756         * bindings/v8/ScriptDebugServer.h:
40757         * dom/Node.cpp:
40758         (WebCore::Node::dispatchGenericEvent):
40759         * inspector/InspectorController.cpp:
40760         (WebCore::InspectorController::didCommitLoad):
40761         (WebCore::InspectorController::setNativeBreakpoint):
40762         (WebCore::InspectorController::removeNativeBreakpoint):
40763         (WebCore::InspectorController::shouldBreakOnEvent):
40764         (WebCore::InspectorController::shouldBreakOnXMLHttpRequest):
40765         * inspector/InspectorController.h:
40766         * inspector/InspectorDebuggerAgent.cpp:
40767         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
40768         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
40769         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
40770         (WebCore::InspectorDebuggerAgent::pause):
40771         (WebCore::InspectorDebuggerAgent::didContinue):
40772         (WebCore::InspectorDebuggerAgent::breakProgram):
40773         * inspector/InspectorDebuggerAgent.h:
40774         * inspector/InspectorInstrumentation.cpp:
40775         (WebCore::eventHasListeners):
40776         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
40777         (WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl):
40778         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
40779         * inspector/InspectorInstrumentation.h:
40780         (WebCore::InspectorInstrumentation::instrumentWillDispatchEvent):
40781         (WebCore::InspectorInstrumentation::instrumentDidDispatchEvent):
40782         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
40783         * inspector/InspectorTimelineAgent.cpp:
40784         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
40785         * inspector/InspectorTimelineAgent.h:
40786         (WebCore::InspectorTimelineAgent::id):
40787         * inspector/front-end/CallStackSidebarPane.js:
40788
40789 2010-10-04  Pavel Feldman  <pfeldman@chromium.org>
40790
40791         Reviewed by Yury Semikhatsky.
40792
40793         Web Inspector: add total bar to the network panel.
40794         https://bugs.webkit.org/show_bug.cgi?id=47081
40795
40796         * English.lproj/localizedStrings.js:
40797         * inspector/front-end/ConsoleView.js:
40798         (WebInspector.ConsoleView.createDividerElement):
40799         * inspector/front-end/DataGrid.js:
40800         (WebInspector.DataGrid.prototype.removeChild):
40801         (WebInspector.DataGrid.prototype.sortNodes):
40802         (WebInspector.DataGrid.prototype._clickInHeaderCell):
40803         (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
40804         * inspector/front-end/NetworkPanel.js:
40805         (WebInspector.NetworkPanel):
40806         (WebInspector.NetworkPanel.prototype.resize):
40807         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
40808         (WebInspector.NetworkPanel.prototype._createTimelineGrid):
40809         (WebInspector.NetworkPanel.prototype._createSortingFunctions):
40810         (WebInspector.NetworkPanel.prototype._sortItems):
40811         (WebInspector.NetworkPanel.prototype._sortByTimeline):
40812         (WebInspector.NetworkPanel.prototype._createFilterStatusBarItems):
40813         (WebInspector.NetworkPanel.prototype._createSummaryBar):
40814         (WebInspector.NetworkPanel.prototype._updateSummaryBar):
40815         (WebInspector.NetworkPanel.prototype._updateFilter):
40816         (WebInspector.NetworkPanel.prototype.show):
40817         (WebInspector.NetworkPanel.prototype.refresh):
40818         (WebInspector.NetworkPanel.prototype.reset):
40819         (WebInspector.NetworkDataGridNode.SizeComparator):
40820         (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
40821         (WebInspector.NetworkTotalGridNode):
40822         (WebInspector.NetworkTotalGridNode.prototype.createCells):
40823         * inspector/front-end/ResourcesPanel.js:
40824         (WebInspector.ResourcesPanel.prototype.createFilterPanel):
40825         * inspector/front-end/inspector.css:
40826         (.scope-bar-divider):
40827         * inspector/front-end/networkPanel.css:
40828         (.network-timeline-grid):
40829         (.network-summary-bar):
40830         (.network-summary-bar-bottom):
40831         (.data-grid td .network-summary-bar):
40832
40833 2010-09-28  Luiz Agostini  <luiz.agostini@openbossa.org>
40834
40835         Reviewed by Kenneth Rohde Christiansen.
40836
40837         Viewport data change notifications
40838         https://bugs.webkit.org/show_bug.cgi?id=46755
40839
40840         Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
40841         changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
40842         viewport data in Page as a reference, to be able to send notifications only when the current viewport
40843         has changed.
40844
40845         * dom/Document.cpp:
40846         (WebCore::Document::processViewport):
40847         (WebCore::Document::setInPageCache):
40848         * dom/ViewportArguments.h:
40849         (WebCore::ViewportArguments::operator==):
40850         * html/HTMLBodyElement.cpp:
40851         (WebCore::HTMLBodyElement::HTMLBodyElement):
40852         * page/Chrome.cpp:
40853         (WebCore::Chrome::viewportDataChanged):
40854         * page/Chrome.h:
40855         * page/ChromeClient.h:
40856         (WebCore::ChromeClient::viewportDataChanged):
40857         * page/Page.cpp:
40858         (WebCore::Page::updateViewportArguments):
40859         * page/Page.h:
40860         (WebCore::Page::viewportArguments):
40861
40862 2010-10-03  Kent Tamura  <tkent@chromium.org>
40863
40864         Unreviewed, build fix for r68996.
40865
40866         * html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite().
40867         * html/MonthInputType.cpp: ditto.
40868         * html/NumberInputType.cpp: ditto.
40869         * html/RangeInputType.cpp: ditto.
40870
40871 2010-10-03  Kent Tamura  <tkent@chromium.org>
40872
40873         Reviewed by Dimitri Glazkov.
40874
40875         Refactor HTMLInputElement: Move parseToDouble() and
40876         parseToDateComponents() to InputType.
40877         https://bugs.webkit.org/show_bug.cgi?id=46965
40878
40879         Introduce BaseDateAndTimeInputType, which is a super class of
40880         date, datetime, datetime-local, month, time, and week types.
40881
40882         No new tests. Just a refactoring.
40883
40884         * Android.mk: Add BaseDateAndTimeInputType.
40885         * CMakeLists.txt: ditto.
40886         * GNUmakefile.am: ditto.
40887         * WebCore.gypi: ditto.
40888         * WebCore.pro: ditto.
40889         * WebCore.vcproj/WebCore.vcproj: ditto.
40890         * WebCore.xcodeproj/project.pbxproj: ditto.
40891         * html/BaseDateAndTimeInputType.cpp: Added.
40892         (WebCore::BaseDateAndTimeInputType::parseToDouble):
40893         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
40894         * html/BaseDateAndTimeInputType.h: Added.
40895         (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
40896         * html/DateInputType.cpp:
40897         (WebCore::DateInputType::parseToDateComponentsInternal):
40898         * html/DateInputType.h:
40899         (WebCore::DateInputType::DateInputType):
40900         * html/DateTimeInputType.cpp:
40901         (WebCore::DateTimeInputType::parseToDateComponentsInternal):
40902         * html/DateTimeInputType.h:
40903         (WebCore::DateTimeInputType::DateTimeInputType):
40904         * html/DateTimeLocalInputType.cpp:
40905         (WebCore::DateTimeLocalInputType::parseToDateComponentsInternal):
40906         * html/DateTimeLocalInputType.h:
40907         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
40908         * html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*.
40909         (WebCore::HTMLInputElement::typeMismatch):
40910         (WebCore::HTMLInputElement::rangeUnderflow):
40911         (WebCore::HTMLInputElement::rangeOverflow):
40912         (WebCore::HTMLInputElement::minimum):
40913         (WebCore::HTMLInputElement::maximum):
40914         (WebCore::HTMLInputElement::stepBase):
40915         (WebCore::HTMLInputElement::stepMismatch):
40916         (WebCore::HTMLInputElement::applyStep):
40917         (WebCore::HTMLInputElement::valueAsDate):
40918         (WebCore::HTMLInputElement::valueAsNumber):
40919         (WebCore::HTMLInputElement::handleKeyEventForRange):
40920         (WebCore::HTMLInputElement::stepUpFromRenderer):
40921         * html/HTMLInputElement.h:
40922         * html/InputType.cpp:
40923         (WebCore::InputType::parseToDouble):
40924         (WebCore::InputType::parseToDateComponents):
40925         * html/InputType.h:
40926         * html/MonthInputType.cpp:
40927         (WebCore::MonthInputType::parseToDouble):
40928         (WebCore::MonthInputType::parseToDateComponentsInternal):
40929         * html/MonthInputType.h:
40930         (WebCore::MonthInputType::MonthInputType):
40931         * html/NumberInputType.cpp:
40932         (WebCore::NumberInputType::parseToDouble):
40933         * html/NumberInputType.h:
40934         * html/RangeInputType.cpp:
40935         (WebCore::RangeInputType::parseToDouble):
40936         * html/RangeInputType.h:
40937         * html/TimeInputType.cpp:
40938         (WebCore::TimeInputType::parseToDateComponentsInternal):
40939         * html/TimeInputType.h:
40940         (WebCore::TimeInputType::TimeInputType):
40941         * html/WeekInputType.cpp:
40942         (WebCore::WeekInputType::parseToDateComponentsInternal):
40943         * html/WeekInputType.h:
40944         (WebCore::WeekInputType::WeekInputType):
40945
40946 2010-10-03  Adam Barth  <abarth@webkit.org>
40947
40948         Reviewed by Holger Freyther.
40949
40950         ASSERT(m_state = Open); is bad news bears
40951         https://bugs.webkit.org/show_bug.cgi?id=47057
40952
40953         Added by ap (review by darin) in http://trac.webkit.org/changeset/50951
40954         Too bad the compiler doesn't catch these errors.  I don't believe this
40955         is possible to test.
40956
40957         * platform/network/cf/SocketStreamHandleCFNet.cpp:
40958         (WebCore::SocketStreamHandle::writeStreamCallback):
40959
40960 2010-10-03  Adam Barth  <abarth@webkit.org>
40961
40962         Reviewed by Holger Freyther.
40963
40964         All the WebSocket tests crash
40965         https://bugs.webkit.org/show_bug.cgi?id=47056
40966
40967         More code that tries to hold onto temporaries with references.
40968
40969         * websockets/WebSocketChannel.cpp:
40970         (WebCore::WebSocketChannel::didOpen):
40971
40972 2010-10-03  Adam Barth  <abarth@webkit.org>
40973
40974         Reviewed by Holger Freyther.
40975
40976         All the WebSocket tests crash
40977         https://bugs.webkit.org/show_bug.cgi?id=47055
40978
40979         This code attempts to hold onto temporary objects using references.
40980         That doesn't work in C++. Instead, we need to actually store the
40981         objects somewhere.
40982
40983         * bindings/js/JSWebSocketCustom.cpp:
40984         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
40985
40986 2010-10-02  Diego Gonzalez  <diegohcg@webkit.org>
40987
40988         Reviewed by Kenneth Rohde Christiansen.
40989
40990         [Qt] Provide Qt support for DeviceMotion/Orientation clients
40991         https://bugs.webkit.org/show_bug.cgi?id=47051
40992
40993         Add Qt DeviceMotion/Orientation dummy clients in build system.
40994
40995         * WebCore.pro:
40996
40997 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
40998
40999         Reviewed by Dirk Schulze.
41000
41001         Rewrite SVG text layout code
41002         https://bugs.webkit.org/show_bug.cgi?id=45532
41003
41004         Modernize SVG text layout engine, split the layout process into three phases, so that each results can be cached (which will be done in a follow-up patch).
41005
41006         Phase #1) - SVGTextLayoutAttributesBuilder
41007         ------------------------------------------
41008
41009         Parse x/y/dx/dy/rotate values of the <text> subtree (<text x="30 40">A<tspan>B<tspan x="50">C</tspan></tspan></text>)
41010         This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there.
41011         Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created.
41012
41013         Now we know which character has an associated absolute x or y position, denoting the start of a new text chunk. Whenever we encounter a new text chunk
41014         RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection.
41015
41016         The text chunk concept is now merged right into the InlineBox tree, so we don't need to hack around the lack of that, as done for the previous years.
41017
41018         Phase #2) - SVGTextLayoutEngine
41019         ------------------------------------------
41020
41021         RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak()
41022         decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the
41023         current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects.
41024
41025         For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation()
41026         is called (unlike HTML text, which splits the vertical & horizontal layout in two phases, it's just one single phase for SVG). This function invokes SVGTextLayoutEngine
41027         and starts phase #2 of the layout process.
41028
41029         SVGTextLayoutEngine lays out the content of each SVGInlineTextBox either on a line or a path. It contains all the logic handling, alignment-baseline, dominant-baseline,
41030         letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc.
41031
41032         As result it generates a set of SVGTextFragment objects which are stored in each SVGInlineTextBox. Each SVGTextFragment is a portion of text that can be rendered/measured
41033         at once. Some examples to illustrate what's going on:
41034
41035         <text x="20">ABCD</text>:
41036         - SVGInlineTextBox
41037           - SVGTextFragment, start 0 length 4, "ABCD" (x=20)
41038
41039         <text x="20 100">ABCD</text>:
41040         - SVGInlineTextBox
41041           - SVGTextFragment, start 0 length 1, "A" (x=20)
41042         - SVGInlineTextBox
41043           - SVGTextFragment, start 0 length 1, "B" (x=100)
41044           - SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last)
41045
41046         <text><textPath xlink:href="#somePath">ABCD</textPath></text>:
41047         - SVGInlineTextBox
41048           - SVGTextFragment, start 0 length 1, "A" (rotated!)
41049           - SVGTextFragment, start 1 length 1, "B" (rotated!)
41050           - SVGTextFragment, start 2 length 1, "C" (rotated!)
41051           - SVGTextFragment, start 3 length 1, "D" (rotated!)
41052
41053         <text x="0 50 100">A<tspan>B</tspan>C</text>
41054         - SVGInlineTextBox
41055           - SVGTextFragment, start 0 length 1, "A" (x=0)
41056         - SVGInlineFlowBox
41057           - SVGInlineTextBox
41058             - SVGTextFragment, start 0 length 1, "B" (x=50)
41059         - SVGInlineTextBox
41060           - SVGTextFragment, start 0 length 1, "C" (x=100)
41061
41062         When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same.
41063         All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting.
41064         This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process.
41065
41066         We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information
41067         if the x/y/dx/dy or rotate list of an element in the <text> subtree changes or the text content itself -> this will be done in a follow-up patch.
41068         It's likely that we'll also find ways to skip phase #2 in certain situations.
41069
41070         Phase #3) - SVGTextChunkBuilder
41071         ------------------------------------------
41072
41073         After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis.
41074         text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs").
41075
41076         SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments
41077         are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text).
41078
41079         After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child
41080         boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object.
41081
41082         This should give interessted readers a good summary of how the new text layout engine works.
41083         See LayoutTests/ChangeLog for more details on test progression.
41084
41085         Tests: svg/custom/text-rotation.svg
41086                svg/custom/text-x-dy-lists.svg
41087
41088         * Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build.
41089         * CMakeLists.txt: Ditto.
41090         * GNUmakefile.am: Ditto.
41091         * WebCore.gypi: Ditto.
41092         * WebCore.pro: Ditto.
41093         * WebCore.vcproj/WebCore.vcproj: Ditto.
41094         * WebCore.xcodeproj/project.pbxproj: Ditto.
41095         * rendering/InlineBox.h:
41096         (WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist.
41097         * rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it.
41098         * rendering/RenderSVGAllInOne.cpp: removes
41099         * rendering/RenderText.cpp:
41100         (WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText.
41101         * rendering/SVGCharacterData.cpp: Removed.
41102         * rendering/SVGCharacterData.h: Removed.
41103         * rendering/SVGCharacterLayoutInfo.cpp: Removed.
41104         * rendering/SVGCharacterLayoutInfo.h: Removed.
41105         * rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch.
41106         (WebCore::writeRenderSVGTextBox):
41107         (WebCore::writeSVGInlineTextBox):
41108         * rendering/SVGTextChunkLayoutInfo.cpp: Removed.
41109         * rendering/SVGTextChunkLayoutInfo.h: Removed.
41110         * rendering/SVGTextLayoutUtilities.cpp: Removed.
41111         * rendering/SVGTextLayoutUtilities.h: Removed.
41112         * rendering/style/RenderStyle.cpp:
41113         (WebCore::RenderStyle::diff): Only return immediately if SVGRenderStyle::diff produced StyleDifferenceLayout, it it's sth. else be sure to ask RenderStyle itself what to do.
41114         * rendering/style/SVGRenderStyle.h:
41115         (WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities.
41116         * rendering/svg/RenderSVGInlineText.cpp:
41117         (WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place.
41118         (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text.
41119         (WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it.
41120         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that.
41121         (WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments.
41122         * rendering/svg/RenderSVGInlineText.h:
41123         (WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder.
41124         (WebCore::toRenderSVGInlineText): New helper methods for casting.
41125         * rendering/svg/RenderSVGText.cpp:
41126         (WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process.
41127         (WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs.
41128         * rendering/svg/RenderSVGText.h:
41129         * rendering/svg/SVGInlineFlowBox.cpp:
41130         (WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG.
41131         (WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting.
41132         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method.
41133         * rendering/svg/SVGInlineFlowBox.h:
41134         (WebCore::SVGInlineFlowBox::isSVGInlineFlowBox):
41135         * rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack.
41136         * rendering/svg/SVGInlineTextBox.h:
41137         (WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments.
41138         (WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box.
41139         (WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk?
41140         (WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk.
41141         * rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts.
41142         (WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background.
41143         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine.
41144         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts.
41145         (WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method.
41146         (WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG.
41147         * rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox.
41148         * rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/
41149         * rendering/svg/SVGTextChunk.h:
41150         * rendering/svg/SVGTextChunkBuilder.cpp: Added.
41151         * rendering/svg/SVGTextChunkBuilder.h: Added.
41152         * rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method.
41153         * rendering/svg/SVGTextLayoutAttributes.h:
41154         (WebCore::SVGTextLayoutAttributes::textMetricsValues):
41155         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes.
41156         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
41157         * rendering/svg/SVGTextLayoutEngine.cpp: Added.
41158         * rendering/svg/SVGTextLayoutEngine.h: Added.
41159         * rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic.
41160         * rendering/svg/SVGTextQuery.h:
41161
41162 2010-10-02  Alpha Lam  <hclam@chromium.org>
41163
41164         Build fix. Not reviewed.
41165
41166         An adhoc fix for a crash found by reliability bot. This will make the
41167         reliability bot happy. A proper fix is pending commit.
41168
41169         * platform/graphics/chromium/VideoLayerChromium.cpp:
41170         (WebCore::VideoLayerChromium::~VideoLayerChromium):
41171
41172 2010-10-01  Ryosuke Niwa  <rniwa@webkit.org>
41173
41174         Reviewed by Darin Adler.
41175
41176         FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs
41177         https://bugs.webkit.org/show_bug.cgi?id=46840
41178
41179         Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand
41180         and IndentOutdentCommand.  It is intended to be inherited by InsertListCommand as well.
41181
41182         ApplyBlockElementCommand's doApply verifies the current selection and exits early
41183         if it's invalid or orphaned or if the current selection is outside editable region.
41184         It then calls formatSelection to apply the block element after which doApply restores the selection.
41185         formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function
41186         implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph.
41187
41188         No new tests are added since this is a refactoring.
41189
41190         * Android.mk: Added ApplyBlockElementCommand.cpp.
41191         * CMakeLists.txt: Ditto.
41192         * GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h.
41193         * WebCore.gypi: Ditto.
41194         * WebCore.pro: Ditto.
41195         * WebCore.xcodeproj/project.pbxproj: Ditto.
41196         * editing/ApplyBlockElementCommand.cpp: Added.
41197         (WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp
41198         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added.
41199         (WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply.
41200         (WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion.
41201         (WebCore::ApplyBlockElementCommand::createBlockElement): Added.
41202         (WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes.
41203         * editing/ApplyBlockElementCommand.h: Added.
41204         * editing/EditingAllInOne.cpp:
41205         * editing/EditorCommand.cpp:
41206         (WebCore::executeFormatBlock):
41207         * editing/FormatBlockCommand.cpp: Removed doApply.
41208         (WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor.
41209         (WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph.
41210         * editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand.
41211         (WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString.
41212         * editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes.
41213         (WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor.
41214         (WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote
41215         when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection.
41216         (WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting.
41217         (WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote.
41218         * editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand.
41219
41220 2010-10-01  Mark Rowe  <mrowe@apple.com>
41221
41222         Build fix.
41223
41224         Clear the executable bit from a number of source files.
41225
41226         * page/Frame.cpp:
41227         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
41228         * platform/graphics/win/WKCACFLayerRenderer.cpp:
41229         * platform/graphics/win/WKCACFLayerRenderer.h:
41230         * platform/network/ResourceRawHeaders.h:
41231         * rendering/RenderLayerCompositor.cpp:
41232         * rendering/RenderLayerCompositor.h:
41233
41234 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
41235
41236         Reviewed by Adam Barth.
41237
41238         [GTK] r68923 broke some plugin tests
41239         https://bugs.webkit.org/show_bug.cgi?id=47040
41240
41241         No longer pass focus and blur events to plugins when the "old" DOM Level
41242         2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means
41243         that the DOM Level 3 version is always fired for this event. 
41244
41245         No new tests, as this should cause the failing tests to pass.
41246
41247         * plugins/PluginView.cpp:
41248         (WebCore::PluginView::handleEvent): No longer pass focus and blur events to
41249         plugins when DOMFocusIn / DOMFocusOut events occur.
41250
41251 2010-10-01  Anders Carlsson  <andersca@apple.com>
41252
41253         Reviewed by Sam Weinig.
41254
41255         Plug-ins should have access to the private browsing state.
41256         https://bugs.webkit.org/show_bug.cgi?id=47031
41257         <rdar://problem/8505405>
41258
41259         * page/Page.cpp:
41260         (WebCore::Page::privateBrowsingStateChanged):
41261         When iterating over all widgets, also look for PluginViewBase classes and invoke their 
41262         privateBrowsingStateChange member function.
41263
41264         * plugins/PluginViewBase.h:
41265         (WebCore::PluginViewBase::privateBrowsingStateChanged):
41266         Add function.
41267
41268 2010-10-01  Brian Weinstein  <bweinstein@apple.com>
41269
41270         Build Fix for Windows.
41271
41272         * WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use
41273             WebCoreCommon.vsprops to handle post-build step.
41274         * WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete 
41275              $(WebKitOutputDir)/buildfailed.
41276
41277 2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
41278
41279         Reviewed by Kenneth Rohde Christiansen.
41280
41281         [Qt] Segmentation fault during zoom out
41282         https://bugs.webkit.org/show_bug.cgi?id=46984
41283
41284         * platform/qt/QtMobileWebStyle.cpp:
41285         (QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle.
41286
41287 2010-10-01  Anders Carlsson  <andersca@apple.com>
41288
41289         Another Qt build fix attempt.
41290
41291         * WebCore.pro:
41292
41293 2010-10-01  David Hyatt  <hyatt@apple.com>
41294
41295         Reviewed by Dan Bernstein.
41296
41297         https://bugs.webkit.org/show_bug.cgi?id=47021
41298         
41299         Patch the floatBottom function and its friends.  Rename them and consolidate them to be block-flow-aware.
41300
41301         Nothing testable yet, since most of the float code is still unpatched.
41302
41303         * rendering/RenderBlock.cpp:
41304         (WebCore::RenderBlock::layoutBlock):
41305         (WebCore::RenderBlock::layoutBlockChildren):
41306         (WebCore::RenderBlock::layoutBlockChild):
41307         (WebCore::RenderBlock::positionNewFloats):
41308         (WebCore::RenderBlock::newLine):
41309         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
41310         (WebCore::RenderBlock::lowestFloatLogicalBottom):
41311         (WebCore::RenderBlock::clearFloats):
41312         (WebCore::RenderBlock::addOverhangingFloats):
41313         (WebCore::RenderBlock::getClearDelta):
41314         * rendering/RenderBlock.h:
41315         (WebCore::RenderBlock::logicalBottomForFloat):
41316         (WebCore::RenderBlock::hasOverhangingFloats):
41317         * rendering/RenderBlockLineLayout.cpp:
41318         (WebCore::RenderBlock::fitBelowFloats):
41319
41320 2010-10-01  Anders Carlsson  <andersca@apple.com>
41321
41322         Fix typo.
41323
41324         * platform/network/qt/ProxyServerQt.cpp:
41325         (WebCore::proxyServersForURL):
41326
41327 2010-10-01  Anders Carlsson  <andersca@apple.com>
41328
41329         Add Qt ProxyServer stub.
41330
41331         * WebCore.pro:
41332         * platform/network/qt/ProxyServerQt.cpp: Added.
41333         (WebCore::proxyServersForURL):
41334
41335 2010-10-01  Anders Carlsson  <andersca@apple.com>
41336
41337         Reviewed by Dan Bernstein.
41338
41339         Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
41340         https://bugs.webkit.org/show_bug.cgi?id=47022
41341         <rdar://problem/8504712>
41342
41343         * WebCore.exp.in:
41344         Export proxyServersForURL and toString.
41345
41346         * WebCore.vcproj/WebCore.vcproj:
41347         * WebCore.xcodeproj/project.pbxproj:
41348         Add new files.
41349
41350         * platform/network/ProxyServer.cpp: Added.
41351         (WebCore::appendProxyServerString):
41352         (WebCore::toString):
41353         New function that converts a vector of ProxyServers into a PAC style string.
41354
41355         * platform/network/ProxyServer.h: Added.
41356         (WebCore::ProxyServer::ProxyServer):
41357         (WebCore::ProxyServer::type):
41358         (WebCore::ProxyServer::hostName):
41359         (WebCore::ProxyServer::port):
41360         Add ProxyServer class.
41361
41362         * platform/network/cf/ProxyServerCFNet.cpp: Added.
41363         (WebCore::proxyServersForURL):
41364         (WebCore::addProxyServersForURL):
41365         Query CFNetwork for the proxy servers given a URL.
41366
41367 2010-09-30  Zhenyao Mo  <zmo@google.com>
41368
41369         Reviewed by Kenneth Russell.
41370
41371         texImage2D fails on 16-bit-per-channel images
41372         https://bugs.webkit.org/show_bug.cgi?id=46947
41373
41374         * platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats.
41375         (WebCore::convertColor16To8):
41376         (WebCore::doPacking):
41377         * platform/graphics/GraphicsContext3D.h: Ditto.
41378         * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
41379         (WebCore::GraphicsContext3D::getImageData):
41380
41381 2010-10-01  Eric Uhrhane  <ericu@chromium.org>
41382
41383         Reviewed by Nate Chapin.
41384
41385         Add v8 binding helpers to make FileWriter be an EventTarget.
41386         https://bugs.webkit.org/show_bug.cgi?id=46910
41387
41388         No new tests; still waiting for the first complete implementation.
41389
41390         * bindings/v8/V8DOMWrapper.cpp:
41391         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
41392
41393 2010-10-01  David Hyatt  <hyatt@apple.com>
41394
41395         Reviewed by Sam Weinig.
41396
41397         https://bugs.webkit.org/show_bug.cgi?id=47015
41398         
41399         Change FloatingObject to store its dimensions as a rect.
41400         This will make it easier for logical access for block-flow later on if
41401         top/bottom is no different from left/width.  This change also simplifies
41402         calling code a bit in places.
41403
41404         * rendering/RenderBlock.cpp:
41405         (WebCore::RenderBlock::addOverflowFromFloats):
41406         (WebCore::RenderBlock::repaintOverhangingFloats):
41407         (WebCore::RenderBlock::paintFloats):
41408         (WebCore::RenderBlock::fillSelectionGaps):
41409         (WebCore::RenderBlock::insertFloatingObject):
41410         (WebCore::RenderBlock::removeFloatingObject):
41411         (WebCore::RenderBlock::removeFloatingObjectsBelow):
41412         (WebCore::RenderBlock::positionNewFloats):
41413         (WebCore::RenderBlock::positionNewFloatOnLine):
41414         (WebCore::RenderBlock::logicalLeftOffsetForLine):
41415         (WebCore::RenderBlock::logicalRightOffsetForLine):
41416         (WebCore::RenderBlock::nextFloatBottomBelow):
41417         (WebCore::RenderBlock::floatBottom):
41418         (WebCore::RenderBlock::lowestPosition):
41419         (WebCore::RenderBlock::rightmostPosition):
41420         (WebCore::RenderBlock::leftmostPosition):
41421         (WebCore::RenderBlock::leftBottom):
41422         (WebCore::RenderBlock::rightBottom):
41423         (WebCore::RenderBlock::clearFloats):
41424         (WebCore::RenderBlock::addOverhangingFloats):
41425         (WebCore::RenderBlock::addIntrudingFloats):
41426         (WebCore::RenderBlock::hitTestFloats):
41427         (WebCore::RenderBlock::adjustForBorderFit):
41428         * rendering/RenderBlock.h:
41429         (WebCore::RenderBlock::FloatingObject::FloatingObject):
41430         (WebCore::RenderBlock::FloatingObject::left):
41431         (WebCore::RenderBlock::FloatingObject::right):
41432         (WebCore::RenderBlock::FloatingObject::top):
41433         (WebCore::RenderBlock::FloatingObject::bottom):
41434         (WebCore::RenderBlock::FloatingObject::width):
41435         (WebCore::RenderBlock::FloatingObject::height):
41436         (WebCore::RenderBlock::FloatingObject::setLeft):
41437         (WebCore::RenderBlock::FloatingObject::setTop):
41438         (WebCore::RenderBlock::FloatingObject::setWidth):
41439         (WebCore::RenderBlock::FloatingObject::setHeight):
41440         (WebCore::RenderBlock::FloatingObject::frameRect):
41441         (WebCore::RenderBlock::FloatingObject::setFrameRect):
41442         * rendering/RenderBlockLineLayout.cpp:
41443         (WebCore::RenderBlock::layoutInlineChildren):
41444         (WebCore::RenderBlock::matchedEndLine):
41445
41446 2010-10-01  Enrica Casucci  <enrica@apple.com>
41447
41448         Reviewed by Darin Adler.
41449
41450         DOMFocusIn/DOMFocusOut return focusin/focusout Event.type
41451         https://bugs.webkit.org/show_bug.cgi?id=42580
41452         <rdar://problem/8107311>
41453         
41454         This change removes the aliased type machinery from the Event class.
41455         We now fire the event with the new name and the oldname.
41456         
41457         Tests: Modified fast/events/focusinout.html to check the event
41458         type.
41459
41460         * dom/Document.cpp:
41461         (WebCore::Document::setFocusedNode):
41462         * dom/Event.cpp: Removed aliasedType and hasAliasedType.
41463         * dom/Event.h: Removed aliasedType and hasAliasedType.
41464         * dom/EventTarget.cpp:
41465         (WebCore::EventTarget::fireEventListeners): Removed aliasedType related code.
41466
41467 2010-10-01  David Hyatt  <hyatt@apple.com>
41468
41469         Reviewed by Darin Adler.
41470
41471         https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow.  This patch changes
41472         all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width
41473         and logical height instead.
41474
41475         Added fast/blockflow/block-level-images.html
41476
41477         * rendering/RenderBox.cpp:
41478         (WebCore::RenderBox::computeLogicalWidth):
41479         (WebCore::RenderBox::computeLogicalHeight):
41480         (WebCore::RenderBox::computeReplacedLogicalWidth):
41481         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
41482         (WebCore::RenderBox::computeReplacedLogicalHeight):
41483         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
41484         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
41485         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
41486         * rendering/RenderBox.h:
41487         (WebCore::RenderBox::intrinsicLogicalWidth):
41488         (WebCore::RenderBox::intrinsicLogicalHeight):
41489         * rendering/RenderImage.cpp:
41490         (WebCore::RenderImage::isLogicalWidthSpecified):
41491         (WebCore::RenderImage::isLogicalHeightSpecified):
41492         (WebCore::RenderImage::computeReplacedLogicalWidth):
41493         (WebCore::RenderImage::computeReplacedLogicalHeight):
41494         (WebCore::RenderImage::calcAspectRatioLogicalWidth):
41495         (WebCore::RenderImage::calcAspectRatioLogicalHeight):
41496         * rendering/RenderImage.h:
41497         * rendering/RenderReplaced.cpp:
41498         (WebCore::RenderReplaced::layout):
41499         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
41500         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
41501         (WebCore::RenderReplaced::calcAspectRatioLogicalWidth):
41502         (WebCore::RenderReplaced::calcAspectRatioLogicalHeight):
41503         (WebCore::RenderReplaced::computePreferredLogicalWidths):
41504         * rendering/RenderReplaced.h:
41505         * rendering/RenderSVGRoot.cpp:
41506         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
41507         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
41508         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
41509         * rendering/RenderSVGRoot.h:
41510         * rendering/RenderVideo.cpp:
41511         (WebCore::RenderVideo::computeReplacedLogicalWidth):
41512         (WebCore::RenderVideo::computeReplacedLogicalHeight):
41513         * rendering/RenderVideo.h:
41514
41515 2010-10-01  Nate Chapin  <japhet@chromium.org>
41516
41517         Reviewed by Darin Adler.
41518
41519         Remove unused Request::buffer() and Request::m_buffer.
41520
41521         https://bugs.webkit.org/show_bug.cgi?id=47003
41522
41523         * loader/Request.h:
41524
41525 2010-10-01  Dan Bernstein  <mitz@apple.com>
41526
41527         Reviewed by Adele Peterson.
41528
41529         <rdar://problem/7563219> Null dereference when dragging an element with generated content
41530         https://bugs.webkit.org/show_bug.cgi?id=47005
41531
41532         Test: fast/css-generated-content/drag-state.html
41533
41534         * rendering/RenderObject.cpp:
41535         (WebCore::RenderObject::updateDragState): Null-check node().
41536
41537 2010-10-01  Robert Hogan  <robert@webkit.org>
41538
41539         Reviewed by Adam Barth.
41540
41541         [Qt] Fix http/tests/loading/redirect-methods.html
41542
41543         Document our redirection behaviour too.
41544
41545         https://bugs.webkit.org/show_bug.cgi?id=41571
41546
41547         * platform/network/qt/QNetworkReplyHandler.cpp:
41548         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41549         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41550         * platform/network/qt/QNetworkReplyHandler.h:
41551
41552 2010-10-01  Adam Roben  <aroben@apple.com>
41553
41554         Copy forwarding headers and Inspector JS files as part of
41555         WebCoreGenerated.vcproj
41556
41557         WebCoreGenerated.vcproj runs on every build, while WebCore.vcproj only
41558         runs when a .h or .cpp file changes. By moving the copying to
41559         WebCoreGenerated, it will happen even when someone only changes a JS
41560         file (as happened in r68887).
41561
41562         Fixes <http://webkit.org/b/46988> <rdar://problem/8502489> REGRESSION
41563         (r68887): Web Inspector: inspector/extensions*.html are failing on
41564         Windows
41565
41566         Reviewed by Anders Carlsson.
41567
41568         * WebCore.vcproj/WebCore.vcproj: Moved invocation of
41569         copyForwardingHeaders and copyInspectorFiles from here...
41570         * WebCore.vcproj/WebCoreGenerated.vcproj: ...to here.
41571
41572 2010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
41573
41574         Reviewed by Darin Adler.
41575
41576         Implement queryCommandState('justifyFull')
41577         https://bugs.webkit.org/show_bug.cgi?id=46954
41578
41579         Implemented queryCommandState('justifyFull').
41580         New tests are added to editing/style/inline-style-container.html
41581
41582         * editing/ApplyStyleCommand.cpp:
41583         (WebCore::getTextAlignment): Added support for CSSValueJustify.
41584         * editing/EditorCommand.cpp:
41585         (WebCore::stateJustifyFull): Added.
41586         (WebCore::createCommandMap): Added stateJustifyFull.
41587
41588 2010-10-01  Jia Pu  <jpu@apple.com>
41589
41590         Reviewed by Darin Adler.
41591
41592         Autocorrection shouldn't prompt the same correction after user has edited previous correction.
41593         https://bugs.webkit.org/show_bug.cgi?id=46839
41594         <rdar://problem/8476963>
41595
41596         * editing/Editor.cpp:
41597         (WebCore::Editor::respondToChangedSelection): Remove "CorrectionIndicator" marker instead of
41598           "Replacement" marker. Since the former controls whether we draw autocorrection underline,
41599           and the latter is used to prevent autocorrection from being applied again on already auto-
41600           corrected word. So the "Replacement" shouldn't be removed.
41601
41602 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
41603
41604         Reviewed by Anders Carlsson.
41605
41606         [CMake] Add handling for ENABLE(NETSCAPE_PLUGIN_API)
41607         https://bugs.webkit.org/show_bug.cgi?id=46309
41608
41609         * CMakeLists.txt:
41610         * CMakeListsEfl.txt:
41611
41612 2010-10-01  David Hyatt  <hyatt@apple.com>
41613
41614         Reviewed by Darin Adler.
41615
41616         https://bugs.webkit.org/show_bug.cgi?id=46996, patch the functions dealing with the bottom of the block to
41617         be block-flow-aware.
41618
41619         * rendering/RenderBlock.cpp:
41620         (WebCore::RenderBlock::setCollapsedBottomMargin):
41621         (WebCore::RenderBlock::handleAfterSideOfBlock):
41622
41623 2010-10-01  Pratik Solanki  <psolanki@apple.com>
41624
41625         Reviewed by Geoffrey Garen.
41626         Specify ALWAYS_INLINE at function declaration not function definition
41627         https://bugs.webkit.org/show_bug.cgi?id=46960
41628
41629         For functions defined with ALWAYS_INLINE, add the attribute to the declaration as well.
41630
41631         * css/CSSStyleSelector.h:
41632         * rendering/InlineIterator.h:
41633         * rendering/style/RenderStyle.h:
41634
41635 2010-10-01  David Hyatt  <hyatt@apple.com>
41636
41637         Reviewed by Dan Bernstein.
41638
41639         https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
41640
41641         Added fast/css/rtl-to-viewport.html
41642
41643         * css/CSSStyleSelector.cpp:
41644         (WebCore::CSSStyleSelector::styleForDocument):
41645         * rendering/RenderBox.cpp:
41646         (WebCore::RenderBox::styleDidChange):
41647
41648 2010-10-01  Alexey Proskuryakov  <ap@apple.com>
41649
41650         Reviewed by Anders Carlsson.
41651
41652         https://bugs.webkit.org/show_bug.cgi?id=44406
41653         <rdar://problem/8310921> Application Cache crash when a fallback document has a manifest URL
41654
41655         Test: http/tests/appcache/foreign-fallback.html
41656
41657         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
41658         Changed ApplicationCacheResource lookup to find fallback resources correctly.
41659
41660 2010-10-01  Kwang Yul Seo  <skyul@company100.net>
41661
41662         Unreviewed, Brew MP build fix.
41663
41664         * platform/brew/ClipboardBrew.cpp:
41665         (WebCore::ClipboardBrew::ClipboardBrew):
41666
41667 2010-10-01  Rafael Antognolli  <antognolli@profusion.mobi>
41668
41669         Unreviewed build fix.
41670
41671         [CMAKE] Build fix for r68878
41672         https://bugs.webkit.org/show_bug.cgi?id=46985
41673
41674         Fix name of files added to CMakeLists.txt:
41675         SVGTextLayoutBaseline.cpp -> SVGTextLayoutEngineBaseline.cpp
41676         SVGTextLayoutSpacing.cpp -> SVGTextLayoutEngineSpacing.cpp
41677
41678         No features added, so no new tests.
41679
41680         * CMakeLists.txt:
41681
41682 2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
41683
41684         Reviewed by Kenneth Rohde Christiansen.
41685
41686         [Qt] New buttons style for Qt Mobile theme
41687         https://bugs.webkit.org/show_bug.cgi?id=46920
41688
41689         Rename Maemo5Webstyle to QtMobileWebStyle since it implements the style for all Qt mobile platform.
41690         Adjust new Qt mobile style for buttons, radios, checks and combos.
41691
41692         * WebCore.pro:
41693         * css/themeQtMobile.css: Adjust gradient color for buttons and combos.
41694         (select):
41695         (select:active):
41696         * platform/qt/QtMobileWebStyle.cpp: Renamed from platform/qt/Maemo5Webstyle.cpp to match name scheme.
41697         (QtMobileWebStyle::QtMobileWebStyle):
41698         (drawRectangularControlBackground):
41699         (QtMobileWebStyle::drawChecker):
41700         (QtMobileWebStyle::findChecker):
41701         (QtMobileWebStyle::drawRadio): Adjust gradient color for RadioButton.
41702         (QtMobileWebStyle::findRadio):
41703         (QtMobileWebStyle::drawControl): Adjust gradient color for CheckBox.
41704         (QtMobileWebStyle::drawMultipleComboButton):
41705         (QtMobileWebStyle::drawSimpleComboButton): Adjust ComboBox arrow.
41706         (QtMobileWebStyle::getButtonImageSize):
41707         (QtMobileWebStyle::findComboButton):
41708         (QtMobileWebStyle::drawComplexControl):
41709         * platform/qt/QtMobileWebStyle.h: Renamed from platform/qt/Maemo5Webstyle.h to match name scheme.
41710         * platform/qt/RenderThemeQt.cpp:
41711         (WebCore::RenderThemeQt::RenderThemeQt):
41712
41713 2010-10-01  Andrey Kosyakov  <caseq@chromium.org>
41714
41715         Reviewed by Pavel Feldman.
41716
41717         Web Inspector: [Extensions API] expose page load events timings
41718         Added webInspector.resources.getPageTimings()
41719         
41720         https://bugs.webkit.org/show_bug.cgi?id=45954
41721
41722         * inspector/front-end/ExtensionAPI.js:
41723         (WebInspector.injectedExtensionAPI.Resources.prototype):
41724         (WebInspector.injectedExtensionAPI.Resources.prototype.getPageTimings):
41725         * inspector/front-end/ExtensionServer.js:
41726         (WebInspector.ExtensionServer):
41727         (WebInspector.ExtensionServer.prototype._onGetPageTimings):
41728         * inspector/front-end/HAREntry.js: Return page event timings as -1 if start or event time unknown.
41729         (WebInspector.HARLog.prototype._buildPages):
41730         (WebInspector.HARLog.prototype.buildMainResourceTimings):
41731         (WebInspector.HARLog.prototype._convertResource):
41732         (WebInspector.HARLog.prototype._pageEventTime):
41733
41734 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
41735
41736         Reviewed by Adam Roben.
41737
41738         [WIN] Add GDIExtras
41739         https://bugs.webkit.org/show_bug.cgi?id=46974
41740
41741         Some, but not all WinCE environments have support for AlphaBlend().
41742         Add this files to check for AlphaBlend (and SoftLink) on WinCE.
41743         On WinNT alphaBlendIfSupported() inlines AlphaBlend and returns true.
41744
41745         * platform/graphics/win/GDIExtras.cpp: Added.
41746         (WebCore::AlphaBlendPointer):
41747         * platform/graphics/win/GDIExtras.h: Added.
41748         (WebCore::hasAlphaBlendSupport):
41749         (WebCore::alphaBlendIfSupported):
41750
41751 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
41752
41753         Reviewed by Adam Roben.
41754
41755         [WINCE] Use alphaBlendIfSupported in GraphicsContext
41756         https://bugs.webkit.org/show_bug.cgi?id=46979
41757
41758         * platform/graphics/wince/GraphicsContextWinCE.cpp:
41759         (WebCore::GraphicsContextPlatformPrivate::paintBackTransparentLayerBitmap):
41760
41761 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41762
41763         Reviewed by Dirk Schulze.
41764
41765         Add two new helper files for the new SVGTextLayoutEngine
41766         https://bugs.webkit.org/show_bug.cgi?id=46972
41767
41768         Refactor code from SVGTextLayoutUtilities into two seperated classes.
41769         SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.
41770
41771         Doesn't affect any functionality yet, as the new classes are not used so far.
41772
41773         * Android.mk:
41774         * CMakeLists.txt:
41775         * GNUmakefile.am:
41776         * WebCore.gypi:
41777         * WebCore.vcproj/WebCore.vcproj:
41778         * WebCore.xcodeproj/project.pbxproj:
41779         * rendering/svg/SVGTextFragment.h:
41780         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added.
41781         (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline):
41782         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
41783         (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline):
41784         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
41785         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
41786         (WebCore::glyphOrientationIsMultiplyOf180Degrees):
41787         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
41788         * rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
41789         * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added.
41790         (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing):
41791         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
41792         (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
41793         * rendering/svg/SVGTextLayoutEngineSpacing.h: Added.
41794
41795 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41796
41797         Reviewed by Andreas Kling.
41798
41799         Rename SVGTextLayoutBuilder to SVGTextLayoutAttributesBuilder
41800         https://bugs.webkit.org/show_bug.cgi?id=46971
41801
41802         Doesn't affect any functionality, just moves files around.
41803
41804         * Android.mk:
41805         * CMakeLists.txt:
41806         * GNUmakefile.am:
41807         * WebCore.gypi:
41808         * WebCore.pro:
41809         * WebCore.vcproj/WebCore.vcproj:
41810         * WebCore.xcodeproj/project.pbxproj:
41811         * rendering/svg/RenderSVGText.cpp:
41812         (WebCore::RenderSVGText::layout): Adopt to renaming.
41813         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Copied from rendering/svg/SVGTextLayoutBuilder.cpp.
41814         * rendering/svg/SVGTextLayoutAttributesBuilder.h: Copied from rendering/svg/SVGTextLayoutBuilder.h.
41815         * rendering/svg/SVGTextLayoutBuilder.cpp: Removed.
41816         * rendering/svg/SVGTextLayoutBuilder.h: Removed.
41817
41818 2010-10-01  MORITA Hajime  <morrita@google.com>
41819
41820         Unreviewed build fix.
41821
41822         * platform/graphics/skia/PlatformContextSkia.cpp:
41823         (WebCore::PlatformContextSkia::PlatformContextSkia):
41824
41825 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41826
41827         Reviewed by Andreas Kling.
41828
41829         Move SVG text related renderers into rendering/svg/
41830         https://bugs.webkit.org/show_bug.cgi?id=46969
41831
41832         Doesn't affect any functionality, just moves files around.
41833
41834         * Android.mk:
41835         * CMakeLists.txt:
41836         * GNUmakefile.am:
41837         * WebCore.gypi:
41838         * WebCore.pro:
41839         * WebCore.vcproj/WebCore.vcproj:
41840         * WebCore.xcodeproj/project.pbxproj:
41841         * rendering/RenderSVGAllInOne.cpp:
41842         * rendering/RenderSVGInline.cpp: Removed.
41843         * rendering/RenderSVGInline.h: Removed.
41844         * rendering/RenderSVGInlineText.cpp: Removed.
41845         * rendering/RenderSVGInlineText.h: Removed.
41846         * rendering/RenderSVGTSpan.cpp: Removed.
41847         * rendering/RenderSVGTSpan.h: Removed.
41848         * rendering/RenderSVGText.cpp: Removed.
41849         * rendering/RenderSVGText.h: Removed.
41850         * rendering/RenderSVGTextPath.cpp: Removed.
41851         * rendering/RenderSVGTextPath.h: Removed.
41852         * rendering/SVGInlineFlowBox.cpp: Removed.
41853         * rendering/SVGInlineFlowBox.h: Removed.
41854         * rendering/SVGInlineTextBox.cpp: Removed.
41855         * rendering/SVGInlineTextBox.h: Removed.
41856         * rendering/SVGRootInlineBox.cpp: Removed.
41857         * rendering/SVGRootInlineBox.h: Removed.
41858         * rendering/SVGTextQuery.cpp: Removed.
41859         * rendering/SVGTextQuery.h: Removed.
41860         * rendering/svg/RenderSVGInline.cpp: Copied from rendering/RenderSVGInline.cpp.
41861         * rendering/svg/RenderSVGInline.h: Copied from rendering/RenderSVGInline.h.
41862         * rendering/svg/RenderSVGInlineText.cpp: Copied from rendering/RenderSVGInlineText.cpp.
41863         * rendering/svg/RenderSVGInlineText.h: Copied from rendering/RenderSVGInlineText.h.
41864         * rendering/svg/RenderSVGTSpan.cpp: Copied from rendering/RenderSVGTSpan.cpp.
41865         * rendering/svg/RenderSVGTSpan.h: Copied from rendering/RenderSVGTSpan.h.
41866         * rendering/svg/RenderSVGText.cpp: Copied from rendering/RenderSVGText.cpp.
41867         * rendering/svg/RenderSVGText.h: Copied from rendering/RenderSVGText.h.
41868         * rendering/svg/RenderSVGTextPath.cpp: Copied from rendering/RenderSVGTextPath.cpp.
41869         * rendering/svg/RenderSVGTextPath.h: Copied from rendering/RenderSVGTextPath.h.
41870         * rendering/svg/SVGInlineFlowBox.cpp: Copied from rendering/SVGInlineFlowBox.cpp.
41871         * rendering/svg/SVGInlineFlowBox.h: Copied from rendering/SVGInlineFlowBox.h.
41872         * rendering/svg/SVGInlineTextBox.cpp: Copied from rendering/SVGInlineTextBox.cpp.
41873         * rendering/svg/SVGInlineTextBox.h: Copied from rendering/SVGInlineTextBox.h.
41874         * rendering/svg/SVGRootInlineBox.cpp: Copied from rendering/SVGRootInlineBox.cpp.
41875         * rendering/svg/SVGRootInlineBox.h: Copied from rendering/SVGRootInlineBox.h.
41876         * rendering/svg/SVGTextQuery.cpp: Copied from rendering/SVGTextQuery.cpp.
41877         * rendering/svg/SVGTextQuery.h: Copied from rendering/SVGTextQuery.h.
41878
41879 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41880
41881         Reviewed by Dirk Schulze.
41882
41883         Add SVGTextMetrics/SVGTextFragment/SVGTextChunk primitives used by the new layout engine
41884         https://bugs.webkit.org/show_bug.cgi?id=46964
41885
41886         The new SVG text layout engine will use these new classes.
41887         1) SVGTextMetrics is used to measure either single glyphs (which may span multiple characters, when ligatures are defined) or a range of characters.
41888            
41889            -> In "single glyph" mode, it returns the width/height of the glyph, the length of the glyph (> 1, when ligatures are used) and a "Glyph" object
41890               describing the glyph (name of glyph, when used together with SVG Fonts and the unicode string the glyph describes).
41891            -> In "range of characters" mode, it returns the width/height of the range, and its length.
41892
41893            All measurements are done using the regular Font::floatWidth() methods, this class just encapsulates its usage for the SVG text layout engine.
41894
41895         2) SVGTextFragment describes a fragment of text, living in a SVGInlineTextBox, which can be measured/rendered in one shot.
41896            It contains all necessary information to render the fragment (x/y/width/height, offset into characters() buffer for the first char of the fragment,
41897            length, and an arbitary transformation, holding information about rotations/scale/glyph-orientation etc.)
41898
41899            In future the SVGTextLayoutEngine will generate SVGTextFragment objects for each SVGInlineTextBox. When painting no more measurements have to
41900            be performed as SVGTextFragment contains all necessary information to render text / select text etc.
41901
41902         3) SVGTextChunk describes a SVG text chunk, which may span multiple text boxes (and in turn text fragments).
41903
41904            Quotes from SVG spec:
41905            Each absolute position adjustment defines a new "text chunk". Absolute position adjustments impact text layout in the following ways:
41906             * Ligatures only occur when a set of characters which might map to a ligature are all in the same text chunk.
41907             * Each text chunk represents a separate block of text for alignment due to "text-anchor" property values.
41908             * Reordering of characters due to bidirectionality only occurs within a text chunk. Reordering does not happen across text chunks.
41909
41910             An absolute position adjustment occurs in the following circumstances:
41911             * At the start of a <text> element
41912             * At the start of each <textPath> element
41913             * For each character within a <text>, <tspan>, <tref> and <altGlyph> element which has an "x" or "y" attribute value assigned to it explicitly
41914
41915             After the line-layout finishes, each "text chunk" is altered according to the textLength and text-anchor processing rules
41916             (eg. for text-anchor="middle" moving the whole text chunk by -fragmentWidth/2, for horizontal text).
41917
41918             SVGTextChunk is just a simple helper class, that encapsulates measuring/altering a text chunk.
41919
41920         Doesn't affect any tests, as these classes aren't used so far.
41921
41922         * Android.mk: Add SVGTextMetrics.*, SVGTextFragment.h, SVGTextChunk.* to build.
41923         * CMakeLists.txt: Ditto.
41924         * GNUmakefile.am: Ditto.
41925         * WebCore.gypi: Ditto.
41926         * WebCore.pro: Ditto.
41927         * WebCore.vcproj/WebCore.vcproj: Ditto.
41928         * WebCore.xcodeproj/project.pbxproj: Ditto.
41929         * rendering/svg/SVGTextChunk.cpp: Added.
41930         * rendering/svg/SVGTextChunk.h: Added.
41931         * rendering/svg/SVGTextFragment.h: Added.
41932         * rendering/svg/SVGTextMetrics.cpp: Added.
41933         * rendering/svg/SVGTextMetrics.h: Added.
41934
41935 2010-10-01  Vincent Scheib  <scheib@chromium.org>
41936
41937         Reviewed by James Robinson.
41938
41939         REGRESSION: Lots of fast canvas updates fail to completely render
41940         https://bugs.webkit.org/show_bug.cgi?id=46319
41941
41942         Test: fast/repaint/canvas-putImageData.html
41943
41944         * html/canvas/CanvasRenderingContext2D.cpp:
41945         (WebCore::CanvasRenderingContext2D::putImageData):
41946
41947 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41948
41949         Reviewed by Dirk Schulze.
41950
41951         Add helper methods to cast between renderers & SVGTextContent/PositioningElement
41952         https://bugs.webkit.org/show_bug.cgi?id=46963
41953
41954         Doesn't affect any tests.
41955
41956         * svg/SVGTextContentElement.cpp:
41957         (WebCore::SVGTextContentElement::elementFromRenderer):
41958         * svg/SVGTextContentElement.h:
41959         * svg/SVGTextPositioningElement.cpp:
41960         (WebCore::SVGTextPositioningElement::elementFromRenderer):
41961         * svg/SVGTextPositioningElement.h:
41962
41963 2010-09-30  MORITA Hajime  <morrita@google.com>
41964
41965         Reviewed by James Robinson.
41966
41967         [Chromium] build fails unless ACCELERATED_2D_CANVAS defined
41968         https://bugs.webkit.org/show_bug.cgi?id=46955
41969         
41970         Added ifdef guard around SharedGraphicsContext3D.
41971
41972         No new tests. just a build fix.
41973
41974         * platform/graphics/skia/PlatformContextSkia.cpp:
41975         (WebCore::PlatformContextSkia::~PlatformContextSkia):
41976         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
41977         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
41978         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
41979         * platform/graphics/skia/PlatformContextSkia.h:
41980         (WebCore::PlatformContextSkia::gpuCanvas):
41981
41982 2010-09-30  Kent Tamura  <tkent@chromium.org>
41983
41984         Reviewed by Chris Fleizach.
41985
41986         [Windows] Implement <input type=number> UI
41987         https://bugs.webkit.org/show_bug.cgi?id=38381
41988
41989         Implement theme drawing for inner-spin-button.
41990         No new tests. Existing tests for type=number will cover this change.
41991
41992         * rendering/RenderThemeWin.cpp:
41993         (WebCore::RenderThemeWin::RenderThemeWin):
41994          Handle m_spinButtonTheme.
41995         (WebCore::RenderThemeWin::spinButtonTheme): ditto.
41996         (WebCore::RenderThemeWin::close): ditto.
41997         (WebCore::RenderThemeWin::determineClassicState):
41998          Add ControlSubPart parameter, and add support for InnerSpinButtonPart.
41999         (WebCore::RenderThemeWin::determineSpinButtonState): Added.
42000         (WebCore::RenderThemeWin::getClassicThemeData):
42001          Add ControlSubPart parameter, and handle InnerSpinButtonPart.
42002         (WebCore::RenderThemeWin::getThemeData): ditto.
42003         (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
42004          Set SM_CXVSCROLL value to the width.
42005         (WebCore::RenderThemeWin::paintInnerSpinButton):
42006          Call drawControl() for the upper part and the lower part.
42007         * rendering/RenderThemeWin.h:
42008
42009 2010-09-30  Kent Tamura  <tkent@chromium.org>
42010
42011         Unreviewed, Windows build fix for r68854
42012
42013         * WebCore.vcproj/copyForwardingHeaders.cmd:
42014           Copy WebCore/html/parser/*.h.
42015
42016 2010-09-30  Abhishek Arya  <inferno@chromium.org>
42017
42018         Reviewed by Dan Bernstein.
42019
42020         While updating :before and :after content, make sure that the generated
42021         container is allowed to add the child type.
42022         https://bugs.webkit.org/show_bug.cgi?id=46106
42023
42024         Test: fast/css-generated-content/text-before-table-col-crash.html
42025
42026         * rendering/RenderObjectChildList.cpp:
42027         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
42028
42029 2010-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
42030
42031         Reviewed by Daniel Bates.
42032
42033         [GTK] Crash on testatk.c unittest because of a call to ASSERT_NOT_REACHED
42034         https://bugs.webkit.org/show_bug.cgi?id=46886
42035
42036         Removed call to ASSERT_NOT_REACHED() from listMarkerSuffix().
42037
42038         So far, this assertion made sense because it was not possible that
42039         a call to listMarkerSuffix() happened when the style of the list
42040         item was one of the following: Asterisks, Circle, Discm Footnotes,
42041         NoneListStyle or Square (it's easy to figure this out by checking
42042         the functions where listMarkerSuffix() was called).
42043
42044         However, since revision 68415 (about bug 45381), there's a new
42045         place where listMarkerSuffix() is being called (the suffix()
42046         public method), regardless of the style of the item being or not
42047         one of those pointed out, so the aforementioned assertion in
42048         listMarkerSuffix() would no longer be correct, as now it's ok to
42049         reach those cases in the switch statement.
42050
42051         * rendering/RenderListMarker.cpp:
42052         (WebCore::listMarkerSuffix): Removed call to ASSERT_NOT_REACHED().
42053
42054 2010-09-30  Beth Dakin  <bdakin@apple.com>
42055
42056         Reviewed by Adele Peterson.
42057
42058         https://bugs.webkit.org/show_bug.cgi?id=46948 Crash with all-
42059         whitespace separators for mfenced
42060
42061         Check the size of characters instead of separators in case all the 
42062         separators were whitespace.
42063
42064         * mathml/RenderMathMLFenced.cpp:
42065         (WebCore::RenderMathMLFenced::updateFromElement):
42066
42067 2010-09-30  Darin Adler  <darin@apple.com>
42068
42069         Reviewed by Sam Weinig.
42070
42071         Remove remaining calls to deprecatedParseURL
42072         https://bugs.webkit.org/show_bug.cgi?id=26599
42073
42074         Test: fast/replaced/object-param-spaces.html
42075
42076         * css/CSSHelper.cpp: Removed.
42077         * css/CSSHelper.h: Removed deprecatedParseURL.
42078
42079         * html/parser/HTMLParserIdioms.cpp:
42080         (WebCore::stripLeadingAndTrailingHTMLSpaces):
42081         Fixed bug where the function would turn the null string into the empty string.
42082         Fixed bug where the function would not strip all trailing spaces.
42083
42084         * html/parser/CSSPreloadScanner.cpp:
42085         (WebCore::CSSPreloadScanner::CSSPreloadScanner): Initialize m_state
42086         instead of calling the reset function.
42087         (WebCore::CSSPreloadScanner::scan): Tweaked coding style.
42088         (WebCore::CSSPreloadScanner::tokenize): Use isHTMLSpace instead of
42089         an identical local function named isWhitespace.
42090         (WebCore::parseCSSStringOrURL): Added. This function does what
42091         deprecatedParseURL did before, and this is the only place in WebKit
42092         that needs it. The code implements the rules for a string or URL
42093         token. The real CSS parser does this with flex and the code to hook
42094         flex up to yacc, so the function is not needed there.
42095         (WebCore::CSSPreloadScanner::emitRule): Streamlined the code a bit
42096         and mae it call parseCSSStringOrURL.
42097
42098         * bindings/generic/BindingSecurity.h:
42099         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
42100         * bindings/js/JSDOMBinding.cpp:
42101         (WebCore::allowSettingSrcToJavascriptURL):
42102         * bindings/js/JSHTMLFrameElementCustom.cpp:
42103         (WebCore::allowSettingJavascriptURL):
42104         * bindings/objc/DOM.mm:
42105         (-[DOMElement _getURLAttribute:]):
42106         * bindings/objc/DOMHTML.mm:
42107         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
42108         * dom/Document.cpp:
42109         (WebCore::Document::processBaseElement):
42110         * dom/Element.cpp:
42111         (WebCore::isAttributeToRemove):
42112         (WebCore::Element::getURLAttribute):
42113         (WebCore::Element::getNonEmptyURLAttribute):
42114         * html/HTMLAnchorElement.cpp:
42115         (WebCore::HTMLAnchorElement::defaultEventHandler):
42116         (WebCore::HTMLAnchorElement::parseMappedAttribute):
42117         (WebCore::HTMLAnchorElement::href):
42118         * html/HTMLBodyElement.cpp:
42119         (WebCore::HTMLBodyElement::parseMappedAttribute):
42120         * html/HTMLEmbedElement.cpp:
42121         (WebCore::HTMLEmbedElement::parseMappedAttribute):
42122         * html/HTMLFrameElementBase.cpp:
42123         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
42124         * html/HTMLImageElement.cpp:
42125         (WebCore::HTMLImageElement::parseMappedAttribute):
42126         * html/HTMLImageLoader.cpp:
42127         (WebCore::HTMLImageLoader::sourceURI):
42128         * html/HTMLLinkElement.cpp:
42129         (WebCore::HTMLLinkElement::parseMappedAttribute):
42130         * html/HTMLMediaElement.cpp:
42131         * html/HTMLObjectElement.cpp:
42132         (WebCore::HTMLObjectElement::parseMappedAttribute):
42133         (WebCore::HTMLObjectElement::parametersForPlugin):
42134         * html/HTMLTableElement.cpp:
42135         (WebCore::HTMLTableElement::parseMappedAttribute):
42136         * html/HTMLTablePartElement.cpp:
42137         (WebCore::HTMLTablePartElement::parseMappedAttribute):
42138         * html/parser/HTMLPreloadScanner.cpp:
42139         (WebCore::HTMLNames::PreloadTask::setUrlToLoad):
42140         * loader/FormSubmission.cpp:
42141         (WebCore::FormSubmission::Attributes::parseAction):
42142         * platform/chromium/ClipboardChromium.cpp:
42143         (WebCore::ClipboardChromium::declareAndWriteDragImage):
42144         * platform/chromium/PasteboardChromium.cpp:
42145         (WebCore::Pasteboard::writeImage):
42146         * platform/qt/ClipboardQt.cpp:
42147         (WebCore::ClipboardQt::declareAndWriteDragImage):
42148         * platform/win/ClipboardWin.cpp:
42149         (WebCore::ClipboardWin::declareAndWriteDragImage):
42150         * rendering/HitTestResult.cpp:
42151         (WebCore::HitTestResult::absoluteImageURL):
42152         (WebCore::HitTestResult::absoluteMediaURL):
42153         (WebCore::HitTestResult::absoluteLinkURL):
42154         * svg/SVGAElement.cpp:
42155         (WebCore::SVGAElement::defaultEventHandler):
42156         * svg/SVGImageLoader.cpp:
42157         (WebCore::SVGImageLoader::sourceURI):
42158         * wml/WMLAElement.cpp:
42159         (WebCore::WMLAElement::defaultEventHandler):
42160         * wml/WMLImageLoader.cpp:
42161         (WebCore::WMLImageLoader::sourceURI):
42162         Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
42163
42164         * WebCore.exp.in: Updated.
42165
42166         * Android.mk: Removed CSSHelper.cpp.
42167         * CMakeLists.txt: Ditto.
42168         * GNUmakefile.am: Ditto.
42169         * WebCore.gypi: Ditto.
42170         * WebCore.pro: Ditto.
42171         * WebCore.vcproj/WebCore.vcproj: Ditto.
42172         * WebCore.xcodeproj/project.pbxproj: Ditto.
42173
42174         * bindings/js/JSAttrCustom.cpp:
42175         * bindings/js/JSElementCustom.cpp:
42176         * bindings/v8/custom/V8ElementCustom.cpp:
42177         * bindings/v8/custom/V8LocationCustom.cpp:
42178         * css/CSSParser.cpp:
42179         * html/HTMLMediaElement.cpp:
42180         * html/HTMLVideoElement.cpp:
42181         * loader/ImageLoader.cpp:
42182         * rendering/style/RenderStyle.h:
42183         Removed unneeded include of CSSHelper.h.
42184
42185 2010-09-30  Alexey Marinichev  <amarinichev@chromium.org>
42186
42187         Reviewed by Chris Marrin.
42188
42189         Add GetGraphicsResetStatusARB entry point from ARB_robustness
42190         extension to GraphicsContext3D
42191         https://bugs.webkit.org/show_bug.cgi?id=46850
42192
42193         Added stubs for GraphicsContext3D::getGraphicsResetStatusARB for
42194         Mac and QT.
42195
42196         * platform/graphics/GraphicsContext3D.h:
42197         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
42198         (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
42199         * platform/graphics/qt/GraphicsContext3DQt.cpp:
42200         (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
42201
42202 2010-09-30  David Hyatt  <hyatt@apple.com>
42203
42204         Reviewed by Sam Weinig.
42205
42206         https://bugs.webkit.org/show_bug.cgi?id=46938
42207         
42208         Rewrite margin collapsing to be block-flow-aware.  Eliminate a bunch of the margin functions on RenderBox in favor of a single
42209         master function for grabbing all the margin values for a child: marginValuesForChild on RenderBlock.  Introduce a new
42210         MarginValues struct to make returning the collection of 4 margin values easy.
42211     
42212         fast/blockflow/inline-direction-positioning.html progresses to have the correct results.
42213         Added fast/blockflow/margin-collapse.html
42214
42215         * rendering/RenderBlock.cpp:
42216         (WebCore::RenderBlock::MarginInfo::MarginInfo):
42217         (WebCore::RenderBlock::adjustPositionedBlock):
42218         (WebCore::RenderBlock::collapseMargins):
42219         (WebCore::RenderBlock::clearFloatsIfNeeded):
42220         (WebCore::RenderBlock::setCollapsedBottomMargin):
42221         (WebCore::RenderBlock::layoutBlockChild):
42222         (WebCore::RenderBlock::setMaxMarginBeforeValues):
42223         (WebCore::RenderBlock::setMaxMarginAfterValues):
42224         (WebCore::RenderBlock::marginValuesForChild):
42225         * rendering/RenderBlock.h:
42226         (WebCore::RenderBlock::MarginValues::MarginValues):
42227         (WebCore::RenderBlock::MarginValues::positiveMarginBefore):
42228         (WebCore::RenderBlock::MarginValues::negativeMarginBefore):
42229         (WebCore::RenderBlock::MarginValues::positiveMarginAfter):
42230         (WebCore::RenderBlock::MarginValues::negativeMarginAfter):
42231         (WebCore::RenderBlock::MarginValues::setPositiveMarginBefore):
42232         (WebCore::RenderBlock::MarginValues::setNegativeMarginBefore):
42233         (WebCore::RenderBlock::MarginValues::setPositiveMarginAfter):
42234         (WebCore::RenderBlock::MarginValues::setNegativeMarginAfter):
42235         (WebCore::RenderBlock::maxPositiveMarginBefore):
42236         (WebCore::RenderBlock::maxNegativeMarginBefore):
42237         (WebCore::RenderBlock::maxPositiveMarginAfter):
42238         (WebCore::RenderBlock::maxNegativeMarginAfter):
42239         (WebCore::RenderBlock::initMaxMarginValues):
42240         (WebCore::RenderBlock::collapsedMarginBefore):
42241         (WebCore::RenderBlock::collapsedMarginAfter):
42242         (WebCore::RenderBlock::MarginInfo::clearMargin):
42243         (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
42244         (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
42245         (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
42246         (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
42247         (WebCore::RenderBlock::MarginInfo::setMargin):
42248         (WebCore::RenderBlock::MarginInfo::positiveMargin):
42249         (WebCore::RenderBlock::MarginInfo::negativeMargin):
42250         (WebCore::RenderBlock::MarginInfo::margin):
42251         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
42252         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
42253         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
42254         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
42255         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
42256         * rendering/RenderBox.h:
42257         (WebCore::RenderBox::collapsedMarginBefore):
42258         (WebCore::RenderBox::collapsedMarginAfter):
42259         * rendering/RenderFlexibleBox.cpp:
42260         (WebCore::RenderFlexibleBox::layoutBlock):
42261
42262 2010-09-30  Patrick Gansterer  <paroga@webkit.org>
42263
42264         Reviewed by Adam Roben.
42265
42266         [WINCE] Fix InternetGetCookie in CookieJarWin.cpp
42267         https://bugs.webkit.org/show_bug.cgi?id=46929
42268
42269         If the InternetGetCookie fails the output size won't be set.
42270         Set the default size to 0, so we always get the correct size
42271         and check the return value of InternetGetCookie.
42272
42273         * platform/network/win/CookieJarWin.cpp:
42274         (WebCore::cookies):
42275
42276 2010-09-30  Patrick Gansterer  <paroga@webkit.org>
42277
42278         Reviewed by Adam Roben.
42279
42280         [WINCE] Use OwnPtr for HBRUSH and HPEN in GraphicsContext
42281         https://bugs.webkit.org/show_bug.cgi?id=46881
42282
42283         Also add some missing SelectObject calls.
42284
42285         * platform/graphics/wince/GraphicsContextWinCE.cpp:
42286         (WebCore::createPen):
42287         (WebCore::createBrush):
42288         (WebCore::GraphicsContext::drawRect):
42289         (WebCore::GraphicsContext::drawLine):
42290         (WebCore::GraphicsContext::drawEllipse):
42291         (WebCore::GraphicsContext::strokeArc):
42292         (WebCore::GraphicsContext::drawConvexPolygon):
42293         (WebCore::GraphicsContext::strokeRect):
42294         (WebCore::GraphicsContext::fillRoundedRect):
42295         (WebCore::GraphicsContext::fillPath):
42296         (WebCore::GraphicsContext::strokePath):
42297
42298 2010-09-30  Anders Carlsson  <andersca@apple.com>
42299
42300         Reviewed by Dan Bernstein and Darin Adler.
42301
42302         WebCore uses the main thread to process sleep notifications
42303         https://bugs.webkit.org/show_bug.cgi?id=46935
42304         <rdar://problem/8495374>
42305
42306         Rewrite the old WebCorePowerNotifier to use IOKit directly. 
42307         
42308         On Snow Leopard, set up power notifications to arrive on a dispatch queue,
42309         so that we can handle them quickly even if the main thread is hung.
42310
42311         (Tiger and Leopard will still get the old behavior).
42312
42313         * WebCore.xcodeproj/project.pbxproj:
42314         Link with IOKit.
42315
42316         * platform/mac/SharedTimerMac.mm:
42317         (WebCore::PowerObserver::PowerObserver):
42318         Initialize the IOKit machinery.
42319
42320         (WebCore::PowerObserver::~PowerObserver):
42321         Tear down the IOKit notifications.
42322
42323         (WebCore::PowerObserver::didReceiveSystemPowerNotification):
42324         Acknowledge the event immediately and then call the shared timer functions. On Snow Leopard, we
42325         make sure to call the shared timer functions on the main thread.
42326     
42327 2010-09-30  James Simonsen  <simonjam@chromium.org>
42328
42329         Reviewed by Adam Barth.
42330
42331         [Web Timing] Make requestEnd equal to start of response
42332         https://bugs.webkit.org/show_bug.cgi?id=46302
42333
42334         * page/Timing.cpp:
42335         (WebCore::Timing::requestEnd):
42336
42337 2010-09-30  Zhenyao Mo  <zmo@google.com>
42338
42339         Reviewed by Kenneth Russell.
42340
42341         fast/canvas/webgl/draw-elements-out-of-bounds.html is crashing on Snow Leopard
42342         https://bugs.webkit.org/show_bug.cgi?id=46870
42343
42344         * platform/graphics/ANGLEWebKitBridge.cpp:
42345         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Remove ShFinalize().
42346
42347 2010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
42348
42349         Reviewed by Tony Chang.
42350
42351         WebKit nests font element when applying different font styles
42352         https://bugs.webkit.org/show_bug.cgi?id=45568
42353
42354         The bug was caused by fixRangeAndApplyInlineStyle's not including fully selected ancestors,
42355         and addInlineStyleIfNeeded's always surrounding the contents by new elements as supposed to
42356         adding font attributes or style attribute.
42357
42358         Fixed the bug by extending the node range in fixRangeAndApplyInlineStyle and finding
42359         the appropriate container node to add attributes in addInlineStyleIfNeeded.
42360         addInlineStyleIfNeeded now tires to add font and style attributes to the inner most font and
42361         span elements respectively.
42362
42363         Also added an early exit check to removeStyleFromRunBeforeApplyingStyle so that WebKit does not
42364         modify the contents when the entire contents already have the desired style.
42365
42366         Test: editing/style/inline-style-container.html
42367
42368         * editing/ApplyStyleCommand.cpp:
42369         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
42370         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
42371         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
42372         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
42373
42374 2010-09-30  Jarred Nicholls  <jarred@sencha.com>
42375
42376         Reviewed by Darin Adler.
42377
42378         Removed unnecessary calls to ceil() on an int
42379         Removing the call fixes MSVC build errors
42380         https://bugs.webkit.org/show_bug.cgi?id=46931
42381
42382         * platform/graphics/ContextShadow.cpp:
42383         (WebCore::ContextShadow::calculateLayerBoundingRect):
42384
42385 2010-09-30  David Hyatt  <hyatt@apple.com>
42386
42387         Reviewed by Beth Dakin.
42388
42389         https://bugs.webkit.org/show_bug.cgi?id=46932
42390         
42391         Get fast/blockflow/root-lr-basic.html results to be correct by patching a few more
42392         height() calls to be logicalHeight().
42393
42394         * rendering/RenderBlock.cpp:
42395         (WebCore::RenderBlock::collapseMargins):
42396         (WebCore::RenderBlock::handleAfterSideOfBlock):
42397
42398 2010-09-30  Cris Neckar  <cdn@chromium.org>
42399
42400         Reviewed by Darin Adler.
42401
42402         Added check to test for removed counter node when calling findPlaceForCounter() in updateCounters().
42403         Added refcounting to counternodes in countermaps.
42404         https://bugs.webkit.org/show_bug.cgi?id=46387
42405
42406         Test: fast/css/counters/counter-traverse-table-cell.html
42407
42408         * rendering/CounterNode.cpp:
42409         (WebCore::CounterNode::create):
42410         * rendering/CounterNode.h:
42411         * rendering/RenderCounter.cpp:
42412         (WebCore::makeCounterNode):
42413         (WebCore::destroyCounterNodeWithoutMapRemoval):
42414         (WebCore::RenderCounter::destroyCounterNodes):
42415         (WebCore::RenderCounter::destroyCounterNode):
42416         (WebCore::updateCounters):
42417
42418 2010-09-30  David Hyatt  <hyatt@apple.com>
42419
42420         Reviewed by Beth Dakin.
42421
42422         https://bugs.webkit.org/show_bug.cgi?id=46928
42423         
42424         Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead.
42425
42426         * css/CSSStyleSelector.cpp:
42427         (WebCore::CSSStyleSelector::isLeftPage):
42428         (WebCore::CSSStyleSelector::applyProperty):
42429         * editing/Editor.cpp:
42430         (WebCore::Editor::hasBidiSelection):
42431         * editing/VisiblePosition.cpp:
42432         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
42433         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
42434         * html/canvas/CanvasRenderingContext2D.cpp:
42435         (WebCore::CanvasRenderingContext2D::drawTextInternal):
42436         * rendering/InlineBox.h:
42437         (WebCore::InlineBox::isLeftToRightDirection):
42438         (WebCore::InlineBox::caretLeftmostOffset):
42439         (WebCore::InlineBox::caretRightmostOffset):
42440         * rendering/InlineFlowBox.cpp:
42441         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
42442         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
42443         (WebCore::InlineFlowBox::paintTextDecorations):
42444         * rendering/InlineIterator.h:
42445         (WebCore::InlineIterator::direction):
42446         * rendering/InlineTextBox.cpp:
42447         (WebCore::InlineTextBox::selectionRect):
42448         (WebCore::InlineTextBox::placeEllipsisBox):
42449         (WebCore::InlineTextBox::paint):
42450         (WebCore::InlineTextBox::paintSelection):
42451         (WebCore::InlineTextBox::paintCompositionBackground):
42452         (WebCore::InlineTextBox::paintDecoration):
42453         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
42454         (WebCore::InlineTextBox::paintTextMatchMarker):
42455         (WebCore::InlineTextBox::computeRectForReplacementMarker):
42456         (WebCore::InlineTextBox::textPos):
42457         (WebCore::InlineTextBox::offsetForPosition):
42458         (WebCore::InlineTextBox::positionForOffset):
42459         * rendering/RenderBlock.cpp:
42460         (WebCore::RenderBlock::adjustPositionedBlock):
42461         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
42462         (WebCore::RenderBlock::paintColumnRules):
42463         (WebCore::RenderBlock::paintColumnContents):
42464         (WebCore::RenderBlock::getHorizontalSelectionGapInfo):
42465         (WebCore::RenderBlock::logicalLeftOffsetForLine):
42466         (WebCore::RenderBlock::logicalRightOffsetForLine):
42467         (WebCore::RenderBlock::rightmostPosition):
42468         (WebCore::RenderBlock::leftmostPosition):
42469         (WebCore::RenderBlock::columnRectAt):
42470         (WebCore::RenderBlock::layoutColumns):
42471         (WebCore::getBorderPaddingMargin):
42472         (WebCore::RenderBlock::localCaretRect):
42473         (WebCore::RenderBlock::marginStartForChild):
42474         (WebCore::RenderBlock::marginEndForChild):
42475         (WebCore::RenderBlock::setMarginStartForChild):
42476         (WebCore::RenderBlock::setMarginEndForChild):
42477         * rendering/RenderBlockLineLayout.cpp:
42478         (WebCore::getBorderPaddingMargin):
42479         (WebCore::RenderBlock::constructLine):
42480         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
42481         (WebCore::RenderBlock::determineStartPosition):
42482         (WebCore::RenderBlock::skipTrailingWhitespace):
42483         (WebCore::RenderBlock::skipLeadingWhitespace):
42484         (WebCore::RenderBlock::findNextLineBreak):
42485         (WebCore::RenderBlock::checkLinesForTextOverflow):
42486         * rendering/RenderBox.cpp:
42487         (WebCore::RenderBox::marginStart):
42488         (WebCore::RenderBox::marginEnd):
42489         (WebCore::RenderBox::setMarginStart):
42490         (WebCore::RenderBox::setMarginEnd):
42491         (WebCore::RenderBox::scrollWidth):
42492         (WebCore::RenderBox::computeInlineDirectionMargins):
42493         (WebCore::RenderBox::containingBlockWidthForPositioned):
42494         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
42495         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
42496         (WebCore::RenderBox::localCaretRect):
42497         * rendering/RenderBoxModelObject.cpp:
42498         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
42499         * rendering/RenderFieldset.cpp:
42500         (WebCore::RenderFieldset::layoutLegend):
42501         * rendering/RenderFileUploadControl.cpp:
42502         (WebCore::RenderFileUploadControl::paintObject):
42503         * rendering/RenderFlexibleBox.cpp:
42504         (WebCore::FlexBoxIterator::FlexBoxIterator):
42505         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
42506         (WebCore::RenderFlexibleBox::layoutVerticalBox):
42507         * rendering/RenderLayer.cpp:
42508         (WebCore::RenderLayer::computeScrollDimensions):
42509         * rendering/RenderListBox.cpp:
42510         (WebCore::RenderListBox::paintItemForeground):
42511         * rendering/RenderListItem.cpp:
42512         (WebCore::RenderListItem::positionListMarker):
42513         (WebCore::RenderListItem::markerTextWithSuffix):
42514         * rendering/RenderListMarker.cpp:
42515         (WebCore::RenderListMarker::paint):
42516         (WebCore::RenderListMarker::updateMargins):
42517         (WebCore::RenderListMarker::suffix):
42518         * rendering/RenderMarquee.cpp:
42519         (WebCore::RenderMarquee::computePosition):
42520         * rendering/RenderMeter.cpp:
42521         (WebCore::RenderMeter::valuePartRect):
42522         * rendering/RenderProgress.cpp:
42523         (WebCore::RenderProgress::valuePartRect):
42524         * rendering/RenderTable.cpp:
42525         (WebCore::RenderTable::calcBorderLeft):
42526         (WebCore::RenderTable::calcBorderRight):
42527         * rendering/RenderTableCell.cpp:
42528         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
42529         (WebCore::RenderTableCell::borderHalfLeft):
42530         (WebCore::RenderTableCell::borderHalfRight):
42531         (WebCore::RenderTableCell::collectBorderStyles):
42532         (WebCore::RenderTableCell::paintCollapsedBorder):
42533         * rendering/RenderTableSection.cpp:
42534         (WebCore::RenderTableSection::layoutRows):
42535         (WebCore::RenderTableSection::recalcOuterBorder):
42536         (WebCore::RenderTableSection::paintObject):
42537         (WebCore::RenderTableSection::nodeAtPoint):
42538         * rendering/RenderText.cpp:
42539         (WebCore::RenderText::localCaretRect):
42540         (WebCore::RenderText::positionLineBox):
42541         * rendering/RenderTextControlSingleLine.cpp:
42542         (WebCore::RenderTextControlSingleLine::forwardEvent):
42543         * rendering/RenderThemeMac.mm:
42544         (WebCore::RenderThemeMac::levelIndicatorFor):
42545         (WebCore::RenderThemeMac::paintProgressBar):
42546         * rendering/RenderTreeAsText.cpp:
42547         (WebCore::writeTextRun):
42548         * rendering/SVGInlineTextBox.cpp:
42549         (WebCore::SVGInlineTextBox::measureCharacter):
42550         (WebCore::SVGInlineTextBox::buildLayoutInformation):
42551         * rendering/SVGRenderTreeAsText.cpp:
42552         (WebCore::writeSVGInlineTextBox):
42553         * rendering/SVGTextLayoutUtilities.cpp:
42554         (WebCore::svgTextRunForInlineTextBox):
42555         * rendering/style/RenderStyle.cpp:
42556         (WebCore::RenderStyle::borderStartWidth):
42557         (WebCore::RenderStyle::borderEndWidth):
42558         (WebCore::RenderStyle::marginStart):
42559         (WebCore::RenderStyle::marginEnd):
42560         (WebCore::RenderStyle::marginStartUsing):
42561         (WebCore::RenderStyle::marginEndUsing):
42562         (WebCore::RenderStyle::paddingStart):
42563         (WebCore::RenderStyle::paddingEnd):
42564         * rendering/style/RenderStyle.h:
42565         (WebCore::InheritedFlags::isLeftToRightDirection):
42566         * wml/WMLTableElement.cpp:
42567         (WebCore::WMLTableElement::alignCells):
42568
42569 2010-09-30  David Hyatt  <hyatt@apple.com>
42570
42571         Reviewed by Simon Fraser.
42572
42573         https://bugs.webkit.org/show_bug.cgi?id=46923
42574         
42575         Make determineLogicalLeftPositionForChild block-flow-aware.  Rewrite the function so that there aren't
42576         completely separate LTR/RTL cases.
42577
42578         Added fast/blockflow/inline-direction-positioning.html
42579
42580         * rendering/RenderBlock.cpp:
42581         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
42582         (WebCore::RenderBlock::setLogicalLeftForChild):
42583         * rendering/RenderBlock.h:
42584         (WebCore::RenderBlock::logicalWidthForChild):
42585         (WebCore::RenderBlock::logicalRightOffsetForContent):
42586         (WebCore::RenderBlock::logicalLeftOffsetForContent):
42587
42588 2010-09-29  Adam Roben  <aroben@apple.com>
42589
42590         Fix color media queries on Windows
42591
42592         Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8)
42593         media query does not evaluate to true for 32bpp displays on Windows
42594
42595         Test: fast/media/color-does-not-include-alpha.html
42596
42597         Reviewed by Darin Adler.
42598
42599         * platform/win/PlatformScreenWin.cpp:
42600         (WebCore::screenDepthPerComponent): Use screenDepth instead of trying
42601         to interpret DEVMODE directly, since screenDepth knows how to correct
42602         for video drivers that return 32 instead of 24.
42603
42604 2010-09-29  Adam Roben  <aroben@apple.com>
42605
42606         Make sure screen.colorDepth/screen.pixelDepth don't include the bits
42607         used for alpha
42608
42609         Fixes <http://webkit.org/b/42972> <rdar://problem/8234071>
42610         screen.colorDepth and screen.pixelDepth return 32 on Windows, but
42611         should return 24 (according to CSSOM View and Firefox)
42612
42613         Reviewed by Darin Adler.
42614
42615         * platform/win/PlatformScreenWin.cpp:
42616         (WebCore::screenDepth): If Windows says there are 32 bits per pixel,
42617         return 24 instead, as 32 includes the alpha component but this
42618         function is supposed to ignore the alpha component.
42619
42620 2010-09-30  Daniel Cheng  <dcheng@chromium.org>
42621
42622         Reviewed by Tony Chang.
42623
42624         [chromium] Refactor ChromiumDataObject to use getters/setters.
42625         https://bugs.webkit.org/show_bug.cgi?id=46559
42626
42627         This is an intermediate step to converting ChromiumDataObject to use
42628         callbacks to the browser to retrieve data.
42629
42630         This is covered by existing tests.
42631
42632         * editing/chromium/EditorChromium.cpp:
42633         (WebCore::Editor::newGeneralClipboard):
42634         * page/chromium/EventHandlerChromium.cpp:
42635         (WebCore::EventHandler::createDraggingClipboard):
42636         * platform/chromium/ChromiumDataObject.cpp:
42637         (WebCore::ChromiumDataObject::clearData):
42638         (WebCore::ChromiumDataObject::clearAll):
42639         (WebCore::ChromiumDataObject::clearAllExceptFiles):
42640         (WebCore::ChromiumDataObject::hasData):
42641         (WebCore::ChromiumDataObject::types):
42642         (WebCore::ChromiumDataObject::getData):
42643         (WebCore::ChromiumDataObject::setData):
42644         (WebCore::ChromiumDataObject::ChromiumDataObject):
42645         * platform/chromium/ChromiumDataObject.h:
42646         (WebCore::ChromiumDataObject::create):
42647         (WebCore::ChromiumDataObject::urlTitle):
42648         (WebCore::ChromiumDataObject::setUrlTitle):
42649         (WebCore::ChromiumDataObject::htmlBaseUrl):
42650         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
42651         (WebCore::ChromiumDataObject::containsFilenames):
42652         (WebCore::ChromiumDataObject::filenames):
42653         (WebCore::ChromiumDataObject::setFilenames):
42654         (WebCore::ChromiumDataObject::fileExtension):
42655         (WebCore::ChromiumDataObject::setFileExtension):
42656         (WebCore::ChromiumDataObject::fileContentFilename):
42657         (WebCore::ChromiumDataObject::setFileContentFilename):
42658         (WebCore::ChromiumDataObject::fileContent):
42659         (WebCore::ChromiumDataObject::setFileContent):
42660         * platform/chromium/ClipboardChromium.cpp:
42661         (WebCore::normalizeType):
42662         (WebCore::ClipboardChromium::clearData):
42663         (WebCore::ClipboardChromium::clearAllData):
42664         (WebCore::ClipboardChromium::getData):
42665         (WebCore::ClipboardChromium::setData):
42666         (WebCore::ClipboardChromium::types):
42667         (WebCore::ClipboardChromium::files):
42668         (WebCore::writeImageToDataObject):
42669         (WebCore::ClipboardChromium::declareAndWriteDragImage):
42670         (WebCore::ClipboardChromium::writeURL):
42671         (WebCore::ClipboardChromium::writeRange):
42672         (WebCore::ClipboardChromium::writePlainText):
42673         * platform/chromium/ClipboardChromiumWin.cpp:
42674         (WebCore::ClipboardChromium::validateFileName):
42675         * platform/chromium/ClipboardMimeTypes.cpp:
42676         * platform/chromium/ClipboardMimeTypes.h:
42677         * platform/chromium/DragDataChromium.cpp:
42678         (WebCore::containsHTML):
42679         (WebCore::DragData::containsURL):
42680         (WebCore::DragData::asURL):
42681         (WebCore::DragData::containsFiles):
42682         (WebCore::DragData::asFilenames):
42683         (WebCore::DragData::containsPlainText):
42684         (WebCore::DragData::asPlainText):
42685         (WebCore::DragData::canSmartReplace):
42686         (WebCore::DragData::asFragment):
42687         * platform/chromium/ReadableDataObject.cpp:
42688         (WebCore::ReadableDataObject::getURL):
42689         (WebCore::ReadableDataObject::getHTML):
42690         * platform/chromium/WritableDataObject.cpp:
42691         (WebCore::WritableDataObject::clearData):
42692         (WebCore::WritableDataObject::setData):
42693         (WebCore::WritableDataObject::setURL):
42694         (WebCore::WritableDataObject::setHTML):
42695
42696 2010-09-30  Chris Marrin  <cmarrin@apple.com>
42697
42698         Reviewed by Simon Fraser.
42699
42700         Make 2D accelerated canvas rendering build on Mac
42701         https://bugs.webkit.org/show_bug.cgi?id=46007
42702
42703         Add accelerated 2D rendering files to Mac build, fix build errors,
42704         add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is
42705         enabled, and add a skeleton of the mac specific file so it builds.
42706
42707         DrawingBufferMac.mm, the Mac specific file does nothing right now
42708         other than initialize and create a layer. The rest will be added
42709         when I do the actual implementation. 
42710
42711         The most significant change was to SharedGraphicsContext3D, which
42712         had a static local OwnPtr in one of the methods. This was causing
42713         the exit time destructor warning. Getting rid of the OwnPtr fixed
42714         the problem. Since the pointer that was being wrapped was to a
42715         static object that would never get destroyed, the OwnPtr was not
42716         necessary.
42717
42718         I also added the ACCELERATED_2D_CANVAS flag to build-webkit
42719         and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore.
42720         But right now the flag is off by default.
42721
42722         * Configurations/FeatureDefines.xcconfig:
42723         * WebCore.xcodeproj/project.pbxproj:
42724         * platform/graphics/gpu/DrawingBuffer.cpp:
42725         * platform/graphics/gpu/DrawingBuffer.h:
42726         (WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback):
42727         * platform/graphics/gpu/LoopBlinnClassifier.cpp:
42728         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
42729         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp:
42730         * platform/graphics/gpu/Shader.cpp:
42731         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
42732         (WebCore::SharedGraphicsContext3D::allContexts):
42733         * platform/graphics/gpu/SolidFillShader.cpp:
42734         * platform/graphics/gpu/TexShader.cpp:
42735         * platform/graphics/gpu/Texture.cpp:
42736         * platform/graphics/gpu/Texture.h:
42737         * platform/graphics/gpu/TilingData.cpp:
42738         * platform/graphics/gpu/mac: Added.
42739         * platform/graphics/gpu/mac/DrawingBufferMac.mm: Added.
42740         (WebCore::DrawingBuffer::DrawingBuffer):
42741         (WebCore::DrawingBuffer::~DrawingBuffer):
42742         (WebCore::DrawingBuffer::reset):
42743         (WebCore::DrawingBuffer::platformLayer):
42744
42745 2010-09-30  Renata Hodovan  <reni@inf.u-szeged.hu>
42746
42747         Reviewed by Dirk Schulze.
42748
42749         SVGFECompositeElement doesn't support dynamic invalidation, when attributes change.
42750         https://bugs.webkit.org/show_bug.cgi?id=46902
42751
42752         Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html
42753                svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html
42754                svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html
42755                svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html
42756                svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html
42757                svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html
42758                svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html
42759                svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html
42760                svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html
42761                svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html
42762                svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html
42763                svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html
42764                svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html
42765                svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html
42766
42767         * svg/SVGFECompositeElement.cpp:
42768         (WebCore::SVGFECompositeElement::svgAttributeChanged):
42769         * svg/SVGFECompositeElement.h:
42770
42771 2010-09-29  Jeremy Orlow  <jorlow@chromium.org>
42772
42773         Reviewed by Steve Block.
42774
42775         Finished IDBTransaction for IndexedDB
42776         https://bugs.webkit.org/show_bug.cgi?id=46823
42777
42778         Switch the rest of IndexedDB to use transactions.
42779         Implement most of setVersion.
42780         Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
42781         Switch to using the standard cross thread task stuff.
42782         Make everything threadsafe so it works with cross thread copy
42783             (will be useful in the future).
42784         Fix some subtle bugs in transactions.
42785         
42786         Various bits of clean up (when I couldn't resist).
42787
42788         * bindings/js/JSIDBAnyCustom.cpp:
42789         (WebCore::toJS):
42790         * bindings/v8/IDBBindingUtilities.cpp:
42791         (WebCore::LocalContext::LocalContext):
42792         (WebCore::LocalContext::~LocalContext):
42793         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
42794         * bindings/v8/SerializedScriptValue.cpp:
42795         (WebCore::SerializedScriptValue::release):
42796         (WebCore::SerializedScriptValue::SerializedScriptValue):
42797         * bindings/v8/SerializedScriptValue.h:
42798         * bindings/v8/custom/V8IDBAnyCustom.cpp:
42799         (WebCore::toV8):
42800         * platform/CrossThreadCopier.cpp:
42801         * storage/IDBAny.cpp:
42802         (WebCore::IDBAny::idbFactory):
42803         (WebCore::IDBAny::idbTransaction):
42804         (WebCore::IDBAny::set):
42805         * storage/IDBAny.h:
42806         * storage/IDBCallbacks.h:
42807         * storage/IDBCursor.cpp:
42808         (WebCore::IDBCursor::IDBCursor):
42809         (WebCore::IDBCursor::update):
42810         (WebCore::IDBCursor::continueFunction):
42811         (WebCore::IDBCursor::remove):
42812         * storage/IDBCursor.h:
42813         (WebCore::IDBCursor::create):
42814         * storage/IDBCursorBackendImpl.cpp:
42815         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
42816         (WebCore::IDBCursorBackendImpl::update):
42817         (WebCore::IDBCursorBackendImpl::updateInternal):
42818         (WebCore::IDBCursorBackendImpl::continueFunction):
42819         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
42820         (WebCore::IDBCursorBackendImpl::remove):
42821         (WebCore::IDBCursorBackendImpl::removeInternal):
42822         * storage/IDBCursorBackendImpl.h:
42823         (WebCore::IDBCursorBackendImpl::create):
42824         * storage/IDBDatabase.cpp:
42825         (WebCore::IDBDatabase::setSetVersionTransaction):
42826         (WebCore::IDBDatabase::createObjectStore):
42827         (WebCore::IDBDatabase::removeObjectStore):
42828         (WebCore::IDBDatabase::setVersion):
42829         (WebCore::IDBDatabase::close):
42830         * storage/IDBDatabase.h:
42831         * storage/IDBDatabase.idl:
42832         * storage/IDBDatabaseBackendImpl.cpp:
42833         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
42834         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
42835         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
42836         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
42837         (WebCore::IDBDatabaseBackendImpl::setVersion):
42838         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
42839         (WebCore::IDBDatabaseBackendImpl::close):
42840         * storage/IDBDatabaseBackendImpl.h:
42841         * storage/IDBDatabaseBackendInterface.h:
42842         * storage/IDBFactory.cpp:
42843         (WebCore::IDBFactory::open):
42844         * storage/IDBIndex.cpp:
42845         (WebCore::IDBIndex::IDBIndex):
42846         (WebCore::IDBIndex::openObjectCursor):
42847         (WebCore::IDBIndex::openCursor):
42848         (WebCore::IDBIndex::getObject):
42849         (WebCore::IDBIndex::get):
42850         * storage/IDBIndex.h:
42851         (WebCore::IDBIndex::create):
42852         * storage/IDBIndexBackendImpl.cpp:
42853         (WebCore::IDBIndexBackendImpl::openCursorInternal):
42854         (WebCore::IDBIndexBackendImpl::openObjectCursor):
42855         (WebCore::IDBIndexBackendImpl::openCursor):
42856         (WebCore::IDBIndexBackendImpl::getInternal):
42857         (WebCore::IDBIndexBackendImpl::getObject):
42858         (WebCore::IDBIndexBackendImpl::get):
42859         * storage/IDBIndexBackendImpl.h:
42860         * storage/IDBIndexBackendInterface.h:
42861         * storage/IDBKey.cpp:
42862         (WebCore::IDBKey::IDBKey):
42863         * storage/IDBKey.h:
42864         * storage/IDBKeyRange.h:
42865         * storage/IDBObjectStore.cpp:
42866         (WebCore::IDBObjectStore::IDBObjectStore):
42867         (WebCore::IDBObjectStore::add):
42868         (WebCore::IDBObjectStore::put):
42869         (WebCore::IDBObjectStore::remove):
42870         (WebCore::IDBObjectStore::createIndex):
42871         (WebCore::IDBObjectStore::index):
42872         (WebCore::IDBObjectStore::removeIndex):
42873         (WebCore::IDBObjectStore::openCursor):
42874         * storage/IDBObjectStore.idl:
42875         * storage/IDBObjectStoreBackendImpl.cpp:
42876         (WebCore::IDBObjectStoreBackendImpl::get):
42877         (WebCore::IDBObjectStoreBackendImpl::getInternal):
42878         (WebCore::IDBObjectStoreBackendImpl::put):
42879         (WebCore::IDBObjectStoreBackendImpl::putInternal):
42880         (WebCore::IDBObjectStoreBackendImpl::remove):
42881         (WebCore::IDBObjectStoreBackendImpl::removeInternal):
42882         (WebCore::IDBObjectStoreBackendImpl::createIndex):
42883         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
42884         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
42885         (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
42886         (WebCore::IDBObjectStoreBackendImpl::openCursor):
42887         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
42888         * storage/IDBObjectStoreBackendImpl.h:
42889         * storage/IDBObjectStoreBackendInterface.h:
42890         * storage/IDBRequest.cpp:
42891         (WebCore::IDBRequest::IDBRequest):
42892         (WebCore::IDBRequest::resetReadyState):
42893         (WebCore::IDBRequest::onSuccess):
42894         (WebCore::IDBRequest::timerFired):
42895         * storage/IDBRequest.h:
42896         (WebCore::IDBRequest::create):
42897         * storage/IDBTransactionBackendImpl.cpp:
42898         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
42899         (WebCore::IDBTransactionBackendImpl::scheduleTask):
42900         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
42901         (WebCore::IDBTransactionBackendImpl::run):
42902         (WebCore::IDBTransactionBackendImpl::start):
42903         (WebCore::IDBTransactionBackendImpl::commit):
42904         (WebCore::IDBTransactionBackendImpl::timerFired):
42905         * storage/IDBTransactionBackendImpl.h:
42906
42907 2010-09-30  Csaba Osztrogonác  <ossy@webkit.org>
42908
42909         Reviewed by Martin Robinson.
42910
42911         [Gtk] build still broken since r68521
42912         https://bugs.webkit.org/show_bug.cgi?id=46795
42913
42914         makevalues.pl and makeprop.pl generate 3 files in one run.
42915         Double or triple target is incorrect, because on a multicore
42916         machine make processes targets in parallel.
42917
42918         Setting a->b->c dependencies for 3 generated files guarantees
42919         that make doesn't execute the recipe of the rule more than one.
42920
42921         * GNUmakefile.am: Dependencies and missing headers added.
42922
42923 2010-09-30  Andrey Kosyakov  <caseq@chromium.org>
42924
42925         Unreviewed build fix (marked ResourceRawHeaders.h as private)
42926
42927         * WebCore.xcodeproj/project.pbxproj:
42928
42929 2010-09-29  Andrey Kosyakov  <caseq@chromium.org>
42930
42931         Reviewed by Pavel Feldman.
42932
42933         Web Inspector: display headers actually used by network stack in Resources tab
42934         https://bugs.webkit.org/show_bug.cgi?id=46092
42935
42936         * GNUmakefile.am:
42937         * WebCore.gypi:
42938         * WebCore.pro:
42939         * WebCore.vcproj/WebCore.vcproj:
42940         * inspector/InspectorController.cpp:
42941         (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
42942         * inspector/InspectorResource.cpp:
42943         (WebCore::InspectorResource::updateResponse):
42944         * platform/network/ResourceRawHeaders.h: Added.
42945         * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
42946         (WebCore::ResourceRequestBase::reportRawHeaders):
42947         (WebCore::ResourceRequestBase::setReportRawHeaders):
42948         (WebCore::ResourceRequestBase::ResourceRequestBase):
42949         * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
42950         (WebCore::ResourceResponseBase::resourceRawHeaders):
42951         (WebCore::ResourceResponseBase::setResourceRawHeaders):
42952         * platform/network/ResourceResponseBase.h:
42953
42954 2010-09-29  Andrey Kosyakov  <caseq@chromium.org>
42955
42956         Reviewed by Pavel Feldman.
42957
42958         Web Inspector: display headers actually used by network stack in Resources tab
42959         https://bugs.webkit.org/show_bug.cgi?id=46092
42960
42961         * GNUmakefile.am:
42962         * WebCore.gypi:
42963         * WebCore.pro:
42964         * WebCore.vcproj/WebCore.vcproj:
42965         * inspector/InspectorController.cpp:
42966         (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
42967         * inspector/InspectorResource.cpp:
42968         (WebCore::InspectorResource::updateResponse):
42969         * platform/network/ResourceRawHeaders.h: Added.
42970         * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
42971         (WebCore::ResourceRequestBase::reportRawHeaders):
42972         (WebCore::ResourceRequestBase::setReportRawHeaders):
42973         (WebCore::ResourceRequestBase::ResourceRequestBase):
42974         * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
42975         (WebCore::ResourceResponseBase::resourceRawHeaders):
42976         (WebCore::ResourceResponseBase::setResourceRawHeaders):
42977         * platform/network/ResourceResponseBase.h:
42978
42979 2010-09-30  Andreas Kling  <andreas.kling@nokia.com>
42980
42981         Reviewed by Tor Arne Vestbø.
42982
42983         [Qt] V8 port: Unbreak build
42984
42985         Add missing <wtf/text/CString.h> include.
42986
42987         * loader/PingLoader.cpp:
42988
42989 2010-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
42990
42991         Reviewed by Pavel Feldman.
42992
42993         Web Inspector: assign the resource loading finish time which was obtained from the network stack
42994         as the end time for the corresponding event in Timeline.
42995         See related change for Resources panel https://bugs.webkit.org/show_bug.cgi?id=45664
42996
42997         https://bugs.webkit.org/show_bug.cgi?id=46789
42998
42999         * inspector/InspectorController.cpp:
43000         (WebCore::InspectorController::didFinishLoading):
43001         (WebCore::InspectorController::didFailLoading):
43002         * inspector/InspectorTimelineAgent.cpp:
43003         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
43004         * inspector/InspectorTimelineAgent.h:
43005
43006 2010-09-29  Pavel Feldman  <pfeldman@chromium.org>
43007
43008         Reviewed by Timothy Hatcher.
43009
43010         Web Inspector: implement sorting by timeline in network panel + filtering.
43011         https://bugs.webkit.org/show_bug.cgi?id=45657
43012
43013         A number of drive-by fixes, sorting by timeline added,
43014         0-based timeline for duration added, filters added,
43015         more love for detailed view + nice headers.
43016
43017         * English.lproj/localizedStrings.js:
43018         * inspector/front-end/DataGrid.js:
43019         (WebInspector.DataGrid):
43020         (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
43021         (WebInspector.DataGrid.prototype.headerTableHeader):
43022         * inspector/front-end/NetworkPanel.js:
43023         (WebInspector.NetworkPanel):
43024         (WebInspector.NetworkPanel.prototype.get statusBarItems):
43025         (WebInspector.NetworkPanel.prototype._createTable):
43026         (WebInspector.NetworkPanel.prototype._makeHeaderInnerHTML):
43027         (WebInspector.NetworkPanel.prototype._createSortingFunctions):
43028         (WebInspector.NetworkPanel.prototype._sortByTimeline):
43029         (WebInspector.NetworkPanel.prototype._sortItems):
43030         (WebInspector.NetworkPanel.prototype._createFilterPanel):
43031         (WebInspector.NetworkPanel.prototype._showCategory):
43032         (WebInspector.NetworkPanel.prototype._hideCategory):
43033         (WebInspector.NetworkPanel.prototype._updateFilter):
43034         (WebInspector.NetworkPanel.prototype._filter):
43035         (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
43036         (WebInspector.NetworkPanel.prototype.reset):
43037         (WebInspector.NetworkPanel.prototype._setLargerResources):
43038         (WebInspector.NetworkDataGridNode.prototype.createCells):
43039         (WebInspector.NetworkDataGridNode.prototype._createDivInTD):
43040         (WebInspector.NetworkDataGridNode.prototype._refreshURLCell):
43041         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
43042         (WebInspector.NetworkDataGridNode.prototype._appendSubtitle):
43043         (WebInspector.NetworkDataGridNode.SizeComparator):
43044         (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
43045         * inspector/front-end/ProfilesPanel.js:
43046         (WebInspector.ProfilesPanel):
43047         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
43048         * inspector/front-end/StoragePanel.js:
43049         (WebInspector.StoragePanel):
43050         * inspector/front-end/TimelineGrid.js:
43051         (WebInspector.TimelineGrid.prototype.updateDividers):
43052         * inspector/front-end/TimelineOverviewPane.js:
43053         (WebInspector.TimelineOverviewPane):
43054         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
43055         * inspector/front-end/inspector.css:
43056         (.data-grid th.sort-ascending > div::after):
43057         (.data-grid th.sort-descending > div::after):
43058         (.status-bar-items):
43059         * inspector/front-end/networkPanel.css:
43060         (.network.panel .data-grid td):
43061         (.network.panel .data-grid th):
43062         (.network.panel .data-grid.small th):
43063         (.network.panel .data-grid .data-container):
43064         (.network.panel .data-grid.small .data-container):
43065         (.network.panel .data-grid select):
43066         (.network.panel .data-grid td.time-column):
43067         (.network-cell-subtitle):
43068         (.network-header-subtitle):
43069         (.network-event-divider):
43070         (.network.panel .network-timeline-grid.small .network-event-divider):
43071         (.network.panel .resources-dividers-label-bar):
43072         (.network.panel .network-timeline-grid.small .resources-dividers-label-bar):
43073         (.network.panel .resources-divider-label):
43074         (.network.panel .resources-dividers-label-bar .resources-divider):
43075         (.network.panel .network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
43076         (.network.panel .resources-divider.first .resources-divider-label):
43077         (.network.panel .resources-dividers-label-bar .resources-divider.first):
43078         (#network-filter):
43079         (.data-grid table.data tr.revealed.network-category-websockets, .data-grid table.data tr.revealed.network-category-other):
43080         (.data-grid.filter-all table.data tr.revealed.network-category-other, .data-grid.filter-other table.data tr.revealed.network-category-other):
43081
43082 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
43083
43084         Reviewed by Simon Hausmann.
43085
43086         [Qt] Ensure we always report a valid size for the video
43087
43088         Some QtMultimedia-backends require a paint before even giving us
43089         a size, so we start out by using the default video size, and then
43090         update it once QtMultimedia starts feeding us valid sizes.
43091
43092         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
43093         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
43094         (WebCore::MediaPlayerPrivateQt::nativeSizeChanged):
43095         (WebCore::MediaPlayerPrivateQt::setSize):
43096         (WebCore::MediaPlayerPrivateQt::naturalSize):
43097         * platform/graphics/qt/MediaPlayerPrivateQt.h:
43098
43099 2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
43100
43101         Reviewed by Andreas Kling.
43102
43103         RenderSVGTextPath lacks isSVGTextPath() method
43104         https://bugs.webkit.org/show_bug.cgi?id=46888
43105
43106         Make RenderSVGTextPath objects easily detectable, using a isSVGTextPath() method, like all other SVG renderers have.
43107
43108         * rendering/RenderObject.h:
43109         (WebCore::RenderObject::isSVGTextPath): Return false.
43110         * rendering/RenderSVGTextPath.h: Changed indentation of whole file.
43111         (WebCore::RenderSVGTextPath::isSVGTextPath): Return true.
43112         (WebCore::RenderSVGTextPath::renderName):
43113         (WebCore::toRenderSVGTextPath): Add helper casting methods.
43114
43115 2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
43116
43117         Reviewed by Dirk Schulze.
43118
43119         AffineTransform should expose methods calculating the x/y scale factors
43120         https://bugs.webkit.org/show_bug.cgi?id=46887
43121
43122         Expose methods calculating the x/y scale factors for an AffineTransform. 
43123
43124         * platform/graphics/transforms/AffineTransform.cpp:
43125         (WebCore::affineTransformDecompose): Move xScale / yScale calculations in their own functions.
43126         (WebCore::AffineTransform::xScale):
43127         (WebCore::AffineTransform::yScale):
43128         * platform/graphics/transforms/AffineTransform.h:
43129
43130 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
43131
43132         Reviewed by Simon Hausmann.
43133
43134         [Qt] Ensure that the media player backend does not leave any resources around
43135
43136         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
43137         (WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt):
43138
43139 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
43140
43141         Reviewed by Simon Hausmann.
43142
43143         Minor cleanup of MediaPlayerPrivateQt
43144
43145         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
43146         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
43147         (WebCore::MediaPlayerPrivateQt::currentTime):
43148         (WebCore::MediaPlayerPrivateQt::positionChanged):
43149         (WebCore::MediaPlayerPrivateQt::paint):
43150
43151 2010-09-30  Jochen Eisinger  <jochen@chromium.org>
43152
43153         Reviewed by Jeremy Orlow.
43154
43155         Mark unused parameters as such.
43156         https://bugs.webkit.org/show_bug.cgi?id=46880
43157
43158         * inspector/InspectorDOMAgent.cpp:
43159         * page/Geolocation.cpp:
43160         (WebCore::Geolocation::clearWatch):
43161
43162 2010-09-29  Pavel Podivilov  <podivilov@chromium.org>
43163
43164         Reviewed by Pavel Feldman.
43165
43166         Web Inspector: extract Inspector Instrumentation API as a class.
43167         https://bugs.webkit.org/show_bug.cgi?id=46614
43168
43169         * CMakeLists.txt:
43170         * GNUmakefile.am:
43171         * WebCore.gypi:
43172         * WebCore.pro:
43173         * WebCore.vcproj/WebCore.vcproj:
43174         * WebCore.xcodeproj/project.pbxproj:
43175         * bindings/js/JSXMLHttpRequestCustom.cpp:
43176         (WebCore::JSXMLHttpRequest::send):
43177         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43178         (WebCore::V8XMLHttpRequest::sendCallback):
43179         * dom/CharacterData.cpp:
43180         (WebCore::CharacterData::dispatchModifiedEvent):
43181         * dom/ContainerNode.cpp:
43182         (WebCore::ContainerNode::insertBefore):
43183         (WebCore::ContainerNode::parserInsertBefore):
43184         (WebCore::ContainerNode::replaceChild):
43185         (WebCore::ContainerNode::appendChild):
43186         (WebCore::ContainerNode::parserAddChild):
43187         (WebCore::notifyChildInserted):
43188         (WebCore::dispatchChildRemovalEvents):
43189         * dom/Element.cpp:
43190         (WebCore::Element::setAttribute):
43191         (WebCore::Element::removeAttribute):
43192         * inspector/InspectorController.cpp:
43193         (WebCore::InspectorController::InspectorController):
43194         (WebCore::InspectorController::~InspectorController):
43195         (WebCore::InspectorController::connectFrontend):
43196         (WebCore::InspectorController::disconnectFrontend):
43197         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
43198         * inspector/InspectorController.h:
43199         * inspector/InspectorInstrumentation.cpp: Added.
43200         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
43201         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
43202         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
43203         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
43204         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
43205         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
43206         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
43207         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
43208         * inspector/InspectorInstrumentation.h: Added.
43209         (WebCore::InspectorInstrumentation::frontendCreated):
43210         (WebCore::InspectorInstrumentation::frontendDeleted):
43211         (WebCore::InspectorInstrumentation::hasFrontends):
43212         (WebCore::InspectorInstrumentation::willInsertDOMNode):
43213         (WebCore::InspectorInstrumentation::didInsertDOMNode):
43214         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
43215         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
43216         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
43217         (WebCore::InspectorInstrumentation::characterDataModified):
43218         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
43219         (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
43220         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
43221         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
43222         * workers/SharedWorker.cpp:
43223
43224 2010-09-30  Kwang Yul Seo  <skyul@company100.net>
43225
43226         Reviewed by Darin Adler.
43227
43228         Build fix: Add ENABLE(INSPECTOR) guard
43229         https://bugs.webkit.org/show_bug.cgi?id=46852
43230
43231         Page does not have inspectorController() when ENABLE(INSPECTOR) is 0.
43232
43233         * inspector/InspectorController.h:
43234         (WebCore::InspectorController::inspectorControllerForDocument):
43235
43236 2010-09-30  Michael Nordman  <michaeln@google.com>
43237
43238         Reviewed by David Levin.
43239
43240         Make it possible to copy platform specific data members of ResourceRequest and ResourceResponse
43241         across threads and to compare platform specific data members of ResourceRequest.
43242         - Added two instance methods to the platform specific subclasses: doPlatformAdopt and doPlatformCopyData.
43243         - Also added a "shadowable" static method for platformCompare to ResourceRequestBase, a similar method
43244           is already present on ResourceResponseBase.
43245         - Converted the cross thread structs defined in ResourceRequest/ResponseBase.h to base
43246           classes and extended those base classes in the platform specific headers to provide a place
43247           to hold additional fields.
43248         - Used this mechanism to have the chromium port's data members make the hop.
43249         https://bugs.webkit.org/show_bug.cgi?id=46430
43250
43251         No new tests. Just plumbing.
43252
43253         * WebCore.exp.in: removed the symbol for the now inlined == operator
43254         * WebCore.gypi: added chromium/ResourceResponse.cpp
43255         * platform/network/ResourceRequestBase.cpp:
43256         (WebCore::ResourceRequestBase::adopt):
43257         (WebCore::ResourceRequestBase::copyData):
43258         (WebCore::ResourceRequestBase::compare):
43259         * platform/network/ResourceRequestBase.h:
43260         (WebCore::ResourceRequestBase::platformCompare):
43261         (WebCore::operator==):
43262         (WebCore::operator!=):
43263         * platform/network/ResourceResponseBase.cpp:
43264         (WebCore::ResourceResponseBase::asResourceResponse):
43265         (WebCore::ResourceResponseBase::adopt):
43266         (WebCore::ResourceResponseBase::copyData):
43267         * platform/network/ResourceResponseBase.h:
43268         * platform/network/android/ResourceRequest.h:
43269         (WebCore::ResourceRequest::doPlatformCopyData):
43270         (WebCore::ResourceRequest::doPlatformAdopt):
43271         * platform/network/android/ResourceResponse.h:
43272         (WebCore::ResourceResponse::doPlatformCopyData):
43273         (WebCore::ResourceResponse::doPlatformAdopt):
43274         * platform/network/cf/ResourceRequest.h:
43275         (WebCore::ResourceRequest::doPlatformCopyData):
43276         (WebCore::ResourceRequest::doPlatformAdopt):
43277         * platform/network/cf/ResourceResponse.h:
43278         (WebCore::ResourceResponse::doPlatformCopyData):
43279         (WebCore::ResourceResponse::doPlatformAdopt):
43280         * platform/network/chromium/ResourceRequest.cpp:
43281         (WebCore::ResourceRequest::doPlatformCopyData):
43282         (WebCore::ResourceRequest::doPlatformAdopt):
43283         * platform/network/chromium/ResourceRequest.h:
43284         * platform/network/chromium/ResourceResponse.cpp: Added.
43285         (WebCore::ResourceResponse::doPlatformCopyData):
43286         (WebCore::ResourceResponse::doPlatformAdopt):
43287         * platform/network/chromium/ResourceResponse.h:
43288         * platform/network/curl/ResourceRequest.h:
43289         (WebCore::ResourceRequest::doPlatformCopyData):
43290         (WebCore::ResourceRequest::doPlatformAdopt):
43291         * platform/network/curl/ResourceResponse.h:
43292         (WebCore::ResourceResponse::doPlatformCopyData):
43293         (WebCore::ResourceResponse::doPlatformAdopt):
43294         * platform/network/mac/ResourceRequest.h:
43295         (WebCore::ResourceRequest::doPlatformCopyData):
43296         (WebCore::ResourceRequest::doPlatformAdopt):
43297         * platform/network/mac/ResourceResponse.h:
43298         (WebCore::ResourceResponse::doPlatformCopyData):
43299         (WebCore::ResourceResponse::doPlatformAdopt):
43300         * platform/network/qt/ResourceRequest.h:
43301         (WebCore::ResourceRequest::doPlatformCopyData):
43302         (WebCore::ResourceRequest::doPlatformAdopt):
43303         * platform/network/qt/ResourceResponse.h:
43304         (WebCore::ResourceResponse::doPlatformCopyData):
43305         (WebCore::ResourceResponse::doPlatformAdopt):
43306         * platform/network/soup/ResourceRequest.h:
43307         (WebCore::ResourceRequest::doPlatformCopyData):
43308         (WebCore::ResourceRequest::doPlatformAdopt):
43309         * platform/network/soup/ResourceResponse.h:
43310         (WebCore::ResourceResponse::doUpdateResourceResponse):
43311         (WebCore::ResourceResponse::doPlatformCopyData):
43312         (WebCore::ResourceResponse::doPlatformAdopt):
43313
43314 2010-09-29  Chris Rogers  <crogers@google.com>
43315
43316         Reviewed by Kenneth Russell.
43317
43318         Put default initialize() and uninitialize() methods in AudioNode
43319         https://bugs.webkit.org/show_bug.cgi?id=46767
43320
43321         No new tests since audio API is not yet implemented.
43322
43323         * webaudio/AudioNode.cpp:
43324         (WebCore::AudioNode::initialize):
43325         (WebCore::AudioNode::uninitialize):
43326         * webaudio/AudioNode.h:
43327
43328 2010-09-29  Kent Tamura  <tkent@chromium.org>
43329
43330         Reviewed by Dimitri Glazkov.
43331
43332         Refactor HTMLInputElement: Make DeprecatedInputType private.
43333         https://bugs.webkit.org/show_bug.cgi?id=46791
43334
43335         No new tests because this doesn't change any behavior.
43336
43337         * html/HTMLInputElement.cpp:
43338         (WebCore::HTMLInputElement::createTypeMap):
43339         * html/HTMLInputElement.h:
43340          Move DeprecatedInputType, deprecatedInputType() and
43341          parseToDateComponents() to the private section, make
43342          createTypeMap() a member function of HTMLInputElement.
43343         (WebCore::HTMLInputElement::deprecatedInputType):
43344
43345 2010-09-29  Mihai Parparita  <mihaip@chromium.org>
43346
43347         Reviewed by Darin Fisher.
43348
43349         REGRESSION: page reload on back button after history.pushState with appearing/disappearing iframes
43350         https://bugs.webkit.org/show_bug.cgi?id=46324
43351         
43352         Revert same document check to the way it was before r66238 for history
43353         entries created by pushState or fragment changes. Logic fror determining
43354         if same document navigation should be used is moved to HistoryItem.
43355
43356         Tests: fast/history/same-document-iframes-changing-fragment.html
43357                fast/history/same-document-iframes-changing-pushstate.html
43358
43359         * history/HistoryItem.cpp:
43360         (WebCore::HistoryItem::shouldDoSameDocumentNavigationTo):
43361         (WebCore::HistoryItem::hasSameDocumentTree):
43362         (WebCore::HistoryItem::hasSameFrames):
43363         * history/HistoryItem.h:
43364         * loader/FrameLoader.cpp:
43365         (WebCore::FrameLoader::loadItem):
43366
43367         * loader/FrameLoader.cpp:
43368         (WebCore::FrameLoader::loadItem):
43369
43370 2010-09-29  MORITA Hajime  <morrita@google.com>
43371
43372         Unreviewed build fix.
43373         
43374         WebCore::ESpeak causes missing symbol with no ENABLE_SVG
43375         https://bugs.webkit.org/show_bug.cgi?id=46865
43376
43377         Moves ESpeak related function definitions outside ENABLE_SVG block.
43378
43379         * css/CSSPrimitiveValueMappings.h:
43380         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
43381         (WebCore::CSSPrimitiveValue::operator ESpeak):
43382         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
43383
43384 2010-09-29  Chris Rogers  <crogers@google.com>
43385
43386         Reviewed by Kenneth Russell.
43387
43388         Add AudioChannelSplitter files
43389         https://bugs.webkit.org/show_bug.cgi?id=46290
43390
43391         No new tests since audio API is not yet implemented.
43392
43393         * webaudio/AudioChannelSplitter.cpp: Added.
43394         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
43395         (WebCore::AudioChannelSplitter::process):
43396         (WebCore::AudioChannelSplitter::reset):
43397         * webaudio/AudioChannelSplitter.h: Added.
43398         (WebCore::AudioChannelSplitter::create):
43399         * webaudio/AudioChannelSplitter.idl: Added.
43400
43401 2010-09-29  Kinuko Yasuda  <kinuko@chromium.org>
43402
43403         Reviewed by David Levin.
43404
43405         Fix DirectoryReader's behavior to trigger only one EntriesCallback per readEntries
43406         https://bugs.webkit.org/show_bug.cgi?id=46563
43407
43408         Test: fast/filesystem/read-directory.html
43409
43410         * fileapi/DOMFileSystem.cpp:
43411         (WebCore::DOMFileSystem::readDirectory): Changed to take DirectoryReader
43412         as a parameter.
43413         * fileapi/DOMFileSystem.h:
43414         (WebCore::DOMFileSystem::scheduleCallback): Added.
43415         * fileapi/DirectoryReader.cpp:
43416         (WebCore::DirectoryReader::DirectoryReader): Added initializer for
43417         m_hasMore flag.
43418         (WebCore::DirectoryReader::readEntries): Changed to schedule
43419         EntriesCallback with an empty array if m_hasMore flag is set false.
43420         * fileapi/DirectoryReader.h:
43421         (WebCore::DirectoryReader::filesystem): Added.
43422         (WebCore::DirectoryReader::setHasMore): Added.
43423         * fileapi/FileSystemCallbacks.cpp:
43424         (WebCore::EntriesCallbacks::create):
43425         (WebCore::EntriesCallbacks::EntriesCallbacks): Changed to take
43426         DirectoryReader as a parameter.
43427         (WebCore::EntriesCallbacks::didReadDirectoryEntry):
43428         (WebCore::EntriesCallbacks::didReadDirectoryEntries): Changed 1) not to
43429         trigger the second callback when hasMore is false, and 2) to update
43430         the DirectoryReader's m_hasMore flag.
43431         * fileapi/FileSystemCallbacks.h:
43432
43433 2010-09-29  Chris Rogers  <crogers@google.com>
43434
43435         Reviewed by Kenneth Russell.
43436
43437         Add AudioGainNode files
43438         https://bugs.webkit.org/show_bug.cgi?id=46286
43439
43440         No new tests since audio API is not yet implemented.
43441
43442         * webaudio/AudioGainNode.cpp: Added.
43443         (WebCore::AudioGainNode::AudioGainNode):
43444         (WebCore::AudioGainNode::process):
43445         (WebCore::AudioGainNode::reset):
43446         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
43447         * webaudio/AudioGainNode.h: Added.
43448         (WebCore::AudioGainNode::create):
43449         (WebCore::AudioGainNode::gain):
43450         * webaudio/AudioGainNode.idl: Added.
43451
43452 2010-09-29  Chris Rogers  <crogers@google.com>
43453
43454         Reviewed by Kenneth Russell.
43455
43456         Add AudioChannelMerger files
43457         https://bugs.webkit.org/show_bug.cgi?id=46291
43458
43459         No new tests since audio API is not yet implemented.
43460
43461         * webaudio/AudioChannelMerger.cpp: Added.
43462         (WebCore::AudioChannelMerger::AudioChannelMerger):
43463         (WebCore::AudioChannelMerger::process):
43464         (WebCore::AudioChannelMerger::reset):
43465         * webaudio/AudioChannelMerger.h: Added.
43466         (WebCore::AudioChannelMerger::create):
43467         * webaudio/AudioChannelMerger.idl: Added.
43468
43469 2010-09-29  Chris Fleizach  <cfleizach@apple.com>
43470
43471         No review. Missed file for patch.
43472
43473         AX: implement CSS3 Speech "speak"
43474         https://bugs.webkit.org/show_bug.cgi?id=46827
43475
43476         * css/CSSParser.cpp:
43477         (WebCore::CSSParser::parseValue):
43478
43479 2010-09-29  Enrica Casucci  <enrica@apple.com>
43480
43481         Reviewed by Darin Adler.
43482
43483         Crash at lineBreakExistsAtPosition + 125
43484         <rdar://problem/7028809> 
43485         https://bugs.webkit.org/show_bug.cgi?id=46770
43486         
43487         lineBreakExistsAtPosition is called from InsertTextCommand::input,
43488         where we compute the downstream position of the endingSelection().
43489         Downstream can return the original position, that comes from a VisibleSelection
43490         but there is no guarantee that its renderer is still there. Everywhere we dereference
43491         a renderer we check if it's null.
43492         
43493         There is no regression test.
43494         
43495         * editing/htmlediting.cpp:
43496         (WebCore::lineBreakExistsAtPosition): Added check that the renderer is not null
43497         before dereferencing it.
43498
43499 2010-09-29  Sam Weinig  <sam@webkit.org>
43500
43501         Reviewed by Darin Adler.
43502
43503         Add additional checks to StringBuilder.
43504         <rdar://problem/7761248>
43505
43506         * platform/text/StringBuilder.cpp:
43507         (WebCore::checkAppend):
43508         (WebCore::StringBuilder::append):
43509         (WebCore::StringBuilder::toString):
43510         (WebCore::StringBuilder::clear):
43511         (WebCore::StringBuilder::length):
43512         * platform/text/StringBuilder.h:
43513         (WebCore::StringBuilder::StringBuilder):
43514         (WebCore::StringBuilder::setNonNull):
43515         (WebCore::StringBuilder::isNull):
43516
43517 2010-09-29  Anders Carlsson  <andersca@apple.com>
43518
43519         Reviewed by Darin Adler.
43520
43521         plugins/npruntime/invoke-failure.html fails in WebKit2 due to slightly different exception being thrown
43522         https://bugs.webkit.org/show_bug.cgi?id=46715
43523         <rdar://problem/8485909>
43524
43525         Remove exclamation points from exceptions.
43526
43527         * bindings/v8/V8NPObject.cpp:
43528         (WebCore::npObjectInvokeImpl):
43529         * bridge/c/c_instance.cpp:
43530         (JSC::Bindings::CInstance::invokeMethod):
43531         (JSC::Bindings::CInstance::invokeDefaultMethod):
43532         (JSC::Bindings::CInstance::invokeConstruct):
43533
43534 2010-09-29  Anders Carlsson  <andersca@apple.com>
43535
43536         Reviewed by Darin Adler.
43537
43538         Add additional check to Text::wholeText.
43539         <rdar://problem/8304795>
43540
43541         * dom/Text.cpp:
43542         (WebCore::Text::wholeText):
43543
43544 2010-09-29  Brian Weinstein  <bweinstein@apple.com>
43545
43546         Reviewed by Brady Eidson.
43547
43548         REGRESSION (r66129): Loading full-frame .swf file crashes with flash blocker extension enabled
43549         <https://bugs.webkit.org/show_bug.cgi?id=46773>
43550         <rdar://problem/8390975>
43551         
43552         After r66129, start scripts were run on plugin documents, and cancelling the load of a plugin
43553         document could cause Safari to crash.
43554         
43555         If a plugin load on an initial document is cancelled, we cancel the main resource load (where the
43556         main resource is the plugin), and if the load is restarted and allowed, we don't go through the manual
43557         loading path like we do on the initial load of a plugin in a plugin document.
43558
43559         Tests: plugins/plugin-document-load-prevented-userscript.html
43560                plugins/plugin-document-willSendRequest-null.html
43561
43562         * html/HTMLEmbedElement.cpp:
43563         (WebCore::HTMLEmbedElement::updateWidget): If the plugin load was cancelled, and this is in a
43564             plugin document, call a function on PluginDocument that cancels the main resource load, and
43565             sets a plugin document flag.
43566         * html/PluginDocument.cpp:
43567         (WebCore::PluginDocumentParser::appendBytes): Null check the widget's renderer, because it could be
43568             null if the load was cancelled.
43569         (WebCore::PluginDocument::PluginDocument): Initialize the new variable.
43570         (WebCore::PluginDocument::cancelManualPluginLoad): Cancel the main resource load of the plugin document
43571             (which is a plugin in the case of a plugin document).
43572         * html/PluginDocument.h:
43573         (WebCore::PluginDocument::shouldLoadPluginManually): Returns whether or not we should load the plugin
43574             manually.
43575         (WebCore::PluginDocument::setShouldLoadPluginManually): Set whether or not we should load the plugin
43576             manually.
43577         (WebCore::toPluginDocument):
43578         * loader/SubframeLoader.cpp:
43579         (WebCore::SubframeLoader::loadPlugin): Check if we should load the plugin manually according to the plugin
43580             document.
43581
43582 2010-09-29  David Hyatt  <hyatt@apple.com>
43583
43584         Reviewed by Sam Weinig.
43585
43586         https://bugs.webkit.org/show_bug.cgi?id=46844, make estimateLogicalTopPosition
43587         block-flow-aware.
43588
43589         * rendering/RenderBlock.cpp:
43590         (WebCore::RenderBlock::estimateLogicalTopPosition):
43591         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
43592         (WebCore::RenderBlock::collapsedMarginAfterForChild):
43593         * rendering/RenderBlock.h:
43594
43595 2010-09-29  Chris Rogers  <crogers@google.com>
43596
43597         Reviewed by Kenneth Russell.
43598
43599         Minor cleanup to AudioContext
43600         https://bugs.webkit.org/show_bug.cgi?id=46843
43601
43602         No new tests since audio API is not yet implemented
43603
43604         * webaudio/AudioContext.cpp:
43605         (WebCore::AudioContext::lock):
43606         (WebCore::AudioContext::handleDeferredFinishDerefs):
43607
43608 2010-09-29  MORITA Hajime  <morrita@google.com>
43609
43610         Reviewed by Eric Seidel.
43611
43612         Assertion failed when accessing -webkit-margin-top-collapse via computed style.
43613         https://bugs.webkit.org/show_bug.cgi?id=46798
43614         
43615         There was a switch statement which missed enum entries in getPropertyCSSValue().
43616         This change added these entries to prevent the leak.
43617         It also added extra case statements to encourage the compiler's help.
43618
43619         Test: fast/css/getComputedStyle/margin-top-bottom-collapse-alias.html
43620
43621         * css/CSSComputedStyleDeclaration.cpp:
43622         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
43623
43624 2010-09-29  Chris Rogers  <crogers@google.com>
43625
43626         Reviewed by Kenneth Russell.
43627
43628         Limit number of AudioNode deletions per render quantum in AudioContext
43629         https://bugs.webkit.org/show_bug.cgi?id=46834
43630
43631         No new tests since audio API is not yet implemented.
43632
43633         * webaudio/AudioContext.cpp:
43634         (WebCore::AudioContext::handlePostRenderTasks):
43635         (WebCore::AudioContext::deleteMarkedNodes):
43636
43637 2010-09-29  David Hyatt  <hyatt@apple.com>
43638
43639         Reviewed by Simon Fraser.
43640
43641         https://bugs.webkit.org/show_bug.cgi?id=46838
43642         
43643         Get rid of the marginXXXUsing/setMarginXXXUsing methods on RenderBox.  I'm inverting the way these are called
43644         and putting the methods on RenderBlock instead.  The methods can be named better this way and the getters
43645         can operate on RenderBoxModelObjects instead of just RenderBoxes.
43646
43647         * rendering/RenderBlock.cpp:
43648         (WebCore::RenderBlock::layoutBlockChild):
43649         (WebCore::RenderBlock::marginBeforeForChild):
43650         (WebCore::RenderBlock::marginAfterForChild):
43651         (WebCore::RenderBlock::marginStartForChild):
43652         (WebCore::RenderBlock::marginEndForChild):
43653         (WebCore::RenderBlock::setMarginStartForChild):
43654         (WebCore::RenderBlock::setMarginEndForChild):
43655         (WebCore::RenderBlock::setMarginBeforeForChild):
43656         (WebCore::RenderBlock::setMarginAfterForChild):
43657         * rendering/RenderBlock.h:
43658         (WebCore::RenderBlock::logicalHeightForChild):
43659         (WebCore::RenderBlock::logicalTopForChild):
43660         * rendering/RenderBox.cpp:
43661         (WebCore::RenderBox::marginBefore):
43662         (WebCore::RenderBox::marginAfter):
43663         (WebCore::RenderBox::marginStart):
43664         (WebCore::RenderBox::marginEnd):
43665         (WebCore::RenderBox::setMarginStart):
43666         (WebCore::RenderBox::setMarginEnd):
43667         (WebCore::RenderBox::setMarginBefore):
43668         (WebCore::RenderBox::setMarginAfter):
43669         (WebCore::RenderBox::computeLogicalWidth):
43670         (WebCore::RenderBox::computeInlineDirectionMargins):
43671         (WebCore::RenderBox::computeBlockDirectionMargins):
43672         * rendering/RenderBox.h:
43673         (WebCore::RenderBox::setMarginTop):
43674         (WebCore::RenderBox::setMarginBottom):
43675         (WebCore::RenderBox::setMarginLeft):
43676         (WebCore::RenderBox::setMarginRight):
43677
43678 2010-09-29  Dan Bernstein  <mitz@apple.com>
43679
43680         Reviewed by Sam Weinig.
43681
43682         Removed input type site-specific quirk for mail.google.com
43683         https://bugs.webkit.org/show_bug.cgi?id=46836
43684
43685         * bindings/js/JSHTMLInputElementCustom.cpp:
43686         (WebCore::needsGmailQuirk): Removed.
43687         (WebCore::JSHTMLInputElement::type): Removed this custom getter. 
43688         * html/HTMLInputElement.idl: Removed the JSCCustomGetter custom attribute
43689         from the type attribute.
43690
43691 2010-09-29  Joseph Pecoraro  <joepeck@webkit.org>
43692
43693         Reviewed by Simon Fraser.
43694
43695         CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
43696         https://bugs.webkit.org/show_bug.cgi?id=46777
43697
43698         It should not be possible to get to be in the LoadingFromSourceElement
43699         state with a null current source node. This was a possible scenario
43700         where the current source node was cleared but the load state was not
43701         cleared as well. Tried and could not create a test case for this.
43702
43703         * html/HTMLMediaElement.cpp:
43704         (WebCore::HTMLMediaElement::userCancelledLoad): clear the load state because we also clear the current source node.
43705
43706 2010-09-29  David Hyatt  <hyatt@apple.com>
43707
43708         Reviewed by Dan Bernstein.
43709
43710         https://bugs.webkit.org/show_bug.cgi?id=46835, patch a few more height/logicalHeights.  Rename stretchesToViewHeight.
43711
43712         * page/FrameView.cpp:
43713         (WebCore::FrameView::layout):
43714         * rendering/RenderBlock.cpp:
43715         (WebCore::RenderBlock::layoutBlock):
43716         * rendering/RenderBlockLineLayout.cpp:
43717         (WebCore::RenderBlock::layoutInlineChildren):
43718         * rendering/RenderBox.cpp:
43719         (WebCore::RenderBox::computeLogicalHeight):
43720         * rendering/RenderBox.h:
43721         (WebCore::RenderBox::stretchesToViewport):
43722         * rendering/RenderBoxModelObject.cpp:
43723         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
43724
43725 2010-09-29  Chris Fleizach  <cfleizach@apple.com>
43726
43727         Reviewed by Darin Adler.
43728
43729         AX: implement CSS3 Speech "speak"
43730         https://bugs.webkit.org/show_bug.cgi?id=46827
43731
43732         Support the "speak" style as defined in
43733         http://www.w3.org/TR/css3-speech/#speak
43734
43735         This puts all the pieces in place for a platform to support this ability, but there's no platform implementation yet.
43736
43737         Test: platform/mac/accessibility/css-speech-speak.html
43738
43739         * accessibility/AccessibilityObject.h:
43740         (WebCore::AccessibilityObject::speakProperty):
43741         * accessibility/AccessibilityRenderObject.cpp:
43742         (WebCore::AccessibilityRenderObject::speakProperty):
43743         * accessibility/AccessibilityRenderObject.h:
43744         * accessibility/mac/AccessibilityObjectWrapper.mm:
43745         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
43746         * css/CSSComputedStyleDeclaration.cpp:
43747         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
43748         * css/CSSPrimitiveValueMappings.h:
43749         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
43750         (WebCore::CSSPrimitiveValue::operator ESpeak):
43751         * css/CSSPropertyNames.in:
43752         * css/CSSStyleSelector.cpp:
43753         (WebCore::CSSStyleSelector::applyProperty):
43754         * css/CSSValueKeywords.in:
43755         * rendering/style/RenderStyle.h:
43756         (WebCore::InheritedFlags::speak):
43757         (WebCore::InheritedFlags::setSpeak):
43758         (WebCore::InheritedFlags::initialSpeak):
43759         * rendering/style/RenderStyleConstants.h:
43760         * rendering/style/StyleRareInheritedData.cpp:
43761         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
43762         (WebCore::StyleRareInheritedData::operator==):
43763         * rendering/style/StyleRareInheritedData.h:
43764
43765 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
43766
43767         Reviewed by Antonio Gomes.
43768
43769         [Curl] Fix unused and unitialized warnings.
43770         https://bugs.webkit.org/show_bug.cgi?id=46831
43771
43772         No new tests since no new funcionality has been added.
43773
43774         * platform/network/curl/ResourceHandleCurl.cpp:
43775         (WebCore::allowsAnyHTTPSCertificateHosts):
43776         * platform/network/curl/ResourceHandleManager.cpp:
43777         (WebCore::ResourceHandleManager::ResourceHandleManager):
43778         (WebCore::handleLocalReceiveResponse):
43779         (WebCore::ResourceHandleManager::downloadTimerCallback):
43780         (WebCore::ResourceHandleManager::initializeHandle):
43781
43782 2010-09-29  David Hyatt  <hyatt@apple.com>
43783
43784         Reviewed by Sam Weinig.
43785
43786         https://bugs.webkit.org/show_bug.cgi?id=46824
43787         
43788         Convert layoutBlockChild (but not the functions it calls) to be block-flow-aware.
43789
43790         fast/blockflow/root-lr.html progresses as a result of this change.
43791
43792         * rendering/RenderBlock.cpp:
43793         (WebCore::RenderBlock::estimateLogicalTopPosition):
43794         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
43795         (WebCore::RenderBlock::setLogicalTopForChild):
43796         (WebCore::RenderBlock::layoutBlockChild):
43797         * rendering/RenderBlock.h:
43798         (WebCore::RenderBlock::logicalHeightForChild):
43799         (WebCore::RenderBlock::logicalTopForChild):
43800         * rendering/RenderBox.h:
43801
43802 2010-09-29  Ryosuke Niwa  <rniwa@webkit.org>
43803
43804         Reviewed by Antonio Gomes.
43805
43806         queryCommandValue "formatBlock" always returns false
43807         https://bugs.webkit.org/show_bug.cgi?id=21305
43808
43809         Implemented queryCommandValue('formatBlock'). We match the Firefox's behavior exactly
43810         because Firefox and Internet Explorer support the same set of elements
43811         (address, h1, h2, h3, h4, h5, h6, and p) and Firefox's behavior is more compatible with Opera.
43812         See the bug for the detailed discussion.
43813
43814         WebKit's implementation returns the local name of the lowest common ancestor
43815         of the selection with the tag name address, h1, h2, h3, h4, h5, h6, or p.
43816         It returns "" when there is no such an ancestor or there is no selection.
43817
43818         Test: editing/execCommand/query-format-block.html
43819
43820         * editing/Editor.cpp:
43821         (WebCore::isElementForFormatBlockCommand):
43822         (WebCore::Editor::elementForFormatBlockCommand):
43823         * editing/Editor.h:
43824         * editing/EditorCommand.cpp:
43825         (WebCore::valueFormatBlock):
43826         (WebCore::createCommandMap):
43827
43828 2010-09-29  Matt Perry  <mpcomplete@chromium.org>
43829
43830         Reviewed by Darin Fisher.
43831
43832         Remove obsolete registerExtension variants from chromium port.
43833         https://bugs.webkit.org/show_bug.cgi?id=46683
43834
43835         * bindings/v8/V8DOMWindowShell.cpp:
43836         (WebCore::V8DOMWindowShell::createNewContext):
43837         * bindings/v8/V8Proxy.cpp:
43838         (WebCore::V8Proxy::registeredExtensionWithV8):
43839         (WebCore::V8Proxy::registerExtension):
43840         * bindings/v8/V8Proxy.h:
43841
43842 2010-09-29  Martin Robinson  <mrobinson@igalia.com>
43843
43844         Reviewed by Chris Fleizach.
43845
43846         [GTK] editing/selection/selection-modify-crash.html crashes when run in Xvfb
43847         https://bugs.webkit.org/show_bug.cgi?id=46822
43848
43849         When parentObjectUnignored returns null in objectAndOffsetUnignored consider that
43850         a failure case. Handle this failure appropriately at all call sites.
43851
43852         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
43853         (webkit_accessible_text_get_caret_offset): Handle the failure of objectAndOffsetUnignored.
43854         (objectAndOffsetUnignored): Always check the return value of parentObjectUnignored and
43855         return 0 to indicate failure when that happens.
43856         * editing/gtk/SelectionControllerGtk.cpp:
43857         (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Handle the failure
43858         case of objectAndOffsetUnignored.
43859
43860 2010-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>
43861
43862         Unreviewed, rolling out r68657.
43863         http://trac.webkit.org/changeset/68657
43864         https://bugs.webkit.org/show_bug.cgi?id=46820
43865
43866         reason "Breaks win debug build" (Requested by podivilov on
43867         #webkit).
43868
43869         * CMakeLists.txt:
43870         * GNUmakefile.am:
43871         * WebCore.gypi:
43872         * WebCore.pro:
43873         * WebCore.xcodeproj/project.pbxproj:
43874         * bindings/js/JSXMLHttpRequestCustom.cpp:
43875         (WebCore::JSXMLHttpRequest::send):
43876         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43877         (WebCore::V8XMLHttpRequest::sendCallback):
43878         * dom/CharacterData.cpp:
43879         (WebCore::CharacterData::dispatchModifiedEvent):
43880         * dom/ContainerNode.cpp:
43881         (WebCore::ContainerNode::insertBefore):
43882         (WebCore::ContainerNode::parserInsertBefore):
43883         (WebCore::ContainerNode::replaceChild):
43884         (WebCore::ContainerNode::appendChild):
43885         (WebCore::ContainerNode::parserAddChild):
43886         (WebCore::notifyChildInserted):
43887         (WebCore::dispatchChildRemovalEvents):
43888         * dom/Element.cpp:
43889         (WebCore::Element::setAttribute):
43890         (WebCore::Element::removeAttribute):
43891         * inspector/InspectorController.cpp:
43892         (WebCore::InspectorController::InspectorController):
43893         (WebCore::InspectorController::~InspectorController):
43894         (WebCore::InspectorController::connectFrontend):
43895         (WebCore::InspectorController::disconnectFrontend):
43896         (WebCore::InspectorController::willInsertDOMNodeImpl):
43897         (WebCore::InspectorController::didInsertDOMNodeImpl):
43898         (WebCore::InspectorController::willRemoveDOMNodeImpl):
43899         (WebCore::InspectorController::didRemoveDOMNodeImpl):
43900         (WebCore::InspectorController::willModifyDOMAttrImpl):
43901         (WebCore::InspectorController::didModifyDOMAttrImpl):
43902         (WebCore::InspectorController::characterDataModifiedImpl):
43903         (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
43904         * inspector/InspectorController.h:
43905         (WebCore::InspectorController::willInsertDOMNode):
43906         (WebCore::InspectorController::didInsertDOMNode):
43907         (WebCore::InspectorController::willRemoveDOMNode):
43908         (WebCore::InspectorController::willModifyDOMAttr):
43909         (WebCore::InspectorController::didModifyDOMAttr):
43910         (WebCore::InspectorController::characterDataModified):
43911         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
43912         (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
43913         (WebCore::InspectorController::inspectorControllerForNode):
43914         (WebCore::InspectorController::inspectorControllerForDocument):
43915         * inspector/InspectorInstrumentation.cpp: Removed.
43916         * inspector/InspectorInstrumentation.h: Removed.
43917         * workers/SharedWorker.cpp:
43918
43919 2010-09-29  Xiaomei Ji  <xji@chromium.org>
43920
43921         Reviewed by David Levin.
43922
43923         Performance improvement for FontLinux.
43924         https://bugs.webkit.org/show_bug.cgi?id=46374
43925
43926         Reduce new/delete operations by storing the maximum capacity of the glyph
43927         array and use that value in subsequent HB_ShapeItem calls. (Note that a
43928         call to HB_ShapeItem may reduce the value of m_item.num_glyphs below the
43929         capacity.)
43930
43931         Also be consistent with zero'ing the glyph arrays before calling 
43932         HB_ShapeItem.
43933
43934         There is no functionality changes so no new tests are added.
43935  
43936         * platform/graphics/chromium/FontLinux.cpp:
43937         (WebCore::TextRunWalker::createGlyphArrays):
43938         (WebCore::TextRunWalker::resetGlyphArrays):
43939         (WebCore::TextRunWalker::shapeGlyphs):
43940
43941 2010-09-29  Pavel Podivilov  <podivilov@chromium.org>
43942
43943         Reviewed by Pavel Feldman.
43944
43945         Web Inspector: extract Inspector Instrumentation API as a class.
43946         https://bugs.webkit.org/show_bug.cgi?id=46614
43947
43948         * CMakeLists.txt:
43949         * GNUmakefile.am:
43950         * WebCore.gypi:
43951         * WebCore.pro:
43952         * WebCore.xcodeproj/project.pbxproj:
43953         * bindings/js/JSXMLHttpRequestCustom.cpp:
43954         (WebCore::JSXMLHttpRequest::send):
43955         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43956         (WebCore::V8XMLHttpRequest::sendCallback):
43957         * dom/CharacterData.cpp:
43958         (WebCore::CharacterData::dispatchModifiedEvent):
43959         * dom/ContainerNode.cpp:
43960         (WebCore::ContainerNode::insertBefore):
43961         (WebCore::ContainerNode::parserInsertBefore):
43962         (WebCore::ContainerNode::replaceChild):
43963         (WebCore::ContainerNode::appendChild):
43964         (WebCore::ContainerNode::parserAddChild):
43965         (WebCore::notifyChildInserted):
43966         (WebCore::dispatchChildRemovalEvents):
43967         * dom/Element.cpp:
43968         (WebCore::Element::setAttribute):
43969         (WebCore::Element::removeAttribute):
43970         * inspector/InspectorController.cpp:
43971         (WebCore::InspectorController::InspectorController):
43972         (WebCore::InspectorController::~InspectorController):
43973         (WebCore::InspectorController::connectFrontend):
43974         (WebCore::InspectorController::disconnectFrontend):
43975         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
43976         * inspector/InspectorController.h:
43977         * inspector/InspectorInstrumentation.cpp: Added.
43978         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
43979         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
43980         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
43981         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
43982         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
43983         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
43984         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
43985         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
43986         * inspector/InspectorInstrumentation.h: Added.
43987         (WebCore::InspectorInstrumentation::frontendCreated):
43988         (WebCore::InspectorInstrumentation::frontendDeleted):
43989         (WebCore::InspectorInstrumentation::hasFrontends):
43990         (WebCore::InspectorInstrumentation::willInsertDOMNode):
43991         (WebCore::InspectorInstrumentation::didInsertDOMNode):
43992         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
43993         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
43994         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
43995         (WebCore::InspectorInstrumentation::characterDataModified):
43996         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
43997         (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
43998         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
43999         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
44000
44001 2010-09-29  David Hyatt  <hyatt@apple.com>
44002
44003         Reviewed by Sam Weinig.
44004
44005         https://bugs.webkit.org/show_bug.cgi?id=46786, convert layoutBlockChild (but not any functions it calls)
44006         to be block-flow-aware.
44007
44008         * rendering/RenderBlock.cpp:
44009         (WebCore::RenderBlock::layoutBlock):
44010         (WebCore::RenderBlock::handleAfterSideOfBlock):
44011         (WebCore::RenderBlock::layoutBlockChildren):
44012         * rendering/RenderBlock.h:
44013         * rendering/RenderBox.h:
44014         (WebCore::RenderBox::scrollbarLogicalHeight):
44015
44016 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
44017
44018         Reviewed by Antonio Gomes.
44019
44020         [EFL] General small fixes.
44021         https://bugs.webkit.org/show_bug.cgi?id=46813
44022
44023         This commit spots a comparison between signed and unsigned integer
44024         expressions, a missing return and a never-called function.
44025
44026         No new tests since no new funcionality has been added.
44027
44028         * platform/efl/SharedBufferEfl.cpp:
44029         (WebCore::SharedBuffer::createWithContentsOfFile):
44030
44031 2010-09-29  Philippe Normand  <pnormand@igalia.com>
44032
44033         Reviewed by Gustavo Noronha Silva.
44034
44035         build still broken since r68521
44036         https://bugs.webkit.org/show_bug.cgi?id=46795
44037
44038         Call make-values.pl once only. It seems calling it multiple times
44039         in the same build produces a wrong CSSValueKeywordsHash.h which
44040         has a duplicate declaration of its valueList variable. The double
44041         call is triggered by the double targets in the Makefile rules and
44042         makevalues.pl generates one of them, which screws up the build. A
44043         more proper fix should be done with the advices on
44044         http://www.cmcrossroads.com/cm-basics/12905-rules-with-multiple-outputs-in-gnu-make
44045
44046         * GNUmakefile.am:
44047
44048 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
44049
44050         Unreviewed build fix.
44051
44052         Fix CMake build for ENABLE_PROGRESS_TAG.
44053         https://bugs.webkit.org/show_bug.cgi?id=46808
44054
44055         No new tests since it's a build fix.
44056
44057         * CMakeLists.txt:
44058
44059 2010-09-29  Yury Semikhatsky  <yurys@chromium.org>
44060
44061         Reviewed by Pavel Feldman.
44062
44063         [v8] Use generic mechanism to report exceptions in V8CustomVoidCallback
44064         https://bugs.webkit.org/show_bug.cgi?id=46803
44065
44066         No new tests. It's covered by existing tests under LayoutTests/storage
44067
44068         * bindings/v8/custom/V8CustomVoidCallback.cpp:
44069         (WebCore::invokeCallback):
44070
44071 2010-09-29  Satish Sampath  <satish@chromium.org>
44072
44073         Reviewed by Jeremy Orlow.
44074
44075         Rename the input element's @speech attribute to @webkitspeech since it is still experimental.
44076         https://bugs.webkit.org/show_bug.cgi?id=46799
44077
44078         * bindings/generic/RuntimeEnabledFeatures.h:
44079         (WebCore::RuntimeEnabledFeatures::webkitspeechEnabled): Rename the runtime feature flag getter.
44080         * css/CSSPrimitiveValueMappings.h:
44081         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
44082         * css/CSSValueKeywords.in: Rename the css style name.
44083         * css/html.css: Rename the css style name.
44084         (input::-webkit-input-speech-button):
44085         * html/HTMLAttributeNames.in: Rename the @speech attribute.
44086         * html/HTMLInputElement.cpp: Update code using the attribute.
44087         (WebCore::HTMLInputElement::parseMappedAttribute):
44088         (WebCore::HTMLInputElement::isSpeechEnabled):
44089         * html/HTMLInputElement.idl: Rename the @speech attribute.
44090
44091 2010-09-29  MORITA Hajime  <morrita@google.com>
44092
44093         [Chromium] failed to build without ACCELERATED_COMPOSITING
44094         https://bugs.webkit.org/show_bug.cgi?id=46793
44095
44096         Moved constant definitions from inside ACCELERATED_COMPOSITING to
44097         outside of the condition.
44098         
44099         * WebCore.gypi:
44100         * platform/graphics/chromium/VideoFrameChromium.cpp: Added just for defining constants.
44101         * platform/graphics/chromium/VideoLayerChromium.cpp:
44102
44103 2010-09-28  Pavel Feldman  <pfeldman@chromium.org>
44104
44105         Reviewed by Timothy Hatcher.
44106
44107         Web Inspector: [Resources panel] Need more visible "at a glance".
44108         https://bugs.webkit.org/show_bug.cgi?id=45657
44109
44110         * WebCore.gypi:
44111         * WebCore.vcproj/WebCore.vcproj:
44112         * inspector/front-end/DataGrid.js:
44113         (WebInspector.DataGrid):
44114         (WebInspector.DataGrid.prototype.updateWidths):
44115         (WebInspector.DataGrid.prototype.sortNodes):
44116         (WebInspector.DataGrid.prototype._resizerDragging):
44117         (WebInspector.DataGrid.prototype._endResizerDragging):
44118         (WebInspector.DataGridNode.prototype.selectable.true.get element):
44119         (WebInspector.DataGridNode.prototype.createCells):
44120         (WebInspector.DataGridNode.prototype.refresh):
44121         * inspector/front-end/Images/networkIcon.png: Copied from WebCore/inspector/front-end/Images/resourcesIcon.png.
44122         * inspector/front-end/NetworkPanel.js: Added.
44123         * inspector/front-end/Settings.js:
44124         * inspector/front-end/WebKit.qrc:
44125         * inspector/front-end/inspector.css:
44126         (.toolbar-item.network .toolbar-icon):
44127         (.data-grid .data-container):
44128         * inspector/front-end/inspector.html:
44129         * inspector/front-end/inspector.js:
44130         (WebInspector._createPanels):
44131         (WebInspector.updateResource):
44132         * inspector/front-end/networkPanel.css: Added.
44133
44134 2010-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
44135
44136         Reviewed by Yury Semikhatsky.
44137
44138         Web Inspector: move pauseOnExceptionState under control of InspectorState
44139         It is Inspector Protocol cleanup activity.
44140         The actual state of this flag can be obtained as a return value of setPauseOnExceptionState command
44141         or as a value in InspectorState object.
44142
44143         https://bugs.webkit.org/show_bug.cgi?id=46724
44144
44145         * inspector/Inspector.idl:
44146         * inspector/InspectorController.cpp:
44147         (WebCore::InspectorController::getInspectorState):
44148         (WebCore::InspectorController::populateScriptObjects):
44149         * inspector/InspectorDebuggerAgent.cpp:
44150         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
44151         (WebCore::InspectorDebuggerAgent::pauseOnExceptionsState):
44152         * inspector/InspectorDebuggerAgent.h:
44153         * inspector/front-end/ScriptsPanel.js:
44154         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
44155         * inspector/front-end/inspector.js:
44156         (WebInspector.doLoadedDone.populateInspectorState):
44157         (WebInspector.doLoadedDone):
44158         (WebInspector.reportProtocolError):
44159
44160 2010-09-28  Philippe Normand  <pnormand@igalia.com>
44161
44162         Reviewed by Martin Robinson.
44163
44164         check USE(GSTREAMER) instead of ENABLE(VIDEO) in gstreamer/ files
44165         https://bugs.webkit.org/show_bug.cgi?id=46717
44166
44167         Guard the gstreamer/ files with USE(GSTREAMER), which is more
44168         explicit than ENABLE(VIDEO).
44169
44170         * GNUmakefile.am: Define WTF_USE_GSTREAMER only if GStreamer
44171         support is enabled.
44172         * platform/graphics/gstreamer/DataSourceGStreamer.cpp:
44173         * platform/graphics/gstreamer/DataSourceGStreamer.h:
44174         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
44175         * platform/graphics/gstreamer/GOwnPtrGStreamer.h:
44176         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
44177         * platform/graphics/gstreamer/GStreamerGWorld.h:
44178         * platform/graphics/gstreamer/ImageGStreamer.h:
44179         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
44180         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
44181         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44182         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
44183         * platform/graphics/gstreamer/PlatformVideoWindow.h:
44184         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
44185         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
44186         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
44187         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
44188         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
44189         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
44190
44191 2010-09-28  Kent Tamura  <tkent@chromium.org>
44192
44193         Unreviewed, windows build fix for r68629.
44194
44195         * WebCore.vcproj/WebCore.vcproj: Add TimeInputType.{cpp,h}
44196
44197 2010-09-28  Johnny Ding  <jnd@chromium.org>
44198
44199         Reviewed by Adam Barth.
44200
44201         https://bugs.webkit.org/show_bug.cgi?id=41292
44202         Pass the right popupAllowed flag to current execution frame,
44203         so WebKit can get right gesture status for popups initiated
44204         from plugins.
44205         This also makes v8 binding's ScriptController::processingUserGesture
44206         match what jsc version.
44207
44208         Test: plugins/plugin-initiate-popup-window.html
44209
44210         * bindings/v8/NPV8Object.cpp:
44211         (_NPN_EvaluateHelper):
44212         * bindings/v8/ScriptController.cpp:
44213         (WebCore::ScriptController::ScriptController):
44214         (WebCore::ScriptController::processingUserGesture):
44215         * bindings/v8/ScriptController.h:
44216         (WebCore::ScriptController::setAllowPopupsFromPlugin):
44217         (WebCore::ScriptController::allowPopupsFromPlugin):
44218
44219 2010-09-28  Kent Tamura  <tkent@chromium.org>
44220
44221         Reviewed by Darin Adler.
44222
44223         Refactor HTMLInputElement: Introducing InputType class and classes
44224         for each input element types.
44225         https://bugs.webkit.org/show_bug.cgi?id=45872
44226
44227         No new tests because this doesn't change any behavior.
44228
44229         * Android.mk: Add new files.
44230         * CMakeLists.txt: ditto.
44231         * GNUmakefile.am: ditto.
44232         * WebCore.gypi: ditto.
44233         * WebCore.pro: ditto.
44234         * WebCore.vcproj/WebCore.vcproj: ditto.
44235         * WebCore.xcodeproj/project.pbxproj: ditto.
44236         * html/BaseTextInputType.cpp: Added.
44237         (WebCore::BaseTextInputType::isTextType):
44238         (WebCore::BaseTextInputType::patternMismatch):
44239         * html/BaseTextInputType.h: Added.
44240         (WebCore::BaseTextInputType::BaseTextInputType):
44241         * html/ButtonInputType.cpp: Added.
44242         (WebCore::ButtonInputType::create):
44243         (WebCore::ButtonInputType::formControlType):
44244         * html/ButtonInputType.h: Added.
44245         (WebCore::ButtonInputType::ButtonInputType):
44246         * html/CheckboxInputType.cpp: Added.
44247         (WebCore::CheckboxInputType::create):
44248         (WebCore::CheckboxInputType::formControlType):
44249         * html/CheckboxInputType.h: Added.
44250         (WebCore::CheckboxInputType::CheckboxInputType):
44251         * html/ColorInputType.cpp: Added.
44252         (WebCore::ColorInputType::create):
44253         (WebCore::ColorInputType::formControlType):
44254         * html/ColorInputType.h: Added.
44255         (WebCore::ColorInputType::ColorInputType):
44256         * html/DateInputType.cpp: Added.
44257         (WebCore::DateInputType::create):
44258         (WebCore::DateInputType::formControlType):
44259         * html/DateInputType.h: Added.
44260         (WebCore::DateInputType::DateInputType):
44261         * html/DateTimeInputType.cpp: Added.
44262         (WebCore::DateTimeInputType::create):
44263         (WebCore::DateTimeInputType::formControlType):
44264         * html/DateTimeInputType.h: Added.
44265         (WebCore::DateTimeInputType::DateTimeInputType):
44266         * html/DateTimeLocalInputType.cpp: Added.
44267         (WebCore::DateTimeLocalInputType::create):
44268         (WebCore::DateTimeLocalInputType::formControlType):
44269         * html/DateTimeLocalInputType.h: Added.
44270         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
44271         * html/EmailInputType.cpp: Added.
44272         (WebCore::EmailInputType::create):
44273         (WebCore::EmailInputType::formControlType):
44274         * html/EmailInputType.h: Added.
44275         (WebCore::EmailInputType::EmailInputType):
44276         * html/FileInputType.cpp: Added.
44277         (WebCore::FileInputType::create):
44278         (WebCore::FileInputType::formControlType):
44279         * html/FileInputType.h: Added.
44280         (WebCore::FileInputType::FileInputType):
44281         * html/HTMLInputElement.cpp:
44282         (WebCore::HTMLInputElement::HTMLInputElement): Initialize m_inputType.
44283         (WebCore::HTMLInputElement::patternMismatch): Delegate to InputType.
44284         (WebCore::HTMLInputElement::updateType): Update m_inputType with new type.
44285         (WebCore::HTMLInputElement::formControlType): Delegate to InputType.
44286         (WebCore::HTMLInputElement::isTextField): ditto.
44287         (WebCore::HTMLInputElement::isTextType): ditto.
44288         * html/HTMLInputElement.h:
44289         * html/HiddenInputType.cpp: Added.
44290         (WebCore::HiddenInputType::create):
44291         (WebCore::HiddenInputType::formControlType):
44292         * html/HiddenInputType.h: Added.
44293         (WebCore::HiddenInputType::HiddenInputType):
44294         * html/ImageInputType.cpp: Added.
44295         (WebCore::ImageInputType::create):
44296         (WebCore::ImageInputType::formControlType):
44297         * html/ImageInputType.h: Added.
44298         (WebCore::ImageInputType::ImageInputType):
44299         * html/InputType.cpp: Added.
44300         (WebCore::createInputTypeFactoryMap):
44301         (WebCore::InputType::create):
44302         (WebCore::InputType::createText):
44303         (WebCore::InputType::~InputType):
44304         (WebCore::InputType::isTextField):
44305         (WebCore::InputType::isTextType):
44306         (WebCore::InputType::patternMismatch):
44307         (WebCore::InputTypeNames::button):
44308         (WebCore::InputTypeNames::checkbox):
44309         (WebCore::InputTypeNames::color):
44310         (WebCore::InputTypeNames::date):
44311         (WebCore::InputTypeNames::datetime):
44312         (WebCore::InputTypeNames::datetimelocal):
44313         (WebCore::InputTypeNames::email):
44314         (WebCore::InputTypeNames::file):
44315         (WebCore::InputTypeNames::hidden):
44316         (WebCore::InputTypeNames::image):
44317         (WebCore::InputTypeNames::isindex):
44318         (WebCore::InputTypeNames::month):
44319         (WebCore::InputTypeNames::number):
44320         (WebCore::InputTypeNames::password):
44321         (WebCore::InputTypeNames::radio):
44322         (WebCore::InputTypeNames::range):
44323         (WebCore::InputTypeNames::reset):
44324         (WebCore::InputTypeNames::search):
44325         (WebCore::InputTypeNames::submit):
44326         (WebCore::InputTypeNames::telephone):
44327         (WebCore::InputTypeNames::text):
44328         (WebCore::InputTypeNames::time):
44329         (WebCore::InputTypeNames::url):
44330         (WebCore::InputTypeNames::week):
44331         * html/InputType.h: Added.
44332         (WebCore::InputType::InputType):
44333         (WebCore::InputType::element):
44334         * html/IsIndexInputType.cpp: Added.
44335         (WebCore::IsIndexInputType::create):
44336         (WebCore::IsIndexInputType::formControlType):
44337         * html/IsIndexInputType.h: Added.
44338         (WebCore::IsIndexInputType::IsIndexInputType):
44339         * html/MonthInputType.cpp: Added.
44340         (WebCore::MonthInputType::create):
44341         (WebCore::MonthInputType::formControlType):
44342         * html/MonthInputType.h: Added.
44343         (WebCore::MonthInputType::MonthInputType):
44344         * html/NumberInputType.cpp: Added.
44345         (WebCore::NumberInputType::create):
44346         (WebCore::NumberInputType::formControlType):
44347         * html/NumberInputType.h: Added.
44348         (WebCore::NumberInputType::NumberInputType):
44349         * html/PasswordInputType.cpp: Added.
44350         (WebCore::PasswordInputType::create):
44351         (WebCore::PasswordInputType::formControlType):
44352         * html/PasswordInputType.h: Added.
44353         (WebCore::PasswordInputType::PasswordInputType):
44354         * html/RadioInputType.cpp: Added.
44355         (WebCore::RadioInputType::create):
44356         (WebCore::RadioInputType::formControlType):
44357         * html/RadioInputType.h: Added.
44358         (WebCore::RadioInputType::RadioInputType):
44359         * html/RangeInputType.cpp: Added.
44360         (WebCore::RangeInputType::create):
44361         (WebCore::RangeInputType::formControlType):
44362         * html/RangeInputType.h: Added.
44363         (WebCore::RangeInputType::RangeInputType):
44364         * html/ResetInputType.cpp: Added.
44365         (WebCore::ResetInputType::create):
44366         (WebCore::ResetInputType::formControlType):
44367         * html/ResetInputType.h: Added.
44368         (WebCore::ResetInputType::ResetInputType):
44369         * html/SearchInputType.cpp: Added.
44370         (WebCore::SearchInputType::create):
44371         (WebCore::SearchInputType::formControlType):
44372         * html/SearchInputType.h: Added.
44373         (WebCore::SearchInputType::SearchInputType):
44374         * html/SubmitInputType.cpp: Added.
44375         (WebCore::SubmitInputType::create):
44376         (WebCore::SubmitInputType::formControlType):
44377         * html/SubmitInputType.h: Added.
44378         (WebCore::SubmitInputType::SubmitInputType):
44379         * html/TelephoneInputType.cpp: Added.
44380         (WebCore::TelephoneInputType::create):
44381         (WebCore::TelephoneInputType::formControlType):
44382         * html/TelephoneInputType.h: Added.
44383         (WebCore::TelephoneInputType::TelephoneInputType):
44384         * html/TextFieldInputType.cpp: Added.
44385         (WebCore::TextFieldInputType::isTextField):
44386         * html/TextFieldInputType.h: Added.
44387         (WebCore::TextFieldInputType::TextFieldInputType):
44388         * html/TextInputType.cpp: Added.
44389         (WebCore::TextInputType::create):
44390         (WebCore::TextInputType::formControlType):
44391         * html/TextInputType.h: Added.
44392         (WebCore::TextInputType::TextInputType):
44393         * html/TimeInputType.cpp: Added.
44394         (WebCore::TimeInputType::create):
44395         (WebCore::TimeInputType::formControlType):
44396         * html/TimeInputType.h: Added.
44397         (WebCore::TimeInputType::TimeInputType):
44398         * html/URLInputType.cpp: Added.
44399         (WebCore::URLInputType::create):
44400         (WebCore::URLInputType::formControlType):
44401         * html/URLInputType.h: Added.
44402         (WebCore::URLInputType::URLInputType):
44403         * html/WeekInputType.cpp: Added.
44404         (WebCore::WeekInputType::create):
44405         (WebCore::WeekInputType::formControlType):
44406         * html/WeekInputType.h: Added.
44407         (WebCore::WeekInputType::WeekInputType):
44408
44409 2010-09-28  David Hyatt  <hyatt@apple.com>
44410
44411         Reviewed by Maciej Stachowiak.
44412
44413         https://bugs.webkit.org/show_bug.cgi?id=46782, rename the top and bottom margin quirk getters/setters.
44414
44415         Also do a bit of cleanup for block flow roots.  Make sure they don't try to propagate overhanging floats out
44416         to ancestors.
44417
44418         * rendering/RenderBlock.cpp:
44419         (WebCore::RenderBlock::layoutBlock):
44420         (WebCore::RenderBlock::collapseMargins):
44421         (WebCore::RenderBlock::setCollapsedBottomMargin):
44422         (WebCore::RenderBlock::addOverhangingFloats):
44423         * rendering/RenderObject.cpp:
44424         (WebCore::RenderObject::RenderObject):
44425         * rendering/RenderObject.h:
44426         (WebCore::RenderObject::isMarginBeforeQuirk):
44427         (WebCore::RenderObject::isMarginAfterQuirk):
44428         (WebCore::RenderObject::setMarginBeforeQuirk):
44429         (WebCore::RenderObject::setMarginAfterQuirk):
44430
44431 2010-09-28  David Hyatt  <hyatt@apple.com>
44432
44433         Reviewed by Sam Weinig.
44434
44435         https://bugs.webkit.org/show_bug.cgi?id=46780
44436         
44437         Rename the pos/neg/collapsed margin methods.  Rename all the members of the RenderBlockRareData struct.
44438         No logical changes.  Just renames.
44439
44440         * editing/TextIterator.cpp:
44441         (WebCore::shouldEmitExtraNewlineForNode):
44442         * rendering/RenderBlock.cpp:
44443         (WebCore::RenderBlock::MarginInfo::MarginInfo):
44444         (WebCore::RenderBlock::layoutBlock):
44445         (WebCore::RenderBlock::collapseMargins):
44446         (WebCore::RenderBlock::clearFloatsIfNeeded):
44447         (WebCore::RenderBlock::estimateVerticalPosition):
44448         (WebCore::RenderBlock::setCollapsedBottomMargin):
44449         (WebCore::RenderBlock::layoutBlockChild):
44450         (WebCore::RenderBlock::paintChildren):
44451         (WebCore::RenderBlock::lowestPosition):
44452         (WebCore::RenderBlock::setMaxMarginBeforeValues):
44453         (WebCore::RenderBlock::setMaxMarginAfterValues):
44454         (WebCore::RenderBlock::absoluteRects):
44455         (WebCore::RenderBlock::absoluteQuads):
44456         (WebCore::RenderBlock::rectWithOutlineForRepaint):
44457         (WebCore::RenderBlock::addFocusRingRects):
44458         * rendering/RenderBlock.h:
44459         (WebCore::RenderBlock::maxPosMarginBefore):
44460         (WebCore::RenderBlock::maxNegMarginBefore):
44461         (WebCore::RenderBlock::maxPosMarginAfter):
44462         (WebCore::RenderBlock::maxNegMarginAfter):
44463         (WebCore::RenderBlock::initMaxMarginValues):
44464         (WebCore::RenderBlock::maxMarginBefore):
44465         (WebCore::RenderBlock::maxMarginAfter):
44466         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
44467         (WebCore::RenderBlock::RenderBlockRareData::beforePosDefault):
44468         (WebCore::RenderBlock::RenderBlockRareData::beforeNegDefault):
44469         (WebCore::RenderBlock::RenderBlockRareData::afterPosDefault):
44470         (WebCore::RenderBlock::RenderBlockRareData::afterNegDefault):
44471         * rendering/RenderBox.cpp:
44472         (WebCore::RenderBox::computeLogicalHeight):
44473         * rendering/RenderBox.h:
44474         (WebCore::RenderBox::collapsedMarginBefore):
44475         (WebCore::RenderBox::collapsedMarginAfter):
44476         (WebCore::RenderBox::maxMarginBefore):
44477         (WebCore::RenderBox::maxMarginAfter):
44478         * rendering/RenderFlexibleBox.cpp:
44479         (WebCore::RenderFlexibleBox::layoutBlock):
44480
44481 2010-09-28  Kevin Ollivier  <kevino@theolliviers.com>
44482
44483         [wx] wxMSW build fix. Don't use multiple inheritance in PopupMenuWx to avoid debug build
44484         compiler error about ambiguity over which new override (wx's or FastAllocBase's) to use.
44485
44486         * platform/wx/PopupMenuWx.cpp:
44487         (WebCore::PopupMenuEventHandler::PopupMenuEventHandler):
44488         (WebCore::PopupMenuEventHandler::OnMenuItemSelected):
44489         (WebCore::PopupMenuWx::PopupMenuWx):
44490         (WebCore::PopupMenuWx::show):
44491         * platform/wx/PopupMenuWx.h:
44492
44493 2010-09-28  Xiaomei Ji  <xji@chromium.org>
44494
44495         Reviewed by NOBODY (revert unsquashed git commits)
44496
44497         Revert change sets 68583 to 68590, which are un-squashed git-commits: Performance improvement for FontLinux regarding issue 46374.
44498         https://bugs.webkit.org/show_bug.cgi?id=46374
44499
44500 2010-09-28  Marc-Antoine Ruel  <maruel@chromium.org>
44501
44502         Reviewed by Tony Chang.
44503
44504         Split webcore_html off webcore_remaining.
44505
44506         webcore_remaining is still too large for certain 32 bits toolsets.
44507         https://bugs.webkit.org/show_bug.cgi?id=46445
44508
44509         * WebCore.gyp/WebCore.gyp:
44510
44511 2010-09-28  Jia Pu  <jpu@apple.com>
44512
44513         Reviewed by Dan Bernstein.
44514
44515         Delete and forward delete shouldn't start autocorrection panel timer.
44516         https://bugs.webkit.org/show_bug.cgi?id=46679
44517         <rdar://problem/8463917>
44518
44519         * editing/TypingCommand.cpp:
44520         (WebCore::TypingCommand::markMisspellingsAfterTyping): Only start correction panel timer
44521           when the editing command is InsertText.
44522         (WebCore::TypingCommand::typingAddedToOpenCommand): Add an argument to pass in command type.
44523
44524         * editing/TypingCommand.h: Add an argument to typingAddedToOpenCommand().
44525
44526 2010-09-28  Mihai Parparita  <mihaip@chromium.org>
44527
44528         Reviewed by Dimitri Glazkov.
44529
44530         No back/forward list entry added when submitting a form via an onclick handler inside a frame
44531         https://bugs.webkit.org/show_bug.cgi?id=44140
44532         
44533         Lock the back/forward list for JavaScript form submissions inside frames
44534         only if they're not in response to user gestures.
44535
44536         Tests: fast/history/form-submit-in-frame-via-onclick.html
44537                fast/history/form-submit-in-frame.html
44538
44539         * loader/RedirectScheduler.cpp:
44540         (WebCore::RedirectScheduler::scheduleFormSubmission):
44541
44542 2010-09-28  David Hyatt  <hyatt@apple.com>
44543
44544         Reviewed by Sam Weinig.
44545
44546         Fix typo in previous checkin.
44547
44548         * rendering/RenderBlock.cpp:
44549         (WebCore::RenderBlock::MarginInfo::MarginInfo):
44550
44551 2010-09-28  Nat Duca  <nduca@chromium.org>
44552
44553         Reviewed by James Robinson.
44554
44555         [chromium] invalidateRootLayerRect needs to schedule compositor
44556         https://bugs.webkit.org/show_bug.cgi?id=46219
44557
44558         Update comments on LayerChromium commit/display functions to clarify
44559         their limitations. Remove unused dirtying logic from 
44560         LayerRendererChromium.
44561
44562         * platform/graphics/chromium/LayerChromium.cpp:
44563         (WebCore::LayerChromium::setNeedsCommit):
44564         (WebCore::LayerChromium::setNeedsDisplay):
44565         * platform/graphics/chromium/LayerRendererChromium.cpp:
44566         (WebCore::LayerRendererChromium::LayerRendererChromium):
44567         (WebCore::LayerRendererChromium::present):
44568         * platform/graphics/chromium/LayerRendererChromium.h:
44569
44570 2010-09-28  Jenn Braithwaite  <jennb@chromium.org>
44571
44572         Reviewed by Dmitry Titov.
44573
44574         Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
44575         https://bugs.webkit.org/show_bug.cgi?id=46663
44576
44577         No new tests. API addition only. Will be used in separate patch.
44578
44579         * loader/EmptyClients.h:
44580         (WebCore::EmptyFrameLoaderClient::didTransferChildFrameToNewDocument):
44581         * loader/FrameLoaderClient.h:
44582         * page/Frame.cpp:
44583         (WebCore::Frame::transferChildFrameToNewDocument):
44584         Pass former page to didTransferChildFrameToNewDocument.
44585
44586 2010-09-28  W. James MacLean  <wjmaclean@chromium.org>
44587
44588         Reviewed by James Robinson.
44589
44590         Scaled Resized images are blurred when sent to Skia
44591         https://bugs.webkit.org/show_bug.cgi?id=42370
44592
44593         This patch modifies ImageSkia.cpp to fix the calculation of resampled
44594         bitmap sizes so as to include the transform matrix of the canvas.
44595
44596         Test: svg/custom/image-rescale.svg
44597
44598         * platform/graphics/skia/ImageSkia.cpp:
44599         (WebCore::computeResamplingMode):
44600         (WebCore::drawResampledBitmap):
44601
44602 2010-09-28  James Robinson  <jamesr@chromium.org>
44603
44604         [chromium] Decrease warning level on chromium linux temporarily. This is causing failures on some bots
44605
44606         * WebCore.gyp/WebCore.gyp:
44607
44608 2010-09-27  James Robinson  <jamesr@chromium.org>
44609
44610         Reviewed by Tony Chang.
44611
44612         [chromium] Increase warning level for chromium linux build
44613         https://bugs.webkit.org/show_bug.cgi?id=46687
44614
44615         This sets the chromium_code gyp variable to 1 for the chromium
44616         linux WebCore build and fixes the warnings that exposes.  This
44617         matches the chromium mac build's compiler settings more closely
44618         and should cut down on the number of patches that break mac but
44619         compile cleaning on linux.
44620
44621         * WebCore.gyp/WebCore.gyp:
44622         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
44623         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
44624         * platform/graphics/chromium/FontLinux.cpp:
44625         (WebCore::TextRunWalker::nextScriptRun):
44626         (WebCore::TextRunWalker::getTextRun):
44627         (WebCore::TextRunWalker::getNormalizedTextRun):
44628         (WebCore::TextRunWalker::setGlyphXPositions):
44629         (WebCore::glyphIndexForXPositionInScriptRun):
44630         (WebCore::Font::offsetForPositionForComplexText):
44631         (WebCore::Font::selectionRectForComplexText):
44632         * platform/graphics/chromium/HarfbuzzSkia.cpp:
44633         (WebCore::getOutlinePoint):
44634         * platform/graphics/chromium/LayerRendererChromium.cpp:
44635         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
44636         * platform/graphics/gpu/Texture.cpp:
44637         (WebCore::copySubRect):
44638         * platform/graphics/skia/PlatformContextSkia.cpp:
44639         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
44640         * platform/image-decoders/gif/GIFImageDecoder.cpp:
44641         (WebCore::GIFImageDecoder::setSize):
44642         * platform/image-decoders/gif/GIFImageDecoder.h:
44643
44644 2010-09-28  Stephen White  <senorblanco@chromium.org>
44645
44646         Reviewed by Csaba Osztrogonác.
44647
44648         Fix for r68521 to build on VS2008/Release.
44649
44650         * html/DocTypeStrings.gperf:
44651         Don't emit "#include <string.h>" here, since we're inside a namespace.
44652         * make-hash-tools.pl:
44653         Emit #include <string.h> manually where required.
44654         * platform/ColorData.gperf:
44655         Don't emit "#include <string.h>" here, since we're inside a namespace.
44656
44657 2010-09-28  David Hyatt  <hyatt@apple.com>
44658
44659         Reviewed by Sam Weinig.
44660
44661         Right now we have two properties named margin-top-collapse and margin-after-collapse.  They are proprietary and only used by Safari RSS.
44662
44663         I am adding margin-before-collapse and margin-after-collapse and just aliasing the old properties to the new ones.
44664         This way we have some names that are directionally independent.
44665
44666         Note that these properties aren't like other directional properties.  They are about what to do with the before side and after side of
44667         your block's margins when collapsing with adjacent blocks.  The meaning of before/after depend on the block-flow directionality
44668         of the containing block.
44669
44670         Computed style tests all changed and the remove-shorthand.html test covers manipulation of the shorthand.
44671
44672         * css/CSSComputedStyleDeclaration.cpp:
44673         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
44674         * css/CSSParser.cpp:
44675         (WebCore::CSSParser::parseValue):
44676         * css/CSSPropertyLonghand.cpp:
44677         (WebCore::initShorthandMap):
44678         * css/CSSPropertyNames.in:
44679         * css/CSSStyleSelector.cpp:
44680         (WebCore::CSSStyleSelector::applyProperty):
44681         * rendering/RenderBlock.cpp:
44682         (WebCore::RenderBlock::MarginInfo::MarginInfo):
44683         (WebCore::RenderBlock::isSelfCollapsingBlock):
44684         (WebCore::RenderBlock::collapseMargins):
44685         (WebCore::RenderBlock::layoutBlockChild):
44686         * rendering/style/RenderStyle.cpp:
44687         (WebCore::RenderStyle::diff):
44688         * rendering/style/RenderStyle.h:
44689         (WebCore::InheritedFlags::marginBeforeCollapse):
44690         (WebCore::InheritedFlags::marginAfterCollapse):
44691         (WebCore::InheritedFlags::setMarginBeforeCollapse):
44692         (WebCore::InheritedFlags::setMarginAfterCollapse):
44693         (WebCore::InheritedFlags::initialMarginBeforeCollapse):
44694         (WebCore::InheritedFlags::initialMarginAfterCollapse):
44695         * rendering/style/StyleRareNonInheritedData.cpp:
44696         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
44697         (WebCore::StyleRareNonInheritedData::operator==):
44698         * rendering/style/StyleRareNonInheritedData.h:
44699
44700 2010-09-28  Martin Robinson  <mrobinson@igalia.com>
44701
44702         Reviewed by Gustavo Noronha Silva.
44703
44704         [Cairo] FreeType fonts should obey FontConfig hinting/anti-aliasing settings
44705         https://bugs.webkit.org/show_bug.cgi?id=46740
44706
44707         When creating a font from a FontConfig pattern, use the FontConfig pattern's
44708         hinting and anti-aliasing settings. This follows the Chromium Linux approach
44709         of having FontConfig settings take precedence over GTK+ settings, as GTK+
44710         settings cannot be configured per-font and per-font-size.
44711
44712         Test: platform/gtk/fonts/fontconfig-aliasing-settings.html
44713
44714         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
44715         (WebCore::convertFontConfigSubpixelOrder): Added this helper which converts
44716         the FontConfig subpixel order into the cairo equivalent.
44717         (WebCore::convertFontConfigHintStyle): Added this helper which converts the
44718         FontConfig hint style into the cairo equivalent.
44719         (WebCore::setCairoFontOptionsFromFontConfigPattern): Added this helper which
44720         reads the font rendering settings from a pattern and translates them into the
44721         appropriate cairo_font_options_t settings.
44722         (WebCore::FontPlatformData::FontPlatformData): When creating a font from a
44723         FontConfig pattern use setCairoFontOptionsFromFontConfigPattern to get the
44724         appropriate rendering options for the font.
44725
44726 2010-09-28  Sam Weinig  <sam@webkit.org>
44727
44728         Reviewed by Darin Adler and Dave Hyatt.
44729
44730         Vertical scroll bar on apple.com is too short with WebKit2
44731         <rdar://problem/8379230>
44732         https://bugs.webkit.org/show_bug.cgi?id=46739
44733
44734         Adds a function to recalculate the scrollbars to take advantage of
44735         a changed window re-sizer rect.
44736
44737         * WebCore.exp.in:
44738         * platform/ScrollView.cpp:
44739         (WebCore::ScrollView::windowResizerRectChanged):
44740         * platform/ScrollView.h:
44741
44742 2010-09-28  David Hyatt  <hyatt@apple.com>
44743
44744         Reviewed by Sam Weinig.
44745
44746         https://bugs.webkit.org/show_bug.cgi?id=46750
44747         
44748         Rename the MarginInfo members and functions to be block-flow independent.
44749
44750         * rendering/RenderBlock.cpp:
44751         (WebCore::RenderBlock::MarginInfo::MarginInfo):
44752         (WebCore::RenderBlock::adjustPositionedBlock):
44753         (WebCore::RenderBlock::adjustFloatingBlock):
44754         (WebCore::RenderBlock::collapseMargins):
44755         (WebCore::RenderBlock::clearFloatsIfNeeded):
44756         (WebCore::RenderBlock::estimateVerticalPosition):
44757         (WebCore::RenderBlock::setCollapsedBottomMargin):
44758         (WebCore::RenderBlock::handleBottomOfBlock):
44759         (WebCore::RenderBlock::layoutBlockChild):
44760         (WebCore::RenderBlock::applyAfterBreak):
44761         * rendering/RenderBlock.h:
44762         (WebCore::RenderBlock::MarginInfo::setAtBeforeSideOfBlock):
44763         (WebCore::RenderBlock::MarginInfo::setAtAfterSideOfBlock):
44764         (WebCore::RenderBlock::MarginInfo::setMarginBeforeQuirk):
44765         (WebCore::RenderBlock::MarginInfo::setMarginAfterQuirk):
44766         (WebCore::RenderBlock::MarginInfo::setDeterminedMarginBeforeQuirk):
44767         (WebCore::RenderBlock::MarginInfo::atBeforeSideOfBlock):
44768         (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginBefore):
44769         (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginAfter):
44770         (WebCore::RenderBlock::MarginInfo::canCollapseMarginBeforeWithChildren):
44771         (WebCore::RenderBlock::MarginInfo::canCollapseMarginAfterWithChildren):
44772         (WebCore::RenderBlock::MarginInfo::determinedMarginBeforeQuirk):
44773         (WebCore::RenderBlock::MarginInfo::marginBeforeQuirk):
44774         (WebCore::RenderBlock::MarginInfo::marginAfterQuirk):
44775
44776 2010-09-28  Dan Bernstein  <mitz@apple.com>
44777
44778         Reviewed by Darin Adler.
44779
44780         Improved the handling of soft hyphens in Copy and Find operations, addressing the following
44781         bugs:
44782
44783         <rdar://problem/7938878> Soft hyphenation and the clipboard
44784         https://bugs.webkit.org/show_bug.cgi?id=11154
44785
44786         window.getSelection().toString() breaks soft hyphen &shy;
44787         https://bugs.webkit.org/show_bug.cgi?id=26774
44788
44789         <rdar://problem/5640505> soft hyphen breaks search function
44790         https://bugs.webkit.org/show_bug.cgi?id=16675
44791
44792         Test: fast/text/find-soft-hyphen.html
44793
44794         Changed line layout code to not skip over soft hyphens but rather include them in the text
44795         boxes. Changed font code to render the soft hyphen character as a zero width space, so that
44796         the former change will not affect rendering of soft hyphens in the middle of the line. Also
44797         changed line layout code to mark text boxes where hyphenation occurred due to a soft hyphen
44798         as hyphenated, so that the hyphen string specified in CSS will be appended to them.
44799
44800         Not omitting the soft hyphens from the text boxes makes the text iterator emit them, which
44801         solves the Copy and plain-text conversion issues. Previously, the iterator would emit a space
44802         to account for non-rendered characters between adjacent boxes, which was wrong in this case.
44803
44804         To make Find work, soft hyphens are folded into 0, which is ignorable in the collation used
44805         for Find.
44806
44807         * editing/TextIterator.cpp:
44808         (WebCore::foldQuoteMarkOrSoftHyphen): Renamed foldQuoteMark() to this and added folding of
44809         soft hyphen to 0.
44810         (WebCore::foldQuoteMarksAndSoftHyphens): Renamed foldQuoteMarks() to thid and added folding
44811         of soft hyphen to 0.
44812         (WebCore::SearchBuffer::SearchBuffer): Updated for renames.
44813         (WebCore::SearchBuffer::append): Ditto.
44814         * platform/graphics/Font.h:
44815         (WebCore::Font::treatAsSpace): Replaced number literal with name.
44816         (WebCore::Font::treatAsZeroWidthSpace): Added softHyphen.
44817         * platform/graphics/GlyphPageTreeNode.cpp:
44818         (WebCore::GlyphPageTreeNode::initializePage): Get the zero width space glyph for soft hyphen.
44819         * platform/graphics/mac/ComplexTextController.cpp:
44820         (WebCore::ComplexTextController::collectComplexTextRuns): Removed special handling that made
44821         a trailing soft hyphen render as hyphen-minus. All soft hyphens are now rendered as zero width
44822         spaces, and where a line break actually occurs at a soft hyphen, rendering code appends the
44823         CSS-specified hyphenate character to the text run that is passed to us here.
44824         * rendering/RenderBlockLineLayout.cpp:
44825         (WebCore::chopMidpointsAt): Removed this function, which was only used for skipping over soft
44826         hyphens.
44827         (WebCore::checkMidpoints): Removed code related to skipping over soft hyphens.
44828         (WebCore::RenderBlock::findNextLineBreak): Removed code to skip over soft hyphens. Ignore
44829         a line break opportunity at a soft hyphen if the style specifies 'hyphens: none'. Set
44830         'hyphenated' to true if a line break occurs at a soft hyphen.
44831         * rendering/style/RenderStyle.cpp:
44832         (WebCore::RenderStyle::hyphenString): Changed the assertion to allow querying for the hyphen
44833         string for 'hyphens: manual'.
44834
44835 2010-09-28  Martin Robinson  <mrobinson@igalia.com>
44836
44837         More GTK+ build fixes after r68521.
44838
44839         * GNUmakefile.am: Added proper dependency tracking for some
44840         new autogenerated files.
44841
44842 2010-09-28  Andreas Kling  <andreas.kling@nokia.com>
44843
44844         Reviewed by Kenneth Rohde Christiansen.
44845
44846         [Qt] Text drawing taints GraphicsContext's QPainter::pen()
44847         https://bugs.webkit.org/show_bug.cgi?id=46744
44848
44849         Test: fast/canvas/canvas-style-intact-after-text.html
44850
44851         * platform/graphics/qt/FontQt.cpp:
44852         (WebCore::drawTextCommon): Make sure the QPainter's pen is
44853         restored after filling and/or stroking text.
44854
44855 2010-09-28  Jia Pu  <jpu@apple.com>
44856
44857         Reviewed by Dan Bernstein.
44858
44859         Autocorrection panel is shown at incorrect location when WebView is scrolled.
44860         https://bugs.webkit.org/show_bug.cgi?id=46531
44861         <rdar://problem/8455376>
44862
44863         * dom/Range.h: Make getBorderAndTextQuads() public so that it can be used by Editor.
44864         * editing/Editor.cpp:
44865         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced call to textQuads()
44866           with getBorderAndTextQuads().
44867
44868 2010-09-28  Andrei Popescu  <andreip@google.com>
44869
44870         Reviewed by Jeremy Orlow.
44871
44872         IDBRequest should not have a method called abort.
44873         https://bugs.webkit.org/show_bug.cgi?id=46720
44874
44875         IDBRequest::abort() was dropped from the spec following discussion in
44876         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10165
44877
44878         * storage/IDBRequest.cpp:
44879         (WebCore::IDBRequest::IDBRequest):
44880         (WebCore::IDBRequest::~IDBRequest):
44881         (WebCore::IDBRequest::resetReadyState):
44882         (WebCore::IDBRequest::timerFired):
44883         (WebCore::IDBRequest::scheduleEvent):
44884         * storage/IDBRequest.h:
44885         * storage/IDBRequest.idl:
44886
44887 2010-09-28  Chris Fleizach  <cfleizach@apple.com>
44888
44889         Reviewed by Beth Dakin.
44890
44891         CrashTracer: 1,382 crashes in Safari at com.apple.WebCore: WebCore::VisiblePosition::canonicalPosition + 78
44892         https://bugs.webkit.org/show_bug.cgi?id=45927
44893
44894         AXTextMarkers store pointers to Nodes without any retain or reference. If a Node is deallocated and then
44895         a client tries to use a text marker that references that node, it leads to this crash.
44896
44897         The AXObjectCache instance now keeps a HashSet of Node's being used. When a node becomes deallocated, it removes itself
44898         from the HashSet. When creating a VisiblePosition from an AXTextMarker, the cache can then check if the node is valid
44899         before proceeding.
44900
44901         Test: platform/mac/accessibility/crash-invalid-text-marker-node.html
44902
44903         * accessibility/AXObjectCache.cpp:
44904         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
44905         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
44906             Modify to check whether a node is valid before proceeeding.
44907         * accessibility/AXObjectCache.h:
44908         (WebCore::AXObjectCache::setNodeInUse):
44909         (WebCore::AXObjectCache::removeNodeForUse):
44910         (WebCore::AXObjectCache::isNodeInUse):
44911             Methods for managing whether a node is in use by text markers.
44912         * accessibility/mac/AccessibilityObjectWrapper.mm:
44913         (textMarkerForVisiblePosition):
44914         (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
44915         (visiblePositionForTextMarker):
44916         (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
44917         (visiblePositionForStartOfTextMarkerRange):
44918         (visiblePositionForEndOfTextMarkerRange):
44919         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
44920         (textMarkerRangeFromVisiblePositions):
44921         (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
44922         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
44923         (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
44924         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
44925         (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
44926         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
44927              Change these calls so that the axObjectCache() can be passed in to create the visible position.
44928         * dom/Document.cpp:
44929         (WebCore::Document::axObjectCacheExists):
44930         * dom/Document.h:
44931         * dom/Node.cpp:
44932         (WebCore::Node::~Node):
44933              If accessibility is enabled, inform the axObjectCache() that this node is disappearing.
44934
44935 2010-09-28  Chris Rogers  <crogers@google.com>
44936
44937         Reviewed by Kenneth Russell.
44938
44939         Add AudioDestinationNode files
44940         https://bugs.webkit.org/show_bug.cgi?id=45009
44941
44942         No new tests since audio API is not yet implemented.
44943
44944         * webaudio/AudioDestinationNode.cpp: Added.
44945         (WebCore::AudioDestinationNode::AudioDestinationNode):
44946         (WebCore::AudioDestinationNode::~AudioDestinationNode):
44947         (WebCore::AudioDestinationNode::initialize):
44948         (WebCore::AudioDestinationNode::uninitialize):
44949         (WebCore::AudioDestinationNode::provideInput):
44950         * webaudio/AudioDestinationNode.h: Added.
44951         (WebCore::AudioDestinationNode::create):
44952         (WebCore::AudioDestinationNode::process):
44953         (WebCore::AudioDestinationNode::reset):
44954         (WebCore::AudioDestinationNode::currentTime):
44955         (WebCore::AudioDestinationNode::sampleRate):
44956         (WebCore::AudioDestinationNode::numberOfChannels):
44957         * webaudio/AudioDestinationNode.idl: Added.
44958
44959 2010-09-28  Chris Rogers  <crogers@google.com>
44960
44961         Reviewed by Kenneth Russell.
44962
44963         audio engine: audio output classes
44964         https://bugs.webkit.org/show_bug.cgi?id=34716
44965
44966         No new tests since audio API is not yet implemented.
44967
44968         * platform/audio/AudioDestination.h: Added.
44969         (WebCore::AudioDestination::~AudioDestination):
44970         * platform/audio/mac/AudioDestinationMac.cpp: Added.
44971         (WebCore::AudioDestination::create):
44972         (WebCore::AudioDestination::hardwareSampleRate):
44973         (WebCore::AudioDestinationMac::AudioDestinationMac):
44974         (WebCore::AudioDestinationMac::~AudioDestinationMac):
44975         (WebCore::AudioDestinationMac::configure):
44976         (WebCore::AudioDestinationMac::start):
44977         (WebCore::AudioDestinationMac::stop):
44978         (WebCore::AudioDestinationMac::render):
44979         (WebCore::AudioDestinationMac::inputProc):
44980         * platform/audio/mac/AudioDestinationMac.h: Added.
44981         (WebCore::AudioDestinationMac::isPlaying):
44982         (WebCore::AudioDestinationMac::sampleRate):
44983
44984 2010-09-28  Chris Rogers  <crogers@google.com>
44985
44986         Reviewed by Kenneth Russell.
44987
44988         Add AudioGain files
44989         https://bugs.webkit.org/show_bug.cgi?id=46285
44990
44991         No new tests since audio API is not yet implemented.
44992
44993         * webaudio/AudioGain.h: Added.
44994         (WebCore::AudioGain::create):
44995         (WebCore::AudioGain::AudioGain):
44996         * webaudio/AudioGain.idl: Added.
44997
44998 2010-09-28  Chris Rogers  <crogers@google.com>
44999
45000         Reviewed by Kenneth Russell.
45001
45002         Fix possible illegal float values in AudioParam
45003         https://bugs.webkit.org/show_bug.cgi?id=46681
45004
45005         No new tests since audio API is not yet implemented.
45006
45007         * webaudio/AudioParam.h:
45008         (WebCore::AudioParam::setValue):
45009
45010 2010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45011
45012         Reviewed by Simon Hausmann.
45013
45014         [Qt] Rename member variable in MediaPlayerPrivateQt 
45015
45016         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
45017         * platform/graphics/qt/MediaPlayerPrivateQt.h:
45018
45019 2010-09-28  Andras Becsi  <abecsi@webkit.org>
45020
45021         [Gtk] Build fix. Remove leftover trailing backslash.
45022
45023         * GNUmakefile.am:
45024
45025 2010-09-28  Andras Becsi  <abecsi@webkit.org>
45026
45027         Unreviewed.
45028
45029         [Gtk] Build fix after r68521
45030
45031         No new tests needed.
45032
45033         * GNUmakefile.am:
45034
45035 2010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45036
45037         Reviewed by Andreas Kling.
45038
45039         [Qt] Rename MediaPlayerPrivate to MediaPlayerPrivateQt/Phonon
45040
45041         https://bugs.webkit.org/show_bug.cgi?id=36663
45042
45043         * platform/graphics/MediaPlayer.cpp:
45044         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
45045         * platform/graphics/qt/MediaPlayerPrivateQt.h:
45046         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
45047         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
45048
45049 2010-09-28  Andras Becsi  <abecsi@webkit.org>
45050
45051         Reviewed by Csaba Osztrogonác.
45052
45053         Undefined reference errors when linking due to gperf and inlining.
45054         webkit.org/b/29244
45055
45056         EFL CMake changes by Leandro Pereira <leandro@profusion.mobi>
45057
45058         Refactor gperf code generation and usage to fix the debug build with gcc>4.4.
45059         Hitherto gperf generated C code, these files were included in multiple C++ files across WebCore
45060         to access the functionality provided. This resulted in debug build failure with newer gcc versions
45061         because of a behaviour change of gcc, which disables C style inlining in debug mode.
45062         The make-hash-tools.pl script lets gperf generate C++ code for all gperf files now, which are compiled
45063         in their own compilation unit.
45064         The functionality provided by the generated code is wrapped behind HashTools.h, so there is no need
45065         for multiple inclusions of generated C files to access these functions.
45066
45067         No new tests needed.
45068
45069         * CMakeLists.txt:
45070         * WebCore.gyp/WebCore.gyp:
45071         * WebCore.pri:
45072         * WebCore.vcproj/WebCore.vcproj:
45073         * WebCore.xcodeproj/project.pbxproj:
45074         * css/CSSParser.cpp:
45075         * css/makeprop.pl:
45076         * css/makevalues.pl:
45077         * html/DocTypeStrings.gperf:
45078         * html/HTMLDocument.cpp:
45079         * make-hash-tools.pl:
45080         * platform/ColorData.gperf:
45081         * platform/graphics/Color.cpp:
45082
45083 2010-09-28  Andreas Kling  <andreas.kling@nokia.com>
45084
45085         Reviewed by Kenneth Rohde Christiansen.
45086
45087         Canvas: Crash when setting a font with size in 'ex' units
45088         https://bugs.webkit.org/show_bug.cgi?id=46538
45089
45090         update() the style's font after setting the style's font description.
45091         Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
45092         that the style's font is properly initialized (for xHeight().)
45093
45094         Fixes crash on IE test center's canvas-text-font-002 test.
45095
45096         * html/canvas/CanvasRenderingContext2D.cpp:
45097         (WebCore::CanvasRenderingContext2D::setFont):
45098
45099 2010-09-28  Benjamin Poulain  <benjamin.poulain@nokia.com>
45100
45101         Reviewed by Kenneth Rohde Christiansen.
45102
45103         [Qt] Remove support for Qt 4.5
45104         https://bugs.webkit.org/show_bug.cgi?id=46718
45105
45106         Remove the code for versions of Qt prior to 4.6.
45107
45108         * WebCore.pro:
45109         * features.pri:
45110         * platform/network/qt/QNetworkReplyHandler.cpp:
45111         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
45112         (WebCore::QNetworkReplyHandler::start):
45113         * platform/network/qt/ResourceRequestQt.cpp:
45114         (WebCore::ResourceRequest::toNetworkRequest):
45115         * platform/qt/QWebPageClient.h:
45116
45117 2010-09-28  Kent Tamura  <tkent@chromium.org>
45118
45119         Unreviewed, run sort-Xcode-project-file
45120
45121         * WebCore.xcodeproj/project.pbxproj:
45122
45123 2010-09-28  Huahui Wu  <mediadependent@gmail.com>
45124
45125         Reviewed by Steve Block.
45126
45127         Add multi-touch for Android.
45128         https://bugs.webkit.org/show_bug.cgi?id=45221
45129
45130         The Android touch event used to take one point as the touch point,
45131         it's now changed to a vector of points to support multi-touch.
45132
45133         Tests: fast/events/touch/basic-multi-touch-events-limited.html
45134                fast/events/touch/touch-target-limited.html
45135
45136         * platform/PlatformTouchEvent.h:
45137         * platform/PlatformTouchPoint.h:
45138         * platform/android/PlatformTouchEventAndroid.cpp:
45139         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
45140         * platform/android/PlatformTouchPointAndroid.cpp:
45141         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
45142
45143 2010-09-27  Kent Tamura  <tkent@chromium.org>
45144
45145         Reviewed by Alexey Proskuryakov.
45146
45147         Fix assertion failure in a case that the dirty flag of a textarea element is changed
45148         https://bugs.webkit.org/show_bug.cgi?id=45681
45149
45150         We need to call setNeedsValidityCheck() after updating m_isDirty.
45151
45152         Test: fast/forms/textarea-checkValidity-crash.html
45153
45154         * html/HTMLTextAreaElement.cpp:
45155         (WebCore::HTMLTextAreaElement::setValue):
45156         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
45157         (WebCore::HTMLTextAreaElement::setValueCommon):
45158         * html/HTMLTextAreaElement.h:
45159
45160 2010-09-27  Abhishek Arya  <inferno@chromium.org>
45161
45162         Reviewed by Dan Bernstein.
45163
45164         When the block RunIn is destroyed, its line box tree is not deleted. As a result, it
45165         gets later used during dirtying of inline text boxes step where this deleted parent is
45166         accessed. The fix is to delete the line box tree before destroying the runin block.
45167
45168         https://bugs.webkit.org/show_bug.cgi?id=46376
45169
45170         Test: fast/text/dirty-inline-textbox-crash.html
45171
45172         * rendering/RenderText.cpp:
45173         (WebCore::RenderText::dirtyLineBoxes):
45174
45175 2010-09-27  Eric Uhrhane  <ericu@chromium.org>
45176
45177         Reviewed by David Levin.
45178
45179         Fix event sequencing in FileWriter
45180         https://bugs.webkit.org/show_bug.cgi?id=46544
45181
45182         Only set readyState to DONE when we're about to send the last progress
45183         event associated with an operation.  Make sure all progress events come
45184         from backend calls, and aren't ever fired synchronously in response to
45185         user JS method calls.
45186
45187         No new tests, as none of this is fully implemented yet.
45188
45189         * fileapi/FileWriter.cpp:
45190         (WebCore::FileWriter::write):
45191         (WebCore::FileWriter::truncate):
45192         (WebCore::FileWriter::abort):
45193         (WebCore::FileWriter::didWrite):
45194         (WebCore::FileWriter::didTruncate):
45195         (WebCore::FileWriter::didFail):
45196
45197 2010-09-27  Chris Rogers  <crogers@google.com>
45198
45199         Reviewed by James Robinson.
45200
45201         Add HRTFDatabase files
45202         https://bugs.webkit.org/show_bug.cgi?id=46233
45203
45204         No new tests since audio API is not yet implemented.
45205
45206         * platform/audio/HRTFDatabase.cpp: Added.
45207         (WebCore::HRTFDatabase::create):
45208         (WebCore::HRTFDatabase::HRTFDatabase):
45209         (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
45210         (WebCore::HRTFDatabase::indexFromElevationAngle):
45211         * platform/audio/HRTFDatabase.h: Added.
45212         (WebCore::HRTFDatabase::numberOfAzimuths):
45213         (WebCore::HRTFDatabase::sampleRate):
45214
45215 2010-09-27  Alpha Lam  <hclam@chromium.org>
45216
45217         Build fix. Not reviewed.
45218
45219         Move constant definitions to VideoLayerChromium.cpp.
45220         A proper fix should come later.
45221
45222         * platform/graphics/chromium/VideoLayerChromium.cpp:
45223
45224 2010-09-23  Antonio Gomes  <agomes@rim.com>
45225
45226         Reviewed by Kenneth Rohde Christiansen.
45227
45228         Make Document::nodesFromRect more flexible
45229         https://bugs.webkit.org/show_bug.cgi?id=46336
45230
45231         The patch changes the API for the Document::nodesFromRect() method as follows:
45232         
45233         from
45234         - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned horizontalPadding, unsigned verticalPadding, bool ignoreClipping)
45235         to
45236         - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding,
45237                                          unsigned leftPadding, bool ignoreClipping)
45238
45239         Previously the method was receiving as parameter horizontal and vertical padding values.
45240         In practice, the horizontal padding was being used to expand a given center point in both
45241         right and left directions, while vertical padding was expanding it to the top and bottom directions.
45242
45243         Although this design makes it possible to improve the touch experience on mobile devices
45244         (Document::nodesFromRect exposes the rect based hit testing system), empirical experiments
45245         showed that, specially in capacitive touch screens, users tend to tap below elements. So
45246         for even more accurate results (which means here the possibility of pleasant tapping experience),
45247         it makes sense to use a region that is offset more above the touch point, favoring elements
45248         above the touch point.
45249
45250         The patch basically implements that, increasing the API flexible and power by making it possible
45251         to specify different padding values for each direction in a given orientation.
45252
45253         Changes were made accordingly to the HitTestResult, RenderLayer, RenderImage and RenderLineBoxList
45254         classes.
45255
45256         WebCore:
45257
45258         * WebCore.exp.in:
45259         * dom/Document.h: API adjustment.
45260         * dom/Document.idl: Ditto.
45261         * dom/Document.cpp: API adjustment and method body implementation accordingly.
45262         (WebCore::Document::nodesFromRect):
45263         * page/EventHandler.cpp:
45264         (WebCore::EventHandler::hitTestResultAtPoint): For simplicity, I did not change the signature
45265             but the way the padding value passed in as parameter is being used to construct a HitTestResult.
45266         * rendering/HitTestResult.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
45267         (WebCore::HitTestResult::HitTestResult): Ditto.
45268         (WebCore::HitTestResult::operator=): Ditto.
45269         (WebCore::HitTestResult::rectFromPoint): Ditto.
45270         * rendering/HitTestResult.h:
45271         (WebCore::HitTestResult::topPadding): getter for the top padding.
45272         (WebCore::HitTestResult::rightPadding): getter for the right padding.
45273         (WebCore::HitTestResult::bottomPadding): getter for the bottom padding.
45274         (WebCore::HitTestResult::leftPadding): getter for the left padding.
45275         (WebCore::HitTestResult::rectFromPoint): Added a static method that given a center point and padding values for each direction,
45276             returns the rect that is going to be used in WebCore's hit testing processing.
45277         * rendering/RenderImage.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
45278         (WebCore::RenderImage::nodeAtPoint): Ditto.
45279         * rendering/RenderLayer.cpp: Ditto.
45280         (WebCore::RenderLayer::hitTestLayer): Ditto.
45281         (WebCore::RenderLayer::hitTestList): Ditto.
45282         * rendering/RenderLineBoxList.cpp: Ditto.
45283         (WebCore::RenderLineBoxList::hitTest): Ditto.
45284
45285 2010-09-27  Chris Rogers  <crogers@google.com>
45286
45287         Reviewed by James Robinson.
45288
45289         Add HRTFDatabaseLoader files
45290         https://bugs.webkit.org/show_bug.cgi?id=46234
45291
45292         No new tests since audio API is not yet implemented.
45293
45294         * platform/audio/HRTFDatabaseLoader.cpp: Added.
45295         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
45296         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
45297         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
45298         (WebCore::databaseLoaderEntry):
45299         (WebCore::HRTFDatabaseLoader::load):
45300         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
45301         (WebCore::HRTFDatabaseLoader::isLoaded):
45302         (WebCore::HRTFDatabaseLoader::defaultHRTFDatabase):
45303         * platform/audio/HRTFDatabaseLoader.h: Added.
45304         (WebCore::HRTFDatabaseLoader::database):
45305         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
45306
45307 2010-09-27  Ryosuke Niwa  <rniwa@webkit.org>
45308
45309         Reviewed by Darin Adler.
45310
45311         queryCommandState with justifyCenter, justifyLeft, and justifyRight always return false
45312         https://bugs.webkit.org/show_bug.cgi?id=45910
45313
45314         Implemented queryCommandState for justifyCenter, justifyLeft, and justifyRight commands.
45315         Added getTextAlignment to convert -webkit-center, -webkit-left, and -webkit-right to
45316         center, left, and right respectively because they can be treated equally for editing purposes.
45317
45318         Test: editing/execCommand/query-text-alignment.html
45319
45320         * editing/ApplyStyleCommand.cpp:
45321         (WebCore::getTextAlignment): Added.
45322         (WebCore::getPropertiesNotIn): Uses getTextAlignment.
45323         * editing/EditorCommand.cpp:
45324         (WebCore::stateJustifyCenter): Added.
45325         (WebCore::stateJustifyLeft): Added.
45326         (WebCore::stateJustifyRight): Added.
45327         (WebCore::createCommandMap): Refers to stateJustifyCenter, stateJustifyLeft, and stateJustifyRight.
45328
45329 2010-09-27  Alpha Lam  <hclam@chromium.org>
45330
45331         Unreviewed. Build fix.
45332
45333         Reorder member declarations and fix other warnings.
45334
45335         * platform/graphics/chromium/VideoLayerChromium.cpp:
45336         (WebCore::VideoLayerChromium::VideoLayerChromium):
45337         (WebCore::VideoLayerChromium::~VideoLayerChromium):
45338         (WebCore::VideoLayerChromium::updateContents):
45339         (WebCore::VideoLayerChromium::determineTextureFormat):
45340         (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
45341         * platform/graphics/chromium/VideoLayerChromium.h:
45342
45343 2010-09-27  Kenneth Russell  <kbr@google.com>
45344
45345         Unreviewed, Qt build fix. Stub out CanvasRenderingContext::checkOrigin(const HTMLVideoElement*)
45346         on platforms that don't support video after r68460.
45347
45348         * html/canvas/CanvasRenderingContext.cpp:
45349         (WebCore::CanvasRenderingContext::checkOrigin):
45350
45351 2010-09-27  Chris Fleizach  <cfleizach@apple.com>
45352
45353         Reviewed by Beth Dakin.
45354
45355         CrashTracer: 1,803 crashes in Safari at com.apple.WebCore: -[AccessibilityObjectWrapper accessibilityIsIgnored] + 56
45356         https://bugs.webkit.org/show_bug.cgi?id=46662
45357
45358         Before calling updateBackingStore(), the wrapper object needs to be retained, lest it be invalidated during
45359         the updateBackingStore call. This consolidates all calls to updateBackingStore().
45360
45361         Test: platform/mac/accessibility/removing-textarea-after-edit-crash.html
45362
45363         * accessibility/mac/AXObjectCacheMac.mm:
45364         (WebCore::AXObjectCache::postPlatformNotification):
45365             Use an ASSERT here to catch the crash because DRT won't cause AppKit to post notifications.
45366         * accessibility/mac/AccessibilityObjectWrapper.mm:
45367         (-[AccessibilityObjectWrapper prepareAccessibilityMethod]):
45368         (-[AccessibilityObjectWrapper accessibilityActionNames]):
45369         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
45370         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
45371         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
45372         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
45373         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
45374         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
45375         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
45376         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
45377         (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
45378         (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
45379         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
45380         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
45381         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
45382         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
45383         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
45384         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
45385
45386 2010-09-27  Adrienne Walker  <enne@google.com>
45387
45388         Reviewed by Adam Barth.
45389
45390         WebGL's readPixels doesn't respect origin-clean flag
45391
45392         Push CanvasRenderingContext2D checkOrigin logic into base class so it can be shared between different kinds of canvas contexts.
45393         https://bugs.webkit.org/show_bug.cgi?id=45718
45394
45395         Test: LayoutTests/http/tests/canvas/webgl/origin-clean-conformance.html
45396
45397         * html/canvas/CanvasRenderingContext.cpp:
45398         (WebCore::CanvasRenderingContext::checkOrigin):
45399         * html/canvas/CanvasRenderingContext.h:
45400         (WebCore::CanvasRenderingContext::~CanvasRenderingContext):
45401         (WebCore::CanvasRenderingContext::canvas):
45402         (WebCore::CanvasRenderingContext::is2d):
45403         (WebCore::CanvasRenderingContext::is3d):
45404         (WebCore::CanvasRenderingContext::isAccelerated):
45405         (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
45406         (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
45407         (WebCore::CanvasRenderingContext::platformLayer):
45408         * html/canvas/CanvasRenderingContext2D.cpp:
45409         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
45410         (WebCore::CanvasRenderingContext2D::setFillStyle):
45411         (WebCore::CanvasRenderingContext2D::drawImage):
45412         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
45413         * html/canvas/CanvasRenderingContext2D.h:
45414         * html/canvas/WebGLRenderingContext.cpp:
45415         (WebCore::WebGLRenderingContext::readPixels):
45416         (WebCore::WebGLRenderingContext::texImage2D):
45417         (WebCore::WebGLRenderingContext::videoFrameToImage):
45418         (WebCore::WebGLRenderingContext::texSubImage2D):
45419         * html/canvas/WebGLRenderingContext.h:
45420         * html/canvas/WebGLRenderingContext.idl:
45421
45422 2010-09-27  Darin Adler  <darin@apple.com>
45423
45424         Reviewed by Dan Bernstein.
45425
45426         REGRESSION (r68054): Buttons no longer render at correct sizes
45427         https://bugs.webkit.org/show_bug.cgi?id=46513
45428
45429         Test: fast/forms/input-button-sizes.html
45430
45431         The setUpButtonCell function was running only once, but needed to run every time
45432         through the button function.
45433
45434         * platform/mac/ThemeMac.mm:
45435         (WebCore::leakButtonCell): Added. Separate one-time initialization code.
45436         (WebCore::setUpButtonCell): Removed the first-time initialization part of this function.
45437         (WebCore::button): Merged the three functions back into one.
45438
45439 2010-09-27  Victoria Kirst  <vrk@google.com>
45440
45441         Reviewed by James Robinson.
45442
45443         Modifies VideoLayerChromium to do YUV to RGB color conversion in the
45444         GPU. Also adds support for RGBA video frame formats, though this code
45445         path is currently never run because the video frames are in YV12
45446         format.
45447         https://bugs.webkit.org/show_bug.cgi?id=45069
45448
45449         * platform/graphics/chromium/LayerRendererChromium.cpp:
45450         (WebCore::LayerRendererChromium::initializeSharedObjects):
45451         (WebCore::LayerRendererChromium::cleanupSharedObjects):
45452         * platform/graphics/chromium/LayerRendererChromium.h:
45453         (WebCore::LayerRendererChromium::videoLayerSharedValues):
45454         * platform/graphics/chromium/VideoLayerChromium.cpp:
45455         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
45456         (WebCore::VideoLayerChromium::SharedValues::~SharedValues):
45457         (WebCore::VideoLayerChromium::VideoLayerChromium):
45458         (WebCore::VideoLayerChromium::~VideoLayerChromium):
45459         (WebCore::VideoLayerChromium::updateContents):
45460         (WebCore::VideoLayerChromium::updateYUVContents):
45461         (WebCore::VideoLayerChromium::allocateYUVTextures):
45462         (WebCore::VideoLayerChromium::updateYUVTextures):
45463         (WebCore::VideoLayerChromium::updateRGBAContents):
45464         (WebCore::VideoLayerChromium::allocateTexture):
45465         (WebCore::VideoLayerChromium::updateTexture):
45466         (WebCore::VideoLayerChromium::updateContentsCompleted):
45467         (WebCore::VideoLayerChromium::draw):
45468         (WebCore::VideoLayerChromium::drawYUV):
45469         (WebCore::VideoLayerChromium::drawRGBA):
45470         * platform/graphics/chromium/VideoLayerChromium.h:
45471         (WebCore::VideoLayerChromium::drawsContent):
45472         (WebCore::VideoLayerChromium::SharedValues::yuvShaderProgram):
45473         (WebCore::VideoLayerChromium::SharedValues::rgbaShaderProgram):
45474         (WebCore::VideoLayerChromium::SharedValues::yuvShaderMatrixLocation):
45475         (WebCore::VideoLayerChromium::SharedValues::rgbaShaderMatrixLocation):
45476         (WebCore::VideoLayerChromium::SharedValues::yuvWidthScaleFactorLocation):
45477         (WebCore::VideoLayerChromium::SharedValues::rgbaWidthScaleFactorLocation):
45478         (WebCore::VideoLayerChromium::SharedValues::yTextureLocation):
45479         (WebCore::VideoLayerChromium::SharedValues::uTextureLocation):
45480         (WebCore::VideoLayerChromium::SharedValues::vTextureLocation):
45481         (WebCore::VideoLayerChromium::SharedValues::yuvAlphaLocation):
45482         (WebCore::VideoLayerChromium::SharedValues::rgbaTextureLocation):
45483         (WebCore::VideoLayerChromium::SharedValues::ccMatrixLocation):
45484         (WebCore::VideoLayerChromium::SharedValues::initialized):
45485
45486 2010-09-27  Peter Kasting  <pkasting@google.com>
45487
45488         Reviewed by James Robinson.
45489
45490         ImageDecoderSkia.cpp needs to check for allocator failure when copying
45491         bitmaps.
45492         https://bugs.webkit.org/show_bug.cgi?id=46437
45493
45494         * manual-tests/large-size-image-crash.html: Added.
45495         * manual-tests/resources/large-size-image-crash.gif: Added.
45496         * platform/image-decoders/ImageDecoder.cpp:
45497         (WebCore::RGBA32Buffer::copyBitmapData):
45498         * platform/image-decoders/ImageDecoder.h:
45499         * platform/image-decoders/gif/GIFImageDecoder.cpp:
45500         (WebCore::GIFImageDecoder::initFrameBuffer):
45501         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
45502         (WebCore::RGBA32Buffer::copyBitmapData):
45503         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
45504         (WebCore::RGBA32Buffer::copyBitmapData):
45505
45506 2010-09-27  James Robinson  <jamesr@chromium.org>
45507
45508         Reviewed by Simon Fraser.
45509
45510         Revert r63307, it broke repainting dynamically changed SVG content
45511         https://bugs.webkit.org/show_bug.cgi?id=46499
45512
45513         This patch reverts r63307 and adds a regression test for what broke.
45514
45515         Test: fast/repaint/repaint-svg-after-style-change.html
45516
45517         * rendering/RenderForeignObject.cpp:
45518         (WebCore::RenderForeignObject::layout):
45519         * rendering/RenderPath.cpp:
45520         (WebCore::RenderPath::layout):
45521         * rendering/RenderSVGContainer.cpp:
45522         (WebCore::RenderSVGContainer::layout):
45523         * rendering/RenderSVGImage.cpp:
45524         (WebCore::RenderSVGImage::layout):
45525         * rendering/RenderSVGRoot.cpp:
45526         (WebCore::RenderSVGRoot::layout):
45527         * rendering/RenderSVGText.cpp:
45528         (WebCore::RenderSVGText::layout):
45529
45530 2010-09-27  Vangelis Kokkevis  <vangelis@chromium.org>
45531
45532         Reviewed by James Robinson.
45533
45534         [chromium] Making LayerChromium's destructor virtual so that the appropriate
45535         derived class destructors get called when the layer tree is taken down.
45536         ContentLayerChromium and its derived types (ImageLayerChromium for now) will
45537         free up the texture allocated for their contents upon destruction. To avoid
45538         having the LayerRendererChromium destructor getting called before the layers
45539         are destroyed and thus leaving their textures orphaned, the layers now hold
45540         a ref counted pointer to the renderer that uses them.
45541         https://bugs.webkit.org/show_bug.cgi?id=46139
45542
45543         * platform/graphics/chromium/ContentLayerChromium.cpp:
45544         (WebCore::ContentLayerChromium::~ContentLayerChromium):
45545         (WebCore::ContentLayerChromium::setLayerRenderer):
45546         (WebCore::ContentLayerChromium::cleanupResources):
45547         * platform/graphics/chromium/ContentLayerChromium.h:
45548         * platform/graphics/chromium/LayerChromium.cpp:
45549         (WebCore::LayerChromium::setLayerRenderer):
45550         * platform/graphics/chromium/LayerChromium.h:
45551         (WebCore::LayerChromium::layerRenderer):
45552         * platform/graphics/chromium/LayerRendererChromium.cpp:
45553         (WebCore::LayerRendererChromium::create):
45554         (WebCore::LayerRendererChromium::deleteLayerTexture):
45555         (WebCore::LayerRendererChromium::cleanupSharedObjects):
45556         * platform/graphics/chromium/LayerRendererChromium.h:
45557
45558 2010-09-27  Erik Arvidsson  <arv@chromium.org>
45559
45560         Reviewed by Darin Adler.
45561
45562         Implement HTML 5's HTMLElement.classList property
45563         https://bugs.webkit.org/show_bug.cgi?id=20709
45564
45565         This adds a DOMTokenList class that is used for the classList property. DOMTokenList uses a SpaceSplitString for fast
45566         contains check. In standards mode the existing classNames is used but in quirks mode we use an internal SpaceSplitString
45567         because classList is always case sensitive.
45568
45569         Tests: fast/dom/HTMLElement/class-list-gc.html
45570                fast/dom/HTMLElement/class-list-quirks.html
45571                fast/dom/HTMLElement/class-list.html
45572                perf/class-list-remove.html
45573
45574         * Android.derived.jscbindings.mk:
45575         * Android.derived.v8bindings.mk:
45576         * Android.jscbindings.mk:
45577         * CMakeLists.txt:
45578         * DerivedSources.cpp:
45579         * DerivedSources.make:
45580         * GNUmakefile.am:
45581         * WebCore.gypi:
45582         * WebCore.pri:
45583         * WebCore.pro:
45584         * WebCore.vcproj/WebCore.vcproj:
45585         * WebCore.xcodeproj/project.pbxproj:
45586         * bindings/gobject/GNUmakefile.am:
45587         * bindings/js/JSElementCustom.cpp:
45588         (WebCore::JSElement::markChildren): Make sure that we keep the wrapper while the element is alive.
45589         * bindings/scripts/CodeGeneratorJS.pm: DOMTokenList has a string indexed getter.
45590         * bindings/scripts/CodeGeneratorV8.pm:
45591         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Added.
45592         (WebCore::toV8):
45593         * dom/Element.cpp:
45594         (WebCore::Element::classList):
45595         (WebCore::Element::optionalClassList):
45596         * dom/Element.h:
45597         * dom/ElementRareData.h: This now has an OwnPtr to a ClassList if the Element::classList is ever called.
45598         * dom/SpaceSplitString.h:
45599         (WebCore::SpaceSplitString::isNull):
45600         * dom/StyledElement.cpp:
45601         (WebCore::StyledElement::classAttributeChanged): Update the classList if it exists.
45602         * dom/StyledElement.h:
45603         * html/DOMTokenList.cpp: Added.
45604         (WebCore::validateToken):
45605         (WebCore::DOMTokenList::DOMTokenList):
45606         (WebCore::DOMTokenList::ref):
45607         (WebCore::DOMTokenList::deref):
45608         (WebCore::DOMTokenList::length):
45609         (WebCore::DOMTokenList::item):
45610         (WebCore::DOMTokenList::contains):
45611         (WebCore::DOMTokenList::containsInternal): The internal methods do no validation of the token.
45612         (WebCore::DOMTokenList::add):
45613         (WebCore::DOMTokenList::addInternal):
45614         (WebCore::DOMTokenList::remove):
45615         (WebCore::DOMTokenList::removeInternal):
45616         (WebCore::DOMTokenList::toggle):
45617         (WebCore::DOMTokenList::toString):
45618         (WebCore::DOMTokenList::reset):
45619         (WebCore::DOMTokenList::classNames):
45620         * html/DOMTokenList.h: Added.
45621         (WebCore::DOMTokenList::create):
45622         (WebCore::DOMTokenList::element):
45623         * html/DOMTokenList.idl: Added.
45624         * html/HTMLElement.idl:
45625         * page/DOMWindow.cpp:
45626         * page/DOMWindow.idl:
45627
45628 2010-09-27  Kenneth Russell  <kbr@google.com>
45629
45630         Reviewed by James Robinson.
45631
45632         Add local triangulation of cubic curve control points
45633         https://bugs.webkit.org/show_bug.cgi?id=45252
45634
45635         (Re-landing; I neglected to actually add the new files in
45636         http://trac.webkit.org/changeset/68045 .)
45637
45638         Adding a localized triangulation algorithm which takes as input
45639         the four control points of a cubic curve segment and provides both
45640         triangles as well as the ability to walk the interior edges. The
45641         latter will be used later to fill the interior of shapes bounded
45642         by these cubic curves, quadratic curves and line segments.
45643
45644         * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
45645         (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
45646         (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
45647         (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
45648         (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
45649         (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
45650         (WebCore::LoopBlinnLocalTriangulator::reset):
45651         (WebCore::LoopBlinnLocalTriangulator::triangulate):
45652         (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
45653         (WebCore::LoopBlinnLocalTriangulator::addTriangle):
45654         (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
45655         (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
45656         * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
45657         (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
45658         (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
45659         (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
45660         (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
45661         (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
45662         (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
45663         (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
45664         (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
45665         (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
45666         (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
45667         (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
45668         (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
45669         (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
45670         (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
45671         (WebCore::LoopBlinnLocalTriangulator::getVertex):
45672         (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
45673         (WebCore::LoopBlinnLocalTriangulator::getTriangle):
45674         (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
45675         (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):
45676
45677 2010-09-27  Chris Rogers  <crogers@google.com>
45678
45679         Reviewed by Kenneth Russell.
45680
45681         Add AudioNode files
45682         https://bugs.webkit.org/show_bug.cgi?id=45571
45683
45684         No new tests since audio API is not yet implemented.
45685
45686         * webaudio/AudioNode.cpp: Added.
45687         (WebCore::AudioNode::AudioNode):
45688         (WebCore::AudioNode::~AudioNode):
45689         (WebCore::AudioNode::setType):
45690         (WebCore::AudioNode::lazyInitialize):
45691         (WebCore::AudioNode::addInput):
45692         (WebCore::AudioNode::addOutput):
45693         (WebCore::AudioNode::input):
45694         (WebCore::AudioNode::output):
45695         (WebCore::AudioNode::connect):
45696         (WebCore::AudioNode::disconnect):
45697         (WebCore::AudioNode::processIfNecessary):
45698         (WebCore::AudioNode::pullInputs):
45699         (WebCore::AudioNode::ref):
45700         (WebCore::AudioNode::deref):
45701         (WebCore::AudioNode::finishDeref):
45702         (WebCore::AudioNode::printNodeCounts):
45703         * webaudio/AudioNode.h: Added.
45704         (WebCore::AudioNode::context):
45705         (WebCore::AudioNode::type):
45706         (WebCore::AudioNode::isInitialized):
45707         (WebCore::AudioNode::numberOfInputs):
45708         (WebCore::AudioNode::numberOfOutputs):
45709         (WebCore::AudioNode::sampleRate):
45710         (WebCore::AudioNode::checkNumberOfChannelsForInput):
45711         * webaudio/AudioNode.idl: Added.
45712
45713 2010-09-27  David Hyatt  <hyatt@apple.com>
45714
45715         Reviewed by Sam Weinig.
45716
45717         https://bugs.webkit.org/show_bug.cgi?id=46665
45718
45719         Patch RenderView's layout and computeLogicalWidth/Height methods to be block-flow-aware.
45720
45721         Added fast/root-lr-basic.html
45722
45723         * rendering/RenderView.cpp:
45724         (WebCore::RenderView::computeLogicalHeight):
45725         (WebCore::RenderView::computeLogicalWidth):
45726         (WebCore::RenderView::layout):
45727         * rendering/RenderView.h:
45728         (WebCore::RenderView::viewLogicalWidth):
45729         (WebCore::RenderView::viewLogicalHeight):
45730
45731 2010-09-24  Zhenyao Mo  <zmo@google.com>
45732
45733         Reviewed by Kenneth Russell.
45734
45735         Hook up ANGLE with chromium --in-process-webgl port
45736         https://bugs.webkit.org/show_bug.cgi?id=44309
45737
45738         * platform/graphics/GraphicsContext3D.h: Move Angle stuff inside MAC only section.
45739
45740 2010-09-27  David Hyatt  <hyatt@apple.com>
45741
45742         Reviewed by Sam Weinig.
45743
45744         https://bugs.webkit.org/show_bug.cgi?id=46659
45745
45746         Patch the width/height/x/y calls in layoutBlock() to be their logical equivalents instead.
45747
45748         * rendering/RenderBlock.cpp:
45749         (WebCore::RenderBlock::layoutBlock):
45750
45751 2010-09-27  David Hyatt  <hyatt@apple.com>
45752
45753         Reviewed by Sam Weinig.
45754
45755         https://bugs.webkit.org/show_bug.cgi?id=46649, fix failing layout tests.
45756
45757         The implementation of setting the before/after margins was wrong and poking the wrong margin values.
45758         
45759         Once I made them set the correct values, it revealed that one of the new block flow tests wasn't
45760         actually working.  In order to fix it, I had to make the block direction margin computation actually
45761         use the containing block's block-flow in order to return the right answer.  This involved cleaning
45762         up computeBlockDirectionMargins to be more like computeInlineDirectionMargins.
45763         
45764         fast/css/logical-property-resolution.html also caught the bug.  Its results are now correct.
45765
45766         * rendering/RenderBlock.cpp:
45767         (WebCore::RenderBlock::adjustPositionedBlock):
45768         (WebCore::RenderBlock::determineHorizontalPosition):
45769         (WebCore::RenderBlock::layoutBlockChild):
45770         (WebCore::RenderBlock::insertFloatingObject):
45771         * rendering/RenderBox.cpp:
45772         (WebCore::RenderBox::setMarginBeforeUsing):
45773         (WebCore::RenderBox::setMarginAfterUsing):
45774         (WebCore::RenderBox::computeLogicalWidth):
45775         (WebCore::RenderBox::computeInlineDirectionMargins):
45776         (WebCore::RenderBox::computeLogicalHeight):
45777         (WebCore::RenderBox::computeBlockDirectionMargins):
45778         * rendering/RenderBox.h:
45779         * rendering/RenderFlexibleBox.cpp:
45780         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
45781         (WebCore::RenderFlexibleBox::layoutVerticalBox):
45782         * rendering/RenderObject.h:
45783         * rendering/RenderTable.cpp:
45784         (WebCore::RenderTable::computeLogicalWidth):
45785         * rendering/RenderTableRow.cpp:
45786         (WebCore::RenderTableRow::layout):
45787         * rendering/style/RenderStyle.cpp:
45788         (WebCore::RenderStyle::marginBeforeUsing):
45789         (WebCore::RenderStyle::marginAfterUsing):
45790         * rendering/style/RenderStyle.h:
45791
45792 2010-09-14  Zhenyao Mo  <zmo@google.com>
45793
45794         Reviewed by Kenneth Russell.
45795
45796         Textures and renderbuffers should be detached first before deletion if they are attached to framebuffers
45797         https://bugs.webkit.org/show_bug.cgi?id=43942
45798
45799         Test: fast/canvas/webgl/object-deletion-behaviour.html
45800
45801         * html/canvas/WebGLBuffer.cpp:
45802         (WebCore::WebGLBuffer::deleteObjectImpl): Delete the object only once.
45803         * html/canvas/WebGLFramebuffer.cpp: Use RefPtr for attachment WebGLObjects.
45804         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
45805         (WebCore::WebGLFramebuffer::removeAttachment): Remove an attachment data ref.
45806         (WebCore::WebGLFramebuffer::onAttachedObjectChange):
45807         (WebCore::WebGLFramebuffer::getColorBufferFormat):
45808         (WebCore::WebGLFramebuffer::deleteObjectImpl):
45809         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
45810         * html/canvas/WebGLFramebuffer.h: Declare removeAttachment().
45811         * html/canvas/WebGLObject.cpp:
45812         (WebCore::WebGLObject::setObject): Make it protected and can only be called when initializing.
45813         * html/canvas/WebGLObject.h:
45814         (WebCore::WebGLObject::onDetached): Fix a bug.
45815         (WebCore::WebGLObject::isDeleted): Expose the delete flag.
45816         * html/canvas/WebGLProgram.cpp:
45817         (WebCore::WebGLProgram::deleteObjectImpl): Detach shaders when deleting a program.
45818         * html/canvas/WebGLRenderbuffer.cpp:
45819         (WebCore::WebGLRenderbuffer::deleteObjectImpl): Delete the object only once.
45820         * html/canvas/WebGLRenderingContext.cpp:
45821         (WebCore::WebGLRenderingContext::deleteFramebuffer): Bind to internal fbo when deleting the currently-bound fbo.
45822         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Remove renderbuffer from currently-bound fbo upon deletion.
45823         (WebCore::WebGLRenderingContext::deleteTexture): Remove texture from currently-bound fbo upon deletion.
45824         (WebCore::WebGLRenderingContext::useProgram): Fix a condition.
45825         * html/canvas/WebGLShader.cpp:
45826         (WebCore::WebGLShader::deleteObjectImpl): Delete the object only once.
45827         * html/canvas/WebGLTexture.cpp:
45828         (WebCore::WebGLTexture::deleteObjectImpl): Ditto.
45829
45830 2010-09-27  Ryosuke Niwa  <rniwa@webkit.org>
45831
45832         Reviewed by Antonio Gomes.
45833
45834         stateStyle (@EditorCommand.cpp) should ask EditingBehavior for platform specific behavior
45835         https://bugs.webkit.org/show_bug.cgi?id=41989
45836
45837         queryCommandState returns true even when in the mixed state
45838         https://bugs.webkit.org/show_bug.cgi?id=46382
45839
45840         Fixed stateStyle so that it calls selectionStartHasStyle when shouldToggleStyleBasedOnStartOfSelection
45841         is true (Mac platforms) and calls selectionHasStyle otherwise (non-Mac platforms).
45842
45843         Also fixed queryCommandState so that it only returns true when the state is TrueTriState
45844         as supposed to returning true whenever the state is not FalseTriState. New behavior matches that of
45845         other browsers such as Firefox and Internet Explorer.
45846
45847         * dom/Document.cpp:
45848         (WebCore::Document::queryCommandState):
45849         * editing/EditorCommand.cpp:
45850         (WebCore::executeToggleStyle):
45851         (WebCore::stateStyle):
45852
45853 2010-09-27  David Hyatt  <hyatt@apple.com>
45854
45855         Reviewed by Dan Bernstein.
45856
45857         https://bugs.webkit.org/show_bug.cgi?id=46647, add getters/setters for the logical position of a box.
45858
45859         Also made all of the logicalWidth/Height getters/setters inline for performance.
45860
45861         * rendering/RenderBox.cpp:
45862         * rendering/RenderBox.h:
45863         (WebCore::RenderBox::logicalLeft):
45864         (WebCore::RenderBox::logicalTop):
45865         (WebCore::RenderBox::logicalWidth):
45866         (WebCore::RenderBox::logicalHeight):
45867         (WebCore::RenderBox::setLogicalLeft):
45868         (WebCore::RenderBox::setLogicalTop):
45869         (WebCore::RenderBox::setLogicalWidth):
45870         (WebCore::RenderBox::setLogicalHeight):
45871         (WebCore::RenderBox::setLogicalLocation):
45872
45873 2010-09-27  David Hyatt  <hyatt@apple.com>
45874
45875         Reviewed by Sam Weinig.
45876
45877         https://bugs.webkit.org/show_bug.cgi?id=46639, make computeLogicalHeight block-flow-aware.
45878         
45879         This patch does the following:
45880             (1) Makes computeLogicalHeight block-flow-aware (patching all helper functions as needed to make this work).
45881             (2) Makes block flow roots (blocks whose parent has a different block-flow directionality) establish new block formatting contexts.
45882             (This causes them to not collapse their margins with their children and to avoid floats). 
45883             (3) Patch all occurrences of setHeight in block and line layout to setLogicalHeight so that height doesn't get incorrectly
45884             overwritten for lr/rl block-flow.  This is necessary to write tests that examine the width/height of the blocks.
45885         
45886         Added multiple new tests in fast/blockflow.
45887         fast/css/logical-property-resolution gives the correct results now.
45888
45889         * rendering/RenderBlock.cpp:
45890         (WebCore::RenderBlock::MarginInfo::MarginInfo):
45891         (WebCore::RenderBlock::layoutBlock):
45892         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
45893         (WebCore::RenderBlock::adjustFloatingBlock):
45894         (WebCore::RenderBlock::collapseMargins):
45895         (WebCore::RenderBlock::clearFloatsIfNeeded):
45896         (WebCore::RenderBlock::determineHorizontalPosition):
45897         (WebCore::RenderBlock::handleBottomOfBlock):
45898         (WebCore::RenderBlock::layoutBlockChildren):
45899         (WebCore::RenderBlock::layoutBlockChild):
45900         (WebCore::RenderBlock::positionNewFloatOnLine):
45901         (WebCore::RenderBlock::newLine):
45902         (WebCore::RenderBlock::logicalLeftOffsetForLine):
45903         (WebCore::RenderBlock::logicalRightOffsetForContent):
45904         (WebCore::RenderBlock::logicalRightOffsetForLine):
45905         (WebCore::RenderBlock::getClearDelta):
45906         (WebCore::RenderBlock::layoutColumns):
45907         * rendering/RenderBlock.h:
45908         * rendering/RenderBlockLineLayout.cpp:
45909         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
45910         (WebCore::RenderBlock::layoutInlineChildren):
45911         (WebCore::RenderBlock::determineStartPosition):
45912         (WebCore::RenderBlock::fitBelowFloats):
45913         * rendering/RenderBox.cpp:
45914         (WebCore::RenderBox::marginBefore):
45915         (WebCore::RenderBox::marginBeforeUsing):
45916         (WebCore::RenderBox::marginAfter):
45917         (WebCore::RenderBox::marginAfterUsing):
45918         (WebCore::RenderBox::setMarginBefore):
45919         (WebCore::RenderBox::setMarginAfter):
45920         (WebCore::RenderBox::setMarginBeforeUsing):
45921         (WebCore::RenderBox::setMarginAfterUsing):
45922         (WebCore::RenderBox::computeLogicalHeight):
45923         (WebCore::RenderBox::computeLogicalHeightUsing):
45924         (WebCore::RenderBox::computePercentageLogicalHeight):
45925         (WebCore::RenderBox::computeReplacedHeightUsing):
45926         (WebCore::RenderBox::availableLogicalHeight):
45927         (WebCore::RenderBox::availableLogicalHeightUsing):
45928         (WebCore::RenderBox::computeBlockDirectionMargins):
45929         (WebCore::RenderBox::avoidsFloats):
45930         * rendering/RenderBox.h:
45931         (WebCore::RenderBox::contentLogicalWidth):
45932         (WebCore::RenderBox::contentLogicalHeight):
45933         (WebCore::RenderBox::stretchesToViewHeight):
45934         (WebCore::RenderBox::availableLogicalWidth):
45935         (WebCore::RenderBox::availableWidth):
45936         (WebCore::RenderBox::availableHeight):
45937         (WebCore::RenderBox::isBlockFlowRoot):
45938         * rendering/RenderTable.cpp:
45939         (WebCore::RenderTable::computeLogicalWidth):
45940
45941 2010-09-27  Mario Sanchez Prada  <msanchez@igalia.com>
45942
45943         Reviewed by Chris Fleizach.
45944
45945         [Gtk] Adjust atk_text_get_text_at_offset to account for bullets/numbers in list items
45946         https://bugs.webkit.org/show_bug.cgi?id=45381
45947
45948         Ensure list markers are consistently used in the Atk wrapper.
45949
45950         This patch does two things (both needed to fix the bug): It
45951         improves the way list items markers are exposed through the Atk
45952         Wrapper (by exposing the exact text in the marker, including the
45953         marker suffix, if any) and makes sure the marker is consistently
45954         considered and treated in those methods of the AtkText interface
45955         that would need it (like atk_text_get_character_count or
45956         atk_text_get_run_attributes, for instance).
45957
45958         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
45959         (textForObject):
45960            Append/prepend list marker when needed.
45961         (webkit_accessible_text_get_text):
45962            Use the new function markerTextWithSuffix() to expose a more
45963            accurate value.
45964         (accessibilityObjectLength):
45965            Consider list items marker to return the length of an object,
45966            if needed. Also, added some extra checks.
45967         (webkit_accessible_text_get_character_count):
45968            Just delegate on accessibilityObjectLength, to make it
45969            cleaner and more consistent.
45970
45971         * rendering/RenderListItem.cpp:
45972         (WebCore::RenderListItem::markerTextWithSuffix):
45973            New public function to return a single string with the
45974            marker associated to the item and its suffix, considering
45975            text direction (LTR or RTL).
45976         * rendering/RenderListItem.h:
45977         * rendering/RenderListMarker.cpp:
45978         (WebCore::RenderListMarker::suffix):
45979            New public function to return a String with the suffix
45980            associated to the marker.
45981         * rendering/RenderListMarker.h:
45982
45983 2010-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
45984
45985         Unreviewed, rolling out r68389.
45986         http://trac.webkit.org/changeset/68389
45987         https://bugs.webkit.org/show_bug.cgi?id=46637
45988
45989         test_shell is crashing on chromium Win (Requested by loislo on
45990         #webkit).
45991
45992         * inspector/InspectorTimelineAgent.cpp:
45993         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
45994         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
45995         (WebCore::InspectorTimelineAgent::didGC):
45996         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
45997         (WebCore::InspectorTimelineAgent::willCallFunction):
45998         (WebCore::InspectorTimelineAgent::didCallFunction):
45999         (WebCore::InspectorTimelineAgent::willDispatchEvent):
46000         (WebCore::InspectorTimelineAgent::didDispatchEvent):
46001         (WebCore::InspectorTimelineAgent::willLayout):
46002         (WebCore::InspectorTimelineAgent::didLayout):
46003         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
46004         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
46005         (WebCore::InspectorTimelineAgent::willPaint):
46006         (WebCore::InspectorTimelineAgent::didPaint):
46007         (WebCore::InspectorTimelineAgent::willWriteHTML):
46008         (WebCore::InspectorTimelineAgent::didWriteHTML):
46009         (WebCore::InspectorTimelineAgent::didInstallTimer):
46010         (WebCore::InspectorTimelineAgent::didRemoveTimer):
46011         (WebCore::InspectorTimelineAgent::willFireTimer):
46012         (WebCore::InspectorTimelineAgent::didFireTimer):
46013         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
46014         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
46015         (WebCore::InspectorTimelineAgent::willLoadXHR):
46016         (WebCore::InspectorTimelineAgent::didLoadXHR):
46017         (WebCore::InspectorTimelineAgent::willEvaluateScript):
46018         (WebCore::InspectorTimelineAgent::didEvaluateScript):
46019         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
46020         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
46021         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
46022         (WebCore::InspectorTimelineAgent::didReceiveResourceData):
46023         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
46024         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
46025         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
46026         (WebCore::InspectorTimelineAgent::didMarkTimeline):
46027         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
46028         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
46029         (WebCore::InspectorTimelineAgent::reset):
46030         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
46031         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
46032         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
46033         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
46034         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
46035         * inspector/InspectorTimelineAgent.h:
46036         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
46037         (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
46038
46039 2010-09-27  Kinuko Yasuda  <kinuko@google.com>
46040
46041         Reviewed by Adam Barth.
46042
46043         [Cleanup] Add create method to FileSystemCallbacks to get rid of naked new's
46044         https://bugs.webkit.org/show_bug.cgi?id=46561
46045
46046         Also cleanup the callbacks layering to pass AsyncFileSystemCallbacks
46047         object to LocalFileSystem::requestFileSystem (rather than
46048         FileSystemCallback and ErrorCallback) so that all the callbacks class
46049         we pass from WebCore to WebKit/chromium/src will be
46050         AsyncFileSystemCallbacks.
46051
46052         No new tests; this patch is only for cleanup and there should be no functionality changes.
46053
46054         * fileapi/DOMFileSystem.cpp:
46055         (WebCore::DOMFileSystem::getMetadata):
46056         (WebCore::DOMFileSystem::move):
46057         (WebCore::DOMFileSystem::copy):
46058         (WebCore::DOMFileSystem::remove):
46059         (WebCore::DOMFileSystem::getParent):
46060         (WebCore::DOMFileSystem::getFile):
46061         (WebCore::DOMFileSystem::getDirectory):
46062         (WebCore::DOMFileSystem::createWriter):
46063         (WebCore::DOMFileSystem::readDirectory):
46064         * fileapi/FileSystemCallbacks.cpp:
46065         (WebCore::EntryCallbacks::create): Added.
46066         (WebCore::EntriesCallbacks::create): Added.
46067         (WebCore::FileSystemCallbacks::create): Added.
46068         (WebCore::MetadataCallbacks::create): Added.
46069         (WebCore::FileWriterCallbacks::create): Added.
46070         (WebCore::VoidCallbacks::create): Added.
46071         * fileapi/FileSystemCallbacks.h:
46072         * fileapi/LocalFileSystem.cpp:
46073         (WebCore::openFileSystem):
46074         (WebCore::LocalFileSystem::requestFileSystem): Changed to take
46075         AsyncFileSystemCallbacks as (a) callback argument(s).
46076         * fileapi/LocalFileSystem.h:
46077         * page/DOMWindow.cpp:
46078         (WebCore::DOMWindow::requestFileSystem): Made a corresponding change
46079         to LocalFileSystem::requestFileSystem.
46080         * workers/WorkerContext.cpp:
46081         (WebCore::WorkerContext::requestFileSystem): Made a corresponding change
46082         to LocalFileSystem::requestFileSystem.
46083
46084 2010-09-27  Abhishek Arya  <inferno@chromium.org>
46085
46086         Reviewed by Dave Hyatt.
46087
46088         Fix memory safety issue during positioning list marker as a result of assuming 
46089         that list item's parent can always be casted to a RenderBox. The display of the parent
46090         can be manipluated using css as Inline which causes a bad cast.
46091
46092         https://bugs.webkit.org/show_bug.cgi?id=46384
46093
46094         Test: fast/lists/parent-box-not-box-crash.html
46095
46096         * rendering/RenderListItem.cpp:
46097         (WebCore::RenderListItem::positionListMarker):
46098         * rendering/RenderListMarker.cpp:
46099         (WebCore::RenderListMarker::layout):
46100
46101 2010-09-19  Martin Robinson  <mrobinson@igalia.com>
46102
46103         Reviewed by Gustavo Noronha Silva.
46104
46105         [GTK] Wrong font instantiated from an unknown font family
46106         https://bugs.webkit.org/show_bug.cgi?id=36548
46107
46108         When FontConfig returns a match for a particular family name, ensure that
46109         the family name matches the configured alias for the original pattern. This
46110         should prevent selecting FontConfig fallbacks in situations where the next
46111         font on the CSS fallback list should be used. This requires moving all FontConfig
46112         matching logic into FontCacheFreeType and out of FontPlatformDataFreeType.
46113         It should be there anyway.
46114
46115         Test: platform/gtk/fonts/font-family-fallback.html
46116
46117         * platform/graphics/cairo/FontCacheFreeType.cpp:
46118         (WebCore::FontCache::platformInit): Simply call FcInit here instead of
46119         deferring to FontPlatformData.
46120         (WebCore::FontCache::getLastResortFallbackFont): The last resort font should
46121         be a fallback font or else the new FontConfig logic may result in null font data
46122         if it cannot find an appropriate match.
46123         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Added. Helper function
46124         which converts WebCore fallback names into ones that FontConfig understands.
46125         (WebCore::isFallbackFontAllowed): Added. Helper function that allows FontConfig
46126         fallbacks to be used when generic family names are specified.
46127         (WebCore::FontCache::createFontPlatformData): Move all FontConfig matching logic here
46128         and prevent against the situation where FontConfig returns a different family name
46129         than we asked for.
46130         * platform/graphics/cairo/FontCustomPlatformData.cpp: Updated FontPlatformData constructor.
46131         * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Update the constructor to
46132         take the FcPattern returned and the original FontDescription. We no longer need the other
46133         arguments, because the selection is now done by FontCacheFreeType.
46134         (WebCore::FontPlatformData::FontPlatformData): Remove the FontConfig selection logic from
46135         this code.
46136         * platform/graphics/cairo/FontPlatformDataFreeType.h: Updated method definitions.
46137         * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Fixed includes.
46138         * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added a PlatformRefPtr specialization
46139         for cairo_font_face_t.
46140         (WTF::refPlatformPtr): Added.
46141         (WTF::derefPlatformPtr): Added.
46142         * platform/graphics/cairo/PlatformRefPtrCairo.h: Updated method definitons.
46143         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
46144         (WebCore::SimpleFontData::smallCapsFontData): Fixed FontPlatformData constructor.
46145
46146 2010-09-27  Philippe Normand  <pnormand@igalia.com>
46147
46148         Reviewed by Martin Robinson.
46149
46150         [GTK] Doesn't build with gtk+ 2.14
46151         https://bugs.webkit.org/show_bug.cgi?id=46565
46152
46153         Fixed the build for GTK+ 2.14 by adding backward compatible
46154         a backward-compatible function for gtk_menu_item_get_label and a
46155         utility function to create a blank mouse cursor. Those functions
46156         are used in the fullscreen video controller and in the DRT
46157         EventSender.
46158
46159         * platform/gtk/GtkVersioning.c:
46160         (gdk_window_get_root_coords):
46161         (blankCursor):
46162         (gtk_menu_item_get_label):
46163         * platform/gtk/GtkVersioning.h:
46164
46165 2010-09-23  Stephen White  <senorblanco@chromium.org>
46166
46167         Reviewed by James Robinson.
46168
46169         [CHROMIUM] Fix for canvas clearRect() with clipping active, when
46170         --enable-accelerated-2d-canvas is on.
46171         https://bugs.webkit.org/show_bug.cgi?id=46412
46172
46173         Covered by layout test http://philip.html5.org/tests/canvas/suite/tests/2d.clearRect.clip.html.
46174
46175         * platform/graphics/skia/GraphicsContextSkia.cpp:
46176         (WebCore::GraphicsContext::clearRect):
46177         Check if a clip is active during clipRect(), and force to software
46178         if so.  Force a readback in this case, since clearRect() is not
46179         compatible with mixed-mode rendering.
46180         * platform/graphics/skia/PlatformContextSkia.cpp:
46181         (WebCore::PlatformContextSkia::canvasClipApplied):
46182         * platform/graphics/skia/PlatformContextSkia.h:
46183         Implement accessor to check if a clip is active.
46184
46185 2010-09-14  Zhenyao Mo  <zmo@google.com>
46186
46187         Reviewed by Kenneth Russell.
46188
46189         drawElements with count=0 and offset = 0 should not generate GL error or crash
46190         https://bugs.webkit.org/show_bug.cgi?id=45769
46191
46192         * html/canvas/WebGLRenderingContext.cpp: Deal with count=0 case.
46193         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
46194         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
46195         (WebCore::WebGLRenderingContext::drawElements):
46196
46197 2010-09-16  Zhenyao Mo  <zmo@google.com>
46198
46199         Reviewed by Kenneth Russell.
46200
46201         Fold getString into getParameter and implement new queries
46202         https://bugs.webkit.org/show_bug.cgi?id=40321
46203
46204         Test: fast/canvas/webgl/gl-getstring.html
46205
46206         * html/canvas/WebGLRenderingContext.cpp: Merge getString enums into getParameter.
46207         (WebCore::WebGLRenderingContext::getParameter):
46208         * html/canvas/WebGLRenderingContext.h: Remove getString.
46209         * html/canvas/WebGLRenderingContext.idl: Remove getString.
46210
46211 2010-09-24  Zhenyao Mo  <zmo@google.com>
46212
46213         Reviewed by Kenneth Russell.
46214
46215         gl-teximage fails on chrome mac bot
46216         https://bugs.webkit.org/show_bug.cgi?id=45332
46217
46218         Add support for alpha first pixel formats.
46219
46220         * platform/graphics/GraphicsContext3D.cpp:
46221         (WebCore::doPacking):
46222         * platform/graphics/GraphicsContext3D.h:
46223         * platform/graphics/cg/GraphicsContext3DCG.cpp:
46224         (WebCore::GraphicsContext3D::getImageData):
46225
46226 2010-09-17  Yury Semikhatsky  <yurys@chromium.org>
46227
46228         Reviewed by Pavel Feldman.
46229
46230         Web Inspector: implement go-to-line feature
46231         https://bugs.webkit.org/show_bug.cgi?id=45166
46232
46233         * English.lproj/localizedStrings.js:
46234         * inspector/front-end/GoToLineDialog.js: Added.
46235         (WebInspector.GoToLineDialog):
46236         (WebInspector.GoToLineDialog.show):
46237         (WebInspector.GoToLineDialog.prototype._hide):
46238         (WebInspector.GoToLineDialog.prototype._onKeyDown):
46239         (WebInspector.GoToLineDialog.prototype._onBlur):
46240         * inspector/front-end/ScriptsPanel.js:
46241         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
46242         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
46243         (WebInspector.ScriptsPanel.prototype.showGoToLineDialog):
46244         * inspector/front-end/goToLineDialog.css: Added.
46245         (.go-to-line-dialog):
46246         * inspector/front-end/inspector.html:
46247
46248 2010-09-24  Pavel Podivilov  <podivilov@chromium.org>
46249
46250         Reviewed by Pavel Feldman.
46251
46252         Web Inspector: add XHR breakpoints sidebar pane to front-end
46253         https://bugs.webkit.org/show_bug.cgi?id=46483
46254
46255         * English.lproj/localizedStrings.js:
46256         * WebCore.gypi:
46257         * inspector/InspectorController.cpp:
46258         (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
46259         * inspector/InspectorTimelineAgent.h:
46260         * inspector/front-end/BreakpointManager.js:
46261         (WebInspector.BreakpointManager):
46262         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
46263         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
46264         (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
46265         (WebInspector.Breakpoint.prototype.compareTo):
46266         (WebInspector.XHRBreakpoint):
46267         (WebInspector.XHRBreakpoint.prototype.get enabled):
46268         (WebInspector.XHRBreakpoint.prototype.set enabled):
46269         (WebInspector.XHRBreakpoint.prototype.get url):
46270         (WebInspector.XHRBreakpoint.prototype.formatLabel):
46271         (WebInspector.XHRBreakpoint.prototype.compareTo):
46272         (WebInspector.XHRBreakpoint.prototype.remove):
46273         (WebInspector.XHRBreakpoint.prototype._setOnBackend.didSet):
46274         (WebInspector.XHRBreakpoint.prototype._setOnBackend):
46275         (WebInspector.XHRBreakpoint.prototype._removeFromBackend):
46276         * inspector/front-end/BreakpointsSidebarPane.js:
46277         (WebInspector.XHRBreakpointsSidebarPane):
46278         (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
46279         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
46280         (WebInspector.BreakpointItem.prototype.compareTo):
46281         (WebInspector.BreakpointItem.prototype._checkboxClicked):
46282         (WebInspector.BreakpointItem.prototype._enableChanged):
46283         (WebInspector.BreakpointItem.prototype._breakpointClicked):
46284         (WebInspector.XHRBreakpointItem):
46285         * inspector/front-end/CallStackSidebarPane.js:
46286         (WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
46287         (WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
46288         (WebInspector.CallStackSidebarPane.prototype.updateStatus):
46289         * inspector/front-end/DOMAgent.js:
46290         (WebInspector.DOMBreakpoint.prototype.compareTo):
46291         * inspector/front-end/Images/paneAddButtons.png: Added.
46292         * inspector/front-end/ScriptsPanel.js:
46293         (WebInspector.ScriptsPanel):
46294         (WebInspector.ScriptsPanel.prototype.reset):
46295         * inspector/front-end/WebKit.qrc:
46296         * inspector/front-end/inspector.css:
46297         (.pane > .title > button.add):
46298         (.pane > .title > button.add:hover):
46299         (.pane > .title > button.add:active):
46300         (.pane > .body .breakpoint-condition):
46301         * inspector/front-end/inspector.js:
46302         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
46303         (WebInspector.createXHRBreakpointsSidebarPane):
46304
46305 2010-09-27  Pavel Feldman  <pfeldman@chromium.org>
46306
46307         Reviewed by Timothy Hatcher.
46308
46309         Web Inspector: Merge AbstractTimelinePanel into ResourcesPanel.
46310         https://bugs.webkit.org/show_bug.cgi?id=46612
46311
46312         I am refactoring resources panel and would like to merge abstract
46313         one back in since it is not use anywhere else.
46314
46315         * WebCore.gypi:
46316         * WebCore.vcproj/WebCore.vcproj:
46317         * inspector/front-end/AbstractTimelinePanel.js: Removed.
46318         * inspector/front-end/ResourceCategory.js:
46319         (WebInspector.ResourceCategory):
46320         (WebInspector.ResourceCategory.prototype.toString):
46321         * inspector/front-end/ResourcesPanel.js:
46322         (WebInspector.ResourcesPanel):
46323         (WebInspector.ResourcesPanel.prototype.get items):
46324         (WebInspector.ResourcesPanel.prototype.createInterface):
46325         (WebInspector.ResourcesPanel.prototype.createFilterPanel.createFilterElement):
46326         (WebInspector.ResourcesPanel.prototype.createFilterPanel):
46327         (WebInspector.ResourcesPanel.prototype.showCategory):
46328         (WebInspector.ResourcesPanel.prototype.hideCategory):
46329         (WebInspector.ResourcesPanel.prototype.filter):
46330         (WebInspector.ResourcesPanel.prototype._updateFilter):
46331         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
46332         (WebInspector.ResourcesPanel.prototype.get needsRefresh):
46333         (WebInspector.ResourcesPanel.prototype.set needsRefresh):
46334         (WebInspector.ResourcesPanel.prototype.refreshIfNeeded):
46335         (WebInspector.ResourcesPanel.prototype.resize):
46336         (WebInspector.ResourcesPanel.prototype.invalidateAllItems):
46337         (WebInspector.ResourcesPanel.prototype.get calculator):
46338         (WebInspector.ResourcesPanel.prototype.set calculator):
46339         (WebInspector.ResourcesPanel.prototype.addItem):
46340         (WebInspector.ResourcesPanel.prototype.removeItem):
46341         (WebInspector.ResourcesPanel.prototype.refreshItem):
46342         (WebInspector.ResourcesPanel.prototype.revealAndSelectItem):
46343         (WebInspector.ResourcesPanel.prototype.sortItems):
46344         (WebInspector.ResourcesPanel.prototype.adjustScrollPosition):
46345         (WebInspector.ResourcesPanel.prototype.addEventDivider):
46346         (WebInspector.ResourcesPanel.prototype.hideEventDividers):
46347         (WebInspector.ResourcesPanel.prototype.showEventDividers):
46348         (WebInspector.ResourcesPanel.prototype.show):
46349         (WebInspector.ResourcesPanel.prototype.refresh):
46350         (WebInspector.ResourcesPanel.prototype.reset):
46351         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
46352         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
46353         (WebInspector.ResourceBaseCalculator):
46354         (WebInspector.ResourceBaseCalculator.prototype.computeSummaryValues):
46355         (WebInspector.ResourceBaseCalculator.prototype.computeBarGraphPercentages):
46356         (WebInspector.ResourceBaseCalculator.prototype.computeBarGraphLabels):
46357         (WebInspector.ResourceBaseCalculator.prototype.get boundarySpan):
46358         (WebInspector.ResourceBaseCalculator.prototype.updateBoundaries):
46359         (WebInspector.ResourceBaseCalculator.prototype.reset):
46360         (WebInspector.ResourceBaseCalculator.prototype._value):
46361         (WebInspector.ResourceBaseCalculator.prototype.formatValue):
46362         (WebInspector.ResourceTimeCalculator):
46363         (WebInspector.ResourceTransferSizeCalculator):
46364         * inspector/front-end/WebKit.qrc:
46365         * inspector/front-end/inspector.html:
46366
46367 2010-09-27  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
46368
46369         Reviewed by Kenneth Rohde Christiansen.
46370
46371         [Qt] New input style for Qt Mobile theme
46372         https://bugs.webkit.org/show_bug.cgi?id=46461
46373
46374         Rename themeQtMaemo5.css to themeQtMobile.css since it is the theme for all Qt mobile platform.
46375         Adjust new input style.
46376
46377         * WebCore.pri:
46378         * css/themeQtMobile.css: Renamed from css/themeQtMaemo5.css
46379         (select):
46380         (select:disabled):
46381         (select:active):
46382         (select:active:disabled):
46383         (textarea):
46384         (textarea:disabled):
46385         (textarea:active):
46386         * platform/qt/RenderThemeQt.cpp:
46387         (WebCore::RenderThemeQt::extraDefaultStyleSheet): Renamed themeQtMaemo5UserAgentStyleSheet to themeQtMobileUserAgentStyleSheet to match renamed file.
46388
46389 2010-09-27  Girish Ramakrishnan  <girish@forwardbias.in>
46390
46391         Reviewed by Antonio Gomes.
46392
46393         [Qt] Enable local rendering of NPAPI plugins on Maemo6.
46394
46395         https://bugs.webkit.org/show_bug.cgi?id=46618
46396
46397         * WebCore.pro:
46398         * bridge/npapi.h:
46399         * plugins/PluginView.cpp:
46400         (WebCore::PluginView::setValue):
46401         (WebCore::PluginView::PluginView):
46402         * plugins/PluginView.h:
46403         * plugins/qt/PluginViewQt.cpp:
46404         (WebCore::PluginView::updatePluginWidget):
46405         (WebCore::PluginView::paint):
46406         (WebCore::PluginView::platformGetValueStatic):
46407
46408 2010-09-27  Ilya Tikhonovsky  <loislo@chromium.org>
46409
46410         Reviewed by Pavel Feldman.
46411
46412         Web Inspector: divide InspectorTimelineAgent into two parts.
46413
46414         We have an idea to split InspectorTimelineAgent into two parts.
46415         The first part is an instrumentation API which can be used for DOM breakpoints too.
46416         The other is the real Timeline agent which do a transformation of raw data into timeline data.
46417
46418         https://bugs.webkit.org/show_bug.cgi?id=46611
46419
46420         * inspector/InspectorTimelineAgent.cpp:
46421         (WebCore::InspectorTimelineAgent2::TimelineRecordEntry::TimelineRecordEntry):
46422         (WebCore::InspectorTimelineAgent2::GCEvent::GCEvent):
46423         (WebCore::InspectorTimelineAgent2::InspectorTimelineAgent2):
46424         (WebCore::InspectorTimelineAgent2::~InspectorTimelineAgent2):
46425         (WebCore::InspectorTimelineAgent2::didGC):
46426         (WebCore::InspectorTimelineAgent2::addRecordToTimeline):
46427         (WebCore::InspectorTimelineAgent2::setHeapSizeStatistic):
46428         (WebCore::InspectorTimelineAgent2::startNewRecord):
46429         (WebCore::InspectorTimelineAgent2::completeCurrentRecord):
46430         (WebCore::InspectorTimelineAgent2::asyncRecord):
46431         (WebCore::InspectorTimelineAgent2::atomicRecord):
46432         (WebCore::InspectorTimelineAgent2::getTopRecordData):
46433         (WebCore::InspectorTimelineAgent2::reset):
46434         (WebCore::InspectorTimelineAgent2::resetFrontendProxyObject):
46435         (WebCore::InspectorTimelineAgent2::pushGCEventRecords):
46436         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
46437         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
46438         (WebCore::InspectorTimelineAgent::reset):
46439         (WebCore::InspectorTimelineAgent::willCallFunction):
46440         (WebCore::InspectorTimelineAgent::didCallFunction):
46441         (WebCore::InspectorTimelineAgent::willDispatchEvent):
46442         (WebCore::InspectorTimelineAgent::didDispatchEvent):
46443         (WebCore::InspectorTimelineAgent::willLayout):
46444         (WebCore::InspectorTimelineAgent::didLayout):
46445         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
46446         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
46447         (WebCore::InspectorTimelineAgent::willPaint):
46448         (WebCore::InspectorTimelineAgent::didPaint):
46449         (WebCore::InspectorTimelineAgent::willWriteHTML):
46450         (WebCore::InspectorTimelineAgent::didWriteHTML):
46451         (WebCore::InspectorTimelineAgent::didInstallTimer):
46452         (WebCore::InspectorTimelineAgent::didRemoveTimer):
46453         (WebCore::InspectorTimelineAgent::willFireTimer):
46454         (WebCore::InspectorTimelineAgent::didFireTimer):
46455         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
46456         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
46457         (WebCore::InspectorTimelineAgent::willLoadXHR):
46458         (WebCore::InspectorTimelineAgent::didLoadXHR):
46459         (WebCore::InspectorTimelineAgent::willEvaluateScript):
46460         (WebCore::InspectorTimelineAgent::didEvaluateScript):
46461         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
46462         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
46463         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
46464         (WebCore::InspectorTimelineAgent::didReceiveResourceData):
46465         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
46466         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
46467         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
46468         (WebCore::InspectorTimelineAgent::didMarkTimeline):
46469         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
46470         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
46471         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
46472         * inspector/InspectorTimelineAgent.h:
46473
46474 2010-09-27  Alexander Pavlov  <apavlov@chromium.org>
46475
46476         Reviewed by Sam Weinig.
46477
46478         Implement CSSStyleRule::setSelectorText()
46479
46480         This involves removing the "selectorText" "setter raises(DOMException)" clause from the IDL files,
46481         since the setter no longer raises the exception, as per http://dev.w3.org/csswg/cssom/#dom-cssstylerule-selectortext
46482         https://bugs.webkit.org/show_bug.cgi?id=46487
46483
46484         Test: fast/css/css-set-selector-text.html
46485
46486         * css/CSSPageRule.idl:
46487         * css/CSSStyleRule.cpp:
46488         (WebCore::CSSStyleRule::setSelectorText):
46489         * css/CSSStyleRule.h:
46490         * css/CSSStyleRule.idl:
46491
46492 2010-09-27  Zoltan Herczeg  <zherczeg@webkit.org>
46493
46494         Reviewed by Dirk Schulze.
46495
46496         Filter builder should be able to follow the filter object dependencies
46497         https://bugs.webkit.org/show_bug.cgi?id=45812
46498
46499         To propagate the changes of a primitive object, a data structure
46500         is needed which stores the dependent primitive objects. (Those
46501         who use the resulting image.) This data structure is implemented
46502         as a hash map, which contains primitive object and set of primitive
46503         objects <key,value> pairs. The hash map is able to follow the
46504         dynamic topology changes.
46505
46506         * rendering/RenderSVGResourceFilter.cpp:
46507         (WebCore::RenderSVGResourceFilter::buildPrimitives):
46508         * rendering/RenderSVGResourceFilterPrimitive.h:
46509         (WebCore::RenderSVGResourceFilterPrimitive::renderName):
46510         (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
46511         * svg/graphics/filters/SVGFilterBuilder.cpp:
46512         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
46513         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
46514         (WebCore::SVGFilterBuilder::clearEffects):
46515         * svg/graphics/filters/SVGFilterBuilder.h:
46516         (WebCore::SVGFilterBuilder::getEffectReferences):
46517         (WebCore::SVGFilterBuilder::addBuiltinEffects):
46518
46519 2010-09-27  Andreas Kling  <andreas.kling@nokia.com>
46520
46521         Rubber-stamped by Kenneth Rohde Christiansen.
46522
46523         [Qt] 32-bit Flash crashes on repeated SetWindow calls
46524         https://bugs.webkit.org/show_bug.cgi?id=46616
46525
46526         Re-enable PluginQuirkDontCallSetWindowMoreThanOnce for Qt on x86 Unix.
46527
46528         We incorrectly thought this was fixed in Flash 10, but it turns out it
46529         was just never broken on 64-bit.
46530
46531         * plugins/PluginPackage.cpp:
46532         (WebCore::PluginPackage::determineQuirks):
46533
46534 2010-09-27  İsmail Dönmez  <ismail@namtrac.org>
46535
46536         Reviewed by Andreas Kling.
46537
46538         Add PluginView::setJavaScriptPaused(bool) stub for WinCE.
46539
46540         * platform/qt/TemporaryLinkStubsQt.cpp:
46541         (PluginView::setJavaScriptPaused):
46542
46543 2010-09-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
46544
46545         Reviewed by Dirk Schulze.
46546
46547         Bug 46607 -  [WML] Fix a build break when WML is enabled
46548
46549         Fix a build break when WML is enabled.
46550
46551         * wml/WMLElement.cpp: Include HTMLParserIdioms.h
46552         (WebCore::WMLElement::parseMappedAttribute): Add additional parameter to invoke parseHTMLInteger() function. 
46553
46554 2010-09-26  Patrick Gansterer  <paroga@webkit.org>
46555
46556         Reviewed by Adam Barth.
46557
46558         Remove dead code and fix header includes in ResourceHandleWin
46559         https://bugs.webkit.org/show_bug.cgi?id=46479
46560
46561         Also add missing member varibale from r68167.
46562
46563         * platform/network/ResourceHandle.h:
46564         * platform/network/ResourceHandleInternal.h:
46565         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
46566         * platform/network/win/ResourceHandleWin.cpp:
46567         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
46568         (WebCore::ResourceHandle::~ResourceHandle):
46569         (WebCore::ResourceHandle::onRequestComplete):
46570         * platform/network/win/ResourceHandleWin.h: Removed.
46571
46572 2010-09-26  Patrick Gansterer  <paroga@webkit.org>
46573
46574         Reviewed by Adam Barth.
46575
46576         Add WTF::StringHasher::createBlobHash
46577         https://bugs.webkit.org/show_bug.cgi?id=46514
46578
46579         Add this function for hashing FormElementKey and QualifiedNameComponents.
46580
46581         * dom/Document.cpp:
46582         (WebCore::FormElementKeyHash::hash):
46583         * dom/QualifiedName.h:
46584         (WebCore::hashComponents):
46585         (WebCore::QualifiedNameHash::hash):
46586
46587 2010-09-26  David Hyatt  <hyatt@apple.com>
46588
46589         Reviewed by Sam Weinig.
46590
46591         https://bugs.webkit.org/show_bug.cgi?id=46519
46592
46593         Convert the implementation of computeLogicalWidth to work with block-flow.
46594
46595         * rendering/RenderBlock.cpp:
46596         (WebCore::RenderBlock::determineHorizontalPosition):
46597         Patched to call the new computeMarginsInContainingBlockInlineDirection.  Eventually determineHorizontalPosition will
46598         be placing children along the inline direction of the containing block, and those children may have mismatched
46599         block flows.  The new computeMarginsInContainingBlockInlineDirection function is designed to handle that.
46600
46601         * rendering/RenderBox.cpp:
46602         (WebCore::RenderBox::marginStart):
46603         (WebCore::RenderBox::marginStartUsing):
46604         (WebCore::RenderBox::marginEnd):
46605         (WebCore::RenderBox::marginEndUsing):
46606         (WebCore::RenderBox::setMarginStart):
46607         (WebCore::RenderBox::setMarginEnd):
46608         (WebCore::RenderBox::setMarginStartUsing):
46609         (WebCore::RenderBox::setMarginEndUsing):
46610         Helpers that allow for marginStart/End access and that also allow for marginStart/End to be computed based off another
46611         element's block-flow and direction (typically the containing block).
46612         
46613         (WebCore::RenderBox::computeBorderBoxLogicalWidth):
46614         (WebCore::RenderBox::computeBorderBoxLogicalHeight):
46615         (WebCore::RenderBox::computeContentBoxLogicalWidth):
46616         (WebCore::RenderBox::computeContentBoxLogicalHeight):
46617         Patched to use logical border/padding widths and heights.
46618
46619         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
46620         A function for returning the available logical height of a perpendicular containing block.  If a child has vertical
46621         text for example and its block-flow is "lr", its available logical width is determined by the logical
46622         height of the containing block when that containing block is perpendicular, e.g. "tb".
46623         
46624         (WebCore::RenderBox::computeLogicalWidth):
46625         (WebCore::RenderBox::computeLogicalWidthUsing):
46626         Patched to be block-flow-aware and to use logical width values everywhere.
46627     
46628         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
46629         Patched to use logical widths.
46630         
46631         (WebCore::RenderBox::computeMarginsInContainingBlockInlineDirection):
46632         A new function that is directionally abstract and that can handle the computation of margins in the containing
46633         block's inline direction.  This function is written such that a perpendicular child block flow can still be 
46634         pushed to the center, left or right in the containing block's inline direction.
46635         
46636         (WebCore::RenderBox::computePositionedLogicalWidth):
46637         This function is still largely unpatched.  A future patch will address positioend elements.
46638         
46639         * rendering/RenderBox.h:
46640         (WebCore::RenderBox::stretchesToMinIntrinsicLogicalWidth):
46641         * rendering/RenderFieldset.h:
46642         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
46643         Renames.
46644         
46645         * rendering/RenderTable.cpp:
46646         (WebCore::RenderTable::computeLogicalWidth):
46647         Renames, but not converted yet. Tables will happen in a future patch.
46648         
46649         * rendering/style/RenderStyle.cpp:
46650         (WebCore::RenderStyle::marginStartUsing):
46651         (WebCore::RenderStyle::marginEndUsing):
46652         * rendering/style/RenderStyle.h:
46653         Added helpers for accessing marginStart and End using another style's direction and block flow (typically will
46654         be the containing block's).
46655
46656         fast/block/basic/016.html changed, since centering now always awards the extra pixel for odd widths to the end margin
46657         instead of the right margin.  This is a progression.
46658         
46659         fast/css/logical-property-values.html is now reporting garbage results, which is expected now that some of the core layout
46660         functions have been patched.
46661
46662         Horizontal block flows are untestable still, since the normal layout process incorrectly blows away any computed height values.
46663
46664 2010-09-26  Antonio Gomes  <agomes@rim.comg>
46665
46666         Reviewed by Kenneth Rohde Christiansen.
46667
46668         DRT/Mac nodesFromRect support
46669
46670         [Mac][DRT] Implement LayoutTestController::nodesFromRect
46671         https://bugs.webkit.org/show_bug.cgi?id=46580
46672
46673         Symbol files updated.
46674
46675         * WebCore.exp.in: Added symbols to Document::nodesFromRect and bits of JSDocument now
46676         needed in WebKit/mac.
46677         * WebCore.xcodeproj/project.pbxproj: Set both JSDocument.h and JSNodeList as private headers
46678         now that they are referred in WebKit/mac.
46679
46680 2010-09-26  Adam Barth  <abarth@webkit.org>
46681
46682         Reviewed by Dimitri Glazkov.
46683
46684         Implement location.origin and HTMLAnchorElement.origin
46685         https://bugs.webkit.org/show_bug.cgi?id=46558
46686
46687         These attributes are part of my proposed URL API:
46688         https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en
46689
46690         Hixie thought we should implement as much of this API as makes sense on
46691         Location and HTMLAnchorElement as well.  I'm starting with the origin
46692         attribute, because that seems like the biggest bang for the buck.
46693
46694         Tests: fast/dom/anchor-origin.html
46695                http/tests/misc/location-origin.html
46696
46697         * WebCore.xcodeproj/project.pbxproj:
46698         * html/HTMLAnchorElement.cpp:
46699         (WebCore::HTMLAnchorElement::origin):
46700         * html/HTMLAnchorElement.h:
46701         * html/HTMLAnchorElement.idl:
46702         * page/Location.cpp:
46703         (WebCore::Location::origin):
46704         * page/Location.h:
46705         * page/Location.idl:
46706
46707 2010-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
46708
46709         Unreviewed, rolling out r68343.
46710         http://trac.webkit.org/changeset/68343
46711         https://bugs.webkit.org/show_bug.cgi?id=46581
46712
46713         broke GTK+ (Requested by kling on #webkit).
46714
46715         * html/canvas/CanvasRenderingContext2D.cpp:
46716         (WebCore::CanvasRenderingContext2D::setFont):
46717
46718 2010-09-25  Antonio Gomes  <agomes@rim.com>
46719
46720         Reviewed by Kenneth Christiansen and Andreas Kling.
46721
46722         document.nodesFromRect() needs to be removed from Document.idl
46723         https://bugs.webkit.org/show_bug.cgi?id=46492
46724
46725         As discussed with Sam Weinig on IRC, it was decided to removed
46726         nodesFromRect() from the Document.idl, and that way, not exposing
46727         it to Web content.
46728
46729         Reason: there is no plan to make it standard at the moment, and at the
46730         very least, the method should had been originally added with the "webkit"
46731         prefix, which was not the case.
46732
46733         * dom/Document.idl:
46734
46735 2010-09-26  Renata Hodovan  <reni@inf.u-szeged.hu>
46736
46737         Reviewed by Dirk Schulze.
46738
46739         SVGFEBlendElement doesn't support dynamic invalidation, when attributes change.
46740         https://bugs.webkit.org/show_bug.cgi?id=46464
46741
46742         Tests: svg/dynamic-updates/SVGFEBlendElement-dom-in-attr.html
46743                svg/dynamic-updates/SVGFEBlendElement-dom-in2-attr.html
46744                svg/dynamic-updates/SVGFEBlendElement-dom-mode-attr.html
46745                svg/dynamic-updates/SVGFEBlendElement-svgdom-in-prop.html
46746                svg/dynamic-updates/SVGFEBlendElement-svgdom-in2-prop.html
46747                svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop.html
46748
46749         * svg/SVGFEBlendElement.cpp:
46750         (WebCore::SVGFEBlendElement::svgAttributeChanged):
46751         * svg/SVGFEBlendElement.h:
46752
46753 2010-09-26  Andreas Kling  <andreas.kling@nokia.com>
46754
46755         Reviewed by Dan Bernstein.
46756
46757         Canvas: Crash when setting a font with size in 'ex' units
46758         https://bugs.webkit.org/show_bug.cgi?id=46538
46759
46760         update() the style's font after setting the style's font description.
46761         Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
46762         that the style's font is properly initialized (for xHeight().)
46763
46764         Fixes crash on IE test center's canvas-text-font-002 test.
46765
46766         * html/canvas/CanvasRenderingContext2D.cpp:
46767         (WebCore::CanvasRenderingContext2D::setFont):
46768
46769 2010-09-26  Kwang Yul Seo  <skyul@company100.net>
46770
46771         Reviewed by Eric Seidel.
46772
46773         [BREWMP] Don't pass PassOwnPtr in makeAllDirectories
46774         https://bugs.webkit.org/show_bug.cgi?id=42058
46775
46776         Change makeAllDirectories to take a raw FileMgr pointer
46777         because it is not safe to pass PassOwnPtr recursively.
46778
46779         * platform/brew/FileSystemBrew.cpp:
46780         (WebCore::makeAllDirectories):
46781
46782 2010-09-26  Robert Hogan  <robert@webkit.org>
46783
46784         Reviewed by Andreas Kling.
46785
46786         [Qt] fix http/tests/uri/escaped-entity.html
46787
46788         Replace invalid encodings with the appropriate escaped entity.
46789
46790         See also http://bugreports.qt.nokia.com/browse/QTBUG-13412
46791
46792         https://bugs.webkit.org/show_bug.cgi?id=45245
46793
46794         * platform/text/qt/TextCodecQt.cpp:
46795         (WebCore::TextCodecQt::encode):
46796
46797 2010-09-25  Abhishek Arya  <inferno@chromium.org>
46798
46799         Reviewed by Nikolas Zimmermann.
46800
46801         Fix the macro to bail out after setting the SVG style to 'initial'. Check that color is
46802         SVGColor before calling colorFromSVGColorCSSValue which makes sure we don't set invalid
46803         color. Also, doing the static cast in the caller and keeping the function
46804         colorFromSVGColorCSSValue clean to accept only take SVGColor objects.
46805         
46806         https://bugs.webkit.org/show_bug.cgi?id=46471
46807
46808         Test: svg/css/invalid-color-crash.svg
46809
46810         * css/SVGCSSStyleSelector.cpp:
46811         (WebCore::colorFromSVGColorCSSValue):
46812         (WebCore::CSSStyleSelector::applySVGProperty):
46813
46814 2010-09-25  Ryosuke Niwa  <rniwa@webkit.org>
46815
46816         Reviewed by Tony Chang.
46817
46818         FormatBlockCommand's modifyRange and doApply should be merged
46819         https://bugs.webkit.org/show_bug.cgi?id=46504
46820
46821         Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
46822         Merged the code in modifyRange into doApply and cleaned up.
46823
46824         No new tests are added since this is a cleanup.
46825
46826         * editing/FormatBlockCommand.cpp:
46827         (WebCore::FormatBlockCommand::doApply): Merged with modifyRange; calls doApplyForSingleParagraph.
46828         (WebCore::FormatBlockCommand::doApplyForSingleParagraph): Added.
46829         * editing/FormatBlockCommand.h:
46830
46831 2010-09-25  Dan Bernstein  <mitz@apple.com>
46832
46833         Reviewed by John Sullivan.
46834
46835         <rdar://problem/8478160> Null deref in InlineBox::height()
46836         https://bugs.webkit.org/show_bug.cgi?id=45344
46837
46838         Test: fast/css/first-line-parent-style-different.html
46839
46840         * rendering/RenderObject.cpp:
46841         (WebCore::RenderObject::firstLineStyleSlowCase): Set the pseudo style bit on the RenderStyle
46842         which is going to supply the first-line style rather than on this object’s RenderStyle. The
46843         styles may differ.
46844
46845 2010-09-25  Dan Bernstein  <mitz@apple.com>
46846
46847         Reviewed by John Sullivan.
46848
46849         <rdar://problem/8478182> Make canHyphenate() return false for unsupported locales
46850
46851         No change in functionality, hence no new test.
46852
46853         * platform/text/cf/HyphenationCF.cpp:
46854         (WebCore::::createValueForKey): Return 0 if hyphenation is not available for the locale.
46855         (WebCore::cfLocaleCache): Moved the definition of the cache from lastHyphenLocation() to
46856         this new getter to allow canHyphenate() to share it.
46857         (WebCore::canHyphenate): Now returns true only if hyphenation is available.
46858         (WebCore::lastHyphenLocation): Added an assertion.
46859
46860 2010-09-25  Andreas Kling  <andreas.kling@nokia.com>
46861
46862         Reviewed by Kenneth Rohde Christiansen.
46863
46864         [Qt] GraphicsContext::setLineDash() should scale dashOffset to penWidth
46865         https://bugs.webkit.org/show_bug.cgi?id=46548
46866
46867         Fixes incorrect rendering of <http://www.carto.net/svg/samples/animated_bustrack.shtml>
46868
46869         This is covered by existing layout tests which need to be rebaselined.
46870
46871         * platform/graphics/qt/GraphicsContextQt.cpp:
46872         (WebCore::GraphicsContext::setLineDash):
46873
46874 2010-09-24  Sam Weinig  <sam@webkit.org>
46875
46876         Rubber-stamped by Dan Bernstein.
46877
46878         Fix accidental increase in the size of InlineBox by using a bit
46879         field to indicate that a bool should only take up 1 bit.
46880
46881         * rendering/InlineBox.h:
46882
46883 2010-09-24  Simon Fraser  <simon.fraser@apple.com>
46884
46885         Reviewed by Sam Weinig.
46886
46887         Accelerated transitions do not suspend/resume properly.
46888         https://bugs.webkit.org/show_bug.cgi?id=43792
46889         
46890         (1) Fix regression from r68233, where if an animation affected two
46891         properties, only one would animate. The testcase tests this.
46892         
46893         (2) Fix a flash at the end of an animation or transition that has been
46894         paused and resumed. The flash occurred because we used CAAnimation's
46895         timeOffset when resuming to push the start of the animation into
46896         the past. However, timeOffset does not play nicely with fill modes,
46897         causing a single frame of animation with the element in its unanimated state.
46898         
46899         Fixed this by offsetting the beginTime into the past, rather than setting
46900         timeOffset. Normally we submit animations with beginTime == 0, and rely
46901         on CA assigning a beginTime when the animation is committed. This beginTime
46902         is then passed to AnimationController to sync hardware and software animations.
46903         However, since the code now assigns beginTimes in the past (on resume),
46904         we now have to denote whether we've done this, and send an appropriate
46905         timestamp back to AnimationController.
46906         
46907         (3) Finally, the patch removes PropertyAnimationPair and just uses LayerPropertyAnimation
46908         instead. This is just cleanup.
46909
46910         Test: animations/opacity-transform-animation.html
46911
46912         * platform/graphics/mac/GraphicsLayerCA.h: Remove PropertyAnimationPair,
46913         and change AnimationsMap to store a vector of LayerPropertyAnimation.
46914         New method, animationDidStart(), is called from the -animationDidStart: callback.
46915         
46916         * platform/graphics/mac/GraphicsLayerCA.mm:
46917         (-[WebAnimationDelegate animationDidStart:]): Just call m_graphicsLayer->animationDidStart()
46918         now.
46919         (WebCore::animationIdentifier): We need to pass in the property, to fix (1)
46920         (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Copy the WebKitAnimationBeginTimeSet
46921         value, if present.
46922         (WebCore::GraphicsLayerCA::animationDidStart): Call notifyAnimationStarted() on the client,
46923         after testing if we set a non-zero beginTime on this particular animation.
46924         (WebCore::GraphicsLayerCA::updateLayerAnimations): Change to use LayerPropertyAnimation.
46925         (WebCore::GraphicsLayerCA::setCAAnimationOnLayer): Set value for WebKitAnimationBeginTimeSetKey
46926         if we have a non-zero timeOffset. Make animationID an NSString, to avoid several conversions.
46927         (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):  Make animationID an NSString, to
46928         avoid several conversions.
46929         (WebCore::copyAnimationProperties): Copy WebKitAnimationBeginTimeSetKey if present.
46930         (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Make animationID an NSString, to avoid
46931         several conversions.
46932
46933 2010-09-24  Andreas Kling  <andreas.kling@nokia.com>
46934
46935         Reviewed by Kenneth Rohde Christiansen.
46936
46937         SVG: Avoid calling pow() in genericParseNumber() unless necessary
46938         https://bugs.webkit.org/show_bug.cgi?id=46537
46939
46940         0.4% speedup on <http://themaninblue.com/experiment/AnimationBenchmark/svg/>
46941
46942         * svg/SVGParserUtilities.cpp:
46943         (WebCore::genericParseNumber): Only call pow() when we have an exponent.
46944
46945 2010-09-24  Martin Robinson  <mrobinson@igalia.com>
46946
46947         Reviewed by Gustavo Noronha Silva.
46948
46949         [GTK] opening local files on win32
46950         https://bugs.webkit.org/show_bug.cgi?id=31066
46951
46952         This is tested by changes to the testmimehandling API test.
46953
46954         * platform/network/soup/ResourceHandleSoup.cpp: Properly convert the GContentType
46955         of a file into a mime type. This is important for non-Unix platforms.
46956
46957 2010-09-24  Pawel Hajdan  <phajdan.jr@chromium.org>
46958
46959         Reviewed by Dumitru Daniliuc.
46960
46961         Move the implementation of chromium_vfs to webkit for POSIX.
46962         This allows us to link Chrome with system-provided SQLite on Linux.
46963         See also http://code.google.com/p/chromium/issues/detail?id=22208.
46964         https://bugs.webkit.org/show_bug.cgi?id=45416
46965
46966         No new tests.
46967
46968         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
46969         (sqliteErrorFromPosixError):
46970         (releaseLockInfo):
46971         (releaseOpenInfo):
46972         (findLockInfo):
46973         (chromiumCheckReservedLock):
46974         (rangeLock):
46975         (chromiumLock):
46976         (closePendingFds):
46977         (chromiumUnlock):
46978         (chromiumCloseNoLock):
46979         (chromiumClose):
46980         (chromiumCheckReservedLockNoop):
46981         (chromiumLockNoop):
46982         (chromiumUnlockNoop):
46983         (seekAndRead):
46984         (chromiumRead):
46985         (seekAndWrite):
46986         (chromiumWrite):
46987         (syncWrapper):
46988         (chromiumSync):
46989         (chromiumTruncate):
46990         (chromiumFileSize):
46991         (chromiumFileControl):
46992         (chromiumSectorSize):
46993         (chromiumDeviceCharacteristics):
46994         (fillInChromiumFile):
46995         (findReusableFd):
46996         (chromiumOpen):
46997         (chromiumDelete):
46998         (chromiumAccess):
46999         (chromiumFullPathname):
47000         (chromiumDlOpen):
47001         (chromiumDlError):
47002         (chromiumDlSym):
47003         (chromiumDlClose):
47004         (chromiumRandomness):
47005         (chromiumSleep):
47006         (chromiumCurrentTime):
47007         (chromiumGetLastError):
47008         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
47009
47010 2010-09-24  Andreas Kling  <andreas.kling@nokia.com>
47011
47012         Reviewed by Dirk Schulze.
47013
47014         SVG: Make SVGLength's stringToLengthType() stricter and faster
47015         https://bugs.webkit.org/show_bug.cgi?id=46066
47016
47017         Only accept unit names immediately following the numeric value.
47018         This behavior matches Gecko.
47019
47020         Also, using String::endsWith("foo") caused a temporary WTF::String to be created.
47021         Avoid this by comparing characters directly.
47022
47023         10.5% speedup on <http://data.xeoh.net/svg.benchmark/>
47024
47025         Test: svg/custom/invalid-length-units.html
47026
47027         * svg/SVGLength.cpp:
47028         (WebCore::stringToLengthType):
47029         (WebCore::SVGLength::setValueAsString):
47030
47031 2010-09-24  Luiz Agostini  <luiz.agostini@openbossa.org>
47032         Reviewed by Kenneth Rohde Christiansen.
47033
47034         Keep viewport information in Document
47035         https://bugs.webkit.org/show_bug.cgi?id=46385
47036
47037         The viewport meta data (layout viewport, scale) needs to be set again when bringing
47038         back a page from the page cache. As the viewport metadata is only retrieved while parsing
47039         the document, we need to store it in the Document class.
47040
47041         Test: fast/viewport/viewport-128.html
47042
47043         * WebCore.xcodeproj/project.pbxproj:
47044         * dom/Document.cpp:
47045         (WebCore::Document::processViewport):
47046         (WebCore::Document::setInPageCache):
47047         * dom/Document.h:
47048         (WebCore::Document::viewportArguments):
47049         
47050 2010-09-24  David Hyatt  <hyatt@apple.com>
47051
47052         Reviewed by Sam Weinig.
47053
47054         https://bugs.webkit.org/show_bug.cgi?id=46496, rename containingBlockWidthForContent to
47055         containingBlockLogicalWidthForContent.
47056
47057         * rendering/RenderBlock.cpp:
47058         (WebCore::RenderBlock::localCaretRect):
47059         * rendering/RenderBox.cpp:
47060         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
47061         (WebCore::RenderBox::computeLogicalWidth):
47062         (WebCore::RenderBox::computeReplacedWidthUsing):
47063         * rendering/RenderBox.h:
47064         * rendering/RenderBoxModelObject.cpp:
47065         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
47066         (WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
47067         * rendering/RenderBoxModelObject.h:
47068
47069 2010-09-24  David Hyatt  <hyatt@apple.com>
47070
47071         Reviewed by Sam Weinig.
47072
47073         https://bugs.webkit.org/show_bug.cgi?id=46489, rename the lineWidth and left/RightOffset methods
47074         to reflect that they will be logical.
47075
47076         * rendering/RenderBlock.cpp:
47077         (WebCore::RenderBlock::determineHorizontalPosition):
47078         (WebCore::RenderBlock::leftSelectionOffset):
47079         (WebCore::RenderBlock::rightSelectionOffset):
47080         (WebCore::RenderBlock::positionNewFloats):
47081         (WebCore::RenderBlock::logicalLeftOffsetForContent):
47082         (WebCore::RenderBlock::logicalLeftOffsetForLine):
47083         (WebCore::RenderBlock::logicalRightOffsetForContent):
47084         (WebCore::RenderBlock::logicalRightOffsetForLine):
47085         (WebCore::RenderBlock::availableLogicalWidthForLine):
47086         (WebCore::RenderBlock::getClearDelta):
47087         * rendering/RenderBlock.h:
47088         (WebCore::RenderBlock::logicalRightOffsetForLine):
47089         (WebCore::RenderBlock::logicalLeftOffsetForLine):
47090         * rendering/RenderBlockLineLayout.cpp:
47091         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
47092         (WebCore::RenderBlock::layoutInlineChildren):
47093         (WebCore::RenderBlock::skipTrailingWhitespace):
47094         (WebCore::RenderBlock::skipLeadingWhitespace):
47095         (WebCore::RenderBlock::fitBelowFloats):
47096         (WebCore::RenderBlock::findNextLineBreak):
47097         (WebCore::RenderBlock::checkLinesForTextOverflow):
47098         * rendering/RenderBox.cpp:
47099         (WebCore::RenderBox::containingBlockWidthForContent):
47100         * rendering/RenderFlexibleBox.cpp:
47101         (WebCore::RenderFlexibleBox::applyLineClamp):
47102         * rendering/RenderListItem.cpp:
47103         (WebCore::RenderListItem::positionListMarker):
47104         * rendering/RenderTable.cpp:
47105         (WebCore::RenderTable::computeLogicalWidth):
47106         * rendering/RootInlineBox.cpp:
47107         (WebCore::RootInlineBox::selectionTop):
47108
47109 2010-09-24  Abhishek Arya  <inferno@chromium.org>
47110
47111         Reviewed by Simon Fraser.
47112
47113         Comply with spec by generalizing container on which transforms can be applied.
47114         https://bugs.webkit.org/show_bug.cgi?id=46485
47115
47116         Already covered by existing tests.
47117
47118         * rendering/RenderObject.cpp:
47119         (WebCore::RenderObject::getTransformFromContainer):
47120
47121 2010-09-24  David Hyatt  <hyatt@apple.com>
47122
47123         Reviewed by Simon Fraser.
47124
47125         https://bugs.webkit.org/show_bug.cgi?id=46482, rename the various prefWidth functions to use
47126         preferredLogicalWidth.
47127
47128         * rendering/AutoTableLayout.cpp:
47129         (WebCore::AutoTableLayout::recalcColumn):
47130         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
47131         (WebCore::AutoTableLayout::calcEffectiveWidth):
47132         * rendering/AutoTableLayout.h:
47133         * rendering/FixedTableLayout.cpp:
47134         (WebCore::FixedTableLayout::calcWidthArray):
47135         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
47136         * rendering/FixedTableLayout.h:
47137         * rendering/RenderBlock.cpp:
47138         (WebCore::RenderBlock::layoutBlockChildren):
47139         (WebCore::RenderBlock::layoutPositionedObjects):
47140         (WebCore::RenderBlock::getClearDelta):
47141         (WebCore::RenderBlock::computePreferredLogicalWidths):
47142         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
47143         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
47144         * rendering/RenderBlock.h:
47145         * rendering/RenderBlockLineLayout.cpp:
47146         (WebCore::dirtyLineBoxesForRenderer):
47147         (WebCore::RenderBlock::layoutInlineChildren):
47148         * rendering/RenderBox.cpp:
47149         (WebCore::RenderBox::RenderBox):
47150         (WebCore::RenderBox::minPreferredLogicalWidth):
47151         (WebCore::RenderBox::maxPreferredLogicalWidth):
47152         (WebCore::RenderBox::computeLogicalWidth):
47153         (WebCore::RenderBox::computeLogicalWidthUsing):
47154         (WebCore::RenderBox::computePositionedLogicalWidth):
47155         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
47156         * rendering/RenderBox.h:
47157         (WebCore::RenderBox::computePreferredLogicalWidths):
47158         * rendering/RenderCounter.cpp:
47159         (WebCore::RenderCounter::computePreferredLogicalWidths):
47160         * rendering/RenderCounter.h:
47161         * rendering/RenderDataGrid.cpp:
47162         (WebCore::RenderDataGrid::computePreferredLogicalWidths):
47163         * rendering/RenderDataGrid.h:
47164         * rendering/RenderFieldset.cpp:
47165         (WebCore::RenderFieldset::computePreferredLogicalWidths):
47166         * rendering/RenderFieldset.h:
47167         * rendering/RenderFileUploadControl.cpp:
47168         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
47169         * rendering/RenderFileUploadControl.h:
47170         * rendering/RenderFlexibleBox.cpp:
47171         (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
47172         (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
47173         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
47174         (WebCore::RenderFlexibleBox::allowedChildFlex):
47175         * rendering/RenderFlexibleBox.h:
47176         * rendering/RenderFrameBase.cpp:
47177         (WebCore::RenderFrameBase::layoutWithFlattening):
47178         * rendering/RenderHTMLCanvas.cpp:
47179         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
47180         * rendering/RenderImage.cpp:
47181         (WebCore::RenderImage::imageChanged):
47182         * rendering/RenderListBox.cpp:
47183         (WebCore::RenderListBox::computePreferredLogicalWidths):
47184         * rendering/RenderListBox.h:
47185         * rendering/RenderListItem.cpp:
47186         (WebCore::RenderListItem::updateMarkerLocation):
47187         (WebCore::RenderListItem::computePreferredLogicalWidths):
47188         * rendering/RenderListItem.h:
47189         * rendering/RenderListMarker.cpp:
47190         (WebCore::RenderListMarker::layout):
47191         (WebCore::RenderListMarker::computePreferredLogicalWidths):
47192         (WebCore::RenderListMarker::updateMargins):
47193         * rendering/RenderListMarker.h:
47194         * rendering/RenderMenuList.cpp:
47195         (WebCore::RenderMenuList::computePreferredLogicalWidths):
47196         * rendering/RenderMenuList.h:
47197         * rendering/RenderObject.cpp:
47198         (WebCore::RenderObject::RenderObject):
47199         (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
47200         (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
47201         * rendering/RenderObject.h:
47202         (WebCore::RenderObject::preferredLogicalWidthsDirty):
47203         (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
47204         (WebCore::RenderObject::minPreferredLogicalWidth):
47205         (WebCore::RenderObject::maxPreferredLogicalWidth):
47206         * rendering/RenderReplaced.cpp:
47207         (WebCore::RenderReplaced::computePreferredLogicalWidths):
47208         * rendering/RenderReplaced.h:
47209         * rendering/RenderReplica.cpp:
47210         (WebCore::RenderReplica::computePreferredLogicalWidths):
47211         * rendering/RenderReplica.h:
47212         * rendering/RenderSVGRoot.cpp:
47213         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
47214         * rendering/RenderSVGRoot.h:
47215         * rendering/RenderScrollbarPart.cpp:
47216         (WebCore::RenderScrollbarPart::computePreferredLogicalWidths):
47217         * rendering/RenderScrollbarPart.h:
47218         * rendering/RenderSlider.cpp:
47219         (WebCore::RenderSlider::computePreferredLogicalWidths):
47220         * rendering/RenderSlider.h:
47221         * rendering/RenderTable.cpp:
47222         (WebCore::RenderTable::computeLogicalWidth):
47223         (WebCore::RenderTable::computePreferredLogicalWidths):
47224         * rendering/RenderTable.h:
47225         * rendering/RenderTableCell.cpp:
47226         (WebCore::RenderTableCell::computePreferredLogicalWidths):
47227         * rendering/RenderTableCell.h:
47228         * rendering/RenderTableCol.cpp:
47229         (WebCore::RenderTableCol::computePreferredLogicalWidths):
47230         * rendering/RenderTableCol.h:
47231         * rendering/RenderText.cpp:
47232         (WebCore::RenderText::trimmedPrefWidths):
47233         (WebCore::RenderText::minPreferredLogicalWidth):
47234         (WebCore::RenderText::maxPreferredLogicalWidth):
47235         (WebCore::RenderText::computePreferredLogicalWidths):
47236         (WebCore::RenderText::width):
47237         * rendering/RenderText.h:
47238         * rendering/RenderTextControl.cpp:
47239         (WebCore::RenderTextControl::computePreferredLogicalWidths):
47240         * rendering/RenderTextControl.h:
47241         * rendering/RenderTextControlSingleLine.cpp:
47242         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
47243         (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
47244         * rendering/RenderVideo.cpp:
47245         (WebCore::RenderVideo::updateIntrinsicSize):
47246         * rendering/RenderView.cpp:
47247         (WebCore::RenderView::RenderView):
47248         (WebCore::RenderView::computePreferredLogicalWidths):
47249         (WebCore::RenderView::layout):
47250         * rendering/RenderView.h:
47251         * rendering/TableLayout.h:
47252
47253 2010-09-24  Jian Li  <jianli@chromium.org>
47254
47255         Reviewed by Alexey Proskuryakov.
47256
47257         DOMWindow::revokeBlobURL erroneously uses ParsedURLString.
47258         https://bugs.webkit.org/show_bug.cgi?id=46434
47259
47260         Test: fast/files/revoke-blob-url.html
47261
47262         * page/DOMWindow.cpp:
47263         (WebCore::DOMWindow::revokeBlobURL):
47264
47265 2010-09-24  David Hyatt  <hyatt@apple.com>
47266
47267         Reviewed by Sam Weinig.
47268
47269         https://bugs.webkit.org/show_bug.cgi?id=46474
47270         
47271         Patch computeWidthUsing to be block-flow-aware.  Rename the WidthType enum to LogicalWidthType.  Make computeLogicalWidthUsing
47272         query the style for logical width properties instead of width properties.
47273         
47274         fast/css/logical-property-resolution.html now fails and gives bad results.  This is expected.  It will become correct
47275         again as more layout code gets patched.
47276
47277         * rendering/RenderBox.cpp:
47278         (WebCore::RenderBox::computeLogicalWidth):
47279         (WebCore::RenderBox::computeLogicalWidthUsing):
47280         (WebCore::RenderBox::sizesToIntrinsicWidth):
47281         * rendering/RenderBox.h:
47282
47283 2010-09-24  Andrey Kosyakov  <caseq@chromium.org>
47284
47285         Reviewed by Pavel Feldman.
47286
47287         Web Inspector: Clicking "Select All" in audits panel has no effect when the checkbox is unchecked
47288         Only add category event listeners to real categories, not to "Select All"
47289         https://bugs.webkit.org/show_bug.cgi?id=46467
47290
47291         * inspector/front-end/AuditLauncherView.js:
47292         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
47293
47294 2010-09-24  Hans Wennborg  <hans@chromium.org>
47295
47296         Reviewed by Steve Block.
47297
47298         Remove unnecessary casts in DeviceOrientation V8 bindings
47299         https://bugs.webkit.org/show_bug.cgi?id=46466
47300
47301         Remove unnecessary casts of v8::Value::NumberValue() to double from
47302         the custom v8 bindings code for DeviceOrientation/Motion.
47303
47304         No new tests: just cleanup, no new functionality.
47305
47306         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47307         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47308         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
47309         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
47310
47311 2010-09-24  Ilya Tikhonovsky  <loislo@chromium.org>
47312
47313         Reviewed by Pavel Feldman.
47314
47315         Web Inspector: move searchingForNode flag in InspectorController under control of InspectorCookies.
47316
47317         Four functions from Inspector IDL go away.
47318         Searching for node feature of Inspector keeps alive even after navigation.
47319
47320         https://bugs.webkit.org/show_bug.cgi?id=46462
47321
47322         * inspector/Inspector.idl:
47323         * inspector/InspectorController.cpp:
47324         (WebCore::InspectorController::updateInspectorStateCookie):
47325         (WebCore::InspectorController::restoreInspectorStateFromCookie):
47326         (WebCore::InspectorController::setSearchingForNode):
47327         (WebCore::InspectorController::populateScriptObjects):
47328         * inspector/InspectorController.h:
47329         * inspector/front-end/ElementsPanel.js:
47330         (WebInspector.ElementsPanel.prototype.hide):
47331         (WebInspector.ElementsPanel.prototype.updateFocusedNode):
47332         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
47333         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
47334         (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
47335         * inspector/front-end/inspector.js:
47336         (WebInspector._updateFocusedNode):
47337
47338 2010-09-24  Andrei Popescu  <andreip@google.com>
47339
47340         Reviewed by Jeremy Orlow.
47341
47342         IDBTransactionCoordinator incorrectly assumes that aborted transactions must have been started or running.
47343         https://bugs.webkit.org/show_bug.cgi?id=46459
47344
47345         No new tests, storage/indexeddb/transaction-basics.html covers this.
47346
47347         Also fixes http://code.google.com/p/chromium/issues/detail?id=56732
47348
47349         * storage/IDBTransactionCoordinator.cpp:
47350         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
47351
47352 2010-09-24  Hans Wennborg  <hans@chromium.org>
47353
47354         Reviewed by Steve Block.
47355
47356         Update DeviceMotionEvent to spec
47357         https://bugs.webkit.org/show_bug.cgi?id=46344
47358
47359         The spec has changed: the DeviceMotionEvent attributes accelerationX,
47360         accelerationY, etc. have been baked into an 'acceleration' attribute
47361         which returns an object with x, y, and z values. Likewise for the
47362         rotation rate. The 'accelerationIncludingGravity' attribute is new.
47363
47364         * WebCore.exp.in:
47365         The DeviceMotionData::create member function has changed. Also export
47366         create functions for DeviceMotionData::Acceleration and RotationRate.
47367
47368         * bindings/js/JSDeviceMotionEventCustom.cpp:
47369         (WebCore::JSDeviceMotionEvent::acceleration):
47370         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
47371         (WebCore::JSDeviceMotionEvent::rotationRate):
47372         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
47373         Manually create and return objects with the right attributes for
47374         acceleration, accelerationIncludingGravity, and rotationRate.
47375         When creating the DeviceMotionData object in initDeviceMotionEvent,
47376         accept any input objects that have the right attributes.
47377
47378         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47379         (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
47380         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
47381         (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
47382         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47383         V8 counterpart to the JSC code above.
47384
47385         * dom/DeviceMotionData.cpp:
47386         (WebCore::DeviceMotionData::Acceleration::create):
47387         (WebCore::DeviceMotionData::Acceleration::Acceleration):
47388         (WebCore::DeviceMotionData::RotationRate::create):
47389         (WebCore::DeviceMotionData::RotationRate::RotationRate):
47390         (WebCore::DeviceMotionData::create):
47391         (WebCore::DeviceMotionData::DeviceMotionData):
47392         * dom/DeviceMotionData.h:
47393         (WebCore::DeviceMotionData::Acceleration::canProvideX):
47394         (WebCore::DeviceMotionData::Acceleration::canProvideY):
47395         (WebCore::DeviceMotionData::Acceleration::canProvideZ):
47396         (WebCore::DeviceMotionData::Acceleration::x):
47397         (WebCore::DeviceMotionData::Acceleration::y):
47398         (WebCore::DeviceMotionData::Acceleration::z):
47399         (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
47400         (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
47401         (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
47402         (WebCore::DeviceMotionData::RotationRate::alpha):
47403         (WebCore::DeviceMotionData::RotationRate::beta):
47404         (WebCore::DeviceMotionData::RotationRate::gamma):
47405         (WebCore::DeviceMotionData::acceleration):
47406         (WebCore::DeviceMotionData::accelerationIncludingGravity):
47407         (WebCore::DeviceMotionData::rotationRate):
47408         Add member classes Acceleration and RotationRate to DeviceMotionData.
47409
47410         * dom/DeviceMotionEvent.idl:
47411         Update according to the spec. Acceleration and RotationRate need not
47412         be backed by native classes.
47413
47414 2010-09-24  Romain Pokrzywka  <romain@kdab.com>
47415
47416         Reviewed by Simon Hausmann.
47417
47418         [Qt] Fix the Wince build.
47419
47420         * WebCore.pro: Apply msvc flags to wince, too.
47421
47422 2010-09-24  Anders Bakken  <agbakken@gmail.com>
47423
47424         Reviewed by Simon Hausmann.
47425
47426         [Qt] Enable building Qt/Webkit with debug symbols
47427
47428         With this patch one can configure with -webkit-debug to build Webkit
47429         with debug symbols without having to manually edit WebCore.pro.
47430
47431         * WebCore.pro:
47432
47433 2010-09-24  Yael Aharon  <yael.aharon@nokia.com>
47434
47435         Reviewed by Kenneth Rohde Christiansen.
47436
47437         [Qt] Web Sockets are insecure with QtWebKit
47438         https://bugs.webkit.org/show_bug.cgi?id=44769
47439
47440         Throw an error when the server certificate is not valid.
47441         DRT currently does not support secure websocket connection,
47442         so no new tests. This was tested with the server at 
47443         http://code.google.com/p/pywebsocket instead.
47444
47445         * platform/network/qt/SocketStreamHandleQt.cpp:
47446         (WebCore::SocketStreamHandlePrivate::socketSslErrors):
47447
47448 2010-09-24  Jia Pu  <jpu@apple.com>
47449
47450         Reviewed by Shinichiro Hamaji.
47451
47452         Need to remove autocorrection underlines in current line when newline is entered.
47453         https://bugs.webkit.org/show_bug.cgi?id=45709
47454         <rdar://problem/8335576>
47455
47456         This change affects only Mac OSX build.
47457
47458         * dom/DocumentMarker.h: Added "CorrectionIndicator" to indicate the words on which we need
47459           to draw autocorrection underline. We cannot use existing "Replacement" for this purpose,
47460           since it is not meant to be removed once it is added. But we need to remove all autocorrection
47461           underlines when a line break or paragraph separator is inserted, which is the behavior in
47462           NSTextView. Hence we need a separate marker value for drawing autocorrection underline.
47463
47464         * editing/Editor.cpp:
47465         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Add "CorrectionIndicator" when
47466           autocorrection takes place.
47467         (WebCore::Editor::changeSelectionAfterCommand): Remove "CorrectionIndicator" markers if the
47468           command results in inserting paragraph separator.
47469
47470         * rendering/InlineTextBox.cpp:
47471         (WebCore::textCheckingLineStyleForMarkerType): Use "CorrectionIndicator" marker instead of
47472           "Replacement" to draw autocorrection underline.
47473         (WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
47474
47475 2010-09-24  Eric Uhrhane  <ericu@chromium.org>
47476
47477         Reviewed by David Levin.
47478
47479         Remove unnecessary parameter from AsyncFileWriterClient::didTruncate
47480         https://bugs.webkit.org/show_bug.cgi?id=46390
47481
47482         * fileapi/AsyncFileWriterClient.h:
47483
47484         Added state to FileWriter to replace the parameter.
47485         * fileapi/FileWriter.h:
47486         * fileapi/FileWriter.cpp:
47487         (WebCore::FileWriter::truncate):
47488         (WebCore::FileWriter::didTruncate):
47489
47490 2010-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>
47491
47492         Unreviewed, rolling out r68236.
47493         http://trac.webkit.org/changeset/68236
47494         https://bugs.webkit.org/show_bug.cgi?id=46449
47495
47496         compile fix didn't work (Requested by dino___ on #webkit).
47497
47498         * WebCore.exp.in:
47499         * bindings/js/JSDeviceMotionEventCustom.cpp:
47500         (WebCore::JSDeviceMotionEvent::xAcceleration):
47501         (WebCore::JSDeviceMotionEvent::yAcceleration):
47502         (WebCore::JSDeviceMotionEvent::zAcceleration):
47503         (WebCore::JSDeviceMotionEvent::xRotationRate):
47504         (WebCore::JSDeviceMotionEvent::yRotationRate):
47505         (WebCore::JSDeviceMotionEvent::zRotationRate):
47506         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
47507         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47508         (WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
47509         (WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
47510         (WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
47511         (WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
47512         (WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
47513         (WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
47514         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47515         * dom/DeviceMotionData.cpp:
47516         (WebCore::DeviceMotionData::create):
47517         (WebCore::DeviceMotionData::DeviceMotionData):
47518         * dom/DeviceMotionData.h:
47519         (WebCore::DeviceMotionData::xAcceleration):
47520         (WebCore::DeviceMotionData::yAcceleration):
47521         (WebCore::DeviceMotionData::zAcceleration):
47522         (WebCore::DeviceMotionData::xRotationRate):
47523         (WebCore::DeviceMotionData::yRotationRate):
47524         (WebCore::DeviceMotionData::zRotationRate):
47525         (WebCore::DeviceMotionData::canProvideXAcceleration):
47526         (WebCore::DeviceMotionData::canProvideYAcceleration):
47527         (WebCore::DeviceMotionData::canProvideZAcceleration):
47528         (WebCore::DeviceMotionData::canProvideXRotationRate):
47529         (WebCore::DeviceMotionData::canProvideYRotationRate):
47530         (WebCore::DeviceMotionData::canProvideZRotationRate):
47531         * dom/DeviceMotionEvent.idl:
47532
47533 2010-09-24  Chris Guillory   <chris.guillory@google.com>
47534
47535         Reviewed by Chris Fleizach.
47536
47537         Send webkit accessibility notifications to Chromium.
47538         https://bugs.webkit.org/show_bug.cgi?id=45156
47539
47540         * WebCore.gypi:
47541         * accessibility/chromium/AXObjectCacheChromium.cpp:
47542         (WebCore::AXObjectCache::postPlatformNotification):
47543         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
47544         (WebCore::AXObjectCache::handleScrolledToAnchor):
47545         * dom/Document.cpp:
47546         (WebCore::Document::implicitClose):
47547         (WebCore::Document::setFocusedNode):
47548         * editing/SelectionController.h:
47549         * page/ChromeClient.h:
47550         (WebCore::ChromeClient::postAccessibilityNotification):
47551         * page/FrameView.cpp:
47552         (WebCore::FrameView::layout):
47553
47554 2010-09-24  David Hyatt  <hyatt@apple.com>
47555
47556         Reviewed by Maciej Stachowiak.
47557
47558         https://bugs.webkit.org/show_bug.cgi?id=46454, rename a bunch of the width and height calculation methods.
47559
47560         calcReplacedWidth -> computeReplacedWidth
47561
47562         calcHorizontalMargins -> computeInlineDirectionMargins
47563
47564         calcVerticalMargins -> computeBlockDirectionMargins
47565
47566         calcWidthUsing -> computeLogicalWidthUsing
47567
47568         calcHeightUsing -> computeLogicalHeightUsing
47569
47570         calcReplacedHeight/HeightUsing -> computeReplacedHeight/HeightUsing
47571
47572         calcAbsoluteHorizontalValues -> computePositionedLogicalWidthUsing
47573
47574         calcAbsoluteVerticalValues -> computePositionedLogicalHeightUsing
47575
47576         calcAbsoluteHorizontal -> computePositionedLogicalWIdth
47577
47578         calcAbsoluteVertical -> computePositionedLogicalHeight
47579
47580         calcAbsoluteHorizontalReplaced -> computePositionedLogicalWidthReplaced
47581
47582         calcAbsoluteVerticalReplaced -> computePositionedLogicalHeightReplaced
47583
47584         calcBorderBoxWidth/Height -> computeBorderBoxLogicalWidth/LogicalHeight
47585
47586         calcContentBoxWidth/Height -> computeContentBoxLogicalWidth/LogicalHeight
47587
47588         shouldCalculateSizeAsReplaced -> shouldComputeSizeAsReplaced
47589
47590         calcPercentageHeight -> computePercentageLogicalHeight
47591
47592         * rendering/AutoTableLayout.cpp:
47593         (WebCore::AutoTableLayout::recalcColumn):
47594         * rendering/RenderBlock.cpp:
47595         (WebCore::RenderBlock::adjustPositionedBlock):
47596         (WebCore::RenderBlock::determineHorizontalPosition):
47597         (WebCore::RenderBlock::layoutBlockChild):
47598         (WebCore::RenderBlock::insertFloatingObject):
47599         (WebCore::RenderBlock::calcPrefWidths):
47600         * rendering/RenderBox.cpp:
47601         (WebCore::RenderBox::computeBorderBoxLogicalWidth):
47602         (WebCore::RenderBox::computeBorderBoxLogicalHeight):
47603         (WebCore::RenderBox::computeContentBoxLogicalWidth):
47604         (WebCore::RenderBox::computeContentBoxLogicalHeight):
47605         (WebCore::RenderBox::computeLogicalWidth):
47606         (WebCore::RenderBox::computeLogicalWidthUsing):
47607         (WebCore::RenderBox::computeInlineDirectionMargins):
47608         (WebCore::RenderBox::computeLogicalHeight):
47609         (WebCore::RenderBox::computeLogicalHeightUsing):
47610         (WebCore::RenderBox::computePercentageLogicalHeight):
47611         (WebCore::RenderBox::computeReplacedWidth):
47612         (WebCore::RenderBox::computeReplacedWidthUsing):
47613         (WebCore::RenderBox::computeReplacedHeight):
47614         (WebCore::RenderBox::computeReplacedHeightUsing):
47615         (WebCore::RenderBox::availableHeightUsing):
47616         (WebCore::RenderBox::computeBlockDirectionMargins):
47617         (WebCore::RenderBox::computePositionedLogicalWidth):
47618         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
47619         (WebCore::RenderBox::computePositionedLogicalHeight):
47620         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
47621         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
47622         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
47623         * rendering/RenderBox.h:
47624         (WebCore::RenderBox::shouldComputeSizeAsReplaced):
47625         * rendering/RenderDataGrid.cpp:
47626         (WebCore::RenderDataGrid::calcPrefWidths):
47627         * rendering/RenderFileUploadControl.cpp:
47628         (WebCore::RenderFileUploadControl::calcPrefWidths):
47629         * rendering/RenderFlexibleBox.cpp:
47630         (WebCore::RenderFlexibleBox::calcPrefWidths):
47631         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
47632         (WebCore::RenderFlexibleBox::layoutVerticalBox):
47633         * rendering/RenderImage.cpp:
47634         (WebCore::RenderImage::computeReplacedWidth):
47635         (WebCore::RenderImage::computeReplacedHeight):
47636         (WebCore::RenderImage::calcAspectRatioWidth):
47637         (WebCore::RenderImage::calcAspectRatioHeight):
47638         * rendering/RenderImage.h:
47639         * rendering/RenderListBox.cpp:
47640         (WebCore::RenderListBox::calcPrefWidths):
47641         * rendering/RenderMenuList.cpp:
47642         (WebCore::RenderMenuList::calcPrefWidths):
47643         * rendering/RenderObject.cpp:
47644         (WebCore::RenderObject::container):
47645         * rendering/RenderObject.h:
47646         (WebCore::RenderObject::computeBlockDirectionMargins):
47647         * rendering/RenderReplaced.cpp:
47648         (WebCore::RenderReplaced::computeReplacedWidth):
47649         (WebCore::RenderReplaced::computeReplacedHeight):
47650         (WebCore::RenderReplaced::calcAspectRatioWidth):
47651         (WebCore::RenderReplaced::calcAspectRatioHeight):
47652         (WebCore::RenderReplaced::calcPrefWidths):
47653         * rendering/RenderReplaced.h:
47654         * rendering/RenderSVGRoot.cpp:
47655         (WebCore::RenderSVGRoot::calcPrefWidths):
47656         (WebCore::RenderSVGRoot::computeReplacedWidth):
47657         (WebCore::RenderSVGRoot::computeReplacedHeight):
47658         * rendering/RenderSVGRoot.h:
47659         * rendering/RenderSlider.cpp:
47660         (WebCore::RenderSlider::calcPrefWidths):
47661         * rendering/RenderTable.cpp:
47662         (WebCore::RenderTable::computeLogicalWidth):
47663         (WebCore::RenderTable::layout):
47664         * rendering/RenderTableRow.cpp:
47665         (WebCore::RenderTableRow::layout):
47666         * rendering/RenderTextControl.cpp:
47667         (WebCore::RenderTextControl::calcPrefWidths):
47668         * rendering/RenderVideo.cpp:
47669         (WebCore::RenderVideo::computeReplacedWidth):
47670         (WebCore::RenderVideo::computeReplacedHeight):
47671         * rendering/RenderVideo.h:
47672
47673 2010-09-23  David Hyatt  <hyatt@apple.com>
47674
47675         Reviewed by Sam Weinig.
47676
47677         https://bugs.webkit.org/show_bug.cgi?id=46451
47678         
47679         Rename calcWidth to computeLogicalWidth.  Rename calcHeight to computeLogicalHeight.
47680
47681         * rendering/RenderApplet.cpp:
47682         (WebCore::RenderApplet::layout):
47683         * rendering/RenderBlock.cpp:
47684         (WebCore::RenderBlock::layoutBlock):
47685         (WebCore::RenderBlock::insertFloatingObject):
47686         (WebCore::RenderBlock::getClearDelta):
47687         * rendering/RenderBlockLineLayout.cpp:
47688         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
47689         * rendering/RenderBox.cpp:
47690         (WebCore::RenderBox::computeLogicalWidth):
47691         (WebCore::RenderBox::computeLogicalHeight):
47692         (WebCore::RenderBox::calcPercentageHeight):
47693         (WebCore::RenderBox::calcReplacedHeightUsing):
47694         (WebCore::RenderBox::availableHeightUsing):
47695         (WebCore::RenderBox::calcAbsoluteHorizontal):
47696         * rendering/RenderBox.h:
47697         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
47698         * rendering/RenderEmbeddedObject.cpp:
47699         (WebCore::RenderEmbeddedObject::layout):
47700         * rendering/RenderFlexibleBox.cpp:
47701         (WebCore::RenderFlexibleBox::layoutBlock):
47702         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
47703         (WebCore::RenderFlexibleBox::layoutVerticalBox):
47704         * rendering/RenderForeignObject.cpp:
47705         (WebCore::RenderForeignObject::computeLogicalWidth):
47706         (WebCore::RenderForeignObject::computeLogicalHeight):
47707         * rendering/RenderForeignObject.h:
47708         * rendering/RenderHTMLCanvas.cpp:
47709         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
47710         * rendering/RenderIFrame.cpp:
47711         (WebCore::RenderIFrame::computeLogicalHeight):
47712         (WebCore::RenderIFrame::computeLogicalWidth):
47713         (WebCore::RenderIFrame::layout):
47714         * rendering/RenderIFrame.h:
47715         * rendering/RenderImage.cpp:
47716         (WebCore::RenderImage::imageChanged):
47717         * rendering/RenderIndicator.cpp:
47718         (WebCore::RenderIndicator::layout):
47719         * rendering/RenderListBox.cpp:
47720         (WebCore::RenderListBox::computeLogicalHeight):
47721         * rendering/RenderListBox.h:
47722         * rendering/RenderMeter.cpp:
47723         (WebCore::RenderMeter::computeLogicalWidth):
47724         (WebCore::RenderMeter::computeLogicalHeight):
47725         * rendering/RenderMeter.h:
47726         * rendering/RenderReplaced.cpp:
47727         (WebCore::RenderReplaced::layout):
47728         * rendering/RenderSVGRoot.cpp:
47729         (WebCore::RenderSVGRoot::layout):
47730         * rendering/RenderSlider.cpp:
47731         (WebCore::RenderSlider::layout):
47732         * rendering/RenderTable.cpp:
47733         (WebCore::RenderTable::computeLogicalWidth):
47734         (WebCore::RenderTable::layout):
47735         * rendering/RenderTable.h:
47736         * rendering/RenderTableCell.cpp:
47737         (WebCore::RenderTableCell::computeLogicalWidth):
47738         * rendering/RenderTableCell.h:
47739         * rendering/RenderTextControl.cpp:
47740         (WebCore::RenderTextControl::computeLogicalHeight):
47741         * rendering/RenderTextControl.h:
47742         * rendering/RenderTextControlSingleLine.cpp:
47743         (WebCore::RenderTextControlSingleLine::layout):
47744         (WebCore::RenderTextControlSingleLine::textBlockWidth):
47745         (WebCore::RenderTextControlSingleLine::decorationWidthRight):
47746         (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
47747         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
47748         * rendering/RenderView.cpp:
47749         (WebCore::RenderView::computeLogicalHeight):
47750         (WebCore::RenderView::computeLogicalWidth):
47751         * rendering/RenderView.h:
47752         * svg/SVGSVGElement.cpp:
47753         (WebCore::SVGSVGElement::svgAttributeChanged):
47754
47755 2010-09-23  Hans Wennborg  <hans@chromium.org>
47756
47757         Reviewed by Simon Fraser.
47758
47759         Update DeviceMotionEvent to spec
47760         https://bugs.webkit.org/show_bug.cgi?id=46344
47761
47762         The spec has changed: the DeviceMotionEvent attributes accelerationX,
47763         accelerationY, etc. have been baked into an 'acceleration' attribute
47764         which returns an object with x, y, and z values. Likewise for the
47765         rotation rate. The 'accelerationIncludingGravity' attribute is new.
47766
47767         * WebCore.exp.in:
47768         The DeviceMotionData::create member function has changed. Also export
47769         create functions for DeviceMotionData::Acceleration and RotationRate.
47770
47771         * bindings/js/JSDeviceMotionEventCustom.cpp:
47772         (WebCore::JSDeviceMotionEvent::acceleration):
47773         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
47774         (WebCore::JSDeviceMotionEvent::rotationRate):
47775         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
47776         Manually create and return objects with the right attributes for
47777         acceleration, accelerationIncludingGravity, and rotationRate.
47778         When creating the DeviceMotionData object in initDeviceMotionEvent,
47779         accept any input objects that have the right attributes.
47780
47781         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47782         (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
47783         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
47784         (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
47785         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47786         V8 counterpart to the JSC code above.
47787
47788         * dom/DeviceMotionData.cpp:
47789         (WebCore::DeviceMotionData::Acceleration::create):
47790         (WebCore::DeviceMotionData::Acceleration::Acceleration):
47791         (WebCore::DeviceMotionData::RotationRate::create):
47792         (WebCore::DeviceMotionData::RotationRate::RotationRate):
47793         (WebCore::DeviceMotionData::create):
47794         (WebCore::DeviceMotionData::DeviceMotionData):
47795         * dom/DeviceMotionData.h:
47796         (WebCore::DeviceMotionData::Acceleration::canProvideX):
47797         (WebCore::DeviceMotionData::Acceleration::canProvideY):
47798         (WebCore::DeviceMotionData::Acceleration::canProvideZ):
47799         (WebCore::DeviceMotionData::Acceleration::x):
47800         (WebCore::DeviceMotionData::Acceleration::y):
47801         (WebCore::DeviceMotionData::Acceleration::z):
47802         (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
47803         (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
47804         (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
47805         (WebCore::DeviceMotionData::RotationRate::alpha):
47806         (WebCore::DeviceMotionData::RotationRate::beta):
47807         (WebCore::DeviceMotionData::RotationRate::gamma):
47808         (WebCore::DeviceMotionData::acceleration):
47809         (WebCore::DeviceMotionData::accelerationIncludingGravity):
47810         (WebCore::DeviceMotionData::rotationRate):
47811         Add member classes Acceleration and RotationRate to DeviceMotionData.
47812
47813         * dom/DeviceMotionEvent.idl:
47814         Update according to the spec. Acceleration and RotationRate need not
47815         be backed by native classes.
47816
47817 2010-09-23  Simon Fraser  <simon.fraser@apple.com>
47818
47819         Reviewed by Dan Bernstein.
47820
47821         Accelerated transitions do not suspend/resume properly.
47822         https://bugs.webkit.org/show_bug.cgi?id=43792
47823         
47824         Fix suspending of accelerated transitions.
47825         
47826         GraphicsLayer changes unify the handling of transitions and animations
47827         in GraphicsLayer. Both are now identified by name, so the code
47828         now refers to "animationName" rather than "keyframesName". Transitions
47829         use a dummy name which is not a valid keyframe identifier.
47830
47831         Tests: animations/suspend-transform-animation.html
47832                transitions/suspend-transform-transition.html
47833
47834         * page/animation/ImplicitAnimation.h:
47835         * page/animation/ImplicitAnimation.cpp:
47836         (WebCore::ImplicitAnimation::pauseAnimation): Call down to the RenderLayerBacking
47837         to tell it that an accelerated transition was paused.
47838
47839         * platform/graphics/GraphicsLayer.h:
47840         * platform/graphics/GraphicsLayer.cpp:
47841         (WebCore::GraphicsLayer::animationNameForTransition): Create a name
47842         for the transition of the given property.
47843         (WebCore::GraphicsLayer::addAnimation): Generalize "keyframe" to "animation" in the parameter names.
47844         (WebCore::GraphicsLayer::pauseAnimation): ditto
47845         (WebCore::GraphicsLayer::removeAnimation): ditto
47846
47847         * platform/graphics/mac/GraphicsLayerCA.h: Parameter renaming, and some method renames for clarity.
47848         (WebCore::GraphicsLayerCA::animationIsRunning):
47849         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): struct rename for clarity.
47850
47851         * platform/graphics/mac/GraphicsLayerCA.mm:
47852         (WebCore::animationIdentifier): the animationName already has the property baked in.
47853         (WebCore::GraphicsLayerCA::moveOrCopyLayerAnimation): just deals with one animation now.
47854         (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): we have to trawl through
47855         m_runningAnimations to get the identifiers for the animations that need to be copied.
47856         (WebCore::GraphicsLayerCA::addAnimation): rename parameters.
47857         (WebCore::GraphicsLayerCA::pauseAnimation): re-ordered methods here. member var renames.
47858         (WebCore::GraphicsLayerCA::removeAnimation): ditto.
47859         (WebCore::GraphicsLayerCA::updateLayerAnimations): no need to iterate over m_transitionPropertiesToRemove,
47860         and no more divergence between transitions and animations.
47861         (WebCore::GraphicsLayerCA::setCAAnimationOnLayer): renames for clarity.
47862         (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): ditto
47863         (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): ditto
47864         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): renames
47865         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): renames
47866         (WebCore::GraphicsLayerCA::suspendAnimations): whitespace.
47867
47868         * rendering/RenderLayerBacking.h: Group the transition and animation methods together.
47869         * rendering/RenderLayerBacking.cpp:
47870         (WebCore::RenderLayerBacking::animationPaused): Re-ordered methods for clarity.
47871         (WebCore::RenderLayerBacking::animationFinished): ditto
47872         (WebCore::RenderLayerBacking::startTransition): Use animationNameForTransition() to generate
47873         the animation identifier.
47874         (WebCore::RenderLayerBacking::transitionPaused): Call pauseAnimation, using animationNameForTransition()
47875         to generate the animation identifier.
47876         (WebCore::RenderLayerBacking::transitionFinished): Call removeAnimation, using animationNameForTransition()
47877         to generate the animation identifier.
47878         (WebCore::RenderLayerBacking::notifyAnimationStarted): Moved.
47879         (WebCore::RenderLayerBacking::notifySyncRequired): Moved.
47880
47881 2010-09-23  David Hyatt  <hyatt@apple.com>
47882
47883         Reviewed by Sam Weinig.
47884
47885         https://bugs.webkit.org/show_bug.cgi?id=46442
47886
47887         Disallow the setting of block-flow to anything other than "tb" for all table-related display types
47888         and flexible box display types.  By disallowing block-flow on the subclasses of RenderBlock like tables
47889         and flexible boxes, we ensure that alterations to the RenderBlock base class won't result in misrenderings
47890         in tables and flexible boxes that try to specify other block flow values.
47891  
47892         * css/CSSStyleSelector.cpp:
47893         (WebCore::CSSStyleSelector::adjustRenderStyle):
47894
47895 2010-09-23  Kinuko Yasuda  <kinuko@chromium.org>
47896
47897         Reviewed by David Levin.
47898
47899         Add Worker support for FileSystem API
47900         https://bugs.webkit.org/show_bug.cgi?id=45808
47901
47902         Exposed requestFileSystem and Flags constructor on worker contexts.
47903
47904         Also changed how to get the base path for Web file systems (in
47905         non-chromium ports) so that it works for workers too.
47906         This patch assumes each port calls
47907         LocalFileSystem::initializeLocalFileSystem() in its initialization
47908         phase.
47909
47910         No new tests; tests will be added when we have complete implementation.
47911
47912         * bindings/generic/RuntimeEnabledFeatures.cpp:
47913         (WebCore::RuntimeEnabledFeatures::fileSystemEnabled): Changed to
47914         reflect AsyncFileSystem::isAvailable
47915         * bindings/generic/RuntimeEnabledFeatures.h: Moved the implementation
47916         of fileSystemEnabled to .cpp.
47917         * fileapi/LocalFileSystem.cpp:
47918         (WebCore::LocalFileSystem::initializeLocalFileSystem): Added.
47919         (WebCore::LocalFileSystem::localFileSystem): Added.
47920         (WebCore::LocalFileSystem::fileSystemBasePath): Added.
47921         * fileapi/LocalFileSystem.h:
47922         (WebCore::LocalFileSystem::~LocalFileSystem): Removed. (As now it's
47923         going to be used as a singleton.)
47924         * page/DOMWindow.cpp:
47925         (WebCore::DOMWindow::requestFileSystem): Changed to use a singleton
47926         instance of LocalFileSystem.
47927         * page/SecurityOrigin.h:
47928         (WebCore::SecurityOrigin::canAccessFileSystem): Added.
47929         * page/Settings.cpp: Removed fileSystemRootPath method.
47930         * page/Settings.h: Removed fileSystemRootPath method.
47931         * platform/AsyncFileSystem.cpp:
47932         (WebCore::AsyncFileSystem::isAvailable): Added.
47933         * workers/WorkerContext.cpp:
47934         (WebCore::WorkerContext::requestFileSystem): Added to expose
47935         requestFileSystem method in worker contexts.
47936         (WebCore::WorkerContext::Observer): Added.
47937         (WebCore::WorkerContext::registerObserver): Added.
47938         (WebCore::WorkerContext::unregisterObserver): Added.
47939         (WebCore::WorkerContext::notifyObserversOfStop): Added.
47940         * workers/WorkerContext.h:
47941         * workers/WorkerContext.idl:
47942         * workers/WorkerThread.cpp:
47943         (WebCore::WorkerThreadShutdownStartTask::performTask): Modified to
47944         call workerContext->notifyObserversOfStop to notify worker observers
47945         of the worker thread termination.
47946
47947 2010-09-23  Matthew Delaney  <mdelaney@apple.com>
47948
47949         Reviewed by Oliver Hunt.
47950
47951         Lower the default canvas interpolation quality for platforms that use CG
47952         https://bugs.webkit.org/show_bug.cgi?id=45722
47953
47954         Lowered the default image interpolation quality for platforms that
47955         use CG down to low since this is as good as if not better than
47956         other graphics platforms defaults (being bilinear interpolation).
47957
47958         * html/HTMLCanvasElement.cpp:
47959         (WebCore::HTMLCanvasElement::createImageBuffer):
47960         * html/HTMLCanvasElement.h: Moved in macros for default canvas interp quality.
47961         * platform/graphics/GraphicsContext.h: Moved out macros for default canvas interp quality. It makes more sense for them to be housed where they're used.
47962
47963 2010-09-23  David Hyatt  <hyatt@apple.com>
47964
47965         Reviewed by Adele Peterson.
47966
47967         https://bugs.webkit.org/show_bug.cgi?id=46414, rename line box methods that refer specifically to
47968         "horizontal" and "vertical."  Replace those terms with "inline direction" and "block direction."
47969
47970         * rendering/InlineFlowBox.cpp:
47971         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
47972         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
47973         (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
47974         * rendering/InlineFlowBox.h:
47975         (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
47976         (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
47977         * rendering/RenderBlock.h:
47978         * rendering/RenderBlockLineLayout.cpp:
47979         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
47980         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
47981         (WebCore::RenderBlock::layoutInlineChildren):
47982         * rendering/RootInlineBox.cpp:
47983         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
47984         * rendering/RootInlineBox.h:
47985
47986 2010-09-23  Andrew Wilson  <atwilson@chromium.org>
47987
47988         Unreviewed, rolling out r68197.
47989         http://trac.webkit.org/changeset/68197
47990         https://bugs.webkit.org/show_bug.cgi?id=46344
47991
47992         Breaks
47993
47994         * WebCore.exp.in:
47995         * bindings/js/JSDeviceMotionEventCustom.cpp:
47996         (WebCore::JSDeviceMotionEvent::xAcceleration):
47997         (WebCore::JSDeviceMotionEvent::yAcceleration):
47998         (WebCore::JSDeviceMotionEvent::zAcceleration):
47999         (WebCore::JSDeviceMotionEvent::xRotationRate):
48000         (WebCore::JSDeviceMotionEvent::yRotationRate):
48001         (WebCore::JSDeviceMotionEvent::zRotationRate):
48002         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
48003         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
48004         (WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
48005         (WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
48006         (WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
48007         (WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
48008         (WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
48009         (WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
48010         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
48011         * dom/DeviceMotionData.cpp:
48012         (WebCore::DeviceMotionData::create):
48013         (WebCore::DeviceMotionData::DeviceMotionData):
48014         * dom/DeviceMotionData.h:
48015         (WebCore::DeviceMotionData::xAcceleration):
48016         (WebCore::DeviceMotionData::yAcceleration):
48017         (WebCore::DeviceMotionData::zAcceleration):
48018         (WebCore::DeviceMotionData::xRotationRate):
48019         (WebCore::DeviceMotionData::yRotationRate):
48020         (WebCore::DeviceMotionData::zRotationRate):
48021         (WebCore::DeviceMotionData::canProvideXAcceleration):
48022         (WebCore::DeviceMotionData::canProvideYAcceleration):
48023         (WebCore::DeviceMotionData::canProvideZAcceleration):
48024         (WebCore::DeviceMotionData::canProvideXRotationRate):
48025         (WebCore::DeviceMotionData::canProvideYRotationRate):
48026         (WebCore::DeviceMotionData::canProvideZRotationRate):
48027         * dom/DeviceMotionEvent.idl:
48028
48029 2010-09-23  David Hyatt  <hyatt@apple.com>
48030
48031         Reviewed by Adele Peterson.
48032
48033         https://bugs.webkit.org/show_bug.cgi?id=46403, convert the margin/border/padding accessors
48034         to be logical.
48035
48036         * rendering/InlineFlowBox.cpp:
48037         (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
48038         (WebCore::InlineFlowBox::placeBoxesHorizontally):
48039         (WebCore::InlineFlowBox::paintBoxShadow):
48040         (WebCore::InlineFlowBox::paintBoxDecorations):
48041         (WebCore::InlineFlowBox::paintTextDecorations):
48042         * rendering/InlineFlowBox.h:
48043         (WebCore::InlineFlowBox::InlineFlowBox):
48044         (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft):
48045         (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight):
48046         (WebCore::InlineFlowBox::marginLogicalLeft):
48047         (WebCore::InlineFlowBox::marginLogicalRight):
48048         (WebCore::InlineFlowBox::borderLogicalLeft):
48049         (WebCore::InlineFlowBox::borderLogicalRight):
48050         (WebCore::InlineFlowBox::paddingLogicalLeft):
48051         (WebCore::InlineFlowBox::paddingLogicalRight):
48052         (WebCore::InlineFlowBox::includeLogicalLeftEdge):
48053         (WebCore::InlineFlowBox::includeLogicalRightEdge):
48054         (WebCore::InlineFlowBox::setEdges):
48055         * rendering/RenderBlockLineLayout.cpp:
48056         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
48057         * rendering/RenderBox.cpp:
48058         (WebCore::RenderBox::containingBlockWidthForPositioned):
48059         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
48060         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
48061         * rendering/RenderBoxModelObject.cpp:
48062         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
48063
48064 2010-09-23  Jeff Schiller  <jeffschiller@google.com>
48065
48066         Reviewed by David Hyatt.
48067
48068         Ensure that SVG documents included by reference (object, iframe, embed) have transparent
48069         backgrounds (not white).  https://bugs.webkit.org/show_bug.cgi?id=10687
48070
48071         Test: svg/in-html/by-reference.html
48072
48073         * dom/Document.cpp:
48074         (WebCore::Document::hasSVGRootNode):
48075         * dom/Document.h:
48076         (WebCore::Document::hasSVGRootNode):
48077         * rendering/RenderBoxModelObject.cpp:
48078         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
48079
48080 2010-09-23  Hans Wennborg  <hans@chromium.org>
48081
48082         Reviewed by Simon Fraser.
48083
48084         Update DeviceMotionEvent to spec
48085         https://bugs.webkit.org/show_bug.cgi?id=46344
48086
48087         The spec has changed: the DeviceMotionEvent attributes accelerationX,
48088         accelerationY, etc. have been baked into an 'acceleration' attribute
48089         which returns an object with x, y, and z values. Likewise for the
48090         rotation rate. The 'accelerationIncludingGravity' attribute is new.
48091
48092         * WebCore.exp.in:
48093         The DeviceMotionData::create member function has changed. Also export
48094         create functions for DeviceMotionData::Acceleration and RotationRate.
48095
48096         * bindings/js/JSDeviceMotionEventCustom.cpp:
48097         (WebCore::JSDeviceMotionEvent::acceleration):
48098         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
48099         (WebCore::JSDeviceMotionEvent::rotationRate):
48100         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
48101         Manually create and return objects with the right attributes for
48102         acceleration, accelerationIncludingGravity, and rotationRate.
48103         When creating the DeviceMotionData object in initDeviceMotionEvent,
48104         accept any input objects that have the right attributes.
48105
48106         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
48107         (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
48108         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
48109         (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
48110         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
48111         V8 counterpart to the JSC code above.
48112
48113         * dom/DeviceMotionData.cpp:
48114         (WebCore::DeviceMotionData::Acceleration::create):
48115         (WebCore::DeviceMotionData::Acceleration::Acceleration):
48116         (WebCore::DeviceMotionData::RotationRate::create):
48117         (WebCore::DeviceMotionData::RotationRate::RotationRate):
48118         (WebCore::DeviceMotionData::create):
48119         (WebCore::DeviceMotionData::DeviceMotionData):
48120         * dom/DeviceMotionData.h:
48121         (WebCore::DeviceMotionData::Acceleration::canProvideX):
48122         (WebCore::DeviceMotionData::Acceleration::canProvideY):
48123         (WebCore::DeviceMotionData::Acceleration::canProvideZ):
48124         (WebCore::DeviceMotionData::Acceleration::x):
48125         (WebCore::DeviceMotionData::Acceleration::y):
48126         (WebCore::DeviceMotionData::Acceleration::z):
48127         (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
48128         (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
48129         (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
48130         (WebCore::DeviceMotionData::RotationRate::alpha):
48131         (WebCore::DeviceMotionData::RotationRate::beta):
48132         (WebCore::DeviceMotionData::RotationRate::gamma):
48133         (WebCore::DeviceMotionData::acceleration):
48134         (WebCore::DeviceMotionData::accelerationIncludingGravity):
48135         (WebCore::DeviceMotionData::rotationRate):
48136         Add member classes Acceleration and RotationRate to DeviceMotionData.
48137
48138         * dom/DeviceMotionEvent.idl:
48139         Update according to the spec. Acceleration and RotationRate need not
48140         be backed by native classes.
48141
48142 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48143
48144         Reviewed by Adam Roben.
48145
48146         Set synchronous handle in ResourceHandleWin
48147         https://bugs.webkit.org/show_bug.cgi?id=46395
48148
48149         When loading synchronous network resources, we need to use a synchronous internet handle.
48150
48151         * platform/network/ResourceHandle.h:
48152         * platform/network/win/ResourceHandleWin.cpp:
48153         (WebCore::ResourceHandle::loadResourceSynchronously):
48154         (WebCore::ResourceHandle::setSynchronousInternetHandle):
48155
48156 2010-09-23  Alexey Proskuryakov  <ap@apple.com>
48157
48158         Reviewed by Darin Adler.
48159
48160         https://bugs.webkit.org/show_bug.cgi?id=46326
48161         Crash when trying to create a NodeIterator rooted at a document-less DocumentType node
48162
48163         Test: fast/dom/node-iterator-with-doctype-root.html
48164
48165         * dom/Document.cpp: (WebCore::Document::detachNodeIterator): Added a comment explaining that
48166         attach/detach may not always be paired.
48167
48168         * dom/NodeIterator.cpp:
48169         (WebCore::NodeIterator::NodeIterator): Don't try to register with the document if there is none.
48170         (WebCore::NodeIterator::~NodeIterator): Ditto.
48171         (WebCore::NodeIterator::detach): Ditto.
48172         (WebCore::NodeIterator::updateForNodeRemoval): There should be a document if we're getting a
48173         notification.
48174
48175 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48176
48177         Reviewed by Adam Roben.
48178
48179         Add synchronous loading for local files to ResourceHandleWin
48180         https://bugs.webkit.org/show_bug.cgi?id=46392
48181
48182         * platform/network/win/ResourceHandleWin.cpp:
48183         (WebCore::ResourceHandle::start):
48184
48185 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48186
48187         Reviewed by Adam Roben.
48188
48189         Remove (has|set)ReceivedResponse() from public ResourceHandleWin API
48190         https://bugs.webkit.org/show_bug.cgi?id=46391
48191
48192         There is no need for this functions to be public, so remove them.
48193
48194         * platform/network/ResourceHandle.h:
48195         * platform/network/win/ResourceHandleWin.cpp:
48196         (WebCore::ResourceHandle::onRequestComplete):
48197
48198 2010-09-23  David Hyatt  <hyatt@apple.com>
48199
48200         Reviewed by Adele Peterson.
48201
48202         https://bugs.webkit.org/show_bug.cgi?id=46400
48203         
48204         Add logicalLeft/Top getter/setters to line boxes.
48205
48206         * rendering/InlineBox.h:
48207         (WebCore::InlineBox::logicalLeft):
48208         (WebCore::InlineBox::setLogicalLeft):
48209         (WebCore::InlineBox::logicalTop):
48210         (WebCore::InlineBox::setLogicalTop):
48211
48212 2010-09-23  Matthew Delaney  <mdelaney@apple.com>
48213
48214         Reviewed by Simon Fraser.
48215
48216         Reduce minimum DOMTimer interval
48217         https://bugs.webkit.org/show_bug.cgi?id=45362
48218
48219         Since the setInterval call is meant to reflect a global change for
48220         all pages' DOMTimers, it's misleading to have it be a method on a
48221         given page's settings' object. Thus, this patch changes the call to be static.
48222
48223         This simple change to using a static call instead of the page's setting's
48224         method doesn't warrant a test.
48225
48226         * page/Settings.h: Changed the setInterval call to be static.
48227
48228 2010-09-23  David Hyatt  <hyatt@apple.com>
48229
48230         Reviewed by Dan Bernstein.
48231
48232         https://bugs.webkit.org/show_bug.cgi?id=46386, give line boxes a vertical bit so that it's easy to know
48233         the overall direction of the line without having to ask the containing block.
48234
48235         Also couldn't resist some cleanup.  Tightened up the type of the renderobject passed to RootInlineBox's
48236         constructor to be a RenderBlock.  Moved all the virtual logical height stuff outside of the SVG ifdef
48237         since TrailingFloatsRootInlineBox uses it and should work without SVG enabled.
48238
48239         * rendering/EllipsisBox.h:
48240         (WebCore::EllipsisBox::EllipsisBox):
48241         * rendering/InlineBox.h:
48242         (WebCore::InlineBox::InlineBox):
48243         (WebCore::InlineBox::isVertical):
48244         (WebCore::InlineBox::setIsVertical):
48245         * rendering/InlineFlowBox.cpp:
48246         (WebCore::InlineFlowBox::addToLine):
48247         * rendering/RootInlineBox.cpp:
48248         (WebCore::RootInlineBox::RootInlineBox):
48249         (WebCore::RootInlineBox::placeEllipsis):
48250         * rendering/RootInlineBox.h:
48251         * rendering/SVGRootInlineBox.h:
48252         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
48253         * rendering/TrailingFloatsRootInlineBox.h:
48254         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
48255
48256 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48257
48258         Reviewed by Adam Roben.
48259
48260         Check for a valid ResourceHandleClient in ResourceHandleWin
48261         https://bugs.webkit.org/show_bug.cgi?id=46389
48262
48263         * platform/network/win/ResourceHandleWin.cpp:
48264         (WebCore::ResourceHandle::onRequestComplete): Add checks to ensure client() is not 0.
48265
48266 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48267
48268         Reviewed by Adam Roben.
48269
48270         Fix ResourceHandleWin::cancel() for network resources 
48271         https://bugs.webkit.org/show_bug.cgi?id=46383
48272
48273         * platform/network/win/ResourceHandleWin.cpp:
48274         (WebCore::ResourceHandle::onRequestComplete): Check it requestHandle is not 0.
48275         (WebCore::ResourceHandle::cancel): Set requestHandle to 0.
48276
48277 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48278
48279         Reviewed by Adam Roben.
48280
48281         Add handling for form data and additional HTTP headers in ResourceHandleWin
48282         https://bugs.webkit.org/show_bug.cgi?id=46369
48283
48284         * platform/network/win/ResourceHandleWin.cpp:
48285         (WebCore::ResourceHandle::start):
48286
48287 2010-09-23  Eric Carlson  <eric.carlson@apple.com>
48288
48289         Reviewed by Simon Fraser
48290
48291         'seeking' event should always fire
48292         https://bugs.webkit.org/show_bug.cgi?id=45694
48293
48294         Update seek algorithm to match current spec.
48295
48296         * html/HTMLMediaElement.cpp:
48297         (WebCore::HTMLMediaElement::setReadyState): Don't need to fire 'seeking' event here.
48298         (WebCore::HTMLMediaElement::seek): Always fire 'seeking'. Update comments.
48299         (WebCore::HTMLMediaElement::finishSeek): Update comments.
48300         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
48301
48302 2010-09-23  Eric Uhrhane  <ericu@chromium.org>
48303
48304         Reviewed by David Levin.
48305
48306         Rename FileWriterClient to AsyncFileWriterClient.
48307         https://bugs.webkit.org/show_bug.cgi?id=46325
48308
48309         * GNUmakefile.am:
48310         * WebCore.gypi:
48311         * WebCore.vcproj/WebCore.vcproj:
48312         * WebCore.xcodeproj/project.pbxproj:
48313         * fileapi/AsyncFileWriter.h:
48314         * fileapi/AsyncFileWriterClient.h: Copied from WebCore/fileapi/FileWriterClient.h.
48315         * fileapi/FileWriter.h:
48316         * fileapi/FileWriterClient.h: Removed.
48317         * platform/AsyncFileSystem.h:
48318
48319 2010-09-23  David Hyatt  <hyatt@apple.com>
48320
48321         Reviewed by Dan Bernstein.
48322
48323         https://bugs.webkit.org/show_bug.cgi?id=46378, rename width/height on line boxes to logicalWidth/logicalHeight.
48324
48325         * editing/visible_units.cpp:
48326         (WebCore::previousLinePosition):
48327         (WebCore::nextLinePosition):
48328         * rendering/EllipsisBox.cpp:
48329         (WebCore::EllipsisBox::paint):
48330         (WebCore::EllipsisBox::paintSelection):
48331         (WebCore::EllipsisBox::nodeAtPoint):
48332         * rendering/InlineBox.cpp:
48333         (WebCore::InlineBox::logicalHeight):
48334         (WebCore::InlineBox::canAccommodateEllipsis):
48335         * rendering/InlineBox.h:
48336         (WebCore::InlineBox::InlineBox):
48337         (WebCore::InlineBox::hasVirtualLogicalHeight):
48338         (WebCore::InlineBox::setHasVirtualLogicalHeight):
48339         (WebCore::InlineBox::virtualLogicalHeight):
48340         (WebCore::InlineBox::setLogicalWidth):
48341         (WebCore::InlineBox::logicalWidth):
48342         * rendering/InlineFlowBox.cpp:
48343         (WebCore::InlineFlowBox::placeBoxesHorizontally):
48344         (WebCore::InlineFlowBox::placeBoxesVertically):
48345         (WebCore::InlineFlowBox::computeVerticalOverflow):
48346         (WebCore::InlineFlowBox::nodeAtPoint):
48347         (WebCore::InlineFlowBox::paintFillLayer):
48348         (WebCore::InlineFlowBox::paintBoxDecorations):
48349         (WebCore::InlineFlowBox::paintMask):
48350         (WebCore::InlineFlowBox::paintTextDecorations):
48351         (WebCore::InlineFlowBox::placeEllipsisBox):
48352         * rendering/InlineFlowBox.h:
48353         (WebCore::InlineFlowBox::visibleOverflowRect):
48354         (WebCore::InlineFlowBox::bottomLayoutOverflow):
48355         (WebCore::InlineFlowBox::rightLayoutOverflow):
48356         (WebCore::InlineFlowBox::layoutOverflowRect):
48357         (WebCore::InlineFlowBox::bottomVisualOverflow):
48358         (WebCore::InlineFlowBox::rightVisualOverflow):
48359         (WebCore::InlineFlowBox::visualOverflowRect):
48360         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
48361         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
48362         * rendering/InlineTextBox.cpp:
48363         (WebCore::InlineTextBox::selectionRect):
48364         (WebCore::InlineTextBox::placeEllipsisBox):
48365         (WebCore::InlineTextBox::nodeAtPoint):
48366         (WebCore::InlineTextBox::paint):
48367         (WebCore::InlineTextBox::paintSelection):
48368         (WebCore::InlineTextBox::paintCustomHighlight):
48369         (WebCore::InlineTextBox::paintDecoration):
48370         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
48371         (WebCore::InlineTextBox::paintTextMatchMarker):
48372         (WebCore::InlineTextBox::paintCompositionUnderline):
48373         * rendering/InlineTextBox.h:
48374         (WebCore::InlineTextBox::calculateBoundaries):
48375         (WebCore::InlineTextBox::setSpaceAdd):
48376         * rendering/RenderBlock.cpp:
48377         (WebCore::RenderBlock::paintEllipsisBoxes):
48378         (WebCore::RenderBlock::rightmostPosition):
48379         (WebCore::RenderBlock::adjustForBorderFit):
48380         (WebCore::RenderBlock::addFocusRingRects):
48381         * rendering/RenderBlockLineLayout.cpp:
48382         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
48383         (WebCore::RenderBlock::checkLinesForTextOverflow):
48384         * rendering/RenderBox.cpp:
48385         (WebCore::RenderBox::paintCustomHighlight):
48386         (WebCore::RenderBox::containingBlockWidthForPositioned):
48387         * rendering/RenderFlexibleBox.cpp:
48388         (WebCore::RenderFlexibleBox::applyLineClamp):
48389         * rendering/RenderInline.cpp:
48390         (WebCore::RenderInline::absoluteRects):
48391         (WebCore::RenderInline::absoluteQuads):
48392         (WebCore::RenderInline::linesBoundingBox):
48393         (WebCore::RenderInline::addFocusRingRects):
48394         (WebCore::RenderInline::paintOutline):
48395         * rendering/RenderSVGInline.cpp:
48396         (WebCore::RenderSVGInline::createInlineFlowBox):
48397         (WebCore::RenderSVGInline::absoluteQuads):
48398         * rendering/RenderSVGInlineText.cpp:
48399         (WebCore::RenderSVGInlineText::createTextBox):
48400         * rendering/RenderSVGText.cpp:
48401         (WebCore::RenderSVGText::createRootInlineBox):
48402         * rendering/RenderText.cpp:
48403         (WebCore::RenderText::absoluteRects):
48404         (WebCore::RenderText::absoluteRectsForRange):
48405         (WebCore::RenderText::absoluteQuadsForRange):
48406         (WebCore::RenderText::positionForPoint):
48407         (WebCore::RenderText::localCaretRect):
48408         (WebCore::RenderText::linesBoundingBox):
48409         * rendering/RenderTreeAsText.cpp:
48410         (WebCore::writeTextRun):
48411         * rendering/RootInlineBox.cpp:
48412         (WebCore::RootInlineBox::canAccommodateEllipsis):
48413         (WebCore::RootInlineBox::placeEllipsis):
48414         (WebCore::RootInlineBox::addHighlightOverflow):
48415         (WebCore::RootInlineBox::paintCustomHighlight):
48416         (WebCore::RootInlineBox::fillLineSelectionGap):
48417         (WebCore::RootInlineBox::closestLeafChildForXPos):
48418         * rendering/SVGInlineFlowBox.h:
48419         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
48420         (WebCore::SVGInlineFlowBox::virtualLogicalHeight):
48421         (WebCore::SVGInlineFlowBox::setLogicalHeight):
48422         * rendering/SVGInlineTextBox.cpp:
48423         (WebCore::SVGInlineTextBox::SVGInlineTextBox):
48424         * rendering/SVGInlineTextBox.h:
48425         (WebCore::SVGInlineTextBox::virtualLogicalHeight):
48426         (WebCore::SVGInlineTextBox::setLogicalHeight):
48427         (WebCore::SVGInlineTextBox::selectionHeight):
48428         * rendering/SVGRenderTreeAsText.cpp:
48429         (WebCore::writeRenderSVGTextBox):
48430         * rendering/SVGRootInlineBox.cpp:
48431         (WebCore::SVGRootInlineBox::layoutChildBoxes):
48432         (WebCore::SVGRootInlineBox::layoutRootBox):
48433         * rendering/SVGRootInlineBox.h:
48434         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
48435         (WebCore::SVGRootInlineBox::virtualLogicalHeight):
48436         (WebCore::SVGRootInlineBox::setLogicalHeight):
48437         * rendering/TrailingFloatsRootInlineBox.h:
48438         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
48439         (WebCore::TrailingFloatsRootInlineBox::virtualLogicalHeight):
48440
48441 2010-09-23  Matthew Delaney  <mdelaney@apple.com>
48442
48443         Reviewed by Oliver Hunt.
48444
48445         context.drawImage with (source rect's height) = -(input image's native height) draws nothing
48446         https://bugs.webkit.org/show_bug.cgi?id=46243
48447
48448         This patch changes canvasrenderingcontext2d's drawImage with an image element to
48449         normalize the source and dest rects to acheive the desired canvas spec behavior
48450         of allowing negative widths and heights that don't cause flipping and fix the
48451         adverse behavior of specifying a source rect height of negative the source image's height
48452
48453         Tests: canvas/philip/tests/2d.drawImage.negativeSourceHeight.html
48454                canvas/philip/tests/2d.drawImage.negativeSourceHeight2.html
48455                canvas/philip/tests/2d.drawImage.negativeSourceHeightAndWidth.html
48456
48457         * html/canvas/CanvasRenderingContext2D.cpp: Normalize rects in drawImage before calling
48458         lower level draw calls.
48459
48460 2010-09-23  Renata Hodovan  <reni@inf.u-szeged.hu>
48461
48462         Reviewed by Dirk Schulze.
48463
48464         SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
48465         https://bugs.webkit.org/show_bug.cgi?id=46363
48466         The patch also implements the simple setRadius method.
48467
48468         Tests: svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
48469                svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
48470                svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
48471                svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
48472                svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
48473                svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html
48474
48475         * svg/SVGFEMorphologyElement.cpp:
48476         (WebCore::SVGFEMorphologyElement::setRadius):
48477         (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
48478         * svg/SVGFEMorphologyElement.h:
48479
48480 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48481
48482         Reviewed by Adam Roben.
48483
48484         Add synchronous loading for network resources to ResourceHandleWin
48485         https://bugs.webkit.org/show_bug.cgi?id=46364
48486
48487         Use return value of onRequestComplete() to indicate that an additional
48488         call to it is required for receiving remaining network data.
48489
48490         * platform/network/ResourceHandle.h:
48491         * platform/network/win/ResourceHandleWin.cpp:
48492         (WebCore::ResourceHandle::onRequestComplete):
48493         (WebCore::ResourceHandle::start):
48494
48495 2010-09-23  Nate Chapin  <japhet@chromium.org>
48496
48497         Reviewed by Darin Fisher.
48498         
48499         Implement <a ping> (disabled by default).
48500         https://bugs.webkit.org/show_bug.cgi?id=30458
48501         
48502         Tests: http/tests/navigation/ping-cross-origin-from-https.html
48503                http/tests/navigation/ping-cross-origin.html
48504                http/tests/navigation/ping-same-origin.html
48505
48506         * html/HTMLAnchorElement.cpp:
48507         (WebCore::HTMLAnchorElement::defaultEventHandler):
48508         (WebCore::HTMLAnchorElement::sendPings):
48509         * html/HTMLAnchorElement.h:
48510         * html/HTMLAttributeNames.in:
48511         * loader/PingLoader.cpp:
48512         (WebCore::PingLoader::sendPing): Set ping-specific headers.
48513         (WebCore::PingLoader::PingLoader):
48514         * loader/PingLoader.h:
48515         (WebCore::PingLoader::timeout): Ensure pings eventually timeout, since
48516             the normal cancel mechanism can't stop them.
48517         * page/Settings.cpp:
48518         * page/Settings.h: Add hyperlinkAuditingEnabled.
48519
48520 2010-09-23  Steve VanDeBogart  <vandebo@chromium.org>
48521
48522         Reviewed by David Levin.
48523
48524         https://bugs.webkit.org/show_bug.cgi?id=46312
48525
48526         Use Skia's SkSafeRef/SkSafeUnref functions instead of safeRef/safeUnref.
48527
48528         * platform/graphics/chromium/FontLinux.cpp:
48529         (WebCore::Font::drawGlyphs):
48530         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
48531         (WebCore::FontPlatformData::FontPlatformData):
48532         (WebCore::FontPlatformData::~FontPlatformData):
48533         * platform/graphics/skia/GradientSkia.cpp:
48534         (WebCore::Gradient::platformDestroy):
48535         * platform/graphics/skia/PatternSkia.cpp:
48536         (WebCore::Pattern::platformDestroy):
48537         * platform/graphics/skia/PlatformContextSkia.cpp:
48538         (WebCore::PlatformContextSkia::State::State):
48539         (WebCore::PlatformContextSkia::State::~State):
48540         (WebCore::PlatformContextSkia::drawRect):
48541         (WebCore::PlatformContextSkia::setStrokeShader):
48542         (WebCore::PlatformContextSkia::setFillShader):
48543         (WebCore::PlatformContextSkia::setDashPathEffect):
48544         * platform/graphics/skia/SkiaFontWin.cpp:
48545         (WebCore::paintSkiaText):
48546
48547 2010-09-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
48548
48549         Reviewed by Csaba Osztrogonác.
48550
48551         Fix warnings regarding print format in 64 bits
48552         https://bugs.webkit.org/show_bug.cgi?id=46357
48553
48554         Use inttypes.h in order to have portable print formats across 32 and
48555         64 bits.
48556
48557         * platform/sql/SQLiteFileSystem.cpp:
48558         (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):
48559
48560 2010-09-23  Chris Rogers  <crogers@google.com>
48561
48562         Reviewed by Kenneth Russell.
48563
48564         Add AudioContext files
48565         https://bugs.webkit.org/show_bug.cgi?id=44890
48566
48567         No new tests since audio API is not yet implemented.
48568
48569         * webaudio/AudioContext.cpp: Added.
48570         (WebCore::AudioContext::createAudioRequest):
48571         (WebCore::AudioContext::create):
48572         (WebCore::AudioContext::AudioContext):
48573         (WebCore::AudioContext::~AudioContext):
48574         (WebCore::AudioContext::lazyInitialize):
48575         (WebCore::AudioContext::uninitialize):
48576         (WebCore::AudioContext::isInitialized):
48577         (WebCore::AudioContext::isRunnable):
48578         (WebCore::AudioContext::stop):
48579         (WebCore::AudioContext::document):
48580         (WebCore::AudioContext::hasDocument):
48581         (WebCore::AudioContext::refBuffer):
48582         (WebCore::AudioContext::createBuffer):
48583         (WebCore::AudioContext::createBufferSource):
48584         (WebCore::AudioContext::createJavaScriptNode):
48585         (WebCore::AudioContext::createLowPass2Filter):
48586         (WebCore::AudioContext::createHighPass2Filter):
48587         (WebCore::AudioContext::createPanner):
48588         (WebCore::AudioContext::createConvolver):
48589         (WebCore::AudioContext::createAnalyser):
48590         (WebCore::AudioContext::createGainNode):
48591         (WebCore::AudioContext::createDelayNode):
48592         (WebCore::AudioContext::createChannelSplitter):
48593         (WebCore::AudioContext::createChannelMerger):
48594         (WebCore::AudioContext::notifyNodeFinishedProcessing):
48595         (WebCore::AudioContext::derefFinishedSourceNodes):
48596         (WebCore::AudioContext::refNode):
48597         (WebCore::AudioContext::derefNode):
48598         (WebCore::AudioContext::derefUnfinishedSourceNodes):
48599         (WebCore::AudioContext::lock):
48600         (WebCore::AudioContext::tryLock):
48601         (WebCore::AudioContext::unlock):
48602         (WebCore::AudioContext::isAudioThread):
48603         (WebCore::AudioContext::isGraphOwner):
48604         (WebCore::AudioContext::addDeferredFinishDeref):
48605         (WebCore::AudioContext::handlePostRenderTasks):
48606         (WebCore::AudioContext::handleDeferredFinishDerefs):
48607         (WebCore::AudioContext::markForDeletion):
48608         (WebCore::AudioContext::deleteMarkedNodes):
48609         * webaudio/AudioContext.h: Added.
48610         (WebCore::AudioContext::destination):
48611         (WebCore::AudioContext::currentTime):
48612         (WebCore::AudioContext::sampleRate):
48613         (WebCore::AudioContext::listener):
48614         (WebCore::AudioContext::temporaryMonoBus):
48615         (WebCore::AudioContext::temporaryStereoBus):
48616         (WebCore::AudioContext::incrementConnectionCount):
48617         (WebCore::AudioContext::connectionCount):
48618         (WebCore::AudioContext::setAudioThread):
48619         (WebCore::AudioContext::audioThread):
48620         (WebCore::AudioContext::isAudioThreadFinished):
48621         (WebCore::AudioContext::AutoLocker::AutoLocker):
48622         (WebCore::AudioContext::AutoLocker::~AutoLocker):
48623         (WebCore::AudioContext::RefInfo::RefInfo):
48624         * webaudio/AudioContext.idl: Added.
48625
48626 2010-09-23  Jeremy Orlow  <jorlow@chromium.org>
48627
48628         Reviewed by Steve Block.
48629
48630         IndexedDB shouldn't crash on invalid index names
48631         https://bugs.webkit.org/show_bug.cgi?id=46362
48632
48633         For now, return null.  In a later patch, we'll do proper exception raising.
48634
48635         * storage/IDBObjectStore.cpp:
48636         (WebCore::IDBObjectStore::index):
48637
48638 2010-09-23  Abhishek Arya  <inferno@chromium.org>
48639
48640         Reviewed by Dave Hyatt.
48641
48642         Fix the memory safety issue by checking containerObject is a RenderBox
48643         before doing the transforms.
48644         https://bugs.webkit.org/show_bug.cgi?id=46365
48645
48646         Test: compositing/overflow/get-transform-from-non-box-container.html
48647
48648         * rendering/RenderObject.cpp:
48649         (WebCore::RenderObject::getTransformFromContainer):
48650
48651 2010-09-23  David Hyatt  <hyatt@apple.com>
48652
48653         Reviewed by Simon Fraser.
48654
48655         https://bugs.webkit.org/show_bug.cgi?id=46314.
48656         
48657         The RenderView's block-flow should match the root element's block-flow.  When we create (or re-create) the style for the document, take
48658         the block-flow from the document element's style and use it if it's available.
48659         
48660         Also patch styleDidChange so that if the block-flow changes dynamically after we have already made the document style, we'll propagate
48661         the change back up to the RenderView and have it do a relayout.
48662
48663         No tests possible yet, since you can't see the document's style anywhere, and block-flow isn't doing anything to affect layout
48664         yet.
48665
48666         * css/CSSStyleSelector.cpp:
48667         (WebCore::CSSStyleSelector::styleForDocument):
48668         * rendering/RenderBox.cpp:
48669         (WebCore::RenderBox::styleDidChange):
48670
48671 2010-09-23  Pavel Podivilov  <podivilov@chromium.org>
48672
48673         Reviewed by Yury Semikhatsky.
48674
48675         Web Inspector: source frame popups shouldn't disappear when hovered
48676         https://bugs.webkit.org/show_bug.cgi?id=46358
48677
48678         * inspector/front-end/SourceFrame.js:
48679         (WebInspector.SourceFrame.prototype._mouseMove):
48680
48681 2010-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
48682
48683         Reviewed by Chris Fleizach.
48684
48685         [Regression][Gtk] Left and Right Arrows no longer function when caret browsing is enabled
48686         https://bugs.webkit.org/show_bug.cgi?id=45375
48687
48688         Consider caret browsing for Move commands.
48689
48690         Test: platform/gtk/editing/selection/caret-mode-left-right-arrows.html
48691
48692         * editing/EditorCommand.cpp:
48693         (WebCore::createCommandMap): Use "caret browsing aware functions"
48694         as isEnabled() function for those commands moving the caret
48695         forward and backward across characters, words, lines or paragraphs,
48696         not just left and right, as it was the case so far.
48697
48698 2010-09-23  Brad Moore  <bradm@apple.com>
48699
48700         Reviewed by Dan Bernstein.
48701
48702         Address a remaining discrepancy in piecewise text measurement
48703         https://bugs.webkit.org/show_bug.cgi?id=45796
48704
48705         Don't include always-integral space widths in the floating point accumulator designed
48706         to minimize precision loss.  This brings whole-string measurement in line with piecewise
48707         text measurement when dealing with fonts with fractional advances.
48708
48709         * platform/graphics/WidthIterator.cpp:
48710         (WebCore::WidthIterator::advance): Change the associativity of width addition to minimize precision loss.
48711
48712 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48713
48714         Reviewed by Adam Roben.
48715
48716         Cleanup network communication code in ResourceHandleWin
48717         https://bugs.webkit.org/show_bug.cgi?id=46200
48718
48719         Add logic for request handling directly into ResourceHandle::start and fix style.
48720         Use Unicode instead of ASCII Windows API functions.
48721
48722         * platform/network/ResourceHandleInternal.h:
48723         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
48724         * platform/network/win/ResourceHandleWin.cpp:
48725         (WebCore::ResourceHandle::onRequestComplete):
48726         (WebCore::ResourceHandle::start):
48727
48728 2010-09-23  Luiz Agostini  <luiz.agostini@openbossa.org>
48729
48730         Reviewed by Andreas Kling.
48731
48732         Invalid assertion in ScriptCallback
48733         https://bugs.webkit.org/show_bug.cgi?id=46348
48734
48735         Removing invalid ASSERT from method ScriptCallback::call().
48736
48737         * bindings/js/ScriptFunctionCall.cpp:
48738         (WebCore::ScriptCallback::call):
48739
48740 2010-09-23  Martin Robinson  <mrobinson@igalia.com>
48741
48742         Reviewed by Ariya Hidayat.
48743
48744         [Cairo] Generalize ContextShadow from the Qt port and use it for shadow code
48745         https://bugs.webkit.org/show_bug.cgi?id=45599
48746
48747         Make ContextShadow platform-independent and add a Cairo implementation. This is currently
48748         disabled for Cairo, but will be enabled in a followup patch with new baselines.
48749
48750         No new tests as this does not change functionality.
48751
48752         * GNUmakefile.am: Update source lists.
48753         * WebCore.pro: Update source lists.
48754         * platform/graphics/ContextShadow.cpp: Added. A generalized version of Qt's ContextShadow.
48755         (WebCore::ContextShadow::ContextShadow):
48756         (WebCore::ContextShadow::clear):
48757         (WebCore::ContextShadow::blurLayerImage):
48758         (WebCore::ContextShadow::calculateMinimalLayerRect):
48759         * platform/graphics/ContextShadow.h: Added.
48760         (WebCore::ContextShadow::offset):
48761         * platform/graphics/cairo/CairoUtilities.cpp: Added. 
48762         (WebCore::setSourceRGBAFromColor): A utility to set the source RGBA on a Cairo surface from a WebCore color.
48763         * platform/graphics/cairo/CairoUtilities.h: Added.
48764         * platform/graphics/cairo/ContextShadowCairo.cpp: Added.
48765         (WebCore::purgeScratchBuffer): Static function to purge the shadow buffer.
48766         (WebCore::PurgeScratchBufferTimer::fired): Timer callback.
48767         (WebCore::scheduleScratchBufferPurge): Schedule's a WebCore timer to purge the shadow buffer.
48768         (WebCore::getScratchBuffer): Create or reuse the scratch buffer.
48769         (WebCore::ContextShadow::beginShadowLayer): Added.
48770         (WebCore::ContextShadow::endShadowLayer): Added.
48771         * platform/graphics/gtk/CairoUtilities.cpp: Removed.
48772         * platform/graphics/gtk/CairoUtilities.h: Removed.
48773         * platform/graphics/gtk/GdkCairoUtilities.cpp: Renamed from CairoUtilities.cpp.
48774         (getCairoSurfacePixel):
48775         (getGdkPixbufPixel):
48776         (cairoImageSurfaceToGdkPixbuf):
48777         * platform/graphics/gtk/GdkCairoUtilities.h: Added.
48778         * platform/graphics/gtk/ImageBufferGtk.cpp:
48779         * platform/graphics/gtk/ImageGtk.cpp:
48780         * platform/graphics/qt/ContextShadow.cpp: Removed.
48781         * platform/graphics/qt/ContextShadow.h: Removed.
48782         * platform/graphics/qt/ContextShadowQt.cpp: Added. Adapted from code originally in ContextShadow.cpp.
48783         (WebCore::ShadowBuffer::ShadowBuffer):
48784         (WebCore::ShadowBuffer::scratchImage):
48785         (WebCore::ShadowBuffer::schedulePurge):
48786         (WebCore::ShadowBuffer::timerEvent):
48787         (WebCore::ContextShadow::beginShadowLayer):
48788         (WebCore::ContextShadow::endShadowLayer):
48789         * platform/graphics/qt/FontQt.cpp:
48790         (WebCore::drawTextCommon): Updated to reflect new ContextShadow members.
48791         * platform/graphics/qt/GraphicsContextQt.cpp:
48792         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Updated to reflect new ContextShadow members.
48793         (WebCore::GraphicsContext::strokeArc): Ditto.
48794         (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
48795         (WebCore::GraphicsContext::fillPath): Ditto.
48796         (WebCore::GraphicsContext::strokePath): Ditto.
48797         (WebCore::GraphicsContext::fillRect): Ditto.
48798         (WebCore::GraphicsContext::fillRoundedRect): Ditto.
48799         (WebCore::GraphicsContext::setPlatformShadow): Ditto.
48800
48801 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48802
48803         Reviewed by Adam Roben.
48804
48805         Add internetStatusCallback to ResourceHandleWin.
48806         https://bugs.webkit.org/show_bug.cgi?id=46187
48807
48808         Add callback for asynchronous network transfer.
48809
48810         * platform/network/ResourceHandle.h:
48811         * platform/network/ResourceHandleInternal.h:
48812         * platform/network/win/ResourceHandleWin.cpp:
48813         (WebCore::callOnRedirect):
48814         (WebCore::callOnRequestComplete):
48815         (WebCore::ResourceHandle::internetStatusCallback):
48816         (WebCore::ResourceHandle::onRedirect):
48817
48818 2010-09-23  Andrei Popescu  <andreip@google.com>
48819
48820         Reviewed by Jeremy Orlow.
48821
48822         IDBTransactionCoordinator contains a broken assertion.
48823         https://bugs.webkit.org/show_bug.cgi?id=46356
48824
48825         Remove the broken assertion.
48826
48827         * storage/IDBTransactionCoordinator.cpp:
48828         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
48829
48830 2010-09-23  Pavel Podivilov  <podivilov@chromium.org>
48831
48832         Reviewed by Pavel Feldman.
48833
48834         Web Inspector: highlight DOM nodes when navigating the DOM with keyboard
48835         https://bugs.webkit.org/show_bug.cgi?id=46346
48836
48837         * inspector/front-end/ElementsTreeOutline.js:
48838         (WebInspector.ElementsTreeElement.prototype.onselect):
48839         * inspector/front-end/treeoutline.js:
48840         (TreeOutline.prototype._treeKeyDown):
48841         (TreeElement.prototype.selectOnMouseDown):
48842         (TreeElement.prototype.select):
48843
48844 2010-09-23  Andrei Popescu  <andreip@google.com>
48845
48846         Reviewed by Jeremy Orlow.
48847
48848         [Chromium] Build broken due to missing include in IDBTransactionBackendImpl.h
48849         https://bugs.webkit.org/show_bug.cgi?id=46352
48850
48851         No new tests needed, build fix.
48852
48853         * storage/IDBTransaction.cpp:
48854         (WebCore::IDBTransaction::objectStore):
48855         * storage/IDBTransactionBackendImpl.h:
48856
48857 2010-09-23  Andrei Popescu  <andreip@google.com>
48858
48859         Reviewed by Jeremy Orlow.
48860
48861         IDBObjectStore::get should run in a transaction.
48862         https://bugs.webkit.org/show_bug.cgi?id=44700
48863
48864         Implements logic for running IDBObjectStore::get() in a transaction.
48865         Refactors the pending transaction monitor and the transaction coordinator
48866         to use pointers instead of transaction IDs.
48867  
48868         * bindings/v8/V8Proxy.cpp:
48869         (WebCore::V8Proxy::didLeaveScriptContext):
48870         * storage/IDBCursorBackendImpl.cpp:
48871         * storage/IDBDatabase.cpp:
48872         (WebCore::IDBDatabase::objectStore):
48873         * storage/IDBDatabaseBackendImpl.cpp:
48874         (WebCore::IDBDatabaseBackendImpl::objectStore):
48875         * storage/IDBDatabaseBackendImpl.h:
48876         (WebCore::IDBDatabaseBackendImpl::transactionCoordinator):
48877         * storage/IDBFactoryBackendImpl.cpp:
48878         * storage/IDBFactoryBackendImpl.h:
48879         * storage/IDBFactoryBackendInterface.h:
48880         * storage/IDBObjectStore.cpp:
48881         (WebCore::IDBObjectStore::IDBObjectStore):
48882         (WebCore::IDBObjectStore::get):
48883         * storage/IDBObjectStore.h:
48884         (WebCore::IDBObjectStore::create):
48885         * storage/IDBObjectStoreBackendImpl.cpp:
48886         (WebCore::IDBTask::IDBTask):
48887         (WebCore::IDBTask::performTask):
48888         (WebCore::createTask):
48889         (WebCore::IDBObjectStoreBackendImpl::get):
48890         (WebCore::IDBObjectStoreBackendImpl::getInternal):
48891         * storage/IDBObjectStoreBackendImpl.h:
48892         * storage/IDBObjectStoreBackendInterface.h:
48893         * storage/IDBPendingTransactionMonitor.cpp:
48894         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
48895         (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
48896         (WebCore::IDBPendingTransactionMonitor::abortPendingTransactions):
48897         * storage/IDBPendingTransactionMonitor.h:
48898         * storage/IDBRequest.cpp:
48899         (WebCore::IDBRequest::IDBRequest):
48900         (WebCore::IDBRequest::~IDBRequest):
48901         (WebCore::IDBRequest::onSuccess):
48902         (WebCore::IDBRequest::timerFired):
48903         * storage/IDBRequest.h:
48904         (WebCore::IDBRequest::create):
48905         * storage/IDBTransaction.cpp:
48906         (WebCore::IDBTransaction::IDBTransaction):
48907         (WebCore::IDBTransaction::objectStore):
48908         * storage/IDBTransactionBackendImpl.cpp:
48909         (WebCore::IDBTransactionBackendImpl::create):
48910         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
48911         (WebCore::IDBTransactionBackendImpl::objectStore):
48912         (WebCore::IDBTransactionBackendImpl::scheduleTask):
48913         (WebCore::IDBTransactionBackendImpl::abort):
48914         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
48915         (WebCore::IDBTransactionBackendImpl::run):
48916         (WebCore::IDBTransactionBackendImpl::start):
48917         (WebCore::IDBTransactionBackendImpl::commit):
48918         (WebCore::IDBTransactionBackendImpl::timerFired):
48919         * storage/IDBTransactionBackendImpl.h:
48920         (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
48921         (WebCore::IDBTransactionBackendImpl::isFinished):
48922         * storage/IDBTransactionBackendInterface.h:
48923         * storage/IDBTransactionCoordinator.cpp:
48924         (WebCore::IDBTransactionCoordinator::createTransaction):
48925         (WebCore::IDBTransactionCoordinator::didStartTransaction):
48926         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
48927         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
48928         * storage/IDBTransactionCoordinator.h:
48929
48930 2010-09-23  Patrick Gansterer  <paroga@webkit.org>
48931
48932         Reviewed by Adam Roben.
48933
48934         [WINCE] Remove usage of MemoryManager
48935         https://bugs.webkit.org/show_bug.cgi?id=46206
48936
48937         MemoryManager does not provide any extra value, so remove it.
48938
48939         * page/wince/FrameWinCE.cpp:
48940         (WebCore::imageFromSelection):
48941         * platform/graphics/wince/PlatformPathWinCE.cpp:
48942         (WebCore::drawPolygons):
48943
48944 2010-09-23  Darin Adler  <darin@apple.com>
48945
48946         Reviewed by Chris Fleizach.
48947
48948         media/video-controls-with-mutation-event-handler.html crashing
48949         https://bugs.webkit.org/show_bug.cgi?id=46169
48950
48951         * rendering/MediaControlElements.cpp:
48952         (WebCore::MediaControlInputElement::MediaControlInputElement): Don't take a type argument.
48953         We can't set the type until after the element is created beacuse of reference counting rules.
48954         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Don't pass the type.
48955         (WebCore::MediaControlMuteButtonElement::create): Set the type.
48956         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): More of the same.
48957         (WebCore::MediaControlPlayButtonElement::create): Ditto.
48958         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Ditto.
48959         (WebCore::MediaControlSeekButtonElement::create): Ditto.
48960         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
48961         (WebCore::MediaControlRewindButtonElement::create): Ditto.
48962         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
48963         (WebCore::MediaControlReturnToRealtimeButtonElement::create): Ditto.
48964         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
48965         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Ditto.
48966         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
48967         (WebCore::MediaControlTimelineElement::create): Ditto.
48968         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Ditto.
48969         (WebCore::MediaControlVolumeSliderElement::create): Ditto.
48970         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
48971         (WebCore::MediaControlFullscreenButtonElement::create): Ditto.
48972
48973         * rendering/MediaControlElements.h: Removed the type argument from the MediaControlInputElement
48974         constructor.
48975
48976 2010-09-22  Luke Macpherson  <macpherson@chromium.org>
48977
48978         Reviewed by Alexey Proskuryakov.
48979
48980         Don't allow empty strings as tokens in xmlhttprequest, as per rfc2616 section 2.2.
48981
48982         XMLHttpRequest: setRequestHeader() does not throw SYNTAX_ERR exception if the header field name is empty
48983         https://bugs.webkit.org/show_bug.cgi?id=46151
48984
48985         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name.html
48986
48987         * xml/XMLHttpRequest.cpp:
48988         (WebCore::isValidToken):
48989
48990 2010-09-22  Kwang Yul Seo  <skyul@company100.net>
48991
48992         Reviewed by Adam Barth.
48993
48994         [BREWMP] Enable touch events
48995         https://bugs.webkit.org/show_bug.cgi?id=46321
48996
48997         Enable TOUCH_EVENTS by porting PlatformTouchEvent and PlatformTouchPoint.
48998         Brew MP does not support multi touch, so enable only single touch for now.
48999
49000         * platform/PlatformTouchEvent.h:
49001         * platform/PlatformTouchPoint.h:
49002         * platform/brew/PlatformTouchEventBrew.cpp: Added.
49003         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
49004         * platform/brew/PlatformTouchPointBrew.cpp: Added.
49005         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
49006
49007 2010-09-22  Andy Estes  <aestes@apple.com>
49008
49009         Reviewed by Darin Adler.
49010
49011         REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
49012         https://bugs.webkit.org/show_bug.cgi?id=46334
49013
49014         * WebCore.exp.in: Export __ZN7WebCore27applicationIsMicrosoftMyDayEv.
49015         * platform/mac/RuntimeApplicationChecks.h:
49016         * platform/mac/RuntimeApplicationChecks.mm:
49017         (WebCore::applicationIsMicrosoftMyDay): Determine if the embeddding
49018         application is Microsoft My Day by checking the bundle identifier.
49019
49020 2010-09-22  Andy Estes  <aestes@apple.com>
49021
49022         Rubber-stamped by Darin Adler.
49023
49024         Fix a typo and correct an inaccurate phrase in a comment.
49025
49026         * html/parser/HTMLTreeBuilder.cpp:
49027         (WebCore::HTMLTreeBuilder::processEndTag):
49028
49029 2010-09-22  Andy Estes  <aestes@apple.com>
49030
49031         Reviewed by Adam Barth.
49032
49033         REGRESSION (r61285): <script /> parses differently in HTML5
49034         https://bugs.webkit.org/show_bug.cgi?id=42909
49035
49036         If pre-HTML5 parser quirks are enabled, the HTMLTreeBuilder should
49037         handle self-closing script tags like the old parser did. Specifically,
49038         "<script />" should be treated as "<script></script>".
49039
49040         * html/parser/HTMLDocumentParser.cpp:
49041         (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
49042         HTMLTreeBuilder with the value of usePreHTML5ParserQuirks().
49043         * html/parser/HTMLTreeBuilder.cpp:
49044         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
49045         (WebCore::HTMLTreeBuilder::processEndTag): If the tokenizer is not
49046         currently in DataState, this means that the current end token is fake
49047         and was created by the tree builder to handle a self-closing script tag.
49048         Assert that pre-HTML5 quirks are enabled and set the tokenizer's state
49049         to DataState in this case.
49050         (WebCore::HTMLTreeBuilder::processStartTagForInHead): If pre-HTML5
49051         parser quirks are enabled and the script tag is self-closing, create and
49052         procses a fake script end tag.
49053         * html/parser/HTMLTreeBuilder.h:
49054         (WebCore::HTMLTreeBuilder::create):
49055
49056 2010-09-22  Mihai Parparita  <mihaip@chromium.org>
49057
49058         Reviewed by Darin Fisher.
49059
49060         [Chromium] User style layout tests don't pass on Chromium
49061         https://bugs.webkit.org/show_bug.cgi?id=46069
49062         
49063         Instead of making resetUserStyleCacheInAllFrames be a no-op for
49064         Chromium, have it be controlled by a UserStyleInjectionTime enum.
49065         
49066         Also move the UserStyleSheet::Level enum to be inside
49067         UserStyleSheetTypes for consistency.
49068
49069         * WebCore.exp.in:
49070         * dom/Document.cpp:
49071         (WebCore::Document::pageGroupUserSheets):
49072         * page/PageGroup.cpp:
49073         (WebCore::PageGroup::addUserStyleSheetToWorld):
49074         * page/PageGroup.h:
49075         * page/UserStyleSheet.h:
49076         (WebCore::UserStyleSheet::UserStyleSheet):
49077         (WebCore::UserStyleSheet::level):
49078         * page/UserStyleSheetTypes.h:
49079
49080 2010-09-22  Ruben  <chromium@hybridsource.org>
49081
49082         Reviewed by Tony Chang.
49083
49084         [chromium] added ifdefs for FreeBSD support
49085         https://bugs.webkit.org/show_bug.cgi?id=46316
49086
49087         * bindings/js/JSInspectorFrontendHostCustom.cpp:
49088         (WebCore::JSInspectorFrontendHost::platform):
49089         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
49090         (WebCore::V8InspectorFrontendHost::platformCallback):
49091         * dom/SelectElement.cpp:
49092         * loader/CachedFont.cpp:
49093         * page/EventHandler.cpp:
49094         * page/chromium/EventHandlerChromium.cpp:
49095         * platform/Scrollbar.cpp:
49096         * platform/chromium/ChromiumBridge.h:
49097         * platform/graphics/chromium/FontPlatformData.h:
49098         * platform/graphics/skia/FontCustomPlatformData.cpp:
49099         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
49100         (WebCore::FontCustomPlatformData::fontPlatformData):
49101         (WebCore::createFontCustomPlatformData):
49102         * platform/graphics/skia/FontCustomPlatformData.h:
49103
49104 2010-09-22  Rafael Antognolli  <antognolli@profusion.mobi>
49105
49106         Unreviewed build fix.
49107
49108         [EFL] Fix build due to latest EFL (Edje) changes.
49109         https://bugs.webkit.org/show_bug.cgi?id=46317
49110
49111         Make the change int -> Edje_Load_Error (enum).
49112
49113         No new functionality, so no new tests.
49114
49115         * platform/efl/RenderThemeEfl.cpp:
49116         (WebCore::RenderThemeEfl::themePartCacheEntryReset):
49117         (WebCore::RenderThemeEfl::createEdje):
49118         (WebCore::RenderThemeEfl::applyPartDescriptions):
49119         * platform/efl/ScrollbarEfl.cpp:
49120         (ScrollbarEfl::setParent):
49121
49122 2010-09-22  Chris Fleizach  <cfleizach@apple.com>
49123
49124         Reviewed by Darin Adler.
49125
49126         AX: aria-hidden change doesn't update the ax tree
49127         https://bugs.webkit.org/show_bug.cgi?id=45836
49128
49129         Test: accessibility/aria-hidden-update.html
49130
49131         * dom/Element.cpp:
49132         (WebCore::Element::updateAfterAttributeChanged):
49133
49134 2010-09-22  Kinuko Yasuda  <kinuko@chromium.org>
49135
49136         Reviewed by Dumitru Daniliuc.
49137
49138         [FileSystem] Fix Flags handling in DirectoryEntry custom binding code
49139         https://bugs.webkit.org/show_bug.cgi?id=46028
49140
49141         Do not use adoptRef to get RefPtr from a raw pointer that is already
49142         adopted in toNative/toJS.
49143
49144         Test: fast/filesystem/flags-passing.html
49145
49146         * bindings/js/JSDirectoryEntryCustom.cpp:
49147         (WebCore::JSDirectoryEntry::getFile):
49148         (WebCore::JSDirectoryEntry::getDirectory):
49149         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
49150         (WebCore::V8DirectoryEntry::getDirectoryCallback):
49151         (WebCore::V8DirectoryEntry::getFileCallback):
49152
49153 2010-09-22  Jia Pu  <jpu@apple.com>
49154
49155         Reviewed by Dan Bernstein.
49156
49157         Need to stop autocorrection panel timer when selection changes.
49158         https://bugs.webkit.org/show_bug.cgi?id=46201
49159         <rdar://problem/8441042>
49160
49161         * editing/Editor.cpp:
49162         (WebCore::Editor::appliedEditing): Stop correction timer after editing.
49163         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): When text checking is done for
49164           showing autocorrection panel, we suppress all corrections that are not at the end of
49165           text checking range. So that we don't replace other words while showing correction panel
49166           for the last word.
49167         (WebCore::Editor::stopCorrectionPanelTimer): Stop correction timer.
49168
49169         * editing/Editor.h: Added stopCorrectionPanelTimer() method.
49170
49171 2010-09-22  Eric Uhrhane  <ericu@chromium.org>
49172
49173         Reviewed by Dumitru Daniliuc.
49174
49175         Add Chromium implementation for FileWriter
49176         https://bugs.webkit.org/show_bug.cgi?id=44361
49177
49178         No new tests; the implementation's not yet far enough along for that.
49179
49180         This makes a chain of contruction-and-linking-up for various sorts of
49181         FileWriter interfaces to call through to Chromium, and for various
49182         sorts of FileWriterClients to call back, with object ownership always
49183         pointing towards the Chromium API.  That is, the DOM object owns an
49184         AsyncFileWriter, which owns its implementation object, and the reverse
49185         (client) direction is raw pointers.
49186
49187         File metadata is looked up before the FileWriter is returned, so that
49188         we know the file exists and can cache its length.
49189
49190         The WebCore part of this is simple and generic enough to handle
49191         Chromium, so it should be easy for me to put in a WebCore-only
49192         implementation next.
49193         
49194         * fileapi/AsyncFileWriter.h:
49195         * fileapi/DOMFileSystem.cpp:
49196         (WebCore::DOMFileSystem::createWriter):
49197         * fileapi/DOMFileSystem.h:
49198         * fileapi/FileSystemCallbacks.cpp:
49199         (WebCore::FileSystemCallbacksBase::didCreateFileWriter):
49200         (WebCore::FileWriterCallbacks::FileWriterCallbacks):
49201         (WebCore::FileWriterCallbacks::didCreateFileWriter):
49202         * fileapi/FileSystemCallbacks.h:
49203         * platform/AsyncFileSystem.h:
49204         * platform/AsyncFileSystemCallbacks.h:
49205
49206 2010-09-22  Alexey Proskuryakov  <ap@apple.com>
49207
49208         Reviewed by Adam Barth.
49209
49210         https://bugs.webkit.org/show_bug.cgi?id=46222
49211         <rdar://problem/8461701> Document.getElementById() malfunctions if ID was changed via Attr node modification.
49212
49213         Test: fast/dom/Attr/change-id-via-attr-node-value.html
49214
49215         * dom/Attr.h:
49216         * dom/Attr.cpp:
49217         (WebCore::Attr::setValue): Separated a version callable from WebCore from one avaiable to JS.
49218         Attr::setValue() can be called from Element::setAttribute(), and we don't want to update
49219         m_elementsById (or to call attributeChanged()) twice in that case.
49220         (WebCore::Attr::childrenChanged): If Attr's node children change, id changes.
49221
49222         * dom/Document.cpp: (WebCore::Document::removeElementById): Added an assertion that we are
49223         not trying to remove something that isn't there. If we are, we probably failed to update
49224         m_elementsById earlier.
49225
49226         * dom/Element.cpp: (WebCore::Element::setAttribute): If the attribute has an Attr node, its
49227         children should be updated to match attribute value.
49228
49229 2010-09-22  David Hyatt  <hyatt@apple.com>
49230
49231         Reviewed by Dan Bernstein.
49232
49233         https://bugs.webkit.org/show_bug.cgi?id=46311, lock form controls and replaced elements to vertical block flow.
49234
49235         Patch form controls that don't use RenderReplaced by hand in html.css.  Patch all RenderReplaced elements
49236         with an override of setStyle that forces the new style to have a vertical block flow.  We have to do something like
49237         this to cover the CSS3 content: url(img) method of image replacement.
49238         
49239         * css/html.css:
49240         (input, textarea, keygen, select, button, isindex, meter, progress):
49241         * rendering/RenderReplaced.cpp:
49242         (WebCore::RenderReplaced::setStyle):
49243         * rendering/RenderReplaced.h:
49244
49245 2010-09-22  David Hyatt  <hyatt@apple.com>
49246
49247         Reviewed by Dan Bernstein.
49248
49249         https://bugs.webkit.org/show_bug.cgi?id=46304
49250         
49251         display:inline should become display:inline-block when an object's block flow does not match its parent's block flow.
49252
49253         Added fast/blockflow/display-mutation.html
49254
49255         * css/CSSStyleSelector.cpp:
49256         (WebCore::CSSStyleSelector::styleForElement):
49257         (WebCore::CSSStyleSelector::pseudoStyleForElement):
49258         (WebCore::CSSStyleSelector::adjustRenderStyle):
49259         * css/CSSStyleSelector.h:
49260
49261 2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>
49262
49263         Reviewed by Martin Robinson.
49264
49265         [Gtk] object:text-changed events should be emitted for entries and password text
49266         https://bugs.webkit.org/show_bug.cgi?id=25898
49267
49268         Implement proper 'text-changed' signal emission for the GTK port
49269
49270         Call deleteTextFromNode() when needed while removing text nodes.
49271         Do it even when removeNode() is going to be called afterwards, in
49272         order to allow accessibility to get properly notified about the
49273         text being removed alongside with that node.
49274
49275         * editing/DeleteSelectionCommand.cpp:
49276         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
49277
49278         New function in AXObjectCache to call when text changes in a node.
49279         Added one new function to allow notifying something changed in a
49280         text node through the associated RenderObject, making such a
49281         function dependant on the platform-specific implementation,
49282         provided through a protected function (provided a proper
49283         implementation for the GTK port and a dummy one for the others).
49284
49285         * accessibility/AXObjectCache.cpp:
49286         (WebCore::AXObjectCache::nodeTextChangeNotification): New
49287         * accessibility/AXObjectCache.h:
49288         (WebCore::AXObjectCache::AXTextChange): New enumeration
49289         (WebCore::AXObjectCache::nodeTextChangeNotification): New
49290         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49291         * accessibility/AccessibilityRenderObject.h:
49292         (WebCore::toAccessibilityRenderObject):
49293         * accessibility/chromium/AXObjectCacheChromium.cpp:
49294         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49295         * accessibility/gtk/AXObjectCacheAtk.cpp:
49296         (WebCore::emitTextChanged):
49297         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49298         * accessibility/mac/AXObjectCacheMac.mm:
49299         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49300         * accessibility/win/AXObjectCacheWin.cpp:
49301         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49302
49303         Notify accessibility when something changes in a text node.
49304         Call to AXObjectCache::nodeTextChangeNotification() to notify when
49305         text was inserted/deleted when applying/unapplying a text edition
49306         command, along with the offset in the original text where the
49307         change took place and the number of characters that got affected.
49308
49309         * editing/AppendNodeCommand.cpp:
49310         (WebCore::sendAXTextChangedIgnoringLineBreaks):
49311         (WebCore::AppendNodeCommand::doApply):
49312         (WebCore::AppendNodeCommand::doUnapply):
49313         * editing/DeleteFromTextNodeCommand.cpp:
49314         (WebCore::DeleteFromTextNodeCommand::doApply):
49315         (WebCore::DeleteFromTextNodeCommand::doUnapply):
49316         * editing/InsertIntoTextNodeCommand.cpp:
49317         (WebCore::InsertIntoTextNodeCommand::doApply):
49318         (WebCore::InsertIntoTextNodeCommand::doUnapply):
49319         * editing/InsertNodeBeforeCommand.cpp:
49320         (WebCore::InsertNodeBeforeCommand::doApply):
49321         (WebCore::InsertNodeBeforeCommand::doUnapply):
49322         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
49323
49324 2010-09-22  David Hyatt  <hyatt@apple.com>
49325
49326         Reviewed by Dan Bernstein.
49327
49328         https://bugs.webkit.org/show_bug.cgi?id=46298, add logicalWidth/Height getters/setters to RenderBox.
49329
49330         * rendering/RenderBox.cpp:
49331         (WebCore::RenderBox::logicalWidth):
49332         (WebCore::RenderBox::logicalHeight):
49333         (WebCore::RenderBox::setLogicalWidth):
49334         (WebCore::RenderBox::setLogicalHeight):
49335         * rendering/RenderBox.h:
49336
49337 2010-09-22  Luiz Agostini  <luiz.agostini@openbossa.org>
49338
49339         Reviewed by Oliver Hunt.
49340
49341         Script engine agnostic ScriptCallback class
49342         https://bugs.webkit.org/show_bug.cgi?id=43216
49343
49344         Refactoring class ScriptFunctionCall to create a class (ScriptCallback) that
49345         receives a script function as a ScriptValue and calls that function with provided parameters.
49346
49347         * bindings/js/ScriptFunctionCall.cpp:
49348         (WebCore::ScriptCallArgumentHandler::appendArgument):
49349         (WebCore::ScriptFunctionCall::ScriptFunctionCall):
49350         (WebCore::ScriptCallback::ScriptCallback):
49351         (WebCore::ScriptCallback::call):
49352         * bindings/js/ScriptFunctionCall.h:
49353         (WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):
49354         * bindings/v8/ScriptFunctionCall.cpp:
49355         (WebCore::ScriptCallArgumentHandler::appendArgument):
49356         (WebCore::ScriptFunctionCall::ScriptFunctionCall):
49357         (WebCore::ScriptCallback::ScriptCallback):
49358         (WebCore::ScriptCallback::call):
49359         * bindings/v8/ScriptFunctionCall.h:
49360         (WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):
49361
49362 2010-09-22  Brent Fulgham  <bfulgham@webkit.org>
49363
49364         Unreviewed.
49365
49366         Build fix for invalid assertion after r68059.
49367
49368         * editing/ApplyStyleCommand.cpp:
49369         (WebCore::getPropertiesNotIn): Correct assertion target after
49370         name change.
49371
49372 2010-09-22  David Hyatt  <hyatt@apple.com>
49373
49374         Reviewed by Simon Fraser.
49375
49376         https://bugs.webkit.org/show_bug.cgi?id=45957, fix regression in column rules stacking test.
49377
49378         Rewrite how the pagination bit gets set in RenderLayers, since it was totally broken and not
49379         accounting for whether or not the columns block was even in the layer's containing block
49380         hierarchy.
49381
49382         * rendering/RenderLayer.cpp:
49383         (WebCore::checkContainingBlockChainForPagination):
49384         (WebCore::RenderLayer::updatePagination):
49385
49386 2010-09-22  Brent Fulgham  <bfulgham@webkit.org>
49387
49388         Unreviewed.
49389
49390         [WinCairo] Build fix for platform/cairo stuff after r67981.
49391
49392         * WebCore.vcproj/WebCore.vcproj: Add new files needed by all cairo
49393         ports.
49394
49395 2010-09-22  Erik Arvidsson  <arv@chromium.org>
49396
49397         Reviewed by Nate Chapin.
49398
49399         [Chromium] Fix memory model for dataset
49400         https://bugs.webkit.org/show_bug.cgi?id=46280
49401
49402         This is covered by existing tests.
49403
49404         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
49405         (WebCore::toV8):
49406
49407 2010-09-22  Abhishek Arya  <inferno@chromium.org>
49408
49409         Reviewed by Dave Hyatt.
49410
49411         Fix wrong casts for table cell since its parent is not a RenderBlock. Remove
49412         the redundant destroy call for empty anonymous columns or column span block.
49413         https://bugs.webkit.org/show_bug.cgi?id=46245
49414
49415         Tests: fast/table/table-anonymous-block-destroy-crash.html
49416                fast/table/table-columns-blocks-calc-crash.html
49417
49418         * rendering/RenderBlock.cpp:
49419         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
49420         (WebCore::RenderBlock::columnsBlockForSpanningElement):
49421         (WebCore::RenderBlock::removeChild):
49422
49423 2010-09-22  Matt Perry  <mpcomplete@chromium.org>
49424
49425         Reviewed by Darin Fisher.
49426
49427         Trying to reland a version of r67749:
49428         Have V8DOMWindowShell ask the embedder whether to run a V8 extension
49429         in a particular script context.
49430         https://bugs.webkit.org/show_bug.cgi?id=45721
49431
49432         * bindings/v8/V8DOMWindowShell.cpp:
49433         (WebCore::V8DOMWindowShell::createNewContext):
49434         * bindings/v8/V8Proxy.cpp:
49435         (WebCore::V8Proxy::registerExtension):
49436         * bindings/v8/V8Proxy.h:
49437         * loader/EmptyClients.h:
49438         (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
49439         * loader/FrameLoaderClient.h:
49440
49441 2010-09-22  Ryosuke Niwa  <rniwa@webkit.org>
49442
49443         Reviewed by Darin Adler.
49444
49445         queryCommandState returns false for Underline command when no selection is made
49446         https://bugs.webkit.org/show_bug.cgi?id=17594
49447
49448         The bug was caused by selectionComputedStyle's adding -webkit-text-decorations-in-effect property
49449         to a dummy span used to obtain the computed style when there is a typing style.
49450         Since this property is for internal use only, the CSS parser always stripped the property.
49451         As a result, we were always ignoring the text decorations set by the typing style.
49452
49453         Fixed the bug by making selectionComputedStyle directly merge the computed style of the current
49454         caret position and the typing style. This also eliminates the need for a dummy span element.
49455         Due to the merge, the return value of selectionComputedStyle had to be changed to CSSMutableStyleDeclaration
49456         from CSSComputedStyleDeclaration.
49457
49458         Test: editing/execCommand/query-text-decoration-with-typing-style.html
49459
49460         * editing/ApplyStyleCommand.cpp:
49461         (WebCore::StyleChange::init): Calls getPropertiesNotIn.
49462         (WebCore::getPropertiesNotIn): Renamed from getPropertiesNotInComputedStyle since it takes
49463         CSSStyleDeclaration* instead of CSSComputedStyleDeclaration* for the second argument.
49464         (WebCore::ApplyStyleCommand::removeNonEditingProperties): Extracted from editingStyleAtPosition.
49465         (WebCore::ApplyStyleCommand::editingStyleAtPosition): Calls removeNonEditingProperties.
49466         * editing/ApplyStyleCommand.h:
49467         * editing/Editor.cpp:
49468         (WebCore::triStateOfStyle): Calls getPropertiesNotIn. Renamed from triStateOfStyleInComputedStyle
49469         since it no longer takes CSSComputedStyleDeclaration.
49470         (WebCore::Editor::selectionStartHasStyle): Calls selectionComputedStyle and triStateOfStyle.
49471         (WebCore::Editor::selectionHasStyle): Ditto.
49472         (WebCore::Editor::selectionStartCSSPropertyValue): Calls selectionComputedStyle.
49473         (WebCore::Editor::selectionComputedStyle): See above.
49474         * editing/Editor.h:
49475         * editing/EditorCommand.cpp:
49476         (WebCore::executeToggleStyleInList): Calls selectionComputedStyle.
49477
49478 2010-09-22  Jamey Hicks  <jamey.hicks@nokia.com>
49479
49480         Reviewed by Kenneth Rohde Christiansen.
49481
49482         [Qt] Web Inspector: Remote Web Inspector support for QtWebKit
49483         https://bugs.webkit.org/show_bug.cgi?id=43988
49484
49485         Runs a web debug server on port specified by QtTestBrowser
49486         argument -remote-inspector-port. Property
49487         _q_webInspectorServerPort of the QWebPage instance will be set
49488         according to the argument. All pages with that property set will
49489         be remotely inspectable.
49490
49491         URL for remote inspection of first QWebPage is
49492             http://localhost:9222/webkit/inspector/inspector.html?page=1
49493         where 1 is the number of the QWebPage instance.
49494
49495         The base URL yields an index page with links to the individual inspectors:
49496             http://localhost:9222/
49497
49498         * WebCore.pro
49499
49500 2010-09-21  Darin Adler  <darin@apple.com>
49501
49502         Reviewed by Anders Carlsson.
49503
49504         Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
49505         https://bugs.webkit.org/show_bug.cgi?id=46220
49506
49507         * WebCore.exp.in: Updated.
49508
49509         * bindings/objc/ObjCEventListener.h: Use a RetainPtr for m_listener, since that
49510         will do a CFRetain, which is right for GC rather than an -[NSObject retain],
49511         which is not.
49512         * bindings/objc/ObjCEventListener.mm:
49513         (WebCore::ObjCEventListener::ObjCEventListener): Removed explicit retain.
49514         (WebCore::ObjCEventListener::~ObjCEventListener): Removed explicit release and
49515         added get().
49516         (WebCore::ObjCEventListener::handleEvent): Added get();
49517
49518         * bridge/objc/objc_instance.mm:
49519         (ObjcInstance::setGlobalException): Use copy/release instead of
49520         HardRetain/HardRelease.
49521         (ObjcInstance::moveGlobalExceptionToExecState): Ditto.
49522
49523         * platform/Cursor.h: Use RetainPtr for PlatformCursor on Mac.
49524
49525         * platform/Cursor.cpp:
49526         (WebCore::Cursor::platformCursor): Moved this to CursorMac for the Mac.
49527
49528         * platform/Widget.cpp: Removed retain/releasePlatformWidget and made them
49529         both inlines in the header file.
49530
49531         * platform/Widget.h: Fixed includes and added an include of RetainPtr.
49532         Made platformWidget and setPlatformWidget non-inline on the Mac platform.
49533         Made releasePlatformWidget and retainPlatformWidget empty inline functions
49534         for non-GTK platforms.
49535
49536         * platform/graphics/mac/ImageMac.mm: Removed unneeded FoundationExtras.h
49537         include.
49538
49539         * platform/mac/ClipboardMac.mm:
49540         (WebCore::cocoaTypeFromHTMLClipboardType): use RetainPtr for the return type.
49541         (WebCore::ClipboardMac::clearData): Use RetainPtr.
49542         (WebCore::ClipboardMac::getData): Ditto.
49543         (WebCore::ClipboardMac::setData): Ditto.
49544
49545         * platform/mac/CursorMac.mm:
49546         (WebCore::createCustomCursor): Use RetainPtr for the return type.
49547         (WebCore::Cursor::ensurePlatformCursor): Removed all the calls to HardRetain
49548         since m_platformCursor is now a RetainPtr.
49549         (WebCore::Cursor::Cursor): Ditto.
49550         (WebCore::Cursor::operator=): Ditto. Also HardRelease.
49551         (WebCore::Cursor::~Cursor): Ditto.
49552         (WebCore::Cursor::platformCursor): Use get here.
49553
49554         * platform/mac/FoundationExtras.h: Removed all the functions except for
49555         HardAutorelease. Later we can remove that one too.
49556
49557         * platform/mac/ThemeMac.mm:
49558         (WebCore::setUpButtonCell): Changed this function to have a return value.
49559         Otherwise we end up taking a pointer (actually a reference) to a global
49560         variable, which does not do the right thing for GC.
49561         (WebCore::nonDefaultButton): Added.
49562         (WebCore::defaultButton): Added.
49563         (WebCore::button): Changed to call two separate functions with two separate
49564         global variables to avoid the problem with pointers to globals.
49565
49566         * platform/mac/WidgetMac.mm:
49567         (WebCore::Widget::~Widget): Removed unneeded call to releasePlatformWidget.
49568         (WebCore::Widget::platformWidget): Non-inline so we can comipile the header
49569         plain non-Objective-C C++.
49570         (WebCore::Widget::setPlatformWidget): Ditto.
49571
49572         * platform/network/mac/WebCoreURLResponse.mm:
49573         (mimeTypeFromUTITree): Use RetainPtr for the return type.
49574         (-[NSURLResponse adjustMIMETypeIfNecessary]): Use RetainPtr.
49575
49576 2010-09-22  Martin Robinson  <mrobinson@igalia.com>
49577
49578         Reviewed by Xan Lopez.
49579
49580         [GTK] r68027 caused many crashes on the bots
49581         https://bugs.webkit.org/show_bug.cgi?id=46268
49582
49583         Add the appropriate OwnPtrCairo.h include which has the OwnPtr
49584         specialization for Cairo paths. Without it, we will have memory
49585         corruption.
49586
49587         * platform/graphics/cairo/PathCairo.cpp: Add OwnPtrCairo.h include.
49588
49589 2010-09-22  Pavel Podivilov  <podivilov@chromium.org>
49590
49591         Reviewed by Pavel Feldman.
49592
49593         Web Inspector: implement pausing on XHR
49594         https://bugs.webkit.org/show_bug.cgi?id=46086
49595
49596         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
49597         (WebCore::V8XMLHttpRequest::sendCallback):
49598         * inspector/Inspector.idl:
49599         * inspector/InspectorController.cpp:
49600         (WebCore::InspectorController::InspectorController):
49601         (WebCore::InspectorController::setNativeBreakpoint):
49602         (WebCore::InspectorController::removeNativeBreakpoint):
49603         (WebCore::InspectorController::willInsertDOMNodeImpl):
49604         (WebCore::InspectorController::willRemoveDOMNodeImpl):
49605         (WebCore::InspectorController::willModifyDOMAttrImpl):
49606         (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
49607         * inspector/InspectorController.h:
49608         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
49609         (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
49610         (WebCore::InspectorController::inspectorControllerForNode):
49611         (WebCore::InspectorController::inspectorControllerForDocument):
49612         * inspector/InspectorDebuggerAgent.cpp:
49613         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
49614         (WebCore::InspectorDebuggerAgent::didPause):
49615         (WebCore::InspectorDebuggerAgent::breakProgram):
49616         * inspector/InspectorDebuggerAgent.h:
49617         * inspector/InspectorTimelineAgent.h:
49618         * inspector/front-end/CallStackSidebarPane.js:
49619         (WebInspector.CallStackSidebarPane.prototype.updateStatus):
49620         * inspector/front-end/ElementsPanel.js:
49621         (WebInspector.ElementsPanel):
49622         (WebInspector.ElementsPanel.prototype.reset):
49623         * inspector/front-end/ElementsTreeOutline.js:
49624         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
49625         * inspector/front-end/ScriptsPanel.js:
49626         (WebInspector.ScriptsPanel):
49627         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
49628         (WebInspector.ScriptsPanel.prototype.reset):
49629         * inspector/front-end/Settings.js:
49630         * xml/XMLHttpRequest.h:
49631         (WebCore::XMLHttpRequest::url):
49632
49633 2010-09-22  Kenneth Russell  <kbr@google.com>
49634
49635         Reviewed by James Robinson.
49636
49637         Add local triangulation of cubic curve control points
49638         https://bugs.webkit.org/show_bug.cgi?id=45252
49639
49640         Adding a localized triangulation algorithm which takes as input
49641         the four control points of a cubic curve segment and provides both
49642         triangles as well as the ability to walk the interior edges. The
49643         latter will be used later to fill the interior of shapes bounded
49644         by these cubic curves, quadratic curves and line segments.
49645
49646         * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
49647         (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
49648         (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
49649         (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
49650         (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
49651         (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
49652         (WebCore::LoopBlinnLocalTriangulator::reset):
49653         (WebCore::LoopBlinnLocalTriangulator::triangulate):
49654         (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
49655         (WebCore::LoopBlinnLocalTriangulator::addTriangle):
49656         (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
49657         (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
49658         * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
49659         (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
49660         (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
49661         (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
49662         (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
49663         (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
49664         (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
49665         (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
49666         (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
49667         (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
49668         (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
49669         (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
49670         (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
49671         (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
49672         (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
49673         (WebCore::LoopBlinnLocalTriangulator::getVertex):
49674         (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
49675         (WebCore::LoopBlinnLocalTriangulator::getTriangle):
49676         (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
49677         (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):
49678
49679 2010-09-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
49680
49681         Unreviewed, EFL build fix.
49682
49683         * CMakeListsEfl.txt:
49684         * platform/efl/ClipboardEfl.cpp:
49685         (WebCore::ClipboardEfl::ClipboardEfl):
49686
49687 2010-09-22  İsmail Dönmez  <ismail@namtrac.org>
49688
49689         Reviewed by Andreas Kling.
49690
49691         [Qt] Build fix for WinCE
49692
49693         Add two missing stubs:
49694         - privateBrowsingStateChanged(bool)
49695         - bindingInstance()
49696
49697         * platform/qt/TemporaryLinkStubsQt.cpp:
49698         (PluginView::privateBrowsingStateChanged):
49699         (PluginView::bindingInstance):
49700
49701 2010-09-22  Martin Robinson  <mrobinson@igalia.com>
49702
49703         Reviewed by Xan Lopez.
49704
49705         [GTK] FontCustomPlatformData.cpp leaks FT_Faces
49706         https://bugs.webkit.org/show_bug.cgi?id=16941
49707
49708         Attach lifetime of the FontCustomPlatformData FT_Face to the resulting cairo_font_face_t.
49709         This will free the memory associated with the FT_Face once the cairo_font_face_t is 
49710         destroyed.
49711
49712         No new tests as functionality should not change.
49713
49714         * platform/graphics/cairo/FontCustomPlatformData.cpp:
49715         (WebCore::releaseCustomFontData): Moved this helper method to the top of the file
49716         and gave it a more descriptive name.
49717         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Changed the constructor to
49718         take the FT_Face and the buffer, so to better encapsulate the creation of the cairo
49719         face.
49720         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a comment about the
49721         fate of the FT_Face to the destructor.
49722         (WebCore::createFontCustomPlatformData): Cleaned up the code here and moved some of the
49723         logic into the constructor.
49724         * platform/graphics/cairo/FontCustomPlatformData.h: Updated method definitions.
49725
49726 2010-09-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
49727
49728         Reviewed by Kenneth Rohde Christiansen.
49729
49730         PluginStrategy should satisfy the needs of Qt
49731         https://bugs.webkit.org/show_bug.cgi?id=45857
49732         No new functionality so no new tests.
49733
49734         * plugins/PluginData.cpp:
49735         (WebCore::PluginData::initPlugins):
49736         * plugins/PluginStrategy.h: Added a |const Page*| argument to getPluginInfo.
49737
49738 2010-09-22  Pavel Feldman  <pfeldman@chromium.org>
49739
49740         Reviewed by Yury Semikhatsky.
49741
49742         Web Inspector: Elements panel does not reflect changes to the text node values.
49743         https://bugs.webkit.org/show_bug.cgi?id=46166
49744
49745         * dom/CharacterData.cpp:
49746         (WebCore::CharacterData::dispatchModifiedEvent):
49747         * inspector/Inspector.idl:
49748         * inspector/InspectorController.cpp:
49749         (WebCore::InspectorController::characterDataModifiedImpl):
49750         * inspector/InspectorController.h:
49751         (WebCore::InspectorController::characterDataModified):
49752         * inspector/InspectorDOMAgent.cpp:
49753         (WebCore::InspectorDOMAgent::characterDataModified):
49754         * inspector/InspectorDOMAgent.h:
49755         (WebCore::EventListenerInfo::EventListenerInfo):
49756         (WebCore::InspectorDOMAgent::create):
49757         (WebCore::InspectorDOMAgent::cast):
49758         (WebCore::InspectorDOMAgent::cssStore):
49759         * inspector/front-end/DOMAgent.js:
49760         (WebInspector.DOMAgent.prototype._characterDataModified):
49761         (WebInspector.characterDataModified):
49762         * inspector/front-end/ElementsPanel.js:
49763         (WebInspector.ElementsPanel.prototype._characterDataModified):
49764         * inspector/front-end/ElementsTreeOutline.js:
49765         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
49766
49767 2010-09-21  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
49768
49769         Reviewed by Kenneth Rohde Christiansen.
49770
49771         [Qt] On Maemo platform, web style is missing for some inputs
49772         https://bugs.webkit.org/show_bug.cgi?id=46182
49773
49774         * css/themeQtMaemo5.css:
49775
49776 2010-09-22  Patrick Gansterer  <paroga@webkit.org>
49777
49778         Unreviewed.
49779
49780         [WINCE] Build fix for ResourceHandleWin after r67291.
49781
49782         * platform/network/win/ResourceHandleWin.cpp:
49783         (WebCore::ResourceHandle::loadResourceSynchronously): Replace Frame* parameter with NetworkingContext*.
49784
49785 2010-09-22  Chris Guillory   <chris.guillory@google.com>
49786
49787         Reviewed by Chris Fleizach.
49788
49789         Crash due to bad cast in AXObjectCacheChromium.cpp.
49790         https://bugs.webkit.org/show_bug.cgi?id=46237
49791
49792         * accessibility/chromium/AXObjectCacheChromium.cpp:
49793         (WebCore::AXObjectCache::postPlatformNotification):
49794         * page/ChromeClient.h:
49795         (WebCore::ChromeClient::postAccessibilityNotification):
49796         (WebCore::ChromeClient::didChangeAccessibilityObjectState):
49797         (WebCore::ChromeClient::didChangeAccessibilityObjectChildren):
49798         * page/chromium/ChromeClientChromium.h:
49799
49800 2010-09-22  Chris Rogers  <crogers@google.com>
49801
49802         Reviewed by James Robinson.
49803
49804         Add HRTFElevation files
49805         https://bugs.webkit.org/show_bug.cgi?id=45864
49806
49807         No new tests since audio API is not yet implemented.
49808
49809         * platform/audio/HRTFElevation.cpp: Added.
49810         (WebCore::HRTFElevation::calculateSymmetricKernelsForAzimuthElevation):
49811         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
49812         (WebCore::HRTFElevation::createForSubject):
49813         (WebCore::HRTFElevation::createByInterpolatingSlices):
49814         (WebCore::HRTFElevation::getKernelsFromAzimuth):
49815         * platform/audio/HRTFElevation.h: Added.
49816         (WebCore::HRTFElevation::kernelListL):
49817         (WebCore::HRTFElevation::kernelListR):
49818         (WebCore::HRTFElevation::elevationAngle):
49819         (WebCore::HRTFElevation::numberOfAzimuths):
49820         (WebCore::HRTFElevation::sampleRate):
49821         (WebCore::HRTFElevation::HRTFElevation):
49822
49823 2010-09-22  Alejandro G. Castro  <alex@igalia.com>
49824
49825         Reviewed by Martin Robinson.
49826
49827         [gtk] Use the smart pointers to handle cairo_path_t
49828         https://bugs.webkit.org/show_bug.cgi?id=46212
49829
49830         Modified the code to use smart pointers with cairo_path_t
49831         variables.
49832
49833         * platform/graphics/cairo/GraphicsContextCairo.cpp:
49834         (WebCore::appendPathToCairoContext):
49835         (WebCore::GraphicsContext::clip):
49836         (WebCore::GraphicsContext::drawTiledShadow):
49837         * platform/graphics/cairo/PathCairo.cpp:
49838         (WebCore::Path::Path):
49839         (WebCore::Path::operator=):
49840         (WebCore::Path::apply):
49841         (WebCore::Path::debugString):
49842
49843 2010-09-22  Kwang Yul Seo  <skyul@company100.net>
49844
49845         Reviewed by Kent Tamura.
49846
49847         [BREWMP] Implement Image::loadPlatformResource
49848         https://bugs.webkit.org/show_bug.cgi?id=45873
49849
49850         Load images from the resource directory.
49851
49852         * platform/graphics/brew/ImageBrew.cpp: Added.
49853         (WebCore::Image::loadPlatformResource):
49854
49855 2010-09-22  Chris Rogers  <crogers@google.com>
49856
49857         Reviewed by James Robinson.
49858
49859         Add HRTFKernel files
49860         https://bugs.webkit.org/show_bug.cgi?id=45863
49861
49862         No new tests since audio API is not yet implemented.
49863
49864         * platform/audio/HRTFKernel.cpp: Added.
49865         (WebCore::extractAverageGroupDelay):
49866         (WebCore::HRTFKernel::HRTFKernel):
49867         (WebCore::HRTFKernel::createImpulseResponse):
49868         (WebCore::HRTFKernel::createInterpolatedKernel):
49869         * platform/audio/HRTFKernel.h: Added.
49870         (WebCore::HRTFKernel::create):
49871         (WebCore::HRTFKernel::fftFrame):
49872         (WebCore::HRTFKernel::fftSize):
49873         (WebCore::HRTFKernel::frameDelay):
49874         (WebCore::HRTFKernel::sampleRate):
49875         (WebCore::HRTFKernel::nyquist):
49876         (WebCore::HRTFKernel::HRTFKernel):
49877
49878 2010-09-22  Kent Tamura  <tkent@chromium.org>
49879
49880         Reviewed by Chris Fleizach.
49881
49882         Support keyboard operations for <input type=range>.
49883         https://bugs.webkit.org/show_bug.cgi?id=45803
49884
49885         Increasing the value with Up/Right arrow keys by its step value,
49886         and decreasing with Down/Left arrow keys. If an input element has
49887         step=any attribute, increasing/decreasing by 1/100 of max-min.
49888
49889         Note: This change is not useful on Mac because users can't set
49890         focus on range controls.
49891
49892         Test: fast/forms/range-keyoperation.html
49893
49894         * html/HTMLInputElement.cpp:
49895         (WebCore::HTMLInputElement::defaultEventHandler):
49896           Calls handleKeyEventForRange() for RANGE and key events.
49897         (WebCore::HTMLInputElement::handleKeyEventForRange):
49898         * html/HTMLInputElement.h: Add handleKeyEventForRange() declaration.
49899
49900 2010-09-22  Mario Sanchez Prada  <msanchez@igalia.com>
49901
49902         Reviewed by Chris Fleizach.
49903
49904         [Gtk] Incorrect exposure of list items whose children are elements
49905         https://bugs.webkit.org/show_bug.cgi?id=45383
49906
49907         Set ATK_ROLE_LIST_ITEM looking for the role of the parent object
49908
49909         Test: platform/gtk/accessibility/list-items-always-exposed.html
49910
49911         * accessibility/gtk/AccessibilityObjectAtk.cpp:
49912         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
49913         Always include objects with ListItemRole in accessibility for GTK.
49914         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
49915         (getInterfaceMaskFromObject): Add some specific code to handle the
49916         special case of list markers by implementing AtkText when needed.
49917
49918 2010-09-22  Dirk Schulze  <krit@webkit.org>
49919
49920         Reviewed by Nikolas Zimmermann.
49921
49922         Make FilterEffects independent of SVG
49923         https://bugs.webkit.org/show_bug.cgi?id=46177
49924
49925         Moving all FilterEffects from svg/graphics/filters to platform/graphics/filters, now that they
49926         are independent of SVG. Removed the SVG prefix of the files and updated the headers.
49927
49928         * Android.mk:
49929         * CMakeLists.txt:
49930         * GNUmakefile.am:
49931         * WebCore.gypi:
49932         * WebCore.pro:
49933         * WebCore.vcproj/WebCore.vcproj:
49934         * WebCore.xcodeproj/project.pbxproj:
49935         * platform/graphics/filters/DistantLightSource.h: Copied from WebCore/svg/graphics/filters/SVGDistantLightSource.h.
49936         * platform/graphics/filters/FEConvolveMatrix.cpp: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp.
49937         * platform/graphics/filters/FEConvolveMatrix.h: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h.
49938         * platform/graphics/filters/FEDiffuseLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp.
49939         * platform/graphics/filters/FEDiffuseLighting.h: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h.
49940         * platform/graphics/filters/FEDisplacementMap.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp.
49941         * platform/graphics/filters/FEDisplacementMap.h: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.h.
49942         * platform/graphics/filters/FEFlood.cpp: Copied from WebCore/svg/graphics/filters/SVGFEFlood.cpp.
49943         * platform/graphics/filters/FEFlood.h: Copied from WebCore/svg/graphics/filters/SVGFEFlood.h.
49944         * platform/graphics/filters/FELighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFELighting.cpp.
49945         * platform/graphics/filters/FELighting.h: Copied from WebCore/svg/graphics/filters/SVGFELighting.h.
49946         * platform/graphics/filters/FEMerge.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMerge.cpp.
49947         * platform/graphics/filters/FEMerge.h: Copied from WebCore/svg/graphics/filters/SVGFEMerge.h.
49948         * platform/graphics/filters/FEMorphology.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.cpp.
49949         * platform/graphics/filters/FEMorphology.h: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.h.
49950         * platform/graphics/filters/FEOffset.cpp: Copied from WebCore/svg/graphics/filters/SVGFEOffset.cpp.
49951         * platform/graphics/filters/FEOffset.h: Copied from WebCore/svg/graphics/filters/SVGFEOffset.h.
49952         * platform/graphics/filters/FESpecularLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp.
49953         * platform/graphics/filters/FESpecularLighting.h: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.h.
49954         * platform/graphics/filters/FETile.cpp: Copied from WebCore/svg/graphics/filters/SVGFETile.cpp.
49955         * platform/graphics/filters/FETile.h: Copied from WebCore/svg/graphics/filters/SVGFETile.h.
49956         * platform/graphics/filters/FETurbulence.cpp: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.cpp.
49957         * platform/graphics/filters/FETurbulence.h: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.h.
49958         * platform/graphics/filters/LightSource.cpp: Copied from WebCore/svg/graphics/filters/SVGLightSource.cpp.
49959         * platform/graphics/filters/LightSource.h: Copied from WebCore/svg/graphics/filters/SVGLightSource.h.
49960         * platform/graphics/filters/PointLightSource.h: Copied from WebCore/svg/graphics/filters/SVGPointLightSource.h.
49961         * platform/graphics/filters/SpotLightSource.h: Copied from WebCore/svg/graphics/filters/SVGSpotLightSource.h.
49962         * svg/SVGFEConvolveMatrixElement.h:
49963         * svg/SVGFEDiffuseLightingElement.cpp:
49964         * svg/SVGFEDisplacementMapElement.h:
49965         * svg/SVGFEDistantLightElement.cpp:
49966         * svg/SVGFEFloodElement.h:
49967         * svg/SVGFELightElement.h:
49968         * svg/SVGFEMergeElement.h:
49969         * svg/SVGFEMorphologyElement.h:
49970         * svg/SVGFEOffsetElement.h:
49971         * svg/SVGFEPointLightElement.cpp:
49972         * svg/SVGFESpecularLightingElement.h:
49973         * svg/SVGFESpotLightElement.cpp:
49974         * svg/SVGFETileElement.h:
49975         * svg/SVGFETurbulenceElement.h:
49976         * svg/graphics/filters/SVGDistantLightSource.h: Removed.
49977         * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Removed.
49978         * svg/graphics/filters/SVGFEConvolveMatrix.h: Removed.
49979         * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Removed.
49980         * svg/graphics/filters/SVGFEDiffuseLighting.h: Removed.
49981         * svg/graphics/filters/SVGFEDisplacementMap.cpp: Removed.
49982         * svg/graphics/filters/SVGFEDisplacementMap.h: Removed.
49983         * svg/graphics/filters/SVGFEFlood.cpp: Removed.
49984         * svg/graphics/filters/SVGFEFlood.h: Removed.
49985         * svg/graphics/filters/SVGFELighting.cpp: Removed.
49986         * svg/graphics/filters/SVGFELighting.h: Removed.
49987         * svg/graphics/filters/SVGFEMerge.cpp: Removed.
49988         * svg/graphics/filters/SVGFEMerge.h: Removed.
49989         * svg/graphics/filters/SVGFEMorphology.cpp: Removed.
49990         * svg/graphics/filters/SVGFEMorphology.h: Removed.
49991         * svg/graphics/filters/SVGFEOffset.cpp: Removed.
49992         * svg/graphics/filters/SVGFEOffset.h: Removed.
49993         * svg/graphics/filters/SVGFESpecularLighting.cpp: Removed.
49994         * svg/graphics/filters/SVGFESpecularLighting.h: Removed.
49995         * svg/graphics/filters/SVGFETile.cpp: Removed.
49996         * svg/graphics/filters/SVGFETile.h: Removed.
49997         * svg/graphics/filters/SVGFETurbulence.cpp: Removed.
49998         * svg/graphics/filters/SVGFETurbulence.h: Removed.
49999         * svg/graphics/filters/SVGLightSource.cpp: Removed.
50000         * svg/graphics/filters/SVGLightSource.h: Removed.
50001         * svg/graphics/filters/SVGPointLightSource.h: Removed.
50002         * svg/graphics/filters/SVGSpotLightSource.h: Removed.
50003
50004 2010-09-22  Patrick Gansterer  <paroga@webkit.org>
50005
50006         Reviewed by Adam Roben.
50007
50008         [WIN] Add internetHandle to WebCoreSynchronousLoader.
50009         https://bugs.webkit.org/show_bug.cgi?id=46185
50010
50011         For loading content via network the WebCoreSynchronousLoader needs its own (synchronous) internetHandle.
50012         This also adds asynchronousInternetHandle() to create a static asynchronous internetHandle.
50013
50014         * platform/network/win/ResourceHandleWin.cpp:
50015         (WebCore::createInternetHandle):
50016         (WebCore::asynchronousInternetHandle):
50017         (WebCore::WebCoreSynchronousLoader::internetHandle):
50018         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Create synchronous internetHandle.
50019         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Delete synchronous internetHandle.
50020
50021 2010-09-22  Kwang Yul Seo  <skyul@company100.net>
50022
50023         Reviewed by Chris Fleizach.
50024
50025         [chromium] Remove unused sys/types.h in VDMXParser.cpp
50026         https://bugs.webkit.org/show_bug.cgi?id=46136
50027
50028         sys/types.h is not needed here.
50029
50030         * platform/graphics/chromium/VDMXParser.cpp:
50031
50032 2010-09-22  Kwang Yul Seo  <skyul@company100.net>
50033
50034         Reviewed by Kent Tamura.
50035
50036         [BREWMP] Change the home directory path to the WebKit module directory
50037         https://bugs.webkit.org/show_bug.cgi?id=45895
50038
50039         AEEFS_HOME_DIR denotes the currently running application's directory. 
50040         Change it to fs:/~<clsid> to use the WebKit module directory as home.
50041
50042         * platform/brew/FileSystemBrew.cpp:
50043         (WebCore::homeDirectoryPath):
50044
50045 2010-09-22  Kwang Yul Seo  <skyul@company100.net>
50046
50047         Reviewed by Kent Tamura.
50048
50049         [BREWMP] Add dummy Pasteboard
50050         https://bugs.webkit.org/show_bug.cgi?id=46107
50051
50052         Pasteboard is not supported yet. Add dummy implementation to avoid link errors.
50053
50054         * platform/brew/PasteboardBrew.cpp: Added.
50055         (WebCore::Pasteboard::generalPasteboard):
50056         (WebCore::Pasteboard::Pasteboard):
50057         (WebCore::Pasteboard::clear):
50058         (WebCore::Pasteboard::writeSelection):
50059         (WebCore::Pasteboard::writePlainText):
50060         (WebCore::Pasteboard::writeURL):
50061         (WebCore::Pasteboard::writeImage):
50062         (WebCore::Pasteboard::canSmartReplace):
50063         (WebCore::Pasteboard::plainText):
50064         (WebCore::Pasteboard::documentFragment):
50065
50066 2010-09-21  Ryosuke Niwa  <rniwa@webkit.org>
50067
50068         Reviewed by Kent Tamura.
50069
50070         Each EntityMaskIn* needs explanation
50071         https://bugs.webkit.org/show_bug.cgi?id=44833
50072
50073         Added a description as to why we escape nbsp when serializing HTML documents but not when serializing XML documents.
50074
50075         * editing/markup.cpp:
50076
50077 2010-09-21  Ryosuke Niwa  <rniwa@webkit.org>
50078
50079         Reviewed by Kent Tamura.
50080
50081         cleanup: removeInlineStyleFromElement and extractInlineStyleToPushDown should be merged
50082         https://bugs.webkit.org/show_bug.cgi?id=46205
50083
50084         Cleanup required to fix the bug 27818. Added the style extraction mechanism to removeInlineStyleFromElement
50085         and removeCSSStyle and replaced the call to extractInlineStyleToPushDown by a call to removeInlineStyleFromElement.
50086
50087         * editing/ApplyStyleCommand.cpp:
50088         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added extractedStyle argument.
50089         (WebCore::ApplyStyleCommand::removeCSSStyle): Added extractedStyle argument.
50090         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement instead of
50091         extractInlineStyleToPushDown which has been deleted.
50092         * editing/ApplyStyleCommand.h:
50093
50094 2010-09-21  Andrew Wilson  <atwilson@chromium.org>
50095
50096         Unreviewed, rolling out r67982.
50097         http://trac.webkit.org/changeset/67982
50098         https://bugs.webkit.org/show_bug.cgi?id=45156
50099
50100         Causes crashes on chromium testshell
50101
50102         * WebCore.gypi:
50103         * accessibility/chromium/AXObjectCacheChromium.cpp:
50104         (WebCore::AXObjectCache::postPlatformNotification):
50105         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
50106         (WebCore::AXObjectCache::handleScrolledToAnchor):
50107         * dom/Document.cpp:
50108         (WebCore::Document::implicitClose):
50109         (WebCore::Document::setFocusedNode):
50110         * editing/SelectionController.h:
50111         * editing/chromium/SelectionControllerChromium.cpp: Removed.
50112         * page/FrameView.cpp:
50113         (WebCore::FrameView::layout):
50114         * page/chromium/ChromeClientChromium.h:
50115
50116 2010-09-21  Cosmin Truta  <ctruta@chromium.org>
50117
50118         Reviewed by James Robinson.
50119
50120         RenderImage::intrinsicSizeChanged crashes when m_imageResource is missing
50121         https://bugs.webkit.org/show_bug.cgi?id=46120
50122
50123         Avoid applying operator -> to m_imageResource when its underlying pointer is NULL.
50124
50125         * rendering/RenderImage.h:
50126         (WebCore::RenderImage::intrinsicSizeChanged): Checked m_imageResource.
50127         * html/HTMLImageElement.cpp:
50128         (HTMLImageElement::createRenderer): Fixed indentation.
50129
50130 2010-09-21  Kenneth Russell  <kbr@google.com>
50131
50132         Reviewed by James Robinson.
50133
50134         [chromium] Remove GLES2Context and WebGLES2Context
50135         https://bugs.webkit.org/show_bug.cgi?id=46131
50136
50137         Removed now-obsolete GLES2Context and WebGLES2Context classes, and
50138         dependency on command buffer client code from WebCore. Built and
50139         tested 3D CSS and WebGL content on Mac OS X to test.
50140
50141         * WebCore.gypi:
50142         * platform/chromium/GLES2Context.h: Removed.
50143         * platform/graphics/skia/ImageSkia.cpp:
50144
50145 2010-09-21  Geoffrey Garen  <ggaren@apple.com>
50146
50147         Try to fix the Windows build.
50148
50149         * loader/Cache.cpp:
50150         (WebCore::Cache::makeResourcePurgeable):
50151         (WebCore::Cache::evict): Cast to int before using unary '-', to avoid an
50152         MSVC warning.
50153
50154 2010-09-21  Pratik Solanki  <psolanki@apple.com>
50155
50156         Reviewed by Geoffrey Garen and Darin Adler.
50157
50158         Use purgeable memory to keep more dead resources in cache
50159         https://bugs.webkit.org/show_bug.cgi?id=44806
50160         <rdar://problem/8350901>
50161
50162         This changes the behavior of dead resources in the WebCore cache to be the following if
50163         shouldMakeResourcePurgeableOnEviction() returns true.
50164
50165         1. Dead resources in the cache are kept in non-purgeable memory.
50166         2. When we prune dead resources, instead of freeing them, we mark their memory as purgeable
50167         and keep the resources until the kernel reclaims the purgeable memory.
50168
50169         By leaving the in-cache dead resources in dirty resident memory, we decrease the likelihood
50170         of the kernel claiming that memory and forcing us to refetch the resource (for example when
50171         a user presses back).
50172
50173         And by having an unbounded number of resource objects using purgeable memory, we can use
50174         as much memory as is available on the machine. The trade-off is that the CachedResource
50175         object (and its member variables) are allocated in non-purgeable TC-malloc'd memory so
50176         we would see slightly more memory use due to this.
50177
50178         * loader/Cache.cpp:
50179         (WebCore::Cache::resourceForURL): Adjust sizes appropriately if we made resource memory
50180         non-purgeable.
50181         (WebCore::Cache::pruneDeadResources): When removing dead resources, try first to mark their
50182         memory as purgeable. If not, evict the resource.
50183         (WebCore::Cache::makeResourcePurgeable): Added. Try to mark resource
50184         memory as purgeable. If successful, adjust the sizes so that we don't
50185         factor this resources size in the Cache size calculation.
50186         (WebCore::Cache::evict): Don't decrement size if we already did it in makeResourcePurgeable.
50187         (WebCore::Cache::dumpLRULists): Extra debug logging.
50188         * loader/Cache.h:
50189         (WebCore::Cache::shouldMakeResourcePurgeableOnEviction): Added. Indicates if the new
50190         behaviour is enabled.
50191         * loader/CachedCSSStyleSheet.cpp:
50192         (WebCore::CachedCSSStyleSheet::allClientsRemoved): Do not mark memory as purgeable. The
50193         Cache class takes care of this.
50194         * loader/CachedImage.cpp:
50195         (WebCore::CachedImage::destroyDecodedData): Ditto.
50196         * loader/CachedScript.cpp:
50197         (WebCore::CachedScript::destroyDecodedData): Ditto.
50198
50199 2010-09-21  Dan Bernstein  <mitz@apple.com>
50200
50201         Reviewed by Darin Adler.
50202
50203         <rdar://problem/7729077> Extending the selection to sentence boundary after a line break may select extra character
50204         https://bugs.webkit.org/show_bug.cgi?id=46232
50205
50206         Test: editing/selection/extend-by-sentence-002.html
50207
50208         * editing/visible_units.cpp:
50209         (WebCore::nextBoundary): The text iterator’s range end can be the position after
50210         the line break, in which case the next visible is actually after the first character
50211         of the next sentence. Instead, advance the text iterator past the newline character
50212         and return the beginning of its range, which is guaranteed to still be before the
50213         next sentence.
50214
50215 2010-09-21  Robert Hogan  <robert@webkit.org>
50216
50217         Rubber-stamped by Ariya Hidayat.
50218
50219         [Qt] Build fix against qt trunk
50220
50221         * platform/graphics/qt/ContextShadow.cpp:
50222         (WebCore::ContextShadow::beginShadowLayer):
50223
50224 2010-09-21  Tony Chang  <tony@chromium.org>
50225
50226         Unreviewed, QT build fix.
50227
50228         * platform/qt/ClipboardQt.cpp:
50229         (WebCore::ClipboardQt::ClipboardQt):
50230
50231 2010-09-21  Andy Estes  <aestes@apple.com>
50232
50233         Reviewed by Darin Adler.
50234
50235         REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
50236         https://bugs.webkit.org/show_bug.cgi?id=46134
50237
50238         * WebCore.exp.in: Export __ZN7WebCore32applicationIsAOLInstantMessengerEv.
50239         * platform/mac/RuntimeApplicationChecks.h:
50240         * platform/mac/RuntimeApplicationChecks.mm:
50241         (WebCore::applicationIsAOLInstantMessenger): Determine if the embedding
50242         application is AOL Instant Messenger by checking the bundle identifier.
50243
50244 2010-09-21  Chris Guillory   <chris.guillory@google.com>
50245
50246         Reviewed by Chris Fleizach.
50247
50248         Send webkit accessibility notifications to Chromium.
50249         https://bugs.webkit.org/show_bug.cgi?id=45156
50250
50251         * WebCore.gypi:
50252         * accessibility/chromium/AXObjectCacheChromium.cpp:
50253         (WebCore::AXObjectCache::postPlatformNotification):
50254         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
50255         (WebCore::AXObjectCache::handleScrolledToAnchor):
50256         * dom/Document.cpp:
50257         (WebCore::Document::implicitClose):
50258         (WebCore::Document::setFocusedNode):
50259         * editing/SelectionController.h:
50260         * editing/chromium/SelectionControllerChromium.cpp: Added.
50261         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
50262         * page/FrameView.cpp:
50263         (WebCore::FrameView::layout):
50264         * page/chromium/ChromeClientChromium.h:
50265
50266 2010-09-21  Alejandro G. Castro  <alex@igalia.com>
50267
50268         Reviewed by Martin Robinson.
50269
50270         [gtk] Move copyContextProperties outside the GraphicsContextCairo
50271         https://bugs.webkit.org/show_bug.cgi?id=46179.
50272
50273         Moved the copyContextProperties function to the CairoUtilities so
50274         we can use it outside GraphicsContextCairo. We moved also the old
50275         gtk CairoUtilities file to GdkCairoUtilities and added the new
50276         file in the cairo directory.
50277
50278         * GNUmakefile.am:
50279         * platform/graphics/cairo/CairoUtilities.cpp: Added.
50280         (WebCore::copyContextProperties):
50281         * platform/graphics/cairo/CairoUtilities.h: Added.
50282         * platform/graphics/cairo/GraphicsContextCairo.cpp:
50283         * platform/graphics/gtk/CairoUtilities.cpp: Removed.
50284         * platform/graphics/gtk/CairoUtilities.h: Removed.
50285         * platform/graphics/gtk/GdkCairoUtilities.cpp: Added.
50286         (getCairoSurfacePixel):
50287         (getGdkPixbufPixel):
50288         (cairoImageSurfaceToGdkPixbuf):
50289         * platform/graphics/gtk/GdkCairoUtilities.h: Added.
50290         * platform/graphics/gtk/ImageBufferGtk.cpp:
50291         * platform/graphics/gtk/ImageGtk.cpp:
50292
50293 2010-09-21  Vangelis Kokkevis  <vangelis@chromium.org>
50294
50295         Reviewed by James Robinson.
50296
50297         [chromium] Cleaned up LayerRendererChromium::prepareToDrawLayers
50298         logic to avoid unnecessary copy operations if the existing root layer
50299         contents aren't useful for scrolling. Also removed call to updateLayersRecursive()
50300         as the composited layer update is actually happening in the drawLayers() method.
50301         https://bugs.webkit.org/show_bug.cgi?id=46199
50302
50303
50304         * platform/graphics/chromium/LayerRendererChromium.cpp:
50305         (WebCore::LayerRendererChromium::prepareToDrawLayers):
50306
50307 2010-09-21  Daniel Cheng  <dcheng@chromium.org>
50308
50309         Reviewed by Tony Chang.
50310
50311         Change Clipboard to use an enum instead of isForDragging = true/false
50312         https://bugs.webkit.org/show_bug.cgi?id=46004
50313
50314         No new tests, since it's just a refactoring change.
50315
50316         * bindings/js/JSClipboardCustom.cpp:
50317         (WebCore::JSClipboard::setDragImage):
50318         * bindings/v8/custom/V8ClipboardCustom.cpp:
50319         (WebCore::V8Clipboard::setDragImageCallback):
50320         * dom/Clipboard.cpp:
50321         (WebCore::Clipboard::Clipboard):
50322         (WebCore::Clipboard::setDropEffect):
50323         (WebCore::Clipboard::setEffectAllowed):
50324         * dom/Clipboard.h:
50325         (WebCore::Clipboard::isForCopyAndPaste):
50326         (WebCore::Clipboard::isForDragAndDrop):
50327         * editing/android/EditorAndroid.cpp:
50328         (WebCore::Editor::newGeneralClipboard):
50329         * editing/brew/EditorBrew.cpp:
50330         (WebCore::Editor::newGeneralClipboard):
50331         * editing/chromium/EditorChromium.cpp:
50332         (WebCore::Editor::newGeneralClipboard):
50333         * editing/haiku/EditorHaiku.cpp:
50334         (WebCore::Editor::newGeneralClipboard):
50335         * editing/mac/EditorMac.mm:
50336         (WebCore::Editor::newGeneralClipboard):
50337         * editing/wx/EditorWx.cpp:
50338         (WebCore::Editor::newGeneralClipboard):
50339         * page/chromium/EventHandlerChromium.cpp:
50340         (WebCore::EventHandler::createDraggingClipboard):
50341         * page/efl/EventHandlerEfl.cpp:
50342         (WebCore::EventHandler::createDraggingClipboard):
50343         * page/gtk/EventHandlerGtk.cpp:
50344         (WebCore::EventHandler::createDraggingClipboard):
50345         * page/haiku/EventHandlerHaiku.cpp:
50346         (WebCore::EventHandler::createDraggingClipboard):
50347         * page/mac/EventHandlerMac.mm:
50348         (WebCore::EventHandler::createDraggingClipboard):
50349         * page/qt/EventHandlerQt.cpp:
50350         (WebCore::EventHandler::createDraggingClipboard):
50351         * page/win/EventHandlerWin.cpp:
50352         (WebCore::EventHandler::createDraggingClipboard):
50353         * page/wx/EventHandlerWx.cpp:
50354         (WebCore::EventHandler::createDraggingClipboard):
50355         * platform/android/ClipboardAndroid.cpp:
50356         (WebCore::ClipboardAndroid::ClipboardAndroid):
50357         (WebCore::ClipboardAndroid::clearData):
50358         (WebCore::ClipboardAndroid::clearAllData):
50359         (WebCore::ClipboardAndroid::setData):
50360         * platform/android/ClipboardAndroid.h:
50361         * platform/brew/ClipboardBrew.cpp:
50362         (WebCore::ClipboardBrew::ClipboardBrew):
50363         (WebCore::ClipboardBrew::clearData):
50364         (WebCore::ClipboardBrew::clearAllData):
50365         (WebCore::ClipboardBrew::setData):
50366         * platform/brew/ClipboardBrew.h:
50367         * platform/chromium/ClipboardChromium.cpp:
50368         (WebCore::Clipboard::create):
50369         (WebCore::ClipboardChromium::ClipboardChromium):
50370         (WebCore::ClipboardChromium::create):
50371         (WebCore::ClipboardChromium::getData):
50372         * platform/chromium/ClipboardChromium.h:
50373         * platform/efl/ClipboardEfl.cpp:
50374         (WebCore::Editor::newGeneralClipboard):
50375         (WebCore::ClipboardEfl::ClipboardEfl):
50376         * platform/efl/ClipboardEfl.h:
50377         (WebCore::ClipboardEfl::create):
50378         * platform/gtk/ClipboardGtk.cpp:
50379         (WebCore::Editor::newGeneralClipboard):
50380         (WebCore::Clipboard::create):
50381         (WebCore::ClipboardGtk::ClipboardGtk):
50382         (WebCore::dataObjectTypeFromHTMLClipboardType):
50383         (WebCore::ClipboardGtk::clearData):
50384         (WebCore::ClipboardGtk::getData):
50385         (WebCore::ClipboardGtk::setData):
50386         * platform/gtk/ClipboardGtk.h:
50387         (WebCore::ClipboardGtk::create):
50388         * platform/haiku/ClipboardHaiku.cpp:
50389         (WebCore::Clipboard::create):
50390         (WebCore::ClipboardHaiku::ClipboardHaiku):
50391         * platform/haiku/ClipboardHaiku.h:
50392         (WebCore::ClipboardHaiku::create):
50393         * platform/mac/ClipboardMac.h:
50394         (WebCore::ClipboardMac::create):
50395         * platform/mac/ClipboardMac.mm:
50396         (WebCore::Clipboard::create):
50397         (WebCore::ClipboardMac::ClipboardMac):
50398         * platform/qt/ClipboardQt.cpp:
50399         (WebCore::ClipboardQt::ClipboardQt):
50400         (WebCore::ClipboardQt::~ClipboardQt):
50401         (WebCore::ClipboardQt::clearData):
50402         (WebCore::ClipboardQt::clearAllData):
50403         (WebCore::ClipboardQt::setData):
50404         (WebCore::ClipboardQt::declareAndWriteDragImage):
50405         (WebCore::ClipboardQt::writeURL):
50406         (WebCore::ClipboardQt::writeRange):
50407         (WebCore::ClipboardQt::writePlainText):
50408         * platform/qt/ClipboardQt.h:
50409         (WebCore::ClipboardQt::create):
50410         * platform/win/ClipboardWin.cpp:
50411         (WebCore::Clipboard::create):
50412         (WebCore::ClipboardWin::ClipboardWin):
50413         (WebCore::ClipboardWin::clearData):
50414         (WebCore::ClipboardWin::clearAllData):
50415         (WebCore::ClipboardWin::setData):
50416         (WebCore::ClipboardWin::setExternalDataObject):
50417         * platform/win/ClipboardWin.h:
50418         (WebCore::ClipboardWin::create):
50419         * platform/win/EditorWin.cpp:
50420         (WebCore::Editor::newGeneralClipboard):
50421         * platform/wx/ClipboardWx.cpp:
50422         (WebCore::ClipboardWx::ClipboardWx):
50423         * platform/wx/ClipboardWx.h:
50424         (WebCore::ClipboardWx::create):
50425
50426 2010-09-21  Abhishek Arya  <inferno@chromium.org>
50427
50428         Reviewed by Dave Hyatt.
50429
50430         Take isValueList() checks out of the asserts for memory safety.
50431         https://bugs.webkit.org/show_bug.cgi?id=46194
50432
50433         Test: editing/execCommand/apply-style-text-decoration-crash.html
50434
50435         * editing/ApplyStyleCommand.cpp:
50436         (WebCore::StyleChange::extractTextStyles):
50437         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
50438
50439 2010-09-21  Vangelis Kokkevis  <vangelis@chromium.org>
50440
50441         Reviewed by Kenneth Russell.
50442
50443         [chromium] Fixing double translation of composited layers when scrolling.
50444         The scrolling transform is now applied by a separate layer maintained in
50445         the RenderLayerCompositor.
50446         https://bugs.webkit.org/show_bug.cgi?id=46193
50447
50448         * platform/graphics/chromium/LayerRendererChromium.cpp:
50449         (WebCore::LayerRendererChromium::drawLayers):
50450
50451 2010-09-21  David Hyatt  <hyatt@apple.com>
50452
50453         Reviewed by Dan Bernstein.
50454
50455         https://bugs.webkit.org/show_bug.cgi?id=46196, add marginStart/Before/End/After accessors to RenderBoxModelObject.
50456
50457         * rendering/RenderBox.cpp:
50458         (WebCore::RenderBox::marginBefore):
50459         (WebCore::RenderBox::marginAfter):
50460         (WebCore::RenderBox::marginStart):
50461         (WebCore::RenderBox::marginEnd):
50462         * rendering/RenderBox.h:
50463         * rendering/RenderBoxModelObject.h:
50464         * rendering/RenderInline.cpp:
50465         (WebCore::computeMargin):
50466         (WebCore::RenderInline::marginLeft):
50467         (WebCore::RenderInline::marginRight):
50468         (WebCore::RenderInline::marginTop):
50469         (WebCore::RenderInline::marginBottom):
50470         (WebCore::RenderInline::marginStart):
50471         (WebCore::RenderInline::marginEnd):
50472         * rendering/RenderInline.h:
50473         (WebCore::RenderInline::marginBefore):
50474         (WebCore::RenderInline::marginAfter):
50475
50476 2010-09-21  David Hyatt  <hyatt@apple.com>
50477
50478         Reviewed by Dan Bernstein.
50479
50480         https://bugs.webkit.org/show_bug.cgi?id=46190, add borderStart/Before/End/After accessors to RenderBoxModelObject.
50481
50482         * rendering/RenderBoxModelObject.h:
50483         (WebCore::RenderBoxModelObject::borderBefore):
50484         (WebCore::RenderBoxModelObject::borderAfter):
50485         (WebCore::RenderBoxModelObject::borderStart):
50486         (WebCore::RenderBoxModelObject::borderEnd):
50487         (WebCore::RenderBoxModelObject::borderAndPaddingLogicalHeight):
50488         (WebCore::RenderBoxModelObject::borderAndPaddingLogicalWidth):
50489         * rendering/RenderTableCell.cpp:
50490         (WebCore::RenderTableCell::borderStart):
50491         (WebCore::RenderTableCell::borderEnd):
50492         (WebCore::RenderTableCell::borderBefore):
50493         (WebCore::RenderTableCell::borderAfter):
50494         * rendering/RenderTableCell.h:
50495
50496 2010-09-21  Martin Robinson  <mrobinson@igalia.com>
50497
50498         Reviewed by Xan Lopez.
50499
50500         [GTK] 'make dist' should be fixed in preparation for the next release
50501         https://bugs.webkit.org/show_bug.cgi?id=46129
50502
50503         * GNUmakefile.am: Update the sources list to include missing headers.
50504
50505 2010-09-21  David Hyatt  <hyatt@apple.com>
50506
50507         Reviewed by John Sullivan.
50508
50509         https://bugs.webkit.org/show_bug.cgi?id=46188, make the cross-platform setPrinting method match the Mac version of the method.
50510         Specifically don't pass the page size down to subframes of the one you're printing.
50511
50512         * page/Frame.cpp:
50513         (WebCore::Frame::setPrinting):
50514
50515 2010-09-21  Patrick Gansterer  <paroga@webkit.org>
50516
50517         Reviewed by Adam Roben.
50518
50519         Use WTF::Vector for storing formData in ResourceHandleWin.
50520         https://bugs.webkit.org/show_bug.cgi?id=46180
50521
50522         * platform/network/ResourceHandleInternal.h:
50523         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
50524         * platform/network/win/ResourceHandleWin.cpp:
50525         (WebCore::ResourceHandle::onHandleCreated):
50526         (WebCore::ResourceHandle::onRequestComplete):
50527
50528 2010-09-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
50529
50530         Reviewed by Andreas Kling.
50531
50532         [Qt] Check if the reply has been deleted before finishing a network request
50533         https://bugs.webkit.org/show_bug.cgi?id=46174
50534
50535         A crash can happen with the following sequence:
50536         1. QNetworkReplyHandler::abort() emits reply->deleteLater()
50537         2. QNAM emits QNetworkReply::finished() -> calls QNetworkReplyHandler::finish()
50538         3. event loop would call reply->deleteLater()
50539         However a crash occurs since m_reply == 0 on step 2.
50540
50541         * platform/network/qt/QNetworkReplyHandler.cpp:
50542         (WebCore::QNetworkReplyHandler::finish):
50543
50544 2010-09-21  Jochen Eisinger  <jochen@chromium.org>
50545
50546         Reviewed by Jeremy Orlow.
50547
50548         Use @ to concatenate the database name and the database identifier when building
50549         the filename to use for indexed databases. That character is valid for filenames
50550         but cannot occur in a database identifier derived from a security origin.
50551         https://bugs.webkit.org/show_bug.cgi?id=46178
50552
50553         * storage/IDBFactoryBackendImpl.cpp:
50554         (WebCore::IDBFactoryBackendImpl::databaseFileName):
50555
50556 2010-09-21  Steve Block  <steveblock@google.com>
50557
50558         Reviewed by Jeremy Orlow.
50559
50560         DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
50561         https://bugs.webkit.org/show_bug.cgi?id=45891
50562
50563         Tested by existing DeviceOrientation tests.
50564
50565         * dom/DeviceMotionClient.h:
50566         * dom/DeviceMotionController.cpp:
50567         (WebCore::DeviceMotionController::~DeviceMotionController):
50568         * dom/DeviceMotionController.h:
50569         * dom/DeviceOrientationClient.h:
50570         * dom/DeviceOrientationController.cpp:
50571         (WebCore::DeviceOrientationController::~DeviceOrientationController):
50572         * dom/DeviceOrientationController.h:
50573         * loader/EmptyClients.h:
50574         (WebCore::EmptyDeviceMotionClient::deviceOrientationControllerDestroyed):
50575         (WebCore::EmptyDeviceOrientationClient::deviceOrientationControllerDestroyed):
50576         * platform/mock/DeviceOrientationClientMock.h:
50577         (WebCore::DeviceOrientationClientMock::deviceOrientationControllerDestroyed):
50578
50579 2010-09-21  Jochen Eisinger  <jochen@chromium.org>
50580
50581         Reviewed by Jeremy Orlow.
50582
50583         Factor out the file name used for a given indexed database to a static method.
50584         https://bugs.webkit.org/show_bug.cgi?id=46090
50585
50586         * storage/IDBFactoryBackendImpl.cpp:
50587         (WebCore::openSQLiteDatabase):
50588         (WebCore::IDBFactoryBackendImpl::databaseFileName):
50589         * storage/IDBFactoryBackendImpl.h:
50590
50591 2010-09-21  Dirk Schulze  <krit@webkit.org>
50592
50593         SVG Filter cleanup
50594         https://bugs.webkit.org/show_bug.cgi?id=45612
50595
50596         Unreviewed change of epsilon back to a more tolerant value in RenderTreeAsText and made it a static const.
50597         This should turn the bots green again.
50598
50599         * rendering/RenderTreeAsText.cpp:
50600         (WebCore::hasFractions):
50601
50602 2010-09-21  David Hyatt  <hyatt@apple.com>
50603
50604         Reviewed by Dan Bernstein.
50605
50606         https://bugs.webkit.org/show_bug.cgi?id=46125, convert table cell intrinsic padding from top/bottom-based
50607         to before/after-based.  A vertical text table can have intrinsic padding built into the left/right
50608         direction (and this allows the base class logical padding methods on RenderBoxModelObject to be safe to use).
50609
50610         * rendering/RenderTableCell.cpp:
50611         (WebCore::RenderTableCell::RenderTableCell):
50612         (WebCore::RenderTableCell::paddingTop):
50613         (WebCore::RenderTableCell::paddingBottom):
50614         (WebCore::RenderTableCell::paddingLeft):
50615         (WebCore::RenderTableCell::paddingRight):
50616         (WebCore::RenderTableCell::paddingBefore):
50617         (WebCore::RenderTableCell::paddingAfter):
50618         * rendering/RenderTableCell.h:
50619         (WebCore::RenderTableCell::setIntrinsicPaddingBefore):
50620         (WebCore::RenderTableCell::setIntrinsicPaddingAfter):
50621         (WebCore::RenderTableCell::setIntrinsicPadding):
50622         (WebCore::RenderTableCell::intrinsicPaddingBefore):
50623         (WebCore::RenderTableCell::intrinsicPaddingAfter):
50624         * rendering/RenderTableSection.cpp:
50625         (WebCore::RenderTableSection::calcRowHeight):
50626         (WebCore::RenderTableSection::layoutRows):
50627         * rendering/RenderTreeAsText.cpp:
50628         (WebCore::RenderTreeAsText::writeRenderObject):
50629         (WebCore::writeTextRun):
50630
50631 2010-09-21  Dirk Schulze  <krit@webkit.org>
50632
50633         Reviewed by Nikolas Zimmermann.
50634
50635         SVG Filter cleanup
50636         https://bugs.webkit.org/show_bug.cgi?id=45612
50637
50638         Second cleanup patch. Modified files to follow webkit style. Removed dependencies
50639         to SVG of most of the filter effects and prepared them to move from WebCore/svg/graphics/filters
50640         to WebCore/platform/graphics/filters/.
50641         Renamed calculateDrawingIntRect and calculateDrawingRect to requestedRegionOfInputImageData and
50642         drawingRegionOfInputImage to clarify the functionality and make both functions distinguishable.
50643
50644         * platform/graphics/filters/FEBlend.cpp:
50645         (WebCore::FEBlend::apply):
50646         * platform/graphics/filters/FEBlend.h:
50647         * platform/graphics/filters/FEColorMatrix.cpp:
50648         (WebCore::FEColorMatrix::apply):
50649         * platform/graphics/filters/FEColorMatrix.h:
50650         * platform/graphics/filters/FEComponentTransfer.cpp:
50651         (WebCore::FEComponentTransfer::apply):
50652         * platform/graphics/filters/FEComponentTransfer.h:
50653         (WebCore::ComponentTransferFunction::ComponentTransferFunction):
50654         * platform/graphics/filters/FEComposite.cpp:
50655         (WebCore::FEComposite::apply):
50656         * platform/graphics/filters/FEComposite.h:
50657         * platform/graphics/filters/FEGaussianBlur.cpp:
50658         (WebCore::FEGaussianBlur::apply):
50659         * platform/graphics/filters/FEGaussianBlur.h:
50660         * platform/graphics/filters/Filter.h:
50661         * platform/graphics/filters/FilterEffect.cpp:
50662         (WebCore::FilterEffect::requestedRegionOfInputImageData):
50663         (WebCore::FilterEffect::drawingRegionOfInputImage):
50664         (WebCore::FilterEffect::effectContext):
50665         * platform/graphics/filters/FilterEffect.h:
50666         * platform/graphics/filters/ImageBufferFilter.cpp:
50667         * platform/graphics/filters/ImageBufferFilter.h:
50668         * platform/graphics/filters/SourceAlpha.cpp:
50669         (WebCore::SourceAlpha::apply):
50670         * platform/graphics/filters/SourceAlpha.h:
50671         (WebCore::SourceAlpha::isSourceInput):
50672         (WebCore::SourceAlpha::SourceAlpha):
50673         * platform/graphics/filters/SourceGraphic.cpp:
50674         (WebCore::SourceGraphic::apply):
50675         * platform/graphics/filters/SourceGraphic.h:
50676         (WebCore::SourceGraphic::isSourceInput):
50677         (WebCore::SourceGraphic::SourceGraphic):
50678         * rendering/RenderTreeAsText.cpp:
50679         (WebCore::hasFractions):
50680         (WebCore::operator<<):
50681         * rendering/RenderTreeAsText.h:
50682         (WebCore::operator<<):
50683         * rendering/SVGRenderTreeAsText.cpp:
50684         * rendering/SVGRenderTreeAsText.h:
50685         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
50686         (WebCore::FEConvolveMatrix::apply):
50687         * svg/graphics/filters/SVGFEConvolveMatrix.h:
50688         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
50689         * svg/graphics/filters/SVGFEDiffuseLighting.h:
50690         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
50691         (WebCore::FEDisplacementMap::apply):
50692         * svg/graphics/filters/SVGFEDisplacementMap.h:
50693         * svg/graphics/filters/SVGFEFlood.cpp:
50694         (WebCore::FEFlood::apply):
50695         (WebCore::FEFlood::externalRepresentation):
50696         * svg/graphics/filters/SVGFEFlood.h:
50697         * svg/graphics/filters/SVGFEImage.cpp:
50698         (WebCore::FEImage::apply):
50699         * svg/graphics/filters/SVGFEImage.h:
50700         * svg/graphics/filters/SVGFELighting.cpp:
50701         (WebCore::FELighting::apply):
50702         * svg/graphics/filters/SVGFELighting.h:
50703         * svg/graphics/filters/SVGFEMerge.cpp:
50704         (WebCore::FEMerge::apply):
50705         * svg/graphics/filters/SVGFEMerge.h:
50706         * svg/graphics/filters/SVGFEMorphology.cpp:
50707         (WebCore::FEMorphology::apply):
50708         * svg/graphics/filters/SVGFEMorphology.h:
50709         * svg/graphics/filters/SVGFEOffset.cpp:
50710         (WebCore::FEOffset::apply):
50711         * svg/graphics/filters/SVGFEOffset.h:
50712         * svg/graphics/filters/SVGFESpecularLighting.cpp:
50713         * svg/graphics/filters/SVGFESpecularLighting.h:
50714         * svg/graphics/filters/SVGFETile.cpp:
50715         (WebCore::FETile::apply):
50716         * svg/graphics/filters/SVGFETile.h:
50717         * svg/graphics/filters/SVGFETurbulence.cpp:
50718         (WebCore::FETurbulence::apply):
50719         * svg/graphics/filters/SVGFETurbulence.h:
50720
50721 2010-09-20  Philippe Normand  <pnormand@igalia.com>
50722
50723         Reviewed by Eric Carlson.
50724
50725         [GTK] enhanced context menu for media elements
50726         https://bugs.webkit.org/show_bug.cgi?id=45021
50727
50728         New items in the media Element context menu:
50729         - play/pause
50730         - mute/unmute
50731         - controls display control
50732         - switch to fullscreen (for video only)
50733         - loop playback control
50734         - copy media url to clipboard
50735         - open in new window
50736
50737         Test: media/context-menu-actions.html
50738
50739         * page/ContextMenuController.cpp:
50740         (WebCore::ContextMenuController::contextMenuItemSelected):
50741         * platform/ContextMenu.cpp:
50742         (WebCore::ContextMenu::populate):
50743         (WebCore::ContextMenu::checkOrEnableIfNeeded):
50744         * platform/ContextMenuItem.h:
50745         * platform/LocalizationStrategy.h:
50746         * platform/LocalizedStrings.cpp:
50747         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50748         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50749         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50750         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50751         (WebCore::contextMenuItemTagToggleMediaControls):
50752         (WebCore::contextMenuItemTagToggleMediaLoop):
50753         (WebCore::contextMenuItemTagEnterVideoFullscreen):
50754         (WebCore::contextMenuItemTagMediaPlay):
50755         (WebCore::contextMenuItemTagMediaPause):
50756         (WebCore::contextMenuItemTagMediaMute):
50757         * platform/LocalizedStrings.h:
50758         * platform/android/LocalizedStringsAndroid.cpp:
50759         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50760         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50761         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50762         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50763         (WebCore::contextMenuItemTagToggleMediaControls):
50764         (WebCore::contextMenuItemTagToggleMediaLoop):
50765         (WebCore::contextMenuItemTagEnterVideoFullscreen):
50766         (WebCore::contextMenuItemTagMediaPlay):
50767         (WebCore::contextMenuItemTagMediaPause):
50768         (WebCore::contextMenuItemTagMediaMute):
50769         * platform/brew/LocalizedStringsBrew.cpp:
50770         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50771         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50772         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50773         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50774         (WebCore::contextMenuItemTagToggleMediaControls):
50775         (WebCore::contextMenuItemTagToggleMediaLoop):
50776         (WebCore::contextMenuItemTagEnterVideoFullscreen):
50777         (WebCore::contextMenuItemTagMediaPlay):
50778         (WebCore::contextMenuItemTagMediaPause):
50779         (WebCore::contextMenuItemTagMediaMute):
50780         * platform/efl/LocalizedStringsEfl.cpp:
50781         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50782         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50783         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50784         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50785         (WebCore::contextMenuItemTagToggleMediaControls):
50786         (WebCore::contextMenuItemTagToggleMediaLoop):
50787         (WebCore::contextMenuItemTagEnterVideoFullscreen):
50788         (WebCore::contextMenuItemTagMediaPlay):
50789         (WebCore::contextMenuItemTagMediaPause):
50790         (WebCore::contextMenuItemTagMediaMute):
50791         * platform/gtk/ContextMenuItemGtk.cpp:
50792         (WebCore::gtkStockIDFromContextMenuAction):
50793         * platform/gtk/LocalizedStringsGtk.cpp:
50794         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50795         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50796         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50797         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50798         (WebCore::contextMenuItemTagToggleMediaControls):
50799         (WebCore::contextMenuItemTagToggleMediaLoop):
50800         (WebCore::contextMenuItemTagEnterVideoFullscreen):
50801         (WebCore::contextMenuItemTagMediaPlay):
50802         (WebCore::contextMenuItemTagMediaPause):
50803         (WebCore::contextMenuItemTagMediaMute):
50804         * platform/haiku/LocalizedStringsHaiku.cpp:
50805         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50806         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50807         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50808         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50809         (WebCore::contextMenuItemTagToggleMediaControls):
50810         (WebCore::contextMenuItemTagToggleMediaLoop):
50811         (WebCore::contextMenuItemTagEnterVideoFullscreen):
50812         (WebCore::contextMenuItemTagMediaPlay):
50813         (WebCore::contextMenuItemTagMediaPause):
50814         (WebCore::contextMenuItemTagMediaMute):
50815         * platform/wx/LocalizedStringsWx.cpp:
50816         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50817         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50818         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50819         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50820         (WebCore::contextMenuItemTagToggleMediaControls):
50821         (WebCore::contextMenuItemTagToggleMediaLoop):
50822         (WebCore::contextMenuItemTagEnterVideoFullscreen):
50823         (WebCore::contextMenuItemTagMediaPlay):
50824         (WebCore::contextMenuItemTagMediaPause):
50825         (WebCore::contextMenuItemTagMediaMute):
50826         * rendering/HitTestResult.cpp:
50827         (WebCore::HitTestResult::absoluteMediaURL):
50828         (WebCore::HitTestResult::mediaSupportsFullscreen):
50829         (WebCore::HitTestResult::mediaElement):
50830         (WebCore::HitTestResult::toggleMediaControlsDisplay):
50831         (WebCore::HitTestResult::toggleMediaLoopPlayback):
50832         (WebCore::HitTestResult::enterFullscreenForVideo):
50833         (WebCore::HitTestResult::mediaControlsEnabled):
50834         (WebCore::HitTestResult::mediaLoopEnabled):
50835         (WebCore::HitTestResult::mediaPlaying):
50836         (WebCore::HitTestResult::toggleMediaPlayState):
50837         (WebCore::HitTestResult::mediaHasAudio):
50838         (WebCore::HitTestResult::mediaMuted):
50839         (WebCore::HitTestResult::toggleMediaMuteState):
50840         * rendering/HitTestResult.h:
50841
50842 2010-09-20  Kwang Yul Seo  <skyul@company100.net>
50843
50844         Reviewed by Daniel Bates.
50845
50846         [BREWMP] Handle tab key
50847         https://bugs.webkit.org/show_bug.cgi?id=46104
50848
50849         In Brew MP, AVK_FUNCTION is the key code for tab.
50850         Process AVK_FUNCTION as tab in PlatformKeyboardEvent.
50851
50852         * platform/brew/PlatformKeyboardEventBrew.cpp:
50853         (WebCore::keyIdentifierForBrewKeyCode):
50854         (WebCore::windowsKeyCodeForKeyEvent):
50855
50856 2010-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
50857
50858         Unreviewed, rolling out r67918.
50859         http://trac.webkit.org/changeset/67918
50860         https://bugs.webkit.org/show_bug.cgi?id=46162
50861
50862         Broke chromium win compile (Requested by jamesr on #webkit).
50863
50864         * WebCore.gyp/WebCore.gyp:
50865         * WebCore.gypi:
50866         * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Renamed from WebCore/platform/graphics/skia/GlyphPageTreeNodeSkia.cpp.
50867         (WebCore::GlyphPage::fill):
50868
50869 2010-09-20  Daniel Bates  <dbates@rim.com>
50870
50871         Reviewed by Dan Bernstein.
50872
50873         Cleanup: Extract common border radii expansion code in
50874         RenderBoxModelObject::paintBoxShadow() into function
50875         https://bugs.webkit.org/show_bug.cgi?id=45934
50876
50877         Extracted code for expanding and clamping the border radii
50878         into common function to remove duplicate code.
50879
50880         No functionality was changed. So, no new tests.
50881
50882         * rendering/RenderBoxModelObject.cpp:
50883         (WebCore::uniformlyExpandBorderRadii): Added.
50884         (WebCore::RenderBoxModelObject::paintBoxShadow): Moved common code to uniformlyExpandBorderRadii().
50885
50886 2010-09-20  Kwang Yul Seo  <skyul@company100.net>
50887
50888         Reviewed by James Robinson.
50889
50890         Make sure skia is not Chromium specific
50891         https://bugs.webkit.org/show_bug.cgi?id=39672
50892
50893         GGlyphPageTreeNodeLinux does not depend on Linux or Chromium.
50894         Move GGlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
50895         GlyphPageTreeNodeSkia.cpp so that other ports can use it.
50896
50897         * WebCore.gyp/WebCore.gyp:
50898         * WebCore.gypi:
50899         * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
50900         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.
50901
50902 2010-09-20  Kinuko Yasuda  <kinuko@chromium.org>
50903
50904         Reviewed by David Levin.
50905
50906         Add NoStaticTables attributes to IDLs of FileSystem API for Worker support
50907         https://bugs.webkit.org/show_bug.cgi?id=46021
50908
50909         Added NoStaticTables attributes to IDLs except for ones for Callbacks.
50910         (As NoStaticTables only affects non-callback interfaces.)
50911
50912         * fileapi/DOMFileSystem.idl:
50913         * fileapi/DirectoryEntry.idl:
50914         * fileapi/DirectoryReader.idl:
50915         * fileapi/Entry.idl:
50916         * fileapi/EntryArray.idl:
50917         * fileapi/FileEntry.idl:
50918         * fileapi/Flags.idl:
50919         * fileapi/Metadata.idl:
50920
50921 2010-09-20  Nico Weber  <thakis@chromium.org>
50922
50923         Reviewed by Adam Barth.
50924
50925         Fix "operands of ? are integers of different signs" clang warnings
50926         https://bugs.webkit.org/show_bug.cgi?id=46157
50927
50928         * platform/graphics/mac/ComplexTextController.cpp:
50929         (WebCore::ComplexTextController::advance):
50930         * rendering/RenderBox.cpp:
50931         (WebCore::RenderBox::calcHeight):
50932
50933 2010-09-20  Vangelis Kokkevis  <vangelis@chromium.org>
50934
50935         Unreviewed, rolling out r67906.
50936         http://trac.webkit.org/changeset/67906
50937         https://bugs.webkit.org/show_bug.cgi?id=46139
50938
50939         Change causes chromium to crash when switching pages
50940
50941         * platform/graphics/chromium/ContentLayerChromium.h:
50942         * platform/graphics/chromium/LayerChromium.h:
50943
50944 2010-09-19  Antonio Gomes  <agomes@rim.com>
50945
50946         Reviewed by Ojan Vafai.
50947
50948         SelectionController::modify should ask EditingBehavior for platform specific behavior
50949         https://bugs.webkit.org/show_bug.cgi?id=41975
50950
50951         As a follow up of the refactoring work in bug 39854, patch makes SelectionController::modify()
50952         stop accessing EditingBehaviorType values directly, and replaces its use by the EditingBehavior
50953         class.
50954
50955         Since the "Settings*" parameter of the private SelectionController::modify() method becomes unneeded
50956         with this change (it was used to query the editingBehaviorType), patch merges two modify() methods.
50957
50958         No behavior change, so no new tests.
50959
50960         * editing/EditingBehavior.h:
50961         (WebCore::EditingBehavior::shouldAlwaysGrowSelectionWhenExtendingToBoundary):
50962         * editing/SelectionController.cpp:
50963         (WebCore::SelectionController::modify):
50964         * editing/SelectionController.h:
50965
50966 2010-09-20  Vangelis Kokkevis  <vangelis@chromium.org>
50967
50968         Reviewed by James Robinson.
50969
50970         [chromium] Making destructors of LayerChromium and ContentLayerChromium virtual
50971         so that the derived class' destructor code gets called.
50972         https://bugs.webkit.org/show_bug.cgi?id=46139
50973
50974         * platform/graphics/chromium/ContentLayerChromium.h:
50975         * platform/graphics/chromium/LayerChromium.h:
50976
50977 2010-09-20  Darin Adler  <darin@apple.com>
50978
50979         Reviewed by James Robinson.
50980
50981         Deprecate the inputType function on HTMLInputElement
50982         https://bugs.webkit.org/show_bug.cgi?id=46023
50983
50984         * html/HTMLInputElement.cpp:
50985         (WebCore::HTMLInputElement::HTMLInputElement): Use m_deprecatedTypeNumber.
50986         (WebCore::HTMLInputElement::isValidValue): Use deprecatedInputType.
50987         (WebCore::HTMLInputElement::typeMismatch): Ditto.
50988         (WebCore::HTMLInputElement::valueMissing): Ditto.
50989         (WebCore::HTMLInputElement::rangeUnderflow): Ditto.
50990         (WebCore::HTMLInputElement::rangeOverflow): Ditto.
50991         (WebCore::HTMLInputElement::minimum): Ditto.
50992         (WebCore::HTMLInputElement::maximum): Ditto.
50993         (WebCore::HTMLInputElement::stepBase): Ditto.
50994         (WebCore::HTMLInputElement::stepMismatch): Ditto.
50995         (WebCore::HTMLInputElement::getStepParameters): Ditto.
50996         (WebCore::HTMLInputElement::getAllowedValueStep): Ditto.
50997         (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
50998         (WebCore::HTMLInputElement::shouldUseInputMethod): Ditto.
50999         (WebCore::HTMLInputElement::handleBlurEvent): Ditto.
51000         (WebCore::HTMLInputElement::setType): Added a comment.
51001         (WebCore::HTMLInputElement::updateType): Replaced the setInputType function
51002         with this. The type is always the type attribute value, so there is no value
51003         in passing the type string in, and this is an internal implementation detail,
51004         not a public function.
51005         (WebCore::createFormControlTypes): Use deprecatedNumberOfTypes.
51006         (WebCore::HTMLInputElement::formControlType): Use deprecatedInputType.
51007         (WebCore::HTMLInputElement::saveFormControlState): Ditto.
51008         (WebCore::HTMLInputElement::restoreFormControlState): Ditto.
51009         (WebCore::HTMLInputElement::accessKeyAction): Ditto.
51010         (WebCore::HTMLInputElement::mapToEntry): Ditto.
51011         (WebCore::HTMLInputElement::parseMappedAttribute): Ditto.
51012         (WebCore::HTMLInputElement::rendererIsNeeded): Ditto.
51013         (WebCore::HTMLInputElement::createRenderer): Ditto.
51014         (WebCore::HTMLInputElement::attach): Ditto.
51015         (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Ditto.
51016         (WebCore::HTMLInputElement::appendFormData): Ditto.
51017         (WebCore::HTMLInputElement::isTextField): Ditto.
51018         (WebCore::HTMLInputElement::isTextType): Ditto.
51019         (WebCore::HTMLInputElement::setChecked): Ditto.
51020         (WebCore::HTMLInputElement::value): Ditto.
51021         (WebCore::HTMLInputElement::valueWithDefault): Ditto.
51022         (WebCore::HTMLInputElement::setSuggestedValue): Ditto.
51023         (WebCore::HTMLInputElement::setValue): Ditto.
51024         (WebCore::HTMLInputElement::parseToDouble): Ditto.
51025         (WebCore::HTMLInputElement::valueAsDate): Ditto.
51026         (WebCore::HTMLInputElement::setValueAsDate): Ditto.
51027         (WebCore::HTMLInputElement::valueAsNumber): Ditto.
51028         (WebCore::HTMLInputElement::setValueAsNumber): Ditto.
51029         (WebCore::HTMLInputElement::serializeForDateTimeTypes): Ditto.
51030         (WebCore::HTMLInputElement::serialize): Ditto.
51031         (WebCore::HTMLInputElement::setValueFromRenderer): Ditto.
51032         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Ditto.
51033         (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
51034         (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
51035         (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
51036         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): Ditto.
51037         (WebCore::HTMLInputElement::files): Ditto.
51038         (WebCore::HTMLInputElement::isAcceptableValue): Ditto.
51039         (WebCore::HTMLInputElement::sanitizeValue): Ditto.
51040         (WebCore::HTMLInputElement::hasUnacceptableValue): Ditto.
51041         (WebCore::HTMLInputElement::needsActivationCallback): Ditto.
51042         (WebCore::HTMLInputElement::isRequiredFormControl): Ditto.
51043         (WebCore::HTMLInputElement::recalcWillValidate): Ditto.
51044         (WebCore::HTMLInputElement::parseToDateComponents): Ditto.
51045         (WebCore::HTMLInputElement::dataList): Ditto.
51046         (WebCore::HTMLInputElement::isSpeechEnabled): Ditto.
51047
51048         * html/HTMLInputElement.h: Renamed InputType to DeprecatedInputType since it
51049         should not be used outside this class. Renamed numberOfTypes to
51050         dprecatedNumberOfTypes for the same reason. Changed all code to use
51051         deprecatedInputType function instead of m_type. Renamed inputType function
51052         to deprecatedInputType. Replaced public setInputType function with private
51053         updateType function. Renamed m_type data member to m_deprecatedTypeNumber.
51054
51055         * rendering/MediaControlElements.cpp:
51056         (WebCore::MediaControlInputElement::MediaControlInputElement):
51057         * rendering/RenderFileUploadControl.cpp:
51058         (WebCore::RenderFileUploadControl::updateFromElement):
51059         Use setType instead of setInputType.
51060
51061 2010-09-20  Mihai Parparita  <mihaip@chromium.org>
51062
51063         Unreviewed; an attempt to fix Windows build.
51064
51065         * WebCore.vcproj/WebCore.vcproj:
51066
51067 2010-09-20  Simon Fraser  <simon.fraser@apple.com>
51068
51069         Reviewed by Dan Bernstein.
51070
51071         When PDF image is directly composited, it does not display
51072         https://bugs.webkit.org/show_bug.cgi?id=46144
51073         
51074         In the "direct image compositing" code path, we set the image directly
51075         as the contents of the GraphicsLayer. However, this only works with
51076         bitmap images, so we have to check that the image is a bitmap image.
51077
51078         Test: compositing/images/direct-pdf-image.html
51079
51080         * rendering/RenderLayerBacking.cpp:
51081         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
51082
51083 2010-09-20  Simon Fraser  <simon.fraser@apple.com>
51084
51085         Reviewed by Darin Adler.
51086
51087         Crash when div with content set to image gets composited (Vimeo).
51088         https://bugs.webkit.org/show_bug.cgi?id=46140
51089         
51090         When CSS specifies that the content of an element is an image, we make
51091         a RenderImage, and setStyle() before setting the image resource. In this
51092         case the compositing code can attempt to access the cached image, which
51093         would crash with a null deref.
51094         
51095         Fix by null-checking m_imageResource.
51096
51097         Test: compositing/images/content-image.html
51098
51099         * rendering/RenderImage.h:
51100         (WebCore::RenderImage::cachedImage):
51101
51102 2010-09-20  Mihai Parparita  <mihaip@chromium.org>
51103
51104         Reviewed by Dimitri Glazkov.
51105
51106         Hashchange event is no longer a simple event, needs to be its own interface
51107         https://bugs.webkit.org/show_bug.cgi?id=36335
51108         
51109         Add HashChangeEvent.idl and supporting files/changes.
51110
51111         Test: fast/loader/hashchange-event-properties.html
51112
51113         The original version of this patch was written by
51114         Steven Lai <s3lance@hotmail.com>.
51115
51116         * CMakeLists.txt:
51117         * DerivedSources.cpp:
51118         * DerivedSources.make:
51119         * GNUmakefile.am:
51120         * WebCore.gypi:
51121         * WebCore.pri:
51122         * WebCore.vcproj/WebCore.vcproj:
51123         * WebCore.xcodeproj/project.pbxproj:
51124         * bindings/js/JSEventCustom.cpp:
51125         (WebCore::toJS):
51126         * bindings/v8/custom/V8EventCustom.cpp:
51127         (WebCore::toV8):
51128         * dom/Document.cpp:
51129         (WebCore::Document::enqueueHashchangeEvent):
51130         * dom/Event.cpp:
51131         (WebCore::Event::isHashChangeEvent):
51132         * dom/Event.h:
51133         * dom/HashChangeEvent.h: Added.
51134         (WebCore::HashChangeEvent::isHashChangeEvent):
51135         (WebCore::HashChangeEvent::create):
51136         (WebCore::HashChangeEvent::initHashChangeEvent):
51137         (WebCore::HashChangeEvent::oldURL):
51138         (WebCore::HashChangeEvent::newURL):
51139         (WebCore::HashChangeEvent::HashChangeEvent):
51140         * dom/HashChangeEvent.idl: Added.
51141         * page/DOMWindow.idl:
51142
51143 2010-09-20  Andy Estes  <aestes@apple.com>
51144
51145         Reviewed by Adam Barth.
51146
51147         REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
51148         https://bugs.webkit.org/show_bug.cgi?id=40961
51149
51150         Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's
51151         legacy behavior when the start of a new token is encountered before the
51152         current token is finished parsing. The legacy behavior is to emit the
51153         current token as if it were properly closed and being parsing the new
51154         token.
51155
51156         Test: fast/parser/pre-html5-parser-quirks.html
51157
51158         * html/parser/HTMLDocumentParser.cpp:
51159         (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
51160         m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
51161         (WebCore::usePreHTMLParserQuirks): Add a helper function to return the
51162         value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL.
51163         * html/parser/HTMLPreloadScanner.cpp:
51164         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate
51165         m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
51166         * html/parser/HTMLTokenizer.cpp:
51167         (WebCore::HTMLTokenizer::HTMLTokenizer):
51168         (WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an
51169         unexpected '<' is encountered in certain states, emit the current token
51170         and reprocess the '<' as the start of a new token.
51171         * html/parser/HTMLTokenizer.h:
51172         (WebCore::HTMLTokenizer::create):
51173         * html/parser/HTMLViewSourceParser.cpp:
51174         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate
51175         m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
51176         * page/Settings.cpp:
51177         (WebCore::Settings::Settings):
51178         * page/Settings.h:
51179         (WebCore::Settings::setUsePreHTML5ParserQuirks):
51180         (WebCore::Settings::usePreHTML5ParserQuirks):
51181
51182 2010-09-20  David Hyatt  <hyatt@apple.com>
51183
51184         Reviewed by Dan Bernstein.
51185
51186         https://bugs.webkit.org/show_bug.cgi?id=46132, add an isVerticalBlockFlow() method to RenderStyle and
51187         patch callers so that they don't have to check both top-to-bottom and bottom-to-top block flow.
51188
51189         * rendering/RenderBox.cpp:
51190         (WebCore::RenderBox::availableLogicalWidth):
51191         * rendering/style/RenderStyle.cpp:
51192         (WebCore::RenderStyle::logicalWidth):
51193         (WebCore::RenderStyle::logicalHeight):
51194         (WebCore::RenderStyle::logicalMinWidth):
51195         (WebCore::RenderStyle::logicalMaxWidth):
51196         (WebCore::RenderStyle::logicalMinHeight):
51197         (WebCore::RenderStyle::logicalMaxHeight):
51198         (WebCore::RenderStyle::borderStartWidth):
51199         (WebCore::RenderStyle::borderEndWidth):
51200         (WebCore::RenderStyle::marginStart):
51201         (WebCore::RenderStyle::marginEnd):
51202         (WebCore::RenderStyle::paddingStart):
51203         (WebCore::RenderStyle::paddingEnd):
51204         * rendering/style/RenderStyle.h:
51205         (WebCore::InheritedFlags::isVerticalBlockFlow):
51206
51207 2010-09-20  David Hyatt  <hyatt@apple.com>
51208
51209         Reviewed by Dan Bernstein.
51210
51211         https://bugs.webkit.org/show_bug.cgi?id=46124, add support for logical padding accessors to
51212         RenderBoxModelObject.
51213
51214         Added fast/blockflow/percentage-padding.html even though it fails, so that when more of layout is patched
51215         we can see it start passing.
51216
51217         * rendering/RenderBoxModelObject.cpp:
51218         (WebCore::RenderBoxModelObject::paddingTop):
51219         (WebCore::RenderBoxModelObject::paddingBottom):
51220         (WebCore::RenderBoxModelObject::paddingLeft):
51221         (WebCore::RenderBoxModelObject::paddingRight):
51222         (WebCore::RenderBoxModelObject::paddingBefore):
51223         (WebCore::RenderBoxModelObject::paddingAfter):
51224         (WebCore::RenderBoxModelObject::paddingStart):
51225         (WebCore::RenderBoxModelObject::paddingEnd):
51226         * rendering/RenderBoxModelObject.h:
51227
51228 2010-09-20  David Hyatt  <hyatt@apple.com>
51229
51230         Reviewed by Dan Bernstein.
51231
51232         https://bugs.webkit.org/show_bug.cgi?id=46126, add availableLogicalWidth() to RenderBox.
51233         
51234         * rendering/RenderBlock.cpp:
51235         (WebCore::RenderBlock::availableWidth):
51236         (WebCore::RenderBlock::availableLogicalWidth):
51237         * rendering/RenderBlock.h:
51238         * rendering/RenderBox.cpp:
51239         (WebCore::RenderBox::availableLogicalWidth):
51240         * rendering/RenderBox.h:
51241         (WebCore::RenderBox::availableWidth):
51242
51243 2010-09-20  Kenneth Russell  <kbr@google.com>
51244
51245         Reviewed by James Robinson.
51246
51247         [chromium] Change compositor to use GraphicsContext3D rather than GLES2Context
51248         https://bugs.webkit.org/show_bug.cgi?id=45912
51249
51250         Switched Chromium's compositor to use GraphicsContext3D to issue
51251         its OpenGL rendering calls rather than the Chromium-specific
51252         GLES2Context and command buffer OpenGL implementation.
51253
51254         The in-process software rendering path for GraphicsContext3D does
51255         not yet work with the compositor, at least not on Mac OS X. This
51256         will be worked on in subsequent bugs.
51257
51258         Tested manually with 3D CSS, WebGL and video content on Mac OS X
51259         and Linux. No new tests.
51260
51261         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
51262         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
51263         (WebCore::Canvas2DLayerChromium::updateContents):
51264         * platform/graphics/chromium/CanvasLayerChromium.cpp:
51265         (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
51266         (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
51267         (WebCore::CanvasLayerChromium::draw):
51268         * platform/graphics/chromium/CanvasLayerChromium.h:
51269         * platform/graphics/chromium/ContentLayerChromium.cpp:
51270         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
51271         (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
51272         (WebCore::ContentLayerChromium::~ContentLayerChromium):
51273         (WebCore::ContentLayerChromium::updateTextureRect):
51274         (WebCore::ContentLayerChromium::draw):
51275         * platform/graphics/chromium/ContentLayerChromium.h:
51276         * platform/graphics/chromium/DrawingBufferChromium.cpp:
51277         (WebCore::DrawingBuffer::publishToPlatformLayer):
51278         * platform/graphics/chromium/LayerChromium.cpp:
51279         (WebCore::loadShader):
51280         (WebCore::LayerChromium::SharedValues::SharedValues):
51281         (WebCore::LayerChromium::SharedValues::~SharedValues):
51282         (WebCore::LayerChromium::createShaderProgram):
51283         (WebCore::LayerChromium::layerRendererContext):
51284         (WebCore::LayerChromium::drawTexturedQuad):
51285         (WebCore::LayerChromium::drawDebugBorder):
51286         (WebCore::LayerChromium::drawAsMask):
51287         (WebCore::LayerChromium::prepareForDraw):
51288         * platform/graphics/chromium/LayerChromium.h:
51289         (WebCore::LayerChromium::SharedValues::context):
51290         * platform/graphics/chromium/LayerRendererChromium.cpp:
51291         (WebCore::LayerRendererChromium::create):
51292         (WebCore::LayerRendererChromium::LayerRendererChromium):
51293         (WebCore::LayerRendererChromium::context):
51294         (WebCore::LayerRendererChromium::debugGLCall):
51295         (WebCore::LayerRendererChromium::useShader):
51296         (WebCore::LayerRendererChromium::prepareToDrawLayers):
51297         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
51298         (WebCore::LayerRendererChromium::drawLayers):
51299         (WebCore::LayerRendererChromium::finish):
51300         (WebCore::LayerRendererChromium::present):
51301         (WebCore::LayerRendererChromium::getFramebufferPixels):
51302         (WebCore::LayerRendererChromium::createLayerTexture):
51303         (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
51304         (WebCore::LayerRendererChromium::drawLayersRecursive):
51305         (WebCore::LayerRendererChromium::drawLayer):
51306         (WebCore::LayerRendererChromium::scissorToRect):
51307         (WebCore::LayerRendererChromium::makeContextCurrent):
51308         (WebCore::LayerRendererChromium::resizeOnscreenContent):
51309         (WebCore::LayerRendererChromium::initializeSharedObjects):
51310         (WebCore::LayerRendererChromium::cleanupSharedObjects):
51311         * platform/graphics/chromium/LayerRendererChromium.h:
51312         * platform/graphics/chromium/VideoLayerChromium.cpp:
51313         (WebCore::VideoLayerChromium::createTextureRect):
51314         (WebCore::VideoLayerChromium::updateTextureRect):
51315         * platform/graphics/chromium/WebGLLayerChromium.cpp:
51316         (WebCore::WebGLLayerChromium::updateContents):
51317         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
51318         (WebCore::SharedGraphicsContext3D::flush):
51319         (WebCore::SharedGraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
51320         (WebCore::SharedGraphicsContext3D::copyTextureToParentTextureCHROMIUM):
51321         * platform/graphics/gpu/SharedGraphicsContext3D.h:
51322
51323 2010-09-20  David Hyatt  <hyatt@apple.com>
51324
51325         Reviewed by Dan Bernstein.
51326
51327         https://bugs.webkit.org/show_bug.cgi?id=46119, add logical accessors to RenderStyle.  Not used by any RenderObjects yet, so no tests
51328         until then.
51329
51330         * rendering/style/RenderStyle.cpp:
51331         (WebCore::RenderStyle::logicalWidth):
51332         (WebCore::RenderStyle::logicalHeight):
51333         (WebCore::RenderStyle::logicalMinWidth):
51334         (WebCore::RenderStyle::logicalMaxWidth):
51335         (WebCore::RenderStyle::logicalMinHeight):
51336         (WebCore::RenderStyle::logicalMaxHeight):
51337         (WebCore::RenderStyle::borderBeforeWidth):
51338         (WebCore::RenderStyle::borderAfterWidth):
51339         (WebCore::RenderStyle::borderStartWidth):
51340         (WebCore::RenderStyle::borderEndWidth):
51341         (WebCore::RenderStyle::marginBefore):
51342         (WebCore::RenderStyle::marginAfter):
51343         (WebCore::RenderStyle::marginStart):
51344         (WebCore::RenderStyle::marginEnd):
51345         (WebCore::RenderStyle::paddingBefore):
51346         (WebCore::RenderStyle::paddingAfter):
51347         (WebCore::RenderStyle::paddingStart):
51348         (WebCore::RenderStyle::paddingEnd):
51349         * rendering/style/RenderStyle.h:
51350
51351 2010-09-20  David Hyatt  <hyatt@apple.com>
51352
51353         Reviewed by Dan Bernstein.
51354
51355         https://bugs.webkit.org/show_bug.cgi?id=46116, implement block-flow-aware logical properties.
51356         
51357         This patch adds all the logical properties from the CSS3 Writing Mode draft for margins, padding, border,
51358         width and height.
51359
51360         Added fast/css/logical-property-resolution.html
51361
51362         * css/CSSComputedStyleDeclaration.cpp:
51363         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
51364         * css/CSSParser.cpp:
51365         (WebCore::CSSParser::parseValue):
51366         * css/CSSProperty.cpp:
51367         (WebCore::resolveToPhysicalProperty):
51368         (WebCore::CSSProperty::resolveDirectionAwareProperty):
51369         * css/CSSProperty.h:
51370         * css/CSSPropertyNames.in:
51371         * css/CSSStyleSelector.cpp:
51372         (WebCore::CSSStyleSelector::applyDeclarations):
51373         (WebCore::CSSStyleSelector::applyProperty):
51374
51375 2010-09-20  David Hyatt  <hyatt@apple.com>
51376
51377         Reviewed by Beth Dakin.
51378
51379         https://bugs.webkit.org/show_bug.cgi?id=46114, two tables repaint tests failing on bots.
51380
51381         Patch layoutRows to apply the layout delta when setting a new cell location prior to laying out the cell.
51382         
51383         The layout delta is then removed after layout has happened when the repaint check is done.  This change
51384         makes cell layout match block child layout, and now the cells have the correct new location up front
51385         when laying out (a necessity for pagination).
51386
51387         * rendering/RenderTableSection.cpp:
51388         (WebCore::RenderTableSection::layoutRows):
51389
51390 2010-09-20  Jacob Dinu  <dinu.jacob@nokia.com>
51391
51392         Reviewed by Adam Barth.
51393
51394         When loading a cached page, dispatchDidCommitLoad is called after FrameLoader::open so
51395         that all initialzations are done before calling client dispatchDidCommitLoad to avoid
51396         client from accessing incorrect data.
51397         https://bugs.webkit.org/show_bug.cgi?id=41155
51398
51399         * loader/FrameLoader.cpp:
51400         (WebCore::FrameLoader::commitProvisionalLoad):
51401         (WebCore::FrameLoader::transitionToCommitted):
51402
51403 2010-09-20  Simon Fraser  <simon.fraser@apple.com>
51404
51405         Reviewed by Adam Roben.
51406
51407         REGRESSION: alternating animation direction doesn't work on Windows
51408         https://bugs.webkit.org/show_bug.cgi?id=46017
51409         
51410         Animation-direction on Windows was broken because bitfields on
51411         Windows are signed.
51412         
51413         Fixed by making m_direction an unsigned in the bitfield, and
51414         casting in the accessor.
51415
51416         Test: animations/animation-direction.html
51417
51418         * platform/animation/Animation.h:
51419         (WebCore::Animation::direction):
51420
51421 2010-09-20  Enrica Casucci  <enrica@apple.com>
51422
51423         Reviewed by Sam Weinig.
51424
51425         Pasteboard doesn't work in WebKit2.
51426         https://bugs.webkit.org/show_bug.cgi?id=42317
51427         <rdar://problem/7660537>
51428
51429         * loader/EmptyClients.h:
51430         (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Changed parameter to
51431         be a Vector of RefPtr.
51432         * page/EditorClient.h:
51433         * platform/mac/PasteboardMac.mm:
51434         (WebCore::Pasteboard::documentFragmentWithRtf): Stylistic changes.
51435
51436 2010-09-20  Yong Li  <yoli@rim.com>
51437
51438         Reviewed by Alexey Proskuryakov.
51439
51440         https://bugs.webkit.org/show_bug.cgi?id=39966
51441         Make compareBorders() a consistent compare function which can beused by qsort().
51442
51443         New test case added: LayoutTests/tables/sort-collapsed-border-styles.html
51444
51445         * rendering/RenderTableCell.cpp:
51446         (WebCore::compareBorders):
51447         (WebCore::chooseBorder):
51448         (WebCore::RenderTableCell::collapsedLeftBorder):
51449         (WebCore::RenderTableCell::collapsedRightBorder):
51450         (WebCore::RenderTableCell::collapsedTopBorder):
51451         (WebCore::RenderTableCell::collapsedBottomBorder):
51452         (WebCore::compareBorderStylesForQSort):
51453
51454 2010-09-20  Patrick Gansterer  <paroga@paroga.com>
51455
51456         Reviewed by Adam Roben.
51457
51458         [WINCE] Buildfix for PluginViewWin.cpp
51459         https://bugs.webkit.org/show_bug.cgi?id=46033
51460
51461         * plugins/win/PluginViewWin.cpp:
51462         (WebCore::PluginView::paintIntoTransformedContext):
51463         (WebCore::PluginView::snapshot):
51464
51465 2010-09-18  David Hyatt  <hyatt@apple.com>
51466
51467         Reviewed by Sam Weinig.
51468
51469         https://bugs.webkit.org/show_bug.cgi?id=46030, aintitcool.com doesn't paginate correctly when printed.
51470         
51471         This happens because the site always has a document width that will exceed the page width.
51472         We incorrectly apply a double scale instead of clipping after the first scale still doesn't fit.
51473         The fix for the issue is to cap the right layout overflow to the page width and to just clip out
51474         any additional excess.  This is the code in FrameView.cpp.
51475         
51476         This patch also cleans up table cell invalidation to reduce the # of relayouts.  This change is not
51477         a correctness fix.  It's just performance.
51478         
51479         I'm not sure how to write a test for this, since the double scale is an artifact of how WebKit mac calls
51480         back in when really printing.
51481
51482         * page/FrameView.cpp:
51483         (WebCore::FrameView::forceLayoutForPagination):
51484         * rendering/RenderBlock.cpp:
51485         (WebCore::RenderBlock::layoutBlockChild):
51486         (WebCore::RenderBlock::layoutPositionedObjects):
51487         (WebCore::RenderBlock::positionNewFloats):
51488         * rendering/RenderBlock.h:
51489         (WebCore::RenderBlock::markForPaginationRelayout):
51490         * rendering/RenderFlexibleBox.cpp:
51491         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
51492         (WebCore::RenderFlexibleBox::layoutVerticalBox):
51493         * rendering/RenderTableSection.cpp:
51494         (WebCore::RenderTableSection::layoutRows):
51495
51496 2010-09-20  Ilya Tikhonovsky  <loislo@chromium.org>
51497
51498         Reviewed by Pavel Feldman.
51499
51500         Web Inspector: merge Inspector client runtime events into the serialized inspector state object.
51501
51502         Drive-by rename getBackendSettings -> getInspectorState to better reflect the nature of the data.
51503
51504         https://bugs.webkit.org/show_bug.cgi?id=45974
51505
51506         * inspector/Inspector.idl:
51507         * inspector/InspectorClient.h:
51508         (WebCore::InspectorClient::updateInspectorStateCookie):
51509         * inspector/InspectorController.cpp:
51510         (WebCore::InspectorController::saveApplicationSettings):
51511         (WebCore::InspectorController::getInspectorState):
51512         (WebCore::InspectorController::updateInspectorStateCookie):
51513         (WebCore::InspectorController::restoreInspectorStateFromCookie):
51514         (WebCore::InspectorController::getSettings):
51515         (WebCore::InspectorController::setMonitoringXHREnabled):
51516         (WebCore::InspectorController::restoreDebugger):
51517         (WebCore::InspectorController::restoreProfiler):
51518         (WebCore::InspectorController::setResourceTrackingEnabled):
51519         (WebCore::InspectorController::ensureSettingsLoaded):
51520         (WebCore::InspectorController::startTimelineProfiler):
51521         (WebCore::InspectorController::stopTimelineProfiler):
51522         (WebCore::InspectorController::enableProfiler):
51523         (WebCore::InspectorController::disableProfiler):
51524         (WebCore::InspectorController::enableDebuggerFromFrontend):
51525         (WebCore::InspectorController::disableDebugger):
51526         * inspector/InspectorController.h:
51527         * inspector/front-end/ConsoleView.js:
51528         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
51529         * inspector/front-end/ResourcesPanel.js:
51530         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
51531         * inspector/front-end/Settings.js:
51532         (WebInspector.Settings.initialize):
51533         * inspector/front-end/inspector.js:
51534         (WebInspector.doLoadedDone.populateInspectorState):
51535         (WebInspector.doLoadedDone):
51536
51537 2010-09-20  Dirk Schulze  <krit@webkit.org>
51538
51539         Reviewed by Nikolas Zimmermann.
51540
51541         SVG Filter cleanup
51542         https://bugs.webkit.org/show_bug.cgi?id=45612
51543         
51544         All effect inputs are stored in a Vector in FilterEffect instead of passing them via constructors to every effect type.
51545         This simplifies the primitive subregion logic and centralizes it in determineFilterPrimitiveSubregion.
51546         Just SourceGraphic, SourceAlpha and FETile still calculate filter primitive subregions on
51547         their own. Working on it in a followup patch.
51548         The subregions code is SVG specific and moving this calculation to FilterEffect is an
51549         intermediate step before moving it to RenderSVGResourceFilterPrimitive in a following patch.
51550         The new FilterEffectVector will also make it possible to add code to determine the
51551         smallest used region of an effect and will help save memory and resources in the future.
51552         subRegion got renamed to filterPrimitiveSubregion to match the name scheme. scaledSubRegion got
51553         renamed to repaintRectInLocalCoordinates since this is its proper meaning.
51554         Removed unnecessary member variables and functions from FilterEffect.
51555
51556         No new tests added since the functionality didn't change.
51557
51558         * platform/graphics/cairo/GraphicsContextCairo.cpp: scaledSubRegion was renamed to repaintRectInLocalCoordinates.
51559         (WebCore::GraphicsContext::createShadowMask):
51560         * platform/graphics/filters/FEBlend.cpp: Removed Filter effect inputs from constructor.
51561         (WebCore::FEBlend::FEBlend):
51562         (WebCore::FEBlend::create):
51563         (WebCore::FEBlend::apply): Call inputFilterEffects to get input filter primitives.
51564         (WebCore::FEBlend::externalRepresentation): Call inputFilterEffects to get input filter primitives.
51565         * platform/graphics/filters/FEBlend.h:
51566         * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
51567         (WebCore::FEColorMatrix::FEColorMatrix):
51568         (WebCore::FEColorMatrix::create):
51569         (WebCore::FEColorMatrix::apply):
51570         (WebCore::FEColorMatrix::externalRepresentation):
51571         * platform/graphics/filters/FEColorMatrix.h:
51572         * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
51573         (WebCore::FEComponentTransfer::FEComponentTransfer):
51574         (WebCore::FEComponentTransfer::create):
51575         (WebCore::FEComponentTransfer::apply):
51576         (WebCore::FEComponentTransfer::externalRepresentation):
51577         * platform/graphics/filters/FEComponentTransfer.h:
51578         * platform/graphics/filters/FEComposite.cpp: Ditto.
51579         (WebCore::FEComposite::FEComposite):
51580         (WebCore::FEComposite::create):
51581         (WebCore::FEComposite::apply):
51582         (WebCore::FEComposite::externalRepresentation):
51583         * platform/graphics/filters/FEComposite.h:
51584         * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
51585         (WebCore::FEGaussianBlur::FEGaussianBlur):
51586         (WebCore::FEGaussianBlur::create):
51587         (WebCore::FEGaussianBlur::apply):
51588         (WebCore::FEGaussianBlur::externalRepresentation):
51589         * platform/graphics/filters/FEGaussianBlur.h:
51590         * platform/graphics/filters/Filter.h:
51591         (WebCore::Filter::determineFilterPrimitiveSubregion): Renamed from calculateEffectSubRegion to match name scheme.
51592         * platform/graphics/filters/FilterEffect.cpp:
51593         (WebCore::FilterEffect::FilterEffect):
51594         (WebCore::FilterEffect::determineFilterPrimitiveSubregion): The main place for subregion calculation.
51595         (WebCore::FilterEffect::calculateDrawingIntRect): Takes repaintRectInLocalCoordinates now.
51596         (WebCore::FilterEffect::calculateDrawingRect): ditto.
51597         (WebCore::FilterEffect::getEffectContext): Check if ImageBuffer was created.
51598         * platform/graphics/filters/FilterEffect.h: Changed names to match name scheme. Removed unnecessary member variables and functions.
51599             Seperate SVG specific member variables and functions. Will get removed in followup patches.
51600         (WebCore::FilterEffect::resultImage):
51601         (WebCore::FilterEffect::setEffectBuffer):
51602         (WebCore::FilterEffect::inputEffect):
51603         (WebCore::FilterEffect::inputEffects):
51604         (WebCore::FilterEffect::numberOfinputEffects):
51605         (WebCore::FilterEffect::isAlphaImage):
51606         (WebCore::FilterEffect::setIsAlphaImage):
51607         (WebCore::FilterEffect::repaintRectInLocalCoordinates):
51608         (WebCore::FilterEffect::setRepaintRectInLocalCoordinates):
51609         (WebCore::FilterEffect::isSourceInput):
51610         (WebCore::FilterEffect::hasX):
51611         (WebCore::FilterEffect::setHasX):
51612         (WebCore::FilterEffect::hasY):
51613         (WebCore::FilterEffect::setHasY):
51614         (WebCore::FilterEffect::hasWidth):
51615         (WebCore::FilterEffect::setHasWidth):
51616         (WebCore::FilterEffect::hasHeight):
51617         (WebCore::FilterEffect::setHasHeight):
51618         (WebCore::FilterEffect::filterPrimitiveSubregion):
51619         (WebCore::FilterEffect::setFilterPrimitiveSubregion):
51620         (WebCore::FilterEffect::effectBoundaries):
51621         (WebCore::FilterEffect::setEffectBoundaries):
51622         * platform/graphics/filters/SourceAlpha.cpp:
51623         (WebCore::SourceAlpha::determineFilterPrimitiveSubregion): Renamed to match name scheme.
51624         * platform/graphics/filters/SourceAlpha.h:
51625         (WebCore::SourceAlpha::isSourceInput):
51626         * platform/graphics/filters/SourceGraphic.cpp:
51627         (WebCore::SourceGraphic::determineFilterPrimitiveSubregion): Ditto.
51628         * platform/graphics/filters/SourceGraphic.h:
51629         (WebCore::SourceGraphic::isSourceInput):
51630         * rendering/RenderSVGResourceFilter.cpp: Adapt to renames in FilterEffect.
51631         (WebCore::RenderSVGResourceFilter::applyResource):
51632         (WebCore::RenderSVGResourceFilter::postApplyResource):
51633         * svg/SVGFEBlendElement.cpp: Constructor of FEBlend doesn't take input effects. Adding them afterwards.
51634         (WebCore::SVGFEBlendElement::build):
51635         * svg/SVGFEColorMatrixElement.cpp: Ditto.
51636         (WebCore::SVGFEColorMatrixElement::build):
51637         * svg/SVGFEComponentTransferElement.cpp: Ditto.
51638         (WebCore::SVGFEComponentTransferElement::build):
51639         * svg/SVGFECompositeElement.cpp: Ditto.
51640         (WebCore::SVGFECompositeElement::build):
51641         * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
51642         (WebCore::SVGFEConvolveMatrixElement::build):
51643         * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
51644         (WebCore::SVGFEDiffuseLightingElement::build):
51645         * svg/SVGFEDisplacementMapElement.cpp: Ditto.
51646         (WebCore::SVGFEDisplacementMapElement::build):
51647         * svg/SVGFEGaussianBlurElement.cpp: Ditto.
51648         (WebCore::SVGFEGaussianBlurElement::build):
51649         * svg/SVGFEMergeElement.cpp: Ditto.
51650         (WebCore::SVGFEMergeElement::build):
51651         * svg/SVGFEMorphologyElement.cpp: Ditto.
51652         (WebCore::SVGFEMorphologyElement::build):
51653         * svg/SVGFEOffsetElement.cpp: Ditto.
51654         (WebCore::SVGFEOffsetElement::build):
51655         * svg/SVGFESpecularLightingElement.cpp: Ditto.
51656         (WebCore::SVGFESpecularLightingElement::build):
51657         * svg/SVGFETileElement.cpp: Ditto.
51658         (WebCore::SVGFETileElement::build):
51659         * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Ditto.
51660         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
51661         (WebCore::FEConvolveMatrix::create):
51662         (WebCore::FEConvolveMatrix::apply):
51663         (WebCore::FEConvolveMatrix::externalRepresentation):
51664         * svg/graphics/filters/SVGFEConvolveMatrix.h:
51665         * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
51666         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
51667         (WebCore::FEDiffuseLighting::create):
51668         (WebCore::FEDiffuseLighting::externalRepresentation):
51669         * svg/graphics/filters/SVGFEDiffuseLighting.h:
51670         * svg/graphics/filters/SVGFEDisplacementMap.cpp: Ditto.
51671         (WebCore::FEDisplacementMap::FEDisplacementMap):
51672         (WebCore::FEDisplacementMap::create):
51673         (WebCore::FEDisplacementMap::apply):
51674         (WebCore::FEDisplacementMap::externalRepresentation):
51675         * svg/graphics/filters/SVGFEDisplacementMap.h:
51676         * svg/graphics/filters/SVGFEFlood.cpp: Ditto.
51677         (WebCore::FEFlood::apply):
51678         * svg/graphics/filters/SVGFEImage.cpp: Ditto.
51679         (WebCore::FEImage::apply):
51680         * svg/graphics/filters/SVGFELighting.cpp: Ditto.
51681         (WebCore::FELighting::FELighting):
51682         (WebCore::FELighting::apply):
51683         * svg/graphics/filters/SVGFELighting.h:
51684         * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
51685         (WebCore::FEMerge::FEMerge):
51686         (WebCore::FEMerge::create):
51687         (WebCore::FEMerge::apply):
51688         (WebCore::FEMerge::externalRepresentation):
51689         * svg/graphics/filters/SVGFEMerge.h:
51690         * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
51691         (WebCore::FEMorphology::FEMorphology):
51692         (WebCore::FEMorphology::create):
51693         (WebCore::FEMorphology::apply):
51694         (WebCore::FEMorphology::externalRepresentation):
51695         * svg/graphics/filters/SVGFEMorphology.h:
51696         * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
51697         (WebCore::FEOffset::FEOffset):
51698         (WebCore::FEOffset::create):
51699         (WebCore::FEOffset::apply):
51700         (WebCore::FEOffset::externalRepresentation):
51701         * svg/graphics/filters/SVGFEOffset.h:
51702         * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
51703         (WebCore::FESpecularLighting::FESpecularLighting):
51704         (WebCore::FESpecularLighting::create):
51705         (WebCore::FESpecularLighting::externalRepresentation):
51706         * svg/graphics/filters/SVGFESpecularLighting.h:
51707         * svg/graphics/filters/SVGFETile.cpp: Ditto.
51708         (WebCore::FETile::FETile):
51709         (WebCore::FETile::create):
51710         (WebCore::FETile::determineFilterPrimitiveSubregion): Renamed to match name scheme.
51711         (WebCore::FETile::apply):
51712         (WebCore::FETile::externalRepresentation):
51713         * svg/graphics/filters/SVGFETile.h:
51714         * svg/graphics/filters/SVGFilter.cpp: Renamed itemBox to targetBoundingBox to match name scheme.
51715         (WebCore::SVGFilter::SVGFilter):
51716         (WebCore::SVGFilter::determineFilterPrimitiveSubregion): Renamed to match name scheme.
51717         (WebCore::SVGFilter::create):
51718         * svg/graphics/filters/SVGFilter.h:
51719         (WebCore::SVGFilter::sourceImageRect):
51720
51721 2010-09-20  Pavel Podivilov  <podivilov@chromium.org>
51722
51723         Reviewed by Pavel Feldman.
51724
51725         Web Inspector: highlight DOM node when hover on link element or DOM breakpoint
51726         https://bugs.webkit.org/show_bug.cgi?id=45897
51727
51728         * inspector/front-end/BreakpointsSidebarPane.js:
51729         (WebInspector.BreakpointItem):
51730         (WebInspector.JSBreakpointItem):
51731         (WebInspector.DOMBreakpointItem):
51732         (WebInspector.DOMBreakpointItem.prototype.compareTo):
51733         (WebInspector.DOMBreakpointItem.prototype._breakpointClicked):
51734         * inspector/front-end/ElementsPanel.js:
51735         (WebInspector.ElementsPanel.prototype.hide):
51736         (WebInspector.ElementsPanel.prototype.reset):
51737         (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
51738         (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
51739         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
51740         (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
51741         * inspector/front-end/ElementsTreeOutline.js:
51742         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
51743         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
51744         (WebInspector.ElementsTreeOutline.prototype._onmouseout):
51745         * inspector/front-end/inspector.js:
51746         (WebInspector.highlightDOMNode):
51747         (WebInspector.highlightDOMNodeForTwoSeconds):
51748         (WebInspector.wireElementWithDOMNode):
51749         (WebInspector._updateFocusedNode):
51750         (WebInspector.reset):
51751         (WebInspector.updateFocusedNode):
51752
51753 2010-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
51754
51755         Unreviewed, rolling out r67749.
51756         http://trac.webkit.org/changeset/67749
51757         https://bugs.webkit.org/show_bug.cgi?id=46068
51758
51759         breaking ToT chromium canary build (Requested by shans on
51760         #webkit).
51761
51762         * bindings/v8/V8DOMWindowShell.cpp:
51763         (WebCore::V8DOMWindowShell::createNewContext):
51764         * bindings/v8/V8Proxy.cpp:
51765         (WebCore::V8Proxy::registeredExtensionWithV8):
51766         (WebCore::V8Proxy::registerExtension):
51767         * bindings/v8/V8Proxy.h:
51768         * loader/EmptyClients.h:
51769         * loader/FrameLoaderClient.h:
51770
51771 2010-09-19  Gavin Barraclough  <barraclough@apple.com>
51772
51773         Reviewed by Oliver Hunt.
51774
51775         Bug 46065 - Unify implementation of ToInt32 and ToUInt32, don't use fmod.
51776
51777         These methods implement the same conversion (see discussion in the notes
51778         of sections of 9.5 and 9.6 of the spec), only differing in how the result
51779         is interpretted.
51780
51781         Removing JSValue::toInt32 (since this has weird, non-spec function).
51782         A couple of places in the binding are using this method, so adding
51783         finiteInt32Value to the bindings to maintain current behaviour.
51784
51785         Test: fast/js/toInt32UInt32.html
51786
51787         * bindings/js/JSDOMBinding.h:
51788         (WebCore::finiteInt32Value):
51789         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
51790         (WebCore::JSHTMLOptionsCollection::add):
51791         * bindings/js/JSSQLResultSetRowListCustom.cpp:
51792         (WebCore::JSSQLResultSetRowList::item):
51793         * bindings/js/JSSVGPODListCustom.h:
51794         (WebCore::JSSVGPODListCustom::getItem):
51795         (WebCore::JSSVGPODListCustom::insertItemBefore):
51796         (WebCore::JSSVGPODListCustom::replaceItem):
51797         (WebCore::JSSVGPODListCustom::removeItem):
51798         * bindings/js/JSSVGPathSegListCustom.cpp:
51799         (WebCore::JSSVGPathSegList::getItem):
51800         (WebCore::JSSVGPathSegList::insertItemBefore):
51801         (WebCore::JSSVGPathSegList::replaceItem):
51802         (WebCore::JSSVGPathSegList::removeItem):
51803
51804 2010-09-19  Andreas Kling  <andreas.kling@nokia.com>
51805
51806         Reviewed by Kenneth Rohde Christiansen.
51807
51808         [Qt] clipBoundingRect() should return rect relevant to current layer
51809         https://bugs.webkit.org/show_bug.cgi?id=46059
51810
51811         r65791 inadvertently changed clipBoundingRect() to always use the GC painter
51812         without checking the TransparencyLayer stack first.
51813
51814         * platform/graphics/qt/GraphicsContextQt.cpp:
51815         (WebCore::GraphicsContextPlatformPrivate::p):
51816         (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
51817
51818 2010-09-19  Sam Weinig  <sam@webkit.org>
51819
51820         Reviewed by Anders Carlsson.
51821
51822         Replace WKBundleRangeRef with WKBundleRangeHandleRef.
51823         https://bugs.webkit.org/show_bug.cgi?id=46054
51824
51825         * WebCore.exp.in:
51826         * WebCore.xcodeproj/project.pbxproj:
51827
51828 2010-09-19  Patrick Gansterer  <paroga@paroga.com>
51829
51830         Unreviewed.
51831
51832         [WINCE] Buildfix for Gradient after r67801.
51833
51834         * platform/graphics/Gradient.h:
51835         * platform/graphics/wince/GradientWinCE.cpp:
51836         (WebCore::Gradient::getStops):
51837
51838 2010-09-19  Kent Tamura  <tkent@chromium.org>
51839
51840         Reviewed by Dimitri Glazkov.
51841
51842         [Chromium] Add is<input type>() functions to WebInputElement
51843         https://bugs.webkit.org/show_bug.cgi?id=46035
51844
51845         * html/HTMLInputElement.h:
51846         (WebCore::HTMLInputElement::isText): Added. It is used by WebKit/chromium.
51847
51848 2010-09-18  Andreas Kling  <andreas.kling@nokia.com>
51849
51850         Reviewed by Antonio Gomes.
51851
51852         [Qt] Path: Remove unused member variable
51853         https://bugs.webkit.org/show_bug.cgi?id=46048
51854
51855         Path::m_lastMoveToIndex is not used for anything, so remove it.
51856
51857         * platform/graphics/Path.h:
51858         * platform/graphics/qt/PathQt.cpp:
51859         (WebCore::Path::Path):
51860         (WebCore::Path::operator=):
51861         (WebCore::Path::moveTo):
51862
51863 2010-09-18  Patrick Gansterer  <paroga@paroga.com>
51864
51865         Reviewed by Darin Adler.
51866
51867         Use AtomicString insted of String in XMLDocumentParser
51868         https://bugs.webkit.org/show_bug.cgi?id=45990
51869
51870         Create AtomicString as early as possible.
51871         This can avoid unnecessary memcpy of String content.
51872
51873         * dom/XMLDocumentParser.h:
51874         * dom/XMLDocumentParserLibxml2.cpp:
51875         (WebCore::toAtomicString):
51876         (WebCore::handleElementNamespaces):
51877         (WebCore::handleElementAttributes):
51878         (WebCore::XMLDocumentParser::startElementNs):
51879
51880 2010-09-18  Erik Arvidsson  <arv@chromium.org>
51881
51882         Reviewed by Nate Chapin.
51883
51884         [Chromium] fast/dom/dataset-gc.html is failing
51885         https://bugs.webkit.org/show_bug.cgi?id=45426
51886
51887         * bindings/scripts/CodeGeneratorV8.pm:
51888         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
51889         (WebCore::toV8):
51890         * dom/DOMStringMap.h:
51891         * dom/DatasetDOMStringMap.h:
51892         (WebCore::DatasetDOMStringMap::element):
51893
51894 2010-09-18  Andreas Kling  <andreas.kling@nokia.com>
51895
51896         Reviewed by Oliver Hunt.
51897
51898         Gradient: Fast-path for the ideal case in sortStopsIfNecessary()
51899         https://bugs.webkit.org/show_bug.cgi?id=46045
51900
51901         Avoid calling std::stable_sort for 2-stop gradients that are already in order.
51902
51903         * platform/graphics/Gradient.cpp:
51904         (WebCore::Gradient::sortStopsIfNecessary):
51905
51906 2010-09-18  Kwang Yul Seo  <skyul@company100.net>
51907
51908         Reviewed by Andreas Kling.
51909
51910         [BREWMP] Fix a typo in key code name
51911         https://bugs.webkit.org/show_bug.cgi?id=46003
51912
51913         AVK_CLR is the right Brew MP key code name for VK_BACK.
51914
51915         * platform/brew/PlatformKeyboardEventBrew.cpp:
51916         (WebCore::windowsKeyCodeForKeyEvent):
51917
51918 2010-09-18  Andreas Kling  <andreas.kling@nokia.com>
51919
51920         Reviewed by Oliver Hunt.
51921
51922         Gradient: Pre-reserve space for 2 color stops
51923         https://bugs.webkit.org/show_bug.cgi?id=46044
51924
51925         Most gradients have only 2 color stops, pre-reserve space for these in m_stops
51926         to avoid growing the vector dynamically in the common case.
51927
51928         * platform/graphics/Gradient.h:
51929
51930 2010-09-18  Dimitri Glazkov  <dglazkov@chromium.org>
51931
51932         Unreviewed, rolling out r67792.
51933         http://trac.webkit.org/changeset/67792
51934         https://bugs.webkit.org/show_bug.cgi?id=45976
51935
51936         Broke over a hundred SVG tests.
51937
51938         * platform/graphics/GraphicsContext.cpp:
51939         (WebCore::GraphicsContext::drawImage):
51940         (WebCore::GraphicsContext::drawImageBuffer):
51941         * platform/graphics/GraphicsContext.h:
51942
51943 2010-09-18  Mihai Parparita  <mihaip@chromium.org>
51944
51945         Reviewed by Simon Fraser.
51946
51947         webkitAnimationEnd event doesn't fire when skipping over final iteration
51948         https://bugs.webkit.org/show_bug.cgi?id=46010
51949         
51950         It's possible for AnimationBase::fireAnimationEventsIfNeeded to decide
51951         that the animation is ended while we're in the looping state, if the
51952         animation timer never fires during an iteration. That then fails the
51953         assert in AnimationBase::updateStateMachine (we don't expect
51954         AnimationStateInputEndTimerFired while in the looping state). Jump the
51955         state to AnimationStateEnding, which is more accurate.
51956
51957         Test: animations/animation-end-event-short-iterations.html
51958
51959         * page/animation/AnimationBase.cpp:
51960         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
51961
51962 2010-09-18  Kwang Yul Seo  <skyul@company100.net>
51963
51964         Reviewed by Andreas Kling.
51965
51966         [BREWMP] Wrong key code type in keyIdentifierForBrewKeyCode
51967         https://bugs.webkit.org/show_bug.cgi?id=46005
51968
51969         The type of key code in Brew MP is uint16. Take uint16 instead of int16 in keyIdentifierForBrewKeyCode.
51970
51971         * platform/brew/PlatformKeyboardEventBrew.cpp:
51972         (WebCore::keyIdentifierForBrewKeyCode):
51973
51974 2010-09-18  Matthew Delaney  <mdelaney@apple.com>
51975
51976         Reviewed by Oliver Hunt.
51977
51978         Canvas drawImage with source or destination widths/heights of -1 renders incorrectly.
51979         https://bugs.webkit.org/show_bug.cgi?id=45976
51980
51981         Specifying a -1 width or height for either the source or destination rectangle in drawImage
51982         get improperly drawn with -1 replaced as the corresponding image width or height. This was because
51983         the value -1 was being passed around to signal non-specified widths and heights and thus was
51984         interpreted lower down in the drawImage implementation which disallowed any calls that actually
51985         wanted to use -1 as the widths or heights. Fixed this by moving the default logic up and not using
51986         -1 in-band signaling to denote default behavior.
51987
51988         Tests: canvas/philip/tests/2d.drawImage.negativeOneDest.html
51989                canvas/philip/tests/2d.drawImage.negativeOneSource.html
51990
51991         * platform/graphics/GraphicsContext.cpp: Removed -1 in-band signals and replaced cascased calls to have
51992         the desired replaces for unspecified widths and heights earlier on.
51993         * platform/graphics/GraphicsContext.h: Removed faulty default value.
51994
51995 2010-09-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
51996
51997         Reviewed by Kenneth Rohde Christiansen.
51998
51999         Enable Platform Strategies on Qt
52000
52001         [Qt] Turn on PLATFORM_STRATEGIES
52002         https://bugs.webkit.org/show_bug.cgi?id=45831
52003
52004         * WebCore.pro: Adding/removing implementation files
52005         * platform/qt/Language.cpp: Added, WebCore::defaultLanguage() was
52006         moved from platform/qt/Localizations.cpp
52007         (WebCore::defaultLanguage): Moved from Localizations.cpp
52008         * platform/qt/Localizations.cpp: Removed (code is now inside
52009         WebCoreSupport/WebPlatformStrategies.cpp)
52010         * plugins/qt/PluginDataQt.cpp: Removed (idem)
52011
52012 2010-09-18  Patrick Gansterer  <paroga@paroga.com>
52013
52014         Reviewed by Darin Adler.
52015
52016         Rename Wince files to WinCE
52017         https://bugs.webkit.org/show_bug.cgi?id=37287
52018
52019         * loader/icon/wince/IconDatabaseWinCE.cpp: Copied from WebCore/loader/icon/wince/IconDatabaseWince.cpp.
52020         * loader/icon/wince/IconDatabaseWince.cpp: Removed.
52021         * page/wince/FrameWinCE.cpp: Copied from WebCore/page/wince/FrameWince.cpp.
52022         * page/wince/FrameWince.cpp: Removed.
52023         * platform/graphics/MediaPlayer.cpp:
52024         * platform/graphics/wince/ColorWinCE.cpp: Copied from WebCore/platform/graphics/wince/ColorWince.cpp.
52025         * platform/graphics/wince/ColorWince.cpp: Removed.
52026         * platform/graphics/wince/FontCacheWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontCacheWince.cpp.
52027         * platform/graphics/wince/FontCacheWince.cpp: Removed.
52028         * platform/graphics/wince/FontWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontWince.cpp.
52029         * platform/graphics/wince/FontWince.cpp: Removed.
52030         * platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp: Copied from WebCore/platform/graphics/wince/GlyphPageTreeNodeWince.cpp.
52031         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Removed.
52032         * platform/graphics/wince/GradientWinCE.cpp: Copied from WebCore/platform/graphics/wince/GradientWince.cpp.
52033         * platform/graphics/wince/GradientWince.cpp: Removed.
52034         * platform/graphics/wince/GraphicsContextWinCE.cpp: Copied from WebCore/platform/graphics/wince/GraphicsContextWince.cpp.
52035         * platform/graphics/wince/GraphicsContextWince.cpp: Removed.
52036         * platform/graphics/wince/ImageBufferWinCE.cpp: Copied from WebCore/platform/graphics/wince/ImageBufferWince.cpp.
52037         * platform/graphics/wince/ImageBufferWince.cpp: Removed.
52038         * platform/graphics/wince/MediaPlayerPrivateWinCE.h: Copied from WebCore/platform/graphics/wince/MediaPlayerPrivateWince.h.
52039         * platform/graphics/wince/MediaPlayerPrivateWince.h: Removed.
52040         * platform/graphics/wince/PathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PathWince.cpp.
52041         * platform/graphics/wince/PathWince.cpp: Removed.
52042         * platform/graphics/wince/PlatformPathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PlatformPathWince.cpp.
52043         * platform/graphics/wince/PlatformPathWinCE.h: Copied from WebCore/platform/graphics/wince/PlatformPathWince.h.
52044         * platform/graphics/wince/PlatformPathWince.cpp: Removed.
52045         * platform/graphics/wince/PlatformPathWince.h: Removed.
52046         * platform/graphics/wince/SimpleFontDataWinCE.cpp: Copied from WebCore/platform/graphics/wince/SimpleFontDataWince.cpp.
52047         * platform/graphics/wince/SimpleFontDataWince.cpp: Removed.
52048         * platform/graphics/wince/WinCEGraphicsExtras.h: Copied from WebCore/platform/graphics/wince/WinceGraphicsExtras.h.
52049         * platform/graphics/wince/WinceGraphicsExtras.h: Removed.
52050         * platform/text/wince/TextBoundariesWinCE.cpp: Copied from WebCore/platform/text/wince/TextBoundariesWince.cpp.
52051         * platform/text/wince/TextBoundariesWince.cpp: Removed.
52052         * platform/text/wince/TextBreakIteratorWinCE.cpp: Copied from WebCore/platform/text/wince/TextBreakIteratorWince.cpp.
52053         * platform/text/wince/TextBreakIteratorWince.cpp: Removed.
52054         * platform/wince/CursorWinCE.cpp: Copied from WebCore/platform/wince/CursorWince.cpp.
52055         * platform/wince/CursorWince.cpp: Removed.
52056         * platform/wince/DragDataWinCE.cpp: Copied from WebCore/platform/wince/DragDataWince.cpp.
52057         * platform/wince/DragDataWince.cpp: Removed.
52058         * platform/wince/DragImageWinCE.cpp: Copied from WebCore/platform/wince/DragImageWince.cpp.
52059         * platform/wince/DragImageWince.cpp: Removed.
52060         * platform/wince/EditorWinCE.cpp: Copied from WebCore/platform/wince/EditorWince.cpp.
52061         (WebCore::Editor::newGeneralClipboard):
52062         * platform/wince/EditorWince.cpp: Removed.
52063         * platform/wince/FileChooserWinCE.cpp: Copied from WebCore/platform/wince/FileChooserWince.cpp.
52064         * platform/wince/FileChooserWince.cpp: Removed.
52065         * platform/wince/FileSystemWinCE.cpp: Copied from WebCore/platform/wince/FileSystemWince.cpp.
52066         * platform/wince/FileSystemWince.cpp: Removed.
52067         * platform/wince/KURLWinCE.cpp: Copied from WebCore/platform/wince/KURLWince.cpp.
52068         * platform/wince/KURLWince.cpp: Removed.
52069         * platform/wince/KeygenWinCE.cpp: Copied from WebCore/platform/wince/KeygenWince.cpp.
52070         * platform/wince/KeygenWince.cpp: Removed.
52071         * platform/wince/MIMETypeRegistryWinCE.cpp: Copied from WebCore/platform/wince/MIMETypeRegistryWince.cpp.
52072         * platform/wince/MIMETypeRegistryWince.cpp: Removed.
52073         * platform/wince/PasteboardWinCE.cpp: Copied from WebCore/platform/wince/PasteboardWince.cpp.
52074         * platform/wince/PasteboardWince.cpp: Removed.
52075         * platform/wince/SearchPopupMenuWinCE.cpp: Copied from WebCore/platform/wince/SearchPopupMenuWince.cpp.
52076         * platform/wince/SearchPopupMenuWince.cpp: Removed.
52077         * platform/wince/SharedTimerWinCE.cpp: Copied from WebCore/platform/wince/SharedTimerWince.cpp.
52078         * platform/wince/SharedTimerWince.cpp: Removed.
52079         * rendering/RenderThemeWinCE.cpp: Copied from WebCore/rendering/RenderThemeWince.cpp.
52080         (WebCore::RenderThemeWinCE::create):
52081         (WebCore::RenderTheme::themeForPage):
52082         (WebCore::RenderThemeWinCE::RenderThemeWinCE):
52083         (WebCore::RenderThemeWinCE::~RenderThemeWinCE):
52084         (WebCore::RenderThemeWinCE::platformActiveSelectionBackgroundColor):
52085         (WebCore::RenderThemeWinCE::platformInactiveSelectionBackgroundColor):
52086         (WebCore::RenderThemeWinCE::platformActiveSelectionForegroundColor):
52087         (WebCore::RenderThemeWinCE::platformInactiveSelectionForegroundColor):
52088         (WebCore::RenderThemeWinCE::supportsFocus):
52089         (WebCore::RenderThemeWinCE::supportsFocusRing):
52090         (WebCore::RenderThemeWinCE::determineClassicState):
52091         (WebCore::RenderThemeWinCE::getThemeData):
52092         (WebCore::RenderThemeWinCE::paintButton):
52093         (WebCore::RenderThemeWinCE::setCheckboxSize):
52094         (WebCore::RenderThemeWinCE::paintTextField):
52095         (WebCore::RenderThemeWinCE::adjustMenuListStyle):
52096         (WebCore::RenderThemeWinCE::paintMenuList):
52097         (WebCore::RenderThemeWinCE::paintMenuListButton):
52098         (WebCore::RenderThemeWinCE::systemFont):
52099         (WebCore::RenderThemeWinCE::themeChanged):
52100         (WebCore::RenderThemeWinCE::extraDefaultStyleSheet):
52101         (WebCore::RenderThemeWinCE::extraQuirksStyleSheet):
52102         (WebCore::RenderThemeWinCE::supportsHover):
52103         (WebCore::RenderThemeWinCE::systemColor):
52104         (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
52105         (WebCore::RenderThemeWinCE::adjustButtonInnerStyle):
52106         (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
52107         (WebCore::RenderThemeWinCE::paintSearchField):
52108         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
52109         (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
52110         (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
52111         (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
52112         (WebCore::RenderThemeWinCE::paintSearchFieldResultsDecoration):
52113         (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
52114         (WebCore::RenderThemeWinCE::paintSearchFieldResultsButton):
52115         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
52116         (WebCore::RenderThemeWinCE::paintSliderTrack):
52117         (WebCore::RenderThemeWinCE::paintSliderThumb):
52118         (WebCore::RenderThemeWinCE::paintMediaFullscreenButton):
52119         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
52120         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
52121         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
52122         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
52123         (WebCore::RenderThemeWinCE::paintMediaSliderTrack):
52124         (WebCore::RenderThemeWinCE::paintMediaSliderThumb):
52125         * rendering/RenderThemeWinCE.h: Copied from WebCore/rendering/RenderThemeWince.h.
52126         * rendering/RenderThemeWince.cpp: Removed.
52127         * rendering/RenderThemeWince.h: Removed.
52128         * storage/wince/DatabaseThreadWinCE.cpp: Copied from WebCore/storage/wince/DatabaseThreadWince.cpp.
52129         * storage/wince/DatabaseThreadWinCE.h: Copied from WebCore/storage/wince/DatabaseThreadWince.h.
52130         * storage/wince/DatabaseThreadWince.cpp: Removed.
52131         * storage/wince/DatabaseThreadWince.h: Removed.
52132         * storage/wince/LocalStorageThreadWinCE.cpp: Copied from WebCore/storage/wince/LocalStorageThreadWince.cpp.
52133         * storage/wince/LocalStorageThreadWinCE.h: Copied from WebCore/storage/wince/LocalStorageThreadWince.h.
52134         * storage/wince/LocalStorageThreadWince.cpp: Removed.
52135         * storage/wince/LocalStorageThreadWince.h: Removed.
52136
52137 2010-09-18  Patrick Gansterer  <paroga@paroga.com>
52138
52139         Reviewed by Eric Seidel.
52140
52141         Move Plugin*None.cpp from CMakeLists.txt into CMakeListsEfl.txt
52142         https://bugs.webkit.org/show_bug.cgi?id=45900
52143
52144         PluginDataNone.cpp and PluginViewNone.cpp are not used by all port.
52145         Move them into plaform sepcific build system.
52146
52147         * CMakeLists.txt:
52148         * CMakeListsEfl.txt:
52149
52150 2010-09-18  Andreas Kling  <andreas.kling@nokia.com>
52151
52152         Reviewed by Simon Hausmann.
52153
52154         [Qt] Don't copy clip path to TransparencyLayer
52155         https://bugs.webkit.org/show_bug.cgi?id=45965
52156
52157         We don't need to copy the GC's clip path to the TransparencyLayer since it will
52158         clip anyway when ending the layer.
52159
52160         * platform/graphics/qt/TransparencyLayer.h:
52161         (WebCore::TransparencyLayer::TransparencyLayer):
52162
52163 2010-09-18  Patrick Gansterer  <paroga@paroga.com>
52164
52165         Unreviewed.
52166
52167         [WINCE] Buildfix for FrameWince.cpp after r51353, r67762 and r67771.
52168
52169         * page/wince/FrameWince.cpp:
52170         (WebCore::computePageRectsForFrame):
52171         (WebCore::imageFromSelection):
52172
52173 2010-09-18  Kent Tamura  <tkent@chromium.org>
52174
52175         Unreviewed, a trivial change.
52176
52177         Run sort-Xcode-project-file.
52178
52179         * WebCore.xcodeproj/project.pbxproj:
52180
52181 2010-09-18  Dan Bernstein  <mitz@apple.com>
52182
52183         Reviewed by Eric Seidel.
52184
52185         REGRESSION (r67762): Over 160 layout tests failing due to incorrect zoom factors in subframes
52186         https://bugs.webkit.org/show_bug.cgi?id=46031
52187
52188         * page/Frame.cpp:
52189         (WebCore::parentPageZoomFactor): Return the zoom factor of the parent frame.
52190         (WebCore::parentTextZoomFactor): Ditto.
52191
52192 2010-09-17  Sam Weinig  <sam@webkit.org>
52193
52194         Reviewed by Jon Honeycutt.
52195
52196         Need a way to load data (as plain text) in a WKPage
52197         <rdar://problem/8424239>
52198
52199         * WebCore.exp.in:
52200
52201 2010-09-17  David Hyatt  <hyatt@apple.com>
52202
52203         Reviewed by Sam Weinig.
52204
52205         https://bugs.webkit.org/show_bug.cgi?id=46027, image on gamespot.com paginates without bringing its enclosing border along.
52206         
52207         Make sure that unsplittable objects like replaced elements propagate their pagination strut outward to the parent block
52208         when appropriate.  An image on a line did this, but a block-level image did not.
52209
52210         Added fast/multicol/image-inside-nested-blocks-with-border.html
52211
52212         * rendering/RenderBlock.cpp:
52213         (WebCore::RenderBlock::layoutBlockChild):
52214
52215 2010-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
52216
52217         Unreviewed, build fix.
52218
52219         Move calls from frameView->pageZoomFactor() to frame->pageZoomFactor().
52220
52221         * page/EventHandler.cpp:
52222         (WebCore::EventHandler::handleTouchEvent): Removed a helper function,
52223             added direct calls to frame->pageZoomFactor().
52224
52225 2010-09-17  David Hyatt  <hyatt@apple.com>
52226
52227         Reviewed by Simon Fraser.
52228
52229         https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.
52230
52231         Make printing store the page height in the RenderView and push that into the layout state to
52232         use the new pagination model.  The old pagination model is retained because it is still used
52233         for embedded WebViews.
52234
52235         * page/FrameView.cpp:
52236         (WebCore::FrameView::reset):
52237         (WebCore::FrameView::layout):
52238         (WebCore::FrameView::forceLayout):
52239         (WebCore::FrameView::forceLayoutForPagination):
52240         (WebCore::FrameView::adjustPageHeight):
52241         * page/FrameView.h:
52242         * page/PrintContext.cpp:
52243         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
52244         * rendering/RenderBlock.cpp:
52245         (WebCore::RenderBlock::paintChildren):
52246         * rendering/RenderBox.cpp:
52247         (WebCore::RenderBox::calcHeight):
52248         * rendering/RenderImage.cpp:
52249         (WebCore::RenderImage::paintReplaced):
52250         * rendering/RenderLineBoxList.cpp:
52251         (WebCore::RenderLineBoxList::paint):
52252         * rendering/RenderVideo.cpp:
52253         (WebCore::RenderVideo::paintReplaced):
52254         * rendering/RenderView.cpp:
52255         (WebCore::RenderView::RenderView):
52256         (WebCore::RenderView::layout):
52257         (WebCore::RenderView::paint):
52258         (WebCore::RenderView::setBestTruncatedAt):
52259         * rendering/RenderView.h:
52260         (WebCore::RenderView::popLayoutState):
52261         (WebCore::RenderView::pageHeight):
52262         (WebCore::RenderView::setPageHeight):
52263         (WebCore::RenderView::bestTruncatedAt):
52264         (WebCore::RenderView::truncatedAt):
52265         (WebCore::RenderView::setTruncatedAt):
52266         (WebCore::RenderView::printRect):
52267         (WebCore::RenderView::setPrintRect):
52268         (WebCore::RenderView::pushLayoutState):
52269         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
52270         (WebCore::LayoutStateMaintainer::push):
52271         (WebCore::LayoutStateMaintainer::pop):
52272
52273 2010-09-17  Dan Bernstein  <mitz@apple.com>
52274
52275         Reviewed by Simon Fraser.
52276
52277         Canvas sizing ignores intrinsic size
52278         https://bugs.webkit.org/show_bug.cgi?id=46024
52279
52280         Updated fast/replaced/table-percent-height.html
52281
52282         * rendering/RenderEmbeddedObject.cpp:
52283         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): If this is used as a proxy
52284         for <video>, behave like it has an intrinsic size (e.g. preserve aspect ratio when
52285         width is auto and height is specified).
52286         * rendering/RenderImage.cpp:
52287         (WebCore::RenderImage::calcAspectRatioWidth): Changed to explicitly invoke
52288         RenderBox::calcReplacedHeight(), now that RenderReplaced has its own implementation
52289         which we don’t want.
52290         (WebCore::RenderImage::calcAspectRatioHeight): Similarly with calcReplacedWidth().
52291         * rendering/RenderImage.h:
52292         * rendering/RenderReplaced.cpp:
52293         (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasIntrinsicSize.
52294         (WebCore::lengthIsSpecified): Added this helper function, based on RenderImage’s
52295         is{Width,Height}Specified().
52296         (WebCore::RenderReplaced::calcReplacedWidth): Moved from RenderVideo all the way
52297         up here so other replaced objects could use this logic.
52298         (WebCore::RenderReplaced::calcReplacedHeight): Ditto.
52299         (WebCore::RenderReplaced::calcAspectRatioWidth): Ditto.
52300         (WebCore::RenderReplaced::calcAspectRatioHeight): Ditto.
52301         (WebCore::RenderReplaced::calcPrefWidths): Replaced with the RenderImage version
52302         of the logic.
52303         (WebCore::RenderReplaced::setIntrinsicSize): Added an assertion.
52304         * rendering/RenderReplaced.h:
52305         (WebCore::RenderReplaced::minimumReplacedHeight): Promoted from private to protected
52306         to allow RenderVideo to call through.
52307         (WebCore::RenderReplaced::setHasIntrinsicSize): Added this setter.
52308         * rendering/RenderVideo.cpp:
52309         (WebCore::RenderVideo::updateIntrinsicSize): Factor zoom into the intrinsic size,
52310         the way other RenderReplaced objects do.
52311         (WebCore::RenderVideo::calcReplacedWidth): Invoke the RenderReplaced implementation,
52312         which matches what used to be here, skipping over the RenderImage implementation.
52313         (WebCore::RenderVideo::calcReplacedHeight): Ditto.
52314         (WebCore::RenderVideo::minimumReplacedHeight): Ditto.
52315         * rendering/RenderVideo.h:
52316
52317 2010-09-17  Darin Adler  <darin@apple.com>
52318
52319         Build fix for platforms that compile Touch.
52320
52321         * dom/Touch.cpp:
52322         (WebCore::contentsX):
52323         (WebCore::contentsY):
52324         Get zoom factor from Frame rather than FrameView.
52325
52326 2010-09-17  Darin Adler  <darin@apple.com>
52327
52328         Reviewed by Sam Weinig.
52329
52330         REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
52331         https://bugs.webkit.org/show_bug.cgi?id=42863
52332
52333         Moved zoom level back from FrameView to Frame.
52334         I had forgotten that FrameView's lifetime is much shorter than
52335         Frame's, and until that is fixed it's best to leave this on Frame.
52336
52337         * WebCore.exp.in: Updated.
52338
52339         * css/CSSStyleSelector.cpp:
52340         (WebCore::CSSStyleSelector::styleForDocument):
52341         (WebCore::CSSStyleSelector::applyProperty):
52342         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
52343         * dom/Document.cpp:
52344         (WebCore::Document::nodesFromRect):
52345         (WebCore::Document::elementFromPoint):
52346         (WebCore::Document::caretRangeFromPoint):
52347         * dom/MouseRelatedEvent.cpp:
52348         (WebCore::contentsX):
52349         (WebCore::contentsY):
52350         (WebCore::pageZoomFactor):
52351         * dom/Node.cpp:
52352         (WebCore::Node::dispatchMouseEvent):
52353         (WebCore::Node::dispatchWheelEvent):
52354         * html/HTMLBodyElement.cpp:
52355         (WebCore::adjustForZoom):
52356         (WebCore::HTMLBodyElement::scrollLeft):
52357         (WebCore::HTMLBodyElement::setScrollLeft):
52358         (WebCore::HTMLBodyElement::scrollTop):
52359         (WebCore::HTMLBodyElement::setScrollTop):
52360         (WebCore::HTMLBodyElement::scrollHeight):
52361         (WebCore::HTMLBodyElement::scrollWidth):
52362         * html/ImageDocument.cpp:
52363         (WebCore::pageZoomFactor):
52364         (WebCore::ImageDocument::scale):
52365         (WebCore::ImageDocument::imageFitsInWindow):
52366         * page/DOMWindow.cpp:
52367         (WebCore::DOMWindow::innerHeight):
52368         (WebCore::DOMWindow::innerWidth):
52369         (WebCore::DOMWindow::scrollX):
52370         (WebCore::DOMWindow::scrollY):
52371         (WebCore::DOMWindow::scrollTo):
52372         * page/DragController.cpp:
52373         (WebCore::elementUnderMouse):
52374         * rendering/RenderView.cpp:
52375         (WebCore::RenderView::zoomFactor):
52376         * svg/SVGSVGElement.cpp:
52377         (WebCore::SVGSVGElement::currentScale):
52378         (WebCore::SVGSVGElement::setCurrentScale):
52379         Get zoom factor from Frame rather than FrameView.
52380
52381         * page/Frame.cpp:
52382         (WebCore::parentPageZoomFactor): Moved back here from FrameView.
52383         (WebCore::parentTextZoomFactor): Ditto.
52384         (WebCore::Frame::Frame): Ditto.
52385         (WebCore::Frame::setPageZoomFactor): Ditto.
52386         (WebCore::Frame::setTextZoomFactor): Ditto.
52387         (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
52388
52389         * page/Frame.h: Moved functions and data for zooming back here
52390         from FrameView.
52391
52392         * page/FrameView.cpp:
52393         (WebCore::FrameView::FrameView):
52394         * page/FrameView.h:
52395         Removed code from here.
52396
52397 2010-09-17  Matthew Delaney  <mdelaney@apple.com>
52398
52399         Reviewed by Simon Fraser.
52400
52401         Reduce minimum DOMTimer interval
52402         https://bugs.webkit.org/show_bug.cgi?id=45362
52403
52404         Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome,
52405         which hasn't had any problem with 4ms in the past 2 years, as well as increasing our
52406         performance on perf tests that have tight frequent loops such as canvas "animation"
52407         performance tests.
52408
52409         No new tests added. Can't reliably instrument a test in javascript to verify that
52410         the minimum clamped interval time is in fact 4ms. 
52411
52412         * WebCore.exp.in:
52413         * page/DOMTimer.cpp: Removed old comments.
52414         * page/DOMTimer.h: Removed old comments.
52415         * page/Settings.cpp: Exposted new method to set minimum DOMTimer interval.
52416         * page/Settings.h:
52417
52418 2010-09-17  Marc-Antoine Ruel  <maruel@chromium.org>
52419
52420         Reviewed by Dimitri Glazkov.
52421
52422         [Chromium] Split webcore_platform off webcore_remaining
52423
52424         Further reduce webcore_remaining size by moving platform/ code in its
52425         own static libary.
52426         https://bugs.webkit.org/show_bug.cgi?id=45915
52427
52428         * WebCore.gyp/WebCore.gyp:
52429
52430 2010-09-13  Matt Perry  <mpcomplete@chromium.org>
52431
52432         Reviewed by Darin Fisher.
52433
52434         Have V8DOMWindowShell ask the embedder whether to run a V8 extension
52435         in a particular script context.
52436         https://bugs.webkit.org/show_bug.cgi?id=45721
52437
52438         * bindings/v8/V8DOMWindowShell.cpp:
52439         (WebCore::V8DOMWindowShell::createNewContext):
52440         * bindings/v8/V8Proxy.cpp:
52441         (WebCore::V8Proxy::registeredExtensionWithV8):
52442         (WebCore::V8Proxy::registerExtension):
52443         * bindings/v8/V8Proxy.h:
52444         * loader/EmptyClients.h:
52445         (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
52446         * loader/FrameLoaderClient.h:
52447
52448 2010-09-17  Anders Carlsson  <andersca@apple.com>
52449
52450         Reviewed by Sam Weinig.
52451
52452         REGRESSION (r66711): Plug-in replacement text is never shown
52453         https://bugs.webkit.org/show_bug.cgi?id=45997
52454         <rdar://problem/8446766>
52455
52456         Don't return when the plug-in has replacement text.
52457
52458         * rendering/RenderEmbeddedObject.cpp:
52459         (WebCore::RenderEmbeddedObject::paintReplaced):
52460
52461 2010-09-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
52462
52463         Unreviewed, build fix. Add files missed in r67704.
52464
52465         * CMakeLists.txt:
52466
52467 2010-09-17  Simon Fraser  <simon.fraser@apple.com>
52468
52469         Reviewed by Chris Marrin.
52470
52471         Remove scroll and clip layers for WKCACFLayerRenderer
52472         https://bugs.webkit.org/show_bug.cgi?id=45922
52473
52474         WKCACFLayerRenderer no longer needs its own layers for managing scrolling
52475         and clipping, because RenderLayerCompositor provides this functionality.
52476
52477         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
52478         (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Remove call to setScrollFrame().
52479         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Ditto.
52480
52481         * platform/graphics/win/WKCACFLayerRenderer.cpp: Remove references to scroll and clip layers
52482         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
52483         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
52484         (WebCore::WKCACFLayerRenderer::destroyRenderer):
52485         (WebCore::WKCACFLayerRenderer::resize):
52486         * platform/graphics/win/WKCACFLayerRenderer.h:
52487
52488         * rendering/RenderLayerCompositor.cpp:
52489         (WebCore::RenderLayerCompositor::layerTreeAsText): Dump the layers from the root platform layer.
52490         (WebCore::RenderLayerCompositor::requiresScrollLayer): On Windows,
52491         always say yes.
52492
52493 2010-09-17  Jian Li  <jianli@chromium.org>
52494
52495         Reviewed by Dmitry Titov.
52496
52497         createBlobURL with no argument causes crash.
52498         https://bugs.webkit.org/show_bug.cgi?id=45880
52499
52500         The fix is to check if the passing blob argument is NULL or not.
52501
52502         Test: fast/files/create-blob-url-crash.html
52503
52504         * dom/ScriptExecutionContext.cpp:
52505         (WebCore::ScriptExecutionContext::createPublicBlobURL):
52506         * page/DOMWindow.idl: Add attribute to convert null string to undefined.
52507
52508 2010-09-17  Chris Marrin  <cmarrin@apple.com>
52509
52510         Reviewed by Simon Fraser.
52511
52512         Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
52513         https://bugs.webkit.org/show_bug.cgi?id=45911
52514
52515         * WebCore.exp.in:
52516
52517 2010-09-17  Tony Gentilcore  <tonyg@chromium.org>
52518
52519         Reviewed by Adam Barth.
52520
52521         ASSERTION FAILED: m_loadEventDelayCount
52522         https://bugs.webkit.org/show_bug.cgi?id=45790
52523
52524         * dom/AsyncScriptRunner.cpp: 
52525         (WebCore::AsyncScriptRunner::timerFired): Protect document before we go running scripts.
52526
52527 2010-09-17  Stephen White  <senorblanco@chromium.org>
52528
52529         Reviewed by Kenneth Russell.
52530
52531         [CHROMIUM] GPU-accelerated canvas should work in test_shell.
52532         https://bugs.webkit.org/show_bug.cgi?id=45968
52533
52534         In order for the shaders in GPU-accelerated canvas to work in both the
52535         GraphicsContext3D / GLES2 path as well as chromium's test_shell (which
52536         passes them to the Mesa backend unmodified), the precision specifiers
52537         in the fragment shader have to be wrapped in #if GL_ES.
52538
52539         Soon to be covered by many layout tests.
52540
52541         * platform/graphics/gpu/SolidFillShader.cpp:
52542         (WebCore::SolidFillShader::create):
52543         * platform/graphics/gpu/TexShader.cpp:
52544         (WebCore::TexShader::create):
52545
52546 2010-09-17  Martin Robinson  <mrobinson@igalia.com>
52547
52548         Reviewed by Xan Lopez.
52549
52550         [GTK] [REGRESSION] Listbox rendering is incorrect
52551         https://bugs.webkit.org/show_bug.cgi?id=45941
52552
52553         Only apply the shadow tiling optimization to a layer if the GraphicsContext
52554         has a shadow.
52555
52556         This is covered by manual-tests/select-element-type-select.html.
52557
52558         * platform/graphics/cairo/GraphicsContextCairo.cpp:
52559         (WebCore::drawBorderlessRectShadow): Before applying the tiled shadow optimization
52560         first check to see if the context has a shadow at all.
52561
52562 2010-09-17  Martin Robinson  <mrobinson@igalia.com>
52563
52564         Reviewed by Oliver Hunt.
52565
52566         [GTK] FontPlatformDataFreeType should use smart pointers to hold its members
52567         https://bugs.webkit.org/show_bug.cgi?id=45917
52568
52569         Have FontPlatformDataFreeType use smart pointers to hold its reference-counted
52570         members. Also move the FcPattern specialization from OwnPtrCairo to PlatformRefPtrCairo
52571         as this type is reference-counted.
52572
52573         No new tests as this should not introduce any functionality changes.
52574
52575         * platform/graphics/cairo/FontCacheFreeType.cpp:
52576         (WebCore::FontCache::getFontDataForCharacters): Updated to reflect smart pointer changes.
52577         (WebCore::FontCache::createFontPlatformData): Ditto.
52578         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
52579         (WebCore::FontPlatformData::FontPlatformData): Ditto.
52580         (WebCore::FontPlatformData::operator=): Ditto.
52581         (WebCore::FontPlatformData::~FontPlatformData): Ditto.
52582         (WebCore::FontPlatformData::isFixedPitch): Ditto.
52583         (WebCore::FontPlatformData::operator==): Ditto.
52584         * platform/graphics/cairo/FontPlatformDataFreeType.h:
52585         (WebCore::FontPlatformData::FontPlatformData): Ditto.
52586         (WebCore::FontPlatformData::scaledFont): Ditto.
52587         (WebCore::FontPlatformData::hash): Ditto.
52588         (WebCore::FontPlatformData::isHashTableDeletedValue): Ditto.
52589         * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
52590         (WebCore::GlyphPage::fill): Ditto.
52591         * platform/graphics/cairo/OwnPtrCairo.cpp: Removed FcPattern specialization.
52592         * platform/graphics/cairo/OwnPtrCairo.h: Ditto.
52593         * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added FcPattern and cairo_scaled_font_t specializations.
52594         (WTF::refPlatformPtr): Ditto.
52595         (WTF::derefPlatformPtr): Ditto.
52596         * platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
52597         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
52598         (WebCore::SimpleFontData::platformInit): Updated to reflect smart pointer changes.
52599         (WebCore::SimpleFontData::containsCharacters): Ditto.
52600         (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
52601         * platform/graphics/gtk/FontGtk.cpp:
52602         (WebCore::setPangoAttributes): Ditto.
52603
52604 2010-09-14  Pavel Podivilov  <podivilov@chromium.org>
52605
52606         Reviewed by Pavel Feldman.
52607
52608         Web Inspector: show status message below call stack when debugger is paused on DOM breakpoint
52609         https://bugs.webkit.org/show_bug.cgi?id=45114
52610
52611         * English.lproj/localizedStrings.js:
52612         * inspector/InspectorDOMAgent.cpp:
52613         (WebCore::InspectorDOMAgent::performSearch):
52614         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
52615         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
52616         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
52617         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
52618         * inspector/InspectorDOMAgent.h:
52619         * inspector/InspectorDebuggerAgent.cpp:
52620         (WebCore::InspectorDebuggerAgent::didPause):
52621         * inspector/front-end/CallStackSidebarPane.js:
52622         (WebInspector.CallStackSidebarPane):
52623         (WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
52624         (WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
52625         (WebInspector.CallStackSidebarPane.prototype.updateStatus):
52626         * inspector/front-end/ElementsPanel.js:
52627         (WebInspector.ElementsPanel.prototype.linkifyNodeById):
52628         * inspector/front-end/ScriptsPanel.js:
52629         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
52630         * inspector/front-end/inspector.css:
52631         (.pane > .body .placard + .info):
52632         * inspector/front-end/inspector.js:
52633         (WebInspector.pausedScript):
52634         (WebInspector.formatLocalized):
52635
52636 2010-09-17  Johnny Ding  <jnd@chromium.org>
52637
52638         Reviewed by Adam Barth.
52639
52640         Stop history reload navigation to bypass WebKit's popup blocker.
52641         Now history reload can only navigate the page in self frame, no matter
52642         what target frame is defined in <base> and no new window can be created.
52643         https://bugs.webkit.org/show_bug.cgi?id=45369
52644
52645         Test: fast/events/popup-blocked-from-history-reload.html
52646
52647         * loader/RedirectScheduler.cpp:
52648         (WebCore::ScheduledNavigation::ScheduledNavigation):
52649         (WebCore::ScheduledNavigation::wasUserGesture):
52650         Move the m_wasUserGesture to base class ScheduledNavigation. Then all
52651         asynchronous navigation situations can restore the correct gesture state
52652         during the real navigation process.
52653         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
52654         (WebCore::ScheduledURLNavigation::fire):
52655         (WebCore::ScheduledURLNavigation::referrer):
52656         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
52657         (WebCore::ScheduledHistoryNavigation::fire):
52658         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
52659         (WebCore::ScheduledFormSubmission::fire):
52660         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
52661
52662 2010-09-16  Vangelis Kokkevis  <vangelis@chromium.org>
52663
52664         Reviewed by James Robinson.
52665
52666         [chromium] Clip the update region of an ImageLayerChromium to actual size
52667         of the image bitmap to prevent uninitialized memory access when uploading
52668         the dirty region to the texture.
52669         https://bugs.webkit.org/show_bug.cgi?id=45937
52670
52671
52672         * platform/graphics/chromium/ImageLayerChromium.cpp:
52673         (WebCore::ImageLayerChromium::updateContents):
52674
52675 2010-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
52676
52677         Reviewed by David Hyatt.
52678
52679         Remove extraneous RenderObject traversal.
52680         https://bugs.webkit.org/show_bug.cgi?id=45821
52681
52682         This code always exits in the first iteration of the loop,
52683         because in the context of this call, node->renderer()->node() != 0
52684         is always true.
52685
52686         No behavior change, covered by existing tests.
52687
52688         * page/EventHandler.cpp:
52689         (WebCore::EventHandler::canMouseDownStartSelect): Removed the loop.
52690         (WebCore::EventHandler::canMouseDragExtendSelect): Ditto.
52691
52692 2010-09-17  Pavel Feldman  <pfeldman@chromium.org>
52693
52694         Reviewed by Yury Semikhatsky.
52695
52696         Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
52697         resource as not cached to InspectorController.
52698         https://bugs.webkit.org/show_bug.cgi?id=45961
52699
52700         Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
52701         resource as not cached to InspectorController.
52702         There is one path in control flow that leads to resources being
52703         reported as not cached. Patch to follow.
52704
52705         * inspector/InspectorController.cpp:
52706         (WebCore::InspectorController::markResourceAsCached):
52707         * inspector/InspectorController.h:
52708         * inspector/InspectorResource.cpp:
52709         (WebCore::InspectorResource::markAsCached):
52710         (WebCore::InspectorResource::updateResponse):
52711         * inspector/InspectorResource.h:
52712         * loader/FrameLoader.cpp:
52713         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
52714
52715 2010-09-17  Alexander Pavlov  <apavlov@chromium.org>
52716
52717         Unreviewed, build fix. Add files missed in the previous commit.
52718
52719         * GNUmakefile.am:
52720         * css/CSSPropertySourceData.cpp: Added.
52721         (WebCore::SourceRange::SourceRange):
52722         (WebCore::SourceRange::operator=):
52723         (WebCore::CSSPropertySourceData::CSSPropertySourceData):
52724         (WebCore::CSSPropertySourceData::operator=):
52725         (WebCore::CSSPropertySourceData::toString):
52726         (WebCore::CSSPropertySourceData::hash):
52727         (WebCore::CSSPropertySourceData::init):
52728         * css/CSSPropertySourceData.h: Added.
52729         (WebCore::CSSPropertySourceData::~CSSPropertySourceData):
52730         (WebCore::CSSStyleSourceData::create):
52731
52732 2010-09-15  Alexander Pavlov  <apavlov@chromium.org>
52733
52734         Reviewed by Pavel Feldman.
52735
52736         Provide source-based properties for style declarations to CSSParser clients
52737
52738         This change:
52739         - Enables InspectorCSSStore to extract CSS stylesheet text for all source-based stylesheets,
52740           even with the resource tracking turned off.
52741         - Adds to CSSParser a capability of source-related style declaration data extraction:
52742           * Start/end source offsets for a declaration, relative to the parent stylesheet start or the "style" attribute value.
52743           * Start/end source offsets for CSS properties, relative to the declaration start.
52744           * CSS property data: name, value, priority, WebCore parsability (i.e. if the property is understood by WebCore).
52745         - Provides the extracted data to the WebInspector frontend via InspectorDOMAgent::getStyleSourceData().
52746         https://bugs.webkit.org/show_bug.cgi?id=44949
52747
52748         * WebCore.gypi:
52749         * WebCore.pro:
52750         * WebCore.vcproj/WebCore.vcproj:
52751         * WebCore.xcodeproj/project.pbxproj:
52752         * css/CSSGrammar.y:
52753         * css/CSSMutableStyleDeclaration.h:
52754         (WebCore::CSSMutableStyleDeclaration::node):
52755         * css/CSSParser.cpp:
52756         (WebCore::CSSParser::CSSParser):
52757         (WebCore::CSSParser::parseSheet):
52758         (WebCore::CSSParser::parseDeclaration):
52759         (WebCore::CSSParser::createStyleRule):
52760         (WebCore::CSSParser::markRuleBodyStart):
52761         (WebCore::CSSParser::markPropertyStart):
52762         (WebCore::CSSParser::markPropertyEnd):
52763         * css/CSSParser.h:
52764         (WebCore::CSSParser::resetPropertyMarks):
52765         * css/CSSPropertySourceData.cpp: Added.
52766         (WebCore::SourceRange::SourceRange):
52767         (WebCore::SourceRange::operator=):
52768         (WebCore::CSSPropertySourceData::CSSPropertySourceData):
52769         (WebCore::CSSPropertySourceData::operator=):
52770         (WebCore::CSSPropertySourceData::toString):
52771         (WebCore::CSSPropertySourceData::hash):
52772         (WebCore::CSSPropertySourceData::init):
52773         * css/CSSPropertySourceData.h: Added.
52774         (WebCore::CSSPropertySourceData::~CSSPropertySourceData):
52775         (WebCore::CSSStyleSourceData::create):
52776         * inspector/Inspector.idl:
52777         * inspector/InspectorCSSStore.cpp:
52778         (WebCore::InspectorCSSStore::reset):
52779         (WebCore::InspectorCSSStore::styleSheetText):
52780         (WebCore::InspectorCSSStore::resourceStyleSheetText):
52781         (WebCore::InspectorCSSStore::inlineStyleSheetText):
52782         (WebCore::InspectorCSSStore::getStyleSourceData):
52783         (WebCore::InspectorCSSStore::extractRanges):
52784         (WebCore::InspectorCSSStore::getStyleAttributeRanges):
52785         (WebCore::InspectorCSSStore::getParentStyleSheet):
52786         (WebCore::InspectorCSSStore::inlineStyleElement):
52787         * inspector/InspectorCSSStore.h:
52788         * inspector/InspectorController.cpp:
52789         (WebCore::InspectorController::resourceContentForURL):
52790         * inspector/InspectorController.h:
52791         * inspector/InspectorDOMAgent.cpp:
52792         (WebCore::InspectorDOMAgent::getStyleSourceData):
52793         (WebCore::InspectorDOMAgent::buildObjectForStyle):
52794         * inspector/InspectorDOMAgent.h:
52795
52796 2010-09-17  Alexander Pavlov  <apavlov@chromium.org>
52797
52798         Reviewed by Pavel Feldman.
52799
52800         Web Inspector: Show node description in inspector highlight
52801         https://bugs.webkit.org/show_bug.cgi?id=20930
52802
52803         * inspector/InspectorController.cpp:
52804         (WebCore::InspectorController::drawNodeHighlight):
52805         (WebCore::InspectorController::drawElementTitle):
52806         * inspector/InspectorController.h:
52807
52808 2010-09-16  takano takumi  <takano1@asia.apple.com>
52809
52810         Reviewed by Kent Tamura.
52811
52812         https://bugs.webkit.org/show_bug.cgi?id=45020
52813         Support "block-flow" and "writing-mode": interpret properties into RenderStyle
52814
52815         Fixed a regression in SVG test introduced by my previous change.
52816
52817         * css/CSSPrimitiveValueMappings.h:
52818         (WebCore::CSSPrimitiveValue::operator EWritingMode):
52819         * css/SVGCSSParser.cpp:
52820         (WebCore::CSSParser::parseSVGValue):
52821
52822 2010-09-16  Kenneth Russell  <kbr@google.com>
52823
52824         Reviewed by James Robinson.
52825
52826         Add entry points to GraphicsContext3D needed for Chromium compositor port
52827         https://bugs.webkit.org/show_bug.cgi?id=45939
52828
52829         Added entry points for two Chromium-specific extensions, and added
52830         a flag to the GraphicsContext3D constructor, currently unsupported
52831         by all ports (including Chromium), indicating whether the context
52832         should render directly to the passed HostWindow or off-screen per
52833         the current semantics. The switch to use GraphicsContext3D in
52834         Chromium's compositor will follow in a subsequent patch.
52835
52836         No new tests; functionality is unchanged. Built and tested
52837         Chromium and WebKit on Mac OS X.
52838
52839         * platform/graphics/GraphicsContext3D.cpp:
52840         (WebCore::GraphicsContext3D::supportsMapSubCHROMIUM):
52841         (WebCore::GraphicsContext3D::mapBufferSubDataCHROMIUM):
52842         (WebCore::GraphicsContext3D::unmapBufferSubDataCHROMIUM):
52843         (WebCore::GraphicsContext3D::mapTexSubImage2DCHROMIUM):
52844         (WebCore::GraphicsContext3D::unmapTexSubImage2DCHROMIUM):
52845         (WebCore::GraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
52846         (WebCore::GraphicsContext3D::copyTextureToParentTextureCHROMIUM):
52847         * platform/graphics/GraphicsContext3D.h:
52848         * platform/graphics/mac/GraphicsContext3DMac.mm:
52849         (WebCore::GraphicsContext3D::create):
52850         (WebCore::GraphicsContext3D::GraphicsContext3D):
52851         * platform/graphics/qt/GraphicsContext3DQt.cpp:
52852         (WebCore::GraphicsContext3D::create):
52853         (WebCore::GraphicsContext3D::GraphicsContext3D):
52854
52855 2010-09-16  Simon Fraser  <simon.fraser@apple.com>
52856
52857         Reviewed by James Robinson.
52858
52859         In layerTreeAsText output, avoid printing properties which have their default values
52860         https://bugs.webkit.org/show_bug.cgi?id=45931
52861
52862         Don't dump properties that have their default values to simplify output.
52863
52864         * platform/graphics/GraphicsLayer.cpp:
52865         (WebCore::GraphicsLayer::dumpProperties):
52866
52867 2010-09-16  Andreas Kling  <andreas.kling@nokia.com>
52868
52869         Reviewed by Ariya Hidayat.
52870
52871         [Qt] GraphicsContext: Remove unused variable
52872
52873         GraphicsContextPlatformPrivate::redirect wasn't used for anything.
52874
52875         * platform/graphics/qt/GraphicsContextQt.cpp:
52876         (WebCore::GraphicsContextPlatformPrivate::p):
52877         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
52878
52879 2010-09-16  Andreas Kling  <andreas.kling@nokia.com>
52880
52881         Reviewed by Ariya Hidayat.
52882
52883         [Qt] Remove unnecessary QPainter::clipPath() call in TransparencyLayer()
52884         https://bugs.webkit.org/show_bug.cgi?id=45923
52885
52886         QPainter::clipPath() can be very expensive, so use QPainter::hasClipping()
52887         instead of QPainter::clipPath().isEmpty().
52888
52889         * platform/graphics/qt/TransparencyLayer.h:
52890         (WebCore::TransparencyLayer::TransparencyLayer):
52891
52892 2010-09-16  David Hyatt  <hyatt@apple.com>
52893
52894         Reviewed by Eric Seidel.
52895
52896         Fix for regression from my previous check-in.  Make sure not to move the LayoutRepainter line
52897         below the setHeight(0) call.  This meant it snagged the wrong rectangle and we ended up repainting
52898         the world.
52899
52900         * rendering/RenderBlock.cpp:
52901         (WebCore::RenderBlock::layoutBlock):
52902
52903 2010-09-16  takano takumi  <takano1@asia.apple.com>
52904
52905         Reviewed by Dave Hyatt.
52906
52907         https://bugs.webkit.org/show_bug.cgi?id=45020
52908         Support "block-flow" and "writing-mode": interpret properties into RenderStyle
52909  
52910         Added code that interprets "block-flow" property and "writing-mode" property settings
52911         into a RenderStyle object.
52912
52913         Test: fast/text/international/block-flow-parser-test.html
52914
52915         * css/CSSComputedStyleDeclaration.cpp:
52916         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
52917         * css/CSSParser.cpp:
52918         (WebCore::CSSParser::parseValue):
52919         * css/CSSPrimitiveValueMappings.h:
52920         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
52921         (WebCore::CSSPrimitiveValue::operator EBlockFlowDirection):
52922         * css/CSSPropertyNames.in:
52923         * css/CSSStyleSelector.cpp:
52924         (WebCore::CSSStyleSelector::applyProperty):
52925         * css/CSSValueKeywords.in:
52926         * css/SVGCSSValueKeywords.in:
52927         * rendering/style/RenderStyle.cpp:
52928         (WebCore::RenderStyle::diff):
52929         * rendering/style/RenderStyle.h:
52930         (WebCore::InheritedFlags::setBitDefaults):
52931         (WebCore::InheritedFlags::blockFlow):
52932         (WebCore::InheritedFlags::setBlockFlow):
52933         (WebCore::InheritedFlags::initialBlockFlow):
52934         * rendering/style/RenderStyleConstants.h:
52935
52936 2010-09-16  Martin Robinson  <mrobinson@igalia.com>
52937
52938         Reviewed by Xan Lopez.
52939
52940         [GTK] Implement dissolveDragImageToFraction
52941         https://bugs.webkit.org/show_bug.cgi?id=45826
52942
52943         Convert the drag image from a GdkPixbuf to a Cairo surface. Not only
52944         might this allow code to be shared between Cairo ports it prevents a
52945         full data copy when the image is not resized and makes the implementation
52946         of dissolveDragImageToFraction more straight-forward.
52947
52948         This feature is covered by manual-tests/drag-image.html.
52949
52950         * page/gtk/DragControllerGtk.cpp:
52951         (WebCore::DragController::maxDragImageSize): Make the maximum size of the drag
52952         image a little smaller.
52953         * platform/DragImage.h: Changed the drag image type to be a cairo_surface_t*.
52954         * platform/gtk/DragImageGtk.cpp:
52955         (WebCore::dragImageSize): Reimplemented to reflect new drag image type.
52956         (WebCore::deleteDragImage): Ditto.
52957         (WebCore::scaleDragImage): Ditto.
52958         (WebCore::dissolveDragImageToFraction): Filled the stub of this function.
52959         (WebCore::createDragImageFromImage): Reimplemented to reflect new drag image type.
52960         * platform/gtk/GtkVersioning.h: Added definition for gtk_widget_get_realized for older GTK+s.
52961
52962 2010-09-15  David Hyatt  <hyatt@apple.com>
52963
52964         Reviewed by Darin Adler.
52965
52966         https://bugs.webkit.org/show_bug.cgi?id=38402, paginate columns at layout time rather than at paint time.
52967
52968         This patch adds support for column breaking at layout time rather than at paint time.  New variables have been
52969         added to LayoutState and to ColumnInfo to track column information while laying out.
52970         
52971         The basic idea behind this patch is to retain the columns' paint-time hackery of transforming one long vertical strip
52972         into multiple columns.  Now, however, layout is aware of the columns and will move objects up and down vertically in order
52973         to ensure they don't intersect a break.
52974         
52975         Many new tests added in fast/multicol and new results added for existing fast/multicol tests.
52976
52977         * rendering/ColumnInfo.h:
52978         (WebCore::ColumnInfo::ColumnInfo):
52979         (WebCore::ColumnInfo::columnCount):
52980         (WebCore::ColumnInfo::columnHeight):
52981         (WebCore::ColumnInfo::setColumnCountAndHeight):
52982         (WebCore::ColumnInfo::setColumnHeight):
52983         (WebCore::ColumnInfo::updateMinimumColumnHeight):
52984         (WebCore::ColumnInfo::minimumColumnHeight):
52985         (WebCore::ColumnInfo::forcedBreaks):
52986         (WebCore::ColumnInfo::forcedBreakOffset):
52987         (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
52988         (WebCore::ColumnInfo::clearForcedBreaks):
52989         (WebCore::ColumnInfo::addForcedBreak):
52990         * rendering/LayoutState.cpp:
52991         (WebCore::LayoutState::LayoutState):
52992         (WebCore::LayoutState::clearPaginationInformation):
52993         (WebCore::LayoutState::pageY):
52994         (WebCore::LayoutState::addForcedColumnBreak):
52995         * rendering/LayoutState.h:
52996         (WebCore::LayoutState::LayoutState):
52997         (WebCore::LayoutState::paginatingColumns):
52998         (WebCore::LayoutState::paginated):
52999         * rendering/RenderBlock.cpp:
53000         (WebCore::RenderBlock::RenderBlock):
53001         (WebCore::RenderBlock::~RenderBlock):
53002         (WebCore::RenderBlock::layoutBlock):
53003         (WebCore::RenderBlock::collapseMargins):
53004         (WebCore::RenderBlock::estimateVerticalPosition):
53005         (WebCore::RenderBlock::layoutBlockChild):
53006         (WebCore::RenderBlock::layoutPositionedObjects):
53007         (WebCore::RenderBlock::paintColumnRules):
53008         (WebCore::RenderBlock::paintColumnContents):
53009         (WebCore::RenderBlock::paintChildren):
53010         (WebCore::RenderBlock::insertFloatingObject):
53011         (WebCore::RenderBlock::removeFloatingObjects):
53012         (WebCore::RenderBlock::positionNewFloats):
53013         (WebCore::RenderBlock::positionNewFloatOnLine):
53014         (WebCore::RenderBlock::lowestPosition):
53015         (WebCore::RenderBlock::rightmostPosition):
53016         (WebCore::RenderBlock::leftmostPosition):
53017         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
53018         (WebCore::RenderBlock::markDescendantBlocksAndLinesForLayout):
53019         (WebCore::RenderBlock::hitTestColumns):
53020         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
53021         (WebCore::RenderBlock::columnCount):
53022         (WebCore::RenderBlock::columnRectAt):
53023         (WebCore::RenderBlock::layoutColumns):
53024         (WebCore::RenderBlock::adjustPointToColumnContents):
53025         (WebCore::RenderBlock::adjustRectForColumns):
53026         (WebCore::RenderBlock::adjustForColumns):
53027         (WebCore::RenderBlock::setMaxTopMargins):
53028         (WebCore::RenderBlock::setMaxBottomMargins):
53029         (WebCore::RenderBlock::setPaginationStrut):
53030         (WebCore::RenderBlock::setPageY):
53031         (WebCore::RenderBlock::nextPageTop):
53032         (WebCore::inNormalFlow):
53033         (WebCore::RenderBlock::applyBeforeBreak):
53034         (WebCore::RenderBlock::applyAfterBreak):
53035         (WebCore::RenderBlock::adjustForUnsplittableChild):
53036         (WebCore::RenderBlock::adjustLinePositionForPagination):
53037         * rendering/RenderBlock.h:
53038         (WebCore::RenderBlock::paginationStrut):
53039         (WebCore::RenderBlock::pageY):
53040         (WebCore::RenderBlock::maxTopPosMargin):
53041         (WebCore::RenderBlock::maxTopNegMargin):
53042         (WebCore::RenderBlock::maxBottomPosMargin):
53043         (WebCore::RenderBlock::maxBottomNegMargin):
53044         (WebCore::RenderBlock::initMaxMarginValues):
53045         (WebCore::RenderBlock::FloatingObject::FloatingObject):
53046         (WebCore::RenderBlock::FloatingObject::type):
53047         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
53048         * rendering/RenderBlockLineLayout.cpp:
53049         (WebCore::RenderBlock::layoutInlineChildren):
53050         (WebCore::RenderBlock::determineStartPosition):
53051         (WebCore::RenderBlock::skipLeadingWhitespace):
53052         (WebCore::RenderBlock::findNextLineBreak):
53053         * rendering/RenderBox.cpp:
53054         (WebCore::RenderBox::mapLocalToContainer):
53055         (WebCore::RenderBox::computeRectForRepaint):
53056         (WebCore::RenderBox::markDescendantBlocksAndLinesForLayout):
53057         * rendering/RenderBox.h:
53058         * rendering/RenderFlexibleBox.cpp:
53059         (WebCore::RenderFlexibleBox::layoutBlock):
53060         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
53061         (WebCore::RenderFlexibleBox::layoutVerticalBox):
53062         * rendering/RenderFlexibleBox.h:
53063         * rendering/RenderInline.cpp:
53064         (WebCore::RenderInline::computeRectForRepaint):
53065         (WebCore::RenderInline::mapLocalToContainer):
53066         * rendering/RenderLayer.cpp:
53067         (WebCore::RenderLayer::updatePagination):
53068         (WebCore::RenderLayer::paintChildLayerIntoColumns):
53069         (WebCore::RenderLayer::hitTestChildLayerColumns):
53070         * rendering/RenderLineBoxList.cpp:
53071         (WebCore::RenderLineBoxList::paint):
53072         * rendering/RenderTable.cpp:
53073         (WebCore::RenderTable::RenderTable):
53074         (WebCore::RenderTable::layout):
53075         * rendering/RenderTable.h:
53076         * rendering/RenderTableRow.cpp:
53077         (WebCore::RenderTableRow::layout):
53078         * rendering/RenderTableSection.cpp:
53079         (WebCore::RenderTableSection::layoutRows):
53080         * rendering/RenderView.cpp:
53081         (WebCore::RenderView::RenderView):
53082         (WebCore::RenderView::pushLayoutState):
53083         * rendering/RenderView.h:
53084         (WebCore::RenderView::setTruncatedAt):
53085         (WebCore::RenderView::pushLayoutState):
53086         (WebCore::RenderView::popLayoutState):
53087         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
53088         (WebCore::LayoutStateMaintainer::push):
53089         * rendering/RootInlineBox.h:
53090         (WebCore::RootInlineBox::RootInlineBox):
53091         (WebCore::RootInlineBox::paginationStrut):
53092         (WebCore::RootInlineBox::setPaginationStrut):
53093
53094 2010-09-16  Pavel Podivilov  <podivilov@chromium.org>
53095
53096         Reviewed by Dimitri Glazkov.
53097
53098         Fix debug crash in HTMLFrameOwnerElement caused by content frame being used after destruction.
53099         https://bugs.webkit.org/show_bug.cgi?id=45737
53100
53101         Test: fast/frames/frame-limit.html
53102
53103         * html/HTMLFrameOwnerElement.cpp:
53104         (WebCore::HTMLFrameOwnerElement::willRemove):
53105
53106 2010-09-16  Thomas Zander <t.zander@nokia.com>
53107
53108         Reviewed by Andreas Kling.
53109
53110         https://bugs.webkit.org/show_bug.cgi?id=45878
53111
53112         [Qt] Fixed incorrect Symbian scoping.
53113
53114         The missing install functionality is only true for mmp based systems.
53115
53116         * WebCore.pro: limit functionality to mmp systems.
53117
53118 2010-09-16  Anders Carlsson  <andersca@apple.com>
53119
53120         Fix clang build.
53121
53122         * page/animation/AnimationBase.h:
53123         Fix struct/class mismatch.
53124
53125 2010-09-16  Darin Adler  <darin@apple.com>
53126
53127         Reviewed by Andreas Kling.
53128
53129         Reduce use of HTMLInputElement::inputType so we can remove it later
53130         https://bugs.webkit.org/show_bug.cgi?id=45903
53131
53132         * accessibility/AccessibilityRenderObject.cpp:
53133         (WebCore::AccessibilityRenderObject::isFileUploadButton): Use isFileUpload.
53134         (WebCore::AccessibilityRenderObject::isInputImage): Use isImageButton.
53135         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Use
53136         isCheckbox and isRadioButton.
53137
53138         * css/CSSStyleSelector.cpp:
53139         (WebCore::CSSStyleSelector::adjustRenderStyle): Use isImageButton.
53140
53141         * editing/Editor.cpp:
53142         (WebCore::Editor::setBaseWritingDirection): Use isTextField.
53143
53144         * editing/ReplaceSelectionCommand.cpp:
53145         (WebCore::ReplaceSelectionCommand::doApply): Use isPasswordField.
53146
53147         * editing/SelectionController.cpp:
53148         (WebCore::SelectionController::isInPasswordField): Use isPasswordField.
53149
53150         * html/HTMLInputElement.h: Added isFileUpload, isImageButton, and isSubmitButton.
53151
53152         * page/Chrome.cpp:
53153         (WebCore::Chrome::setToolTip): Use isSubmitButton and isFileUpload.
53154
53155         * page/DragController.cpp:
53156         (WebCore::asFileInput): Use isFileUpload.
53157
53158         * page/EventHandler.cpp:
53159         (WebCore::isSubmitImage): Use isImageButton.
53160
53161         * rendering/RenderFileUploadControl.cpp:
53162         (WebCore::RenderFileUploadControl::updateFromElement): Use isFileUpload.
53163
53164 2010-09-16  Pavel Podivilov  <podivilov@chromium.org>
53165
53166         Reviewed by Pavel Feldman.
53167
53168         Web Inspector: quick fix for crash in InspectorController::loadBreakpoints caused by empty main resource
53169         https://bugs.webkit.org/show_bug.cgi?id=45901
53170
53171         * inspector/InspectorController.cpp:
53172         (WebCore::InspectorController::breakpointsSettingKey):
53173
53174 2010-09-16  Pavel Feldman  <pfeldman@chromium.org>
53175
53176         Reviewed by Yury Semikhatsky.
53177
53178         Web Inspector: Prevent responseReceivedTime from being > endTime in case mixture of WebCore and Network stack info is used.
53179         https://bugs.webkit.org/show_bug.cgi?id=45892
53180
53181         * inspector/InspectorResource.cpp:
53182         (WebCore::InspectorResource::endTiming):
53183
53184 2010-09-16  Ilya Tikhonovsky  <loislo@chromium.org>
53185
53186         Reviewed by Yury Semikhatsky.
53187
53188         Web Inspector: move resourceTracking flag under control of BackendSettings.
53189
53190         Four Inspector API methods about resourceTracking flag were removed.
53191         Actual state of the flag is transfered as the response of setResourceTracking request.
53192         Initial state of the flag on the frontend side is obtained from settings.backend.
53193
53194         https://bugs.webkit.org/show_bug.cgi?id=45887
53195
53196         * inspector/Inspector.idl:
53197         * inspector/InspectorController.cpp:
53198         (WebCore::InspectorController::getBackendSettings):
53199         (WebCore::InspectorController::populateScriptObjects):
53200         (WebCore::InspectorController::setResourceTracking):
53201         * inspector/InspectorController.h:
53202         * inspector/front-end/ResourcesPanel.js:
53203         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
53204         * inspector/front-end/Settings.js:
53205         (WebInspector.Settings.initialize.populateBackendSettings):
53206         (WebInspector.Settings.initialize):
53207         * inspector/front-end/inspector.js:
53208
53209 2010-09-16  Jian Li  <jianli@chromium.org>
53210
53211         Reviewed by David Levin.
53212
53213         BlobData should be copied for it to be used cross-thread in ThreadableBlobRegistry.
53214         https://bugs.webkit.org/show_bug.cgi?id=45909
53215
53216         * fileapi/ThreadableBlobRegistry.cpp:
53217         (WebCore::BlobRegistryContext::BlobRegistryContext):
53218
53219 2010-09-16  Daniel Cheng  <dcheng@chromium.org>
53220
53221         Reviewed by Simon Fraser.
53222
53223         [chromium] Fix incorrect drag node/selection painting.
53224         https://bugs.webkit.org/show_bug.cgi?id=45573
53225
53226         Drag selections were being incorrectly clipped when dragging a selection
53227         near the bottom of a page that was taller than the viewport. To fix
53228         this, we use paintContents() instead of paint().
53229
53230         * page/chromium/FrameChromium.cpp:
53231         (WebCore::Frame::nodeImage):
53232         (WebCore::Frame::dragImageForSelection):
53233
53234 2010-09-16  Daniel Cheng  <dcheng@chromium.org>
53235
53236         Reviewed by Tony Chang.
53237
53238         Fix incorrect usage of dissolveDragImageToFraction().
53239         https://bugs.webkit.org/show_bug.cgi?id=45835
53240
53241         createDragImageForSelection() was ignoring the return value of
53242         dissolveDragImageToFraction(). This didn't happen to crash on most
53243         platforms, since most implementations simply modified the image that was
53244         passed in. However, Chromium Mac's implementation actually creates a new
53245         image and returns that instead. This caused us to crash when copying the
53246         image from the renderer to the browser process, since the memory had
53247         already been freed.
53248
53249         * manual-tests/selection-drag-crash.html: Added.
53250         * platform/DragImage.cpp:
53251         (WebCore::createDragImageForSelection):
53252
53253 2010-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
53254
53255         Unreviewed, rolling out r67628.
53256         http://trac.webkit.org/changeset/67628
53257         https://bugs.webkit.org/show_bug.cgi?id=45904
53258
53259         broke the build (Requested by eric_carlson on #webkit).
53260
53261         * page/ContextMenuController.cpp:
53262         (WebCore::ContextMenuController::contextMenuItemSelected):
53263         * platform/ContextMenu.cpp:
53264         (WebCore::ContextMenu::populate):
53265         (WebCore::ContextMenu::checkOrEnableIfNeeded):
53266         * platform/ContextMenuItem.h:
53267         * platform/LocalizationStrategy.h:
53268         * platform/LocalizedStrings.cpp:
53269         * platform/LocalizedStrings.h:
53270         * platform/android/LocalizedStringsAndroid.cpp:
53271         * platform/brew/LocalizedStringsBrew.cpp:
53272         * platform/efl/LocalizedStringsEfl.cpp:
53273         * platform/gtk/ContextMenuItemGtk.cpp:
53274         (WebCore::gtkStockIDFromContextMenuAction):
53275         * platform/gtk/LocalizedStringsGtk.cpp:
53276         * platform/haiku/LocalizedStringsHaiku.cpp:
53277         * platform/wx/LocalizedStringsWx.cpp:
53278         * rendering/HitTestResult.cpp:
53279         (WebCore::HitTestResult::absoluteMediaURL):
53280         * rendering/HitTestResult.h:
53281
53282 2010-09-16  Andreas Kling  <andreas.kling@nokia.com>
53283
53284         Reviewed by Simon Fraser.
53285
53286         CSS: Fix crash in getTimingFunctionValue()
53287         https://bugs.webkit.org/show_bug.cgi?id=45896
53288
53289         Use a RefPtr to avoid deleting the TimingFunction prematurely.
53290
53291         This is covered by existing tests, e.g transitions/inherit-other-props.html
53292         but will only actually crash on picky platforms (or in valgrind.)
53293
53294         * css/CSSComputedStyleDeclaration.cpp:
53295         (WebCore::getTimingFunctionValue):
53296
53297 2010-09-16  Pavel Feldman  <pfeldman@chromium.org>
53298
53299         Reviewed by Yury Semikhatsky.
53300
53301         Web Inspector: prevent resource timing popover from having scrollers.
53302         https://bugs.webkit.org/show_bug.cgi?id=45883
53303
53304         * inspector/front-end/ResourcesPanel.js:
53305         (WebInspector.ResourcesPanel.prototype._showPopover):
53306
53307 2010-09-15  Philippe Normand  <pnormand@igalia.com>
53308
53309         Reviewed by Eric Carlson.
53310
53311         [GTK] enhanced context menu for media elements
53312         https://bugs.webkit.org/show_bug.cgi?id=45021
53313
53314         New items in the media Element context menu:
53315         - play/pause
53316         - mute/unmute
53317         - controls display control
53318         - switch to fullscreen (for video only)
53319         - loop playback control
53320         - copy media url to clipboard
53321         - open in new window
53322
53323         Test: media/context-menu-actions.html
53324
53325         * page/ContextMenuController.cpp:
53326         (WebCore::ContextMenuController::contextMenuItemSelected):
53327         * platform/ContextMenu.cpp:
53328         (WebCore::ContextMenu::populate):
53329         (WebCore::ContextMenu::checkOrEnableIfNeeded):
53330         * platform/ContextMenuItem.h:
53331         * platform/LocalizationStrategy.h:
53332         * platform/LocalizedStrings.cpp:
53333         (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53334         (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53335         (WebCore::contextMenuItemTagToggleMediaControls):
53336         (WebCore::contextMenuItemTagToggleMediaLoop):
53337         (WebCore::contextMenuItemTagEnterVideoFullscreen):
53338         (WebCore::contextMenuItemTagMediaPlay):
53339         (WebCore::contextMenuItemTagMediaPause):
53340         (WebCore::contextMenuItemTagMediaMute):
53341         (WebCore::contextMenuItemTagMediaUnMute):
53342         * platform/LocalizedStrings.h:
53343         * platform/android/LocalizedStringsAndroid.cpp:
53344         (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53345         (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53346         (WebCore::contextMenuItemTagToggleMediaControls):
53347         (WebCore::contextMenuItemTagToggleMediaLoop):
53348         (WebCore::contextMenuItemTagEnterVideoFullscreen):
53349         (WebCore::contextMenuItemTagMediaPlay):
53350         (WebCore::contextMenuItemTagMediaPause):
53351         (WebCore::contextMenuItemTagMediaMute):
53352         (WebCore::contextMenuItemTagMediaUnMute):
53353         * platform/brew/LocalizedStringsBrew.cpp:
53354         (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53355         (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53356         (WebCore::contextMenuItemTagToggleMediaControls):
53357         (WebCore::contextMenuItemTagToggleMediaLoop):
53358         (WebCore::contextMenuItemTagEnterVideoFullscreen):
53359         (WebCore::contextMenuItemTagMediaPlay):
53360         (WebCore::contextMenuItemTagMediaPause):
53361         (WebCore::contextMenuItemTagMediaMute):
53362         (WebCore::contextMenuItemTagMediaUnMute):
53363         * platform/efl/LocalizedStringsEfl.cpp:
53364         (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53365         (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53366         (WebCore::contextMenuItemTagToggleMediaControls):
53367         (WebCore::contextMenuItemTagToggleMediaLoop):
53368         (WebCore::contextMenuItemTagEnterVideoFullscreen):
53369         (WebCore::contextMenuItemTagMediaPlay):
53370         (WebCore::contextMenuItemTagMediaPause):
53371         (WebCore::contextMenuItemTagMediaMute):
53372         (WebCore::contextMenuItemTagMediaUnMute):
53373         * platform/gtk/ContextMenuItemGtk.cpp:
53374         (WebCore::gtkStockIDFromContextMenuAction):
53375         * platform/gtk/LocalizedStringsGtk.cpp:
53376         (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53377         (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53378         (WebCore::contextMenuItemTagToggleMediaControls):
53379         (WebCore::contextMenuItemTagToggleMediaLoop):
53380         (WebCore::contextMenuItemTagEnterVideoFullscreen):
53381         (WebCore::contextMenuItemTagMediaPlay):
53382         (WebCore::contextMenuItemTagMediaPause):
53383         (WebCore::contextMenuItemTagMediaMute):
53384         (WebCore::contextMenuItemTagMediaUnMute):
53385         * platform/haiku/LocalizedStringsHaiku.cpp:
53386         (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53387         (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53388         (WebCore::contextMenuItemTagToggleMediaControls):
53389         (WebCore::contextMenuItemTagToggleMediaLoop):
53390         (WebCore::contextMenuItemTagEnterVideoFullscreen):
53391         (WebCore::contextMenuItemTagMediaPlay):
53392         (WebCore::contextMenuItemTagMediaPause):
53393         (WebCore::contextMenuItemTagMediaMute):
53394         (WebCore::contextMenuItemTagMediaUnMute):
53395         * platform/wx/LocalizedStringsWx.cpp:
53396         (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53397         (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53398         (WebCore::contextMenuItemTagToggleMediaControls):
53399         (WebCore::contextMenuItemTagToggleMediaLoop):
53400         (WebCore::contextMenuItemTagEnterVideoFullscreen):
53401         (WebCore::contextMenuItemTagMediaPlay):
53402         (WebCore::contextMenuItemTagMediaPause):
53403         (WebCore::contextMenuItemTagMediaMute):
53404         (WebCore::contextMenuItemTagMediaUnMute):
53405         * rendering/HitTestResult.cpp:
53406         (WebCore::HitTestResult::absoluteMediaURL):
53407         (WebCore::HitTestResult::mediaSupportsFullscreen):
53408         (WebCore::HitTestResult::mediaElement):
53409         (WebCore::HitTestResult::toggleMediaControlsDisplay):
53410         (WebCore::HitTestResult::toggleMediaLoopPlayback):
53411         (WebCore::HitTestResult::enterFullscreenForVideo):
53412         (WebCore::HitTestResult::mediaControlsEnabled):
53413         (WebCore::HitTestResult::mediaLoopEnabled):
53414         (WebCore::HitTestResult::mediaPlaying):
53415         (WebCore::HitTestResult::toggleMediaPlayState):
53416         (WebCore::HitTestResult::mediaHasAudio):
53417         (WebCore::HitTestResult::mediaMuted):
53418         (WebCore::HitTestResult::toggleMediaMuteState):
53419         * rendering/HitTestResult.h:
53420
53421 2010-09-16  Tony Gentilcore  <tonyg@chromium.org>
53422
53423         Reviewed by Adam Barth.
53424
53425         Crash in WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions
53426         https://bugs.webkit.org/show_bug.cgi?id=45833
53427
53428         Test: fast/parser/x-frame-options-detached-document-crash.html
53429
53430         * dom/Document.cpp:
53431         (WebCore::Document::processHttpEquiv): Other branches in this method already test for a null frame. So it seems to make sense to test that here as well.
53432
53433 2010-09-16  Vangelis Kokkevis  <vangelis@chromium.org>
53434
53435         Reviewed by Darin Fisher.
53436
53437         [chromium] ImageLayerChromium needs to keep a ref to the Image it uses
53438         so that it never tries to access an already destroyed Image.
53439         https://bugs.webkit.org/show_bug.cgi?id=45869
53440
53441         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53442         (WebCore::GraphicsLayerChromium::setContentsToImage):
53443         * platform/graphics/chromium/ImageLayerChromium.cpp:
53444         (WebCore::ImageLayerChromium::setContents):
53445         (WebCore::ImageLayerChromium::updateContents):
53446         * platform/graphics/chromium/ImageLayerChromium.h:
53447
53448 2010-09-16  Patrick Gansterer  <paroga@paroga.com>
53449
53450         Reviewed by Adam Roben.
53451
53452         [WINCE] Add platform-specific Image methods
53453         https://bugs.webkit.org/show_bug.cgi?id=28272
53454
53455         * platform/graphics/wince/ImageWinCE.cpp: Added.
53456         (WebCore::RGBA32Buffer::asNewNativeImage):
53457         (WebCore::FrameData::clear):
53458         (WebCore::BitmapImage::getHBITMAPOfSize):
53459         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
53460         (WebCore::BitmapImage::draw):
53461         (WebCore::Image::drawPattern):
53462         (WebCore::BitmapImage::drawPattern):
53463         (WebCore::BitmapImage::checkForSolidColor):
53464
53465 2010-09-16  Yury Semikhatsky  <yurys@chromium.org>
53466
53467         Reviewed by Pavel Feldman.
53468
53469         Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
53470         https://bugs.webkit.org/show_bug.cgi?id=45890
53471
53472         * inspector/InspectorController.cpp:
53473         (WebCore::InspectorController::populateScriptObjects):
53474         (WebCore::InspectorController::restoreDebugger):
53475         (WebCore::InspectorController::restoreProfiler):
53476         * inspector/InspectorController.h:
53477
53478 2010-09-16  Satish Sampath  <satish@chromium.org>
53479
53480         Unreviewed, fixing a build break with VS 2008.
53481
53482         Fix build break, add the namespace in a friend declaration to get MSVC recognize it properly.
53483         https://bugs.webkit.org/show_bug.cgi?id=45893
53484
53485         * fileapi/FileWriter.h:
53486
53487 2010-09-15  Philippe Normand  <pnormand@igalia.com>
53488
53489         Reviewed by Martin Robinson.
53490
53491         [GStreamer] XOverlay API changes break the build
53492         https://bugs.webkit.org/show_bug.cgi?id=45810
53493
53494         Cope with the GStreamer XOverlay API change for the upcoming
53495         0.10.31 version.
53496         No new tests, build fix only.
53497
53498         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
53499         (WebCore::GStreamerGWorld::setWindowOverlay):
53500
53501 2010-09-16  Andreas Kling  <andreas.kling@nokia.com>
53502
53503         Reviewed by Tor Arne Vestbø.
53504
53505         [Qt] V8 port: Fix debug build
53506
53507         Add missing inclusion of <wtf/text/CString.h> where necessary for debug builds.
53508
53509         * history/PageCache.cpp:
53510         * html/HTMLElement.cpp:
53511         * html/HTMLMediaElement.cpp:
53512         * loader/DocumentLoader.cpp:
53513         * loader/icon/IconDatabase.cpp:
53514         * loader/icon/IconLoader.cpp:
53515         * storage/AbstractDatabase.cpp:
53516         * storage/Database.cpp:
53517         * storage/DatabaseSync.cpp:
53518         * storage/DatabaseTracker.cpp:
53519
53520 2010-09-16  Alexey Proskuryakov  <ap@apple.com>
53521
53522         Reviewed by Adam Barth.
53523
53524         https://bugs.webkit.org/show_bug.cgi?id=45852
53525         Range::selectNode and selectNodeContents misbehave when argument is in another document
53526
53527         Test: fast/dom/Range/select-node-different-document.html
53528
53529         There is nothing in DOM Traversal spec that says this shouldn't work, and it does work in
53530         Firefox.
53531
53532         * dom/Range.cpp:
53533         (WebCore::Range::setDocument):
53534         (WebCore::Range::selectNode):
53535         (WebCore::Range::selectNodeContents):
53536         * dom/Range.h:
53537
53538 2010-09-16  Andrey Kosyakov  <caseq@chromium.org>
53539
53540         Reviewed by Pavel Feldman.
53541
53542         Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
53543         Added support to export HAR to file from Resources panel (conditional on Preferences)
53544         Added support for HARLog (a higher-level aggregate than HAREntry)
53545         https://bugs.webkit.org/show_bug.cgi?id=45663
53546
53547         * English.lproj/localizedStrings.js:
53548         * inspector/front-end/HAREntry.js:
53549         (WebInspector.HAREntry.prototype.build):
53550         (WebInspector.HAREntry.prototype._buildTimings):
53551         (WebInspector.HAREntry._toMilliseconds):
53552         (WebInspector.HARLog):
53553         (WebInspector.HARLog.prototype.build):
53554         (WebInspector.HARLog.prototype._buildPages):
53555         (WebInspector.HARLog.prototype._buildMainResourceTimings):
53556         (WebInspector.HARLog.prototype._convertResource):
53557         * inspector/front-end/ResourcesPanel.js:
53558         (WebInspector.ResourcesPanel):
53559         (WebInspector.ResourcesPanel.prototype.hide):
53560         (WebInspector.ResourcesPanel.prototype._contextMenu):
53561         (WebInspector.ResourcesPanel.prototype._exportAll):
53562         (WebInspector.ResourcesPanel.prototype._exportResource):
53563         * inspector/front-end/Settings.js:
53564         * inspector/front-end/utilities.js:
53565         ():
53566
53567 2010-09-16  Eric Uhrhane  <ericu@chromium.org>
53568
53569         Reviewed by Jian Li.
53570
53571         Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
53572         https://bugs.webkit.org/show_bug.cgi?id=45798
53573
53574         * CMakeLists.txt:
53575         * Configurations/FeatureDefines.xcconfig:
53576         * GNUmakefile.am:
53577         * WebCore.pro:
53578         * dom/EventTarget.cpp:
53579         * dom/EventTarget.h:
53580         * dom/ExceptionCode.h:
53581         * dom/ScriptExecutionContext.cpp:
53582         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
53583         * dom/ScriptExecutionContext.h:
53584         * fileapi/AsyncFileWriter.h:
53585         * fileapi/FileEntry.cpp:
53586         * fileapi/FileEntry.h:
53587         * fileapi/FileEntry.idl:
53588         * fileapi/FileError.h:
53589         * fileapi/FileError.idl:
53590         * fileapi/FileException.h:
53591         * fileapi/FileException.idl:
53592         * fileapi/FileStreamProxy.cpp:
53593         * fileapi/FileStreamProxy.h:
53594         * fileapi/FileThread.cpp:
53595         * fileapi/FileThread.h:
53596         * fileapi/FileWriter.cpp:
53597         * fileapi/FileWriter.h:
53598         * fileapi/FileWriter.idl:
53599         * fileapi/FileWriterCallback.h:
53600         * fileapi/FileWriterCallback.idl:
53601         * fileapi/FileWriterClient.h:
53602         * page/DOMWindow.idl:
53603         * platform/AsyncFileStream.h:
53604         * platform/FileStream.cpp:
53605         * platform/FileStream.h:
53606         * platform/FileStreamClient.h:
53607
53608 2010-09-16  Marc-Antoine Ruel  <maruel@chromium.org>
53609
53610         Reviewed by Dimitri Glazkov.
53611
53612         Convert WebCore.gyp to use regexp to excludes files instead of listing them in sources!.
53613
53614         This is necessary because sources! is processed before sources/. This makes
53615         applying broader pattern in sources/ more difficult since it overrides the files
53616         listed in sources!. Having all them in sources/ permits controlling the ordering
53617         of the regexp, thus the final list of included files.
53618
53619         Fix Harfbuzz and VDMX source files includes in WebCore.gypi and WebCore.gyp
53620
53621         https://bugs.webkit.org/show_bug.cgi?id=45823
53622
53623         * WebCore.gyp/WebCore.gyp:
53624         * WebCore.gypi:
53625
53626 2010-09-16  Nat Duca  <nduca@chromium.org>
53627
53628         Reviewed by Darin Fisher.
53629
53630         [chromium] Make compositor obey finish flag
53631         https://bugs.webkit.org/show_bug.cgi?id=45552
53632
53633         The compositor should obey the finish flag on doComposite. This
53634         flag causes the compositor to finish rendering before returning,
53635         which is needed when resizing the window to avoid flashes of green.
53636
53637         * platform/graphics/chromium/LayerRendererChromium.cpp:
53638         (WebCore::LayerRendererChromium::finish):
53639         * platform/graphics/chromium/LayerRendererChromium.h:
53640
53641 2010-09-16  Alejandro G. Castro  <alex@igalia.com>
53642
53643         Reviewed by Xan Lopez.
53644
53645         GTK+ 3.x. updates, gtk_widget_size_request is deprecated and
53646         "activate-slider" style property for scrollbars is gone.
53647
53648         * platform/gtk/PopupMenuGtk.cpp:
53649         (WebCore::PopupMenuGtk::show):
53650         * platform/gtk/gtk2drawing.c:
53651         (moz_gtk_scrollbar_thumb_paint):
53652         (moz_gtk_combo_box_paint):
53653
53654 2010-09-16  Diego Gonzalez  <diegohcg@webkit.org>
53655
53656         Reviewed by Kenneth Rohde Christiansen.
53657
53658         [Qt] Remove FrameLoaderClientQt::webFrame() to use NetworkingContext to get the WebFrame to avoid layering violations
53659         https://bugs.webkit.org/show_bug.cgi?id=42293
53660
53661         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
53662         (WebCore::MediaPlayerPrivate::commitLoad):
53663
53664 2010-09-16  Ryuan Choi  <ryuan.choi@samsung.com>
53665
53666         Unreviewed build fix for EFL
53667
53668         [EFL] REGRESSION(67567) FontCacheCairo was removed
53669         https://bugs.webkit.org/show_bug.cgi?id=45858
53670
53671         * CMakeListsEfl.txt:
53672
53673 2010-09-16  Yong Li  <yoli@rim.com>
53674
53675         Reviewed by George Staikos.
53676
53677         https://bugs.webkit.org/show_bug.cgi?id=37117
53678
53679         Add platform-independent JPEG/PNG image encoders that
53680         work with big endian RGBA source data.
53681
53682         There's no layout test because this patch does't make
53683         any port start using the encoders.
53684
53685         * platform/image-encoders/JPEGImageEncoder.cpp: Added.
53686         * platform/image-encoders/JPEGImageEncoder.h: Added.
53687         * platform/image-encoders/PNGImageEncoder.cpp: Added.
53688         * platform/image-encoders/PNGImageEncoder.h: Added.
53689
53690 2010-09-15  Jeremy Orlow  <jorlow@chromium.org>
53691
53692         Reviewed by Steve Block.
53693
53694         Allow the embedder to specify the base path for IndexedDB.
53695         https://bugs.webkit.org/show_bug.cgi?id=45815
53696
53697         Existing tests provide coverage. Use the indexedDBPath parameter that's
53698         already on the group settings object. Pass this parameter into the backend
53699         which will use it rather than a hard coded tmp directory location. If
53700         nothing is specified, assume it should be an in-memory temporary database.
53701         (This is useful for bringup and Chromium's incognito mode.)
53702
53703         * storage/IDBFactory.cpp:
53704         (WebCore::IDBFactory::open):
53705         * storage/IDBFactoryBackendImpl.cpp:
53706         (WebCore::openSQLiteDatabase):
53707         (WebCore::createTables):
53708         (WebCore::IDBFactoryBackendImpl::open):
53709         * storage/IDBFactoryBackendImpl.h:
53710         * storage/IDBFactoryBackendInterface.h:
53711
53712 2010-09-16  Yong Li  <yoli@rim.com>
53713
53714         Reviewed by George Staikos.
53715
53716         Fix the bug that GIF image down sampling can miss some lines.
53717         https://bugs.webkit.org/show_bug.cgi?id=45322
53718
53719         Test: fast/images/gif-large-checkerboard.html
53720
53721         * platform/image-decoders/gif/GIFImageDecoder.cpp:
53722         (WebCore::GIFImageDecoder::haveDecodedRow):
53723
53724 2010-09-16  Philippe Normand  <pnormand@igalia.com>
53725
53726         Reviewed by Andreas Kling.
53727
53728         [GStreamer] un-needed header includes in MediaPlayerPrivate
53729         https://bugs.webkit.org/show_bug.cgi?id=45877
53730
53731         Include only the headers we need.
53732         No new tests, #includes cleanup only.
53733
53734         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
53735
53736 2010-09-16  Pavel Feldman  <pfeldman@chromium.org>
53737
53738         Reviewed by Yury Semikhatsky.
53739
53740         Web Inspector: console.group(object) does not allow object to be expanded.
53741         https://bugs.webkit.org/show_bug.cgi?id=45806
53742
53743         * inspector/front-end/ConsoleView.js:
53744         (WebInspector.ConsoleGroup.prototype.addMessage):
53745         * inspector/front-end/treeoutline.js:
53746         (TreeElement.treeElementToggled):
53747
53748 2010-09-08  Jeremy Orlow  <jorlow@chromium.org>
53749
53750         Reviewed by Steve Block.
53751
53752         Complete index support for IndexedDB
53753         https://bugs.webkit.org/show_bug.cgi?id=45386
53754
53755         Add the rest of the index related API for IndexedDB.  This
53756         includes cursor suport.  A bunch of code was also refactored
53757         since it is shared between indexes and objectStores.
53758
53759         Tests: storage/indexeddb/index-basics.html
53760                storage/indexeddb/index-cursor.html
53761                + additions to others.
53762
53763         * storage/IDBAny.cpp:
53764         (WebCore::IDBAny::set):
53765         * storage/IDBCursor.cpp:
53766         (WebCore::IDBCursor::value):
53767         * storage/IDBCursorBackendImpl.cpp:
53768         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
53769         (WebCore::IDBCursorBackendImpl::value):
53770         (WebCore::IDBCursorBackendImpl::update):
53771         (WebCore::IDBCursorBackendImpl::continueFunction):
53772         (WebCore::IDBCursorBackendImpl::remove):
53773         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
53774         (WebCore::IDBCursorBackendImpl::database):
53775         * storage/IDBCursorBackendImpl.h:
53776         (WebCore::IDBCursorBackendImpl::create):
53777         * storage/IDBCursorBackendInterface.h:
53778         * storage/IDBFactoryBackendImpl.cpp:
53779         (WebCore::createTables):
53780         * storage/IDBIndex.cpp:
53781         (WebCore::IDBIndex::openObjectCursor):
53782         (WebCore::IDBIndex::openCursor):
53783         (WebCore::IDBIndex::getObject):
53784         (WebCore::IDBIndex::get):
53785         * storage/IDBIndex.h:
53786         (WebCore::IDBIndex::storeName):
53787         * storage/IDBIndex.idl:
53788         * storage/IDBIndexBackendImpl.cpp:
53789         (WebCore::IDBIndexBackendImpl::storeName):
53790         (WebCore::openCursorInternal):
53791         (WebCore::IDBIndexBackendImpl::openObjectCursor):
53792         (WebCore::IDBIndexBackendImpl::openCursor):
53793         (WebCore::getInternal):
53794         (WebCore::IDBIndexBackendImpl::getObject):
53795         (WebCore::IDBIndexBackendImpl::get):
53796         * storage/IDBIndexBackendImpl.h:
53797         (WebCore::IDBIndexBackendImpl::objectStore):
53798         * storage/IDBIndexBackendInterface.h:
53799         * storage/IDBKey.cpp:
53800         (WebCore::IDBKey::fromQuery):
53801         (WebCore::IDBKey::whereSyntax):
53802         (WebCore::IDBKey::leftCursorWhereFragment):
53803         (WebCore::IDBKey::rightCursorWhereFragment):
53804         * storage/IDBKey.h:
53805         * storage/IDBKeyRange.cpp:
53806         (WebCore::IDBKeyRange::leftWhereClauseComparisonOperator):
53807         (WebCore::IDBKeyRange::rightWhereClauseComparisonOperator):
53808         * storage/IDBKeyRange.h:
53809         * storage/IDBObjectStoreBackendImpl.cpp:
53810         (WebCore::IDBObjectStoreBackendImpl::openCursor):
53811         * storage/IDBRequest.cpp:
53812         (WebCore::IDBRequest::timerFired):
53813
53814 2010-09-15  Simon Fraser  <simon.fraser@apple.com>
53815
53816         Fix chromium build.
53817         
53818         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53819
53820 2010-09-15  Simon Fraser  <simon.fraser@apple.com>
53821
53822         Reviewed by Adam Roben.
53823
53824         https://bugs.webkit.org/show_bug.cgi?id=44715
53825         maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
53826
53827         Remove the concept of geometry flipping from GraphicsLayer; geometry flipping will
53828         be taken care of in platform code without the need to complicate the GraphicsLayer API.
53829         
53830         RenderLayerCompositor no longer sets the geometry orientation for the root
53831         platform layer; platform-specific code does this instead.
53832         
53833         This fixes flipped layers in WebKit2, since WebKit2 was already flipping
53834         geometry, and then RenderLayerCompositor was doing an additional flip.
53835
53836         * platform/graphics/GraphicsLayer.cpp:
53837         (WebCore::GraphicsLayer::GraphicsLayer):
53838         * platform/graphics/GraphicsLayer.h:
53839         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53840         * platform/graphics/chromium/GraphicsLayerChromium.h:
53841         * platform/graphics/mac/GraphicsLayerCA.h:
53842         * platform/graphics/mac/GraphicsLayerCA.mm:
53843         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
53844         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
53845         (WebCore::GraphicsLayerCA::defaultContentsOrientation):
53846         * platform/graphics/qt/GraphicsLayerQt.cpp:
53847         (WebCore::GraphicsLayerQtImpl::flushChanges):
53848         * platform/graphics/qt/GraphicsLayerQt.h:
53849         * platform/graphics/win/GraphicsLayerCACF.cpp:
53850         (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
53851         * platform/graphics/win/GraphicsLayerCACF.h:
53852         * platform/graphics/win/WKCACFLayerRenderer.cpp:
53853         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
53854         * rendering/RenderLayerCompositor.cpp:
53855         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
53856
53857 2010-09-15  Julien Chaffraix  <jchaffraix@codeaurora.org>
53858
53859         Unreviewed.
53860
53861         Reverting my changes as it is breaking several tests on Gtk and Qt.
53862
53863         * css/CSSParser.cpp:
53864         (WebCore::CSSParser::parseColor):
53865         * css/CSSParser.h:
53866         * html/canvas/CanvasRenderingContext2D.cpp:
53867         (WebCore::CanvasRenderingContext2D::setStrokeColor):
53868         (WebCore::CanvasRenderingContext2D::setFillColor):
53869         * html/canvas/CanvasStyle.cpp:
53870         (WebCore::CanvasStyle::createFromString):
53871         * html/canvas/CanvasStyle.h:
53872
53873 2010-09-15  Julien Chaffraix  <jchaffraix@codeaurora.org>
53874
53875         Reviewed by Andreas Kling.
53876
53877         Parse system colors in the HTML5 canvas context.
53878         https://bugs.webkit.org/show_bug.cgi?id=39168
53879
53880         Test: fast/css/test-setting-canvas-color.html
53881
53882         Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>
53883
53884         * css/CSSParser.cpp:
53885         (WebCore::CSSParser::parseColor): Changed the function to better match our
53886         early return policy. Also we now return false when we don't parse the color.
53887         This is needed for createFromString to fallback to using parseSystemColor.
53888
53889         (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
53890         the system colors.
53891
53892         * css/CSSParser.h: Added the new parseSystemColor method.
53893
53894         * html/canvas/CanvasRenderingContext2D.cpp:
53895         (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
53896         (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
53897         * html/canvas/CanvasStyle.cpp:
53898         (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
53899         and fall back to parseSystemColor if it did not work.
53900
53901         * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
53902
53903 2010-09-14  Erik Arvidsson  <arv@chromium.org>
53904
53905         Reviewed by Darin Adler.
53906
53907         getComputedStyle() returns different values for different zoom levels
53908         https://bugs.webkit.org/show_bug.cgi?id=32230
53909
53910         Test: fast/css/getComputedStyle/computed-style-with-zoom.html
53911
53912         * css/CSSComputedStyleDeclaration.cpp:
53913         (WebCore::zoomAdjustedPixelValue):
53914         (WebCore::zoomAdjustedNumberValue):
53915         (WebCore::valueForReflection):
53916         (WebCore::getPositionOffsetValue):
53917         (WebCore::getBorderRadiusCornerValue):
53918         (WebCore::computedTransform):
53919         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
53920         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
53921         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
53922         * css/CSSComputedStyleDeclaration.h:
53923         * css/SVGCSSComputedStyleDeclaration.cpp:
53924         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
53925         * rendering/RenderObject.h:
53926         (WebCore::adjustForAbsoluteZoom):
53927         * rendering/style/RenderStyle.h:
53928         (WebCore::adjustForAbsoluteZoom):
53929
53930 2010-09-14  Martin Robinson  <mrobinson@igalia.com>
53931
53932         Reviewed by Xan Lopez.
53933
53934         [GTK] Fully separate Pango and FreeType font backends
53935         https://bugs.webkit.org/show_bug.cgi?id=27442
53936
53937         Split FontPlatformData.h into separate versions for Pango, FreeType and WinCairo.
53938         Include the correct file via #ifdef'd includes, like the Chromium port. Also split
53939         FontCacheCairo.cpp into Pango and FreeType versions, as they had almost no code in
53940         common. Finally, rename FontPlatformDataCairo to FontPlatformDataFreeType, as this
53941         compilation unit is used only by the FreeType backend. This change is important to
53942         prevent upcoming fixes to the FreeType backend from affecting other backends.
53943
53944         No new tests as functionality has not changed.
53945
53946         * CMakeListsEfl.txt: Update source lists.
53947         * GNUmakefile.am: Update source lists.
53948         * platform/graphics/cairo/FontCacheCairo.cpp: Removed.
53949         * platform/graphics/cairo/FontCacheFreeType.cpp: Added.
53950         (WebCore::FontCache::platformInit):
53951         (WebCore::FontCache::getFontDataForCharacters):
53952         (WebCore::FontCache::getSimilarFontPlatformData):
53953         (WebCore::FontCache::getLastResortFallbackFont):
53954         (WebCore::FontCache::getTraitsInFamily):
53955         (WebCore::isWellKnownFontName):
53956         (WebCore::FontCache::createFontPlatformData):
53957         * platform/graphics/cairo/FontPlatformData.h:
53958         * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Renamed from WebCore/platform/graphics/cairo/FontPlatformDataCairo.cpp.
53959         (WebCore::FontPlatformData::FontPlatformData):
53960         (WebCore::FontPlatformData::operator=):
53961         (WebCore::FontPlatformData::init):
53962         (WebCore::FontPlatformData::~FontPlatformData):
53963         (WebCore::FontPlatformData::isFixedPitch):
53964         (WebCore::FontPlatformData::operator==):
53965         (WebCore::FontPlatformData::description):
53966         * platform/graphics/cairo/FontPlatformDataFreeType.h: Added.
53967         (WebCore::FontPlatformData::FontPlatformData):
53968         (WebCore::FontPlatformData::size):
53969         (WebCore::FontPlatformData::setSize):
53970         (WebCore::FontPlatformData::syntheticBold):
53971         (WebCore::FontPlatformData::syntheticOblique):
53972         (WebCore::FontPlatformData::scaledFont):
53973         (WebCore::FontPlatformData::hash):
53974         (WebCore::FontPlatformData::isHashTableDeletedValue):
53975         (WebCore::FontPlatformData::hashTableDeletedFontValue):
53976         * platform/graphics/gtk/FontCachePango.cpp: Added.
53977         (WebCore::FontCache::platformInit):
53978         (WebCore::FontCache::getFontDataForCharacters):
53979         (WebCore::FontCache::getSimilarFontPlatformData):
53980         (WebCore::FontCache::getLastResortFallbackFont):
53981         (WebCore::FontCache::getTraitsInFamily):
53982         (WebCore::FontCache::createFontPlatformData):
53983         * platform/graphics/gtk/FontPlatformDataPango.h: Added.
53984         (WebCore::FontPlatformData::FontPlatformData):
53985         (WebCore::FontPlatformData::size):
53986         (WebCore::FontPlatformData::setSize):
53987         (WebCore::FontPlatformData::syntheticBold):
53988         (WebCore::FontPlatformData::syntheticOblique):
53989         (WebCore::FontPlatformData::scaledFont):
53990         (WebCore::FontPlatformData::hash):
53991         (WebCore::FontPlatformData::isHashTableDeletedValue):
53992         (WebCore::FontPlatformData::hashTableDeletedFontValue):
53993         * platform/graphics/win/FontPlatformDataCairoWin.h: Added.
53994         (WebCore::FontPlatformData::FontPlatformData):
53995         (WebCore::FontPlatformData::hfont):
53996         (WebCore::FontPlatformData::useGDI):
53997         (WebCore::FontPlatformData::fontFace):
53998         (WebCore::FontPlatformData::size):
53999         (WebCore::FontPlatformData::setSize):
54000         (WebCore::FontPlatformData::syntheticBold):
54001         (WebCore::FontPlatformData::syntheticOblique):
54002         (WebCore::FontPlatformData::scaledFont):
54003         (WebCore::FontPlatformData::hash):
54004         (WebCore::FontPlatformData::isHashTableDeletedValue):
54005
54006 2010-09-15  Chris Fleizach  <cfleizach@apple.com>
54007
54008         Reviewed by Simon Fraser.
54009
54010         AX: when text is auto-truncated, accessibility bounds are wrong
54011         https://bugs.webkit.org/show_bug.cgi?id=45793
54012
54013         Allow accessibility to retrieve the absoluteQuads of a text node that
54014         clips to the ellipsis.
54015         
54016         Test: accessibility/ellipsis-text.html
54017
54018         * accessibility/AccessibilityRenderObject.cpp:
54019         (WebCore::AccessibilityRenderObject::boundingBoxRect):
54020         * rendering/RenderText.cpp:
54021         (WebCore::ellipsisRectForBox):
54022             Make a common method to retrieve the ellipsis rect.
54023         (WebCore::RenderText::absoluteQuads):
54024             Default into the absoluteQuads method that allows for ellipsis clipping.
54025         (WebCore::RenderText::selectionRectForRepaint):
54026             Use the common method for retrieving the ellipsis.
54027         * rendering/RenderText.h:
54028
54029 2010-09-15  Ariya Hidayat  <ariya@sencha.com>
54030
54031         [Qt] Improve the speed of blur shadow
54032         https://bugs.webkit.org/show_bug.cgi?id=44222
54033
54034         Rewrite the shadow blur function with loop unrolls and sliding step
54035         unification for both horizontal and vertical directions.
54036         This gives significant performance improvement on most cases.
54037
54038         * platform/graphics/qt/ContextShadow.cpp:
54039         (WebCore::shadowBlur):
54040
54041 2010-09-14  Pavel Feldman  <pfeldman@chromium.org>
54042
54043         Reviewed by Yury Semikhatsky.
54044
54045         (Take 2). Web Inspector: Provide network-based load timing.
54046         Before this change, inspector used timers taken from
54047         within WebCore notifications (that are by definition
54048         synchronous and serialized). As a result, timing was
54049         affected by the routines running on the main thread
54050         (JavaScript and such).
54051         https://bugs.webkit.org/show_bug.cgi?id=45664
54052
54053         * inspector/InspectorController.cpp:
54054         (WebCore::InspectorController::willSendRequest):
54055         (WebCore::InspectorController::didFinishLoading):
54056         (WebCore::InspectorController::didFailLoading):
54057         * inspector/InspectorController.h:
54058         * inspector/InspectorResource.cpp:
54059         (WebCore::InspectorResource::endTiming):
54060         * inspector/InspectorResource.h:
54061         * loader/PingLoader.h:
54062         (WebCore::PingLoader::didFinishLoading):
54063         * loader/ResourceLoadNotifier.cpp:
54064         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
54065         * loader/ResourceLoader.cpp:
54066         (WebCore::ResourceLoader::didFinishLoading):
54067         * loader/ResourceLoader.h:
54068         * loader/appcache/ApplicationCacheGroup.cpp:
54069         (WebCore::ApplicationCacheGroup::didFinishLoading):
54070         * loader/appcache/ApplicationCacheGroup.h:
54071         * loader/icon/IconFetcher.cpp:
54072         (WebCore::IconFetcher::didFinishLoading):
54073         * loader/icon/IconFetcher.h:
54074         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
54075         (StreamingClient::didFinishLoading):
54076         * platform/network/BlobResourceHandle.cpp:
54077         (WebCore::BlobResourceHandle::notifyFinish):
54078         * platform/network/ResourceHandleClient.h:
54079         (WebCore::ResourceHandleClient::didFinishLoading):
54080         * platform/network/ResourceLoadTiming.h:
54081         (WebCore::ResourceLoadTiming::deepCopy):
54082         (WebCore::ResourceLoadTiming::operator==):
54083         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
54084         * platform/network/cf/ResourceHandleCFNet.cpp:
54085         (WebCore::didFinishLoading):
54086         * platform/network/curl/ResourceHandleCurl.cpp:
54087         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54088         * platform/network/curl/ResourceHandleManager.cpp:
54089         (WebCore::ResourceHandleManager::downloadTimerCallback):
54090         (WebCore::parseDataUrl):
54091         * platform/network/mac/ResourceHandleMac.mm:
54092         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
54093         (WebCoreSynchronousLoaderClient::didFinishLoading):
54094         * platform/network/qt/QNetworkReplyHandler.cpp:
54095         (WebCore::QNetworkReplyHandler::finish):
54096         * platform/network/qt/ResourceHandleQt.cpp:
54097         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54098         * platform/network/soup/ResourceHandleSoup.cpp:
54099         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54100         (WebCore::WebCoreSynchronousLoader::didFail):
54101         * platform/network/win/ResourceHandleWin.cpp:
54102         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54103         (WebCore::ResourceHandle::onRequestComplete):
54104         (WebCore::ResourceHandle::fileLoadTimer):
54105         (WebCore::ResourceHandle::cancel):
54106
54107 2010-09-15  Sheriff Bot  <webkit.review.bot@gmail.com>
54108
54109         Unreviewed, rolling out r67551.
54110         http://trac.webkit.org/changeset/67551
54111         https://bugs.webkit.org/show_bug.cgi?id=45816
54112
54113         "Plugin tests fail" (Requested by yurys on #webkit).
54114
54115         * inspector/InspectorController.cpp:
54116         (WebCore::InspectorController::willSendRequest):
54117         (WebCore::InspectorController::didFinishLoading):
54118         (WebCore::InspectorController::didFailLoading):
54119         (WebCore::InspectorController::didCloseWebSocket):
54120         * inspector/InspectorController.h:
54121         * inspector/InspectorResource.cpp:
54122         (WebCore::InspectorResource::endTiming):
54123         * inspector/InspectorResource.h:
54124         * loader/DocumentLoader.cpp:
54125         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
54126         * loader/MainResourceLoader.cpp:
54127         (WebCore::MainResourceLoader::continueAfterContentPolicy):
54128         (WebCore::MainResourceLoader::didFinishLoading):
54129         * loader/MainResourceLoader.h:
54130         * loader/NetscapePlugInStreamLoader.cpp:
54131         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
54132         * loader/PingLoader.h:
54133         (WebCore::PingLoader::didFinishLoading):
54134         * loader/ResourceLoadNotifier.cpp:
54135         (WebCore::ResourceLoadNotifier::didFinishLoad):
54136         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
54137         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
54138         * loader/ResourceLoadNotifier.h:
54139         * loader/ResourceLoader.cpp:
54140         (WebCore::ResourceLoader::didFinishLoading):
54141         (WebCore::ResourceLoader::didFinishLoadingOnePart):
54142         * loader/ResourceLoader.h:
54143         * loader/SubresourceLoader.cpp:
54144         (WebCore::SubresourceLoader::didReceiveResponse):
54145         (WebCore::SubresourceLoader::didFinishLoading):
54146         * loader/SubresourceLoader.h:
54147         * loader/appcache/ApplicationCacheGroup.cpp:
54148         (WebCore::ApplicationCacheGroup::didFinishLoading):
54149         * loader/appcache/ApplicationCacheGroup.h:
54150         * loader/icon/IconFetcher.cpp:
54151         (WebCore::IconFetcher::didFinishLoading):
54152         * loader/icon/IconFetcher.h:
54153         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
54154         (StreamingClient::didFinishLoading):
54155         * platform/network/BlobResourceHandle.cpp:
54156         (WebCore::BlobResourceHandle::notifyFinish):
54157         * platform/network/ResourceHandleClient.h:
54158         (WebCore::ResourceHandleClient::didFinishLoading):
54159         * platform/network/cf/ResourceHandleCFNet.cpp:
54160         (WebCore::didFinishLoading):
54161         (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
54162         * platform/network/curl/ResourceHandleCurl.cpp:
54163         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54164         * platform/network/curl/ResourceHandleManager.cpp:
54165         (WebCore::ResourceHandleManager::downloadTimerCallback):
54166         (WebCore::parseDataUrl):
54167         * platform/network/mac/ResourceHandleMac.mm:
54168         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
54169         (WebCoreSynchronousLoaderClient::didFinishLoading):
54170         * platform/network/qt/QNetworkReplyHandler.cpp:
54171         (WebCore::QNetworkReplyHandler::finish):
54172         * platform/network/qt/ResourceHandleQt.cpp:
54173         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54174         * platform/network/soup/ResourceHandleSoup.cpp:
54175         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54176         (WebCore::WebCoreSynchronousLoader::didFail):
54177         (WebCore::finishedCallback):
54178         (WebCore::parseDataUrl):
54179         * platform/network/win/ResourceHandleWin.cpp:
54180         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54181         (WebCore::ResourceHandle::onRequestComplete):
54182         (WebCore::ResourceHandle::fileLoadTimer):
54183         (WebCore::ResourceHandle::cancel):
54184
54185 2010-09-14  Pavel Feldman  <pfeldman@chromium.org>
54186
54187         Reviewed by Yury Semikhatsky.
54188
54189         Web Inspector: Provide network-based load timing.
54190         Before this change, inspector used timers taken from
54191         within WebCore notifications (that are by definition
54192         synchronous and serialized). As a result, timing was
54193         affected by the routines running on the main thread
54194         (JavaScript and such).
54195         https://bugs.webkit.org/show_bug.cgi?id=45664
54196
54197         * inspector/InspectorController.cpp:
54198         (WebCore::InspectorController::willSendRequest):
54199         (WebCore::InspectorController::didFinishLoading):
54200         (WebCore::InspectorController::didFailLoading):
54201         * inspector/InspectorController.h:
54202         * inspector/InspectorResource.cpp:
54203         (WebCore::InspectorResource::endTiming):
54204         * inspector/InspectorResource.h:
54205         * loader/PingLoader.h:
54206         (WebCore::PingLoader::didFinishLoading):
54207         * loader/ResourceLoadNotifier.cpp:
54208         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
54209         * loader/ResourceLoader.cpp:
54210         (WebCore::ResourceLoader::didFinishLoading):
54211         * loader/ResourceLoader.h:
54212         * loader/appcache/ApplicationCacheGroup.cpp:
54213         (WebCore::ApplicationCacheGroup::didFinishLoading):
54214         * loader/appcache/ApplicationCacheGroup.h:
54215         * loader/icon/IconFetcher.cpp:
54216         (WebCore::IconFetcher::didFinishLoading):
54217         * loader/icon/IconFetcher.h:
54218         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
54219         (StreamingClient::didFinishLoading):
54220         * platform/network/BlobResourceHandle.cpp:
54221         (WebCore::BlobResourceHandle::notifyFinish):
54222         * platform/network/ResourceHandleClient.h:
54223         (WebCore::ResourceHandleClient::didFinishLoading):
54224         * platform/network/ResourceLoadTiming.h:
54225         (WebCore::ResourceLoadTiming::deepCopy):
54226         (WebCore::ResourceLoadTiming::operator==):
54227         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
54228         * platform/network/cf/ResourceHandleCFNet.cpp:
54229         (WebCore::didFinishLoading):
54230         * platform/network/curl/ResourceHandleCurl.cpp:
54231         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54232         * platform/network/curl/ResourceHandleManager.cpp:
54233         (WebCore::ResourceHandleManager::downloadTimerCallback):
54234         (WebCore::parseDataUrl):
54235         * platform/network/mac/ResourceHandleMac.mm:
54236         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
54237         (WebCoreSynchronousLoaderClient::didFinishLoading):
54238         * platform/network/qt/QNetworkReplyHandler.cpp:
54239         (WebCore::QNetworkReplyHandler::finish):
54240         * platform/network/qt/ResourceHandleQt.cpp:
54241         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54242         * platform/network/soup/ResourceHandleSoup.cpp:
54243         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54244         (WebCore::WebCoreSynchronousLoader::didFail):
54245         * platform/network/win/ResourceHandleWin.cpp:
54246         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54247         (WebCore::ResourceHandle::onRequestComplete):
54248         (WebCore::ResourceHandle::fileLoadTimer):
54249         (WebCore::ResourceHandle::cancel):
54250
54251 2010-09-14  Ilya Tikhonovsky  <loislo@chromium.org>
54252
54253         Reviewed by Yury Semikhatsky.
54254
54255         WebInspector: small refactoring for monitorXHR backend property.
54256
54257         Our Inspector API is quite big and can be simplified a bit.
54258         As example for single backend property like monitoringXHR we
54259         have 4 functions in the API. Two functions for frontend
54260         enableMonitoringXHR/disableMonitoringXHR and
54261         two functions for backend monitoringXHRWasEnabled and
54262         monitoringXHRWasDisabled. These functions can be replaced by
54263         one setMonitoringXHR with one 'in' and one 'out' argument.
54264         The initial state of the flag can be gathered from backend
54265         with help of getSettings call where additional section was
54266         added for backend state information.
54267
54268         https://bugs.webkit.org/show_bug.cgi?id=45759
54269
54270         * inspector/Inspector.idl:
54271         * inspector/InspectorController.cpp:
54272         * inspector/InspectorController.h:
54273         * inspector/front-end/ConsoleView.js:
54274         * inspector/front-end/Settings.js:
54275         * inspector/front-end/inspector.js:
54276
54277 2010-09-15  Pavel Feldman  <pfeldman@chromium.org>
54278
54279         Reviewed by Yury Semikhatsky.
54280
54281         Web Inspector: Multiline console does not work on Windows / Linux.
54282         https://bugs.webkit.org/show_bug.cgi?id=45807
54283
54284         * inspector/front-end/ConsoleView.js:
54285
54286 2010-09-15  Renata Hodovan  <reni@inf.u-szeged.hu>
54287
54288         Reviewed by Dirk Schulze.
54289
54290         SVGFETurbulenceElement doesn't support dynamic invalidation, when attributes change.
54291         A typo (noStich instead of nostitch) is also fixed in this patch.
54292         https://bugs.webkit.org/show_bug.cgi?id=45809
54293
54294         Tests: svg/dynamic-updates/SVGFETurbulenceElement-dom-baseFrequency-attr.html
54295                svg/dynamic-updates/SVGFETurbulenceElement-dom-numOctaves-attr.html
54296                svg/dynamic-updates/SVGFETurbulenceElement-dom-seed-attr.html
54297                svg/dynamic-updates/SVGFETurbulenceElement-dom-stitchTiles-attr.html
54298                svg/dynamic-updates/SVGFETurbulenceElement-dom-type-attr.html
54299                svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html
54300                svg/dynamic-updates/SVGFETurbulenceElement-svgdom-numOctaves-prop.html
54301                svg/dynamic-updates/SVGFETurbulenceElement-svgdom-seed-prop.html
54302                svg/dynamic-updates/SVGFETurbulenceElement-svgdom-stitchTiles-prop.html
54303                svg/dynamic-updates/SVGFETurbulenceElement-svgdom-type-prop.html
54304
54305         * svg/SVGFETurbulenceElement.cpp:
54306         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
54307         (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
54308         * svg/SVGFETurbulenceElement.h:
54309
54310 2010-09-15  Patrick Gansterer  <paroga@paroga.com>
54311
54312         Reviewed by Kenneth Rohde Christiansen.
54313
54314         [WINCE] Avoid memcpy in TextCodecWinCE::encode
54315         https://bugs.webkit.org/show_bug.cgi?id=45468
54316
54317         * platform/text/wince/TextCodecWinCE.cpp:
54318         (WebCore::TextCodecWinCE::encode):
54319
54320 2010-09-14  Kinuko Yasuda  <kinuko@chromium.org>
54321
54322         Reviewed by Dumitru Daniliuc.
54323
54324         Add custom binding code for DirectoryEntry to allow JSON parameters for Flags
54325         https://bugs.webkit.org/show_bug.cgi?id=45724
54326
54327         No new tests; tests will be added later.
54328
54329         * CMakeLists.txt:
54330         * GNUmakefile.am:
54331         * WebCore.gypi:
54332         * WebCore.pro:
54333         * WebCore.vcproj/WebCore.vcproj:
54334         * WebCore.xcodeproj/project.pbxproj:
54335         * bindings/js/JSDirectoryEntryCustom.cpp: Added.
54336         (WebCore::JSDirectoryEntry::getFile):
54337         (WebCore::JSDirectoryEntry::getDirectory):
54338         * bindings/v8/custom/V8DirectoryEntryCustom.cpp: Added.
54339         (WebCore::V8DirectoryEntry::getDirectoryCallback):
54340         (WebCore::V8DirectoryEntry::getFileCallback):
54341         * fileapi/DirectoryEntry.h:
54342         * fileapi/DirectoryEntry.idl:
54343
54344 2010-09-14  Jia Pu  <jpu@apple.com>
54345         
54346         Reviewed by Dan Bernstein.
54347
54348         Only intercept ESC key press when autocorrection UI is visible.
54349         https://bugs.webkit.org/show_bug.cgi?id=45071
54350
54351         Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
54352         ESC will cancel current loading like usual.
54353
54354         * editing/Editor.cpp:
54355         (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
54356           panel is shown.
54357
54358         * editing/Editor.h: Added declaration of isShowingCorrectionPanel().
54359
54360         * editing/EditorCommand.cpp:
54361         (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
54362           when autocorrection panel is shown.
54363         (WebCore::createCommandMap): Replaced isSupported function pointer for
54364           executeCancelOperation() command with supportedDismissCorrectionPanel().
54365
54366         * loader/EmptyClients.h:
54367         (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
54368           new member method declared in base class.
54369
54370         * page/EditorClient.h: Declared new member method isShowingCorrectionPanel().
54371
54372 2010-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
54373
54374         Unreviewed, rolling out r67503.
54375         http://trac.webkit.org/changeset/67503
54376         https://bugs.webkit.org/show_bug.cgi?id=45802
54377
54378         This patch broke GTK builds (Requested by jianli_ on #webkit).
54379
54380         * fileapi/ThreadableBlobRegistry.cpp:
54381         (WebCore::BlobRegistryContext::BlobRegistryContext):
54382         * loader/ResourceLoader.cpp:
54383         (WebCore::ResourceLoader::resourceData):
54384         (WebCore::ResourceLoader::addData):
54385         * platform/network/BlobResourceHandle.cpp:
54386         * platform/network/BlobResourceHandle.h:
54387         * platform/network/ResourceHandle.h:
54388         * platform/network/mac/ResourceHandleMac.mm:
54389         (WebCore::ResourceHandle::bufferedData):
54390
54391 2010-09-14  Luiz Agostini  <luiz.agostini@openbossa.org>
54392
54393         Reviewed by Kenneth Rohde Christiansen.
54394
54395         [Qt] Zoom factor for checkboxes and radios.
54396         https://bugs.webkit.org/show_bug.cgi?id=45776
54397
54398         RenderThemeQt does not consider RenderStyle::effectiveZoom when calculating sizes of
54399         checkboxes and radios.
54400
54401         Even with this change the used QStyle must support different sizes for radios and checkboxes.
54402         QWindowStyle and QMacStyle, for example, do not.
54403
54404         * platform/qt/RenderThemeQt.cpp:
54405         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
54406
54407 2010-09-14  Chris Rogers  <crogers@google.com>
54408
54409         Reviewed by Kenneth Russell.
54410
54411         audio engine: add AudioFileReader files (Mac implementation)
54412         https://bugs.webkit.org/show_bug.cgi?id=36475
54413
54414         No new tests since audio API is not yet implemented.
54415
54416         * platform/audio/AudioFileReader.h: Added.
54417         * platform/audio/mac/AudioFileReaderMac.cpp: Added.
54418         (WebCore::createAudioBufferList):
54419         (WebCore::destroyAudioBufferList):
54420         (WebCore::AudioFileReader::AudioFileReader):
54421         (WebCore::AudioFileReader::~AudioFileReader):
54422         (WebCore::AudioFileReader::readProc):
54423         (WebCore::AudioFileReader::getSizeProc):
54424         (WebCore::AudioFileReader::createBus):
54425         (WebCore::createBusFromAudioFile):
54426         (WebCore::createBusFromInMemoryAudioFile):
54427         * platform/audio/mac/AudioFileReaderMac.h: Added.
54428         (WebCore::AudioFileReader::data):
54429         (WebCore::AudioFileReader::dataSize):
54430
54431 2010-09-14  Simon Fraser  <simon.fraser@apple.com>
54432
54433         Reviewed by Oliver Hunt.
54434
54435         Drawing an image outside the bounds of a canvas still causes repaints
54436         https://bugs.webkit.org/show_bug.cgi?id=45792
54437         
54438         Some canvas examples, such as http://www.phoboslab.org/biolab/, draw
54439         images outide the bounds of the canvas. If the canvas already had a
54440         non-empty m_dirtyRect, such draws would cause us to do a repaint of
54441         m_dirtyRect again (which goes through the platform-specific invalidation
54442         machinery, which can be slow).
54443         
54444         Optimize this by avoiding extra invalidation when the dirty rect
54445         does not intersect the canvas bounds.
54446         
54447         Not testable because this avoids additional repaints of m_dirtyRect, but
54448         m_dirtyRect has to be non-empty for this to benefit.
54449
54450         * html/HTMLCanvasElement.cpp:
54451         (WebCore::HTMLCanvasElement::didDraw):
54452
54453 2010-09-14  Yury Semikhatsky  <yurys@chromium.org>
54454
54455         Reviewed by Pavel Feldman.
54456
54457         Web Inspector: Links from "Profiles" don't lead to "Scripts"
54458         https://bugs.webkit.org/show_bug.cgi?id=45756
54459
54460         * inspector/front-end/ProfileDataGridTree.js:
54461         (WebInspector.ProfileDataGridNode.prototype.createCell): use standard routine to create resource link
54462         * inspector/front-end/inspector.js: code cleanup: removed no-op method
54463         (WebInspector.addMainEventListeners):
54464
54465 2010-09-14  Patrick Gansterer  <paroga@paroga.com>
54466
54467         Reviewed by Adam Roben.
54468
54469         [WINCE] Use codePage instead of TextEncoding
54470         https://bugs.webkit.org/show_bug.cgi?id=45466
54471
54472         Use codePage as member variable to avoid repeated lookup.
54473
54474         * platform/text/wince/TextCodecWinCE.cpp:
54475         (WebCore::newTextCodecWinCE):
54476         (WebCore::TextCodecWinCE::TextCodecWinCE):
54477         (WebCore::decode):
54478         (WebCore::TextCodecWinCE::decode):
54479         (WebCore::TextCodecWinCE::encode):
54480         * platform/text/wince/TextCodecWinCE.h:
54481
54482 2010-09-14  Adam Barth  <abarth@webkit.org>
54483
54484         Attempted Chromium build fix.  The compiler can't tell that
54485         ASSERT_NOT_REACHED is not reached and so it demands an initialization
54486         of this variable.
54487
54488         * html/HTMLFontElement.cpp:
54489         (WebCore::HTMLFontElement::parseMappedAttribute):
54490
54491 2010-09-14  Andreas Kling  <andreas.kling@nokia.com>
54492
54493         Reviewed by Ariya Hidayat.
54494
54495         [Qt] Wheeling over windowed plugins sometimes cause them to disappear
54496
54497         * plugins/qt/PluginContainerQt.cpp:
54498         (PluginClientWrapper::x11Event): Pass on captured mouse wheel events
54499         to the effective native window rather than the grandparent widget.
54500         We were calling QWidget::winId() which caused a new X11 window to be
54501         created for the grandparent widget and generally mess things up.
54502
54503 2010-09-14  Kevin Ollivier  <kevino@theolliviers.com>
54504
54505         [wx] Build fix after move of selectedText() method.
54506
54507         * platform/wx/PasteboardWx.cpp:
54508         (WebCore::Pasteboard::writeSelection):
54509
54510 2010-09-14  Adam Barth  <abarth@webkit.org>
54511
54512         Reviewed by Darin Adler.
54513
54514         Handle <font size=0> as <font size=1> like any other browser
54515         https://bugs.webkit.org/show_bug.cgi?id=39148
54516
54517         Update font size parser to match HTML5 spec.  The main difference here
54518         is the handling of 0, which now maps to 1 instead of 3.
54519
54520         * html/HTMLFontElement.cpp:
54521         (WebCore::parseFontSize):
54522         (WebCore::HTMLFontElement::cssValueFromFontSizeNumber):
54523
54524 2010-09-14  Adam Barth  <abarth@webkit.org>
54525
54526         Reviewed by Darin Adler.
54527
54528         document.lastModified gives no output if the response doesn't have a Last-Modified header
54529         https://bugs.webkit.org/show_bug.cgi?id=8475
54530
54531         Implement document.lastModified as per HTML5.
54532
54533         Tests: http/tests/misc/last-modified-parsing.html
54534                http/tests/misc/no-last-modified.html
54535
54536         * dom/Document.cpp:
54537         (WebCore::Document::lastModified):
54538
54539 2010-09-14  Adam Barth  <abarth@webkit.org>
54540
54541         Reviewed by Eric Seidel.
54542
54543         `document.compatMode` is `undefined` when using `application/xhtml+xml`
54544         https://bugs.webkit.org/show_bug.cgi?id=44422
54545
54546         Moving the compatMode IDL attribute from HTMLDocument.idl to
54547         Document.idl fixes this bug and improve compliance with HTML5.
54548
54549         Test: fast/parser/compatMode-in-xhtml.xhtml
54550
54551         * dom/Document.cpp:
54552         (WebCore::Document::compatMode):
54553         * dom/Document.h:
54554         * dom/Document.idl:
54555         * html/HTMLDocument.cpp:
54556         * html/HTMLDocument.h:
54557
54558 2010-09-14  Adam Barth  <abarth@webkit.org>
54559
54560         Reviewed by Nate Chapin.
54561
54562         V8 security checks don't account for shadowing named frames
54563         https://bugs.webkit.org/show_bug.cgi?id=45700
54564
54565         Test: http/tests/security/xss-DENIED-frame-name.html
54566
54567         * bindings/v8/custom/V8DOMWindowCustom.cpp:
54568         (WebCore::V8DOMWindow::namedSecurityCheck):
54569             - If the property name exists on the object, it will shadow the
54570               named property lookup on the window object.  That means we need
54571               to block access if there's shadowing going on.
54572         (WebCore::V8DOMWindow::indexedSecurityCheck):
54573             - I made the corresponding change to this function too, but I don't
54574               think this one can actually be triggered because JavaScript
54575               variable names need to start with a non-digit.
54576
54577 2010-09-14  Adam Barth  <abarth@webkit.org>
54578
54579         Reviewed by Eric Seidel.
54580
54581         incorrect tabindex parsing
54582         https://bugs.webkit.org/show_bug.cgi?id=21076
54583
54584         Updated our integer parsing for tabindex to use the algorithm from the
54585         HTML5 spec.
54586
54587         Test: fast/parser/tabindex-parsing-2.html
54588
54589         * html/HTMLElement.cpp:
54590         (WebCore::HTMLElement::parseMappedAttribute):
54591         * html/parser/HTMLParserIdioms.cpp:
54592         (WebCore::parseHTMLInteger):
54593         * html/parser/HTMLParserIdioms.h:
54594
54595 2010-09-14  Brent Fulgham  <bfulgham@webkit.org>
54596
54597         Build correction, no review.
54598
54599         * WebCore.vcproj/WebCore.vcproj: Exclude OwnPtrCairo.cpp from
54600         non-Cairo based builds.
54601
54602 2010-09-14  Jian Li  <jianli@chromium.org>
54603
54604         Reviewed by David Levin.
54605
54606         fast/files/apply-blob-url-to-img.html timeout on Leopard
54607         https://bugs.webkit.org/show_bug.cgi?id=45576
54608
54609         The failure on Leopard is caused by the static method
54610         ResourceHandle::supportsBufferedData that returns true to indicate that
54611         the buffered data support is enabled for blob resource. However,
54612         BlobResourceHandle does not support this and we need to override this.
54613
54614         The fix is to change supportsBufferedData method from static to virtual
54615         so that we can override the default behavior in BlobResourceHandle.
54616
54617         * fileapi/ThreadableBlobRegistry.cpp: Copy BlobData to make it cross-thread. 
54618         (WebCore::BlobRegistryContext::BlobRegistryContext):
54619         * loader/ResourceLoader.cpp:
54620         (WebCore::ResourceLoader::resourceData):
54621         (WebCore::ResourceLoader::addData):
54622         * platform/network/BlobResourceHandle.cpp:
54623         (WebCore::BlobResourceHandle::supportsBufferedData): Override the default
54624         behavior.
54625         * platform/network/BlobResourceHandle.h:
54626         * platform/network/ResourceHandle.h: Made supportsBufferedData virtual.
54627         * platform/network/mac/ResourceHandleMac.mm:
54628         (WebCore::ResourceHandle::bufferedData):
54629
54630 2010-09-14  Brent Fulgham  <bfulgham@webkit.org>
54631
54632         Build correction, no review.
54633
54634         * WebCore.vcproj/WebCore.vcproj: Add missing OwnPtrCairo.cpp
54635           implementation file.
54636         * platform/graphics/cairo/OwnPtrCairo.cpp: Add missing include
54637           for <cairo.h>
54638
54639 2010-09-14  Chris Guillory   <chris.guillory@google.com>
54640
54641         Reviewed by Chris Fleizach.
54642
54643         Send all accessibility notifications to Chromium.
54644         https://bugs.webkit.org/show_bug.cgi?id=45156
54645         
54646         Use postAccessibilityNotification to pass accessibility notifications
54647         to chromium.
54648
54649         Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
54650                platform/chromium/accessibility/post-notification-CheckedStateChanged.html
54651                platform/chromium/accessibility/post-notification-ChildrenChanged.html
54652                platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
54653                platform/chromium/accessibility/post-notification-LayoutComplete.html
54654                platform/chromium/accessibility/post-notification-LiveRegionChanged.html
54655                platform/chromium/accessibility/post-notification-LoadComplete.html
54656                platform/chromium/accessibility/post-notification-MenuListValueChanged.html
54657                platform/chromium/accessibility/post-notification-RowCollapsed.html
54658                platform/chromium/accessibility/post-notification-RowCountChanged.html
54659                platform/chromium/accessibility/post-notification-RowExpanded.html
54660                platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
54661                platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
54662                platform/chromium/accessibility/post-notification-SelectedTextChanged.html
54663                platform/chromium/accessibility/post-notification-ValueChanged.html
54664
54665         * accessibility/chromium/AXObjectCacheChromium.cpp:
54666         (WebCore::AXObjectCache::postPlatformNotification):
54667         * page/chromium/ChromeClientChromium.h:
54668
54669 2010-09-14  Darin Adler  <darin@apple.com>
54670
54671         Reviewed by Geoffrey Garen.
54672
54673         Hang processing href attribute containing a million slashes
54674         https://bugs.webkit.org/show_bug.cgi?id=45767
54675
54676         Test: fast/css/visited-link-hang.html
54677
54678         * platform/LinkHash.cpp:
54679         (WebCore::findSlashDotDotSlash): Added a start position argument and
54680         changed types to use size_t consistently instead of a mix.
54681         (WebCore::findSlashSlash): Ditto.
54682         (WebCore::findSlashDotSlash): Ditto.
54683         (WebCore::squeezeOutNullCharacters): Added.
54684         (WebCore::cleanSlashDotDotSlashes): Added. Factored out part
54685         of cleanPath (see below).
54686         (WebCore::mergeDoubleSlashes): Ditto.
54687         (WebCore::cleanSlashDotSlashes): Ditto.
54688         (WebCore::cleanPath): Changed algorithm to not remove as we go to
54689         avoid N^2 behavior; instead replace with null characters and then
54690         do a squeeze operation after the fact. Also moved the body of the
54691         function out of line since we normally don't have to do any cleaning.
54692         This whole thing should go at some point -- it's not the right
54693         algorithm -- but this should eliminate the performance problems
54694         without changing behavior.
54695
54696 2010-09-14  Nico Weber  <thakis@chromium.org>
54697
54698         Reviewed by Kenneth Russell.
54699
54700         [chromium]: On Mac, let image layer data row order match skia.
54701         https://bugs.webkit.org/show_bug.cgi?id=45400
54702
54703         Make CoreGraphics texture row order match skia's row order, remove all
54704         code that worked around this difference. This also fixes a problem where
54705         image layers would be drawn upside down.
54706
54707         Covered by existing layout tests, but we don't run these with
54708         compositing yet.
54709
54710         * platform/graphics/chromium/ContentLayerChromium.cpp:
54711         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
54712         (WebCore::ContentLayerChromium::updateContents):
54713         (WebCore::ContentLayerChromium::updateTextureRect):
54714         * platform/graphics/chromium/LayerRendererChromium.cpp:
54715         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
54716         (WebCore::LayerRendererChromium::drawLayers):
54717
54718 2010-09-14  Ryosuke Niwa  <rniwa@webkit.org>
54719
54720         Reviewed by Tony Chang.
54721
54722         applyInlineStyleToNodeRange does not extend run properly
54723         https://bugs.webkit.org/show_bug.cgi?id=45616
54724
54725         The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
54726         Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
54727         or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
54728         styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
54729         all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.
54730
54731         Test: editing/style/inline-style-extend-run.html
54732
54733         * editing/ApplyStyleCommand.cpp:
54734         (WebCore::containsNonEditableRegion): Added.
54735         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
54736         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
54737         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
54738         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
54739         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
54740         * editing/ApplyStyleCommand.h:
54741
54742 2010-09-14  Andreas Kling  <andreas.kling@nokia.com>
54743
54744         Reviewed by Kenneth Rohde Christiansen.
54745
54746         [Qt] V8 port: Get inspector up and running
54747         https://bugs.webkit.org/show_bug.cgi?id=45771
54748
54749         * inspector/front-end/WebKit.qrc: Add DebuggerScript.js
54750
54751 2010-09-14  Oliver Hunt  <oliver@apple.com>
54752
54753         PPC Build fix.
54754
54755         * bindings/js/SerializedScriptValue.cpp:
54756         (WebCore::CloneDeserializer::readFile):
54757         (WebCore::CloneDeserializer::readTerminal):
54758
54759 2010-09-14  Kwang Yul Seo  <skyul@company100.net>
54760
54761         Reviewed by Andreas Kling.
54762
54763         [chromium] Remove unused ICU headers
54764         https://bugs.webkit.org/show_bug.cgi?id=45698
54765
54766         Remove unused headers.
54767
54768         * platform/graphics/chromium/FontCacheLinux.cpp:
54769
54770 2010-09-14  Andreas Kling  <andreas.kling@nokia.com>
54771
54772         Reviewed by Antonio Gomes.
54773
54774         [Qt] Numpad Enter key returns keyCode 0 instead of 13
54775         https://bugs.webkit.org/show_bug.cgi?id=45014
54776
54777         Original patch by Jarred Nicholls <jarred.nicholls@gmail.com>
54778
54779         There is a missing case statement in the PlatformKeyboardEventQt.cpp
54780         file to handle the Enter button on the number pad.  Because it is not
54781         handled, the keyCode returned in a JavaScript event is 0 rather than 13.
54782
54783         Test: manual-tests/qt/numpad-enter-key.html
54784
54785         * manual-tests/qt/numpad-enter-key.html: Added.
54786         * platform/qt/PlatformKeyboardEventQt.cpp:
54787         (WebCore::windowsKeyCodeForKeyEvent):
54788
54789 2010-09-14  Evan Martin  <evan@chromium.org>
54790
54791         Reviewed by Darin Fisher.
54792
54793         [chromium] building without debug syms broke after recent refactoring
54794         https://bugs.webkit.org/show_bug.cgi?id=45720
54795
54796         Now that we build WebCore as multiple libraries, we need to adjust the
54797         flags to turn off debug symbols for all of these libraries.
54798
54799         No new tests; should only affect an uncommon build flag.
54800
54801         * WebCore.gyp/WebCore.gyp:
54802
54803 2010-09-14  Tony Chang  <tony@chromium.org>
54804
54805         Unreviewed, fix chromium compile.
54806
54807         * platform/graphics/chromium/ImageLayerChromium.h:
54808
54809 2010-09-14  Nico Weber  <thakis@chromium.org>
54810
54811         Reviewed by Darin Fisher.
54812
54813         [chromium]: crash less in compositor mode on mac
54814         https://bugs.webkit.org/show_bug.cgi?id=45714
54815
54816         The contents image can go away when the dom is updated. Since the
54817         layer tree is updated asynchronously, it needs to ref the native image,
54818         else it will hold on to a stale object.
54819
54820         This still needs to be done for skia, too.
54821
54822         * platform/graphics/chromium/ImageLayerChromium.h:
54823         * platform/graphics/chromium/ImageLayerChromium.cpp:
54824
54825 2010-09-14  Andrey Kosyakov  <caseq@chromium.org>
54826
54827         Reviewed by Yury Semikhatsky.
54828
54829         Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
54830         Added support for resource timings to HAREntry.
54831         https://bugs.webkit.org/show_bug.cgi?id=45663
54832
54833         * inspector/front-end/HAREntry.js:
54834         (WebInspector.HAREntry.prototype._buildTimings):
54835         (WebInspector.HAREntry.prototype._toMilliseconds):
54836         (WebInspector.HAREntry.prototype._interval):
54837
54838 2010-09-14  Kwang Yul Seo  <skyul@company100.net>
54839
54840         Reviewed by Kent Tamura.
54841
54842         [BREWMP] Always set LeftButton in PlatformMouseEvent
54843         https://bugs.webkit.org/show_bug.cgi?id=45705
54844
54845         AEE_POINTER_GET_MOUSE_MODIFIERS always returns 0, so it is impossible to know
54846         which button is pressed or released. The current code erroneously sets NoButton.
54847         Set LeftButton unconditionally because Brew MP usually runs on touch device.
54848
54849         * platform/brew/PlatformMouseEventBrew.cpp:
54850         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
54851
54852 2010-09-14  Yury Semikhatsky  <yurys@chromium.org>
54853
54854         Reviewed by Andreas Kling.
54855
54856         Move DebuggerScript.js from WebKit/chromium/src/js to WebCore/bindings/v8
54857         https://bugs.webkit.org/show_bug.cgi?id=45739
54858
54859         * bindings/v8/DebuggerScript.js: Added.
54860
54861 2010-09-10  Alexander Pavlov  <apavlov@chromium.org>
54862
54863         Reviewed by Pavel Feldman.
54864
54865         Web Inspector: Implement on-demand reporting of empty CSS rules matched for a node by WebCore
54866         https://bugs.webkit.org/show_bug.cgi?id=45530
54867
54868         * css/CSSStyleSelector.cpp:
54869         (WebCore::CSSStyleSelector::matchRules):
54870         (WebCore::CSSStyleSelector::matchRulesForList):
54871         (WebCore::CSSStyleSelector::matchUARules):
54872         (WebCore::CSSStyleSelector::styleForElement):
54873         (WebCore::CSSStyleSelector::pseudoStyleForElement):
54874         (WebCore::CSSStyleSelector::styleRulesForElement):
54875         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
54876         * css/CSSStyleSelector.h:
54877         * inspector/InspectorDOMAgent.cpp:
54878         (WebCore::InspectorDOMAgent::getStyles):
54879         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
54880
54881 2010-09-14  Hyung Song  <beergun@company100.net>
54882
54883         Reviewed by Darin Adler.
54884
54885         [BREWMP] Set m_size in SharedBuffer::createWithContentsOfFile();
54886         https://bugs.webkit.org/show_bug.cgi?id=45701
54887
54888         SharedBuffer::createWithContentsOfFile() reads file content and saves to 
54889         result.m_buffer directly, leaving result.m_size unchanged.
54890
54891         * platform/brew/SharedBufferBrew.cpp:
54892         (WebCore::SharedBuffer::createWithContentsOfFile):
54893
54894 2010-09-14  Adam Barth  <abarth@webkit.org>
54895
54896         Reviewed by Darin Adler.
54897
54898         Move adjustLexerState to the HTMLTokenizer
54899         https://bugs.webkit.org/show_bug.cgi?id=45649
54900
54901         This function used let us share code between the tree builder and the
54902         two other users of the HTMLTokenizer.  However, now that the tree
54903         builder is all grown up, it can't use this code anymore.  The other
54904         users would much rather this code lived on HTMLTokenizer and understood
54905         <script>.  This patch attempts to make them happy.
54906
54907         * html/parser/HTMLPreloadScanner.cpp:
54908         (WebCore::HTMLPreloadScanner::processToken):
54909         * html/parser/HTMLTokenizer.cpp:
54910         (WebCore::HTMLTokenizer::updateStateFor):
54911         * html/parser/HTMLTokenizer.h:
54912         * html/parser/HTMLTreeBuilder.cpp:
54913         (WebCore::HTMLTreeBuilder::scriptEnabled):
54914         * html/parser/HTMLTreeBuilder.h:
54915         * html/parser/HTMLViewSourceParser.cpp:
54916         (WebCore::HTMLViewSourceParser::updateTokenizerState):
54917
54918 2010-09-14  Pierre-Antoine LaFayette  <plafayet@codeaurora.org>
54919
54920         Reviewed by Darin Adler.
54921
54922         REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
54923         https://bugs.webkit.org/show_bug.cgi?id=40142
54924
54925         http://trac.webkit.org/changeset/52839 didn't really deal with the inline replaced element case.  This just generalizes to all inline content.
54926
54927         Patch by: Dave Hyatt
54928
54929         Tests: fast/repaint/block-layout-inline-children-float-positioned.html
54930                fast/repaint/block-layout-inline-children-replaced.html
54931
54932         * rendering/RenderBlockLineLayout.cpp:
54933         (WebCore::RenderBlock::layoutInlineChildren):
54934          
54935 2010-09-14  Balazs Kelemen  <kb@inf.u-szeged.hu>
54936
54937         Reviewed by Andreas Kling.
54938
54939         [Qt] Cookie operations should use NetworkingContext
54940         https://bugs.webkit.org/show_bug.cgi?id=45745
54941         No new functionality so no new tests.
54942
54943         * platform/qt/CookieJarQt.cpp:
54944         (WebCore::cookieJar): Use the NetworkingContext for obtaining the QNetworkAccessManager
54945         instead of directly accessing the FrameLoaderClient.
54946
54947 2010-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
54948
54949         Unreviewed, rolling out r67449.
54950         http://trac.webkit.org/changeset/67449
54951         https://bugs.webkit.org/show_bug.cgi?id=45746
54952
54953         This change makes tree red. (Requested by pfeldman on
54954         #webkit).
54955
54956         * editing/ApplyStyleCommand.cpp:
54957         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
54958         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
54959         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
54960         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown):
54961         * editing/ApplyStyleCommand.h:
54962
54963 2010-09-14  Eric Seidel  <eric@webkit.org>
54964
54965         Unreviewed, reverting changes r67451 and r67451.
54966         Broke lots of builders.
54967
54968         Only intercept ESC key press when autocorrection UI is visible.
54969         https://bugs.webkit.org/show_bug.cgi?id=45071
54970
54971         * editing/Editor.cpp:
54972         * editing/Editor.h:
54973         * editing/EditorCommand.cpp:
54974         (WebCore::createCommandMap):
54975         * loader/EmptyClients.h:
54976         * page/EditorClient.h:
54977
54978 2010-09-14  Kinuko Yasuda  <kinuko@chromium.org>
54979
54980         Unreviewed; an attempt to fix Chromium Windows build.
54981
54982         * fileapi/FileEntry.cpp:
54983
54984 2010-09-13  Andrey Kosyakov  <caseq@chromium.org>
54985
54986         Reviewed by Pavel Feldman.
54987
54988         Web Inspector: provide support for opening external navigation for links within certain elements
54989         Use default handling for clicks on links that have target="_blank".
54990         Add option for external navigation to URL audit formatter.
54991         https://bugs.webkit.org/show_bug.cgi?id=45671
54992
54993         * inspector/front-end/AuditFormatters.js:
54994         (WebInspector.AuditFormatters.url):
54995         * inspector/front-end/inspector.js:
54996
54997 2010-09-14  Dan Bernstein  <mitz@apple.com>
54998
54999         Build fix.
55000
55001         * editing/EditorCommand.cpp:
55002
55003 2010-09-14  Jia Pu  <jpu@apple.com>
55004
55005         Reviewed by Dan Bernstein.
55006
55007         Only intercept ESC key press when autocorrection UI is visible.
55008         https://bugs.webkit.org/show_bug.cgi?id=45071
55009
55010         Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
55011         ESC will cancel current loading like usual.
55012
55013         * editing/Editor.cpp:
55014         (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
55015           panel is shown.
55016
55017         * editing/Editor.h: Added declaration of isShowingCorrectionPanel().
55018
55019         * editing/EditorCommand.cpp:
55020         (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
55021           when autocorrection panel is shown.
55022         (WebCore::createCommandMap): Replaced isSupported function pointer for
55023           executeCancelOperation() command with supportedDismissCorrectionPanel().
55024
55025         * loader/EmptyClients.h:
55026         (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
55027           new member method declared in base class.
55028
55029         * page/EditorClient.h: Declared new member method isShowingCorrectionPanel().
55030
55031 2010-09-14  Kwang Yul Seo  <skyul@company100.net>
55032
55033         Reviewed by Kent Tamura.
55034
55035         [BREWMP] Remove TextBreakIteratorInternalICUBrew.cpp
55036         https://bugs.webkit.org/show_bug.cgi?id=45691
55037
55038         Brew MP no longer depends on ICU for internationalization.
55039         Remove TextBreakIteratorInternalICUBrew.cpp.
55040
55041         * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Removed.
55042
55043 2010-09-14  Ryosuke Niwa  <rniwa@webkit.org>
55044
55045         Reviewed by Tony Chang.
55046
55047         applyInlineStyleToNodeRange does not extend run properly
55048         https://bugs.webkit.org/show_bug.cgi?id=45616
55049
55050         The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
55051         Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
55052         or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
55053         styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
55054         all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.
55055
55056         Test: editing/style/inline-style-extend-run.html
55057
55058         * editing/ApplyStyleCommand.cpp:
55059         (WebCore::containsNonEditableRegion): Added.
55060         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
55061         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
55062         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
55063         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
55064         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
55065         * editing/ApplyStyleCommand.h:
55066
55067 2010-09-13  Yuta Kitamura  <yutak@chromium.org>
55068
55069         Reviewed by Kent Tamura.
55070
55071         Add one #if guard block to fix Qt builds.
55072
55073         Web Inspector: WebSocket in Resources tab
55074         https://bugs.webkit.org/show_bug.cgi?id=40768
55075
55076         * inspector/InspectorResource.cpp:
55077
55078 2010-09-13  Yuta Kitamura  <yutak@chromium.org>
55079
55080         Reviewed by Pavel Feldman.
55081
55082         Add WebSocket resource type to Web Inspector.
55083
55084         When a new WebSocket connection is established, a line for that connection
55085         will appear in Web Inspector's Resources tab. If the resource name is
55086         clicked, the details of handshake request and response will be shown.
55087
55088         Web Inspector: WebSocket in Resources tab
55089         https://bugs.webkit.org/show_bug.cgi?id=40768
55090
55091         * inspector/InspectorController.cpp:
55092         (WebCore::InspectorController::addResource): WebSocket resource does not
55093         have an associated loader, thus frame might be null. Need to check it.
55094         (WebCore::InspectorController::removeResource): Ditto.
55095         (WebCore::InspectorController::didCreateWebSocket):
55096         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
55097         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
55098         (WebCore::InspectorController::didCloseWebSocket):
55099         * inspector/InspectorController.h:
55100         * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
55101         because WebSocket does not have a loader and we need to allow null for
55102         these variables.
55103         (WebCore::createReadableStringFromBinary):
55104         (WebCore::InspectorResource::InspectorResource):
55105         (WebCore::InspectorResource::create): Factory function of
55106         regular (non-WebSocket) resources.
55107         (WebCore::InspectorResource::createWebSocket): Factory function of
55108         WebSocket resources.
55109         (WebCore::InspectorResource::updateWebSocketRequest):
55110         (WebCore::InspectorResource::updateWebSocketResponse):
55111         (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
55112         available when Frame::setDocument() is called. We cannot obtain documentURL
55113         during the constructor or updateRequest() function, because m_frame->document()
55114         is not available yet at that point and documentURL will contain a wrong URL.
55115         As far as I know, updateScriptObject() is the only place where we can safely
55116         obtain documentURL.
55117         (WebCore::InspectorResource::cachedResource):
55118         (WebCore::InspectorResource::type):
55119         (WebCore::InspectorResource::resourceData):
55120         * inspector/InspectorResource.h:
55121         (WebCore::InspectorResource::):
55122         (WebCore::InspectorResource::markWebSocket):
55123         * inspector/front-end/Resource.js:
55124         (WebInspector.Resource.Type.toString):
55125         (WebInspector.Resource.prototype.set type):
55126         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
55127         * inspector/front-end/ResourceView.js:
55128         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
55129         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
55130         (WebInspector.ResourceView.prototype._refreshHeaders):
55131         * inspector/front-end/inspector.css:
55132         (.resources-category-websockets, .resources-category-other):
55133         (.resources-category-websockets .resources-graph-bar):
55134         (.resources-category-websockets.resource-cached .resources-graph-bar):
55135         * inspector/front-end/inspector.js:
55136         (WebInspector.loaded):
55137         (WebInspector.updateResource):
55138         * websockets/WebSocketChannel.cpp:
55139         (WebCore::WebSocketChannel::WebSocketChannel):
55140         (WebCore::WebSocketChannel::disconnect):
55141         (WebCore::WebSocketChannel::didOpen):
55142         (WebCore::WebSocketChannel::didClose):
55143         (WebCore::WebSocketChannel::processBuffer):
55144         (WebCore::WebSocketChannel::identifier):
55145         * websockets/WebSocketChannel.h:
55146
55147 2010-09-13  W. James MacLean  <wjmaclean@google.com>
55148
55149         Reviewed by Darin Fisher.
55150
55151         [chromium] Thumbnails not generated for GPU Rendered Pages
55152         https://bugs.webkit.org/show_bug.cgi?id=44127
55153
55154         Replicates existing functionality, use existing tests.
55155         Adds pixel-readback for GPU composited pages to allow for thumbnailing,
55156         printing and other services to work with GPU rendered pages.
55157
55158         * platform/graphics/chromium/LayerRendererChromium.cpp:
55159         (WebCore::LayerRendererChromium::getFramebufferPixels):
55160         * platform/graphics/chromium/LayerRendererChromium.h:
55161         (WebCore::LayerRendererChromium::rootLayerTextureSize):
55162
55163 2010-09-13  Kinuko Yasuda  <kinuko@chromium.org>
55164
55165         Unreviewed, build fix for Gtk.
55166
55167         * bindings/js/JSEntryCustom.cpp:
55168
55169 2010-09-13  Kinuko Yasuda  <kinuko@chromium.org>
55170
55171         Reviewed by Adam Barth.
55172
55173         Make FileEntry and DirectoryEntry methods accessible via Entry instance
55174         https://bugs.webkit.org/show_bug.cgi?id=45553
55175
55176         FileEntry- and DirectoryEntry- specific methods must be available on Entry object based on its internal type.
55177
55178         Added custom toJS/toV8 implementation to Entry interface.
55179
55180         No new tests; test will be added later when we have complete implementation for the API.
55181
55182         * CMakeLists.txt:
55183         * GNUmakefile.am:
55184         * WebCore.gypi:
55185         * WebCore.pro:
55186         * WebCore.vcproj/WebCore.vcproj:
55187         * WebCore.xcodeproj/project.pbxproj:
55188         * bindings/js/JSEntryCustom.cpp: Added.
55189         (WebCore::toJS):
55190         * bindings/v8/custom/V8EntryCustom.cpp: Added.
55191         (WebCore::toV8):
55192         * fileapi/DirectoryEntry.h: Nits fix.
55193         * fileapi/DirectoryEntry.idl: Added ConvertUndefinedOrNullToString to path parameter.
55194         * fileapi/Entry.idl: Added CustomToJS attribute.
55195         * fileapi/FileEntry.cpp:
55196         (WebCore::FileEntry::createWriter):
55197         (WebCore::FileEntry::file):
55198         * fileapi/FileEntry.h:
55199         * fileapi/FileEntry.idl:
55200
55201 2010-09-13  Ryosuke Niwa  <rniwa@webkit.org>
55202
55203         Reviewed by Darin Adler.
55204
55205         REGRESSION: In Gmail, a crash occurs at getDoubleValue() when applying a text color to a new line
55206         https://bugs.webkit.org/show_bug.cgi?id=45632
55207
55208         Test: editing/execCommand/query-font-size-with-typing-style.html
55209
55210         The crash was caused by selectionStartCSSPropertyValue's deleting nodeToRemove before
55211         retrieving the font-size property. Fixed the bug by moving the removal code to the end of the function.
55212
55213         * editing/Editor.cpp:
55214         (WebCore::Editor::selectionStartCSSPropertyValue):
55215
55216 2010-09-13  Kwang Yul Seo  <skyul@company100.net>
55217
55218         Reviewed by Darin Adler.
55219
55220         [BREWMP] Remove WebCore namespace in SSLKeyGeneratorBrew.cpp
55221         https://bugs.webkit.org/show_bug.cgi?id=45690
55222
55223         WebCore namespace is not required because getSupportedKeySizes and signedPublicKeyAndChallengeString are already
55224         in namespace WebCore block.
55225
55226         * platform/brew/SSLKeyGeneratorBrew.cpp:
55227         (WebCore::getSupportedKeySizes):
55228         (WebCore::signedPublicKeyAndChallengeString):
55229
55230 2010-09-13  Mario Sanchez Prada  <msanchez@igalia.com>
55231
55232         Reviewed by Martin Robinson.
55233
55234         [GTK] Code simplification needed in Atk Wrapper
55235         https://bugs.webkit.org/show_bug.cgi?id=45687
55236
55237         Use TextIterator::rangeLength() to calculate endOffset
55238
55239         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
55240         (getSelectionOffsetsForObject): Don't manually iterate over a
55241         artificial new range but just call TextIterator::rangeLength on
55242         the range created between the start and end positions.
55243
55244 2010-09-13  Sam Weinig  <sam@webkit.org>
55245
55246         Reviewed by Alice Liu.
55247
55248         Clean up xcode project.
55249
55250         * WebCore.xcodeproj/project.pbxproj:
55251
55252 2010-09-13  Eric Carlson  <eric.carlson@apple.com>
55253
55254         Reviewed by Geoff Garen.
55255
55256         JavaScript dialog should not deactivate media element
55257         https://bugs.webkit.org/show_bug.cgi?id=45688
55258
55259         Test: http/tests/media/reload-after-dialog.html
55260
55261         * bindings/generic/ActiveDOMCallback.cpp:
55262         (WebCore::ActiveDOMObjectCallbackImpl::suspend): Add ReasonForSuspension parameter.
55263
55264         * bindings/js/ScriptDebugServer.cpp:
55265         (WebCore::ScriptDebugServer::setJavaScriptPaused): Pass new parameter to suspendActiveDOMObjects.
55266
55267         * dom/ActiveDOMObject.cpp:
55268         (WebCore::ActiveDOMObject::suspend): Add ReasonForSuspension parameter.
55269         * dom/ActiveDOMObject.h:
55270
55271         * dom/ScriptExecutionContext.cpp:
55272         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Ditto.
55273         * dom/ScriptExecutionContext.h:
55274
55275         * history/CachedFrame.cpp:
55276         (WebCore::CachedFrame::CachedFrame): Pass new parameter to suspendActiveDOMObjects.
55277
55278         * html/HTMLMarqueeElement.cpp:
55279         (WebCore::HTMLMarqueeElement::suspend): Add ReasonForSuspension parameter.
55280         * html/HTMLMarqueeElement.h:
55281
55282         * html/HTMLMediaElement.cpp:
55283         (WebCore::HTMLMediaElement::stop): Deal with element being suspended.
55284         (WebCore::HTMLMediaElement::suspend): Do nothing unless reason for suspension is document
55285         becoming inactive.
55286         * html/HTMLMediaElement.h:
55287
55288         * page/PageGroupLoadDeferrer.cpp:
55289         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Pass WillShowDialog to suspendActiveDOMObjects.
55290
55291         * page/SuspendableTimer.cpp:
55292         (WebCore::SuspendableTimer::suspend): Add ReasonForSuspension parameter.
55293         * page/SuspendableTimer.h:
55294
55295         * websockets/WebSocket.cpp:
55296         (WebCore::WebSocket::suspend): Ditto.
55297         * websockets/WebSocket.h:
55298
55299         * xml/XMLHttpRequest.cpp:
55300         (WebCore::XMLHttpRequest::suspend): Ditto.
55301         * xml/XMLHttpRequest.h:
55302
55303 2010-09-13  Sam Weinig  <sam@webkit.org>
55304
55305         Fix the mac build.
55306
55307         * page/mac/EventHandlerMac.mm:
55308         (WebCore::EventHandler::passMousePressEventToSubframe):
55309
55310 2010-09-13  Sam Weinig  <sam@webkit.org>
55311
55312         Reviewed by Anders Carlsson.
55313
55314         Can't scroll on Bugzilla patch review pages on Mac with WebKit2
55315         https://bugs.webkit.org/show_bug.cgi?id=43555
55316
55317         <rdar://problem/8421386> WebKit2: gmail.com is completely unresponsive to clicks
55318         <rdar://problem/8276298> Can't scroll on Bugzilla patch review pages on Mac with WebKit2 (43555)
55319
55320         * page/mac/EventHandlerMac.mm:
55321         (WebCore::EventHandler::passWheelEventToWidget):
55322         (WebCore::frameHasPlatformWidget):
55323         (WebCore::EventHandler::passMousePressEventToSubframe):
55324         (WebCore::EventHandler::passMouseMoveEventToSubframe):
55325         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
55326         Add WebKit2 mode for these functions based on the presence of a platform widget for a
55327         FrameView.
55328
55329 2010-09-13  Patrick Gansterer  <paroga@paroga.com>
55330
55331         Reviewed by Kenneth Rohde Christiansen.
55332
55333         [WINCE] Buildfix for ViewportArguments.cpp
55334         https://bugs.webkit.org/show_bug.cgi?id=45678
55335
55336         Use fabs() instead of abs().
55337         This patch also fixes the return value, when
55338         the value is between -1 and 1.
55339
55340         * dom/ViewportArguments.cpp:
55341         (WebCore::findUserScalableValue):
55342
55343 2010-09-13  Darin Adler  <darin@apple.com>
55344
55345         Reviewed by Adam Barth.
55346
55347         Preparation for eliminating deprecatedParseURL
55348         https://bugs.webkit.org/show_bug.cgi?id=45695
55349
55350         Added new HTMLParserIdioms source file, with a name inspired by the HTML
55351         specification, which has a section defining things like "space character"
55352         that talks about common parser idioms. These are idioms for the main HTML
55353         parser and for parsers for various microlanguages as well.
55354
55355         * Android.mk:
55356         * CMakeLists.txt:
55357         * GNUmakefile.am:
55358         * WebCore.gypi:
55359         * WebCore.pro:
55360         * WebCore.vcproj/WebCore.vcproj:
55361         * WebCore.xcodeproj/project.pbxproj:
55362         Added HTMLParserIdioms.
55363
55364         * css/CSSHelper.h: Fixed indentation and comments here. Point to the new
55365         stripLeadingAndTrailingHTMLSpaces function.
55366
55367         * html/parser/HTMLParserIdioms.cpp: Added.
55368         * html/parser/HTMLParserIdioms.h: Added.
55369
55370         * html/parser/HTMLTreeBuilder.cpp:
55371         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
55372         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
55373         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
55374         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
55375         Updated for name changes.
55376
55377         * html/parser/HTMLTreeBuilder.h: Moved functions to HTMLParserIdioms.h.
55378
55379         * html/HTMLInputElement.cpp:
55380         * html/HTMLMeterElement.cpp:
55381         * html/HTMLProgressElement.cpp:
55382         * html/StepRange.cpp:
55383         * rendering/RenderSlider.cpp:
55384         Updated includes.
55385
55386         * svg/SVGImageLoader.cpp:
55387         (WebCore::SVGImageLoader::sourceURI): Fixed incorrect use of deprecatedParseURL.
55388         This is for use on the attribute value before building the URL, not on the URL
55389         after building it. I did not add a test case; this is an obscure corner and soon
55390         we will be moving to stripLeadingAndTrailingHTMLSpaces anyway.
55391         * wml/WMLImageLoader.cpp:
55392         (WebCore::WMLImageLoader::sourceURI): Ditto.
55393
55394 2010-09-13  Chris Fleizach  <cfleizach@apple.com>
55395
55396         Reviewed by Darin Adler.
55397
55398         AX: REGRESSION: WebKit does not report label of web popup buttons
55399         https://bugs.webkit.org/show_bug.cgi?id=45715
55400
55401         Test: platform/mac/accessibility/popup-button-title.html
55402
55403         * WebCore.xcodeproj/project.pbxproj:
55404         * accessibility/AccessibilityRenderObject.cpp:
55405         (WebCore::AccessibilityRenderObject::title):
55406
55407 2010-09-13  Kinuko Yasuda  <kinuko@chromium.org>
55408
55409         Reviewed by Dumitru Daniliuc.
55410
55411         Expose Flags constructor if FileSystem API is Enabled
55412         https://bugs.webkit.org/show_bug.cgi?id=45165
55413
55414         This change also includes:
55415         - Changed Flags' attribute names from UPPERCASE to camelCase to reflect the recent spec change.
55416           http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-interface
55417         - Enhanced EnabledAtRuntime attribute to take parameter that is used to generate a RuntimeEnabledFeatures method name.
55418
55419         No new tests; tests will be added when we fully expose the interface.
55420
55421         * bindings/v8/V8DOMWindowCustom.cpp: Added custom getter for FlagsConstructor.
55422         * fileapi/Flags.idl: Changed attribute names to camelCase.
55423         * page/DOMWindow.idl: Exposed Flags constructor.
55424
55425         * bindings/scripts/CodeGenerator.pm: Updated the WK_lcfirst hack to work around getter method for 'create' (create() should be avoided as it's widely used to instantiate an object).
55426         * bindings/scripts/CodeGeneratorV8.pm: Added EnabledAtRuntime=FeatureName support.
55427         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
55428         (WebDOMTestObj::create):
55429         (WebDOMTestObj::setCreate):
55430         * bindings/scripts/test/CPP/WebDOMTestObj.h:
55431         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
55432         (webkit_dom_test_obj_set_property):
55433         (webkit_dom_test_obj_get_property):
55434         (webkit_dom_test_obj_class_init):
55435         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
55436         * bindings/scripts/test/JS/JSTestObj.cpp:
55437         * bindings/scripts/test/ObjC/DOMTestObj.h:
55438         * bindings/scripts/test/ObjC/DOMTestObj.mm:
55439         * bindings/scripts/test/TestObj.idl:
55440         * bindings/scripts/test/V8/V8TestObj.cpp:
55441         (WebCore::TestObjInternal::createAttrGetter):
55442         (WebCore::TestObjInternal::createAttrSetter):
55443         (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrGetter):
55444         (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrSetter):
55445         (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrGetter):
55446         (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrSetter):
55447         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
55448         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
55449         (WebCore::ConfigureV8TestObjTemplate):
55450
55451 2010-09-13  Adam Barth  <abarth@webkit.org>
55452
55453         Reviewed by Darin Adler.
55454
55455         "Implement" EOF processing in AfterBodyMode and AfterAfterBodyMode
55456         https://bugs.webkit.org/show_bug.cgi?id=45647
55457
55458         Implements the notImplemented by doing nothing, which is the proper
55459         behavior according to the spec.
55460
55461         * html/parser/HTMLTreeBuilder.cpp:
55462         (WebCore::HTMLTreeBuilder::processEndOfFile):
55463
55464 2010-09-13  Adam Barth  <abarth@webkit.org>
55465
55466         Reviewed by Darin Adler.
55467
55468         More trivial EOF handling in tree builder
55469         https://bugs.webkit.org/show_bug.cgi?id=45648
55470
55471         The spec says to treat these modes like the InBodyMode, which is what
55472         this patch does.  Doing so is indistinguishable from our current
55473         behavior, which is why we didn't catch this based on tests.
55474
55475         * html/parser/HTMLTreeBuilder.cpp:
55476         (WebCore::HTMLTreeBuilder::processEndOfFile):
55477
55478 2010-09-13  James Robinson  <jamesr@chromium.org>
55479
55480         Reviewed by Kenneth Russell.
55481
55482         SharedGraphicsContext3D's texture cache holds on to images after free
55483         https://bugs.webkit.org/show_bug.cgi?id=45706
55484
55485         Each SharedGraphicsContext3D keeps a cache of uploaded textures keyed by NativeImagePtrs.
55486         Whenever the backing native image is deleted it needs to let the SharedGraphicsContext3D know
55487         so that the cache entry and associated texture can also be removed.
55488
55489         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
55490         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
55491         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
55492         (WebCore::SharedGraphicsContext3D::removeTextureFor):
55493         (WebCore::SharedGraphicsContext3D::removeTexturesFor):
55494         (WebCore::SharedGraphicsContext3D::allContexts):
55495         * platform/graphics/gpu/SharedGraphicsContext3D.h:
55496         * platform/graphics/skia/NativeImageSkia.cpp:
55497         (WebCore::NativeImageSkia::~NativeImageSkia):
55498         * platform/graphics/skia/NativeImageSkia.h:
55499
55500 2010-09-13  Chris Fleizach  <cfleizach@apple.com>
55501
55502         Reviewed by David Kilzer.
55503
55504         AX: accessibilityIsIgnored is returning nil when return value expects a BOOL
55505         https://bugs.webkit.org/show_bug.cgi?id=45548
55506
55507         Test: platform/mac/accessibility/element-is-ignored.html
55508
55509         * accessibility/mac/AccessibilityObjectWrapper.mm:
55510         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
55511
55512 2010-09-13  Chris Fleizach  <cfleizach@apple.com>
55513
55514         Reviewed by Darin Adler.
55515
55516         CrashTracer: 874 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 663
55517         https://bugs.webkit.org/show_bug.cgi?id=45697
55518
55519         Inside of AccessibilityTableRow, parentTable() should not use getOrCreate() on the parent table, because the render table may
55520         be in a bad state and accessing internal variables can lead to a crash.
55521
55522         Test: platform/mac/accessibility/updating-attribute-in-table-row-crash.html
55523
55524         * accessibility/AccessibilityTableRow.cpp:
55525         (WebCore::AccessibilityTableRow::parentTable):
55526
55527 2010-09-13  Adam Barth  <abarth@webkit.org>
55528
55529         Reviewed by Eric Seidel.
55530
55531         Implement EOF handling in TextMode
55532         https://bugs.webkit.org/show_bug.cgi?id=45644
55533
55534         This patch is actually covered by a bunch of tests.  We were just
55535         magically passing the tests before because of some nutty code in
55536         Document.cpp.
55537
55538         * dom/Document.cpp:
55539         (WebCore::Document::implicitClose):
55540             - This code was masking the notImplemented in the tree builder.
55541               I also removed the use of the setting because it wasn't working
55542               properly anyway.  I'll implement a working version shortly.
55543         * html/parser/HTMLTreeBuilder.cpp:
55544         (WebCore::HTMLTreeBuilder::processEndOfFile):
55545             - Implement per the spec.
55546
55547 2010-09-13  Enrica Casucci  <enrica@apple.com>
55548
55549         Reviewed by Sam Weining.
55550
55551         Paste should be implemented in WebCore like Copy and Cut for Mac also.
55552         https://bugs.webkit.org/show_bug.cgi?id=45494
55553         <rdar://problem/7660537>
55554
55555         On the Mac platform, the implementation of the paste operation is all done
55556         at the WebKit level. In order to support it on WebKit2 it is necessary to
55557         refactor the code and move this functionality at the level of WebCore like
55558         we already have on Windows.
55559         The original code relies on some in AppKit functions that call back into
55560         WebKit causing problems in WebKit2. All this functionality has been moved
55561         at the level of the editor client where it can be dealt with appropriately.
55562
55563         * editing/Editor.cpp:
55564         (WebCore::Editor::shouldInsertFragment):
55565         * editing/mac/EditorMac.mm: extended to support Mail specific scenarios.
55566         (WebCore::Editor::pasteWithPasteboard):
55567         * loader/EmptyClients.h:
55568         (WebCore::EmptyFrameLoaderClient::canShowMIMETypeAsHTML): Added.
55569         (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Added.
55570         (WebCore::EmptyEditorClient::setInsertionPasteboard): Added to support Mail.
55571         * loader/FrameLoaderClient.h:
55572         * page/EditorClient.h:
55573         * platform/Pasteboard.h:
55574         * platform/mac/PasteboardMac.mm:
55575         (WebCore::Pasteboard::writeSelection): replaced call to Appkit with one that
55576         doesn't calll back into WebKit.
55577         (WebCore::Pasteboard::documentFragmentWithImageResource): Re-implemented at the
55578         WebCore level.
55579         (WebCore::Pasteboard::documentFragmentWithRtf): Re-implemented at the
55580         WebCore level.
55581         (WebCore::uniqueURLWithRelativePart): Added.
55582         (WebCore::Pasteboard::documentFragment): Extended to include all the functionality
55583         provided in documentFragmentFromPasteboard in WebHTMLView.mm.
55584
55585 2010-09-13  Alejandro G. Castro  <alex@igalia.com>
55586
55587         Reviewed by Kenneth Rohde Christiansen.
55588
55589         [Gtk] Reduce the size of the shadow buffer in the paths using the clip region
55590         https://bugs.webkit.org/show_bug.cgi?id=44699
55591
55592         Intersect the clip bounding rect with the path that we are going
55593         to use to create the shadow in order to reduce the region we have
55594         to blur.
55595
55596         * platform/graphics/cairo/GraphicsContextCairo.cpp:
55597         (WebCore::drawPathShadow):
55598
55599 210-09-13  Darin Fisher  <darin@chromium.org>
55600
55601         Reviewed by David Levin.
55602
55603         Add option to conditionally compile smooth scrolling support.
55604         https://bugs.webkit.org/show_bug.cgi?id=45689
55605
55606         The OS(WINDOWS) conditional becomes unnecessary since
55607         ENABLE(SMOOTH_SCROLLING) should only be specified on
55608         platforms that have a smooth scrolling implementation.
55609
55610         * platform/ScrollAnimator.cpp:
55611         * platform/ScrollAnimatorWin.cpp:
55612         * platform/ScrollAnimatorWin.h:
55613
55614 2010-09-13  Ryosuke Niwa  <rniwa@webkit.org>
55615
55616         Reviewed by Kent Tamura.
55617
55618         Move functions of StyledMarkupAccumulator below that of MarkupAccumulator
55619         https://bugs.webkit.org/show_bug.cgi?id=45624
55620
55621         Moved the declaration of StyledMarkupAccumulator and the definitions of its member functions
55622         to below the definitions of MarkupAccumulator's member functions.
55623
55624         No new tests are added since this is a cleanup.
55625
55626         * editing/markup.cpp:
55627         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
55628         (WebCore::StyledMarkupAccumulator::appendElement):
55629         (WebCore::StyledMarkupAccumulator::shouldAnnotate):
55630         (WebCore::StyledMarkupAccumulator::wrapWithNode):
55631         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
55632         (WebCore::StyledMarkupAccumulator::takeResults):
55633         (WebCore::StyledMarkupAccumulator::appendText):
55634         (WebCore::StyledMarkupAccumulator::renderedText):
55635         (WebCore::StyledMarkupAccumulator::stringValueForRange):
55636         (WebCore::styleFromMatchedRulesForElement):
55637         (WebCore::StyledMarkupAccumulator::removeExteriorStyles):
55638         (WebCore::needInterchangeNewlineAfter):
55639         (WebCore::styleFromMatchedRulesAndInlineDecl):
55640         (WebCore::removeEnclosingMailBlockquoteStyle):
55641         (WebCore::removeDefaultStyles):
55642
55643 2010-09-13  Alejandro G. Castro  <alex@igalia.com>
55644
55645         Reviewed by Martin Robinson.
55646
55647         [GTK] Leak in the GraphicsContextCairo drawPathShadow
55648         https://bugs.webkit.org/show_bug.cgi?id=44959
55649
55650         Fix a leak of the cairo_path.
55651
55652         * platform/graphics/cairo/GraphicsContextCairo.cpp:
55653         (WebCore::drawPathShadow):
55654         * platform/graphics/cairo/OwnPtrCairo.cpp:
55655         (WTF::cairo_path_t):
55656         * platform/graphics/cairo/OwnPtrCairo.h:
55657
55658 2010-09-13  Adam Barth  <abarth@webkit.org>
55659
55660         Reviewed by Darin Adler.
55661
55662         Fix </sarcasm>
55663         https://bugs.webkit.org/show_bug.cgi?id=45645
55664
55665         Umm... Yeah.
55666
55667         * html/parser/HTMLTreeBuilder.cpp:
55668         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
55669
55670 2010-09-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
55671
55672         Reviewed by Darin Adler.
55673
55674         [WML] Fix build breaks when WML is enabled
55675         https://bugs.webkit.org/show_bug.cgi?id=45628
55676
55677         There are build breaks by Bug 22382 when WML is enabled. The handleLinkClick() has an event parameter.
55678         So, we need to set an event when wml invoke the handleLinkClick(). And, doTextFieldCommandFromEvent()
55679         was moved to editor. So, we need to mofidy the invocation in WMLInputElement.cpp 
55680
55681         * wml/WMLAElement.cpp:
55682         (WebCore::WMLAElement::defaultEventHandler):
55683         * wml/WMLInputElement.cpp:
55684         (WebCore::WMLInputElement::defaultEventHandler):
55685
55686 2010-09-13  Martin Robinson  <mrobinson@igalia.com>
55687
55688         Reviewed by Xan Lopez.
55689
55690         [GTK] When a feature is disabled by default, the source necessary to build it are not included in the distribution
55691         https://bugs.webkit.org/show_bug.cgi?id=45230
55692
55693         No new tests as this is just a build change.
55694
55695         * GNUmakefile.am: Move as many sources as possible to the SOURCES primary.
55696         Others should be moved over time as we solve issues with them.
55697
55698 2010-09-13  Chris Fleizach  <cfleizach@apple.com>
55699
55700         Reviewed by Darin Adler.
55701
55702         REGRESSION (r64816-r64889): Crash in WebCore::AccessibilityRenderObject
55703         https://bugs.webkit.org/show_bug.cgi?id=43807
55704
55705         Ensure that visiblePositionForPoint can handle non RenderBoxModelObject types.
55706
55707         Test: platform/mac/accessibility/visible-position-crash-for-text-node.html
55708
55709         * accessibility/AccessibilityRenderObject.cpp:
55710         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
55711
55712 2010-09-13  Martin Robinson  <mrobinson@igalia.com>
55713
55714         Reviewed by Andreas Kling.
55715
55716         [Qt] DOM listeners get wrong keycodes for some keys
55717         https://bugs.webkit.org/show_bug.cgi?id=43365
55718
55719         Produce the proper keycodes for the print screen key as well as the
55720         keypad insert and delete keys.
55721
55722         * platform/qt/PlatformKeyboardEventQt.cpp:
55723         (WebCore::windowsKeyCodeForKeyEvent): Fix keycode translation for the mentioned keys.
55724
55725 2010-09-13  Jonathan Dixon  <joth@chromium.org>
55726
55727         Reviewed by Steve Block.
55728
55729         [chromium] Port test shell geolocation fixes to DRT
55730         https://bugs.webkit.org/show_bug.cgi?id=45313
55731
55732         Also re-apply rolled out patch http://trac.webkit.org/changeset/66886 :-
55733         Add missing virtual destructor to the abstract base class.
55734
55735         * platform/chromium/GeolocationServiceChromium.cpp:
55736         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
55737         * platform/chromium/GeolocationServiceChromium.h:
55738
55739 2010-09-13  Yury Semikhatsky  <yurys@chromium.org>
55740
55741         Reviewed by Pavel Feldman.
55742
55743         Web Inspector: upstream testExpandScope debugger test
55744         https://bugs.webkit.org/show_bug.cgi?id=45260
55745
55746         Test: inspector/debugger-expand-scope.html
55747
55748         * inspector/front-end/InjectedScript.js: return "Arguments" as class name for arguments variable in v8.
55749         (injectedScriptConstructor.):
55750
55751 2010-09-13  Mario Sanchez Prada  <msanchez@igalia.com>
55752
55753         Reviewed by Martin Robinson.
55754
55755         [GTK] ATs should be able to select/unselect text
55756         https://bugs.webkit.org/show_bug.cgi?id=25673
55757
55758         Implement AtkText's setSelection and removeSelection functions
55759
55760         * accessibility/AccessibilityObject.cpp:
55761         (WebCore::AccessibilityObject::visiblePositionRangeForRange):
55762         Moved some GTK specific code from a ifdef-endif region to
55763         AccessibilityObjectAtk.cpp
55764         * accessibility/AccessibilityObject.h:
55765         * accessibility/gtk/AccessibilityObjectAtk.cpp:
55766         (WebCore::AccessibilityObject::getLengthForTextRange): New.
55767         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
55768         (webkit_accessible_text_remove_selection): Implemented following
55769         the lead of GAIL's implementation of the AtkText interface.
55770         (webkit_accessible_text_set_selection): Implemented following
55771         the lead of GAIL's implementation of the AtkText interface.
55772         (webkit_accessible_text_set_caret_offset): Changed to directly use
55773         visiblePositionRangeForRange now that there's no longer a problem
55774         with that, as it was in the past (only worked for text controls).
55775
55776 2010-08-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
55777
55778         Reviewed by Antti Koivisto.
55779
55780         Update support for the viewport meta tag algorithm, to
55781         match the following draft spec:
55782
55783         http://people.opera.com/rune/TR/ED-css-viewport-20100806/
55784
55785         Add common handling of viewport meta tag based on new Opera spec
55786         https://bugs.webkit.org/show_bug.cgi?id=44201
55787
55788         Tests: fast/viewport/viewport-1.html
55789                fast/viewport/viewport-10.html
55790                fast/viewport/viewport-100.html
55791                fast/viewport/viewport-101.html
55792                fast/viewport/viewport-102.html
55793                fast/viewport/viewport-103.html
55794                fast/viewport/viewport-104.html
55795                fast/viewport/viewport-105.html
55796                fast/viewport/viewport-106.html
55797                fast/viewport/viewport-107.html
55798                fast/viewport/viewport-108.html
55799                fast/viewport/viewport-109.html
55800                fast/viewport/viewport-11.html
55801                fast/viewport/viewport-110.html
55802                fast/viewport/viewport-111.html
55803                fast/viewport/viewport-112.html
55804                fast/viewport/viewport-113.html
55805                fast/viewport/viewport-114.html
55806                fast/viewport/viewport-115.html
55807                fast/viewport/viewport-116.html
55808                fast/viewport/viewport-117.html
55809                fast/viewport/viewport-118.html
55810                fast/viewport/viewport-119.html
55811                fast/viewport/viewport-12.html
55812                fast/viewport/viewport-120.html
55813                fast/viewport/viewport-121.html
55814                fast/viewport/viewport-122.html
55815                fast/viewport/viewport-123.html
55816                fast/viewport/viewport-124.html
55817                fast/viewport/viewport-125.html
55818                fast/viewport/viewport-126.html
55819                fast/viewport/viewport-127.html
55820                fast/viewport/viewport-13.html
55821                fast/viewport/viewport-14.html
55822                fast/viewport/viewport-15.html
55823                fast/viewport/viewport-16.html
55824                fast/viewport/viewport-17.html
55825                fast/viewport/viewport-18.html
55826                fast/viewport/viewport-19.html
55827                fast/viewport/viewport-2.html
55828                fast/viewport/viewport-20.html
55829                fast/viewport/viewport-21.html
55830                fast/viewport/viewport-22.html
55831                fast/viewport/viewport-23.html
55832                fast/viewport/viewport-24.html
55833                fast/viewport/viewport-25.html
55834                fast/viewport/viewport-26.html
55835                fast/viewport/viewport-27.html
55836                fast/viewport/viewport-28.html
55837                fast/viewport/viewport-29.html
55838                fast/viewport/viewport-3.html
55839                fast/viewport/viewport-30.html
55840                fast/viewport/viewport-31.html
55841                fast/viewport/viewport-32.html
55842                fast/viewport/viewport-33.html
55843                fast/viewport/viewport-34.html
55844                fast/viewport/viewport-35.html
55845                fast/viewport/viewport-36.html
55846                fast/viewport/viewport-37.html
55847                fast/viewport/viewport-38.html
55848                fast/viewport/viewport-39.html
55849                fast/viewport/viewport-4.html
55850                fast/viewport/viewport-40.html
55851                fast/viewport/viewport-41.html
55852                fast/viewport/viewport-42.html
55853                fast/viewport/viewport-43.html
55854                fast/viewport/viewport-44.html
55855                fast/viewport/viewport-45.html
55856                fast/viewport/viewport-46.html
55857                fast/viewport/viewport-47.html
55858                fast/viewport/viewport-48.html
55859                fast/viewport/viewport-49.html
55860                fast/viewport/viewport-5.html
55861                fast/viewport/viewport-50.html
55862                fast/viewport/viewport-51.html
55863                fast/viewport/viewport-52.html
55864                fast/viewport/viewport-53.html
55865                fast/viewport/viewport-54.html
55866                fast/viewport/viewport-55.html
55867                fast/viewport/viewport-56.html
55868                fast/viewport/viewport-57.html
55869                fast/viewport/viewport-58.html
55870                fast/viewport/viewport-59.html
55871                fast/viewport/viewport-6.html
55872                fast/viewport/viewport-60.html
55873                fast/viewport/viewport-61.html
55874                fast/viewport/viewport-62.html
55875                fast/viewport/viewport-63.html
55876                fast/viewport/viewport-64.html
55877                fast/viewport/viewport-65.html
55878                fast/viewport/viewport-66.html
55879                fast/viewport/viewport-67.html
55880                fast/viewport/viewport-68.html
55881                fast/viewport/viewport-69.html
55882                fast/viewport/viewport-7.html
55883                fast/viewport/viewport-70.html
55884                fast/viewport/viewport-71.html
55885                fast/viewport/viewport-72.html
55886                fast/viewport/viewport-73.html
55887                fast/viewport/viewport-74.html
55888                fast/viewport/viewport-75.html
55889                fast/viewport/viewport-76.html
55890                fast/viewport/viewport-77.html
55891                fast/viewport/viewport-78.html
55892                fast/viewport/viewport-79.html
55893                fast/viewport/viewport-8.html
55894                fast/viewport/viewport-80.html
55895                fast/viewport/viewport-81.html
55896                fast/viewport/viewport-82.html
55897                fast/viewport/viewport-83.html
55898                fast/viewport/viewport-84.html
55899                fast/viewport/viewport-85.html
55900                fast/viewport/viewport-86.html
55901                fast/viewport/viewport-87.html
55902                fast/viewport/viewport-88.html
55903                fast/viewport/viewport-9.html
55904                fast/viewport/viewport-90.html
55905
55906         * dom/ViewportArguments.cpp:
55907         (WebCore::findConfigurationForViewportData):
55908         (WebCore::findSizeValue):
55909         (WebCore::findScaleValue):
55910         (WebCore::findUserScalableValue):
55911         (WebCore::findTargetDensityDPIValue):
55912         (WebCore::setViewportFeature):
55913         * dom/ViewportArguments.h:
55914         (WebCore::ViewportArguments::):
55915         (WebCore::ViewportArguments::ViewportArguments):
55916         (WebCore::ViewportArguments::hasCustomArgument):
55917
55918 2010-09-13  Andreas Kling  <andreas.kling@nokia.com>
55919
55920         Reviewed by Kenneth Rohde Christiansen.
55921
55922         [Qt] Don't add empty strings to list of supported image MIME types
55923         https://bugs.webkit.org/show_bug.cgi?id=45643
55924
55925         After <http://trac.webkit.org/changeset/67355> getMIMETypeForExtension()
55926         returns an empty string instead of "application/octet-stream" for unsupported
55927         extensions. Don't add these to the list of supported types, and clean out
55928         the logic that removed "application/octet-stream" from supported types.
55929
55930         Fixes crash in initializeMIMETypeRegistry() due to inserting String() into
55931         a HashSet<String>.
55932
55933         * platform/MIMETypeRegistry.cpp:
55934         (WebCore::initializeSupportedImageMIMETypes):
55935         (WebCore::initializeSupportedImageMIMETypesForEncoding):
55936
55937 2010-09-13  Adam Barth  <abarth@webkit.org>
55938
55939         Attempted Qt build fix.
55940
55941         * html/parser/HTMLElementStack.cpp:
55942
55943 2010-09-13  Adam Barth  <abarth@webkit.org>
55944
55945         Reviewed by Eric Seidel.
55946
55947         Apply spec changes to InForeignContentMode
55948         https://bugs.webkit.org/show_bug.cgi?id=45636
55949
55950         Now breaking out of foreign content doesn't always bring you back to
55951         HTML.  If you have a foreign content element that can contain HTML, you
55952         just get brought back to that element.
55953
55954         * html/parser/HTMLElementStack.cpp:
55955         (WebCore::HTMLNames::isForeignContentScopeMarker):
55956         (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
55957         * html/parser/HTMLElementStack.h:
55958         * html/parser/HTMLTreeBuilder.cpp:
55959         (WebCore::HTMLTreeBuilder::processStartTag):
55960         (WebCore::HTMLTreeBuilder::processEndOfFile):
55961
55962 2010-09-13  Adam Barth  <abarth@webkit.org>
55963
55964         Reviewed by Eric Seidel.
55965
55966         Convert notImplemented() to ASSERT_NOT_REACHED
55967         https://bugs.webkit.org/show_bug.cgi?id=45639
55968
55969         The reason we never implemented this state is because it's not actually
55970         reachable.
55971
55972         * html/parser/HTMLTreeBuilder.cpp:
55973         (WebCore::HTMLTreeBuilder::processStartTag):
55974
55975 2010-09-13  Patrick Gansterer  <paroga@paroga.com>
55976
55977         Reviewed by Kenneth Rohde Christiansen.
55978
55979         [WINCE] Buildfix for ScrollAnimatorWin
55980         https://bugs.webkit.org/show_bug.cgi?id=45595
55981
55982         Use fabs() instead of abs().
55983
55984         * platform/ScrollAnimatorWin.cpp:
55985         (WebCore::ScrollAnimatorWin::scroll):
55986         (WebCore::ScrollAnimatorWin::animateScroll):
55987
55988 2010-09-13  Adam Barth  <abarth@webkit.org>
55989
55990         Reviewed by Eric Seidel.
55991
55992         Remove fixed FIXME
55993         https://bugs.webkit.org/show_bug.cgi?id=45637
55994
55995         The spec made assertions that were false.  Hixie fixed the spec by
55996         removing the assertions.  There's no need to keep these FIXMEs in the
55997         code.
55998
55999         * html/parser/HTMLTreeBuilder.cpp:
56000         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
56001
56002 2010-09-12  Adam Barth  <abarth@webkit.org>
56003
56004         Reviewed by Eric Seidel.
56005
56006         Remove FIXME now that the HTML5 spec has been updated
56007         https://bugs.webkit.org/show_bug.cgi?id=45634
56008
56009         The spec changed to say what we do here so this FIXME isn't needed
56010         anymore.
56011
56012         Tests: fast/parser/form-pointer-1.html
56013                fast/parser/form-pointer-2.html
56014                fast/parser/form-pointer-3.html
56015                fast/parser/form-pointer-4.html
56016
56017         * html/parser/HTMLTreeBuilder.cpp:
56018         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
56019
56020 2010-09-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>
56021
56022         Reviewed by Antonio Gomes.
56023
56024         https://bugs.webkit.org/show_bug.cgi?id=18768
56025         Fixed a bug in scroll flow. When we don't have scrollbars, we need to
56026         repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
56027         scrollContents();
56028
56029         Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html
56030                scrollbars/scrollevent-iframe-no-scrolling.html
56031
56032         * page/FrameView.cpp:
56033         (WebCore::FrameView::valueChanged): Added.
56034         * page/FrameView.h: Added a new method.
56035         * platform/ScrollView.cpp:
56036         (WebCore::ScrollView::valueChanged): Added.
56037         (WebCore::ScrollView::updateScrollbars):
56038         * platform/ScrollView.h: Added a new method.
56039
56040 2010-09-10  MORITA Hajime  <morrita@google.com>
56041
56042         Reviewed by Tony Chang.
56043
56044         [Chromium] Implement textInputController.hasSpellingMarker() for Chromium
56045         https://bugs.webkit.org/show_bug.cgi?id=45441
56046         
56047         Added an  API for testing marker state. 
56048         We locate this here instead of DRT for sharing the logic between
56049         multiple ports.
56050
56051         * WebCore.exp.in:
56052         * editing/Editor.cpp:
56053         (WebCore::Editor::selectionStartHasSpellingMarkerFor):
56054         * editing/Editor.h:
56055
56056 2010-09-12  Adam Barth  <abarth@webkit.org>
56057
56058         Reviewed by Eric Seidel.
56059
56060         Adoption agency should use takeAllChildrenFrom
56061         https://bugs.webkit.org/show_bug.cgi?id=45570
56062
56063         Before this patch, we were using an unsafe pattern of walking the
56064         sibling list without grabbing references.  Instead, we should use the
56065         shiny new takeAllChildrenFrom method that shoves the children into a
56066         vector first.  Also, update takeAllChildrenFrom to handle the case
56067         where the old parent is attached.
56068
56069         * dom/ContainerNode.cpp:
56070         (WebCore::ContainerNode::takeAllChildrenFrom):
56071         * html/parser/HTMLTreeBuilder.cpp:
56072         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
56073         * html/parser/HTMLTreeBuilder.h:
56074
56075 2010-09-12  Adam Barth  <abarth@webkit.org>
56076
56077         Reviewed by Eric Seidel.
56078
56079         isParsingFragment assert hit in new treebuilder
56080         https://bugs.webkit.org/show_bug.cgi?id=45621
56081
56082         Update our list of special tags to match the spec.
56083
56084         * html/parser/HTMLTreeBuilder.cpp:
56085
56086 2010-09-12  Robert Hogan  <robert@webkit.org>
56087
56088         Reviewed by Andreas Kling.
56089
56090         [Qt] Fix http/tests/navigation/reload-subframe-object.html
56091
56092         We need to bring our use of getMimeTypeForPath() and
56093         getMimeTypeForExtension() into line with WebCore expectations.
56094
56095         We should use MIMETypeRegistry::getMIMETypeForExtension() for cases
56096         where an empty mimetype should be returned if no match is found, and
56097         MIMETypeRegistry::getMIMETypeForPath() for cases where
56098         'application/octet-stream' should be returned if no match is found.
56099
56100         Fixes http/tests/navigation/reload-subframe-object.html
56101
56102         Based on findings in webkit.org/b/31398 and webkit.org/b/15554.
56103
56104         https://bugs.webkit.org/show_bug.cgi?id=45613
56105
56106         * platform/network/qt/QNetworkReplyHandler.cpp:
56107         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
56108         * platform/qt/MIMETypeRegistryQt.cpp:
56109         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
56110
56111 2010-09-12  Dan Bernstein  <mitz@apple.com>
56112
56113         Reviewed by Adele Peterson.
56114
56115         Neglect unlikely hyphenation opportunities
56116         https://bugs.webkit.org/show_bug.cgi?id=45606
56117
56118         Avoid looking for hyphenation points in about 40% of the cases at the cost of missing about
56119         3% of the hyphenation opportunities.
56120
56121         * rendering/RenderBlockLineLayout.cpp:
56122         (WebCore::tryHyphenating): Bail out if the widest the prefix before the hyphen can be is no more
56123         than 5/4 the font size.
56124
56125 2010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
56126
56127         Reviewed by Simon Hausmann.
56128
56129         [Qt] fix qt_webkit_version.pri install for in-Qt builds
56130
56131         Always add the target, even if building inside Qt - as opposed to the
56132         headers and libraries, there are no rules for that coming from
56133         qbase.pri.
56134
56135         Task-number: QTBUG-13306
56136
56137         * WebCore.pro:
56138
56139 2010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
56140
56141         Reviewed by Simon Hausmann.
56142
56143         [Qt] Let QtWebKit inject itself into the qt configuration
56144
56145         i.e., don't explicitly deal with qt_webkit_version.pri outside of the
56146         webkit source directory.
56147
56148         Task-number: QTBUG-12379
56149
56150         * WebCore.pro:
56151
56152 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56153
56154         [Qt] Build fix.
56155
56156         * WebCore.pro: Re-add erroneously removed sources.
56157
56158 2010-09-12  Andreas Kling  <andreas.kling@nokia.com>
56159
56160         Reviewed by Kenneth Rohde Christiansen.
56161
56162         [Qt] Remove Path::closeSubpath() workaround for broken miter joins
56163         https://bugs.webkit.org/show_bug.cgi?id=45618
56164
56165         Removed Path::closeCanvasSubpath() and share the logic between Canvas and SVG
56166         paths. The problem was actually in Qt's path stroker and has been fixed for Qt 4.7.1.
56167
56168         * html/canvas/CanvasRenderingContext2D.cpp:
56169         (WebCore::CanvasRenderingContext2D::closePath):
56170         * platform/graphics/Path.h:
56171         * platform/graphics/qt/PathQt.cpp:
56172
56173 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56174
56175         Fix the Gtk and minimal builds.
56176
56177         * plugins/PluginView.cpp:
56178         (WebCore::PluginView::npObject): Correct the #ifdefs.
56179         (WebCore::PluginView::bindingInstance): Moved npErr variable
56180         into npObject() function where it is used.
56181
56182 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56183
56184         [Qt] Prospective build fix for minimal build.
56185
56186         * plugins/PluginView.cpp: Guard newly added function
56187         by ENABLE_NETSCAPE_PLUGIN feature.
56188         (WebCore::PluginView::npObject):
56189         * plugins/PluginView.h:
56190
56191 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56192
56193         Reviewed by Andreas Kling.
56194
56195         [Qt] Add support for binding QtWebKit to a QScriptEngine.
56196
56197         The ScriptController owns the V8 context, and this patch
56198         for the Qt build also gives it a QScriptEngine, that has
56199         been instructed to adopt the V8 context.
56200
56201         This is the enabler for the QObject bindings, used in
56202         the API and DRT.
56203
56204         * WebCore.pro:
56205         * bindings/v8/ScriptController.cpp: Include QScriptEngine
56206         for the Qt build, to let the ~ScriptController destructor
56207         find the QScriptEngine destructor (via OwnPtr).
56208         * bindings/v8/ScriptController.h: Declare getters.
56209         * bindings/v8/ScriptControllerQt.cpp: Added.
56210         (WebCore::ScriptController::qtScriptEngine): Implement
56211         engine adoption.
56212
56213 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56214
56215         Reviewed by Andreas Kling.
56216
56217         [Qt] Last bits and pieces for a V8 build.
56218
56219         When building with V8, get it from QtScript.
56220
56221         * WebCore.pro: Use QtScript, removed non-existant
56222         bridge files from the build.
56223
56224 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56225
56226         Reviewed by Andreas Kling.
56227
56228         [Qt] Add PlatformBridge for V8 build.
56229
56230         Add the minimalisting platform bridge with the two
56231         methods needed by NPV8Object.cpp.
56232
56233         * WebCore.pro:
56234         * platform/qt/PlatformBridge.h: Added.
56235         * platform/qt/PlatformBridgeQt.cpp: Added.
56236         (WebCore::PlatformBridge::popupsAllowed):
56237         (WebCore::PlatformBridge::pluginScriptableObject):
56238         * plugins/PluginView.cpp: Refactor the plugin object
56239         retrieval code into a separate function, called by
56240         bindingInstance() and PlatformBridge.
56241         (WebCore::PluginView::npObject):
56242         (WebCore::PluginView::bindingInstance):
56243         * plugins/PluginView.h:
56244
56245 2010-09-11  Jer Noble  <jer.noble@apple.com>
56246
56247         Reviewed by Eric Carlson.
56248
56249         http/tests/media/text-served-as-text.html failing on Windows (Debug+Release)
56250         https://bugs.webkit.org/show_bug.cgi?id=45603
56251
56252         Disable the eat/text components under Windows the same way as we do on the Mac.
56253
56254         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56255         * platform/graphics/win/QTMovie.cpp:
56256         * platform/graphics/win/QTMovie.h:
56257
56258 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56259
56260         Reviewed by Andreas Kling.
56261
56262         Fix compilation of the V8 bindings on X11 with Qt.
56263
56264         This changes brings the file in sync with its copy in bridge/,
56265         adding additional conflicting X11 keywords to undef. This is
56266         a temporary fix until the file is removed altogether, which is
56267         tracked in https://bugs.webkit.org/show_bug.cgi?id=45617
56268
56269         * bindings/v8/npruntime_internal.h:
56270
56271 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56272
56273         Reviewed by Andreas Kling.
56274
56275         Fix compilation of the V8 bindings on X11 with Qt.
56276
56277         These headers include npruntime, which drag on X11Resources.h, which
56278         among other things #define's None and Boolean. Later on v8.h is included,
56279         which declares these in enums and therefore conflicts. npruntime_internal.h
56280         was introduced exactly to address this problem by including npruntime.h
56281         and undeff'ing the offending constants.
56282
56283         * bindings/v8/V8Helpers.h:
56284         * bindings/v8/V8NPObject.h:
56285         * bindings/v8/V8NPUtils.h:
56286
56287 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56288
56289         Gtk build fix.
56290
56291         Use false instead of False after
56292         http://trac.webkit.org/changeset/67323
56293
56294         * plugins/gtk/PluginViewGtk.cpp:
56295         (WebCore::PluginView::updatePluginWidget):
56296         (WebCore::PluginView::paint):
56297
56298 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56299
56300         Reviewed by Andreas Kling.
56301
56302         [Qt] Fix the compilation of V8Binding.cpp when compiling with Qt.
56303
56304         * bindings/v8/V8Binding.cpp:
56305         (WebCore::WebCoreStringResource::WebCoreStringResource): In this
56306         line an AtomicString should be converted to a WTF::String. The former
56307         has a conversion operator to the latter, to be able to call the
56308         WTF::String copy constructor. When compiling with Qt, then AtomicString
56309         also has a conversion operator to QString _and_ WTF::String has an
56310         implicit constructor that takes a QString. Therefore the compiler is
56311         confused and not sure which conversion to prefer, the one that isn't
56312         actually a conversion - going to WTF::String - or the conversion from
56313         AtomicString to QString and then constructing the WTF::String from
56314         a QString. To resolve this ambiguity we explicitly call the string()
56315         helper function on the AtomicString, which is equivalent to the
56316         operator WTF::String().
56317
56318 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56319
56320         Reviewed by Andreas Kling.
56321
56322         Fix the build without JSC.
56323
56324         Complement http://trac.webkit.org/changeset/59826 and
56325         add missing JSC guards.
56326
56327         * plugins/PluginView.cpp:
56328         (WebCore::PluginView::bindingInstance):
56329         (WebCore::PluginView::privateBrowsingStateChanged):
56330         * plugins/qt/PluginViewQt.cpp:
56331         (WebCore::PluginView::dispatchNPEvent):
56332         (WebCore::PluginView::setNPWindowIfNeeded):
56333         (WebCore::PluginView::platformStart):
56334
56335 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56336
56337         Reviewed by Andreas Kling.
56338
56339         Fix compilation with V8 and XPath enabled.
56340
56341         V8XPathNSResolver.cpp includes V8XPathNSResolver.h,
56342         which includes V8DOMWrapper.h as its first header.
56343         V8DOMWrapper.h then uses V8XPathNSResolver in an inline
56344         function, and gcc doesn't seem to like this, because
56345         at this point the type isn't known ("V8XPathNSResolver
56346         has not been declared"). Forward declaring the type
56347         doesn't help unfortunately: "incomplete type
56348         'WebCore::V8XPathNSResolver' used in nested name
56349         specifier".
56350
56351         To resolve this circular dependency, this patch moves
56352         the inline function into the .cpp file.
56353
56354         * bindings/v8/V8DOMWrapper.cpp:
56355         (WebCore::V8DOMWrapper::getXPathNSResolver):
56356         * bindings/v8/V8DOMWrapper.h:
56357
56358 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56359
56360         Reviewed by Andreas Kling.
56361
56362         [Qt][X11] Fix build with V8 against X11 headers.
56363
56364         Added "True" and "False" to the list of words
56365         we free from the X11 macro jail.
56366
56367         * bridge/npruntime_internal.h:
56368         * config.h: The V8 bindings end up indirectly pulling
56369         in X11 headers and they use True/False. There's no
56370         central header apart from this one, so include the
56371         x11 fixing header here for Qt/X11/V8.
56372         * plugins/qt/PluginViewQt.cpp:
56373         (WebCore::PluginView::paint): Use false instead of False
56374         since False isn't available anymore.
56375
56376 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56377
56378         Reviewed by Andreas Kling.
56379
56380         [Qt] Fix compilation with V8 and Qt.
56381
56382         Use WebKit's page cache for ScriptCachedFrameData.
56383
56384         * bindings/v8/ScriptCachedFrameData.h:
56385
56386 2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56387
56388         Reviewed by Andreas Kling.
56389
56390         Fix compiler warning.
56391
56392         NPClass has 13 members, the last one (NPConstructFunctionPtr construct) wasn't
56393         initialized explicitly.
56394
56395         * bindings/v8/NPV8Object.cpp:
56396
56397 2010-09-12  Mario Sanchez Prada  <msanchez@igalia.com>
56398
56399         Reviewed by Martin Robinson.
56400
56401         [Gtk] get_n_selections and get_selection fail when selecting text across object boundaries
56402         https://bugs.webkit.org/show_bug.cgi?id=26991
56403
56404         Fix AtkText getNSelections() and getSelection() to work properly
56405
56406         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
56407         (selectionBelongsToObject): Check that both the selection intersects
56408         the node AND that the selection is not just "touching" one of the
56409         boundaries for the selected node. We want to check whether the
56410         node is actually inside the region, at least partially
56411         (getSelectionOffsetsForObject): New function to get the start and
56412         end offsets of a selection for a given accessible object.
56413         (webkit_accessible_text_get_selection): Return zero when both
56414         start and end offsets are equal, following the lead of GAIL.
56415
56416 2010-09-11  Adam Barth  <abarth@webkit.org>
56417
56418         Reviewed by Sam Weinig.
56419
56420         Make SecurityOrigin::canDisplay an instance function
56421         https://bugs.webkit.org/show_bug.cgi?id=45219
56422
56423         This function was secretly an instance function because callers needed
56424         to pass in a document (which owns a SecurityOrigin).  Only the
56425         FrameLoader actually needs the method to be static.
56426
56427         * WebCore.exp.in:
56428         * html/HTMLMediaElement.cpp:
56429         (WebCore::HTMLMediaElement::isSafeToLoadURL):
56430         * loader/Cache.cpp:
56431         (WebCore::Cache::requestResource):
56432             - Notice that DocLoader::doc() can never be 0.
56433         * loader/FrameLoader.cpp:
56434         (WebCore::FrameLoader::loadFrameRequest):
56435         * loader/PingLoader.cpp:
56436         (WebCore::PingLoader::loadImage):
56437         * loader/SubframeLoader.cpp:
56438         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
56439         (WebCore::SubframeLoader::createJavaAppletWidget):
56440         (WebCore::SubframeLoader::loadSubframe):
56441         (WebCore::SubframeLoader::loadPlugin):
56442         * loader/SubresourceLoader.cpp:
56443         (WebCore::SubresourceLoader::create):
56444         * page/SecurityOrigin.cpp:
56445         (WebCore::SecurityOrigin::canDisplay):
56446         (WebCore::SecurityOrigin::deprecatedCanDisplay):
56447         * page/SecurityOrigin.h:
56448         * plugins/PluginView.cpp:
56449         (WebCore::PluginView::load):
56450
56451 2010-09-11  Adam Barth  <abarth@webkit.org>
56452
56453         Reviewed by Sam Weinig.
56454
56455         Make SecurityOrigin::canDisplay an instance function
56456         https://bugs.webkit.org/show_bug.cgi?id=45219
56457
56458         This function was secretly an instance function because callers needed
56459         to pass in a document (which owns a SecurityOrigin).  Only the
56460         FrameLoader actually needs the method to be static.
56461
56462         * WebCore.exp.in:
56463         * html/HTMLMediaElement.cpp:
56464         (WebCore::HTMLMediaElement::isSafeToLoadURL):
56465         * loader/Cache.cpp:
56466         (WebCore::Cache::requestResource):
56467             - Notice that DocLoader::doc() can never be 0.
56468         * loader/FrameLoader.cpp:
56469         (WebCore::FrameLoader::loadFrameRequest):
56470         * loader/PingLoader.cpp:
56471         (WebCore::PingLoader::loadImage):
56472         * loader/SubframeLoader.cpp:
56473         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
56474         (WebCore::SubframeLoader::createJavaAppletWidget):
56475         (WebCore::SubframeLoader::loadSubframe):
56476         (WebCore::SubframeLoader::loadPlugin):
56477         * loader/SubresourceLoader.cpp:
56478         (WebCore::SubresourceLoader::create):
56479         * page/SecurityOrigin.cpp:
56480         (WebCore::SecurityOrigin::canDisplay):
56481         (WebCore::SecurityOrigin::deprecatedCanDisplay):
56482         * page/SecurityOrigin.h:
56483         * plugins/PluginView.cpp:
56484         (WebCore::PluginView::load):
56485
56486 2010-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
56487
56488         Unreviewed.
56489
56490         [Qt] Trivial V8 build fix.
56491
56492         * WebCore.pri: Add storage, workers and css to the include paths for the
56493         JS code generator.
56494
56495 2010-09-11  Andreas Kling  <andreas.kling@nokia.com>
56496
56497         Reviewed by Simon Hausmann.
56498
56499         [Qt] V8 port: Fix "WTF::String::utf8" returns incomplete type WTF::CString
56500         https://bugs.webkit.org/show_bug.cgi?id=45157
56501
56502         Include CString.h where necessary. Chromium builds would get it from
56503         KURLGooglePrivate.h so this is only an issue for Qt + V8.
56504
56505         * bindings/v8/V8Proxy.cpp:
56506         * inspector/InspectorDebuggerAgent.cpp:
56507         * inspector/InspectorProfilerAgent.cpp:
56508         * plugins/PluginDatabase.cpp:
56509
56510 2010-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
56511
56512         Reviewed by Andreas Kling.
56513
56514         [Qt] V8 port: webkit project files changes
56515         https://bugs.webkit.org/show_bug.cgi?id=45140
56516
56517         * WebCore.pro: Removed unecessary common.pri inclusion from earlier patch.
56518
56519 2010-09-03  Vlad Burlik  <volodimir.burlik@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>
56520
56521         Reviewed by Andreas Kling.
56522
56523         [Qt] V8 port: webcore project files changes
56524         https://bugs.webkit.org/show_bug.cgi?id=45141
56525
56526         Modify webcore project files to include V8 javascript engine. By default disabled.
56527
56528         * WebCore.pri:
56529         * WebCore.pro:
56530         * features.pri:
56531
56532 2010-09-11  Andreas Kling  <andreas.kling@nokia.com>
56533
56534         Reviewed by Simon Hausmann.
56535
56536         Web Inspector: Include CString.h in generated files
56537
56538         This is necessary for generated code that uses the CString
56539         returned by String::utf8() (from generateBackendDispatcher)
56540
56541         Chromium builds already get CString.h from KURLGooglePrivate.h
56542         so this issue only occurs when building Qt against V8.
56543
56544         * inspector/CodeGeneratorInspector.pm:
56545
56546 2010-09-11  Adele Peterson  <adele@apple.com>
56547
56548         Reviewed by Sam Weinig.
56549
56550         Fix for https://bugs.webkit.org/show_bug.cgi?id=45587
56551         Move line clamp code to its own function.
56552
56553         * rendering/RenderFlexibleBox.cpp:
56554         (WebCore::RenderFlexibleBox::layoutVerticalBox):
56555         (WebCore::RenderFlexibleBox::applyLineClamp):
56556         * rendering/RenderFlexibleBox.h:
56557
56558 2010-09-11  Mihai Parparita  <mihaip@chromium.org>
56559
56560         Reviewed by Adam Barth.
56561
56562         URIs in styles created via innerHTML are not resolved against the document's base URI
56563         https://bugs.webkit.org/show_bug.cgi?id=45565
56564
56565         The dummy document used for fragment parsing created by 
56566         FragmentParsingContext should use the base URI of the fragment's
56567         document. Since (HTML)Document doesn't expose a setter for the base URI
56568         (and shouldn't), we allow it to be set by the constructor/create
56569         function.
56570         
56571         Also remove some obsolete code that references the legacy tree builder
56572         from HTMLElement that I happened to notice.
56573
56574         Test: fast/innerHTML/innerHTML-uri-resolution.html
56575
56576         * dom/Document.cpp:
56577         (WebCore::Document::Document):
56578         * dom/Document.h:
56579         * html/HTMLDocument.cpp:
56580         (WebCore::HTMLDocument::HTMLDocument):
56581         * html/HTMLDocument.h:
56582         (WebCore::HTMLDocument::create):
56583         * html/HTMLElement.cpp:
56584         (WebCore::createFragmentFromSource):
56585         (WebCore::HTMLElement::setInnerHTML):
56586         * html/parser/HTMLTreeBuilder.cpp:
56587         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
56588
56589 2010-09-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
56590
56591         Reviewed by Darin Adler.
56592
56593         Add NetworkingContext to avoid layer violations
56594         https://bugs.webkit.org/show_bug.cgi?id=42292
56595
56596         Activate NetworkingContext:
56597
56598         Since the ResourceHandle::create, ResourceHandle::start and
56599         ResourceHandle::loadResourceSynchronously API's were modified,
56600         having their Frame* parameter substituted by a NetworkingContext*,
56601         all implementations of them were also modified.
56602         This patch also modifies all functions that were calling the above
56603         ones.
56604
56605         * loader/FrameLoader.cpp:
56606         (WebCore::FrameLoader::loadResourceSynchronously):
56607         * loader/FrameLoader.h:
56608         * loader/MainResourceLoader.cpp:
56609         (WebCore::MainResourceLoader::loadNow):
56610         * loader/PingLoader.cpp:
56611         (WebCore::PingLoader::PingLoader):
56612         * loader/ResourceLoader.cpp:
56613         (WebCore::ResourceLoader::load):
56614         * loader/appcache/ApplicationCacheGroup.cpp:
56615         (WebCore::ApplicationCacheGroup::createResourceHandle):
56616         * loader/icon/IconFetcher.cpp:
56617         (WebCore::IconFetcher::loadEntry):
56618         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
56619         (webKitWebSrcStart):
56620         * platform/network/ResourceHandle.cpp:
56621         (WebCore::ResourceHandle::create):
56622         * platform/network/ResourceHandle.h:
56623         * platform/network/ResourceHandleInternal.h:
56624         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
56625         * platform/network/cf/ResourceHandleCFNet.cpp:
56626         (WebCore::ResourceHandle::start):
56627         (WebCore::ResourceHandle::loadResourceSynchronously):
56628         * platform/network/curl/ResourceHandleCurl.cpp:
56629         (WebCore::ResourceHandle::start):
56630         (WebCore::ResourceHandle::loadResourceSynchronously):
56631         * platform/network/mac/ResourceHandleMac.mm:
56632         (WebCore::ResourceHandle::start):
56633         (WebCore::ResourceHandle::loadResourceSynchronously):
56634         * platform/network/qt/QNetworkReplyHandler.cpp:
56635         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
56636         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
56637         (WebCore::QNetworkReplyHandler::start):
56638         * platform/network/qt/ResourceHandleQt.cpp:
56639         (WebCore::ResourceHandle::start):
56640         (WebCore::ResourceHandle::willLoadFromCache):
56641         (WebCore::ResourceHandle::loadResourceSynchronously):
56642         * platform/network/soup/ResourceHandleSoup.cpp:
56643         * platform/network/win/ResourceHandleWin.cpp:
56644         (WebCore::ResourceHandle::start):
56645
56646 2010-09-10  Jer Noble  <jer.noble@apple.com>
56647
56648         No review; build fix only.
56649
56650         <CoreGraphics/CGAffineTransform.h> isn't on the build bots either.  Wrap
56651         all references to m_movieTransform in #if USE(ACCELERATED_COMPOSITING) guards.
56652         
56653         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56654         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
56655         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
56656         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
56657         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
56658
56659 2010-09-10  Jer Noble  <jer.noble@apple.com>
56660
56661         No review; build fix only.
56662
56663         <CoreGraphics/CGFloat.h> does not exist on the build bots.  Replace
56664         instances of CGFAbs() with abs().
56665
56666         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56667         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
56668
56669 2010-09-10  Dan Bernstein  <mitz@apple.com>
56670
56671         Reviewed by Darin Adler.
56672
56673         <rdar://problem/8414282> Can’t dynamically change first-letter to/from floating
56674
56675         Test: fast/dynamic/first-letter-display-change.html
56676
56677         * rendering/RenderBlock.cpp:
56678         (WebCore::styleForFirstLetter): Factored this helper function out.
56679         (WebCore::RenderBlock::updateFirstLetter): Renamed variables so that the
56680         “update style” and “create new” branches use the same terminology. In the
56681         update case, if the style change requires a new renderer, handle it.
56682         * rendering/RenderTextFragment.h:
56683         (WebCore::toRenderTextFragment): Added.
56684
56685 2010-09-10  Sam Weinig  <sam@webkit.org>
56686
56687         Reviewed by Darin Adler.
56688
56689         Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
56690         Precursor to <rdar://problem/7660657>
56691         https://bugs.webkit.org/show_bug.cgi?id=45522
56692
56693         * GNUmakefile.am:
56694         * WebCore.exp.in:
56695         * WebCore.gypi:
56696         * WebCore.pro:
56697         * WebCore.vcproj/WebCore.vcproj:
56698         * WebCore.xcodeproj/project.pbxproj:
56699         Remove ZoomMode.h
56700
56701         * css/CSSStyleSelector.cpp:
56702         (WebCore::CSSStyleSelector::applyProperty):
56703         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
56704         Remove uses of shouldApplyTextZoom(), it had turned into just a compare to 1.0f.
56705
56706         * html/HTMLBodyElement.cpp:
56707         (WebCore::adjustForZoom):
56708         (WebCore::HTMLBodyElement::setScrollLeft):
56709         (WebCore::HTMLBodyElement::setScrollTop):
56710         Convert these to use the explicit pageZoomFactor() function, it made no sense for text zoom
56711         anyway.
56712
56713         * page/Frame.h:
56714         Remove include of ZoomMode.h
56715
56716         * page/FrameView.cpp:
56717         (WebCore::parentPageZoomFactor):
56718         (WebCore::parentTextZoomFactor):
56719         (WebCore::FrameView::FrameView):
56720         (WebCore::FrameView::setPageZoomFactor):
56721         (WebCore::FrameView::setTextZoomFactor):
56722         (WebCore::FrameView::setPageAndTextZoomFactors):
56723         * page/FrameView.h:
56724         (WebCore::FrameView::pageZoomFactor):
56725         (WebCore::FrameView::textZoomFactor):
56726         Change FrameView to store two values for zoom, one for page zoom and one for text zoom.
56727
56728         * page/Settings.cpp:
56729         (WebCore::Settings::Settings):
56730         * page/Settings.h:
56731         Removed zoom mode.
56732
56733         * page/ZoomMode.h: Removed.
56734
56735         * rendering/RenderView.cpp:
56736         (WebCore::RenderView::zoomFactor):
56737         Remove now unnecessary call to shouldApplyPageZoom since it will be 1 if it should
56738         be ignored.
56739
56740         * svg/SVGSVGElement.cpp:
56741         (WebCore::SVGSVGElement::setCurrentScale):
56742         Use explicit setPageZoomFactor function.
56743
56744 2010-09-10  Ryuan Choi  <ryuan.choi@samsung.com>
56745
56746         Unreviewed build fix for EFL.
56747
56748         [EFL] REGRESSION(67167) build break because of newly added JSBindingState.cpp
56749         https://bugs.webkit.org/show_bug.cgi?id=45537
56750
56751         * CMakeLists.txt:
56752
56753 2010-09-10  Darin Adler  <darin@apple.com>
56754
56755         Reviewed by Sam Weinig.
56756
56757         Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
56758         https://bugs.webkit.org/show_bug.cgi?id=45582
56759
56760         * WebCore.exp.in: Updated.
56761
56762         * WebCore.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h/m.
56763         * page/mac/WebDashboardRegion.h: Removed.
56764         * page/mac/WebDashboardRegion.m: Removed.
56765
56766         * page/Frame.h: Removed unneeded #if. Removed dashboardRegionsDictionary function, now
56767         handled in WebKit. Removed searchForNSLabelsAboveCell function, which had become dead code.
56768         * page/mac/FrameMac.mm: Ditto. Also tweaked a place that said "int unsigned".
56769
56770 2010-09-10  Peter Kasting  <pkasting@google.com>
56771
56772         Reviewed by Darin Adler.
56773
56774         Make middle clicks not fire DOM onclick events.
56775         https://bugs.webkit.org/show_bug.cgi?id=22382
56776
56777         * html/HTMLAnchorElement.cpp: Explicitly include middle-clicks in the
56778         computation of what constitutes a link click, since they're no longer
56779         implicitly included.
56780         (WebCore::isLinkClick):
56781         * html/HTMLInputElement.cpp: Removed unneeded checks that click events
56782         are coming from the left mouse button, since they all are now.
56783         (WebCore::HTMLInputElement::preDispatchEventHandler):
56784         (WebCore::HTMLInputElement::postDispatchEventHandler):
56785         (WebCore::HTMLInputElement::defaultEventHandler):
56786         * page/EventHandler.cpp: Changed logic to send a click event only for
56787         the left button.
56788         (WebCore::EventHandler::handleMouseDoubleClickEvent):
56789         (WebCore::EventHandler::handleMouseReleaseEvent):
56790
56791 2010-09-10  Adam Barth  <abarth@webkit.org>
56792
56793         Attempted build fix for Qt Minimal.
56794
56795         * dom/Element.cpp:
56796         (WebCore::Element::getBoundingClientRect):
56797
56798 2010-09-10  Dan Bernstein  <mitz@apple.com>
56799
56800         Reviewed by Anders Carlsson.
56801
56802         Pseudostyle resolution corrupts cached child index values
56803         https://bugs.webkit.org/show_bug.cgi?id=45574
56804
56805         Covered by fast/dom/firstline-fixed-crash.html and fast/dom/firstletter-tablecell-crash.html.
56806
56807         RenderBlock::updateFirstLetter() calls getCachedPseudoStyle() passing as the parent style the
56808         style of the parent of the first letter, which is not always the parent of the element for
56809         which we are getting :first-letter style. As a result, style resolution caches childIndex values
56810         in the wrong element’s style.
56811
56812         * css/CSSStyleSelector.cpp:
56813         (WebCore::CSSStyleSelector::pseudoStyleForElement): Create the new style and inherit from
56814         the parent style before matching rules, to avoid corrupting the parent style itself.
56815         (WebCore::CSSStyleSelector::checkSelector): Always pass the element’s parent style as
56816         the parent style here.
56817         * rendering/RenderBlock.cpp:
56818         (WebCore::RenderBlock::updateFirstLetter): Removed the null check that was added
56819         in r67183.
56820         * rendering/RenderBlockLineLayout.cpp:
56821         (WebCore::RenderBlock::findNextLineBreak): Removed the null check that was added
56822         in r67184.
56823
56824 2010-09-10  Jer Noble  <jer.noble@apple.com>
56825
56826         Reviewed by Simon Fraser.
56827
56828         Movies with track or movie matrices don't display in <video> elements (Safari 5/Windows)
56829         https://bugs.webkit.org/show_bug.cgi?id=45333
56830         rdar://problem/81333126
56831         
56832         QuickTime will refuse to decode video frames for movies whose movie and track matrices 
56833         are non-identity.  To work around this problem, extract the movie and track matrices 
56834         from the movie, and set that matrix on the video layer instead.
56835
56836         * WebCore.vcproj/QTMovieWin.vcproj:
56837         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56838         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::LayoutClient): Added.
56839         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::layoutSublayersOfLayer):
56840             Layout the video layer according to its superlayer's size.
56841         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
56842         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
56843         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
56844             Apply the m_movieTransform to the size reported by QTMovie.
56845         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
56846             Calculate m_movieTransform and reset the movie and track matrices in the movie.
56847         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
56848             Create two nested layers instead of one.
56849         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
56850             Make sure to remove m_qtVideoLayer from any superlayer before dereferencing it.
56851         * platform/graphics/win/QTMovie.cpp:
56852         (QTMovie::videoTracks): Added.
56853         (QTMovie::getTransform): Added.
56854         (QTMovie::setTransform): Added.
56855         (QTMovie::resetTransform): Added.
56856         * platform/graphics/win/QTMovie.h:
56857         * platform/graphics/win/QTTrack.cpp: Added.
56858         * platform/graphics/win/QTTrack.h: Added.
56859         * platform/graphics/win/WKCACFLayer.cpp:
56860         (WebCore::WKCACFLayer::setBounds): Call setNeedsLayout() if a layoutClient is present.
56861         (WebCore::WKCACFLayer::setFrame): Call setNeedsLayout() if a layoutClient is present.
56862
56863 2010-09-10  Jer Noble  <jer.noble@apple.com>
56864
56865         No review; build fix only.
56866
56867         Touch mediaControlsQuickTime in order to trigger the UserAgentStyleSheet.h to be rebuilt.
56868
56869         * css/mediaControlsQuickTime.css:
56870         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
56871
56872 2010-09-10  Adam Barth  <abarth@webkit.org>
56873
56874         Reviewed by Darin Fisher.
56875
56876         Move code from WebKit-layer to DocumentLoader
56877         https://bugs.webkit.org/show_bug.cgi?id=45569
56878
56879         There's a bunch of code that's copy/pasted (poorly) across all the
56880         ports that really belongs in WebCore.  This patch moves that logic into
56881         DocumentLoader.  This patch is a step on the path to having
56882         DocumentLoader own DocumentWriter.
56883
56884         * WebCore.exp.in:
56885         * loader/DocumentLoader.cpp:
56886         (WebCore::DocumentLoader::commitData):
56887         * loader/DocumentLoader.h:
56888         * loader/FrameLoader.cpp:
56889         (WebCore::FrameLoader::finishedLoadingDocument):
56890
56891 2010-09-10  Cosmin Truta  <ctruta@chromium.org>
56892
56893         Reviewed by Nikolas Zimmermann.
56894
56895         getBoundingClientRect Broken for SVG Elements
56896         https://bugs.webkit.org/show_bug.cgi?id=42815
56897
56898         Use getBBox to retrieve the bounding rectangle for SVG elements.
56899
56900         Test: svg/dom/getBoundingClientRect.xhtml
56901
56902         * dom/Element.cpp:
56903         (Element::getBoundingClientRect):
56904
56905 2010-09-09  Jer Noble  <jer.noble@apple.com>
56906
56907         Reviewed by Eric Carlson.
56908
56909         Adopt shared control drawing for <video> controls on Windows
56910         https://bugs.webkit.org/show_bug.cgi?id=45490
56911         
56912         * DerivedSources.make: Remove the OS check around mediaControlsQuickTime.css.
56913         * rendering/RenderMediaControls.cpp:
56914         (WebCore::determineState): Use WKMediaControllerThemeState flags instead of SafariTheme ones.
56915         (WebCore::getUnzoomedRectAndAdjustCurrentContext): Added. Copied verbatim from RenderMediaMac.mm.
56916         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Use wkMeasureMediaUIPart to adjust the thumb size.
56917         (WebCore::RenderMediaControls::paintMediaControlsPart): Use wkDrawMediaUIPart instead of paintThemePart.
56918         (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Added. Copied verbatim from RenderMediaMac.mm.
56919         * rendering/RenderMediaControls.h:
56920         * rendering/RenderThemeWin.cpp:
56921         (WebCore::RenderThemeWin::adjustSliderThumbSize): Adjust both sliders and volume sliders.
56922         (WebCore::RenderThemeWin::extraMediaControlsStyleSheet): Added. Returns the mediaControlsQuickTime sheet.
56923         (WebCore::RenderThemeWin::paintMediaRewindButton): Added. Pass through to RenderMediaControls.
56924         (WebCore::RenderThemeWin::paintMediaControlsBackground): Added. Pass through to RenderMediaControls.
56925         (WebCore::RenderThemeWin::paintMediaVolumeSliderContainer): Added. Pass through to RenderMediaControls.
56926         (WebCore::RenderThemeWin::paintMediaVolumeSliderTrack): Added. Pass through to RenderMediaControls.
56927         (WebCore::RenderThemeWin::paintMediaVolumeSliderThumb): Added.  Pass through to RenderMediaControls.
56928         (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Added. Pass through to RenderMediaControls.
56929         * rendering/RenderThemeWin.h:
56930
56931 2010-09-10  Peter Kasting  <pkasting@google.com>
56932
56933         Reviewed by Darin Adler.
56934
56935         Cleanup and simplification in advance of making middle clicks not send a
56936         click event.
56937         https://bugs.webkit.org/show_bug.cgi?id=22382
56938
56939         * editing/DeleteButton.cpp:
56940         (WebCore::DeleteButton::defaultEventHandler): Removed unneeded code to
56941         check if the event is a MouseEvent. Any click event will do.
56942         * html/HTMLAnchorElement.cpp:
56943         (WebCore::appendServerMapMousePosition): Added. Factors out the
56944         modifications to the URL to add the mouse position to make the default
56945         event handler function easier to read.
56946         (WebCore::HTMLAnchorElement::defaultEventHandler): Reorganized to make
56947         the enter key logic separate from the link clicking logic and simplify
56948         the function.  This makes minor functional changes like not calling
56949         FrameLoader::urlSelected() for fake "keydown" events constructed from
56950         JavaScript.
56951         (WebCore::HTMLAnchorElement::isLiveLink): Refactored to use new shared
56952         implementation in treatLinkAsLiveForEventType().
56953         (WebCore::eventType): Factors out event type calculation (for
56954         treatLinkAsLiveForEventType()) from the default event handler to make it
56955         easier to read.
56956         (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
56957         Implementation of the portions of isLiveLink() that are common with the
56958         checks defaultEventHandler() wants to do.
56959         (WebCore::isEnterKeyKeydownEvent): Added. Shared by the default
56960         event handlers for all three anchor elements.
56961         (WebCore::isMiddleMouseButtonEvent): Added. Shared by the isLinkClick
56962         function below and some code in SVG. Later we can make this private to
56963         this source file once we remove the unneeded SVG code.
56964         (WebCore::isLinkClick): Added. Shared by the default event handlers for
56965         all three anchor elements.
56966         (WebCore::handleLinkClick): Ditto.
56967         * html/HTMLAnchorElement.h: Added the new functions.
56968         * svg/SVGAElement.cpp:
56969         (WebCore::SVGAElement::defaultEventHandler): Removed lots of unneeded
56970         logic and streamlined the code to more closely match the
56971         HTMLAnchorElement code and share functions with it.
56972         * wml/WMLAElement.cpp:
56973         (WebCore::WMLAElement::defaultEventHandler): Ditto.
56974
56975 2010-09-10  Tony Gentilcore  <tonyg@chromium.org>
56976
56977         Reviewed by Eric Seidel.
56978
56979         Implement HTML5 definition of script for-event neutering
56980         https://bugs.webkit.org/show_bug.cgi?id=45493
56981
56982         * dom/ScriptElement.cpp:
56983         (WebCore::ScriptElementData::shouldExecuteAsJavaScript): Same behavior, but reads more like the spec. Removed obsolete comments about supporting for-event.
56984         * html/parser/HTMLScriptRunner.cpp:
56985         (WebCore::HTMLScriptRunner::executeScript): Moved to runScript.
56986         (WebCore::HTMLScriptRunner::runScript): Checking shouldExecuteAsJavaScript() here means that external scripts which fail the check will never be requested.
56987
56988 2010-09-10  Nat Duca  <nduca@chromium.org>
56989
56990         Reviewed by Darin Fisher.
56991
56992         [chromium] Accelerated Compositing: screen garbage when scrolling
56993         https://bugs.webkit.org/show_bug.cgi?id=45092
56994
56995         Split LayerRenderChromium::drawLayers into several different
56996         functions, responsible for preparing the backbuffer, updating the
56997         root texture, compositing and performing the final
56998         swapbuffers. This are then used by the new
56999         WebViewImpl::composite rendering path.
57000
57001         * platform/graphics/chromium/LayerChromium.cpp:
57002         (WebCore::LayerChromium::setBounds):
57003         (WebCore::LayerChromium::setFrame):
57004         (WebCore::LayerChromium::setNeedsDisplay):
57005         (WebCore::LayerChromium::resetNeedsDisplay):
57006         * platform/graphics/chromium/LayerChromium.h:
57007         (WebCore::LayerChromium::dirtyRect):
57008         * platform/graphics/chromium/LayerRendererChromium.cpp:
57009         (WebCore::LayerRendererChromium::prepareToDrawLayers):
57010         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
57011         (WebCore::LayerRendererChromium::drawLayers):
57012         (WebCore::LayerRendererChromium::present):
57013         * platform/graphics/chromium/LayerRendererChromium.h:
57014
57015 2010-09-10  David Holloway  <dhollowa@chromium.org>
57016
57017         Reviewed by Adam Barth.
57018
57019         Replace WebCore::HTMLFormElement::submissionTrigger with WebCore::HTMLFormElement::submittedByUserGesture.
57020         Chromium AutoFill feature semantics changed with respect to what we mean by "user submitted" form.  A
57021         more accurate measure of the user manually submitting a form is via user gesture.
57022         https://bugs.webkit.org/show_bug.cgi?id=45128
57023
57024         No new tests as this is only used by the Chromium WebKit API.
57025
57026         * html/HTMLFormElement.cpp:
57027         (WebCore::HTMLFormElement::HTMLFormElement):
57028         (WebCore::HTMLFormElement::prepareSubmit):
57029         (WebCore::HTMLFormElement::submit):
57030         (WebCore::HTMLFormElement::submittedByUserGesture):
57031         * html/HTMLFormElement.h:
57032
57033 2010-09-10  Adam Barth  <abarth@webkit.org>
57034
57035         Reviewed by Eric Seidel.
57036
57037         Remove mention of "part" from Document.cpp
57038         https://bugs.webkit.org/show_bug.cgi?id=45566
57039
57040         This is an old KHTML name that's lingering around.
57041
57042         * dom/Document.cpp:
57043         (WebCore::Document::parentDocument):
57044
57045 2010-09-09  Darin Adler  <darin@apple.com>
57046
57047         Reviewed by Adam Barth.
57048
57049         Move functions from Frame to SelectionController as planned
57050         https://bugs.webkit.org/show_bug.cgi?id=45508
57051
57052         Also removed Frame::dragCaretController since it just called Page::dragCaretController.
57053
57054         * editing/SelectionController.cpp:
57055         (WebCore::SelectionController::setSelection):
57056         (WebCore::SelectionController::modify):
57057         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
57058         (WebCore::SelectionController::selectAll):
57059         (WebCore::SelectionController::focusedOrActiveStateChanged):
57060         (WebCore::SelectionController::notifyRendererOfSelectionChange):
57061         (WebCore::isFrameElement):
57062         (WebCore::SelectionController::setFocusedNodeIfNeeded):
57063         (WebCore::SelectionController::paintDragCaret):
57064         (WebCore::SelectionController::shouldDeleteSelection):
57065         (WebCore::SelectionController::selectionBounds):
57066         (WebCore::SelectionController::selectionTextRects):
57067         (WebCore::scanForForm):
57068         (WebCore::SelectionController::currentForm):
57069         (WebCore::SelectionController::revealSelection):
57070         (WebCore::SelectionController::setSelectionFromNone):
57071         (WebCore::SelectionController::shouldChangeSelection):
57072         * editing/SelectionController.h:
57073         Moved functions here from Frame.
57074
57075         * page/Frame.cpp:
57076         * page/Frame.h:
57077         Moved functions to SelectionController.
57078         Reorganized header to be easier to read and a bit more logical.
57079
57080         * WebCore.exp.in: Updated.
57081
57082         * dom/Document.cpp:
57083         (WebCore::Document::nodeChildrenWillBeRemoved):
57084         (WebCore::Document::nodeWillBeRemoved):
57085         Call Page::dragCaretController directly.
57086
57087         * dom/Element.cpp:
57088         (WebCore::Element::updateFocusAppearance):
57089         * dom/InputElement.cpp:
57090         (WebCore::InputElement::updateFocusAppearance):
57091         * editing/ApplyStyleCommand.cpp:
57092         (WebCore::ApplyStyleCommand::editingStyleAtPosition):
57093         * editing/DeleteSelectionCommand.cpp:
57094         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
57095         * editing/Editor.cpp:
57096         (WebCore::Editor::canSmartCopyOrDelete):
57097         (WebCore::Editor::textDirectionForSelection):
57098         (WebCore::Editor::appliedEditing):
57099         (WebCore::Editor::insertTextWithoutSendingTextEvent):
57100         (WebCore::Editor::advanceToNextMisspelling):
57101         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
57102         (WebCore::Editor::revealSelectionAfterEditingOperation):
57103         (WebCore::Editor::transpose):
57104         (WebCore::Editor::changeSelectionAfterCommand):
57105         (WebCore::Editor::computeAndSetTypingStyle):
57106         (WebCore::Editor::selectionComputedStyle):
57107         (WebCore::Editor::styleForSelectionStart):
57108         (WebCore::Editor::findString):
57109         * editing/EditorCommand.cpp:
57110         (WebCore::executeDelete):
57111         * editing/InsertLineBreakCommand.cpp:
57112         (WebCore::InsertLineBreakCommand::doApply):
57113         * editing/InsertTextCommand.cpp:
57114         (WebCore::InsertTextCommand::input):
57115         * editing/RemoveFormatCommand.cpp:
57116         (WebCore::RemoveFormatCommand::doApply):
57117         * editing/ReplaceSelectionCommand.cpp:
57118         (WebCore::ReplaceSelectionCommand::doApply):
57119         * editing/TypingCommand.cpp:
57120         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
57121         (WebCore::TypingCommand::deleteKeyPressed):
57122         (WebCore::TypingCommand::forwardDeleteKeyPressed):
57123         * html/HTMLTextAreaElement.cpp:
57124         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
57125         * page/ContextMenuController.cpp:
57126         (WebCore::ContextMenuController::contextMenuItemSelected):
57127         * page/DragController.cpp:
57128         (WebCore::DragController::concludeEditDrag):
57129         (WebCore::dragLocForSelectionDrag):
57130         * page/EventHandler.cpp:
57131         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
57132         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
57133         (WebCore::EventHandler::handleMousePressEventTripleClick):
57134         (WebCore::EventHandler::handleMousePressEventSingleClick):
57135         (WebCore::EventHandler::updateSelectionForMouseDrag):
57136         (WebCore::EventHandler::handleMouseReleaseEvent):
57137         * page/FocusController.cpp:
57138         (WebCore::FocusController::advanceFocusInDocumentOrder):
57139         * page/chromium/EventHandlerChromium.cpp:
57140         (WebCore::EventHandler::passMousePressEventToSubframe):
57141         * page/chromium/FrameChromium.cpp:
57142         (WebCore::Frame::dragImageForSelection):
57143         * page/mac/FrameMac.mm:
57144         (WebCore::Frame::selectionImage):
57145         * platform/mac/ClipboardMac.mm:
57146         (WebCore::ClipboardMac::writeRange):
57147         * rendering/RenderBlock.cpp:
57148         (WebCore::RenderBlock::paintCaret):
57149         Call functions on selection().
57150
57151 2010-09-10  Justin Schuh  <jschuh@chromium.org>
57152
57153         Reviewed by Darin Adler.
57154
57155         SVGGElement::rendererIsNeeded should return false when parent isn't SVG
57156         https://bugs.webkit.org/show_bug.cgi?id=45562
57157
57158         Test: svg/custom/g-outside-svg.html
57159
57160         * svg/SVGGElement.cpp:
57161         (WebCore::SVGGElement::rendererIsNeeded):
57162         * svg/SVGGElement.h:
57163
57164 2010-09-10  Adam Barth  <abarth@webkit.org>
57165
57166         Reviewed by Darin Adler.
57167
57168         REGRESSION (HTML Parser): CNN's Money site is not formatted correctly with AdBlock installed
57169         https://bugs.webkit.org/show_bug.cgi?id=41371
57170
57171         Drop support for closing comments with "-- >".  This was an attempt to
57172         be more IE-like in comment parsing, but it turns out to cause problems
57173         for some high-profile sites.  Firefox 4 is dropping support as well.
57174         We expect the spec to change soon too.
57175
57176         * html/parser/HTMLTokenizer.cpp:
57177         (WebCore::HTMLTokenizer::nextToken):
57178         * html/parser/HTMLTokenizer.h:
57179
57180 2010-09-10  Chris Marrin  <cmarrin@apple.com>
57181
57182         Unreviewed.
57183
57184         Adding file that should have been in http://trac.webkit.org/changeset/67226 but 
57185         I forgot to svn add.
57186         
57187         * platform/graphics/opengl: Added.
57188         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
57189
57190 2010-09-10  Paul Sawaya  <psawaya@apple.com>
57191
57192         Reviewed by Chris Marrin.
57193
57194         Refactored non-Mac specific code into GraphicsContext3DOpenGL.
57195         
57196         Moving this file into platform/graphics/opengl and only building on Mac for now.
57197         
57198         https://bugs.webkit.org/show_bug.cgi?id=30625
57199
57200         * WebCore.xcodeproj/project.pbxproj:
57201         * platform/graphics/mac/GraphicsContext3DMac.mm:
57202         (WebCore::GraphicsContext3D::makeContextCurrent):
57203         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
57204         * platform/graphics/opengl: Added.
57205         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
57206         (WebCore::GraphicsContext3D::prepareTexture):
57207         (WebCore::GraphicsContext3D::activeTexture):
57208         (WebCore::GraphicsContext3D::attachShader):
57209         (WebCore::GraphicsContext3D::bindAttribLocation):
57210         (WebCore::GraphicsContext3D::bindBuffer):
57211         (WebCore::GraphicsContext3D::bindFramebuffer):
57212         (WebCore::GraphicsContext3D::bindRenderbuffer):
57213         (WebCore::GraphicsContext3D::bindTexture):
57214         (WebCore::GraphicsContext3D::blendColor):
57215         (WebCore::GraphicsContext3D::blendEquation):
57216         (WebCore::GraphicsContext3D::blendEquationSeparate):
57217         (WebCore::GraphicsContext3D::blendFunc):
57218         (WebCore::GraphicsContext3D::blendFuncSeparate):
57219         (WebCore::GraphicsContext3D::bufferData):
57220         (WebCore::GraphicsContext3D::bufferSubData):
57221         (WebCore::GraphicsContext3D::checkFramebufferStatus):
57222         (WebCore::GraphicsContext3D::clearColor):
57223         (WebCore::GraphicsContext3D::clear):
57224         (WebCore::GraphicsContext3D::clearDepth):
57225         (WebCore::GraphicsContext3D::clearStencil):
57226         (WebCore::GraphicsContext3D::colorMask):
57227         (WebCore::GraphicsContext3D::compileShader):
57228         (WebCore::GraphicsContext3D::copyTexImage2D):
57229         (WebCore::GraphicsContext3D::copyTexSubImage2D):
57230         (WebCore::GraphicsContext3D::cullFace):
57231         (WebCore::GraphicsContext3D::depthFunc):
57232         (WebCore::GraphicsContext3D::depthMask):
57233         (WebCore::GraphicsContext3D::depthRange):
57234         (WebCore::GraphicsContext3D::detachShader):
57235         (WebCore::GraphicsContext3D::disable):
57236         (WebCore::GraphicsContext3D::disableVertexAttribArray):
57237         (WebCore::GraphicsContext3D::drawArrays):
57238         (WebCore::GraphicsContext3D::drawElements):
57239         (WebCore::GraphicsContext3D::enable):
57240         (WebCore::GraphicsContext3D::enableVertexAttribArray):
57241         (WebCore::GraphicsContext3D::finish):
57242         (WebCore::GraphicsContext3D::flush):
57243         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
57244         (WebCore::GraphicsContext3D::framebufferTexture2D):
57245         (WebCore::GraphicsContext3D::frontFace):
57246         (WebCore::GraphicsContext3D::generateMipmap):
57247         (WebCore::GraphicsContext3D::getActiveAttrib):
57248         (WebCore::GraphicsContext3D::getActiveUniform):
57249         (WebCore::GraphicsContext3D::getAttachedShaders):
57250         (WebCore::GraphicsContext3D::getAttribLocation):
57251         (WebCore::GraphicsContext3D::getError):
57252         (WebCore::GraphicsContext3D::getString):
57253         (WebCore::GraphicsContext3D::hint):
57254         (WebCore::GraphicsContext3D::isBuffer):
57255         (WebCore::GraphicsContext3D::isEnabled):
57256         (WebCore::GraphicsContext3D::isFramebuffer):
57257         (WebCore::GraphicsContext3D::isProgram):
57258         (WebCore::GraphicsContext3D::isRenderbuffer):
57259         (WebCore::GraphicsContext3D::isShader):
57260         (WebCore::GraphicsContext3D::isTexture):
57261         (WebCore::GraphicsContext3D::lineWidth):
57262         (WebCore::GraphicsContext3D::linkProgram):
57263         (WebCore::GraphicsContext3D::pixelStorei):
57264         (WebCore::GraphicsContext3D::polygonOffset):
57265         (WebCore::GraphicsContext3D::readPixels):
57266         (WebCore::GraphicsContext3D::releaseShaderCompiler):
57267         (WebCore::GraphicsContext3D::renderbufferStorage):
57268         (WebCore::GraphicsContext3D::sampleCoverage):
57269         (WebCore::GraphicsContext3D::scissor):
57270         (WebCore::GraphicsContext3D::shaderSource):
57271         (WebCore::GraphicsContext3D::stencilFunc):
57272         (WebCore::GraphicsContext3D::stencilFuncSeparate):
57273         (WebCore::GraphicsContext3D::stencilMask):
57274         (WebCore::GraphicsContext3D::stencilMaskSeparate):
57275         (WebCore::GraphicsContext3D::stencilOp):
57276         (WebCore::GraphicsContext3D::stencilOpSeparate):
57277         (WebCore::GraphicsContext3D::texParameterf):
57278         (WebCore::GraphicsContext3D::texParameteri):
57279         (WebCore::GraphicsContext3D::uniform1f):
57280         (WebCore::GraphicsContext3D::uniform1fv):
57281         (WebCore::GraphicsContext3D::uniform2f):
57282         (WebCore::GraphicsContext3D::uniform2fv):
57283         (WebCore::GraphicsContext3D::uniform3f):
57284         (WebCore::GraphicsContext3D::uniform3fv):
57285         (WebCore::GraphicsContext3D::uniform4f):
57286         (WebCore::GraphicsContext3D::uniform4fv):
57287         (WebCore::GraphicsContext3D::uniform1i):
57288         (WebCore::GraphicsContext3D::uniform1iv):
57289         (WebCore::GraphicsContext3D::uniform2i):
57290         (WebCore::GraphicsContext3D::uniform2iv):
57291         (WebCore::GraphicsContext3D::uniform3i):
57292         (WebCore::GraphicsContext3D::uniform3iv):
57293         (WebCore::GraphicsContext3D::uniform4i):
57294         (WebCore::GraphicsContext3D::uniform4iv):
57295         (WebCore::GraphicsContext3D::uniformMatrix2fv):
57296         (WebCore::GraphicsContext3D::uniformMatrix3fv):
57297         (WebCore::GraphicsContext3D::uniformMatrix4fv):
57298         (WebCore::GraphicsContext3D::useProgram):
57299         (WebCore::GraphicsContext3D::validateProgram):
57300         (WebCore::GraphicsContext3D::vertexAttrib1f):
57301         (WebCore::GraphicsContext3D::vertexAttrib1fv):
57302         (WebCore::GraphicsContext3D::vertexAttrib2f):
57303         (WebCore::GraphicsContext3D::vertexAttrib2fv):
57304         (WebCore::GraphicsContext3D::vertexAttrib3f):
57305         (WebCore::GraphicsContext3D::vertexAttrib3fv):
57306         (WebCore::GraphicsContext3D::vertexAttrib4f):
57307         (WebCore::GraphicsContext3D::vertexAttrib4fv):
57308         (WebCore::GraphicsContext3D::vertexAttribPointer):
57309         (WebCore::GraphicsContext3D::viewport):
57310         (WebCore::GraphicsContext3D::getBooleanv):
57311         (WebCore::GraphicsContext3D::getBufferParameteriv):
57312         (WebCore::GraphicsContext3D::getFloatv):
57313         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
57314         (WebCore::GraphicsContext3D::getIntegerv):
57315         (WebCore::GraphicsContext3D::getProgramiv):
57316         (WebCore::GraphicsContext3D::getProgramInfoLog):
57317         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
57318         (WebCore::GraphicsContext3D::getShaderiv):
57319         (WebCore::GraphicsContext3D::getShaderInfoLog):
57320         (WebCore::GraphicsContext3D::getShaderSource):
57321         (WebCore::GraphicsContext3D::getTexParameterfv):
57322         (WebCore::GraphicsContext3D::getTexParameteriv):
57323         (WebCore::GraphicsContext3D::getUniformfv):
57324         (WebCore::GraphicsContext3D::getUniformiv):
57325         (WebCore::GraphicsContext3D::getUniformLocation):
57326         (WebCore::GraphicsContext3D::getVertexAttribfv):
57327         (WebCore::GraphicsContext3D::getVertexAttribiv):
57328         (WebCore::GraphicsContext3D::getVertexAttribOffset):
57329         (WebCore::GraphicsContext3D::texImage2D):
57330         (WebCore::GraphicsContext3D::texSubImage2D):
57331         (WebCore::GraphicsContext3D::createBuffer):
57332         (WebCore::GraphicsContext3D::createFramebuffer):
57333         (WebCore::GraphicsContext3D::createProgram):
57334         (WebCore::GraphicsContext3D::createRenderbuffer):
57335         (WebCore::GraphicsContext3D::createShader):
57336         (WebCore::GraphicsContext3D::createTexture):
57337         (WebCore::GraphicsContext3D::deleteBuffer):
57338         (WebCore::GraphicsContext3D::deleteFramebuffer):
57339         (WebCore::GraphicsContext3D::deleteProgram):
57340         (WebCore::GraphicsContext3D::deleteRenderbuffer):
57341         (WebCore::GraphicsContext3D::deleteShader):
57342         (WebCore::GraphicsContext3D::deleteTexture):
57343
57344 2010-09-10  Oliver Hunt  <oliver@apple.com>
57345
57346         Qt build fix.
57347
57348         * bindings/js/SerializedScriptValue.cpp:
57349         (WebCore::CloneDeserializer::deserialize):
57350
57351 2010-09-10  Adam Barth  <abarth@webkit.org>
57352
57353         Reviewed by Darin Adler.
57354
57355         Remove useless FrameLoader method
57356         https://bugs.webkit.org/show_bug.cgi?id=45492
57357
57358         This method has one caller, and that caller already has a more direct
57359         way of accessing the correct DocumentLoader.
57360
57361         * loader/FrameLoader.cpp:
57362         * loader/FrameLoader.h:
57363         * loader/MainResourceLoader.cpp:
57364         (WebCore::MainResourceLoader::addData):
57365
57366 2010-09-10  Adam Barth  <abarth@webkit.org>
57367
57368         Reviewed by Eric Seidel.
57369
57370         Main resource bytes shouldn't bounce through FrameLoader
57371         https://bugs.webkit.org/show_bug.cgi?id=45496
57372
57373         After the MainResourceLoader hands the bytes for the main resource to
57374         the DocumentLoader, the DocumentLoader hands the bytes to the
57375         FrameLoaderClient.  The FrameLoaderClient, in turn, returns the bytes
57376         to WebCore.  Prior to this patch, the FrameLoaderClient returned the
57377         bytes to the FrameLoader.  However, the FrameLoader was actually adding
57378         any value.
57379
57380         In this patch, we change the FrameLoaderClient to return the bytes to
57381         the DocumentLoader directly.  In a future patch, we'll cut out the
57382         FrameLoaderClient middleman and handle the bytes internally in the
57383         DocumentLoader.
57384
57385         * WebCore.exp.in:
57386         * loader/DocumentLoader.cpp:
57387         (WebCore::DocumentLoader::addData):
57388         * loader/DocumentLoader.h:
57389         * loader/FrameLoader.cpp:
57390         (WebCore::FrameLoader::finishedLoadingDocument):
57391         * loader/FrameLoader.h:
57392
57393 2010-09-10  Oliver Hunt  <oliver@apple.com>
57394
57395         Reviewed by Darin Adler.
57396
57397         Speed up deserialisation of strings
57398         https://bugs.webkit.org/show_bug.cgi?id=45555
57399
57400         Rather than building a list of Identifiers for the string pool
57401         we now build a list of a tuple of UString and JSString*.  This
57402         doesn't hurt the property name case as ustring->identifier conversion
57403         is essentially free if the ustring has already been converted to
57404         an Identifier, but saves an unnecessary Identifier creation for
57405         strings we only ever use to create JSStrings.  We also reduce
57406         GC pressure for duplicate strings by caching the JSStrings.
57407
57408         * bindings/js/SerializedScriptValue.cpp:
57409         (WebCore::CloneDeserializer::CachedString::CachedString):
57410         (WebCore::CloneDeserializer::CachedString::jsString):
57411         (WebCore::CloneDeserializer::CachedString::ustring):
57412         (WebCore::CloneDeserializer::readStringData):
57413         (WebCore::CloneDeserializer::putProperty):
57414         (WebCore::CloneDeserializer::readFile):
57415         (WebCore::CloneDeserializer::readTerminal):
57416         (WebCore::CloneDeserializer::deserialize):
57417
57418 2010-09-10  Ryosuke Niwa  <rniwa@webkit.org>
57419
57420         Reviewed by Antonio Gomes.
57421
57422         REGRESSION(r67176): editing/selection/doubleclick-inline-first-last-contenteditable.html crashes
57423         https://bugs.webkit.org/show_bug.cgi?id=45525
57424
57425         The crash was caused by ancestorToRetainStructureAndAppearance not taking into consideration
57426         the case where there is no common block ancestor. Fixed this by adding a null check.
57427
57428         Test: editing/pasteboard/copy-without-common-block-crash.html
57429
57430         * editing/markup.cpp:
57431         (WebCore::ancestorToRetainStructureAndAppearance): Added a null check.
57432
57433 2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
57434
57435         Reviewed by Dumitru Daniliuc.
57436
57437         [FileSystem] Do not call EntriesCallback more than once if there're no entries.
57438         https://bugs.webkit.org/show_bug.cgi?id=45498
57439
57440         No new tests, layout-tests that confirm the behavior will be added in later patches.
57441
57442         * fileapi/FileSystemCallbacks.cpp:
57443         (WebCore::EntriesCallbacks::EntriesCallbacks):
57444         (WebCore::EntriesCallbacks::didReadDirectoryEntry):
57445         (WebCore::EntriesCallbacks::didReadDirectoryEntries):
57446
57447 2010-09-10  Patrick Gansterer  <paroga@paroga.com>
57448
57449         Reviewed by Darin Adler.
57450
57451         Use String::fromUTF8 instead of UTF8Encoding().decode
57452         in the libxml XMLDocumentParser
57453         https://bugs.webkit.org/show_bug.cgi?id=45488
57454
57455         * dom/XMLDocumentParserLibxml2.cpp:
57456         (WebCore::toString):
57457
57458 2010-09-10  Chris Fleizach  <cfleizach@apple.com>
57459
57460         Reviewed by David Kilzer.
57461
57462         AX: accessibility not returning strings when visibility is hidden
57463         https://bugs.webkit.org/show_bug.cgi?id=45116
57464
57465         AX code uses plainText() in TextIterator to get the text for a node.
57466         However, when that node is not visible, no text is returned because TextIterator ignores
57467         clipped nodes and other hidden elements.
57468
57469         Solution is to add a new text iterator behavior for ignoring style visiblity. This allows
57470         for text to allows be returned for accessibility purposes.
57471
57472         Test: platform/mac/accessibility/clipped-text-under-element.html
57473
57474         * WebCore.exp.in:
57475         * accessibility/AccessibilityRenderObject.cpp:
57476         (WebCore::AccessibilityRenderObject::textUnderElement):
57477         (WebCore::AccessibilityRenderObject::stringValue):
57478            Use the new flag for plainText
57479         * editing/TextIterator.cpp:
57480         (WebCore::TextIterator::TextIterator):
57481         (WebCore::TextIterator::handleTextNode):
57482         (WebCore::TextIterator::handleTextBox):
57483         (WebCore::TextIterator::handleTextNodeFirstLetter):
57484         (WebCore::TextIterator::handleReplacedElement):
57485            Use the new flag to NOT skip hidden elements.
57486         (WebCore::plainTextToMallocAllocatedBuffer):
57487         (WebCore::plainText):
57488         * editing/TextIterator.h:
57489            Add the new text iterator behavior.
57490
57491 2010-09-10  Chris Fleizach  <cfleizach@apple.com>
57492
57493         Reviewed by David Kilzer.
57494
57495         Mail crashes with searching for next misspelled word with VoiceOver
57496         https://bugs.webkit.org/show_bug.cgi?id=45501
57497
57498         Test: platform/mac/accessibility/crash-in-element-for-text-marker.html
57499
57500         * accessibility/mac/AccessibilityObjectWrapper.mm:
57501         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
57502             Check that the AX object is not nil before asking for the wrapper().
57503
57504 2010-09-10  Michael Nordman  <michaeln@google.com>
57505
57506         Reviewed by Dumitru Daniliuc.
57507
57508         Decouple Blob from ScriptExecutionContext.
57509         https://bugs.webkit.org/show_bug.cgi?id=45410
57510
57511         - Removed ScriptExecutionContext pointers from Blob and File constructors.
57512         - Removed ScriptExecutionContext's collection of Blobs instance in that context.
57513         - Refactored BlobURL to make a distinction between 'public' blob urls and 'internal'
57514           urls that are used solely as identifiers. The former requires a SecurityOrigin to
57515           to manufacture, the latter does not.
57516         - Added a constant and accessor for the blob protocol scheme on the BlobURL class.
57517
57518         No new tests are added since this is a cleanup.
57519
57520         * bindings/js/SerializedScriptValue.cpp:
57521         (WebCore::CloneDeserializer::readFile):
57522         (WebCore::CloneDeserializer::readTerminal):
57523         * bindings/v8/SerializedScriptValue.cpp:
57524         (WebCore::ZigZag::Reader::readBlob):
57525         (WebCore::ZigZag::Reader::readFile):
57526         (WebCore::ZigZag::Reader::readFileList):
57527         * dom/ScriptExecutionContext.cpp:
57528         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
57529         (WebCore::ScriptExecutionContext::createPublicBlobURL):
57530         (WebCore::ScriptExecutionContext::revokePublicBlobURL):
57531         * dom/ScriptExecutionContext.h:
57532         * fileapi/Blob.cpp:
57533         (WebCore::Blob::Blob):
57534         (WebCore::Blob::~Blob):
57535         (WebCore::Blob::slice):
57536         * fileapi/Blob.h:
57537         (WebCore::Blob::create):
57538         (WebCore::Blob::url):
57539         * fileapi/Blob.idl:
57540         * fileapi/BlobBuilder.cpp:
57541         (WebCore::BlobBuilder::getBlob):
57542         * fileapi/BlobBuilder.h:
57543         * fileapi/BlobBuilder.idl:
57544         * fileapi/BlobURL.cpp:
57545         (WebCore::BlobURL::createPublicURL):
57546         (WebCore::BlobURL::createInternalURL):
57547         (WebCore::BlobURL::getOrigin):
57548         (WebCore::BlobURL::getIdentifier):
57549         (WebCore::BlobURL::createBlobURL):
57550         * fileapi/BlobURL.h:
57551         (WebCore::BlobURL::blobProtocol):
57552         (WebCore::BlobURL::BlobURL):
57553         * fileapi/File.cpp:
57554         (WebCore::File::File):
57555         * fileapi/File.h:
57556         (WebCore::File::create):
57557         * fileapi/FileReader.cpp: Register a public url to perform the read.
57558         (WebCore::FileReader::cleanup):
57559         (WebCore::FileReader::start):
57560         (WebCore::FileReader::didFinishLoading):
57561         (WebCore::FileReader::failed):
57562         * fileapi/FileReader.h: Added m_urlForReading data member.
57563         * fileapi/FileReaderSync.cpp:
57564         (WebCore::FileReaderSync::read): Register a public url to perform the read.
57565         * fileapi/ThreadableBlobRegistry.cpp:
57566         (WebCore::ThreadableBlobRegistry::registerBlobURL):
57567         (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
57568         * fileapi/ThreadableBlobRegistry.h:
57569         * html/HTMLInputElement.cpp:
57570         (WebCore::HTMLInputElement::appendFormData):
57571         (WebCore::HTMLInputElement::setFileListFromRenderer):
57572         * page/SecurityOrigin.cpp: Use BlobURL.blobProtocol().
57573         (WebCore::SecurityOrigin::create):
57574         (WebCore::SecurityOrigin::canRequest):
57575         (WebCore::SecurityOrigin::canDisplay):
57576         * platform/chromium/ClipboardChromium.cpp:
57577         (WebCore::ClipboardChromium::files):
57578         * platform/gtk/ClipboardGtk.cpp:
57579         (WebCore::ClipboardGtk::files):
57580         * platform/mac/ClipboardMac.mm:
57581         (WebCore::ClipboardMac::files):
57582         * platform/win/ClipboardWin.cpp:
57583         (WebCore::ClipboardWin::files):
57584
57585 2010-09-10  Xan Lopez  <xlopez@igalia.com>
57586
57587         Reviewed by Martin Robinson.
57588
57589         GDK_DISPLAY was removed in GTK+ 3.x, re-declare it when built
57590         against that.
57591
57592         * platform/gtk/GtkVersioning.h:
57593
57594 2010-09-10  Xan Lopez  <xlopez@igalia.com>
57595
57596         Reviewed by Martin Robinson.
57597
57598         Fix compilation with GTK+ 3.x.
57599
57600         GDK key macros were renamed from GDK_FOO to GDK_KEY_FOO, we need
57601         to include the compat header provided if we want to keep using the
57602         old names.
57603
57604         * platform/gtk/GtkVersioning.h: add the compatibility header.
57605         * platform/gtk/KeyEventGtk.cpp: include GtkVersioning.h
57606
57607 2010-09-09  Tony Gentilcore  <tonyg@chromium.org>
57608
57609         Reviewed by Eric Seidel.
57610
57611         Factor out the NestingLevelIncrementer
57612         https://bugs.webkit.org/show_bug.cgi?id=45471
57613
57614         No new tests because no new functionality.
57615
57616         * GNUmakefile.am:
57617         * WebCore.gypi:
57618         * WebCore.vcproj/WebCore.vcproj:
57619         * WebCore.xcodeproj/project.pbxproj:
57620         * html/parser/HTMLDocumentParser.cpp:
57621         * html/parser/HTMLDocumentParser.h:
57622         * html/parser/HTMLScriptRunner.cpp:
57623         * html/parser/NestingLevelIncrementer.h: Added.
57624         (WebCore::NestingLevelIncrementer::NestingLevelIncrementer):
57625         (WebCore::NestingLevelIncrementer::~NestingLevelIncrementer):
57626
57627 2010-09-10  Nikolas Zimmermann  <nzimmermann@rim.com>
57628
57629         Reviewed by Dirk Schulze.
57630
57631         SVG text chunk concept needs to be integrated in the InlineBox structure
57632         https://bugs.webkit.org/show_bug.cgi?id=45533
57633
57634         Begin rewriting the SVG text layout code. As first step move the text chunk concept right into the inline box structure.
57635         This obsoletes the whole text chunk part concept (see SVGTextChunkLayoutInfo.h for details), and will soon simplify the
57636         whole layout code a lot. Previously we hacked around the fact that a single InlineTextBox could contain multiple text chunks
57637         For example: <text x="20 30 40">ABC</text> only led to the creation of one InlineTextBox containing three chunks. When
57638         painting such an InlineTextBox, we had to do nasty hacks (same for text selection etc.)
57639         
57640         This is finally fixed by incorporating the knownledge about text chunks into the line layout algorithm.
57641         Note, this has no impact on HTML at all, no worries.
57642
57643         It's even required to do it this way as BiDi reordering shouldn't happen across text chunks.
57644         These are only the first bits, and currently slows down text layouting. Follow-up patches will remove the old layout
57645         algorithm, and will rely on the stored SVGTextLayoutAttributes in the RenerSVGInlineText renderers (instead of computing again).
57646
57647         * Android.mk: Add rendering/svg/SVGTextLayoutAttributes.* & rendering/svg/SVGTextLayoutBuilder.* to build.
57648         * CMakeLists.txt: Ditto.
57649         * GNUmakefile.am: Ditto.
57650         * WebCore.gyp/WebCore.gyp: Ditto.
57651         * WebCore.gypi: Ditto.
57652         * WebCore.pro: Ditto.
57653         * WebCore.vcproj/WebCore.vcproj: Ditto.
57654         * WebCore.vcproj/WebCoreCommon.vsprops: Ditto. (Recognize new rendering/svg directory.)
57655         * WebCore.vcproj/copyForwardingHeaders.cmd: Ditto. (Copy forwarding headers from rendering/svg directory.)
57656         * WebCore.xcodeproj/project.pbxproj: Ditto.
57657         * rendering/RenderBlockLineLayout.cpp: This is the key of the new concept, take text chunks into account when building the InlineBox structure.
57658         (WebCore::RenderBlock::findNextLineBreak): Split midpointState, if we encounter the beginning of a new text chunk.
57659         * rendering/RenderObject.h:
57660         (WebCore::RenderObject::isSVGInline): New method, which will be used to identify RenderSVGInline objects.
57661         * rendering/RenderSVGInline.h:
57662         (WebCore::RenderSVGInline::isSVGInline): Return true.
57663         * rendering/RenderSVGInlineText.cpp:
57664         (WebCore::RenderSVGInlineText::linesBoundingBox): Overriden, to simplify the calculations for SVG.
57665         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Determines wheter the given position starts a new text chunk.
57666         * rendering/RenderSVGInlineText.h:
57667         (WebCore::RenderSVGInlineText::storeLayoutAttributes): Stores the layout attributes calculated in the text layout process (will be used everywhere in follow-up patches).
57668         * rendering/RenderSVGText.cpp:
57669         (WebCore::RenderSVGText::layout): Invoke SVGTextLayoutBuilder before creating the inline box tree, so we can decide which characters start new text chunks.
57670         * rendering/RenderText.h: Made linesBoundingBox() virtual so RenderSVGInlineText can override it.
57671         * rendering/svg: Added.
57672         * rendering/svg/SVGTextLayoutAttributes.cpp: Added. Holds x/y/dx/dy/rotate values and all kerning/ligature information used during layout.
57673         * rendering/svg/SVGTextLayoutAttributes.h: Added.
57674         * rendering/svg/SVGTextLayoutBuilder.cpp: Added.
57675         * rendering/svg/SVGTextLayoutBuilder.h: Added.
57676
57677 2010-09-10  Csaba Osztrogonác  <ossy@webkit.org>
57678
57679         Unreviewed fix after r67085.
57680
57681         * WebCore.pro: Fix previously moved filenames.
57682
57683 2010-09-10  Adam Barth  <abarth@webkit.org>
57684
57685         Reviewed by Eric Seidel.
57686
57687         Inline FrameLoader::committedLoad into its one caller
57688         https://bugs.webkit.org/show_bug.cgi?id=45481
57689
57690         This saves one round-trip through the FrameLoader when loading
57691         documents.
57692
57693         * loader/DocumentLoader.cpp:
57694         (WebCore::DocumentLoader::commitLoad):
57695         * loader/FrameLoader.cpp:
57696         * loader/FrameLoader.h:
57697
57698 2010-09-10  Patrick Gansterer  <paroga@paroga.com>
57699
57700         Reviewed by Adam Roben.
57701
57702         [WINCE] Remove ImageBuffer::toDataURL implementation
57703         https://bugs.webkit.org/show_bug.cgi?id=45478
57704
57705         At the moment ImageBuffer::toDataURL uses JPEGEncoder.h and PNGEncoder.h.
57706         Both files are not in the repository. So remove the implementation for now.
57707
57708         * platform/graphics/wince/ImageBufferWince.cpp:
57709         (WebCore::ImageBuffer::toDataURL):
57710
57711 2010-09-10  Andreas Kling  <andreas.kling@nokia.com>
57712
57713         Reviewed by Antonio Gomes.
57714
57715         WebGL: Fix GCC warnings about suggested parentheses around && within ||
57716         https://bugs.webkit.org/show_bug.cgi?id=45534
57717
57718         * html/canvas/WebGLRenderingContext.cpp:
57719         (WebCore::WebGLRenderingContext::getVertexAttrib):
57720         (WebCore::WebGLRenderingContext::readPixels):
57721         (WebCore::WebGLRenderingContext::texParameter):
57722         (WebCore::WebGLRenderingContext::handleNPOTTextures):
57723
57724 2010-09-09  Alexander Pavlov  <apavlov@chromium.org>
57725
57726         Reviewed by Yury Semikhatsky.
57727
57728         Web Inspector: Add navigation items into the Elements panel context menu.
57729
57730         For all anchors that have the class of "webkit-html-resource-link" or "webkit-html-external-link",
57731         a custom context menu with the items "Open Link in New Window" (invokes InspectorBackend.openInInspectedWindow() with
57732         the related URL) and "Open Link in Resources Panel" (opens the related resource in the Resources panel) is shown
57733         (the latter item is displayed only if the corresponding resource is known to the Web Inspector).
57734         https://bugs.webkit.org/show_bug.cgi?id=34250
57735
57736         * English.lproj/localizedStrings.js:
57737         * inspector/front-end/ElementsPanel.js:
57738         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
57739         * inspector/front-end/ElementsTreeOutline.js:
57740         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
57741         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
57742         * inspector/front-end/StylesSidebarPane.js:
57743         (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
57744         * inspector/front-end/inspector.js:
57745         (WebInspector.openResource):
57746         (WebInspector.resourceURLForRelatedNode):
57747
57748 2010-09-10  Kwang Yul Seo  <skyul@company100.net>
57749
57750         Reviewed by James Robinson.
57751
57752         Make sure skia is not Chromium specific
57753         https://bugs.webkit.org/show_bug.cgi?id=39672
57754
57755         Move Image::loadPlatformResource to platform/graphics/chromium/ImageChromium.cpp.
57756         Other ports can use ImageSkia.cpp.
57757
57758         No new tests because this is pure refacotring.
57759
57760         * WebCore.gyp/WebCore.gyp:
57761         * WebCore.gypi:
57762         * platform/graphics/chromium/ImageChromium.cpp: Added.
57763         (WebCore::Image::loadPlatformResource):
57764         * platform/graphics/skia/ImageSkia.cpp:
57765
57766 2010-09-09  Ilya Tikhonovsky  <loislo@chromium.org>
57767
57768         Reviewed by Joseph Pecoraro.
57769
57770         WebInspector: Selecting 'inspect element' always shows body in inspector instead of clicked element.
57771
57772         1. Open any page
57773         2. Right-click on any element, select "Inspect Element"
57774         3. Web Inspector is opened but the <body> element (for HTML) is focused rather than the selected element
57775         4. Inspect the Web Inspector. An error message is logged in the console.
57776
57777         The regression was introduced in http://trac.webkit.org/changeset/66012 - focusNode() is invoked in
57778         InspectorController::populateScriptObjects() before the main document is set for the InspectorDOMAgent
57779         instance (which makes focusNode() bail out prematurely).
57780
57781         https://bugs.webkit.org/show_bug.cgi?id=45374
57782
57783         * inspector/InspectorController.cpp:
57784         (WebCore::InspectorController::populateScriptObjects):
57785
57786 2010-09-10  Cris Neckar  <cdn@chromium.org>
57787
57788         Reviewed by Chris Fleizach.
57789
57790         Null deref in RenderBlock::updateFirstLetter(). Check for null psuedo style.
57791         https://bugs.webkit.org/show_bug.cgi?id=45404
57792
57793         Test: fast/dom/firstletter-tablecell-crash.html
57794
57795         * rendering/RenderBlock.cpp:
57796         (WebCore::RenderBlock::updateFirstLetter):
57797
57798 2010-09-10  Cris Neckar  <cdn@chromium.org>
57799
57800         Reviewed by Chris Fleizach.
57801
57802         Null deref in RenderBlock::findNextLineBreak(). Check for null style with
57803         first-line style and fixed position.
57804         https://bugs.webkit.org/show_bug.cgi?id=45350
57805
57806         Test: fast/dom/firstline-fixed-crash.html
57807
57808         * rendering/RenderBlockLineLayout.cpp:
57809         (WebCore::RenderBlock::findNextLineBreak):
57810
57811 2010-09-10  Eric Seidel  <eric@webkit.org>
57812
57813         Reviewed by Dimitri Glazkov.
57814
57815         Remove support for non-lazy attach and fix frames to load from insertedIntoDocument instead of attach
57816         https://bugs.webkit.org/show_bug.cgi?id=45365
57817
57818         This change is the last piece of the puzzle which was preventing us from
57819         removing all eager-attach logic and moving WebCore to using an entirely
57820         recalcStyle-driven, on-demand renderer creation system, instead of every
57821         element being synchronously attached during parsing, regardless of whether
57822         it was ever going to be displayed or not.
57823
57824         This does not change the places we call lazyAttach vs. attach.  This only
57825         changes the behavior of frame/plugin elements when lazyAttach is called.
57826         Previously lazyAttach would eager-attach those elements (and their ancestors)
57827         because they were marked as canLazyAttach() { return false; }.
57828
57829         This is a very tricky change, please review carefully.
57830
57831         Mostly I'm moving logic which used to be in attach() into
57832         insertedIntoDocument.  Once it was there, there was no longer any reason
57833         why frame elements couldn't lazyAttach, thus removing the need
57834         for the non-lazy attach code path entirely.
57835         We've not yet converted all callsites over to using lazyAttach() instead
57836         of attach() however.
57837
57838         In order to move frame loading logic into insertedIntoDocument
57839         instead of attach, I needed to make sure that any javascript calls
57840         during the load would see an attached element.  Thus I needed to mark
57841         the element as needing style resolve so that it would attach itself
57842         if needed.
57843
57844         I was not able to just call lazyAttach() from insertedIntoDocument directly
57845         due to two conflicting assumptions in the rendering tree:
57846          1. ContainerNode::attach() assumes its "safe" to call attach on all children
57847             without checking first if the child is already attached.  This seems sane
57848             since its strange to think of a subtree as being attached w/o ancestors
57849             already being attached.  Although it is a hard rule that subtrees may not
57850             have renderers w/o ancestors also having renderers, I do not believe it's
57851             a hard rule that subtrees may not be attached.  Remember, attached() does
57852             not imply renderer()!  It's possible ContainerNode::attach()'s assumption is wrong here.
57853          2. Node::attach() asserts !attached().  This makes sense and I would not
57854             want to remove this assert, however it means that if insertedIntoDocument
57855             were to call lazyAttach() (thus marking the element as attached()) then
57856             all callers would need to check if the element was already attached after
57857             insertedIntoDocument (called by appendChild, parserAppendChild, etc.)
57858             before calling attach or lazyAttach().  The following example:
57859             element.innerHTML = "<span><iframe></span>" is one case where this
57860             ASSERT would be hit if insertedIntoDocument called lazyAttach, since
57861             ContainerNode::attach() (called on the span by in appendChild(DocumentFragment) code)
57862             does not check if iframe is already attached.
57863
57864         Note: One subtle change here is that synchronous javascript which results
57865         from javascript: or beforeload is now run as part of insertedIntoDocument
57866         (thus any insert/append call *even* parserAddChild) instead of being
57867         run during attach (technically in the post-attach callbacks).
57868
57869         This is covered by numerous layout tests.
57870
57871         * dom/ContainerNode.cpp:
57872         (WebCore::willRemoveChild):
57873         (WebCore::willRemoveChildren):
57874          - Since insertedIntoDocument starts a load and yet does not mark the
57875            element as attached, we need to always call willRemove().
57876            See note above as to why we don't just mark attached() in insertedIntoDocument.
57877         * dom/Node.cpp:
57878         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
57879          - Share some code between lazyAttach and setNeedsStyleRecalc.
57880         (WebCore::Node::setNeedsStyleRecalc):
57881          - Use the new markAncestorsWithChildNeedsStyleRecalc
57882         (WebCore::Node::lazyAttach):
57883          - Remove the non-lazy code path, and use markAncestorsWithChildNeedsStyleRecalc.
57884          - Add an option to lazyAttach without marking attached(), used by HTMLFrameElementBase::insertedIntoDocument.
57885         * dom/Node.h:
57886         * html/HTMLFrameElementBase.cpp:
57887          - m_shouldOpenURLAfterAttach is no longer needed, yay!
57888          - m_checkAttachedTimer no longer has anything to do with attached(), so renamed it.
57889            I also documented that the newly named m_checkInDocumentTimer is all about the
57890            "magic iframe" performance quirk.  (Which is actually speced in HTML5).
57891            I was initially baffled by this code, so I documented it.
57892         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase)
57893         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
57894          - This is the meat of this change, see discussion above.
57895         (WebCore::HTMLFrameElementBase::attach):
57896          - Code deleted or moved to insertedIntoDocument.
57897         (WebCore::HTMLFrameElementBase::width):
57898          - Fixed a bug in height()/width() which was probably causing crashes
57899            and was causing incorrect behavior after this change.
57900            renderBox() is not necessarily valid unless layout is up to date.
57901            Updating layout, can cause renderBox() to go invalid, thus this
57902            could have been a null-pointer crash.
57903         (WebCore::HTMLFrameElementBase::height): see width()
57904         (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Timer rename.
57905         (WebCore::HTMLFrameElementBase::checkInDocumentTimerFired): Timer rename.
57906         * html/HTMLFrameElementBase.h:
57907         * html/HTMLFrameOwnerElement.cpp:
57908         (WebCore::HTMLFrameOwnerElement::willRemove):
57909          - Disconnecting the owner element removes the frame from the frame tree.
57910            frameDetached() calls Page::frameCount which expects that the frame is
57911            already gone at this point and asserts when it's not.  It's unclear how
57912            this worked before, except that the frame removal was likely done in the
57913            post-attach callback, so the frameCount was wrong (too high) during
57914            frameDetached(), but was fixed up in the post-detach callback.
57915         * html/parser/HTMLConstructionSite.cpp:
57916         (WebCore::HTMLConstructionSite::attachAtSite):
57917           - Simplified this code, and added a check for the case when the node was already removed.
57918             Since the load logic is now run during insertedIntoDocument instead of attach(),
57919             synchronous javascript is now running during insertedIntoDocument and we need to
57920             make sure that the child is still in the tree.
57921
57922 2010-09-10  Dirk Pranke  <dpranke@chromium.org>
57923
57924         Unreviewed, rolling out r67178.
57925         http://trac.webkit.org/changeset/67178
57926         https://bugs.webkit.org/show_bug.cgi?id=45524
57927
57928         re-roll-out patch to put original changes back in
57929
57930         * html/HTMLObjectElement.cpp:
57931         (WebCore::HTMLObjectElement::parametersForPlugin):
57932         (WebCore::HTMLObjectElement::updateWidget):
57933         * loader/SubframeLoader.cpp:
57934         (WebCore::SubframeLoader::resourceWillUsePlugin):
57935         * loader/SubframeLoader.h:
57936
57937 2010-09-10  Dirk Pranke  <dpranke@chromium.org>
57938
57939         Reviewed by Kent Tamura.
57940
57941         roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests
57942         https://bugs.webkit.org/show_bug.cgi?id=45524
57943
57944         * html/HTMLObjectElement.cpp:
57945         (WebCore::HTMLObjectElement::parametersForPlugin):
57946         (WebCore::HTMLObjectElement::updateWidget):
57947         * loader/SubframeLoader.cpp:
57948         (WebCore::SubframeLoader::requestFrame):
57949         * loader/SubframeLoader.h:
57950
57951 2010-09-10  Ryosuke Niwa  <rniwa@webkit.org>
57952
57953         Reviewed by Tony Chang.
57954
57955         Extract the code to find special ancestors in createMarkup into a function
57956         https://bugs.webkit.org/show_bug.cgi?id=45449
57957
57958         Extracted the code to find special common ancestors in createMarkup as highestAncestorToWrapMarkup.
57959         Also isolated the code to find ancestors required to retain structure and appearance into
57960         ancestorToRetainStructureAndAppearance.
57961
57962         No new tests are added since this is a cleanup.
57963
57964         * editing/markup.cpp:
57965         (WebCore::ancestorToRetainStructureAndAppearance): Added.
57966         (WebCore::propertyMissingOrEqualToNone): Moved.
57967         (WebCore::isElementPresentational): Moved.
57968         (WebCore::shouldIncludeWrapperForFullySelectedRoot): Added. isSpecialAncestorBlock is merged into this function.
57969         (WebCore::highestAncestorToWrapMarkup): Extracted from createMarkup.
57970         (WebCore::createMarkup): Calls highestAncestorToWrapMarkup.
57971
57972 2010-09-09  Adam Barth  <abarth@webkit.org>
57973
57974         Reviewed by Dimitri Glazkov.
57975
57976         Spurious null check in MediaDocumentParser
57977         https://bugs.webkit.org/show_bug.cgi?id=45461
57978
57979         Trivial change.  FrameLoader can never be null.
57980
57981         * html/MediaDocument.cpp:
57982         (WebCore::MediaDocumentParser::createDocumentStructure):
57983
57984 2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
57985
57986         Reviewed by Eric Seidel.
57987
57988         REGRESSION: applying new font size causes font-size outside selection to change
57989         https://bugs.webkit.org/show_bug.cgi?id=45026
57990
57991         The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
57992         Namely, it was treating font size as a pixel value for font-size property.  Fixed this by adding fontSizeToCSSValue
57993         which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement
57994
57995         Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
57996         relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
57997         to legacy font size by CSSStyleSelector::legacyFontSize.
57998
57999         Test: editing/style/push-down-font-styles.html
58000
58001         * editing/ApplyStyleCommand.cpp:
58002         (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
58003         (WebCore::stringToCSSValue): Converts string to CSSValue.
58004         (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
58005         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
58006         * css/CSSStyleSelector.h: Made fontSizeForKeyword public.
58007
58008 2010-09-09  Kent Tamura  <tkent@chromium.org>
58009
58010         Unreviewed, build fix for Qt.
58011
58012         * css/CSSStyleSelector.cpp:
58013         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
58014
58015 2010-09-09  Dominic Cooney  <dominicc@google.com>
58016
58017         Reviewed by Kent Tamura.
58018
58019         Moves location.replace bindings logic into bindings/generic and
58020         instantiates it for JSC and V8.
58021
58022         https://bugs.webkit.org/show_bug.cgi?id=44891
58023
58024         Covered by existing location.replace tests.
58025
58026         * GNUmakefile.am:
58027         * WebCore.gypi:
58028         * WebCore.pro:
58029         * WebCore.vcproj/WebCore.vcproj:
58030         * WebCore.vcproj/WebCoreCommon.vsprops:
58031         * WebCore.xcodeproj/project.pbxproj:
58032         * bindings/generic/BindingDOMWindow.h:
58033         * bindings/generic/BindingFrame.h: Added.
58034         (WebCore::::navigateIfAllowed):
58035         * bindings/generic/BindingLocation.h: Added.
58036         (WebCore::::replace):
58037         * bindings/generic/GenericBinding.h:
58038         (WebCore::completeURL):
58039         * bindings/js/JSBinding.h: Added.
58040         * bindings/js/JSBindingsAllInOne.cpp:
58041         * bindings/js/JSDOMBinding.cpp:
58042         (WebCore::shouldAllowNavigation):
58043         (WebCore::toLexicalFrame):
58044         (WebCore::toDynamicFrame):
58045         (WebCore::processingUserGesture):
58046         (WebCore::completeURL):
58047         * bindings/js/JSLocationCustom.cpp:
58048         (WebCore::navigateIfAllowed):
58049         (WebCore::JSLocation::replace):
58050         * bindings/js/specialization/JSBindingState.cpp: Added.
58051         (WebCore::::getActiveFrame):
58052         (WebCore::::getFirstFrame):
58053         (WebCore::::processingUserGesture):
58054         (WebCore::::allowsAccessFromFrame):
58055         * bindings/js/specialization/JSBindingState.h: Added.
58056         * bindings/v8/V8Binding.h:
58057         * bindings/v8/V8Utilities.cpp:
58058         (WebCore::completeURL):
58059         (WebCore::navigateIfAllowed):
58060         * bindings/v8/custom/V8LocationCustom.cpp:
58061         (WebCore::V8Location::replaceCallback):
58062         * bindings/v8/specialization/V8BindingState.cpp:
58063         (WebCore::::allowsAccessFromFrame):
58064         * bindings/v8/specialization/V8BindingState.h:
58065
58066 2010-09-09  Kent Tamura  <tkent@chromium.org>
58067
58068         Reviewed by Dimitri Glazkov.
58069
58070         Apply :invalid CSS class to <input type=number> with an unacceptable value
58071         https://bugs.webkit.org/show_bug.cgi?id=45376
58072
58073         Apply :invalid CSS class to <input type=number> elements with an
58074         unacceptable value in order to tell users that a value is not
58075         valid.
58076
58077         Introducing Element::hasUnaccceptableValue(), and CSSStyleSelector
58078         applies :invalid to not only elements with !isValidFormControlElement()
58079         but also elements with hasUnaccceptableValue().
58080
58081         HTMLInputElement and RenderTextControlSingleLine need some changes
58082         to update style and to avoid updating renderer value during style
58083         update.
58084
58085         Test: fast/forms/input-number-unacceptable-style.html
58086
58087         * css/CSSStyleSelector.cpp:
58088         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
58089         * dom/Element.h:
58090         (WebCore::Element::hasUnacceptableValue):
58091         * html/HTMLInputElement.cpp:
58092         (WebCore::HTMLInputElement::handleBlurEvent):
58093         (WebCore::HTMLInputElement::hasUnacceptableValue):
58094         * html/HTMLInputElement.h:
58095         * rendering/RenderTextControlSingleLine.cpp:
58096         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58097         (WebCore::RenderTextControlSingleLine::updateFromElement):
58098
58099 2010-09-09  Kent Tamura  <tkent@chromium.org>
58100
58101         Reviewed by Dimitri Glazkov.
58102
58103         <input type=number> should not have an invalid number as its value
58104         https://bugs.webkit.org/show_bug.cgi?id=43973
58105
58106         This change implements the value sanitization algorithm for
58107         type=number, and remove validity.typeMismatch support for
58108         type=number in order to improve HTML5 conformance.
58109
58110         HTMLInputElement::value for type=number always has a valid number
58111         string or an empty string. However, the input field for it, a
58112         RenderTextControlSingleLine, can have a non-number string. For
58113         example, '-' is a non-number string, but a user needs to type
58114         '-'. So, the string in the input field has never been committed to
58115         HTMLInputElement until the string becomes a valid number string.
58116
58117         This change is also a preparation of supporting localized
58118         numbers. A localized string in the input field would not be
58119         matched with HTMLInputElement::value.
58120
58121         Test: fast/forms/input-number-commit-valid-only.html
58122
58123         * dom/InputElement.h: Add isAcceptableValue()
58124         * html/HTMLInputElement.cpp:
58125         (WebCore::HTMLInputElement::handleBlurEvent):
58126          Set formControlValueMatchesRenderer false to clean an invalid value in the renderer.
58127         (WebCore::HTMLInputElement::isAcceptableValue):
58128         (WebCore::HTMLInputElement::sanitizeValue):
58129         * html/HTMLInputElement.h:
58130         * html/ValidityState.cpp:
58131         (WebCore::ValidityState::typeMismatch): Always returns false for type=number.
58132         * rendering/RenderTextControlSingleLine.cpp:
58133         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58134         * wml/WMLInputElement.h:
58135         (WebCore::WMLInputElement::isAcceptableValue):
58136
58137 2010-09-09  Tony Gentilcore  <tonyg@chromium.org>
58138
58139         Reviewed by Adam Barth.
58140
58141         Support <script async> as specified by HTML5
58142         https://bugs.webkit.org/show_bug.cgi?id=45310
58143
58144         Tests: fast/dom/HTMLScriptElement/async-inline-script.html
58145                fast/dom/HTMLScriptElement/async-onbeforeload.html
58146                fast/dom/HTMLScriptElement/async-write.html
58147                http/tests/misc/async-and-defer-script.html
58148                http/tests/misc/script-async.html
58149
58150         * dom/AsyncScriptRunner.cpp:
58151         (WebCore::AsyncScriptRunner::AsyncScriptRunner):
58152         (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
58153         (WebCore::AsyncScriptRunner::executeScriptSoon): Increment the delay count when a task to execute scripts is queued up.
58154         (WebCore::AsyncScriptRunner::timerFired): decrementLoadEventDelayCount handles calling checkCompleted().
58155         * dom/AsyncScriptRunner.h:
58156         (WebCore::AsyncScriptRunner::create):
58157         * dom/Document.cpp:
58158         (WebCore::Document::Document):
58159         * dom/ScriptElement.cpp:
58160         (WebCore::ScriptElement::insertedIntoDocument): Treats async scripts just like a dynamically inserted script element rather than a parser inserted one.
58161         * html/parser/HTMLScriptRunner.cpp:
58162         (WebCore::HTMLScriptRunner::runScript):
58163
58164 2010-09-09  Alexey Marinichev  <amarinichev@chromium.org>
58165
58166         Reviewed by James Robinson.
58167
58168         [chromium] Disable subpixel rendering in Linux when GPU compositor is active
58169         https://bugs.webkit.org/show_bug.cgi?id=45087
58170
58171         This extends windows-only logic to chromium linux as well.
58172
58173         * platform/graphics/chromium/ContentLayerChromium.cpp:
58174         (WebCore::ContentLayerChromium::updateContents):
58175         * platform/graphics/chromium/FontLinux.cpp:
58176         (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
58177         (WebCore::Font::drawGlyphs):
58178         (WebCore::Font::drawComplexText):
58179         * platform/graphics/chromium/LayerRendererChromium.cpp:
58180         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
58181         * platform/graphics/chromium/VideoLayerChromium.cpp:
58182         (WebCore::VideoLayerChromium::updateContents):
58183         * platform/graphics/skia/ImageBufferSkia.cpp:
58184         (WebCore::ImageBuffer::ImageBuffer):
58185         (WebCore::ImageBuffer::clip):
58186         * platform/graphics/skia/PlatformContextSkia.cpp:
58187         Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
58188         Linux; removed all #if OS(WINDOWS) || OS(LINUX).
58189         (WebCore::PlatformContextSkia::State::State):
58190         (WebCore::PlatformContextSkia::PlatformContextSkia):
58191         (WebCore::PlatformContextSkia::isDrawingToImageBuffer):
58192         (WebCore::PlatformContextSkia::save):
58193         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
58194         (WebCore::PlatformContextSkia::restore):
58195         (WebCore::PlatformContextSkia::applyClipFromImage):
58196         * platform/graphics/skia/PlatformContextSkia.h:
58197
58198 2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
58199
58200         Unreviewed, Windows build fix.
58201
58202         * WebCore.vcproj/WebCore.vcproj:
58203
58204 2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
58205
58206         Reviewed by Jian Li.
58207
58208         [FileSystem] Add File and FileWriter accessor methods in FileEntry
58209         https://bugs.webkit.org/show_bug.cgi?id=45440
58210
58211         Adding file() and createWrite() methods in FileEntry.
58212         http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-fileentry-interface
58213
58214         No new tests; this patch doesn't have implementation yet.
58215
58216         * CMakeLists.txt:
58217         * DerivedSources.cpp:
58218         * DerivedSources.make:
58219         * GNUmakefile.am:
58220         * WebCore.gypi:
58221         * WebCore.pri:
58222         * WebCore.pro:
58223         * WebCore.vcproj/WebCore.vcproj:
58224         * WebCore.xcodeproj/project.pbxproj:
58225         * fileapi/FileEntry.cpp:
58226         (WebCore::FileEntry::createWriter): Added.
58227         (WebCore::FileEntry::file): Added.
58228         * fileapi/FileEntry.h:
58229         * fileapi/FileEntry.idl:
58230         * fileapi/FileCallback.h: Added.
58231         * fileapi/FileCallback.idl: Added.
58232         * fileapi/FileWriterCallback.h: Added.
58233         * fileapi/FileWriterCallback.idl: Added.
58234
58235 2010-09-09  Yuzo Fujishima  <yuzo@google.com>
58236
58237         Reviewed by Darin Adler.
58238
58239         Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation
58240         Stop checking in the flex definition the number of hexadecimal digits for a hex color.
58241         Instead, rely on the checking in Color::parseHexColor().
58242         The resultant grammar is actually more close to the one in http://www.w3.org/TR/CSS21/grammar.html .
58243
58244         https://bugs.webkit.org/show_bug.cgi?id=24742
58245
58246         Test: fast/css/invalid-hex-color.html
58247
58248         * css/tokenizer.flex:
58249
58250 2010-09-09  Chris Rogers  <crogers@google.com>
58251
58252         Reviewed by Kenneth Russell.
58253
58254         Add AudioSourceNode files
58255         https://bugs.webkit.org/show_bug.cgi?id=45010
58256
58257         No new tests since audio API is not yet implemented.
58258
58259         * webaudio/AudioSourceNode.h: Added.
58260         (WebCore::AudioSourceNode::AudioSourceNode):
58261         * webaudio/AudioSourceNode.idl: Added.
58262
58263 2010-09-09  James Robinson  <jamesr@chromium.org>
58264
58265         Reviewed by Kenneth Russell.
58266
58267         [chromium] Don't call deleteTexture on a texture attached to an FBO that is not currently bound
58268         https://bugs.webkit.org/show_bug.cgi?id=45504
58269
58270         The OpenGL semantics for glDeleteTextures() are that if one of the specified texture is attached
58271         to the currently bound FBO, that FBO's color attachment is removed.  However, if the specified
58272         texture is attached to a non-current FBO then OpenGL states explicitly that that FBO's color
58273         attachment is not cleared and that the texture stays alive even though its ID is no longer
58274         valid to use.  This is not the behavior we want in DrawingBuffer - we actually want the
58275         texture to be immediately deleted.  This patch makes sure the DrawingBuffer's FBO is bound
58276         before deleting its color attachment texture.
58277
58278         * platform/graphics/chromium/DrawingBufferChromium.cpp:
58279         (WebCore::DrawingBuffer::~DrawingBuffer):
58280         (WebCore::DrawingBuffer::reset):
58281
58282 2010-09-09  James Robinson  <jamesr@chromium.org>
58283
58284         Reviewed by Kenneth Russell.
58285
58286         [chromium] Chromium mac build should exclude all Skia files in platform/graphics/skia/, not just some
58287         https://bugs.webkit.org/show_bug.cgi?id=45516
58288
58289         This excludes platform/graphics/skia/*Skia.(h|cpp) by pattern instead of individual files.
58290         None of these files should be compiled into the Chromium mac build and the old file list had
58291         both omissions and stale entries.
58292
58293         * WebCore.gyp/WebCore.gyp:
58294
58295 2010-09-09  Dirk Pranke  <dpranke@chromium.org>
58296
58297         Unreviewed, rolling out r67145.
58298         http://trac.webkit.org/changeset/67145
58299         https://bugs.webkit.org/show_bug.cgi?id=45431
58300
58301         broke editing/inserting/5994480-2.html on Chromium Linux
58302
58303         * css/CSSStyleSelector.h:
58304         * editing/ApplyStyleCommand.cpp:
58305         (WebCore::StyleChange::init):
58306         (WebCore::StyleChange::extractTextStyles):
58307         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
58308
58309 2010-09-09  Dumitru Daniliuc  <dumi@chromium.org>
58310
58311         Reviewed by Alexey Proskuryakov.
58312
58313         Removing an obsolete comment.
58314         https://bugs.webkit.org/show_bug.cgi?id=40112
58315
58316         * bindings/generic/ActiveDOMCallback.cpp:
58317
58318 2010-09-09  James Robinson  <jamesr@chromium.org>
58319
58320         Reviewed by Kenneth Russell.
58321
58322         [chromium] Clear only the uploaded portion of the software backing store when in mixed mode
58323         https://bugs.webkit.org/show_bug.cgi?id=45503
58324
58325         This clears out only the dirty region of the software backing store when uploading results
58326         to hardware rather than clearing out the entire software backing store.  This is a significant
58327         performance improvement when the dirty rects are small relative to the whole canvas.
58328
58329         This also implements the non-swizzle path of copySubRect() using memcpy() to copy the rows, which
58330         is another respectable performance increase.
58331
58332         * html/canvas/CanvasRenderingContext2D.cpp:
58333         * platform/graphics/gpu/Texture.cpp:
58334         (WebCore::copySubRect):
58335         * platform/graphics/skia/PlatformContextSkia.cpp:
58336         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
58337         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
58338         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
58339
58340 2010-09-09  Kenneth Russell  <kbr@google.com>
58341
58342         Reviewed by James Robinson.
58343
58344         Add math utilities for cubic curve processing
58345         https://bugs.webkit.org/show_bug.cgi?id=45251
58346
58347         Adding mathematic utilities needed for the GPU accelerated path
58348         rendering algorithm from GPU Gems 3. No tests yet; will be tested
58349         in conjunction with later code.
58350
58351         * platform/graphics/gpu/LoopBlinnMathUtils.cpp: Added.
58352         (WebCore::LoopBlinnMathUtils::roundToZero):
58353         (WebCore::LoopBlinnMathUtils::approxEqual):
58354         (WebCore::LoopBlinnMathUtils::linesIntersect):
58355         (WebCore::LoopBlinnMathUtils::pointInTriangle):
58356         (WebCore::LoopBlinnMathUtils::trianglesOverlap):
58357         (WebCore::LoopBlinnMathUtils::chopCubicAt):
58358         (WebCore::LoopBlinnMathUtils::xRayCrossesLine):
58359         (WebCore::LoopBlinnMathUtils::numXRayCrossingsForCubic):
58360         * platform/graphics/gpu/LoopBlinnMathUtils.h: Added.
58361
58362 2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
58363
58364         Reviewed by Dumitru Daniliuc.
58365
58366         Add Entry.getMetadata for FileSystem API
58367         https://bugs.webkit.org/show_bug.cgi?id=45403
58368
58369         Add getMetadata to Entry.idl (I had missed to include this
58370         in my previous Entry.idl patch.)
58371
58372         Also make some minor cleanups and nits fixes.
58373
58374         No new tests; layout test is going be added later.
58375
58376         * fileapi/DOMFileSystem.cpp: Bug fix.
58377         * fileapi/MetadataCallback.h: Nits fix.
58378         * fileapi/Entry.idl: Added getMetadata.
58379         * fileapi/ErrorCallback.h: Nits fix.
58380
58381 2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
58382
58383         Reviewed by Eric Seidel.
58384
58385         REGRESSION: applying new font size causes font-size outside selection to change
58386         https://bugs.webkit.org/show_bug.cgi?id=45026
58387
58388         The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
58389         Namely, it was treating font size as a pixel value for font-size property.  Fixed this by adding fontSizeToCSSValue
58390         which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement
58391
58392         Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
58393         relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
58394         to legacy font size by CSSStyleSelector::legacyFontSize.
58395
58396         Test: editing/style/push-down-font-styles.html
58397
58398         * editing/ApplyStyleCommand.cpp:
58399         (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
58400         (WebCore::stringToCSSValue): Converts string to CSSValue.
58401         (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
58402         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
58403         * css/CSSStyleSelector.h: Made fontSizeForKeyword public.
58404
58405 2010-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
58406
58407         Unreviewed, rolling out r67126.
58408         http://trac.webkit.org/changeset/67126
58409         https://bugs.webkit.org/show_bug.cgi?id=45510
58410
58411         broke chromium mac compile, it also uses PlatformContextSkia
58412         (Requested by jamesr on #webkit).
58413
58414         * platform/graphics/chromium/ContentLayerChromium.cpp:
58415         (WebCore::ContentLayerChromium::updateContents):
58416         * platform/graphics/chromium/FontLinux.cpp:
58417         (WebCore::adjustTextRenderMode):
58418         (WebCore::Font::drawGlyphs):
58419         (WebCore::Font::drawComplexText):
58420         * platform/graphics/chromium/LayerRendererChromium.cpp:
58421         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
58422         * platform/graphics/chromium/VideoLayerChromium.cpp:
58423         (WebCore::VideoLayerChromium::updateContents):
58424         * platform/graphics/skia/ImageBufferSkia.cpp:
58425         (WebCore::ImageBuffer::ImageBuffer):
58426         (WebCore::ImageBuffer::clip):
58427         * platform/graphics/skia/PlatformContextSkia.cpp:
58428         (WebCore::PlatformContextSkia::State::State):
58429         (WebCore::PlatformContextSkia::PlatformContextSkia):
58430         (WebCore::PlatformContextSkia::save):
58431         (WebCore::PlatformContextSkia::restore):
58432         * platform/graphics/skia/PlatformContextSkia.h:
58433
58434 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
58435
58436         Attempt to fix Qt build.
58437
58438         * WebCore.pro:
58439
58440 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
58441
58442         Reviewed by Darin Adler.
58443
58444         https://bugs.webkit.org/show_bug.cgi?id=45509
58445         <rdar://problem/8142166> REGRESSION: WebView setDrawsBackground:NO no
58446         longer works without setBackgroundColor:clearColor
58447         
58448         r61215 caused RenderView to paint the viewport background when the
58449         document element's renderer is known to not fill opaquely paint
58450         the entire viewport, i.e. more often than it did before.
58451         
58452         This exposed a latent, long-standing bug which was introduced
58453         in r14638 (the RenderCanvas -> RenderView rename), where a call
58454         to view()->isTransparent() was not converted to frameView()->isTransparent(),
58455         yet happened to still compile because of RenderObject::isTransparent().
58456         
58457         This resulted in us painting the viewport background, even when
58458         WebView clients explicitly said that they wanted a transparent
58459         WebView.
58460         
58461         Fixed by calling frameView()->isTransparent(), as intended.
58462
58463         * rendering/RenderView.cpp:
58464         (WebCore::RenderView::paintBoxDecorations):
58465
58466 2010-09-09  Chris Rogers  <crogers@google.com>
58467
58468         Reviewed by Kenneth Russell.
58469
58470         audio engine: add Biquad files
58471         https://bugs.webkit.org/show_bug.cgi?id=44795
58472
58473         No new tests since audio API is not yet implemented.
58474
58475         * platform/audio/Biquad.cpp: Added.
58476         (WebCore::Biquad::Biquad):
58477         (WebCore::Biquad::process):
58478         (WebCore::Biquad::processFast):
58479         (WebCore::Biquad::processSliceFast):
58480         (WebCore::Biquad::reset):
58481         (WebCore::Biquad::setLowpassParams):
58482         (WebCore::Biquad::setHighpassParams):
58483         (WebCore::Biquad::setLowShelfParams):
58484         (WebCore::Biquad::setZeroPolePairs):
58485         (WebCore::Biquad::setAllpassPole):
58486         * platform/audio/Biquad.h: Added.
58487         (WebCore::Biquad::~Biquad):
58488
58489 2010-09-09  Chris Rogers  <crogers@google.com>
58490
58491         Reviewed by Kenneth Russell.
58492
58493         Add AudioBuffer files
58494         https://bugs.webkit.org/show_bug.cgi?id=45003
58495
58496         No new tests since audio API is not yet implemented.
58497
58498         * webaudio/AudioBuffer.cpp: Added.
58499         (WebCore::AudioBuffer::create):
58500         (WebCore::AudioBuffer::createFromAudioFileData):
58501         (WebCore::AudioBuffer::AudioBuffer):
58502         (WebCore::AudioBuffer::releaseMemory):
58503         (WebCore::AudioBuffer::getChannelData):
58504         (WebCore::AudioBuffer::zero):
58505         * webaudio/AudioBuffer.h: Added.
58506         (WebCore::AudioBuffer::length):
58507         (WebCore::AudioBuffer::duration):
58508         (WebCore::AudioBuffer::sampleRate):
58509         (WebCore::AudioBuffer::numberOfChannels):
58510         (WebCore::AudioBuffer::gain):
58511         (WebCore::AudioBuffer::setGain):
58512         * webaudio/AudioBuffer.idl: Added.
58513
58514 2010-09-09  Alexey Marinichev  <amarinichev@chromium.org>
58515
58516         Reviewed by James Robinson.
58517
58518         [chromium] Disable subpixel rendering in Linux when GPU compositor is active
58519         https://bugs.webkit.org/show_bug.cgi?id=45087
58520
58521         Covered by all tests that activate the compositor and contain text.
58522
58523         * platform/graphics/chromium/ContentLayerChromium.cpp:
58524         (WebCore::ContentLayerChromium::updateContents):
58525         * platform/graphics/chromium/FontLinux.cpp:
58526         (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
58527         (WebCore::Font::drawGlyphs):
58528         (WebCore::Font::drawComplexText):
58529         * platform/graphics/chromium/LayerRendererChromium.cpp:
58530         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
58531         * platform/graphics/chromium/VideoLayerChromium.cpp:
58532         (WebCore::VideoLayerChromium::updateContents):
58533         * platform/graphics/skia/ImageBufferSkia.cpp:
58534         (WebCore::ImageBuffer::ImageBuffer):
58535         (WebCore::ImageBuffer::clip):
58536         * platform/graphics/skia/PlatformContextSkia.cpp:
58537         Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
58538         Linux; removed all #if OS(WINDOWS) || OS(LINUX).
58539         (WebCore::PlatformContextSkia::State::State):
58540         (WebCore::PlatformContextSkia::PlatformContextSkia):
58541         (WebCore::PlatformContextSkia::isDrawingToImageBuffer):
58542         (WebCore::PlatformContextSkia::save):
58543         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
58544         (WebCore::PlatformContextSkia::restore):
58545         (WebCore::PlatformContextSkia::applyClipFromImage):
58546         * platform/graphics/skia/PlatformContextSkia.h:
58547
58548 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
58549
58550         Fix windows build by adding missing file.
58551
58552         * platform/graphics/win/LocalWindowsContext.h: Added.
58553         (WebCore::LocalWindowsContext::LocalWindowsContext):
58554         (WebCore::LocalWindowsContext::~LocalWindowsContext):
58555         (WebCore::LocalWindowsContext::hdc):
58556
58557 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
58558
58559         Reviewed by Adam Roben.
58560
58561         Scrollbars fail to render in composited iframes.
58562         https://bugs.webkit.org/show_bug.cgi?id=45335
58563
58564         Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/
58565         releaseWindowsContext automatically.
58566
58567         Also fix getWindowsContext to create a bitmap context if mayCreateBitmap
58568         is true, and if the context's HDC is null. This fixes scrollbar rendering
58569         in compositing layers.
58570
58571         Use LocalWindowsContext in places where we had bare getWindowsContext() calls.
58572
58573         * platform/graphics/win/LocalWindowsContext.h
58574         (WebCore::LocalWindowsContext::LocalWindowsContext):
58575         (WebCore::LocalWindowsContext::~LocalWindowsContext):
58576         (WebCore::LocalWindowsContext::hdc):
58577         * platform/graphics/win/GraphicsContextCGWin.cpp:
58578         (WebCore::GraphicsContext::releaseWindowsContext):
58579         * platform/graphics/win/GraphicsContextWin.cpp:
58580         (WebCore::GraphicsContext::getWindowsContext):
58581         * platform/graphics/win/IconWin.cpp:
58582         (WebCore::Icon::paint):
58583         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
58584         (WebCore::MediaPlayerPrivate::paint):
58585         * platform/win/ScrollbarThemeWin.cpp:
58586         (WebCore::ScrollbarThemeWin::paintTrackPiece):
58587         (WebCore::ScrollbarThemeWin::paintButton):
58588         * plugins/win/PluginViewWin.cpp:
58589         (WebCore::PluginView::paintWindowedPluginIntoContext):
58590         (WebCore::PluginView::paint):
58591         * rendering/RenderThemeWin.cpp:
58592         (WebCore::drawControl):
58593
58594 2010-09-09  Vincent Scheib  <scheib@chromium.org>
58595
58596         Reviewed by James Robinson.
58597
58598         [Chromium] Minimize uploads in canvas 2d mixed mode rendering
58599         https://bugs.webkit.org/show_bug.cgi?id=45476
58600
58601         No new tests - change is for performance, logic fixes only apparent when running hardware acceleration.
58602
58603         - Enumeration values fixed, "CavasWillDraw" -> "CanvasDidDraw".
58604         - markDirtyRect() plumbed through GraphicsContext to PlatformContextSkia.
58605         - Texture::updateSubRect() added to allow uploading only a dirty rect.
58606         - Logic fix in ImageBuffer::draw(), caused canvas to canvas copies to be incorrect.
58607
58608         * html/canvas/CanvasRenderingContext2D.cpp:
58609         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
58610         (WebCore::CanvasRenderingContext2D::strokeRect):
58611         (WebCore::CanvasRenderingContext2D::drawImage):
58612         (WebCore::CanvasRenderingContext2D::didDraw):
58613           - Logic fix for drawingContext()->markDirtyRect() call.
58614         (WebCore::CanvasRenderingContext2D::putImageData):
58615         (WebCore::CanvasRenderingContext2D::drawTextInternal):
58616           - Logic fix for calls to "didDraw()", use peer method first.
58617         * html/canvas/CanvasRenderingContext2D.h:
58618         * platform/graphics/GraphicsContext.cpp:
58619         (WebCore::GraphicsContext::drawImageBuffer):
58620         (WebCore::GraphicsContext::markDirtyRect):
58621         * platform/graphics/GraphicsContext.h:
58622         * platform/graphics/gpu/Texture.cpp:
58623         (WebCore::Texture::create):
58624         (WebCore::Texture::load):
58625         (WebCore::Texture::updateSubRect):
58626         * platform/graphics/gpu/Texture.h:
58627         * platform/graphics/gpu/TilingData.h:
58628         (WebCore::TilingData::borderTexels):
58629         * platform/graphics/skia/GraphicsContextSkia.cpp:
58630         (WebCore::GraphicsContext::clipConvexPolygon):
58631         (WebCore::GraphicsContext::markDirtyRect):
58632         * platform/graphics/skia/ImageBufferSkia.cpp:
58633         (WebCore::ImageBuffer::draw):
58634         * platform/graphics/skia/PlatformContextSkia.cpp:
58635         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
58636         (WebCore::PlatformContextSkia::drawRect):
58637         (WebCore::PlatformContextSkia::setFillColor):
58638         (WebCore::PlatformContextSkia::setStrokeColor):
58639         (WebCore::PlatformContextSkia::markDirtyRect):
58640         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
58641         * platform/graphics/skia/PlatformContextSkia.h:
58642
58643 2010-09-08  Darin Adler  <darin@apple.com>
58644
58645         Reviewed by Adam Barth.
58646
58647         Move functions from Frame to Editor as planned
58648         https://bugs.webkit.org/show_bug.cgi?id=45218
58649
58650         Just executing the plan that has long been described in Frame.h
58651         to move a bunch of functions to Editor.
58652
58653         * WebCore.exp.in: Updated.
58654
58655         * editing/Editor.cpp:
58656         (WebCore::Editor::fontForSelection):
58657         (WebCore::Editor::textDirectionForSelection):
58658         (WebCore::Editor::applyStyle):
58659         (WebCore::Editor::selectionStartHasStyle):
58660         (WebCore::Editor::selectionHasStyle):
58661         (WebCore::Editor::selectionStartCSSPropertyValue):
58662         (WebCore::Editor::Editor):
58663         (WebCore::Editor::cut):
58664         (WebCore::Editor::copy):
58665         (WebCore::Editor::ignoreSpelling):
58666         (WebCore::Editor::learnSpelling):
58667         (WebCore::Editor::isSelectionMisspelled):
58668         (WebCore::Editor::guessesForMisspelledSelection):
58669         (WebCore::Editor::selectedText):
58670         (WebCore::Editor::firstRectForRange):
58671         (WebCore::Editor::shouldChangeSelection):
58672         (WebCore::Editor::computeAndSetTypingStyle):
58673         (WebCore::Editor::selectionComputedStyle):
58674         (WebCore::Editor::textFieldDidBeginEditing):
58675         (WebCore::Editor::textFieldDidEndEditing):
58676         (WebCore::Editor::textDidChangeInTextField):
58677         (WebCore::Editor::doTextFieldCommandFromEvent):
58678         (WebCore::Editor::textWillBeDeletedInTextField):
58679         (WebCore::Editor::textDidChangeInTextArea):
58680         (WebCore::Editor::applyEditingStyleToBodyElement):
58681         (WebCore::Editor::applyEditingStyleToElement):
58682         (WebCore::Editor::styleForSelectionStart):
58683         (WebCore::Editor::findString):
58684         (WebCore::Editor::countMatchesForText):
58685         (WebCore::Editor::setMarkedTextMatchesAreHighlighted):
58686         (WebCore::Editor::respondToChangedSelection):
58687         * editing/Editor.h:
58688         * editing/mac/EditorMac.mm:
58689         (WebCore::Editor::fontAttributesForSelectionStart):
58690         (WebCore::Editor::baseWritingDirectionForSelectionStart):
58691         Moved functions here.
58692
58693         * page/Frame.cpp:
58694         (WebCore::Frame::Frame):
58695         (WebCore::Frame::shouldChangeSelection):
58696         * page/Frame.h:
58697         * page/mac/FrameMac.mm:
58698         Moved functions out of here.
58699
58700         * dom/InputElement.cpp:
58701         (WebCore::InputElement::dispatchBlurEvent):
58702         (WebCore::InputElement::aboutToUnload):
58703         * editing/DeleteSelectionCommand.cpp:
58704         (WebCore::DeleteSelectionCommand::doApply):
58705         * editing/EditorCommand.cpp:
58706         (WebCore::executeToggleStyleInList):
58707         (WebCore::executeDeleteToMark):
58708         (WebCore::executeFindString):
58709         (WebCore::executeSelectToMark):
58710         (WebCore::executeSetMark):
58711         (WebCore::executeSwapWithMark):
58712         (WebCore::enabledVisibleSelectionAndMark):
58713         * editing/SelectionController.cpp:
58714         (WebCore::SelectionController::setSelection):
58715         * html/HTMLInputElement.cpp:
58716         (WebCore::HTMLInputElement::defaultEventHandler):
58717         * page/ContextMenuController.cpp:
58718         (WebCore::ContextMenuController::contextMenuItemSelected):
58719         * page/DOMWindow.cpp:
58720         (WebCore::DOMWindow::find):
58721         * page/DragController.cpp:
58722         (WebCore::DragController::startDrag):
58723         * page/EventHandler.cpp:
58724         (WebCore::EventHandler::sendContextMenuEventForKey):
58725         * page/Page.cpp:
58726         (WebCore::Page::findString):
58727         (WebCore::Page::markAllMatchesForText):
58728         * rendering/InlineTextBox.cpp:
58729         (WebCore::InlineTextBox::paintTextMatchMarker):
58730         * rendering/RenderTextControlMultiLine.cpp:
58731         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
58732         * rendering/RenderTextControlSingleLine.cpp:
58733         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58734         Changed call sites to use editor().
58735
58736 2010-09-09  Chris Rogers  <crogers@google.com>
58737
58738         Reviewed by Kenneth Russell.
58739
58740         Add AudioDSPKernelProcessor files
58741         https://bugs.webkit.org/show_bug.cgi?id=45211
58742
58743         No new tests since audio API is not yet implemented.
58744
58745         * platform/audio/AudioDSPKernelProcessor.cpp: Added.
58746         (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
58747         (WebCore::AudioDSPKernelProcessor::initialize):
58748         (WebCore::AudioDSPKernelProcessor::uninitialize):
58749         (WebCore::AudioDSPKernelProcessor::process):
58750         (WebCore::AudioDSPKernelProcessor::reset):
58751         (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
58752         * platform/audio/AudioDSPKernelProcessor.h: Added.
58753         (WebCore::AudioDSPKernelProcessor::numberOfChannels):
58754
58755 2010-09-09  Chris Rogers  <crogers@google.com>
58756
58757         Reviewed by Kenneth Russell.
58758
58759         Add setRange() and zeroRange() methods to TypedArrayBase
58760         https://bugs.webkit.org/show_bug.cgi?id=45419
58761
58762         No new tests since adding new methods which are not yet called anywhere.
58763
58764         * html/canvas/ArrayBufferView.cpp:
58765         (WebCore::ArrayBufferView::setRangeImpl):
58766         (WebCore::ArrayBufferView::zeroRangeImpl):
58767         * html/canvas/ArrayBufferView.h:
58768         * html/canvas/TypedArrayBase.h:
58769         (WebCore::TypedArrayBase::setRange):
58770         (WebCore::TypedArrayBase::zeroRange):
58771
58772 2010-09-09  Robert Hogan  <robert@webkit.org>
58773
58774         Reviewed by Andreas Kling.
58775
58776         [Qt] always send an Accept header
58777
58778         Ensure QtWebKit always sends an Accept header. This is required
58779         for compatibility with sites that expect the header in requests
58780         for subresources.
58781
58782         See https://bugs.webkit.org/show_bug.cgi?id=33242 for more.
58783
58784         https://bugs.webkit.org/show_bug.cgi?id=45458
58785
58786         * platform/network/qt/ResourceRequestQt.cpp:
58787         (WebCore::ResourceRequest::toNetworkRequest):
58788
58789 2010-09-09  Eric Carlson  <eric.carlson@apple.com>
58790
58791         Reviewed by Chris Marrin.
58792
58793         Add media element logging
58794         https://bugs.webkit.org/show_bug.cgi?id=45469
58795
58796         Add logging at interesting points in a media element's lifecycle.
58797
58798         * html/HTMLMediaElement.cpp:
58799         (WebCore::urlForLogging):
58800         (WebCore::boolString):
58801         (WebCore::HTMLMediaElement::scheduleEvent):
58802         (WebCore::HTMLMediaElement::asyncEventTimerFired):
58803         (WebCore::HTMLMediaElement::canPlayType):
58804         (WebCore::HTMLMediaElement::load):
58805         (WebCore::HTMLMediaElement::prepareForLoad):
58806         (WebCore::HTMLMediaElement::selectMediaResource):
58807         (WebCore::HTMLMediaElement::loadResource):
58808         (WebCore::HTMLMediaElement::isSafeToLoadURL):
58809         (WebCore::HTMLMediaElement::waitForSourceChange):
58810         (WebCore::HTMLMediaElement::noneSupported):
58811         (WebCore::HTMLMediaElement::mediaEngineError):
58812         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
58813         (WebCore::HTMLMediaElement::setNetworkState):
58814         (WebCore::HTMLMediaElement::setReadyState):
58815         (WebCore::HTMLMediaElement::rewind):
58816         (WebCore::HTMLMediaElement::returnToRealtime):
58817         (WebCore::HTMLMediaElement::addPlayedRange):
58818         (WebCore::HTMLMediaElement::seek):
58819         (WebCore::HTMLMediaElement::finishSeek):
58820         (WebCore::HTMLMediaElement::setPlaybackRate):
58821         (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
58822         (WebCore::HTMLMediaElement::setAutoplay):
58823         (WebCore::HTMLMediaElement::setPreload):
58824         (WebCore::HTMLMediaElement::play):
58825         (WebCore::HTMLMediaElement::playInternal):
58826         (WebCore::HTMLMediaElement::pause):
58827         (WebCore::HTMLMediaElement::pauseInternal):
58828         (WebCore::HTMLMediaElement::setLoop):
58829         (WebCore::HTMLMediaElement::setControls):
58830         (WebCore::HTMLMediaElement::setVolume):
58831         (WebCore::HTMLMediaElement::setMuted):
58832         (WebCore::HTMLMediaElement::togglePlayState):
58833         (WebCore::HTMLMediaElement::beginScrubbing):
58834         (WebCore::HTMLMediaElement::endScrubbing):
58835         (WebCore::HTMLMediaElement::selectNextSourceChild):
58836         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
58837         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
58838         (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
58839         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
58840         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
58841         (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
58842         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
58843         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
58844         (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged):
58845         (WebCore::HTMLMediaElement::updatePlayState):
58846         (WebCore::HTMLMediaElement::userCancelledLoad):
58847         (WebCore::HTMLMediaElement::stop):
58848         (WebCore::HTMLMediaElement::suspend):
58849         (WebCore::HTMLMediaElement::resume):
58850         (WebCore::HTMLMediaElement::hasPendingActivity):
58851         (WebCore::HTMLMediaElement::mediaVolumeDidChange):
58852         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
58853         (WebCore::HTMLMediaElement::enterFullscreen):
58854         (WebCore::HTMLMediaElement::exitFullscreen):
58855         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
58856         (WebCore::HTMLMediaElement::mediaCanStart):
58857         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
58858
58859 2010-09-09  Anton Muhin  <antonm@chromium.org>
58860
58861         Reviewed by Adam Barth.
58862
58863         [v8] bypass caches when query memory usage from post GC and in crash handler.
58864         https://bugs.webkit.org/show_bug.cgi?id=45036
58865
58866         Second part of the whole change: now use API introduced in
58867         http://trac.webkit.org/changeset/66818 and now backed by Chromium.
58868
58869         * bindings/v8/V8DOMWindowShell.cpp:
58870         (WebCore::reportFatalErrorInV8):
58871         * bindings/v8/V8GCController.cpp:
58872         (WebCore::V8GCController::gcEpilogue):
58873
58874 2010-09-09  Kwang Yul Seo  <skyul@company100.net>
58875
58876         Reviewed by James Robinson.
58877
58878         Make sure skia is not Chromium specific
58879         https://bugs.webkit.org/show_bug.cgi?id=39672
58880
58881         FontCustomPlatformData is not Chromium-specific. Move it to platform/skia.
58882
58883         No new tests because this is pure refactoring.
58884
58885         * WebCore.gyp/WebCore.gyp:
58886         * WebCore.gypi:
58887         * platform/graphics/chromium/FontCustomPlatformData.cpp: Removed.
58888         * platform/graphics/chromium/FontCustomPlatformData.h: Removed.
58889         * platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp.
58890         * platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h.
58891
58892 2010-09-09  Chris Rogers  <crogers@google.com>
58893
58894         Reviewed by Chris Fleizach.
58895
58896         Add AudioDSPKernel files
58897         https://bugs.webkit.org/show_bug.cgi?id=45319
58898
58899         No new tests since audio API is not yet implemented.
58900
58901         * platform/audio/AudioDSPKernel.h: Added.
58902         (WebCore::AudioDSPKernel::AudioDSPKernel):
58903         (WebCore::AudioDSPKernel::~AudioDSPKernel):
58904         (WebCore::AudioDSPKernel::sampleRate):
58905         (WebCore::AudioDSPKernel::nyquist):
58906         (WebCore::AudioDSPKernel::processor):
58907
58908 2010-09-09  Chris Rogers  <crogers@google.com>
58909
58910         Reviewed by Chris Fleizach.
58911
58912         Add AudioProcessor.h
58913         https://bugs.webkit.org/show_bug.cgi?id=45206
58914
58915         No new tests since audio API is not yet implemented.
58916
58917         * platform/audio/AudioProcessor.h: Added.
58918         (WebCore::AudioProcessor::AudioProcessor):
58919         (WebCore::AudioProcessor::~AudioProcessor):
58920         (WebCore::AudioProcessor::isInitialized):
58921         (WebCore::AudioProcessor::sampleRate):
58922
58923 2010-09-09  Kenneth Russell  <kbr@google.com>
58924
58925         Reviewed by James Robinson.
58926
58927         Add cubic texture coordinate computation
58928         https://bugs.webkit.org/show_bug.cgi?id=45250
58929
58930         Adding the texture coordinate computation for cubic curves per the
58931         GPU Gems 3 chapter. No tests yet; will be tested in conjunction
58932         with later code.
58933
58934         * platform/graphics/gpu/LoopBlinnConstants.h: Added.
58935         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added.
58936         (WebCore::LoopBlinnTextureCoords::compute):
58937         * platform/graphics/gpu/LoopBlinnTextureCoords.h: Added.
58938         (WebCore::LoopBlinnTextureCoords::Result::Result):
58939         (WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords):
58940
58941 2010-09-09  Kenneth Russell  <kbr@google.com>
58942
58943         Reviewed by James Robinson.
58944
58945         Add cubic curve classifier
58946         https://bugs.webkit.org/show_bug.cgi?id=45249
58947
58948         Adding the cubic curve classification algorithm per the GPU Gems 3
58949         chapter. No tests yet; will be tested in conjunction with later code.
58950
58951         * platform/graphics/gpu/LoopBlinnClassifier.cpp: Added.
58952         (WebCore::LoopBlinnClassifier::classify):
58953         * platform/graphics/gpu/LoopBlinnClassifier.h: Added.
58954         (WebCore::LoopBlinnClassifier::Result::Result):
58955         (WebCore::LoopBlinnClassifier::LoopBlinnClassifier):
58956
58957 2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
58958
58959         Reviewed by Darin Adler.
58960
58961         QueryCommandValue('FontSize') returns pixel values instead of IE font numbers
58962         https://bugs.webkit.org/show_bug.cgi?id=21033
58963
58964         Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size.
58965         To implement the conversion between pixel font size and legacy font size,
58966         added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize.
58967
58968         Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position
58969         even when the selection is a range. This change revealed a crash in executeToggleStyleInList,
58970         which was also fixed.
58971
58972         Test: editing/execCommand/query-font-size.html
58973
58974         * css/CSSComputedStyleDeclaration.cpp:
58975         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style.
58976         (WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added.
58977         * css/CSSComputedStyleDeclaration.h:
58978         * css/CSSStyleSelector.cpp:
58979         (WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize.
58980         (WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize.
58981         (WebCore::CSSStyleSelector::legacyFontSize): Added.
58982         * css/CSSStyleSelector.h:
58983         * editing/Editor.cpp:
58984         (WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size.
58985         * editing/EditorCommand.cpp:
58986         (WebCore::executeToggleStyleInList): Crash fix.
58987         * page/Frame.cpp:
58988         (WebCore::Frame::selectionComputedStyle): See above.
58989
58990 2010-09-09  Robert Hogan  <robert@webkit.org>
58991
58992         Reviewed by Adam Barth.
58993
58994         Give WebKit clients a way to replace window.screen 
58995         to foil attempts to track users with it.
58996
58997         This allows clients to overload the values returned by the
58998         Screen object through the JSC manipulation API (such as
58999         QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will
59000         want to do this when they do not want to reveal too much
59001         explicit information about the user's desktop configuration.
59002
59003         https://bugs.webkit.org/show_bug.cgi?id=41802
59004
59005         * page/DOMWindow.idl:
59006
59007 2010-09-09  Kenneth Russell  <kbr@google.com>
59008
59009         Reviewed by James Robinson.
59010
59011         Memory leak in red/black tree
59012         https://bugs.webkit.org/show_bug.cgi?id=45472
59013
59014         Fixed memory leak in red/black tree where it was using operator
59015         new directly to allocate its internal nodes rather than the arena
59016         with which it was configured. Added allocateObject variant to
59017         arena supporting single-argument constructors. Added test to
59018         red/black tree unit tests to cover this functionality, and
59019         refactored TrackedAllocator into helper file to share between
59020         arena and red/black tree tests.
59021
59022         * platform/graphics/gpu/PODArena.h:
59023         (WebCore::PODArena::allocateObject):
59024         (WebCore::PODArena::allocateBase):
59025         * platform/graphics/gpu/PODIntervalTree.h:
59026         (WebCore::PODIntervalTree::PODIntervalTree):
59027         * platform/graphics/gpu/PODRedBlackTree.h:
59028         (WebCore::PODRedBlackTree::add):
59029
59030 2010-09-09  Dean Jackson  <dino@apple.com>
59031
59032         Reviewed by Simon Fraser.
59033
59034         Fill mode is broken with multiple keyframes
59035         https://bugs.webkit.org/show_bug.cgi?id=41209
59036
59037         With a forward fill mode the animation would tick after
59038         the end of the animation, causing the fractional
59039         duration of the animation to wrap. This meant the last
59040         style update would happen using the incorrect keyframes.
59041         The solution was to put clamps in for the elapsed time
59042         and current iteration count.
59043
59044         Tests: animations/fill-mode-missing-from-to-keyframes.html
59045                animations/fill-mode-multiple-keyframes.html
59046
59047         * page/animation/KeyframeAnimation.cpp:
59048         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
59049
59050 2010-09-09  Chris Fleizach  <cfleizach@apple.com>
59051
59052         Reviewed by David Kilzer.
59053
59054         AX: Support AccessibilityTextMarkers in DRT
59055         https://bugs.webkit.org/show_bug.cgi?id=44778
59056
59057         Provide support in DRT for accessing and manipulating the text marker system that AX exposes.
59058         This will allow future bug fixes in the text marker system to be adequately tested.
59059
59060         Tests: platform/mac/accessibility/element-for-text-marker.html
59061                platform/mac/accessibility/text-marker-length.html
59062
59063         * accessibility/mac/AccessibilityObjectWrapper.mm:
59064         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
59065
59066 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
59067
59068         Reviewed by Dan Bernstein.
59069
59070         REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1
59071         https://bugs.webkit.org/show_bug.cgi?id=40743
59072         
59073         We can't do partial compositing layer updates on scrolling if we have to look
59074         for overlap, because the overlap map needs to be populated by traversing the
59075         compositing layer hierarchy from the root.
59076
59077         Test: compositing/layer-creation/scroll-partial-update.html
59078
59079         * rendering/RenderLayerCompositor.cpp:
59080         (WebCore::RenderLayerCompositor::updateCompositingLayers):
59081
59082 2010-09-09  Philippe Normand  <pnormand@igalia.com>
59083
59084         Reviewed by Martin Robinson.
59085
59086         [GTK] testmimehandling falsely succeeds testing Ogg mime type
59087         https://bugs.webkit.org/show_bug.cgi?id=45349
59088
59089         Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg
59090         files work as well.
59091
59092         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
59093         (WebCore::mimeTypeCache):
59094
59095 2010-09-09  Adam Barth  <abarth@webkit.org>
59096
59097         Move FTPDirectoryDocument, ImageDocument, MediaDocument, and
59098         PluginDocument from WebCore/loader to WebCore/html.  These classes are
59099         subclasses of HTMLDocument.  They don't belong in the loader.  Further
59100         cleanup patches to follow.
59101
59102         * Android.mk:
59103         * CMakeLists.txt:
59104         * GNUmakefile.am:
59105         * WebCore.gypi:
59106         * WebCore.pro:
59107         * WebCore.vcproj/WebCore.vcproj:
59108         * WebCore.xcodeproj/project.pbxproj:
59109         * html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp.
59110         * html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h.
59111         * html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp.
59112         * html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h.
59113         * html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp.
59114         * html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h.
59115         * html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp.
59116         * html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h.
59117         * loader/FTPDirectoryDocument.cpp: Removed.
59118         * loader/FTPDirectoryDocument.h: Removed.
59119         * loader/ImageDocument.cpp: Removed.
59120         * loader/ImageDocument.h: Removed.
59121         * loader/MediaDocument.cpp: Removed.
59122         * loader/MediaDocument.h: Removed.
59123         * loader/PluginDocument.cpp: Removed.
59124         * loader/PluginDocument.h: Removed.
59125
59126 2010-09-09  Andrey Kosyakov  <caseq@chromium.org>
59127
59128         Reviewed by Yury Semikhatsky.
59129
59130         Web Inspector: use string representation of resource type in extension API
59131         Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
59132         https://bugs.webkit.org/show_bug.cgi?id=45286
59133
59134         Test: inspector/extensions-resources.html
59135
59136         * English.lproj/localizedStrings.js: Added "media".
59137         * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings.
59138         (WebInspector.ExtensionServer.prototype._convertResource):
59139         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
59140         * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation.
59141         (WebInspector.Resource.Type.toUIString):
59142         (WebInspector.Resource.Type.toString):
59143
59144 2010-09-09  Kristian Amlie  <kristian.amlie@nokia.com>
59145
59146         Reviewed by Andreas Kling.
59147
59148         [Qt] Fixed incorrect Symbian scoping.
59149
59150         The missing install functionality is only true for mmp based systems.
59151
59152         https://bugs.webkit.org/show_bug.cgi?id=45268
59153
59154         * WebCore.pro:
59155
59156 2010-09-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59157
59158         Reviewed by Dirk Schulze.
59159
59160         [WML] Add a parameter to fix build break.
59161         https://bugs.webkit.org/show_bug.cgi?id=45437
59162
59163         In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter. 
59164         Because, parent class's setSelectedIndexByUser() has one more param.
59165
59166         * wml/WMLSelectElement.h:
59167
59168 2010-09-09  Ryuan Choi  <ryuan.choi@samsung.com>
59169
59170         Unreviewed attempt to fix EFL build after r67001.
59171
59172         [EFL] Regression (67001) Build break
59173         https://bugs.webkit.org/show_bug.cgi?id=45422
59174
59175         * platform/efl/ScrollbarEfl.cpp:
59176         (scrollbarEflEdjeMessage):
59177
59178 2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
59179
59180         Reviewed by Tony Chang.
59181
59182         MarkupAccumulator should be broken down into two classes
59183         https://bugs.webkit.org/show_bug.cgi?id=44854
59184
59185         Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles,
59186         shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create
59187         StyledMarkupAccumulator in order to isolate annotation related code and prepending of text.
59188
59189         Isolating MarkupAccumulator as a separate class has two advantages:
59190         1. Isolated serialization code is easier to understand and easier to security-review.
59191         2. Embedder can use MarkupAccumulator to implement "Save as" feature.
59192
59193         Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in
59194         StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs
59195         to append only rendered text when shouldAnnotate() is true, and appendElement requires a different
59196         behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true.
59197
59198         No new tests are added since this is a cleanup.
59199
59200         * editing/markup.cpp:
59201         (WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument.
59202         (WebCore::MarkupAccumulator::~MarkupAccumulator): Added.
59203         (WebCore::StyledMarkupAccumulator::): Added.
59204         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added.
59205         (WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation.
59206         (WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator.
59207         (WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
59208         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator.
59209         (WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual.
59210         (WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text.
59211         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer.
59212         (WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText.
59213         (WebCore::MarkupAccumulator::appendText): No longer deals with annotation.
59214         (WebCore::StyledMarkupAccumulator::appendText): Added to support annotation.
59215         (WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator.
59216         (WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator.
59217         (WebCore::MarkupAccumulator::appendElement): No longer deals with annotation.
59218         (WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator.
59219         (WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator.
59220         (WebCore::MarkupAccumulator::appendOpenTag): Added.
59221         (WebCore::MarkupAccumulator::appendCloseTag): Added.
59222         (WebCore::MarkupAccumulator::appendAttribute): Added.
59223         (WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
59224         (WebCore::serializeNodes): Takes StyledMarkupAccumulator.
59225         (WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator.
59226
59227 2010-09-08  Peter Kasting  <pkasting@google.com>
59228
59229         Not reviewed, layout test fix.
59230         
59231         Fix flaky layout test results caused by not initializing members correctly.
59232         https://bugs.webkit.org/show_bug.cgi?id=45411
59233
59234         * platform/ScrollAnimator.cpp:
59235         (WebCore::ScrollAnimator::ScrollAnimator):
59236         (WebCore::ScrollAnimator::~ScrollAnimator):
59237         * platform/ScrollAnimator.h:
59238
59239 2010-09-08  MORITA Hajime  <morrita@google.com>
59240
59241         Reviewed by Tony Chang.
59242
59243         spelling underline gets lost on backspace
59244         https://bugs.webkit.org/show_bug.cgi?id=41423
59245
59246         moveParagraphs() did make a DOM range by serializing source range
59247         and deserializing it back, and markers are gone during the process.
59248         This change marks that DOM range again.
59249
59250         Test: editing/spelling/spelling-backspace-between-lines.html
59251
59252         * editing/CompositeEditCommand.cpp:
59253         (WebCore::CompositeEditCommand::moveParagraphs):
59254         * editing/Editor.cpp:
59255         (WebCore::Editor::clearMisspellingsAndBadGrammar): Added.
59256         (WebCore::Editor::markMisspellingsAndBadGrammar): Added.
59257         * editing/Editor.h:
59258
59259 2010-09-08  Adam Barth  <abarth@webkit.org>
59260
59261         Reviewed by Eric Seidel.
59262
59263         text/plain documents that start with \n trigger ASSERT
59264         https://bugs.webkit.org/show_bug.cgi?id=45409
59265
59266         Because the TextDocumentParser uses a <pre> element to show the text,
59267         it ran into a requirement from HTML5 to skip any initial \n character
59268         tokens inside a <pre> element.  We don't want the behavior for
59269         TextDocuments, so I've loosened our ASSERTs and added a comment and a
59270         test to document the correct behavior.
59271
59272         Test: fast/tokenizer/text-plain.html
59273
59274         * html/parser/HTMLTokenizer.cpp:
59275         (WebCore::HTMLTokenizer::nextToken):
59276
59277 2010-09-08  James Robinson  <jamesr@chromium.org>
59278
59279         Reviewed by Kenneth Russell.
59280
59281         [chromium] Always do 2d canvas clearRect() in hardware
59282         https://bugs.webkit.org/show_bug.cgi?id=45415
59283
59284         r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was
59285         active.  This is subtly wrong for mixed mode rendering since it results in only the
59286         software backing store being cleared and not the hardware.  This forces clearRect() to
59287         happen in hardware.  Since we upload mixed mode results before doing any hardware draw
59288         this means we always clear everything.
59289
59290         * platform/graphics/skia/GraphicsContextSkia.cpp:
59291         (WebCore::GraphicsContext::clearRect):
59292
59293 2010-09-08  Dean Jackson  <dino@apple.com>
59294
59295         Unreviewed attempt to fix the Mac builds.
59296
59297         * css/CSSParser.cpp:
59298         (WebCore::CSSParser::parseAnimationTimingFunction):
59299
59300 2010-09-08  Dean Jackson  <dino@apple.com>
59301
59302         Unreviewed attempt to fix QT build.
59303
59304         * platform/graphics/qt/GraphicsLayerQt.cpp:
59305         (WebCore::solveStepsFunction):
59306         (WebCore::applyTimingFunction):
59307
59308 2010-09-08  Dean Jackson  <dino@apple.com>
59309
59310         Reviewed by Simon Fraser.
59311
59312         Implement steps() timing function for animations
59313         https://bugs.webkit.org/show_bug.cgi?id=44541
59314
59315         Tests: animations/timing-functions.html
59316                transitions/steps-timing-function.html
59317
59318         * css/CSSComputedStyleDeclaration.cpp:
59319         (WebCore::getTimingFunctionValue):
59320             - when creating computed style we now test what
59321               type of timing function it being used
59322         * css/CSSParser.cpp:
59323         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
59324             - rename this method from parseTimingFunctionValue
59325         (WebCore::CSSParser::parseAnimationTimingFunction):
59326             - support parsing the steps() function
59327         * css/CSSParser.h:
59328             - method rename
59329         * css/CSSStyleSelector.cpp:
59330         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
59331             - handle 'step-start' and 'step-end' identifiers. Also
59332               now use ::create when constructing objects
59333         * css/CSSTimingFunctionValue.cpp:
59334         (WebCore::CSSLinearTimingFunctionValue::cssText):
59335         (WebCore::CSSCubicBezierTimingFunctionValue::cssText):
59336         (WebCore::CSSStepsTimingFunctionValue::cssText):
59337             - new text output for computed style. We now produce
59338               the text 'linear' when appropriate.
59339         * css/CSSTimingFunctionValue.h:
59340         (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
59341         (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
59342         (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
59343         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
59344         (WebCore::CSSTimingFunctionValue::isTimingFunctionValue):
59345         (WebCore::CSSLinearTimingFunctionValue::create):
59346         (WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue):
59347         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
59348         (WebCore::CSSCubicBezierTimingFunctionValue::create):
59349         (WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue):
59350         (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
59351         (WebCore::CSSStepsTimingFunctionValue::create):
59352         (WebCore::CSSStepsTimingFunctionValue::numberOfSteps):
59353         (WebCore::CSSStepsTimingFunctionValue::stepAtStart):
59354         (WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue):
59355         (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
59356             - CSSTimingFunction is now a pure virtual ref-counted base class, with
59357               subclasses for each of the three supported timing functions.
59358         * css/CSSValueKeywords.in:
59359             - new keywords step-start and step-end
59360         * page/animation/AnimationBase.cpp:
59361         (WebCore::solveStepsFunction):
59362             - produces the output value from a stepping function
59363         (WebCore::AnimationBase::progress):
59364             - now has to switch based on timing function type
59365         * page/animation/KeyframeAnimation.cpp:
59366         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
59367             - use ref-counted access
59368         * platform/animation/Animation.cpp:
59369         (WebCore::Animation::animationsMatch):
59370             - change timing function comparison for operator==
59371         * platform/animation/Animation.h:
59372         (WebCore::Animation::timingFunction):
59373         (WebCore::Animation::setTimingFunction):
59374         (WebCore::Animation::initialAnimationTimingFunction):
59375             - move to ref-counted timing function class
59376         * platform/animation/TimingFunction.h:
59377         (WebCore::TimingFunction::~TimingFunction):
59378         (WebCore::TimingFunction::isLinearTimingFunction):
59379         (WebCore::TimingFunction::isCubicBezierTimingFunction):
59380         (WebCore::TimingFunction::isStepsTimingFunction):
59381         (WebCore::TimingFunction::TimingFunction):
59382         (WebCore::LinearTimingFunction::create):
59383         (WebCore::LinearTimingFunction::~LinearTimingFunction):
59384         (WebCore::LinearTimingFunction::operator==):
59385         (WebCore::LinearTimingFunction::LinearTimingFunction):
59386         (WebCore::CubicBezierTimingFunction::create):
59387         (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
59388         (WebCore::CubicBezierTimingFunction::operator==):
59389         (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
59390         (WebCore::StepsTimingFunction::create):
59391         (WebCore::StepsTimingFunction::~StepsTimingFunction):
59392         (WebCore::StepsTimingFunction::operator==):
59393         (WebCore::StepsTimingFunction::numberOfSteps):
59394         (WebCore::StepsTimingFunction::stepAtStart):
59395         (WebCore::StepsTimingFunction::StepsTimingFunction):
59396             - TimingFunction is now a ref-counted pure virtual base class,
59397               with three subclasses representing the types of timing functions
59398               that are supported.
59399         * platform/graphics/GraphicsLayer.h:
59400         (WebCore::AnimationValue::AnimationValue):
59401         (WebCore::FloatAnimationValue::FloatAnimationValue):
59402         (WebCore::TransformAnimationValue::TransformAnimationValue):
59403             - use PassRefPtr in function parameters
59404         * platform/graphics/qt/GraphicsLayerQt.cpp:
59405         (WebCore::solveStepsFunction):
59406         (WebCore::applyTimingFunction):
59407         (WebCore::AnimationQt::AnimationQt):
59408         (WebCore::AnimationQt::updateCurrentTime):
59409             - implement the timing function switch for QT
59410         * platform/graphics/mac/GraphicsLayerCA.mm:
59411         (WebCore::getCAMediaTimingFunction):
59412             - update for new timing function interface
59413         (WebCore::animationHasStepsTimingFunction):
59414             - new method to make sure animations with steps() functions
59415               never try to execute in Core Animation
59416         (WebCore::GraphicsLayerCA::addAnimation):
59417             - test for steps() timing function
59418         (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
59419         * rendering/style/RenderStyleConstants.h:
59420             - remove old RenderStyle enum for timing function types
59421
59422 2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
59423
59424         Unreviewed trivial fix after r66960.
59425
59426         * WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h
59427
59428 2010-09-08  Adam Barth  <abarth@webkit.org>
59429
59430         Reviewed by Eric Seidel.
59431
59432         move-during-parse-parent.html crashes
59433         https://bugs.webkit.org/show_bug.cgi?id=45210
59434
59435         When inserting elements into the tree, they need to be associated with
59436         their parent's document, not the document for which the parser is
59437         running.  These two are different when the parent has been moved to a
59438         different document during parsing.
59439
59440         Test: fast/parser/move-during-parsing.html
59441
59442         * html/parser/HTMLConstructionSite.cpp:
59443         (WebCore::HTMLConstructionSite::insertComment):
59444         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
59445         (WebCore::HTMLConstructionSite::insertScriptElement):
59446         (WebCore::HTMLConstructionSite::insertTextNode):
59447         (WebCore::HTMLConstructionSite::createElement):
59448         (WebCore::HTMLConstructionSite::createHTMLElement):
59449
59450 2010-09-08  Gabor Loki  <loki@webkit.org>
59451
59452         Reviewed by Andreas Kling.
59453
59454         Fix increases required alignment of target type warning on ARM
59455         https://bugs.webkit.org/show_bug.cgi?id=45301
59456
59457         No new tests needed.
59458
59459         * bindings/js/SerializedScriptValue.cpp:
59460         (WebCore::CloneDeserializer::readLittleEndian):
59461         (WebCore::CloneDeserializer::readString):
59462         * plugins/PluginDatabase.cpp:
59463         (WebCore::readTime):
59464
59465 2010-09-08  Antonio Gomes  <agomes@rim.com>
59466
59467         Reviewed by Daniel Bates.
59468
59469         Make FocusController::focusedOrMainFrame method const
59470         https://bugs.webkit.org/show_bug.cgi?id=45406
59471
59472         No new tests.
59473
59474         * page/FocusController.cpp:
59475         (WebCore::FocusController::focusedOrMainFrame):
59476         * page/FocusController.h:
59477
59478 2010-09-08  Jian Li  <jianli@chromium.org>
59479
59480         Reviewed by Darin Adler.
59481
59482         Fix a problem in createCanonicalUUIDString that causes the last digit
59483         missing on Linux.
59484         https://bugs.webkit.org/show_bug.cgi?id=45412
59485
59486         This is caused by not including the final null character into the count
59487         that is provided to fgets.
59488
59489         This is covered by the existing test: send-form-data-with-sliced-file.html.
59490
59491         * platform/UUID.cpp:
59492         (WebCore::createCanonicalUUIDString):
59493
59494 2010-09-08  Nico Weber  <thakis@chromium.org>
59495
59496         Reviewed by Dimitri Glazkov.
59497
59498         chromium/mac: Fix overrelease in ImageLayerChromium
59499         https://bugs.webkit.org/show_bug.cgi?id=45360
59500
59501         Only release colorSpace if we created it.
59502
59503         * platform/graphics/chromium/ImageLayerChromium.cpp:
59504         (WebCore::ImageLayerChromium::updateContents):
59505
59506 2010-09-08  Robert Hogan  <robert@webkit.org>
59507
59508         Reviewed by Antonio Gomes.
59509
59510         Remove some unnecessary duplicate calls to string functions
59511
59512         https://bugs.webkit.org/show_bug.cgi?id=45314
59513
59514         * platform/network/curl/ResourceHandleManager.cpp:
59515         (WebCore::parseDataUrl):
59516         * websockets/WebSocketChannel.cpp:
59517         (WebCore::WebSocketChannel::send):
59518
59519 2010-09-08  Peter Kasting  <pkasting@google.com>
59520
59521         Not reviewed, fallout from http://trac.webkit.org/changeset/67001
59522
59523         Fix compile failures and add svn:eol-style on two new files.
59524
59525         * platform/ScrollAnimator.h: Added property svn:eol-style.
59526         * platform/ScrollAnimatorWin.cpp: Added property svn:eol-style.
59527         * platform/win/PopupMenuWin.cpp: Fix compile errors.
59528         (WebCore::PopupMenuWin::scrollToRevealSelection):
59529         (WebCore::PopupMenuWin::scrollSize):
59530
59531 2010-09-08  James Robinson  <jamesr@chromium.org>
59532
59533         Reviewed by Kenneth Russell.
59534
59535         [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active
59536         https://bugs.webkit.org/show_bug.cgi?id=45405
59537
59538         This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient,
59539         shadow, or clip applied; at least until we can handle these in hardware.  Otherwise the pattern/gradient/etc
59540         is completely ignored by the hardware drawing routine and we render incorrectly.
59541
59542         The test is slightly convervative - for example it will force drawImage() calls to happen in software if a
59543         fill gradient is set even though it's irrelevant.  This doesn't seem to be an issue in practice and we
59544         can tighten the checks later if needed.
59545
59546         Tested by fast/canvas/canvas-incremental-repaint.html.
59547
59548         * platform/graphics/skia/GraphicsContextSkia.cpp:
59549         (WebCore::GraphicsContext::canvasClip):
59550         (WebCore::GraphicsContext::fillRect):
59551         * platform/graphics/skia/ImageBufferSkia.cpp:
59552         (WebCore::ImageBuffer::draw):
59553         * platform/graphics/skia/ImageSkia.cpp:
59554         (WebCore::BitmapImage::draw):
59555         (WebCore::BitmapImageSingleFrameSkia::draw):
59556         * platform/graphics/skia/PlatformContextSkia.cpp:
59557         (WebCore::PlatformContextSkia::State::State):
59558         (WebCore::PlatformContextSkia::canvasClipPath):
59559         (WebCore::PlatformContextSkia::canAccelerate):
59560         * platform/graphics/skia/PlatformContextSkia.h:
59561
59562 2010-09-08  Peter Kasting  <pkasting@google.com>
59563
59564         Reviewed by David Hyatt.
59565
59566         Add smooth scrolling framework, and a Windows implementation.
59567         https://bugs.webkit.org/show_bug.cgi?id=32356
59568
59569         * CMakeLists.txt: Add ScrollAnimator.
59570         * GNUmakefile.am: Add ScrollAnimator.
59571         * WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator.
59572         * WebCore.gypi: Add ScrollAnimator.
59573         * WebCore.pro: Add ScrollAnimator.
59574         * WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator.
59575         * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.
59576         * platform/ScrollAnimator.cpp: Added base implementation that does no animation.
59577         (WebCore::ScrollAnimator::create):
59578         (WebCore::ScrollAnimator::scroll):
59579         (WebCore::ScrollAnimator::setScrollPositionAndStopAnimation):
59580         * platform/ScrollAnimator.h: Added base implementation that does no animation.
59581         (WebCore::ScrollAnimator::ScrollAnimator):
59582         (WebCore::ScrollAnimator::~ScrollAnimator):
59583         * platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls.
59584         (WebCore::ScrollAnimator::create):
59585         (WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData):
59586         (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
59587         (WebCore::ScrollAnimatorWin::~ScrollAnimatorWin):
59588         (WebCore::ScrollAnimatorWin::scroll):
59589         (WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation):
59590         (WebCore::ScrollAnimatorWin::accelerationTime):
59591         (WebCore::ScrollAnimatorWin::animationTimerFired):
59592         (WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded):
59593         (WebCore::ScrollAnimatorWin::animateScroll):
59594         * platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls.
59595         * platform/ScrollView.cpp: Implement new ScrollbarClient functions.  Allow wheel scrolls to be animated.
59596         (WebCore::ScrollView::scrollSize):
59597         (WebCore::ScrollView::setScrollOffsetFromAnimation):
59598         (WebCore::ScrollView::updateScrollbars):
59599         (WebCore::ScrollView::wheelEvent):
59600         * platform/ScrollView.h: Implement new ScrollbarClient functions.
59601         * platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present.
59602         (WebCore::Scrollbar::setValue):
59603         (WebCore::Scrollbar::scroll):
59604         (WebCore::Scrollbar::moveThumb):
59605         (WebCore::Scrollbar::setCurrentPos):
59606         (WebCore::Scrollbar::mouseMoved):
59607         * platform/Scrollbar.h:
59608         * platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private.
59609         (WebCore::ScrollbarClient::ScrollbarClient):
59610         (WebCore::ScrollbarClient::~ScrollbarClient):
59611         (WebCore::ScrollbarClient::scroll):
59612         (WebCore::ScrollbarClient::setScrollPositionAndStopAnimation):
59613         * platform/ScrollbarClient.h: Add hooks for ScrollAnimator.
59614         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
59615         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
59616         * platform/gtk/MainFrameScrollbarGtk.cpp:
59617         (MainFrameScrollbarGtk::gtkValueChanged):
59618         * platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue().
59619         (WebCore::Scrollbar::contextMenu):
59620         * platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions.
59621         (WebCore::PopupMenuWin::scrollSize):
59622         (WebCore::PopupMenuWin::setScrollOffsetFromAnimation):
59623         * platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions.
59624         * rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions.
59625         (WebCore::RenderDataGrid::scrollSize):
59626         (WebCore::RenderDataGrid::setScrollOffsetFromAnimation):
59627         * rendering/RenderDataGrid.h: Implement new ScrollbarClient functions.
59628         * rendering/RenderLayer.cpp: Implement new ScrollbarClient functions.
59629         (WebCore::RenderLayer::scrollToOffset):
59630         (WebCore::RenderLayer::scrollSize):
59631         (WebCore::RenderLayer::setScrollOffsetFromAnimation):
59632         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
59633         * rendering/RenderLayer.h: Implement new ScrollbarClient functions.
59634         * rendering/RenderListBox.cpp: Implement new ScrollbarClient functions.
59635         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
59636         (WebCore::RenderListBox::scrollSize):
59637         (WebCore::RenderListBox::setScrollOffsetFromAnimation):
59638         (WebCore::RenderListBox::setScrollTop):
59639         * rendering/RenderListBox.h: Implement new ScrollbarClient functions.
59640
59641 2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
59642
59643         Reviewed by Tony Chang.
59644
59645         applyInlineStyleToRange needs cleanup
59646         https://bugs.webkit.org/show_bug.cgi?id=45008
59647
59648         Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange.
59649         applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange.
59650
59651         No new tests are added since this is a cleanup.
59652
59653         * editing/ApplyStyleCommand.cpp:
59654         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up.
59655         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange.
59656         * editing/ApplyStyleCommand.h:
59657
59658 2010-09-08  Andy Estes  <aestes@apple.com>
59659
59660         Rubber-stamped by Darin Adler.
59661
59662         Incorporate additional feedback from
59663         https://bugs.webkit.org/show_bug.cgi?id=45364.
59664
59665         * html/HTMLObjectElement.cpp:
59666         (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to
59667         urlParameter.
59668         * loader/SubframeLoader.h: Add argument names to the definition of
59669         SubframeLoader::resourceWillUsePlugin().
59670
59671 2010-09-07  Oliver Hunt  <oliver@apple.com>
59672
59673         Reviewed by Anders Carlsson.
59674
59675         Support SerializedScriptValue in WebKit2
59676         https://bugs.webkit.org/show_bug.cgi?id=45340
59677
59678         Add a new constructor that allows WebKit2 to create a SerializedScriptValue
59679         directly from serialized data.
59680
59681         * WebCore.exp.in:
59682         * bindings/js/SerializedScriptValue.h:
59683         (WebCore::SerializedScriptValue::adopt):
59684         (WebCore::SerializedScriptValue::data):
59685
59686 2010-09-08  Andy Estes  <aestes@apple.com>
59687
59688         Reviewed by Eric Carlson.
59689
59690         Fallback content should be rendered when an <object> doesn't specify a
59691         data, type or classid attribute.
59692         https://bugs.webkit.org/show_bug.cgi?id=45364
59693         <rdar://problem/8375816>
59694
59695         HTML5 says that if no data or type attribute is specified on an <object>,
59696         fallback content should be rendered. However, WebKit has traditionally
59697         supported specifying a URL and MIME type in <param> elements. 
59698
59699         To more closely match the spec while maintaining compatibility with
59700         content that relied on our old behavior, we will continue to load
59701         a resource specified by <param> elements if we can determine a priori
59702         that it will be handled by a plug-in. 
59703
59704         If we can't make this determination, and the <object> element has no
59705         "data" or "type" attribute, the <param> elements will be ignored and
59706         fallback content will be rendered. Otherwise, there is no change in
59707         behavior.
59708
59709         * html/HTMLObjectElement.cpp:
59710         (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is
59711         passed to this function and a <param> exists that specifies a url that
59712         references a plug-in resource, set it to url, making it the url that
59713         will be loaded by the <object> element.
59714         (WebCore::HTMLObjectElement::updateWidget): If no type attribute was
59715         specified, but there is a classid attribute, try to map the classid to
59716         a MIME type. This needs to be done before calling
59717         HTMLObjectElement::parametersForPlugin().
59718         * loader/SubframeLoader.cpp:
59719         (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method
59720         that determines if a resource will load a plug-in based on its url and
59721         MIME type. This is equivalent to calling
59722         SubframeLoader::shouldUsePlugin(), but does not burden the caller with
59723         the details of fallback content.
59724         * loader/SubframeLoader.h:
59725
59726 2010-09-08  Pavel Podivilov  <podivilov@chromium.org>
59727
59728         Reviewed by Yury Semikhatsky.
59729
59730         Web Inspector: add breakpoints to source frame after content is loaded.
59731         https://bugs.webkit.org/show_bug.cgi?id=43056
59732
59733         * inspector/front-end/ScriptsPanel.js:
59734         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
59735         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
59736         * inspector/front-end/SourceView.js:
59737         (WebInspector.SourceView.prototype._contentLoaded):
59738
59739 2010-09-08  Andreas Kling  <andreas.kling@nokia.com>
59740
59741         Reviewed by Kenneth Rohde Christiansen.
59742
59743         Canvas: Remove unnecessary null-check of canvas() in getImageData()
59744         https://bugs.webkit.org/show_bug.cgi?id=45394
59745
59746         canvas() is already dereferenced earlier in the function so there is
59747         no use in checking it for null later.
59748
59749         * html/canvas/CanvasRenderingContext2D.cpp:
59750         (WebCore::CanvasRenderingContext2D::getImageData):
59751
59752 2010-09-08  Philippe Normand  <pnormand@igalia.com>
59753
59754         Reviewed by Eric Carlson.
59755
59756         [GStreamer] cache media duration in READY instead of PLAYING
59757         https://bugs.webkit.org/show_bug.cgi?id=39053
59758
59759         New cacheDuration private method used to in updateStates() and
59760         durationChanged().
59761
59762         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
59763         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
59764         (WebCore::MediaPlayerPrivateGStreamer::cacheDuration):
59765         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
59766         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
59767
59768 2010-09-08  Martin Robinson  <mrobinson@igalia.com>
59769
59770         Reviewed by Xan Lopez.
59771
59772         [GTK] Need a WebSocket implementation
59773         https://bugs.webkit.org/show_bug.cgi?id=45197
59774
59775         Add a GIO-based WebSocket implementation. This does not yet support
59776         SSL sockets or proxies, but these should be possible to add as support
59777         arrives in GLib/GIO for them.
59778
59779         * platform/network/soup/SocketStreamHandle.h:
59780         * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation.
59781         (WebCore::isActiveHandle): Added.
59782         (WebCore::deactivateHandle): Added.
59783         (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub.
59784         (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto.
59785         (WebCore::SocketStreamHandle::connected): Added.
59786         (WebCore::SocketStreamHandle::readBytes): Added.
59787         (WebCore::SocketStreamHandle::writeReady): Added.
59788         (WebCore::SocketStreamHandle::platformSend): Filled out stub.
59789         (WebCore::SocketStreamHandle::platformClose): Filled out stub.
59790         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added.
59791         (WebCore::SocketStreamHandle::stopWaitingForSocketWritability):
59792         (WebCore::connectedCallback): Added.
59793         (WebCore::readReadyCallback): Added.
59794         (WebCore::writeReadyCallback): Added.
59795
59796 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
59797
59798         Reviewed by Dirk Schulze.
59799
59800         [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon
59801         https://bugs.webkit.org/show_bug.cgi?id=45355
59802
59803         r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon,
59804         which determines whether or not to render the render the clip with anti-aliasing
59805         or not. The Cairo implementation now uses that parameter to determine the argument
59806         to pass to cairo_set_antialias(...) when clipping.
59807
59808         Test: This is tested by many tests in fast/borders.
59809
59810         * platform/graphics/cairo/GraphicsContextCairo.cpp:
59811         (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter.
59812
59813 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59814
59815         Reviewed by Kenneth Rohde Christiansen.
59816
59817         [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
59818         https://bugs.webkit.org/show_bug.cgi?id=44098
59819
59820         To support video of HTML5 based on gstreamer, add files regarding gstreamer to
59821         CMakeListsEfl.txt.
59822
59823         * CMakeListsEfl.txt:
59824
59825 2010-09-08  Jan E Hanssen  <jhanssen@sencha.com>
59826
59827         Reviewed by Dirk Schulze.
59828
59829         [Qt] PathQt should use the QPainterPath functionality for calculations
59830         https://bugs.webkit.org/show_bug.cgi?id=43837
59831
59832         Change PathQt to use the built-in functionality of QPainterPath for
59833         calculating length(), pointAtLength() and normalAngleAtLength().
59834
59835         * platform/graphics/Path.cpp:
59836         * platform/graphics/qt/PathQt.cpp:
59837         (WebCore::Path::length):
59838         (WebCore::Path::pointAtLength):
59839         (WebCore::Path::normalAngleAtLength):
59840
59841 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59842
59843         Reviewed by Dirk Schulze.
59844
59845         [WML] Remove create() function in WMLTaskElement because of build break.
59846         https://bugs.webkit.org/show_bug.cgi?id=44954
59847
59848         Remove create() function in WMLTaskElement.cpp because of build breaks.
59849
59850         * wml/WMLTaskElement.cpp:
59851         * wml/WMLTaskElement.h:
59852
59853 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59854
59855         Reviewed by Dirk Schulze.
59856
59857         [WML] Add create functions to WML.
59858         https://bugs.webkit.org/show_bug.cgi?id=44950
59859
59860         There are missing definitions of create function in WML area. 
59861         So, there are build breaks when enabling WML. The create functions and the construction 
59862         are added. In addition, a style error and duplicated adoptRef usage are fixed.
59863
59864         * wml/WMLDocument.h:
59865         (WebCore::WMLDocument::create):
59866         * wml/WMLFormControlElement.h:
59867         * wml/WMLIntrinsicEvent.cpp:
59868         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
59869         * wml/WMLIntrinsicEvent.h:
59870
59871 2010-09-08  Nico Weber  <thakis@chromium.org>
59872
59873         Reviewed by Kenneth Russell.
59874
59875         chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext
59876         https://bugs.webkit.org/show_bug.cgi?id=45354
59877
59878         * platform/graphics/chromium/ContentLayerChromium.cpp:
59879         (WebCore::ContentLayerChromium::updateContents): Set a current local context.
59880
59881 2010-09-08  Justin Schuh  <jschuh@chromium.org>
59882
59883         Reviewed by Nikolas Zimmermann.
59884
59885         NULL deref when use target is reset, then set to display:none
59886         https://bugs.webkit.org/show_bug.cgi?id=45345
59887
59888         Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle
59889
59890         Test: svg/custom/use-display-none.svg
59891
59892         * svg/SVGUseElement.cpp:
59893         (WebCore::SVGUseElement::recalcStyle):
59894
59895 2010-08-30  Maciej Stachowiak  <mjs@apple.com>
59896
59897         Reviewed by Darin Adler.
59898
59899         Handle MediaQueryExp memory management exclusively with smart pointers
59900         https://bugs.webkit.org/show_bug.cgi?id=44874
59901
59902         Gace MediaQueryExp a create function, made the constructor private, and followed
59903         the implications. The one tricky bit was using a non-copying sort to sort
59904         the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor.
59905         
59906         * ForwardingHeaders/wtf/NonCopyingSort.h: Added.
59907         * css/CSSGrammar.y:
59908         * css/CSSParser.cpp:
59909         (WebCore::CSSParser::~CSSParser):
59910         (WebCore::CSSParser::createFloatingMediaQueryExp):
59911         (WebCore::CSSParser::createFloatingMediaQueryExpList):
59912         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
59913         (WebCore::CSSParser::createFloatingMediaQuery):
59914         * css/CSSParser.h:
59915         * css/MediaList.cpp:
59916         * css/MediaQuery.cpp:
59917         (WebCore::expressionCompare):
59918         (WebCore::MediaQuery::MediaQuery):
59919         (WebCore::MediaQuery::~MediaQuery):
59920         * css/MediaQuery.h:
59921         (WebCore::MediaQuery::expressions):
59922         * css/MediaQueryEvaluator.cpp:
59923         (WebCore::MediaQueryEvaluator::eval):
59924         * css/MediaQueryExp.h:
59925         (WebCore::MediaQueryExp::create):
59926
59927 2010-09-08  Adam Barth  <abarth@webkit.org>
59928
59929         Reviewed by Maciej Stachowiak.
59930
59931         Remove unused member variable from DecodedDocumentParser
59932         https://bugs.webkit.org/show_bug.cgi?id=45379
59933
59934         This member variable isn't used because of the recent split of
59935         TextDocumentParser and TextViewSourceParser.
59936
59937         * dom/DecodedDataDocumentParser.cpp:
59938         (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser):
59939         * dom/DecodedDataDocumentParser.h:
59940         * dom/ScriptableDocumentParser.cpp:
59941         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
59942         * dom/ScriptableDocumentParser.h:
59943
59944 2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
59945
59946         Reviewed by Andreas Kling.
59947
59948         Fix warning in rendering/RenderBlock.cpp.
59949         https://bugs.webkit.org/show_bug.cgi?id=45373
59950
59951         * rendering/RenderBlock.cpp:
59952         (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within ||
59953
59954 2010-09-08  Mario Sanchez Prada  <msanchez@igalia.com>
59955
59956         Reviewed by Martin Robinson.
59957
59958         [Gtk] A list item's number/bullet should not be a child of that list item
59959         https://bugs.webkit.org/show_bug.cgi?id=45190
59960
59961         Ignore list markers and prefix them to the text for the item
59962
59963         * accessibility/gtk/AccessibilityObjectAtk.cpp:
59964         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
59965         Make list markers ignore accessibility for the GTK port.
59966         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
59967         (webkit_accessible_text_get_text): Prefix the text of a marker
59968         along with the accessible text for its list item's AtkObject
59969
59970 2010-09-08  Adam Barth  <abarth@webkit.org>
59971
59972         Rubber-stamped by Eric Seidel.
59973
59974         Rename DocLoader to CachedResourceLoader because that's what it does.
59975
59976         * Android.mk:
59977         * CMakeLists.txt:
59978         * GNUmakefile.am:
59979         * WebCore.gypi:
59980         * WebCore.pro:
59981         * WebCore.vcproj/WebCore.vcproj:
59982         * WebCore.xcodeproj/project.pbxproj:
59983         * css/CSSCursorImageValue.cpp:
59984         (WebCore::CSSCursorImageValue::cachedImage):
59985         * css/CSSCursorImageValue.h:
59986         * css/CSSFontFaceSource.cpp:
59987         (WebCore::CSSFontFaceSource::getFontData):
59988         * css/CSSFontSelector.cpp:
59989         (WebCore::CSSFontSelector::cachedResourceLoader):
59990         (WebCore::CSSFontSelector::addFontFaceRule):
59991         * css/CSSFontSelector.h:
59992         * css/CSSImageValue.cpp:
59993         (WebCore::CSSImageValue::cachedImage):
59994         * css/CSSImageValue.h:
59995         * css/CSSImportRule.cpp:
59996         (WebCore::CSSImportRule::insertedIntoParent):
59997         * css/CSSStyleSelector.cpp:
59998         (WebCore::CSSStyleSelector::loadPendingImages):
59999         * css/CSSStyleSheet.h:
60000         * dom/Document.cpp:
60001         (WebCore::Document::Document):
60002         (WebCore::Document::~Document):
60003         (WebCore::Document::implicitClose):
60004         * dom/Document.h:
60005         (WebCore::Document::cachedResourceLoader):
60006         * dom/ProcessingInstruction.cpp:
60007         (WebCore::ProcessingInstruction::checkStyleSheet):
60008         * dom/ScriptElement.cpp:
60009         (WebCore::ScriptElementData::requestScript):
60010         * dom/XMLDocumentParser.cpp:
60011         * dom/XMLDocumentParser.h:
60012         * dom/XMLDocumentParserLibxml2.cpp:
60013         (WebCore::matchFunc):
60014         (WebCore::shouldAllowExternalLoad):
60015         (WebCore::openFunc):
60016         (WebCore::XMLDocumentParser::doWrite):
60017         (WebCore::XMLDocumentParser::endElementNs):
60018         (WebCore::XMLDocumentParser::initializeParserContext):
60019         (WebCore::XMLDocumentParser::doEnd):
60020         (WebCore::xmlDocPtrForString):
60021         * dom/XMLDocumentParserQt.cpp:
60022         (WebCore::XMLDocumentParser::parseEndElement):
60023         * dom/XMLDocumentParserScope.cpp:
60024         (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
60025         (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
60026         * dom/XMLDocumentParserScope.h:
60027         * editing/Editor.cpp:
60028         (WebCore::Editor::paste):
60029         * editing/mac/EditorMac.mm:
60030         (WebCore::Editor::paste):
60031         * html/HTMLLinkElement.cpp:
60032         (WebCore::HTMLLinkElement::process):
60033         * html/parser/CSSPreloadScanner.cpp:
60034         (WebCore::CSSPreloadScanner::emitRule):
60035         * html/parser/HTMLPreloadScanner.cpp:
60036         (WebCore::HTMLNames::PreloadTask::preload):
60037         * html/parser/HTMLScriptRunner.cpp:
60038         (WebCore::HTMLScriptRunner::requestPendingScript):
60039         * inspector/InspectorResource.cpp:
60040         (WebCore::InspectorResource::cachedResource):
60041         * loader/Cache.cpp:
60042         (WebCore::Cache::requestResource):
60043         (WebCore::Cache::requestUserCSSStyleSheet):
60044         (WebCore::Cache::revalidateResource):
60045         (WebCore::Cache::addCachedResourceLoader):
60046         (WebCore::Cache::removeCachedResourceLoader):
60047         * loader/Cache.h:
60048         * loader/CachedCSSStyleSheet.h:
60049         * loader/CachedFont.cpp:
60050         (WebCore::CachedFont::load):
60051         (WebCore::CachedFont::beginLoadIfNeeded):
60052         * loader/CachedFont.h:
60053         * loader/CachedImage.cpp:
60054         (WebCore::CachedImage::load):
60055         (WebCore::CachedImage::maximumDecodedImageSize):
60056         * loader/CachedImage.h:
60057         * loader/CachedResource.cpp:
60058         (WebCore::CachedResource::CachedResource):
60059         (WebCore::CachedResource::~CachedResource):
60060         (WebCore::CachedResource::load):
60061         * loader/CachedResource.h:
60062         (WebCore::CachedResource::load):
60063         (WebCore::CachedResource::setCachedResourceLoader):
60064         * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp.
60065         (WebCore::CachedResourceLoader::CachedResourceLoader):
60066         (WebCore::CachedResourceLoader::~CachedResourceLoader):
60067         (WebCore::CachedResourceLoader::frame):
60068         (WebCore::CachedResourceLoader::checkForReload):
60069         (WebCore::CachedResourceLoader::requestImage):
60070         (WebCore::CachedResourceLoader::requestFont):
60071         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
60072         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
60073         (WebCore::CachedResourceLoader::requestScript):
60074         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
60075         (WebCore::CachedResourceLoader::requestLinkPrefetch):
60076         (WebCore::CachedResourceLoader::canRequest):
60077         (WebCore::CachedResourceLoader::requestResource):
60078         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
60079         (WebCore::CachedResourceLoader::setAutoLoadImages):
60080         (WebCore::CachedResourceLoader::cachePolicy):
60081         (WebCore::CachedResourceLoader::removeCachedResource):
60082         (WebCore::CachedResourceLoader::setLoadInProgress):
60083         (WebCore::CachedResourceLoader::checkCacheObjectStatus):
60084         (WebCore::CachedResourceLoader::incrementRequestCount):
60085         (WebCore::CachedResourceLoader::decrementRequestCount):
60086         (WebCore::CachedResourceLoader::requestCount):
60087         (WebCore::CachedResourceLoader::preload):
60088         (WebCore::CachedResourceLoader::checkForPendingPreloads):
60089         (WebCore::CachedResourceLoader::requestPreload):
60090         (WebCore::CachedResourceLoader::clearPreloads):
60091         (WebCore::CachedResourceLoader::clearPendingPreloads):
60092         (WebCore::CachedResourceLoader::printPreloadStats):
60093         * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h.
60094         * loader/CachedScript.h:
60095         * loader/CachedXSLStyleSheet.h:
60096         * loader/DocLoader.cpp: Removed.
60097         * loader/DocLoader.h: Removed.
60098         * loader/DocumentLoader.cpp:
60099         (WebCore::DocumentLoader::isLoadingInAPISense):
60100         (WebCore::DocumentLoader::subresource):
60101         (WebCore::DocumentLoader::getSubresources):
60102         * loader/FrameLoader.cpp:
60103         (WebCore::numRequests):
60104         (WebCore::FrameLoader::stopLoading):
60105         (WebCore::FrameLoader::didBeginDocument):
60106         * loader/HistoryController.cpp:
60107         (WebCore::HistoryController::createItem):
60108         * loader/ImageLoader.cpp:
60109         (WebCore::ImageLoader::updateFromElement):
60110         * loader/Request.cpp:
60111         (WebCore::Request::Request):
60112         * loader/Request.h:
60113         (WebCore::Request::cachedResourceLoader):
60114         * loader/loader.cpp:
60115         (WebCore::Loader::load):
60116         (WebCore::Loader::cancelRequests):
60117         (WebCore::Loader::Host::servePendingRequests):
60118         (WebCore::Loader::Host::didFinishLoading):
60119         (WebCore::Loader::Host::didFail):
60120         (WebCore::Loader::Host::didReceiveResponse):
60121         (WebCore::Loader::Host::cancelPendingRequests):
60122         (WebCore::Loader::Host::cancelRequests):
60123         * loader/loader.h:
60124         * page/DragController.cpp:
60125         (WebCore::DragController::concludeEditDrag):
60126         * page/Frame.cpp:
60127         * page/FrameView.cpp:
60128         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
60129         (WebCore::FrameView::updateDeferredRepaintDelay):
60130         * page/Settings.cpp:
60131         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
60132         * platform/android/TemporaryLinkStubs.cpp:
60133         (WebCore::CheckCacheObjectStatus):
60134         * platform/network/android/ResourceHandleAndroid.cpp:
60135         (WebCore::ResourceHandle::start):
60136         * platform/network/cf/ResourceHandleCFNet.cpp:
60137         * platform/network/curl/ResourceHandleCurl.cpp:
60138         * platform/network/mac/ResourceHandleMac.mm:
60139         * platform/network/qt/ResourceHandleQt.cpp:
60140         * platform/network/soup/ResourceHandleSoup.cpp:
60141         * platform/network/win/ResourceHandleWin.cpp:
60142         * svg/SVGFEImageElement.cpp:
60143         (WebCore::SVGFEImageElement::requestImageResource):
60144         * svg/SVGFontFaceUriElement.cpp:
60145         (WebCore::SVGFontFaceUriElement::loadFont):
60146         * workers/Worker.cpp:
60147         * xml/XSLImportRule.cpp:
60148         (WebCore::XSLImportRule::loadSheet):
60149         * xml/XSLStyleSheet.h:
60150         * xml/XSLStyleSheetLibxslt.cpp:
60151         (WebCore::XSLStyleSheet::cachedResourceLoader):
60152         (WebCore::XSLStyleSheet::parseString):
60153         * xml/XSLStyleSheetQt.cpp:
60154         (WebCore::XSLStyleSheet::cachedResourceLoader):
60155         * xml/XSLTProcessor.cpp:
60156         * xml/XSLTProcessorLibxslt.cpp:
60157         (WebCore::docLoaderFunc):
60158         (WebCore::setXSLTLoadCallBack):
60159         (WebCore::xmlDocPtrFromNode):
60160         (WebCore::XSLTProcessor::transformToString):
60161
60162 2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
60163
60164         Reviewed by Eric Carlson.
60165
60166         Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
60167
60168         https://bugs.webkit.org/show_bug.cgi?id=45263
60169
60170         The platform backend may change state, for example as a result
60171         of an external plugin controlling the backend, so we need to
60172         react to this situation by syncing up the WebCore state with the
60173         platform backend.
60174
60175         We call playInternal()/pauseInternal() depending on the backend
60176         state, to trigger the corresponding DOM events to match the state.
60177
60178         updatePlayState() is then refactored to take into account the
60179         situation where the backend is already in the correct state but
60180         WebCore is not, so that we update the playback progress timer
60181         and set m_playing correctly.
60182
60183         updatePlayState() changes Should be covered by existing tests.
60184
60185         * html/HTMLMediaElement.cpp:
60186         (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
60187         (WebCore::HTMLMediaElement::updatePlayState):
60188         * html/HTMLMediaElement.h:
60189         * platform/graphics/MediaPlayer.cpp:
60190         (WebCore::MediaPlayer::playbackStateChanged):
60191         * platform/graphics/MediaPlayer.h:
60192         (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged):
60193
60194 2010-09-08  Adam Barth  <abarth@webkit.org>
60195
60196         Reviewed by Eric Seidel.
60197
60198         TextDocument doesn't belong in WebCore/loader
60199         https://bugs.webkit.org/show_bug.cgi?id=45346
60200
60201         TextDocument has nothing to do with loading.  It turns out that it
60202         should be in WebCore/html because TextDocument is actually a subclass
60203         of HTMLDocument (in quirks mode, no less).
60204
60205         * Android.mk:
60206         * CMakeLists.txt:
60207         * GNUmakefile.am:
60208         * WebCore.gypi:
60209         * WebCore.pro:
60210         * WebCore.vcproj/WebCore.vcproj:
60211         * WebCore.xcodeproj/project.pbxproj:
60212         * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp.
60213         (WebCore::TextDocument::TextDocument):
60214         (WebCore::TextDocument::createParser):
60215         * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h.
60216         (WebCore::TextDocument::create):
60217
60218 2010-09-08  Adam Barth  <abarth@webkit.org>
60219
60220         Reviewed by Eric Seidel.
60221
60222         Create TextViewSourceParser
60223         https://bugs.webkit.org/show_bug.cgi?id=45343
60224
60225         Rather than have the view source document set a flag on
60226         HTMLViewSourceParser to indicate whether we're parsing a text document,
60227         this patch creates a TextViewSourceParser for parsing text documents in
60228         view-source mode.  Like the TextDocumentParser, the
60229         TextViewSourceParser implements this functionality by subclassing its
60230         HTML counterpart.
60231
60232         * Android.mk:
60233         * CMakeLists.txt:
60234         * GNUmakefile.am:
60235         * WebCore.gypi:
60236         * WebCore.pro:
60237         * WebCore.vcproj/WebCore.vcproj:
60238         * WebCore.xcodeproj/project.pbxproj:
60239         * html/HTMLViewSourceDocument.cpp:
60240         (WebCore::HTMLViewSourceDocument::createParser):
60241         * html/parser/HTMLViewSourceParser.cpp:
60242         * html/parser/HTMLViewSourceParser.h:
60243         (WebCore::HTMLViewSourceParser::tokenizer):
60244         * html/parser/TextViewSourceParser.cpp: Added.
60245         (WebCore::TextViewSourceParser::TextViewSourceParser):
60246         (WebCore::TextViewSourceParser::~TextViewSourceParser):
60247         * html/parser/TextViewSourceParser.h: Added.
60248         (WebCore::TextViewSourceParser::create):
60249
60250 2010-09-08  Adam Barth  <abarth@webkit.org>
60251
60252         Reviewed by Darin Adler.
60253
60254         Move HTMLInputStream to WebCore/html/parser
60255         https://bugs.webkit.org/show_bug.cgi?id=45339
60256
60257         I forgot to move this file before.
60258
60259         * GNUmakefile.am:
60260         * WebCore.gypi:
60261         * WebCore.vcproj/WebCore.vcproj:
60262         * WebCore.xcodeproj/project.pbxproj:
60263         * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h.
60264         (WebCore::HTMLInputStream::HTMLInputStream):
60265         (WebCore::HTMLInputStream::appendToEnd):
60266         (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint):
60267         (WebCore::HTMLInputStream::hasInsertionPoint):
60268         (WebCore::HTMLInputStream::markEndOfFile):
60269         (WebCore::HTMLInputStream::haveSeenEndOfFile):
60270         (WebCore::HTMLInputStream::current):
60271         (WebCore::HTMLInputStream::splitInto):
60272         (WebCore::HTMLInputStream::mergeFrom):
60273         (WebCore::InsertionPointRecord::InsertionPointRecord):
60274         (WebCore::InsertionPointRecord::~InsertionPointRecord):
60275
60276 2010-09-08  Adam Barth  <abarth@webkit.org>
60277
60278         Reviewed by Eric Seidel.
60279
60280         TextDocument should come in from the cold
60281         https://bugs.webkit.org/show_bug.cgi?id=45334
60282
60283         Previously, TextDocument reinvented the wheel to parse text.  This
60284         patch replaces TextDocument's hand-rolled parser with a parser built on
60285         the HTML parser infrustructure, which gives us that stuff for free.  I
60286         also disentangled TextDocument from HTMLViewSourceDocument.
60287
60288         In a future patch, I'll move TextDocument out of the "loader" directory.
60289
60290         * Android.mk:
60291         * CMakeLists.txt:
60292         * GNUmakefile.am:
60293         * WebCore.gypi:
60294         * WebCore.pro:
60295         * WebCore.vcproj/WebCore.vcproj:
60296         * WebCore.xcodeproj/project.pbxproj:
60297         * html/HTMLViewSourceDocument.cpp:
60298         (WebCore::HTMLViewSourceDocument::createParser):
60299         * html/HTMLViewSourceDocument.h:
60300         * html/parser/HTMLTreeBuilder.cpp:
60301         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
60302         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
60303         * html/parser/HTMLTreeBuilder.h:
60304         * html/parser/HTMLViewSourceParser.cpp:
60305         (WebCore::HTMLViewSourceParser::forcePlaintext):
60306         * html/parser/HTMLViewSourceParser.h:
60307         * html/parser/TextDocumentParser.cpp: Added.
60308         (WebCore::TextDocumentParser::TextDocumentParser):
60309         (WebCore::TextDocumentParser::~TextDocumentParser):
60310         (WebCore::TextDocumentParser::insertFakePreElement):
60311         * html/parser/TextDocumentParser.h: Added.
60312         (WebCore::TextDocumentParser::create):
60313         * loader/TextDocument.cpp:
60314         * loader/TextDocument.h:
60315
60316 2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
60317
60318         Reviewed by Andreas Kling.
60319
60320         Implement MediaPlayerPrivate::platformMedia() for the Qt port
60321
60322         https://bugs.webkit.org/show_bug.cgi?id=45264
60323
60324         * platform/graphics/MediaPlayer.h:
60325         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
60326         (WebCore::MediaPlayerPrivate::platformMedia):
60327         * platform/graphics/qt/MediaPlayerPrivateQt.h:
60328
60329 2010-09-08  Zoltan Herczeg  <zherczeg@webkit.org>
60330
60331         Reviewed by Dirk Schulze.
60332
60333         An individual renderer should be assigned to each SVGFE*Element class
60334         https://bugs.webkit.org/show_bug.cgi?id=43954
60335
60336         RenderSVGResourceFilterPrimitive renderer is added to
60337         the project, and assigned to each object, which class is
60338         derived from SVGFilterPrimitiveStandardAttributes. The patch
60339         mainly contains build system changes, and it fixes one layout
60340         test in svg/dynamic-updates.
60341
60342         * Android.mk:
60343         * CMakeLists.txt:
60344         * GNUmakefile.am:
60345         * WebCore.gypi:
60346         * WebCore.pro:
60347         * WebCore.vcproj/WebCore.vcproj:
60348         * WebCore.xcodeproj/project.pbxproj:
60349         * rendering/RenderObject.h:
60350         (WebCore::RenderObject::isSVGResourceFilterPrimitive):
60351         * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
60352         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
60353         * rendering/RenderSVGResourceFilterPrimitive.h: Added.
60354         (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
60355         * rendering/SVGRenderTreeAsText.cpp:
60356         (WebCore::writeSVGContainer):
60357         * svg/SVGFEDiffuseLightingElement.cpp:
60358         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
60359         * svg/SVGFELightElement.cpp:
60360         (WebCore::SVGFELightElement::svgAttributeChanged):
60361         (WebCore::SVGFELightElement::childrenChanged):
60362         * svg/SVGFEOffsetElement.cpp:
60363         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
60364         * svg/SVGFilterElement.h:
60365         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
60366         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
60367         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
60368         (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
60369         * svg/SVGFilterPrimitiveStandardAttributes.h:
60370         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
60371
60372 2010-09-07  Sam Weinig  <sam@webkit.org>
60373
60374         Reviewed by Dan Bernstein.
60375
60376         DatasetDOMStringMap does not have the right memory model
60377         https://bugs.webkit.org/show_bug.cgi?id=45358
60378
60379         Test: fast/dom/dataset-gc.html
60380
60381         * bindings/js/JSElementCustom.cpp:
60382         (WebCore::JSElement::markChildren):
60383         Mark the dataset if it exists.
60384
60385         * dom/Element.cpp:
60386         (WebCore::Element::optionalDataset):
60387         * dom/Element.h:
60388         Expose a way to get the dataset or null (depending on if anyone thing
60389         has forced its creation yet).
60390
60391 2010-09-07  Jan E Hanssen  <jhanssen@sencha.com>
60392
60393         Reviewed by Andreas Kling.
60394
60395         [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths
60396         https://bugs.webkit.org/show_bug.cgi?id=45331
60397
60398         This is needed due to an adverse effect of the fix in 44061 that causes
60399         certain paths not to be closed. This is not important for canvas paths
60400         but it is for SVG paths, so splitting up the code in a generic (SVG)
60401         case and one specialized for canvas.
60402
60403         Test: svg/dom/path-totalLength.html
60404
60405         * html/canvas/CanvasRenderingContext2D.cpp:
60406         (WebCore::CanvasRenderingContext2D::closePath):
60407         * platform/graphics/Path.h:
60408         (WebCore::Path::closeCanvasSubpath):
60409         * platform/graphics/qt/PathQt.cpp:
60410         (WebCore::Path::closeSubpath):
60411         (WebCore::Path::closeCanvasSubpath):
60412
60413 2010-09-07  Simon Fraser  <simon.fraser@apple.com>
60414
60415         Reviewed by Chris Marrin.
60416
60417         Transform animations always run in software now
60418         https://bugs.webkit.org/show_bug.cgi?id=45341
60419         
60420         After r66339 we always fell into software animation, because we
60421         failed to detect transform or opacity properties in the keyframes,
60422         so would send an empty list of values to the GraphicsLayer.
60423         
60424         Fixed by using CSSProperty values, rather than GraphicsLayer
60425         values, when detecting the presence of properties in the keyframes.
60426         
60427         Test: manual-tests/transition-accelerated.html
60428
60429         * rendering/RenderLayerBacking.cpp:
60430         (WebCore::RenderLayerBacking::startAnimation):
60431
60432 2010-09-07  Chris Rogers  <crogers@google.com>
60433
60434         Reviewed by Kenneth Russell.
60435
60436         audio engine: add FFTFrame files
60437         https://bugs.webkit.org/show_bug.cgi?id=34827
60438
60439         No new tests since audio API is not yet implemented.
60440
60441         * platform/audio/FFTFrame.cpp: Added.
60442         (WebCore::FFTFrame::doPaddedFFT):
60443         (WebCore::FFTFrame::createInterpolatedFrame):
60444         (WebCore::FFTFrame::interpolateFrequencyComponents):
60445         (WebCore::FFTFrame::extractAverageGroupDelay):
60446         (WebCore::FFTFrame::addConstantGroupDelay):
60447         (WebCore::FFTFrame::print):
60448         * platform/audio/FFTFrame.h: Added.
60449         (WebCore::FFTFrame::fftSize):
60450         (WebCore::FFTFrame::log2FFTSize):
60451         (WebCore::FFTFrame::dspSplitComplex):
60452         * platform/audio/mac/FFTFrameMac.cpp: Added.
60453         (WebCore::FFTFrame::FFTFrame):
60454         (WebCore::FFTFrame::~FFTFrame):
60455         (WebCore::FFTFrame::multiply):
60456         (WebCore::FFTFrame::doFFT):
60457         (WebCore::FFTFrame::doInverseFFT):
60458         (WebCore::FFTFrame::fftSetupForSize):
60459         (WebCore::FFTFrame::cleanup):
60460         (WebCore::FFTFrame::realData):
60461         (WebCore::FFTFrame::imagData):
60462
60463 2010-09-07  Brent Fulgham  <bfulgham@webkit.org>
60464
60465         Build fix, no review.
60466
60467         Provide stubs to allow WebKit.dll to build
60468         for the WinCairo port.
60469
60470         * platform/network/curl/ResourceRequest.h:
60471         (WebCore::ResourceRequest::ResourceRequest):
60472         * platform/network/curl/ResourceResponse.h:
60473         (WebCore::ResourceResponse::cfURLResponse):
60474
60475 2010-09-07  Chris Rogers  <crogers@google.com>
60476
60477         Reviewed by Kenneth Russell.
60478
60479         Add AudioArray.h
60480         https://bugs.webkit.org/show_bug.cgi?id=45204
60481
60482         No new tests since audio API is not yet implemented.
60483
60484         * platform/audio/AudioArray.h: Added.
60485         (WebCore::AudioArray::AudioArray):
60486         (WebCore::AudioArray::zero):
60487         (WebCore::AudioArray::zeroRange):
60488         (WebCore::AudioArray::copyToRange):
60489
60490 2010-09-07  Mihai Parparita  <mihaip@chromium.org>
60491
60492         Reviewed by Oliver Hunt.
60493
60494         pushState and replaceState do not clone RegExp objects correctly
60495         https://bugs.webkit.org/show_bug.cgi?id=44718
60496         
60497         Add RegExp support to the JSC implementation of SerializedScriptValue
60498         (it stores the pattern and flags read from a RegExpObject, and creates
60499         a new one on deserialization).
60500         
60501         Tests: fast/loader/stateobjects/pushstate-object-types.html 
60502
60503         * ForwardingHeaders/runtime/RegExp.h: Added.
60504         * ForwardingHeaders/runtime/RegExpObject.h: Added.
60505         * bindings/js/SerializedScriptValue.cpp:
60506         (WebCore::CloneSerializer::dumpIfTerminal):
60507         (WebCore::CloneDeserializer::readTerminal):
60508
60509 2010-09-07  James Robinson  <jamesr@chromium.org>
60510
60511         Reviewed by Kenneth Russell.
60512
60513         Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set
60514         https://bugs.webkit.org/show_bug.cgi?id=45324
60515
60516         Adds appropriate #if guards around code that has to deal directly with the compositor.
60517         DrawingBuffer can still be used without the compositor as an off-screen rendering
60518         region.
60519
60520         To test, compile without USE(ACCELERATED_COMPOSITING).
60521
60522         * platform/graphics/chromium/DrawingBufferChromium.cpp:
60523         (WebCore::DrawingBuffer::~DrawingBuffer):
60524         (WebCore::DrawingBuffer::reset):
60525         * platform/graphics/gpu/DrawingBuffer.h:
60526
60527 2010-09-03  Joseph Pecoraro  <joepeck@webkit.org>
60528
60529         Reviewed by Darin Adler.
60530
60531         Provide a way to trigger a <select multiple> onchange event on changes
60532         https://bugs.webkit.org/show_bug.cgi?id=45192
60533
60534         Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html
60535
60536         This provides a way for a WebKit client using the Obj-C DOM bindings to
60537         trigger the "change" on a listbox select (<select multiple> or <select>
60538         with size > 1). This is because when a select is rendered as a listbox
60539         "change" events are triggered by mouse down events.
60540
60541         This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]
60542         to allow for handling multiple selections if the select element is a
60543         multi-select.
60544
60545         * bindings/objc/DOMHTML.mm:
60546         (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]):
60547         * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete".
60548         * dom/SelectElement.h:
60549         * html/HTMLSelectElement.cpp:
60550         (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event.
60551         * html/HTMLSelectElement.h:
60552         * wml/WMLSelectElement.cpp:
60553         (WebCore::WMLSelectElement::setSelectedIndexByUser):
60554
60555 2010-09-07  Simon Fraser  <simon.fraser@apple.com>
60556
60557         Reviewed by Darin Adler.
60558
60559         Minor WKCACFLayerRenderer cleanup
60560         https://bugs.webkit.org/show_bug.cgi?id=45201
60561
60562         Call initD3DGeometry() from createRenderer, rather than duplicating the code.
60563
60564         No behavior changes.
60565
60566         * platform/graphics/win/WKCACFLayerRenderer.cpp:
60567         (WebCore::WKCACFLayerRenderer::createRenderer):
60568
60569 2010-09-07  Vangelis Kokkevis  <vangelis@chromium.org>
60570
60571         Reviewed by Darin Fisher.
60572
60573         [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with
60574         gets destroyed.
60575         https://bugs.webkit.org/show_bug.cgi?id=45329
60576
60577         Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs).
60578
60579         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
60580         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
60581
60582 2010-09-07  Anders Carlsson  <andersca@apple.com>
60583
60584         Reviewed by Darin Adler.
60585
60586         <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
60587
60588         Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
60589
60590         * Configurations/Base.xcconfig:
60591
60592 2010-09-07  Abhishek Arya  <inferno@chromium.org>
60593
60594         Reviewed by Darin Adler.
60595
60596         Remove redundant bounds check in originalText(). Add bounds check
60597         to previousCharacter(). No need of start() > 0 check since m_start
60598         is unsigned and we already do start() null check inside function.
60599         https://bugs.webkit.org/show_bug.cgi?id=45303
60600
60601         Test: fast/text/one-letter-transform-crash.html
60602
60603         * rendering/RenderTextFragment.cpp:
60604         (WebCore::RenderTextFragment::originalText):
60605         (WebCore::RenderTextFragment::previousCharacter):
60606
60607 2010-09-07  Kenneth Russell  <kbr@google.com>
60608
60609         Reviewed by Dimitri Glazkov.
60610
60611         Regression in JPEG texture uploads on Mac OS X
60612         https://bugs.webkit.org/show_bug.cgi?id=45316
60613
60614         Fixed regression introduced in
60615         https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression
60616         test covering this case to gl-teximage.html in Khronos repository
60617         and synced test with WebKit's version.
60618
60619         * platform/graphics/cg/GraphicsContext3DCG.cpp:
60620         (WebCore::GraphicsContext3D::getImageData):
60621
60622 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
60623
60624         Add rendering/ColumnInfo.h to the sources list.
60625
60626         * GNUmakefile.am:
60627
60628 2010-09-07  David Hyatt  <hyatt@apple.com>
60629
60630         Reviewed by Beth Dakin.
60631
60632         https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information.
60633
60634         * WebCore.xcodeproj/project.pbxproj:
60635         * rendering/ColumnInfo.h: Added.
60636         (WebCore::ColumnInfo::ColumnInfo):
60637         (WebCore::ColumnInfo::desiredColumnWidth):
60638         (WebCore::ColumnInfo::setDesiredColumnWidth):
60639         (WebCore::ColumnInfo::desiredColumnCount):
60640         (WebCore::ColumnInfo::setDesiredColumnCount):
60641         (WebCore::ColumnInfo::columnCount):
60642         (WebCore::ColumnInfo::columnRectAt):
60643         (WebCore::ColumnInfo::clearColumns):
60644         (WebCore::ColumnInfo::addColumnRect):
60645         * rendering/RenderBlock.cpp:
60646         (WebCore::RenderBlock::paintColumnRules):
60647         (WebCore::RenderBlock::paintColumnContents):
60648         (WebCore::RenderBlock::lowestPosition):
60649         (WebCore::RenderBlock::rightmostPosition):
60650         (WebCore::RenderBlock::leftmostPosition):
60651         (WebCore::RenderBlock::hitTestColumns):
60652         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
60653         (WebCore::RenderBlock::desiredColumnWidth):
60654         (WebCore::RenderBlock::desiredColumnCount):
60655         (WebCore::RenderBlock::columnInfo):
60656         (WebCore::RenderBlock::layoutColumns):
60657         (WebCore::RenderBlock::adjustPointToColumnContents):
60658         (WebCore::RenderBlock::adjustRectForColumns):
60659         (WebCore::RenderBlock::adjustForColumns):
60660         * rendering/RenderBlock.h:
60661         * rendering/RenderLayer.cpp:
60662         (WebCore::RenderLayer::paintChildLayerIntoColumns):
60663         (WebCore::RenderLayer::hitTestChildLayerColumns):
60664
60665 2010-09-07  Dan Bernstein  <mitz@apple.com>
60666
60667         Reviewed by Dave Hyatt.
60668
60669         <rdar://problem/7794761> Floats inside of multicol fail to hit test
60670         https://bugs.webkit.org/show_bug.cgi?id=44730
60671
60672         Test: fast/multicol/hit-test-float.html
60673
60674         Factored float hit-testing out of nodeAtPoint so that hitTestColumns could
60675         call it with column-adjusted coordinates.
60676
60677         * rendering/RenderBlock.cpp:
60678         (WebCore::RenderBlock::nodeAtPoint):
60679         (WebCore::RenderBlock::hitTestFloats):
60680         (WebCore::RenderBlock::hitTestColumns):
60681         * rendering/RenderBlock.h:
60682
60683 2010-09-07  François Sausset  <sausset@gmail.com>
60684
60685         Reviewed by Beth Dakin.
60686
60687         <math> element should be centered when display attribute set to block.
60688         https://bugs.webkit.org/show_bug.cgi?id=44206
60689
60690         Test: mathml/presentation/attributes.xhtml
60691
60692         * css/mathml.css:
60693         (math[display="block"]):
60694
60695 2010-09-07  Eric Carlson  <eric.carlson@apple.com>
60696
60697         Reviewed by Darin Adler.
60698
60699         Media elements should derive from ActiveDOMObjects
60700         https://bugs.webkit.org/show_bug.cgi?id=45306
60701         <rdar://problem/7929062>
60702
60703         * html/HTMLMediaElement.cpp:
60704         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject
60705         (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases.
60706         (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive.
60707         (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive.
60708         (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty
60709         so the element can't be collected before they are sent.
60710         * html/HTMLMediaElement.h:
60711         (WebCore::HTMLMediaElement::canSuspend):
60712
60713 2010-09-07  Dimitri Glazkov  <dglazkov@chromium.org>
60714
60715         Unreviewed, rolling out r66886.
60716         http://trac.webkit.org/changeset/66886
60717         https://bugs.webkit.org/show_bug.cgi?id=45112
60718
60719         Made
60720
60721         * platform/chromium/GeolocationServiceChromium.cpp:
60722         * platform/chromium/GeolocationServiceChromium.h:
60723
60724 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
60725
60726         Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it
60727         is no longer built.
60728
60729         * GNUmakefile.am: Remove reference to libWebCoreJS.
60730
60731 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
60732
60733         Reviewed by Xan Lopez.
60734
60735         [GTK] [REGRESSION] r66848 caused a crash in testwebview
60736         https://bugs.webkit.org/show_bug.cgi?id=45298
60737
60738         No new tests as this fixes a test failure.
60739
60740         * platform/gtk/ScrollViewGtk.cpp:
60741         (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
60742         scrollbar adjustments unless this is a main frame ScrollView. If we do
60743         Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
60744         a segfault.
60745
60746 2010-09-07  Kristian Monsen  <kristianm@google.com>
60747
60748         Reviewed by Steve Block.
60749
60750         Compile fix for Android.
60751         https://bugs.webkit.org/show_bug.cgi?id=45292
60752         Explicitly add needed header for 
60753         STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get 
60754         included through other headers on Android.
60755
60756         No new tests, just a compile fix.
60757
60758         * bindings/scripts/CodeGeneratorV8.pm:
60759
60760 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
60761
60762         Reviewed by Xan Lopez.
60763
60764         [GTK] Fix some feature guards
60765         https://bugs.webkit.org/show_bug.cgi?id=45302
60766
60767         No new tests as this is just a build change.
60768
60769         * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO)
60770         * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto.
60771         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto.
60772         * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto.
60773         * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto.
60774         * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto.
60775         * platform/graphics/gstreamer/ImageGStreamer.h: Ditto.
60776         * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto.
60777         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
60778         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto.
60779         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
60780         * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto.
60781         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto.
60782         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
60783         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto.
60784         * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
60785         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
60786         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto.
60787         * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION)
60788         * platform/gtk/GeolocationServiceGtk.h: Ditto.
60789
60790 2010-09-07  Jonathan Dixon  <joth@chromium.org>
60791
60792         Reviewed by Jeremy Orlow.
60793
60794         Access to out-of-scope WebGeolocationServiceBridgeImpl
60795         https://bugs.webkit.org/show_bug.cgi?id=45112
60796
60797         Add missing virtual destructor to the abstract base class.
60798
60799         * platform/chromium/GeolocationServiceChromium.cpp:
60800         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
60801         * platform/chromium/GeolocationServiceChromium.h:
60802
60803 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
60804
60805         Reviewed by Xan Lopez.
60806
60807         [GTK] [REGRESSION] r66848 caused a crash in testwebview
60808         https://bugs.webkit.org/show_bug.cgi?id=45298
60809
60810         No new tests as this fixes a test failure.
60811
60812         * platform/gtk/ScrollViewGtk.cpp:
60813         (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
60814         scrollbar adjustments unless this is a main frame ScrollView. If we do
60815         Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
60816         a segfault.
60817
60818 2010-09-07  Adam Langley  <agl@chromium.org>
60819
60820         Reviewed by Tony Chang.
60821
60822         [chromium] Fix complex text word spacing on Linux.
60823
60824         I broke complex text word spacing with r66689. I misnamed a
60825         variable in the original code |glyphIndex| when it was
60826         actually indexing code points. That meant that I compared it
60827         against the wrong limit when working around Harfbuzz issues
60828         and neatly disabled word spacing.
60829
60830         https://bugs.webkit.org/show_bug.cgi?id=45191
60831
60832         Test: fast/text/atsui-spacing-features.html
60833
60834         * platform/graphics/chromium/FontLinux.cpp:
60835         (WebCore::TextRunWalker::setGlyphXPositions):
60836
60837 2010-09-07  Satish Sampath  <satish@chromium.org>
60838
60839         Reviewed by Steve Block.
60840
60841         Fix speech button's hit test logic for RTL rendering.
60842         https://bugs.webkit.org/show_bug.cgi?id=45288
60843
60844         * rendering/RenderTextControlSingleLine.cpp:
60845         (WebCore::RenderTextControlSingleLine::forwardEvent):
60846
60847 2010-09-07  Satish Sampath  <satish@chromium.org>
60848
60849         Reviewed by Jeremy Orlow.
60850
60851         Ignore programmatic clicks on speech input button for security reasons.
60852         https://bugs.webkit.org/show_bug.cgi?id=45181
60853
60854         Test: fast/speech/speech-button-ignore-generated-events.html
60855
60856         * rendering/TextControlInnerElements.cpp:
60857         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
60858
60859 2010-09-07  Kent Hansen  <kent.hansen@nokia.com>
60860
60861         Reviewed by Andreas Kling.
60862
60863         [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
60864         https://bugs.webkit.org/show_bug.cgi?id=44697
60865
60866         When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
60867         object that's pushed onto the function's scope before the function is invoked, and
60868         popped again afterwards.
60869
60870         We were pushing this new scope object _after_ calling JSFunction::getCallData(),
60871         and relying on JSC::call() to use the fresh scope chain from the function object.
60872         However, this is no longer the case; JSC::call() uses the scope chain passed in
60873         the CallData argument. Hence, we need to set up the scope before the function's
60874         CallData is queried.
60875
60876         * bridge/qt/qt_runtime.cpp:
60877         (JSC::Bindings::QtConnectionObject::execute):
60878
60879 2010-09-07  Kwang Yul Seo  <skyul@company100.net>
60880
60881         Reviewed by Kent Tamura.
60882
60883         Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode
60884         https://bugs.webkit.org/show_bug.cgi?id=45272
60885
60886         Build fix.
60887
60888         * inspector/InspectorController.h:
60889         (WebCore::InspectorController::inspectorControllerForNode):
60890
60891 2010-09-07  Joerg Bornemann  <joerg.bornemann@nokia.com>
60892
60893         Reviewed by Ariya Hidayat.
60894
60895         Fix QtWebKit linker error on Windows CE 6.
60896         https://bugs.webkit.org/show_bug.cgi?id=43442
60897
60898         Doesn't affect any tests.
60899
60900         * WebCore.pro:
60901
60902 2010-09-07  James Kozianski  <koz@chromium.org>
60903
60904         Reviewed by Kent Tamura.
60905
60906         Crash rendering <meter/> with percent padding
60907         https://bugs.webkit.org/show_bug.cgi?id=45081
60908
60909         Avoids a crash caused by RenderMeter checking its own dimensions to
60910         determine whether it needs layout. The crash is avoided by removing
60911         the check and always calling setNeedsLayout(true).
60912
60913         Test: fast/dom/HTMLMeterElement/meter-percent-size.html
60914
60915         * rendering/RenderIndicator.cpp:
60916         (WebCore::RenderIndicator::updateFromElement):
60917         * rendering/RenderIndicator.h:
60918
60919 2010-09-06  Adam Barth  <abarth@webkit.org>
60920
60921         Reviewed by Sam Weinig.
60922
60923         OOB read with svg polyline
60924         https://bugs.webkit.org/show_bug.cgi?id=45279
60925
60926         In principle, attributeChanged can do anything.  If we supported more
60927         DOM mutation events, it could even run JavaScript.  That means we need
60928         to be prepared for the attribute map to change when running
60929         attributeChanged.  This patch makes this loop resilient to the
60930         attribute map changing by storing the list of changed attributes on the
60931         stack.
60932
60933         Test: fast/parser/changing-attrbutes-crash.html
60934
60935         * dom/Element.cpp:
60936         (WebCore::Element::setAttributeMap):
60937
60938 2010-09-06  Oliver Hunt  <oliver@apple.com>
60939
60940         Windows build fix
60941
60942         * bindings/js/SerializedScriptValue.cpp:
60943         (WebCore::CloneSerializer::write):
60944
60945 2010-09-06  Oliver Hunt  <oliver@apple.com>
60946
60947         Windows build fix
60948
60949         * bindings/js/SerializedScriptValue.cpp:
60950         (WebCore::CloneSerializer::write):
60951
60952 2010-09-05  Oliver Hunt  <oliver@apple.com>
60953
60954         Reviewed by Sam Weinig.
60955
60956         SerializedScriptValue needs to use a flat storage mechanism
60957         https://bugs.webkit.org/show_bug.cgi?id=45244
60958
60959         Rewrite the old tree to tree serialization logic to use
60960         flat storage.  Unfortunately this basically required a
60961         complete rewrite.
60962
60963         * bindings/js/SerializedScriptValue.cpp:
60964         (WebCore::CloneBase::CloneBase):
60965         (WebCore::CloneBase::shouldTerminate):
60966         (WebCore::CloneBase::ticksUntilNextCheck):
60967         (WebCore::CloneBase::didTimeOut):
60968         (WebCore::CloneBase::throwStackOverflow):
60969         (WebCore::CloneBase::throwInterruptedException):
60970         (WebCore::CloneBase::fail):
60971         (WebCore::CloneSerializer::serialize):
60972         (WebCore::CloneSerializer::CloneSerializer):
60973         (WebCore::CloneSerializer::isArray):
60974         (WebCore::CloneSerializer::startObject):
60975         (WebCore::CloneSerializer::startArray):
60976         (WebCore::CloneSerializer::endObject):
60977         (WebCore::CloneSerializer::getSparseIndex):
60978         (WebCore::CloneSerializer::getProperty):
60979         (WebCore::CloneSerializer::dumpImmediate):
60980         (WebCore::CloneSerializer::dumpString):
60981         (WebCore::CloneSerializer::dumpIfTerminal):
60982         (WebCore::CloneSerializer::write):
60983         (WebCore::CloneSerializer::writeLittleEndian):
60984         (WebCore::CloneSerializer::writeStringIndex):
60985         (WebCore::CloneDeserializer::deserializeString):
60986         (WebCore::CloneDeserializer::deserialize):
60987         (WebCore::CloneDeserializer::CloneDeserializer):
60988         (WebCore::CloneDeserializer::throwValidationError):
60989         (WebCore::CloneDeserializer::isValid):
60990         (WebCore::CloneDeserializer::readLittleEndian):
60991         (WebCore::CloneDeserializer::read):
60992         (WebCore::CloneDeserializer::readStringIndex):
60993         (WebCore::CloneDeserializer::readString):
60994         (WebCore::CloneDeserializer::readStringData):
60995         (WebCore::CloneDeserializer::readTag):
60996         (WebCore::CloneDeserializer::putProperty):
60997         (WebCore::CloneDeserializer::readFile):
60998         (WebCore::CloneDeserializer::readTerminal):
60999         (WebCore::SerializedScriptValue::~SerializedScriptValue):
61000         (WebCore::SerializedScriptValue::SerializedScriptValue):
61001         (WebCore::SerializedScriptValue::create):
61002         (WebCore::SerializedScriptValue::toString):
61003         (WebCore::SerializedScriptValue::deserialize):
61004         (WebCore::SerializedScriptValue::nullValue):
61005         * bindings/js/SerializedScriptValue.h:
61006         * dom/MessagePortChannel.cpp:
61007         (WebCore::MessagePortChannel::EventData::EventData):
61008         * workers/WorkerMessagingProxy.cpp:
61009         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
61010         (WebCore::MessageWorkerTask::MessageWorkerTask):
61011
61012 2010-09-06  Martin Robinson  <mrobinson@igalia.com>
61013
61014         Reviewed by Gustavo Noronha Silva.
61015
61016         [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars
61017         https://bugs.webkit.org/show_bug.cgi?id=45046
61018
61019         Make interior frame scrollbars "fully-fake," which means they do not rely
61020         at all on GTK+ for painting or behavior, but instead are typical WebCore
61021         scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to
61022         MainFrameScrollbarGtk and remove all logic in that file dealing with interior
61023         frame scrollbars.
61024
61025         No new tests, as this is already covered by pixel tests for scrollbars,
61026         which were added in r66605.
61027
61028         * GNUmakefile.am: Update sources list.
61029         * platform/ScrollView.h: Change the adjustment members to be smart pointers.
61030         * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well.
61031         * platform/gtk/MainFrameScrollbarGtk.cpp: Added.
61032         (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk.
61033         (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
61034         (MainFrameScrollbarGtk::~MainFrameScrollbarGtk):
61035         (MainFrameScrollbarGtk::attachAdjustment):
61036         (MainFrameScrollbarGtk::detachAdjustment):
61037         (MainFrameScrollbarGtk::updateThumbPosition):
61038         (MainFrameScrollbarGtk::updateThumbProportion):
61039         (MainFrameScrollbarGtk::gtkValueChanged):
61040         (MainFrameScrollbarGtk::paint):
61041         * platform/gtk/MainFrameScrollbarGtk.h: Added.
61042         * platform/gtk/ScrollViewGtk.cpp:
61043         (WebCore::ScrollView::platformInit): Remove unnecessary initialization
61044         because of smart pointer change.
61045         (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for
61046         interior frame scrollbars, create a normal WebCore scrollbar.
61047         (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures
61048         that this method is never called with a non-null adjustment on an interior frame
61049         scrollbar.
61050         (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars.
61051         (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars.
61052         (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting
61053         transitionary states when accessing parent widgets. Explcitly guard against interior
61054         frame ScrollView's trying to determine size based on parent widgets.
61055         (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one
61056         it copy-and-pasted from. Update it and change the logic to do the right thing for
61057         interior frame scrollbars.
61058         * platform/gtk/ScrollbarGtk.cpp: Removed.
61059         * platform/gtk/ScrollbarGtk.h: Removed.
61060
61061 2010-09-06  Justin Schuh  <jschuh@chromium.org>
61062
61063         Reviewed by Nikolas Zimmermann.
61064
61065         Make SVG PendingResources use RefPtr
61066         https://bugs.webkit.org/show_bug.cgi?id=43587
61067
61068         Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for 
61069         pending elements instead of a raw pointer so that pending elements can't
61070         be freed prematurely.
61071
61072         Test: svg/custom/use-invalid-pattern.svg
61073
61074         * rendering/RenderSVGResourceContainer.cpp:
61075         (WebCore::RenderSVGResourceContainer::registerResource):
61076         * svg/SVGDocumentExtensions.cpp:
61077         (WebCore::SVGDocumentExtensions::addPendingResource):
61078         (WebCore::SVGDocumentExtensions::removePendingResource):
61079         * svg/SVGDocumentExtensions.h:
61080         * svg/SVGElement.cpp:
61081         (WebCore::SVGElement::insertedIntoDocument):
61082
61083 2010-09-06  Martin Robinson  <mrobinson@igalia.com>
61084
61085         Reviewed by Gustavo Noronha Silva.
61086
61087         [GTK] ScrollbarThemeGtk should support secondary steppers
61088         https://bugs.webkit.org/show_bug.cgi?id=44791
61089
61090         Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust
61091         the algorithms for calculating forward and back button rects, if they
61092         are active in the theme. Expose this information via GtkScrollbarMetrics.
61093
61094         * platform/gtk/ScrollbarThemeGtk.cpp:
61095         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties
61096         of GtkScrollbarMetrics when updating the style cache.
61097         (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers.
61098         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
61099         (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
61100         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
61101         * platform/gtk/ScrollbarThemeGtk.h:
61102         * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers
61103         via GtkScrollbarMetrics.
61104         * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics.
61105
61106 2010-09-06  Tony Gentilcore  <tonyg@chromium.org>
61107
61108         Reviewed by Adam Barth.
61109
61110         Implement HTML5 definition of document.readyState
61111         https://bugs.webkit.org/show_bug.cgi?id=45119
61112
61113         The legacy behavior was "loading" -> "loaded" -> "complete". The new
61114         HTML5 behavior is "loading" -> "interactive" -> "complete". There is
61115         some potential for this to cause compat problems if for instance a
61116         page expects readyState to be "loaded" during the DOMContentLoaded event.
61117
61118         Test: fast/dom/Document/readystate.html
61119
61120         * dom/Document.cpp:
61121         (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate,
61122         when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading".
61123         So the ctor starts it Complete, and when the parser is created it is flipped to Loading.
61124         (WebCore::Document::readyState):
61125         (WebCore::Document::setReadyState):
61126         (WebCore::Document::implicitOpen):
61127         (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state.
61128         * dom/Document.h:
61129         * dom/DocumentParser.cpp:
61130         (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped.
61131         It is better to ensure it is only called while parsing.
61132         * dom/XMLDocumentParser.cpp:
61133         (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong().
61134         * html/parser/HTMLDocumentParser.cpp:
61135         (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts.
61136         This method is also called when parsing fragments, so we need to ensure it isn't done in that case.
61137         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through
61138         the additional steps of pumping tokenizer, setting the state, etc.
61139         (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs.
61140         * loader/FrameLoader.cpp:
61141         (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though.
61142         (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader.
61143
61144 2010-09-06  Anton Muhin  <antonm@chromium.org>
61145
61146         Reviewed by Adam Barth.
61147
61148         [v8] Inline hot methods for V8 to WebCore and back conversions
61149         https://bugs.webkit.org/show_bug.cgi?id=45270
61150
61151         Inline fast paths of hot functions performing conversions from V8 wrappers
61152         to WebCore native objects and back.
61153         That slightly increases the size of binary (within 0.1% for both Ubuntu
61154         and Windows, but those builds are slightly different from official ones),
61155         but gives performance boost (3--5% on Windows, up to 8% on Ubuntu).
61156
61157         * bindings/scripts/CodeGeneratorV8.pm:
61158         * bindings/v8/V8DOMWindowShell.cpp:
61159         (WebCore::V8DOMWindowShell::initContextIfNeeded):
61160         * bindings/v8/V8DOMWindowShell.h:
61161         * bindings/v8/V8DOMWrapper.cpp:
61162         (WebCore::V8DOMWrapper::getWrapperSlow):
61163         * bindings/v8/V8DOMWrapper.h:
61164         (WebCore::V8DOMWrapper::getWrapper):
61165         * bindings/v8/custom/V8NodeCustom.cpp:
61166         (WebCore::toV8Slow):
61167
61168 2010-09-06  Shane Stephens  <shanestephens@google.com>
61169
61170         Reviewed by Dimitri Glazkov.
61171
61172         [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
61173         https://bugs.webkit.org/show_bug.cgi?id=44750
61174
61175         Fixes crash by checking for null transforms and skipping update step
61176         when appropriate.
61177
61178         Test: svg/dom/symbol-embeddedAnimation.svg
61179
61180         * svg/SVGAnimateMotionElement.cpp:
61181         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
61182
61183 2010-09-06  Xan Lopez  <xlopez@igalia.com>
61184
61185         Rubber-stamped by Tor Arne Vestbø.
61186
61187         WebCore already generates a focus-{out,in} events on its setFocus
61188         method, there's no need to duplicate it here. Previously this was
61189         needed because we were not catching all possible names of focus
61190         events in PluginView::handleEvent and were missing the ones
61191         WebCore does, but this has been fixed in r66827.
61192
61193         * plugins/qt/PluginViewQt.cpp:
61194         (WebCore::PluginView::setFocus):
61195
61196 2010-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
61197
61198         Unreviewed, rolling out r66823.
61199         http://trac.webkit.org/changeset/66823
61200         https://bugs.webkit.org/show_bug.cgi?id=45266
61201
61202         Windows build fails with unknown reason (Requested by zherczeg
61203         on #webkit).
61204
61205         * Android.mk:
61206         * CMakeLists.txt:
61207         * GNUmakefile.am:
61208         * WebCore.gypi:
61209         * WebCore.pro:
61210         * WebCore.vcproj/WebCore.vcproj:
61211         * WebCore.xcodeproj/project.pbxproj:
61212         * rendering/RenderObject.h:
61213         * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
61214         * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
61215         * rendering/SVGRenderTreeAsText.cpp:
61216         (WebCore::writeSVGContainer):
61217         * svg/SVGFEDiffuseLightingElement.cpp:
61218         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
61219         * svg/SVGFELightElement.cpp:
61220         (WebCore::SVGFELightElement::svgAttributeChanged):
61221         (WebCore::SVGFELightElement::childrenChanged):
61222         * svg/SVGFEOffsetElement.cpp:
61223         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
61224         * svg/SVGFilterElement.h:
61225         (WebCore::SVGFilterElement::invalidateFilter):
61226         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
61227         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
61228         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
61229         * svg/SVGFilterPrimitiveStandardAttributes.h:
61230         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
61231
61232 2010-09-06  Xan Lopez  <xlopez@igalia.com>
61233
61234         Reviewed by Martin Robinson.
61235
61236         [GTK] Provide Keyboard Events to Windowless plugins
61237         https://bugs.webkit.org/show_bug.cgi?id=44613
61238
61239         Fix keyboard event delivery for windowless plugins.
61240
61241         Based on a patch by Bharathwaaj.
61242
61243         * plugins/PluginView.cpp:
61244         (WebCore::PluginView::handleEvent): also take into account
61245         focused{in,out} events
61246         * plugins/gtk/PluginViewGtk.cpp:
61247         (WebCore::PluginView::handleKeyboardEvent): we want the keyval
61248         here, not the hardware keycode
61249         (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events
61250
61251 2010-09-06  Ilya Tikhonovsky  <loislo@chromium.org>
61252
61253         Reviewed by Yury Semikhatsky.
61254
61255         WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions.
61256
61257         There are some places where callback is passing via some wrapper. In that case sendMessageToBackend
61258         will be called with additional argument for callback but with undefined value.
61259
61260         https://bugs.webkit.org/show_bug.cgi?id=45265
61261
61262         * inspector/CodeGeneratorInspector.pm:
61263
61264 2010-09-06  Zoltan Herczeg  <zherczeg@webkit.org>
61265
61266         Reviewed by Dirk Schulze.
61267
61268         An individual renderer should be assigned to each SVGFE*Element class
61269         https://bugs.webkit.org/show_bug.cgi?id=43954
61270
61271         RenderSVGResourceFilterPrimitive renderer is added to
61272         the project, and assigned to each object, which class is
61273         derived from SVGFilterPrimitiveStandardAttributes. The patch
61274         mainly contains build system changes, and it fixes one layout
61275         test in svg/dynamic-updates.
61276
61277         * Android.mk:
61278         * CMakeLists.txt:
61279         * GNUmakefile.am:
61280         * WebCore.gypi:
61281         * WebCore.pro:
61282         * WebCore.vcproj/WebCore.vcproj:
61283         * WebCore.xcodeproj/project.pbxproj:
61284         * rendering/RenderObject.h:
61285         (WebCore::RenderObject::isSVGResourceFilterPrimitive):
61286         * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
61287         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
61288         * rendering/RenderSVGResourceFilterPrimitive.h: Added.
61289         (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
61290         * rendering/SVGRenderTreeAsText.cpp:
61291         (WebCore::writeSVGContainer):
61292         * svg/SVGFEDiffuseLightingElement.cpp:
61293         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
61294         * svg/SVGFELightElement.cpp:
61295         (WebCore::SVGFELightElement::svgAttributeChanged):
61296         (WebCore::SVGFELightElement::childrenChanged):
61297         * svg/SVGFEOffsetElement.cpp:
61298         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
61299         * svg/SVGFilterElement.h:
61300         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
61301         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
61302         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
61303         (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
61304         * svg/SVGFilterPrimitiveStandardAttributes.h:
61305         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
61306
61307 2010-09-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
61308
61309         Reviewed by Dirk Schulze.
61310
61311         [WML] Use RenderImageResource in WMLImageElement.cpp
61312         https://bugs.webkit.org/show_bug.cgi?id=44952
61313
61314         The hasImage() and setCachedImage() were moved to RenderImageResource class. 
61315         So, WML also should use the functions from RenderImageResource.
61316
61317         * wml/WMLImageElement.cpp:
61318         (WebCore::WMLImageElement::attach):
61319
61320 2010-08-26  Jeremy Orlow  <jorlow@chromium.org>
61321
61322         Reviewed by Steve Block.
61323
61324         Add index insertion support to IndexedDB.
61325         https://bugs.webkit.org/show_bug.cgi?id=44695
61326
61327         Whenever you insert an item into an ObjectStore, it should use all
61328         indexes' key paths to insert corresponding entries into each index.
61329         Also data should be deleted out of the index when it goes away.
61330
61331         Not much testing yet since there's no way to directly observe indexes.
61332         More will be in next patch.
61333
61334         * storage/IDBDatabaseBackendImpl.cpp:
61335         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
61336         * storage/IDBFactoryBackendImpl.cpp:
61337         (WebCore::createTables):
61338         * storage/IDBIndex.idl:
61339         * storage/IDBIndexBackendImpl.cpp:
61340         (WebCore::whereClause):
61341         (WebCore::bindWhereClause):
61342         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
61343         * storage/IDBIndexBackendImpl.h:
61344         (WebCore::IDBIndexBackendImpl::id):
61345         * storage/IDBKey.cpp:
61346         (WebCore::IDBKey::whereSyntax):
61347         (WebCore::IDBKey::bind):
61348         (WebCore::IDBKey::bindWithNulls):
61349         * storage/IDBKey.h:
61350         * storage/IDBObjectStore.idl:
61351         * storage/IDBObjectStoreBackendImpl.cpp:
61352         (WebCore::whereClause):
61353         (WebCore::bindWhereClause):
61354         (WebCore::IDBObjectStoreBackendImpl::get):
61355         (WebCore::fetchKeyFromKeyPath):
61356         (WebCore::putObjectStoreData):
61357         (WebCore::putIndexData):
61358         (WebCore::IDBObjectStoreBackendImpl::put):
61359         (WebCore::IDBObjectStoreBackendImpl::remove):
61360         (WebCore::IDBObjectStoreBackendImpl::createIndex):
61361         (WebCore::doDelete):
61362         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
61363         (WebCore::IDBObjectStoreBackendImpl::openCursor):
61364         * storage/IDBObjectStoreBackendImpl.h:
61365
61366 2010-09-06  Anton Muhin  <antonm@chromium.org>
61367
61368         Reviewed by Adam Barth.
61369
61370         [v8] bypass caches when query memory usage from post GC and in crash handler.
61371         https://bugs.webkit.org/show_bug.cgi?id=45036
61372
61373         Add Chromium-specific API to query actual memory usage which bypasses any caches.
61374
61375         * platform/chromium/ChromiumBridge.h:
61376
61377 2010-09-06  Adam Barth  <abarth@webkit.org>
61378
61379         Reviewed by Darin Adler.
61380
61381         Rename SecurityOrigin::canLoad to canDisplay
61382         https://bugs.webkit.org/show_bug.cgi?id=45214
61383
61384         canLoad is a pretty opaque name.  This function is really about whether
61385         you can display the contents of the URL in an iframe, an image, or a
61386         plugin.
61387
61388         * WebCore.exp.in:
61389         * html/HTMLMediaElement.cpp:
61390         (WebCore::HTMLMediaElement::isSafeToLoadURL):
61391         * loader/Cache.cpp:
61392         (WebCore::Cache::requestResource):
61393         * loader/FrameLoader.cpp:
61394         (WebCore::FrameLoader::loadFrameRequest):
61395         * loader/PingLoader.cpp:
61396         (WebCore::PingLoader::loadImage):
61397         * loader/SubframeLoader.cpp:
61398         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
61399         (WebCore::SubframeLoader::createJavaAppletWidget):
61400         (WebCore::SubframeLoader::loadSubframe):
61401         (WebCore::SubframeLoader::loadPlugin):
61402         * loader/SubresourceLoader.cpp:
61403         (WebCore::SubresourceLoader::create):
61404         * page/SecurityOrigin.cpp:
61405         (WebCore::SecurityOrigin::canDisplay):
61406         * page/SecurityOrigin.h:
61407         * plugins/PluginView.cpp:
61408         (WebCore::PluginView::load):
61409
61410 2010-08-31  Yury Semikhatsky  <yurys@chromium.org>
61411
61412         Reviewed by Joseph Pecoraro.
61413
61414         Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint
61415         https://bugs.webkit.org/show_bug.cgi?id=44943
61416
61417         Test: inspector/debugger-suspend-active-dom-objects.html
61418
61419         * page/PageGroupLoadDeferrer.cpp:
61420         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
61421
61422 2010-09-05  Kenneth Russell  <kbr@google.com>
61423
61424         Reviewed by Darin Fisher.
61425
61426         Add unit tests for red-black tree and (POD) arena
61427         https://bugs.webkit.org/show_bug.cgi?id=45060
61428
61429         * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header.
61430         * platform/graphics/gpu/PODInterval.h: Fixed copyright header.
61431         * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header.
61432         * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header.
61433
61434 2010-09-05  Jeremy Orlow  <jorlow@chromium.org>
61435
61436         Reviewed by Nate Chapin.
61437
61438         Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange).
61439         https://bugs.webkit.org/show_bug.cgi?id=45044
61440
61441         IndexedDB's IDBKeyRange has what, in other languages, are called class
61442         methods. In javaScript terms, these are methods only accessible from their
61443         constructor and not instances. This change adds such support to V8. There
61444         are already other features required for IndexedDB that JSC doesn't yet
61445         support, so I'll add this to the list of todo items in the master bug
61446         for that.
61447
61448         The bindings tests cover this. My next patch will change WebCore to use
61449         this and it'll have associated layout tests.
61450
61451         * bindings/scripts/CodeGeneratorV8.pm:
61452         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
61453         (WebDOMTestObj::classMethod):
61454         (WebDOMTestObj::classMethodWithOptional):
61455         * bindings/scripts/test/CPP/WebDOMTestObj.h:
61456         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
61457         (webkit_dom_test_obj_class_method):
61458         (webkit_dom_test_obj_class_method_with_optional):
61459         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
61460         * bindings/scripts/test/JS/JSTestObj.cpp:
61461         (WebCore::jsTestObjPrototypeFunctionStaticMethod):
61462         (WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional):
61463         * bindings/scripts/test/JS/JSTestObj.h:
61464         * bindings/scripts/test/ObjC/DOMTestObj.h:
61465         * bindings/scripts/test/ObjC/DOMTestObj.mm:
61466         (-[DOMTestObj classMethod]):
61467         (-[DOMTestObj classMethodWithOptional:]):
61468         * bindings/scripts/test/TestObj.idl:
61469         * bindings/scripts/test/V8/V8TestObj.cpp:
61470         (WebCore::TestObjInternal::classMethodCallback):
61471         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
61472         (WebCore::ConfigureV8TestObjTemplate):
61473         * storage/IDBKeyRange.idl:
61474
61475 2010-09-05  Jeremy Orlow  <jorlow@chromium.org>
61476
61477         Reviewed by Steve Block.
61478
61479         Add IndexedDB objects' constructors to window
61480         https://bugs.webkit.org/show_bug.cgi?id=44599
61481
61482         Also add a forgotten constant to IDBTransaction, and
61483         change IDBKeyRange over to using the V8Static attribute
61484         so it actually behaves as it's supposed to.
61485
61486         * bindings/generic/RuntimeEnabledFeatures.h:
61487         (WebCore::RuntimeEnabledFeatures::iDBCursorEnabled):
61488         (WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled):
61489         (WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled):
61490         (WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled):
61491         (WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled):
61492         (WebCore::RuntimeEnabledFeatures::iDBEventEnabled):
61493         (WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled):
61494         (WebCore::RuntimeEnabledFeatures::iDBIndexEnabled):
61495         (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
61496         (WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled):
61497         (WebCore::RuntimeEnabledFeatures::iDBRequestEnabled):
61498         (WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled):
61499         (WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled):
61500         * page/DOMWindow.cpp:
61501         (WebCore::DOMWindow::clear):
61502         (WebCore::DOMWindow::indexedDB):
61503         * page/DOMWindow.h:
61504         * page/DOMWindow.idl:
61505         * storage/IDBKeyRange.idl:
61506         * storage/IDBTransaction.h:
61507         * storage/IDBTransaction.idl:
61508
61509 2010-09-04  Justin Schuh  <jschuh@chromium.org>
61510
61511         Reviewed by Nikolas Zimmermann.
61512
61513         Prevent premature deletion of svg use shadow tree
61514         https://bugs.webkit.org/show_bug.cgi?id=43260
61515
61516         Test: svg/custom/use-invalid-style.svg
61517
61518         * svg/SVGUseElement.cpp:
61519         (WebCore::SVGUseElement::insertedIntoDocument):
61520         (WebCore::SVGUseElement::removedFromDocument):
61521         (WebCore::SVGUseElement::detach):
61522
61523 2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
61524
61525         Reviewed by Darin Adler.
61526
61527         Add NetworkingContext to avoid layer violations
61528         https://bugs.webkit.org/show_bug.cgi?id=42292
61529
61530         Create and provide access to NetworkingContext in FrameLoader.
61531
61532         In the WebKit layer we added specific implementations of FrameNetworkingContext
61533         so each port's FrameLoaderClient can add any port specific information to NetworkingContext
61534         The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
61535         in the FrameLoader for each frame created. People must always use it
61536         by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
61537         The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
61538
61539         It is still a preparation to NetworkingContext to be activated and
61540         work for all ports.
61541
61542         * WebCore.exp.in:
61543         * loader/EmptyClients.h:
61544         (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
61545         * loader/FrameLoader.cpp:
61546         (WebCore::FrameLoader::~FrameLoader):
61547         (WebCore::FrameLoader::init):
61548         (WebCore::FrameLoader::networkingContext):
61549         * loader/FrameLoader.h:
61550         * loader/FrameLoaderClient.h:
61551
61552 2010-09-03  Kinuko Yasuda  <kinuko@chromium.org>
61553
61554         Reviewed by Darin Adler.
61555
61556         V8/JS bindings should not perform type checks if the parameter has Callback attribute
61557         https://bugs.webkit.org/show_bug.cgi?id=45143
61558
61559         No new tests, should not affect existing idls.
61560
61561         * bindings/scripts/CodeGeneratorJS.pm:
61562         * bindings/scripts/CodeGeneratorV8.pm:
61563         * bindings/scripts/test/JS/JSTestObj.cpp:
61564         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
61565         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
61566         * bindings/scripts/test/TestObj.idl:
61567         * bindings/scripts/test/V8/V8TestObj.cpp:
61568         (WebCore::TestObjInternal::overloadedMethod5Callback):
61569         (WebCore::TestObjInternal::overloadedMethodCallback):
61570
61571 2010-09-03  Kenneth Russell  <kbr@google.com>
61572
61573         Unreviewed, Chromium build fix. Fix breakage on Windows after
61574         r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 .
61575
61576         * platform/graphics/chromium/FontChromiumWin.cpp:
61577         (WebCore::Font::drawGlyphs):
61578
61579 2010-09-03  James Robinson  <jamesr@chromium.org>
61580
61581         Reviewed by Kenneth Russell.
61582
61583         [chromium] Text sometimes fails to display in accelerated 2d canvases
61584         https://bugs.webkit.org/show_bug.cgi?id=45223
61585
61586         Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs
61587         using skia to ensure that the backing store state is consistent.
61588
61589         * platform/graphics/chromium/FontChromiumWin.cpp:
61590         (WebCore::Font::drawGlyphs):
61591         * platform/graphics/chromium/FontLinux.cpp:
61592         (WebCore::Font::drawGlyphs):
61593
61594 2010-09-03  Kenneth Russell  <kbr@google.com>
61595
61596         Reviewed by Darin Fisher.
61597
61598         Add thirdparty directory and incorporate GLU tessellator
61599         https://bugs.webkit.org/show_bug.cgi?id=44707
61600
61601         This directory is intended to contain copies of third-party libraries used
61602         by WebCore, in particular those which may require some modification in
61603         order to incorporate.
61604
61605         No tests at this time; these sources are being added in preparation for
61606         incorporating other code which uses them, at which point the code will be
61607         exercised and testable.
61608
61609         * thirdparty: Added.
61610         * thirdparty/README.txt: Added.
61611         * thirdparty/glu: Added.
61612         * thirdparty/glu/LICENSE.txt: Added.
61613         * thirdparty/glu/README.webkit: Added.
61614         * thirdparty/glu/gluos.h: Added.
61615         * thirdparty/glu/internal_glu.h: Added.
61616         * thirdparty/glu/libtess: Added.
61617         * thirdparty/glu/libtess/GNUmakefile: Added.
61618         * thirdparty/glu/libtess/Imakefile: Added.
61619         * thirdparty/glu/libtess/README: Added.
61620         * thirdparty/glu/libtess/alg-outline: Added.
61621         * thirdparty/glu/libtess/dict-list.h: Added.
61622         * thirdparty/glu/libtess/dict.c: Added.
61623         * thirdparty/glu/libtess/dict.h: Added.
61624         * thirdparty/glu/libtess/geom.c: Added.
61625         * thirdparty/glu/libtess/geom.h: Added.
61626         * thirdparty/glu/libtess/memalloc.c: Added.
61627         * thirdparty/glu/libtess/memalloc.h: Added.
61628         * thirdparty/glu/libtess/mesh.c: Added.
61629         * thirdparty/glu/libtess/mesh.h: Added.
61630         * thirdparty/glu/libtess/normal.c: Added.
61631         * thirdparty/glu/libtess/normal.h: Added.
61632         * thirdparty/glu/libtess/priorityq-heap.c: Added.
61633         * thirdparty/glu/libtess/priorityq-heap.h: Added.
61634         * thirdparty/glu/libtess/priorityq-sort.h: Added.
61635         * thirdparty/glu/libtess/priorityq.c: Added.
61636         * thirdparty/glu/libtess/priorityq.h: Added.
61637         * thirdparty/glu/libtess/render.c: Added.
61638         * thirdparty/glu/libtess/render.h: Added.
61639         * thirdparty/glu/libtess/sweep.c: Added.
61640         * thirdparty/glu/libtess/sweep.h: Added.
61641         * thirdparty/glu/libtess/tess.c: Added.
61642         * thirdparty/glu/libtess/tess.h: Added.
61643         * thirdparty/glu/libtess/tessmono.c: Added.
61644         * thirdparty/glu/libtess/tessmono.h: Added.
61645
61646 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
61647
61648         Unreviewed, rolling out r66781.
61649         http://trac.webkit.org/changeset/66781
61650         https://bugs.webkit.org/show_bug.cgi?id=45220
61651
61652         Breaks the build. Adds a mac-specific file to
61653         platform/graphics without #if PLATFORM() guards and changes
61654         the GraphicsContext3D interface without updating all
61655         implementations (Requested by jamesr on #webkit).
61656
61657         * WebCore.gypi:
61658         * WebCore.xcodeproj/project.pbxproj:
61659         * html/canvas/WebGLObject.cpp:
61660         (WebCore::WebGLObject::deleteObject):
61661         * platform/graphics/ANGLEWebKitBridge.h:
61662         * platform/graphics/GraphicsContext3D.h:
61663         * platform/graphics/GraphicsContext3DOpenGL.cpp: Removed.
61664         * platform/graphics/mac/GraphicsContext3DMac.mm:
61665         (WebCore::GraphicsContext3D::validateAttributes):
61666         (WebCore::GraphicsContext3D::makeContextCurrent):
61667         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
61668         (WebCore::GraphicsContext3D::reshape):
61669         (WebCore::ensureContext):
61670         (WebCore::GraphicsContext3D::prepareTexture):
61671         (WebCore::GraphicsContext3D::activeTexture):
61672         (WebCore::GraphicsContext3D::attachShader):
61673         (WebCore::GraphicsContext3D::bindAttribLocation):
61674         (WebCore::GraphicsContext3D::bindBuffer):
61675         (WebCore::GraphicsContext3D::bindFramebuffer):
61676         (WebCore::GraphicsContext3D::bindRenderbuffer):
61677         (WebCore::GraphicsContext3D::bindTexture):
61678         (WebCore::GraphicsContext3D::blendColor):
61679         (WebCore::GraphicsContext3D::blendEquation):
61680         (WebCore::GraphicsContext3D::blendEquationSeparate):
61681         (WebCore::GraphicsContext3D::blendFunc):
61682         (WebCore::GraphicsContext3D::blendFuncSeparate):
61683         (WebCore::GraphicsContext3D::bufferData):
61684         (WebCore::GraphicsContext3D::bufferSubData):
61685         (WebCore::GraphicsContext3D::checkFramebufferStatus):
61686         (WebCore::GraphicsContext3D::clearColor):
61687         (WebCore::GraphicsContext3D::clear):
61688         (WebCore::GraphicsContext3D::clearDepth):
61689         (WebCore::GraphicsContext3D::clearStencil):
61690         (WebCore::GraphicsContext3D::colorMask):
61691         (WebCore::GraphicsContext3D::compileShader):
61692         (WebCore::GraphicsContext3D::copyTexImage2D):
61693         (WebCore::GraphicsContext3D::copyTexSubImage2D):
61694         (WebCore::GraphicsContext3D::cullFace):
61695         (WebCore::GraphicsContext3D::depthFunc):
61696         (WebCore::GraphicsContext3D::depthMask):
61697         (WebCore::GraphicsContext3D::depthRange):
61698         (WebCore::GraphicsContext3D::detachShader):
61699         (WebCore::GraphicsContext3D::disable):
61700         (WebCore::GraphicsContext3D::disableVertexAttribArray):
61701         (WebCore::GraphicsContext3D::drawArrays):
61702         (WebCore::GraphicsContext3D::drawElements):
61703         (WebCore::GraphicsContext3D::enable):
61704         (WebCore::GraphicsContext3D::enableVertexAttribArray):
61705         (WebCore::GraphicsContext3D::finish):
61706         (WebCore::GraphicsContext3D::flush):
61707         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
61708         (WebCore::GraphicsContext3D::framebufferTexture2D):
61709         (WebCore::GraphicsContext3D::frontFace):
61710         (WebCore::GraphicsContext3D::generateMipmap):
61711         (WebCore::GraphicsContext3D::getActiveAttrib):
61712         (WebCore::GraphicsContext3D::getActiveUniform):
61713         (WebCore::GraphicsContext3D::getAttachedShaders):
61714         (WebCore::GraphicsContext3D::getAttribLocation):
61715         (WebCore::GraphicsContext3D::getContextAttributes):
61716         (WebCore::GraphicsContext3D::getError):
61717         (WebCore::GraphicsContext3D::getString):
61718         (WebCore::GraphicsContext3D::hint):
61719         (WebCore::GraphicsContext3D::isBuffer):
61720         (WebCore::GraphicsContext3D::isEnabled):
61721         (WebCore::GraphicsContext3D::isFramebuffer):
61722         (WebCore::GraphicsContext3D::isProgram):
61723         (WebCore::GraphicsContext3D::isRenderbuffer):
61724         (WebCore::GraphicsContext3D::isShader):
61725         (WebCore::GraphicsContext3D::isTexture):
61726         (WebCore::GraphicsContext3D::lineWidth):
61727         (WebCore::GraphicsContext3D::linkProgram):
61728         (WebCore::GraphicsContext3D::pixelStorei):
61729         (WebCore::GraphicsContext3D::polygonOffset):
61730         (WebCore::GraphicsContext3D::readPixels):
61731         (WebCore::GraphicsContext3D::releaseShaderCompiler):
61732         (WebCore::GraphicsContext3D::renderbufferStorage):
61733         (WebCore::GraphicsContext3D::sampleCoverage):
61734         (WebCore::GraphicsContext3D::scissor):
61735         (WebCore::GraphicsContext3D::shaderSource):
61736         (WebCore::GraphicsContext3D::stencilFunc):
61737         (WebCore::GraphicsContext3D::stencilFuncSeparate):
61738         (WebCore::GraphicsContext3D::stencilMask):
61739         (WebCore::GraphicsContext3D::stencilMaskSeparate):
61740         (WebCore::GraphicsContext3D::stencilOp):
61741         (WebCore::GraphicsContext3D::stencilOpSeparate):
61742         (WebCore::GraphicsContext3D::texParameterf):
61743         (WebCore::GraphicsContext3D::texParameteri):
61744         (WebCore::GraphicsContext3D::uniform1f):
61745         (WebCore::GraphicsContext3D::uniform1fv):
61746         (WebCore::GraphicsContext3D::uniform2f):
61747         (WebCore::GraphicsContext3D::uniform2fv):
61748         (WebCore::GraphicsContext3D::uniform3f):
61749         (WebCore::GraphicsContext3D::uniform3fv):
61750         (WebCore::GraphicsContext3D::uniform4f):
61751         (WebCore::GraphicsContext3D::uniform4fv):
61752         (WebCore::GraphicsContext3D::uniform1i):
61753         (WebCore::GraphicsContext3D::uniform1iv):
61754         (WebCore::GraphicsContext3D::uniform2i):
61755         (WebCore::GraphicsContext3D::uniform2iv):
61756         (WebCore::GraphicsContext3D::uniform3i):
61757         (WebCore::GraphicsContext3D::uniform3iv):
61758         (WebCore::GraphicsContext3D::uniform4i):
61759         (WebCore::GraphicsContext3D::uniform4iv):
61760         (WebCore::GraphicsContext3D::uniformMatrix2fv):
61761         (WebCore::GraphicsContext3D::uniformMatrix3fv):
61762         (WebCore::GraphicsContext3D::uniformMatrix4fv):
61763         (WebCore::GraphicsContext3D::useProgram):
61764         (WebCore::GraphicsContext3D::validateProgram):
61765         (WebCore::GraphicsContext3D::vertexAttrib1f):
61766         (WebCore::GraphicsContext3D::vertexAttrib1fv):
61767         (WebCore::GraphicsContext3D::vertexAttrib2f):
61768         (WebCore::GraphicsContext3D::vertexAttrib2fv):
61769         (WebCore::GraphicsContext3D::vertexAttrib3f):
61770         (WebCore::GraphicsContext3D::vertexAttrib3fv):
61771         (WebCore::GraphicsContext3D::vertexAttrib4f):
61772         (WebCore::GraphicsContext3D::vertexAttrib4fv):
61773         (WebCore::GraphicsContext3D::vertexAttribPointer):
61774         (WebCore::GraphicsContext3D::viewport):
61775         (WebCore::GraphicsContext3D::getBooleanv):
61776         (WebCore::GraphicsContext3D::getBufferParameteriv):
61777         (WebCore::GraphicsContext3D::getFloatv):
61778         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
61779         (WebCore::GraphicsContext3D::getIntegerv):
61780         (WebCore::GraphicsContext3D::getProgramiv):
61781         (WebCore::GraphicsContext3D::getProgramInfoLog):
61782         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
61783         (WebCore::GraphicsContext3D::getShaderiv):
61784         (WebCore::GraphicsContext3D::getShaderInfoLog):
61785         (WebCore::GraphicsContext3D::getShaderSource):
61786         (WebCore::GraphicsContext3D::getTexParameterfv):
61787         (WebCore::GraphicsContext3D::getTexParameteriv):
61788         (WebCore::GraphicsContext3D::getUniformfv):
61789         (WebCore::GraphicsContext3D::getUniformiv):
61790         (WebCore::GraphicsContext3D::getUniformLocation):
61791         (WebCore::GraphicsContext3D::getVertexAttribfv):
61792         (WebCore::GraphicsContext3D::getVertexAttribiv):
61793         (WebCore::GraphicsContext3D::getVertexAttribOffset):
61794         (WebCore::GraphicsContext3D::texImage2D):
61795         (WebCore::GraphicsContext3D::texSubImage2D):
61796         (WebCore::GraphicsContext3D::createBuffer):
61797         (WebCore::GraphicsContext3D::createFramebuffer):
61798         (WebCore::GraphicsContext3D::createProgram):
61799         (WebCore::GraphicsContext3D::createRenderbuffer):
61800         (WebCore::GraphicsContext3D::createShader):
61801         (WebCore::GraphicsContext3D::createTexture):
61802         (WebCore::GraphicsContext3D::deleteBuffer):
61803         (WebCore::GraphicsContext3D::deleteFramebuffer):
61804         (WebCore::GraphicsContext3D::deleteProgram):
61805         (WebCore::GraphicsContext3D::deleteRenderbuffer):
61806         (WebCore::GraphicsContext3D::deleteShader):
61807         (WebCore::GraphicsContext3D::deleteTexture):
61808         (WebCore::GraphicsContext3D::sizeInBytes):
61809         (WebCore::GraphicsContext3D::synthesizeGLError):
61810
61811 2010-09-03  James Robinson  <jamesr@chromium.org>
61812
61813         Reviewed by Kenneth Russell.
61814
61815         Force 2d canvases to be rendered in software when the composite operation isn't source-over
61816         https://bugs.webkit.org/show_bug.cgi?id=45216
61817
61818         The current accelerated 2d canvas implementation is very slow for composite operations other
61819         than the default.  This patch forces a canvas to be rendered in software if any other operation
61820         is set until we accelerate the rest.
61821
61822         Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation.
61823
61824         * html/canvas/CanvasRenderingContext2D.cpp:
61825         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
61826         * platform/graphics/skia/PlatformContextSkia.cpp:
61827         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
61828
61829 2010-09-03  Paul Sawaya  <psawaya@apple.com>
61830
61831         Reviewed by Chris Marrin.
61832
61833         Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file.
61834         Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp.
61835         https://bugs.webkit.org/show_bug.cgi?id=30625
61836
61837         * WebCore.gypi:
61838         * WebCore.xcodeproj/project.pbxproj:
61839         * html/canvas/WebGLObject.cpp:
61840         (WebCore::WebGLObject::deleteObject):
61841         * platform/graphics/ANGLEWebKitBridge.h:
61842         * platform/graphics/GraphicsContext3D.h:
61843         * platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
61844         (WebCore::GraphicsContext3D::prepareTexture):
61845         (WebCore::GraphicsContext3D::activeTexture):
61846         (WebCore::GraphicsContext3D::attachShader):
61847         (WebCore::GraphicsContext3D::bindAttribLocation):
61848         (WebCore::GraphicsContext3D::bindBuffer):
61849         (WebCore::GraphicsContext3D::bindFramebuffer):
61850         (WebCore::GraphicsContext3D::bindRenderbuffer):
61851         (WebCore::GraphicsContext3D::bindTexture):
61852         (WebCore::GraphicsContext3D::blendColor):
61853         (WebCore::GraphicsContext3D::blendEquation):
61854         (WebCore::GraphicsContext3D::blendEquationSeparate):
61855         (WebCore::GraphicsContext3D::blendFunc):
61856         (WebCore::GraphicsContext3D::blendFuncSeparate):
61857         (WebCore::GraphicsContext3D::bufferData):
61858         (WebCore::GraphicsContext3D::bufferSubData):
61859         (WebCore::GraphicsContext3D::checkFramebufferStatus):
61860         (WebCore::GraphicsContext3D::clearColor):
61861         (WebCore::GraphicsContext3D::clear):
61862         (WebCore::GraphicsContext3D::clearDepth):
61863         (WebCore::GraphicsContext3D::clearStencil):
61864         (WebCore::GraphicsContext3D::colorMask):
61865         (WebCore::GraphicsContext3D::compileShader):
61866         (WebCore::GraphicsContext3D::copyTexImage2D):
61867         (WebCore::GraphicsContext3D::copyTexSubImage2D):
61868         (WebCore::GraphicsContext3D::cullFace):
61869         (WebCore::GraphicsContext3D::depthFunc):
61870         (WebCore::GraphicsContext3D::depthMask):
61871         (WebCore::GraphicsContext3D::depthRange):
61872         (WebCore::GraphicsContext3D::detachShader):
61873         (WebCore::GraphicsContext3D::disable):
61874         (WebCore::GraphicsContext3D::disableVertexAttribArray):
61875         (WebCore::GraphicsContext3D::drawArrays):
61876         (WebCore::GraphicsContext3D::drawElements):
61877         (WebCore::GraphicsContext3D::enable):
61878         (WebCore::GraphicsContext3D::enableVertexAttribArray):
61879         (WebCore::GraphicsContext3D::finish):
61880         (WebCore::GraphicsContext3D::flush):
61881         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
61882         (WebCore::GraphicsContext3D::framebufferTexture2D):
61883         (WebCore::GraphicsContext3D::frontFace):
61884         (WebCore::GraphicsContext3D::generateMipmap):
61885         (WebCore::GraphicsContext3D::getActiveAttrib):
61886         (WebCore::GraphicsContext3D::getActiveUniform):
61887         (WebCore::GraphicsContext3D::getAttachedShaders):
61888         (WebCore::GraphicsContext3D::getAttribLocation):
61889         (WebCore::GraphicsContext3D::getError):
61890         (WebCore::GraphicsContext3D::getString):
61891         (WebCore::GraphicsContext3D::hint):
61892         (WebCore::GraphicsContext3D::isBuffer):
61893         (WebCore::GraphicsContext3D::isEnabled):
61894         (WebCore::GraphicsContext3D::isFramebuffer):
61895         (WebCore::GraphicsContext3D::isProgram):
61896         (WebCore::GraphicsContext3D::isRenderbuffer):
61897         (WebCore::GraphicsContext3D::isShader):
61898         (WebCore::GraphicsContext3D::isTexture):
61899         (WebCore::GraphicsContext3D::lineWidth):
61900         (WebCore::GraphicsContext3D::linkProgram):
61901         (WebCore::GraphicsContext3D::pixelStorei):
61902         (WebCore::GraphicsContext3D::polygonOffset):
61903         (WebCore::GraphicsContext3D::readPixels):
61904         (WebCore::GraphicsContext3D::releaseShaderCompiler):
61905         (WebCore::GraphicsContext3D::renderbufferStorage):
61906         (WebCore::GraphicsContext3D::sampleCoverage):
61907         (WebCore::GraphicsContext3D::scissor):
61908         (WebCore::GraphicsContext3D::shaderSource):
61909         (WebCore::GraphicsContext3D::stencilFunc):
61910         (WebCore::GraphicsContext3D::stencilFuncSeparate):
61911         (WebCore::GraphicsContext3D::stencilMask):
61912         (WebCore::GraphicsContext3D::stencilMaskSeparate):
61913         (WebCore::GraphicsContext3D::stencilOp):
61914         (WebCore::GraphicsContext3D::stencilOpSeparate):
61915         (WebCore::GraphicsContext3D::texParameterf):
61916         (WebCore::GraphicsContext3D::texParameteri):
61917         (WebCore::GraphicsContext3D::uniform1f):
61918         (WebCore::GraphicsContext3D::uniform1fv):
61919         (WebCore::GraphicsContext3D::uniform2f):
61920         (WebCore::GraphicsContext3D::uniform2fv):
61921         (WebCore::GraphicsContext3D::uniform3f):
61922         (WebCore::GraphicsContext3D::uniform3fv):
61923         (WebCore::GraphicsContext3D::uniform4f):
61924         (WebCore::GraphicsContext3D::uniform4fv):
61925         (WebCore::GraphicsContext3D::uniform1i):
61926         (WebCore::GraphicsContext3D::uniform1iv):
61927         (WebCore::GraphicsContext3D::uniform2i):
61928         (WebCore::GraphicsContext3D::uniform2iv):
61929         (WebCore::GraphicsContext3D::uniform3i):
61930         (WebCore::GraphicsContext3D::uniform3iv):
61931         (WebCore::GraphicsContext3D::uniform4i):
61932         (WebCore::GraphicsContext3D::uniform4iv):
61933         (WebCore::GraphicsContext3D::uniformMatrix2fv):
61934         (WebCore::GraphicsContext3D::uniformMatrix3fv):
61935         (WebCore::GraphicsContext3D::uniformMatrix4fv):
61936         (WebCore::GraphicsContext3D::useProgram):
61937         (WebCore::GraphicsContext3D::validateProgram):
61938         (WebCore::GraphicsContext3D::vertexAttrib1f):
61939         (WebCore::GraphicsContext3D::vertexAttrib1fv):
61940         (WebCore::GraphicsContext3D::vertexAttrib2f):
61941         (WebCore::GraphicsContext3D::vertexAttrib2fv):
61942         (WebCore::GraphicsContext3D::vertexAttrib3f):
61943         (WebCore::GraphicsContext3D::vertexAttrib3fv):
61944         (WebCore::GraphicsContext3D::vertexAttrib4f):
61945         (WebCore::GraphicsContext3D::vertexAttrib4fv):
61946         (WebCore::GraphicsContext3D::vertexAttribPointer):
61947         (WebCore::GraphicsContext3D::viewport):
61948         (WebCore::GraphicsContext3D::getBooleanv):
61949         (WebCore::GraphicsContext3D::getBufferParameteriv):
61950         (WebCore::GraphicsContext3D::getFloatv):
61951         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
61952         (WebCore::GraphicsContext3D::getIntegerv):
61953         (WebCore::GraphicsContext3D::getProgramiv):
61954         (WebCore::GraphicsContext3D::getProgramInfoLog):
61955         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
61956         (WebCore::GraphicsContext3D::getShaderiv):
61957         (WebCore::GraphicsContext3D::getShaderInfoLog):
61958         (WebCore::GraphicsContext3D::getShaderSource):
61959         (WebCore::GraphicsContext3D::getTexParameterfv):
61960         (WebCore::GraphicsContext3D::getTexParameteriv):
61961         (WebCore::GraphicsContext3D::getUniformfv):
61962         (WebCore::GraphicsContext3D::getUniformiv):
61963         (WebCore::GraphicsContext3D::getUniformLocation):
61964         (WebCore::GraphicsContext3D::getVertexAttribfv):
61965         (WebCore::GraphicsContext3D::getVertexAttribiv):
61966         (WebCore::GraphicsContext3D::getVertexAttribOffset):
61967         (WebCore::GraphicsContext3D::texImage2D):
61968         (WebCore::GraphicsContext3D::texSubImage2D):
61969         (WebCore::GraphicsContext3D::createBuffer):
61970         (WebCore::GraphicsContext3D::createFramebuffer):
61971         (WebCore::GraphicsContext3D::createProgram):
61972         (WebCore::GraphicsContext3D::createRenderbuffer):
61973         (WebCore::GraphicsContext3D::createShader):
61974         (WebCore::GraphicsContext3D::createTexture):
61975         (WebCore::GraphicsContext3D::deleteBuffer):
61976         (WebCore::GraphicsContext3D::deleteFramebuffer):
61977         (WebCore::GraphicsContext3D::deleteProgram):
61978         (WebCore::GraphicsContext3D::deleteRenderbuffer):
61979         (WebCore::GraphicsContext3D::deleteShader):
61980         (WebCore::GraphicsContext3D::deleteTexture):
61981         * platform/graphics/mac/GraphicsContext3DMac.mm:
61982         (WebCore::GraphicsContext3D::ensureContext):
61983         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
61984
61985 2010-09-03  James Robinson  <jamesr@chromium.org>
61986
61987         Reviewed by Darin Fisher.
61988
61989         [chromium] Implement ImageBufferSkia::draw on the GPU when possible
61990         https://bugs.webkit.org/show_bug.cgi?id=45207
61991
61992         When drawing from an ImageBuffer into a GraphicsContext, attempt to do the
61993         draw in hardware when possible.  This is how canvas 2d's drawImage(canvas, ...)
61994         is implemented.  Adds new API to DrawingBuffer to request a texture containing
61995         the DrawingBuffer's current rendering results.
61996
61997         Test: covered fast/canvas/drawImage.html and all other tests that draw from one
61998         2d canvas into another.
61999
62000         * html/canvas/CanvasRenderingContext2D.cpp:
62001         (WebCore::CanvasRenderingContext2D::drawImage):
62002         * platform/graphics/chromium/DrawingBufferChromium.cpp:
62003         (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
62004         * platform/graphics/gpu/DrawingBuffer.h:
62005         * platform/graphics/skia/ImageBufferSkia.cpp:
62006         (WebCore::ImageBuffer::draw):
62007
62008 2010-09-03  James Robinson  <jamesr@chromium.org>
62009
62010         Reviewed by Kenneth Russell.
62011
62012         [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction
62013         https://bugs.webkit.org/show_bug.cgi?id=45187
62014
62015         Canvas2DLayerChromium keeps a back reference to a DrawingBuffer.  This has to be a raw pointer
62016         because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium.  Since the layer can
62017         outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer
62018         is destroyed.
62019
62020         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
62021         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
62022         * platform/graphics/chromium/Canvas2DLayerChromium.h:
62023         * platform/graphics/chromium/DrawingBufferChromium.cpp:
62024         (WebCore::DrawingBuffer::~DrawingBuffer):
62025
62026 2010-09-03  Kenneth Russell  <kbr@google.com>
62027
62028         Reviewed by Darin Fisher.
62029
62030         Add interval tree capable of holding plain old data (POD)
62031         https://bugs.webkit.org/show_bug.cgi?id=45160
62032
62033         Adding an interval tree currently capable of holding types which
62034         do not require their destructors to be called. POD is a slight
62035         misnomer which will be corrected soon, hopefully by removing this
62036         restriction.
62037
62038         This class is based on the augmentable property of the red/black
62039         tree integrated under bug 45059.
62040
62041         Unit tests for the PODIntervalTree will be integrated separately
62042         under bug 45161.
62043
62044         * WebCore.gypi:
62045         * platform/graphics/gpu/PODInterval.h: Added.
62046         (WebCore::PODInterval::PODInterval):
62047         (WebCore::PODInterval::low):
62048         (WebCore::PODInterval::high):
62049         (WebCore::PODInterval::data):
62050         (WebCore::PODInterval::overlaps):
62051         (WebCore::PODInterval::operator<):
62052         (WebCore::PODInterval::operator==):
62053         (WebCore::PODInterval::maxHigh):
62054         (WebCore::PODInterval::setMaxHigh):
62055         (WebCore::PODInterval::toString):
62056         * platform/graphics/gpu/PODIntervalTree.h: Added.
62057         (WebCore::PODIntervalTree::PODIntervalTree):
62058         (WebCore::PODIntervalTree::allOverlaps):
62059         (WebCore::PODIntervalTree::createInterval):
62060         (WebCore::PODIntervalTree::checkInvariants):
62061         (WebCore::PODIntervalTree::init):
62062         (WebCore::PODIntervalTree::searchForOverlapsFrom):
62063         (WebCore::PODIntervalTree::updateNode):
62064         (WebCore::PODIntervalTree::checkInvariantsFromNode):
62065         (WebCore::valueToString):
62066
62067 2010-09-02  Vangelis Kokkevis  <vangelis@chromium.org>
62068
62069         Reviewed by Darin Fisher.
62070
62071         [chromium] Gracefully switch over to software compositing if the accelerated
62072         compositor fails to initialize. LayerRendererChromium::create() will now return 0
62073         if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize
62074         hardware rendering.
62075         https://bugs.webkit.org/show_bug.cgi?id=45124
62076         
62077         Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger
62078         the compositor.
62079
62080         * platform/graphics/chromium/LayerRendererChromium.cpp:
62081         (WebCore::LayerRendererChromium::create):
62082         (WebCore::LayerRendererChromium::LayerRendererChromium):
62083         (WebCore::LayerRendererChromium::makeContextCurrent):
62084
62085 2010-09-03  Peter Kasting  <pkasting@google.com>
62086
62087         Reviewed by Simon Fraser.
62088
62089         Report correct (unzoomed) image sizes for zoomed images.
62090         https://bugs.webkit.org/show_bug.cgi?id=42089
62091
62092         Test: fast/images/zoomed-img-size.html
62093
62094         * css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared.
62095         (WebCore::CSSPrimitiveValue::computeLengthInt):
62096         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
62097         (WebCore::CSSPrimitiveValue::computeLengthShort):
62098         * css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared.
62099         (WebCore::roundForImpreciseConversion):
62100         * html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height.
62101         (WebCore::HTMLImageElement::width):
62102         (WebCore::HTMLImageElement::height):
62103         * loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image.
62104         (WebCore::ImageDocumentParser::finish):
62105         * rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes.
62106         (WebCore::adjustForAbsoluteZoom):
62107
62108 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
62109
62110         Unreviewed, rolling out r66770.
62111         http://trac.webkit.org/changeset/66770
62112         https://bugs.webkit.org/show_bug.cgi?id=45200
62113
62114         Broke Windows in a way I can't figure out now to fix
62115         (Requested by abarth on #webkit).
62116
62117         * GNUmakefile.am:
62118         * WebCore.gypi:
62119         * WebCore.pro:
62120         * WebCore.vcproj/WebCore.vcproj:
62121         * WebCore.xcodeproj/project.pbxproj:
62122         * bindings/generic/BindingDOMWindow.h:
62123         (WebCore::::completeURL):
62124         * bindings/generic/BindingFrame.h: Removed.
62125         * bindings/generic/BindingLocation.h: Removed.
62126         * bindings/generic/GenericBinding.h:
62127         * bindings/js/JSBinding.h: Removed.
62128         * bindings/js/JSBindingsAllInOne.cpp:
62129         * bindings/js/JSDOMBinding.cpp:
62130         (WebCore::shouldAllowNavigation):
62131         (WebCore::toLexicalFrame):
62132         (WebCore::toDynamicFrame):
62133         (WebCore::processingUserGesture):
62134         (WebCore::completeURL):
62135         * bindings/js/JSLocationCustom.cpp:
62136         (WebCore::navigateIfAllowed):
62137         (WebCore::JSLocation::replace):
62138         * bindings/js/specialization/JSBindingState.cpp: Removed.
62139         * bindings/js/specialization/JSBindingState.h: Removed.
62140         * bindings/v8/V8Binding.h:
62141         * bindings/v8/V8Utilities.cpp:
62142         (WebCore::completeURL):
62143         (WebCore::navigateIfAllowed):
62144         * bindings/v8/custom/V8LocationCustom.cpp:
62145         (WebCore::V8Location::replaceCallback):
62146         * bindings/v8/specialization/V8BindingState.cpp:
62147         * bindings/v8/specialization/V8BindingState.h:
62148
62149 2010-09-03  Jian Li  <jianli@chromium.org>
62150
62151         Reviewed by Darin Adler.
62152
62153         REGRESSION (r66452): Sending of multipart forms with files is broken.
62154         https://bugs.webkit.org/show_bug.cgi?id=45159
62155
62156         * platform/network/FormData.cpp:
62157         (WebCore::FormData::appendKeyValuePairItems):
62158
62159 2010-09-03  Dominic Cooney  <dominicc@google.com>
62160
62161         Reviewed by Adam Barth.
62162
62163         Moves location.replace bindings logic into bindings/generic and
62164         instantiates it for JSC and V8.
62165
62166         https://bugs.webkit.org/show_bug.cgi?id=44891
62167
62168         Covered by existing location.replace tests.
62169
62170         * GNUmakefile.am:
62171         * WebCore.gypi:
62172         * WebCore.pro:
62173         * WebCore.vcproj/WebCore.vcproj:
62174         * WebCore.xcodeproj/project.pbxproj:
62175         * bindings/generic/BindingDOMWindow.h:
62176         (WebCore::::createWindow):
62177         (WebCore::::open):
62178         * bindings/generic/BindingFrame.h: Added.
62179         (WebCore::::navigateIfAllowed):
62180         * bindings/generic/BindingLocation.h: Added.
62181         (WebCore::::replace):
62182         * bindings/generic/GenericBinding.h:
62183         (WebCore::completeURL):
62184         * bindings/js/JSBinding.h: Added.
62185         * bindings/js/JSBindingsAllInOne.cpp:
62186         * bindings/js/JSDOMBinding.cpp:
62187         (WebCore::shouldAllowNavigation):
62188         (WebCore::toLexicalFrame):
62189         (WebCore::toDynamicFrame):
62190         (WebCore::processingUserGesture):
62191         (WebCore::completeURL):
62192         * bindings/js/JSLocationCustom.cpp:
62193         (WebCore::navigateIfAllowed):
62194         (WebCore::JSLocation::replace):
62195         * bindings/js/specialization/JSBindingState.cpp: Added.
62196         (WebCore::::getActiveFrame):
62197         (WebCore::::getFirstFrame):
62198         (WebCore::::processingUserGesture):
62199         (WebCore::::allowsAccessFromFrame):
62200         * bindings/js/specialization/JSBindingState.h: Added.
62201         * bindings/v8/V8Binding.h:
62202         * bindings/v8/V8Utilities.cpp:
62203         (WebCore::completeURL):
62204         (WebCore::navigateIfAllowed):
62205         * bindings/v8/custom/V8LocationCustom.cpp:
62206         (WebCore::V8Location::replaceCallback):
62207         * bindings/v8/specialization/V8BindingState.cpp:
62208         (WebCore::::allowsAccessFromFrame):
62209         * bindings/v8/specialization/V8BindingState.h:
62210
62211 2010-09-03  Dimitri Glazkov  <dglazkov@chromium.org>
62212
62213         Reviewed by Tony Chang.
62214
62215         [Chromium] Make sure that the width of the menu list is always constant under layout tests.
62216         https://bugs.webkit.org/show_bug.cgi?id=45196
62217
62218         * rendering/RenderThemeChromiumWin.cpp:
62219         (WebCore::menuListButtonWidth): Added.
62220         (WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always
62221           querying system metrics.
62222
62223 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
62224
62225         Unreviewed, rolling out r66732.
62226         http://trac.webkit.org/changeset/66732
62227         https://bugs.webkit.org/show_bug.cgi?id=45195
62228
62229         the patch is not matched with general publish/subscribe scheme
62230         implemented in the Inspector API (Requested by loislo on
62231         #webkit).
62232
62233         * inspector/CodeGeneratorInspector.pm:
62234         * inspector/Inspector.idl:
62235         * inspector/InspectorDOMAgent.cpp:
62236         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
62237         (WebCore::InspectorDOMAgent::getChildNodes):
62238         * inspector/InspectorDOMAgent.h:
62239         * inspector/front-end/DOMAgent.js:
62240         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
62241         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
62242         * inspector/front-end/WorkersSidebarPane.js:
62243         (WebInspector.WorkersSidebarPane.prototype.reset):
62244
62245 2010-09-03  James Robinson  <jamesr@chromium.org>
62246
62247         [chromium] Compile fixes for 66746
62248
62249         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
62250         (WebCore::SharedGraphicsContext3D::texImage2D):
62251         (WebCore::SharedGraphicsContext3D::texSubImage2D):
62252
62253 2010-09-03  Chris Rogers  <crogers@google.com>
62254
62255         Reviewed by Kenneth Russell.
62256
62257         Add AudioParam files
62258         https://bugs.webkit.org/show_bug.cgi?id=44995
62259
62260         No new tests since audio API is not yet implemented.
62261
62262         * webaudio: Added.
62263         * webaudio/AudioParam.h: Added.
62264         (WebCore::AudioParam::create):
62265         (WebCore::AudioParam::AudioParam):
62266         (WebCore::AudioParam::value):
62267         (WebCore::AudioParam::setValue):
62268         (WebCore::AudioParam::name):
62269         (WebCore::AudioParam::minValue):
62270         (WebCore::AudioParam::maxValue):
62271         (WebCore::AudioParam::defaultValue):
62272         (WebCore::AudioParam::units):
62273         (WebCore::AudioParam::smoothedValue):
62274         (WebCore::AudioParam::smooth):
62275         (WebCore::AudioParam::resetSmoothedValue):
62276         (WebCore::AudioParam::setSmoothingConstant):
62277         * webaudio/AudioParam.idl: Added.
62278
62279 2010-09-03  Chris Rogers  <crogers@google.com>
62280
62281         Reviewed by Kenneth Russell.
62282
62283         audio engine: add AudioChannel files
62284         https://bugs.webkit.org/show_bug.cgi?id=44921
62285
62286         No new tests since audio API is not yet implemented.
62287
62288         * platform/audio/AudioChannel.cpp: Added.
62289         (WebCore::AudioChannel::scale):
62290         (WebCore::AudioChannel::copyFrom):
62291         (WebCore::AudioChannel::copyFromRange):
62292         (WebCore::AudioChannel::sumFrom):
62293         (WebCore::AudioChannel::maxAbsValue):
62294         * platform/audio/AudioChannel.h: Added.
62295         (WebCore::AudioChannel::AudioChannel):
62296         (WebCore::AudioChannel::set):
62297         (WebCore::AudioChannel::length):
62298         (WebCore::AudioChannel::data):
62299         (WebCore::AudioChannel::zero):
62300
62301 2010-09-03  Patrick Gansterer  <paroga@paroga.com>
62302
62303         Reviewed by Adam Roben.
62304
62305         [WINCE] Remove usage of ce_textcodecs.h
62306         https://bugs.webkit.org/show_bug.cgi?id=45169
62307
62308         ce_textcodecs.h was a non public header for (not required)
62309         additonal codecs in the original Torch Mobile port.
62310
62311         * platform/text/wince/TextCodecWinCE.cpp:
62312         (WebCore::LanguageManager::LanguageManager):
62313         (WebCore::decode):
62314
62315 2010-09-03  Chris Rogers  <crogers@google.com>
62316
62317         Reviewed by Kenneth Russell.
62318
62319         Initial patch for audio engine: AudioBus and helper classes
62320         https://bugs.webkit.org/show_bug.cgi?id=34452
62321
62322         No new tests since audio API is not yet implemented.
62323
62324         * platform/audio/AudioBus.cpp: Added.
62325         (WebCore::AudioBus::AudioBus):
62326         (WebCore::AudioBus::setChannelMemory):
62327         (WebCore::AudioBus::zero):
62328         (WebCore::AudioBus::channelByType):
62329         (WebCore::AudioBus::topologyMatches):
62330         (WebCore::AudioBus::createBufferFromRange):
62331         (WebCore::AudioBus::maxAbsValue):
62332         (WebCore::AudioBus::normalize):
62333         (WebCore::AudioBus::scale):
62334         (WebCore::AudioBus::copyFrom):
62335         (WebCore::AudioBus::sumFrom):
62336         (WebCore::AudioBus::processWithGainFromMonoStereo):
62337         (WebCore::AudioBus::processWithGainFrom):
62338         (WebCore::AudioBus::copyWithGainFrom):
62339         (WebCore::AudioBus::sumWithGainFrom):
62340         * platform/audio/AudioBus.h: Added.
62341         (WebCore::AudioBus::numberOfChannels):
62342         (WebCore::AudioBus::channel):
62343         (WebCore::AudioBus::length):
62344         (WebCore::AudioBus::sampleRate):
62345         (WebCore::AudioBus::setSampleRate):
62346         (WebCore::AudioBus::setGain):
62347         (WebCore::AudioBus::gain):
62348         (WebCore::AudioBus::reset):
62349         (WebCore::AudioBus::AudioBus):
62350         * platform/audio/AudioSourceProvider.h: Added.
62351         (WebCore::AudioSourceProvider::~AudioSourceProvider):
62352
62353 2010-09-03  Chris Rogers  <crogers@google.com>
62354
62355         Reviewed by Kenneth Russell.
62356
62357         Add Panner files
62358         https://bugs.webkit.org/show_bug.cgi?id=45076
62359
62360         No new tests since audio API is not yet implemented.
62361
62362         * platform/audio/Panner.cpp: Added.
62363         (WebCore::Panner::create):
62364         * platform/audio/Panner.h: Added.
62365         (WebCore::Panner::~Panner):
62366         (WebCore::Panner::panningModel):
62367         (WebCore::Panner::Panner):
62368
62369 2010-09-03  Chris Rogers  <crogers@google.com>
62370
62371         Reviewed by Kenneth Russell.
62372
62373         Add AudioListener files
62374         https://bugs.webkit.org/show_bug.cgi?id=45006
62375
62376         No new tests since audio API is not yet implemented.
62377
62378         * webaudio: Added.
62379         * webaudio/AudioListener.cpp: Added.
62380         (WebCore::AudioListener::AudioListener):
62381         * webaudio/AudioListener.h: Added.
62382         (WebCore::AudioListener::create):
62383         (WebCore::AudioListener::setPosition):
62384         (WebCore::AudioListener::position):
62385         (WebCore::AudioListener::setOrientation):
62386         (WebCore::AudioListener::orientation):
62387         (WebCore::AudioListener::setUpVector):
62388         (WebCore::AudioListener::upVector):
62389         (WebCore::AudioListener::setVelocity):
62390         (WebCore::AudioListener::velocity):
62391         (WebCore::AudioListener::setDopplerFactor):
62392         (WebCore::AudioListener::dopplerFactor):
62393         (WebCore::AudioListener::setSpeedOfSound):
62394         (WebCore::AudioListener::speedOfSound):
62395         * webaudio/AudioListener.idl: Added.
62396
62397 2010-09-03  Chris Rogers  <crogers@google.com>
62398
62399         Unreviewed
62400
62401         Add WebCore/webaudio and WebCore/platform/audio/mac directories in preparation for landing reviewed patches
62402         https://bugs.webkit.org/show_bug.cgi?id=45185
62403
62404         * platform/audio/mac: Added.
62405         * webaudio: Added.
62406
62407 2010-09-03  James Robinson  <jamesr@chromium.org>
62408
62409         Reviewed by Chris Marrin.
62410
62411         Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D
62412         https://bugs.webkit.org/show_bug.cgi?id=44926
62413
62414         This allows many accelerated 2d canvases to render using a single underlying GraphicsContext3D.
62415         It introduces a new class SharedGraphicsContext3D that manages several callers.  This class could
62416         also cache the current state to avoid issuing redundant calls, although in this first cut it doesn't.
62417         The SharedGraphicsContext3D is provided through the ChromeClient so that its lifetime can be tied to that
62418         of the platform-specific compositor infrastructure.
62419
62420         Accelerated 2d canvases maintain a reference to a SharedGraphicsContext3D and have ownership of a CanvasFramebuffer,
62421         which represents the canvas's rendering target.  The compositing layer for an accelerated 2d canvas is
62422         aware only of the canvas's CanvasFramebuffer.  This means that WebGL and 2d canvases are no longer treated
62423         as the same time of layer by the compositor.
62424
62425         Covered by existing canvas tests.
62426
62427         * WebCore.gypi:
62428         * html/canvas/CanvasRenderingContext.cpp:
62429         * html/canvas/CanvasRenderingContext.h:
62430         (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
62431         (WebCore::CanvasRenderingContext::platformLayer):
62432         * html/canvas/CanvasRenderingContext2D.cpp:
62433         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
62434         (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
62435         (WebCore::CanvasRenderingContext2D::reset):
62436         (WebCore::CanvasRenderingContext2D::didDraw):
62437         (WebCore::CanvasRenderingContext2D::platformLayer):
62438         * html/canvas/CanvasRenderingContext2D.h:
62439         * html/canvas/WebGLRenderingContext.cpp:
62440         (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
62441         * html/canvas/WebGLRenderingContext.h:
62442         (WebCore::WebGLRenderingContext::graphicsContext3D):
62443         (WebCore::WebGLRenderingContext::platformLayer):
62444         * loader/EmptyClients.h:
62445         (WebCore::EmptyChromeClient::attachRootGraphicsLayer):
62446         (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
62447         (WebCore::EmptyChromeClient::scheduleCompositingLayerSync):
62448         * page/ChromeClient.h:
62449         (WebCore::ChromeClient::getSharedGraphicsContext3D):
62450         * platform/graphics/GraphicsContext.cpp:
62451         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
62452         (WebCore::GraphicsContext::syncSoftwareCanvas):
62453         * platform/graphics/GraphicsContext.h:
62454         * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Added.
62455         (WebCore::Canvas2DLayerChromium::create):
62456         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
62457         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
62458         (WebCore::Canvas2DLayerChromium::updateContents):
62459         (WebCore::Canvas2DLayerChromium::setTextureChanged):
62460         (WebCore::Canvas2DLayerChromium::textureId):
62461         * platform/graphics/chromium/Canvas2DLayerChromium.h: Added.
62462         (WebCore::Canvas2DLayerChromium::drawsContent):
62463         * platform/graphics/chromium/CanvasLayerChromium.cpp:
62464         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
62465         (WebCore::CanvasLayerChromium::~CanvasLayerChromium):
62466         (WebCore::CanvasLayerChromium::draw):
62467         * platform/graphics/chromium/CanvasLayerChromium.h:
62468         * platform/graphics/chromium/DrawingBufferChromium.cpp: Added.
62469         (WebCore::generateColorTexture):
62470         (WebCore::DrawingBuffer::DrawingBuffer):
62471         (WebCore::DrawingBuffer::~DrawingBuffer):
62472         (WebCore::DrawingBuffer::publishToPlatformLayer):
62473         (WebCore::DrawingBuffer::reset):
62474         (WebCore::DrawingBuffer::platformLayer):
62475         * platform/graphics/chromium/GLES2Canvas.cpp:
62476         (WebCore::GLES2Canvas::GLES2Canvas):
62477         (WebCore::GLES2Canvas::~GLES2Canvas):
62478         (WebCore::GLES2Canvas::bindFramebuffer):
62479         (WebCore::GLES2Canvas::clearRect):
62480         (WebCore::GLES2Canvas::fillRect):
62481         (WebCore::GLES2Canvas::drawTexturedRect):
62482         (WebCore::GLES2Canvas::drawTexturedRectTile):
62483         (WebCore::GLES2Canvas::drawQuad):
62484         (WebCore::GLES2Canvas::createTexture):
62485         (WebCore::GLES2Canvas::getTexture):
62486         * platform/graphics/chromium/GLES2Canvas.h:
62487         (WebCore::GLES2Canvas::context):
62488         (WebCore::GLES2Canvas::drawingBuffer):
62489         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
62490         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
62491         * platform/graphics/chromium/GraphicsLayerChromium.h:
62492         * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
62493         (WebCore::WebGLLayerChromium::create):
62494         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
62495         (WebCore::WebGLLayerChromium::updateContents):
62496         (WebCore::WebGLLayerChromium::setContext):
62497         * platform/graphics/chromium/WebGLLayerChromium.h: Added.
62498         (WebCore::WebGLLayerChromium::drawsContent):
62499         * platform/graphics/gpu/DrawingBuffer.cpp: Added.
62500         (WebCore::DrawingBuffer::create):
62501         (WebCore::DrawingBuffer::bind):
62502         (WebCore::DrawingBuffer::setWillPublishCallback):
62503         * platform/graphics/gpu/DrawingBuffer.h: Added.
62504         (WebCore::DrawingBuffer::size):
62505         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Added.
62506         (WebCore::SharedGraphicsContext3D::create):
62507         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
62508         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
62509         (WebCore::SharedGraphicsContext3D::makeContextCurrent):
62510         (WebCore::SharedGraphicsContext3D::scissor):
62511         (WebCore::SharedGraphicsContext3D::enable):
62512         (WebCore::SharedGraphicsContext3D::disable):
62513         (WebCore::SharedGraphicsContext3D::clearColor):
62514         (WebCore::SharedGraphicsContext3D::clear):
62515         (WebCore::SharedGraphicsContext3D::drawArrays):
62516         (WebCore::SharedGraphicsContext3D::getError):
62517         (WebCore::SharedGraphicsContext3D::getIntegerv):
62518         (WebCore::SharedGraphicsContext3D::createFramebuffer):
62519         (WebCore::SharedGraphicsContext3D::createTexture):
62520         (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
62521         (WebCore::SharedGraphicsContext3D::deleteTexture):
62522         (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
62523         (WebCore::SharedGraphicsContext3D::texParameteri):
62524         (WebCore::SharedGraphicsContext3D::texImage2D):
62525         (WebCore::SharedGraphicsContext3D::texSubImage2D):
62526         (WebCore::SharedGraphicsContext3D::readPixels):
62527         (WebCore::SharedGraphicsContext3D::supportsBGRA):
62528         (WebCore::SharedGraphicsContext3D::getTexture):
62529         (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
62530         (WebCore::SharedGraphicsContext3D::useQuadVertices):
62531         (WebCore::SharedGraphicsContext3D::setActiveTexture):
62532         (WebCore::SharedGraphicsContext3D::bindTexture):
62533         (WebCore::SharedGraphicsContext3D::useFillSolidProgram):
62534         (WebCore::SharedGraphicsContext3D::useTextureProgram):
62535         (WebCore::SharedGraphicsContext3D::bindFramebuffer):
62536         (WebCore::SharedGraphicsContext3D::setViewport):
62537         (WebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer):
62538         * platform/graphics/gpu/SharedGraphicsContext3D.h: Added.
62539         * platform/graphics/gpu/Texture.cpp:
62540         * platform/graphics/skia/GraphicsContextSkia.cpp:
62541         (WebCore::GraphicsContext::syncSoftwareCanvas):
62542         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
62543         * platform/graphics/skia/ImageSkia.cpp:
62544         * platform/graphics/skia/PlatformContextSkia.cpp:
62545         (WebCore::PlatformContextSkia::~PlatformContextSkia):
62546         (WebCore::WillPublishCallbackImpl::create):
62547         (WebCore::WillPublishCallbackImpl::willPublish):
62548         (WebCore::WillPublishCallbackImpl::WillPublishCallbackImpl):
62549         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
62550         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
62551         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
62552         * platform/graphics/skia/PlatformContextSkia.h:
62553         * rendering/RenderLayerBacking.cpp:
62554         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
62555
62556 2010-09-03  Chris Rogers  <crogers@google.com>
62557
62558         Reviewed by Kenneth Russell.
62559
62560         Add audio distance effect files
62561         https://bugs.webkit.org/show_bug.cgi?id=44705
62562
62563         No new tests since audio API is not yet implemented.
62564
62565         * platform/audio/Distance.cpp: Added.
62566         (WebCore::DistanceEffect::DistanceEffect):
62567         (WebCore::DistanceEffect::gain):
62568         (WebCore::DistanceEffect::linearGain):
62569         (WebCore::DistanceEffect::inverseGain):
62570         (WebCore::DistanceEffect::exponentialGain):
62571         * platform/audio/Distance.h: Added.
62572         (WebCore::DistanceEffect::model):
62573         (WebCore::DistanceEffect::setModel):
62574         (WebCore::DistanceEffect::setRefDistance):
62575         (WebCore::DistanceEffect::setMaxDistance):
62576         (WebCore::DistanceEffect::setRolloffFactor):
62577         (WebCore::DistanceEffect::refDistance):
62578         (WebCore::DistanceEffect::maxDistance):
62579         (WebCore::DistanceEffect::rolloffFactor):
62580
62581 2010-09-03  Johnny Ding  <jnd@chromium.org>
62582
62583         Reviewed by Adam Barth.
62584
62585         Save the gesture state to track the user gesture state across async form submission.
62586         https://bugs.webkit.org/show_bug.cgi?id=44969
62587
62588         fast/events/popup-blocked-to-post-blank.html can cover the test in WebKit.
62589         A UI test will be added in chromium to address chromium's bug.
62590
62591         * loader/RedirectScheduler.cpp:
62592         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
62593         (WebCore::ScheduledFormSubmission::fire):
62594         (WebCore::RedirectScheduler::scheduleFormSubmission):
62595
62596 2010-09-03  Dan Bernstein  <mitz@apple.com>
62597
62598         Reviewed by Anders Carlsson.
62599
62600         <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
62601         https://bugs.webkit.org/show_bug.cgi?id=45182
62602
62603         Test: fast/text/decomposed-after-stacked-diacritics.html
62604
62605         * platform/graphics/Font.cpp:
62606         (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
62607         it may also contain characters that require the complex text code path.
62608
62609 2010-09-03  Mikhail Naganov  <mnaganov@chromium.org>
62610
62611         Reviewed by Yury Semikhatsky.
62612
62613         Web Inspector: Cleanup after r66117 - extract heap snapshot
62614         view styles into a dedicated .css
62615
62616         https://bugs.webkit.org/show_bug.cgi?id=45178
62617
62618         * WebCore.gypi:
62619         * WebCore.vcproj/WebCore.vcproj:
62620         * inspector/front-end/WebKit.qrc:
62621         * inspector/front-end/heapProfiler.css: Added.
62622         (.heap-snapshot-sidebar-tree-item .icon):
62623         (.heap-snapshot-sidebar-tree-item.small .icon):
62624         (.heap-snapshot-view):
62625         (.heap-snapshot-view.visible):
62626         (.heap-snapshot-view .data-grid):
62627         (.heap-snapshot-view .data-grid th.count-column):
62628         (.heap-snapshot-view .data-grid td.count-column):
62629         (.heap-snapshot-view .data-grid th.size-column):
62630         (.heap-snapshot-view .data-grid td.size-column):
62631         (.heap-snapshot-view .data-grid th.countDelta-column):
62632         (.heap-snapshot-view .data-grid td.countDelta-column):
62633         (.heap-snapshot-view .data-grid th.sizeDelta-column):
62634         (.heap-snapshot-view .data-grid td.sizeDelta-column):
62635         (#heap-snapshot-summary-container):
62636         (.heap-snapshot-summary):
62637         (.heap-snapshot-summary canvas.summary-graph):
62638         (.heap-snapshot-summary-label):
62639         * inspector/front-end/inspector.css:
62640         * inspector/front-end/inspector.html:
62641
62642 2010-09-03  Zaheer Ahmad <zaheer.mot@gmail.com>
62643
62644         Reviewed by Darin Adler.
62645
62646         [GTK] compilation issue with JSTimeRanges when video turned off
62647         https://bugs.webkit.org/show_bug.cgi?id=44249
62648
62649         Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am
62650         * WebCore/GNUMakefile.am
62651
62652 2010-09-03  Ilya Tikhonovsky  <loislo@chromium.org>
62653
62654         Reviewed by Yury Semikhatsky.
62655
62656         Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value.
62657
62658         The current implementation of the inspector api has some unnecessary complexity. 
62659         As example WebInspector is requesting child nodes of a node by getChildNodes
62660         but DOM agent is actually pushing the child nodes via setChildNodes event call and
62661         send back an empty response message.
62662
62663         https://bugs.webkit.org/show_bug.cgi?id=45172
62664
62665         * inspector/CodeGeneratorInspector.pm:
62666         * inspector/Inspector.idl:
62667         * inspector/InspectorDOMAgent.cpp:
62668         (WebCore::InspectorDOMAgent::getChildNodesArray):
62669         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
62670         (WebCore::InspectorDOMAgent::getChildNodes):
62671         * inspector/InspectorDOMAgent.h:
62672         * inspector/front-end/DOMAgent.js:
62673         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
62674         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
62675         * inspector/front-end/WorkersSidebarPane.js:
62676         (WebInspector.WorkersSidebarPane.prototype.reset):
62677
62678 2010-09-03  Nikolas Zimmermann  <nzimmermann@rim.com>
62679
62680         Reviewed by Dirk Schulze.
62681
62682         SVG atlas map slider doesn't work properly
62683         https://bugs.webkit.org/show_bug.cgi?id=45107
62684
62685         SVG 1.1 2nd edition relaxes hit testing rules. The outermost <svg> should react
62686         to mouse events, in standalone and compound documents, if the mouse location is
62687         within the intrinsic boundaries of the <svg> element.
62688
62689         Tests: svg/custom/mouse-move-on-svg-container-standalone.svg
62690                svg/custom/mouse-move-on-svg-container.xhtml
62691                svg/custom/mouse-move-on-svg-root-standalone.svg
62692                svg/custom/mouse-move-on-svg-root.xhtml
62693
62694         * rendering/RenderSVGRoot.cpp:
62695         (WebCore::RenderSVGRoot::nodeAtPoint):
62696
62697 2010-09-03  Pavel Podivilov  <podivilov@chromium.org>
62698
62699         Reviewed by Yury Semikhatsky.
62700
62701         Web Inspector: provide more information to front-end when breaking on DOM event
62702         https://bugs.webkit.org/show_bug.cgi?id=44679
62703
62704         * dom/ContainerNode.cpp:
62705         (WebCore::ContainerNode::insertBefore):
62706         (WebCore::ContainerNode::parserInsertBefore):
62707         (WebCore::ContainerNode::replaceChild):
62708         (WebCore::ContainerNode::appendChild):
62709         (WebCore::ContainerNode::parserAddChild):
62710         (WebCore::notifyChildInserted):
62711         (WebCore::dispatchChildRemovalEvents):
62712         * dom/Element.cpp:
62713         (WebCore::Element::setAttribute):
62714         (WebCore::Element::removeAttribute):
62715         * inspector/Inspector.idl:
62716         * inspector/InspectorController.cpp:
62717         (WebCore::InspectorController::willInsertDOMNodeImpl):
62718         (WebCore::InspectorController::didInsertDOMNodeImpl):
62719         (WebCore::InspectorController::willRemoveDOMNodeImpl):
62720         (WebCore::InspectorController::didRemoveDOMNodeImpl):
62721         (WebCore::InspectorController::willModifyDOMAttrImpl):
62722         (WebCore::InspectorController::didModifyDOMAttrImpl):
62723         * inspector/InspectorController.h:
62724         (WebCore::InspectorController::willInsertDOMNode):
62725         (WebCore::InspectorController::didInsertDOMNode):
62726         (WebCore::InspectorController::willRemoveDOMNode):
62727         (WebCore::InspectorController::willModifyDOMAttr):
62728         (WebCore::InspectorController::didModifyDOMAttr):
62729         (WebCore::InspectorController::inspectorControllerForNode):
62730         * inspector/InspectorDOMAgent.cpp:
62731         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
62732         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
62733         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
62734         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
62735         (WebCore::InspectorDOMAgent::didInsertDOMNode):
62736         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
62737         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
62738         (WebCore::InspectorDOMAgent::createBreakpoint):
62739         * inspector/InspectorDOMAgent.h:
62740         * inspector/InspectorDebuggerAgent.cpp:
62741         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
62742         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
62743         (WebCore::InspectorDebuggerAgent::didPause):
62744         (WebCore::InspectorDebuggerAgent::breakProgram):
62745         * inspector/InspectorDebuggerAgent.h:
62746         * inspector/InspectorValues.h:
62747         (WebCore::InspectorValue::isNull):
62748         * inspector/front-end/BreakpointsSidebarPane.js:
62749         (WebInspector.BreakpointItem):
62750         (WebInspector.BreakpointItem.prototype._enableChanged):
62751         * inspector/front-end/Script.js:
62752         (WebInspector.Script.prototype.get linesCount):
62753         * inspector/front-end/inspector.js:
62754         (WebInspector.pausedScript):
62755
62756 2010-08-31  Jeremy Orlow  <jorlow@chromium.org>
62757
62758         Reviewed by Steve Block.
62759
62760         IDBCursor.continue() should reuse the .openCursor's IDBRequest object
62761         https://bugs.webkit.org/show_bug.cgi?id=44953
62762
62763         This is to match the spec. This requires a modification to IDBRequest so
62764         that multiple events can be queued up.
62765
62766         Note that the initial state for IDBRequest was removed from the spec.
62767
62768         Test: modified existing test to verify new behavior.
62769
62770         * storage/IDBAny.cpp:
62771         (WebCore::IDBAny::createInvalid):
62772         (WebCore::IDBAny::createNull):
62773         (WebCore::IDBAny::setNull):
62774         * storage/IDBAny.h:
62775         (WebCore::IDBAny::create):
62776         * storage/IDBCursor.cpp:
62777         (WebCore::IDBCursor::IDBCursor):
62778         (WebCore::IDBCursor::continueFunction):
62779         * storage/IDBCursor.h:
62780         (WebCore::IDBCursor::create):
62781         * storage/IDBCursor.idl:
62782         * storage/IDBRequest.cpp:
62783         (WebCore::IDBRequest::IDBRequest):
62784         (WebCore::IDBRequest::~IDBRequest):
62785         (WebCore::IDBRequest::resetReadyState):
62786         (WebCore::IDBRequest::onError):
62787         (WebCore::IDBRequest::onSuccess):
62788         (WebCore::IDBRequest::abort):
62789         (WebCore::IDBRequest::timerFired):
62790         (WebCore::IDBRequest::scheduleEvent):
62791         * storage/IDBRequest.h:
62792         * storage/IDBRequest.idl:
62793
62794 2010-09-03  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>
62795
62796         Reviewed by Xan Lopez.
62797
62798         Initialize keyboard events before passing plugins.
62799         https://bugs.webkit.org/show_bug.cgi?id=44771
62800
62801         No new tests needed since this is a trivial fix.
62802
62803         * plugins/gtk/PluginViewGtk.cpp:
62804         (WebCore::PluginView::handleKeyboardEvent):
62805
62806 2010-09-03  Yury Semikhatsky  <yurys@chromium.org>
62807
62808         Unreviewed. Fix Qt compilation.
62809
62810         * html/HTMLEmbedElement.cpp:
62811         (WebCore::HTMLEmbedElement::parametersForPlugin):
62812
62813 2010-09-03  Hironori Bono  <hbono@chromium.org>
62814
62815         Reviewed by Kent Tamura.
62816
62817         Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
62818         and implements it for Mac.
62819         https://bugs.webkit.org/show_bug.cgi?id=41832
62820
62821         Tests: editing/spelling/spelling-contenteditable.html
62822                editing/spelling/spelling-textarea.html
62823
62824         * WebCore.exp.in: Exported symbols used by [WebFrame hasSpellingMarker:length:].
62825
62826 2010-09-02  Yury Semikhatsky  <yurys@chromium.org>
62827
62828         Reviewed by Pavel Feldman.
62829
62830         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
62831         https://bugs.webkit.org/show_bug.cgi?id=44230
62832
62833         * inspector/Inspector.idl:
62834         * inspector/InspectorController.cpp:
62835         (WebCore::InspectorController::inspectedPageDestroyed):
62836         (WebCore::InspectorController::close):
62837         * inspector/InspectorFrontendClient.h:
62838         * inspector/InspectorFrontendHost.cpp:
62839         (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
62840         that frontend closes if InspectorController triggered the action.
62841         * inspector/InspectorFrontendHost.h:
62842         * inspector/InspectorFrontendHost.idl:
62843         * inspector/front-end/InspectorFrontendHostStub.js:
62844         (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
62845         * inspector/front-end/inspector.js:
62846         (WebInspector.disconnectFromBackend):
62847
62848 2010-09-03  Girish Ramakrishnan  <girish@forwardbias.in>
62849
62850         Reviewed-by Simon Hausmann.
62851
62852         Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient. 
62853         Instead, pass a X Pixmap that has same depth as the screen depth since graphics 
62854         operations are optimized for this depth.
62855
62856         https://bugs.webkit.org/show_bug.cgi?id=45167
62857
62858         * plugins/PluginPackage.cpp:
62859         (WebCore::PluginPackage::determineQuirks):
62860
62861 2010-09-02  Kwang Yul Seo  <skyul@company100.net>
62862
62863         Reviewed by Kent Tamura.
62864
62865         Add ENABLE(DATABASE) guard to DatabaseAuthorizer.cpp
62866         https://bugs.webkit.org/show_bug.cgi?id=45152
62867
62868         DatabaseAuthorizer is used only with ENABLE(DATABASE).
62869
62870         * storage/DatabaseAuthorizer.cpp:
62871
62872 2010-09-02  Pavel Podivilov  <podivilov@chromium.org>
62873
62874         Reviewed by Yury Semikhatsky.
62875
62876         Web Inspector: persist DOM breakpoints between page reloads
62877         https://bugs.webkit.org/show_bug.cgi?id=44837
62878
62879         * inspector/front-end/BreakpointsSidebarPane.js:
62880         (WebInspector.DOMBreakpointItem):
62881         * inspector/front-end/DOMAgent.js:
62882         (WebInspector.DOMNode.prototype.path):
62883         (WebInspector.DOMNode.prototype.setBreakpoint):
62884         (WebInspector.DOMNode.prototype.hasBreakpoint):
62885         (WebInspector.DOMNode.prototype.removeBreakpoint):
62886         (WebInspector.DOMNode.prototype.removeBreakpoints):
62887         (WebInspector.DOMAgent.prototype._setDocument):
62888         (WebInspector.DOMAgent.prototype._childNodeRemoved):
62889         (WebInspector.DOMAgent.prototype._removeBreakpoints):
62890         (WebInspector.DOMBreakpointManager):
62891         (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
62892         (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
62893         (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
62894         (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints.restoreBreakpointsForNode):
62895         (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints):
62896         (WebInspector.DOMBreakpoint):
62897         (WebInspector.DOMBreakpoint.prototype.get nodeId):
62898         (WebInspector.DOMBreakpoint.prototype.get type):
62899         (WebInspector.DOMBreakpoint.prototype.set enabled):
62900         (WebInspector.DOMBreakpoint.prototype.remove):
62901         * inspector/front-end/ElementsPanel.js:
62902         (WebInspector.ElementsPanel.prototype.reset):
62903         (WebInspector.ElementsPanel.prototype.setDocument):
62904         * inspector/front-end/ElementsTreeOutline.js:
62905         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
62906         * inspector/front-end/SourceFrame.js:
62907         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
62908
62909 2010-09-02  Eric Seidel  <eric@webkit.org>
62910
62911         Reviewed by Dimitri Glazkov.
62912
62913         Move updateWidget into FrameView from RenderEmbeddedObject
62914         https://bugs.webkit.org/show_bug.cgi?id=45065
62915
62916         I also made updateWidget() virtual on HTMLPlugInImageElement.
62917         I'm not yet sure that updateWidget belongs on HTMLElement since
62918         I'm not sure that HTMLMediaElement's use of the updateWidget
62919         infrastructure is correct.
62920
62921         I also got rid of the strange !m_replacementText.isEmpty() checks
62922         by making a pluginCrashedOrWasMissing() call which seems to embody
62923         the idea behind that check and hides the screwy details.
62924
62925         I noticed a couple methods on HTMLPlugInImageElement were public
62926         which did not need to be.  Fixed.
62927
62928         No functional change, thus no tests.
62929
62930         * html/HTMLEmbedElement.h:
62931         * html/HTMLObjectElement.h:
62932         * html/HTMLPlugInImageElement.cpp:
62933         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
62934         * html/HTMLPlugInImageElement.h:
62935         (WebCore::HTMLPlugInImageElement::serviceType):
62936         (WebCore::HTMLPlugInImageElement::url):
62937         * page/FrameView.cpp:
62938         (WebCore::FrameView::updateWidget):
62939         (WebCore::FrameView::updateWidgets):
62940         * page/FrameView.h:
62941         * rendering/RenderEmbeddedObject.cpp:
62942         (WebCore::RenderEmbeddedObject::pluginCrashedOrWasMissing):
62943         (WebCore::RenderEmbeddedObject::paint):
62944         (WebCore::RenderEmbeddedObject::paintReplaced):
62945         * rendering/RenderEmbeddedObject.h:
62946
62947 2010-09-02  Eric Seidel  <eric@webkit.org>
62948
62949         Reviewed by Dimitri Glazkov.
62950
62951         Move updateWidget implementations into the DOM
62952         https://bugs.webkit.org/show_bug.cgi?id=45058
62953
62954         Unfortunately it's not yet possible to share an updateWidget
62955         implementation between <embed> and <object>.  That would amount to
62956         (positive) functional changes for <embed> which I'd will separate
62957         into a later patch.  I will also have to untangle <object>'s <param>
62958         walk from its url/serviceType calculations.
62959
62960         However after this patch it's slap-you-across-the-face obvious that
62961         RenderEmbeddedObject::updateWidget was the wrong place for this code.
62962         RenderEmbeddedObject::updateWidget still exists, but only as a
62963         pseudo-virtual-method dispatcher.  Unless we add updateWidget() to
62964         HTMLElement, we won't be able to use real virtual dispatch.
62965
62966         I may need to consider making "having a widget" a has-a relationship
62967         with some sort of WidgetContainer object which Media and Plugin can
62968         share.  Or its also possible that Media's use of the widget code here
62969         is just wrong.  Certainly now that updateWidget was moved into HTMLMediaElement
62970         it becomes obvious that HTMLMediaElement has duplicate code for updating widgets.
62971
62972         No functional changes, thus no tests.
62973
62974         * html/HTMLEmbedElement.cpp:
62975         (WebCore::HTMLEmbedElement::updateWidget):
62976         * html/HTMLEmbedElement.h:
62977         * html/HTMLMediaElement.cpp:
62978         (WebCore::HTMLMediaElement::updateWidget):
62979         * html/HTMLMediaElement.h:
62980         * html/HTMLObjectElement.cpp:
62981         (WebCore::HTMLObjectElement::updateWidget):
62982         * html/HTMLObjectElement.h:
62983         (WebCore::HTMLObjectElement::useFallbackContent):
62984         * html/HTMLPlugInImageElement.h:
62985         (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
62986         (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
62987         * loader/FrameLoader.cpp:
62988         * rendering/RenderEmbeddedObject.cpp:
62989         (WebCore::RenderEmbeddedObject::updateWidget):
62990
62991 2010-09-02  Eric Seidel  <eric@webkit.org>
62992
62993         Reviewed by Dimitri Glazkov.
62994
62995         Move more code from RenderEmbeddedObject into the DOM
62996         https://bugs.webkit.org/show_bug.cgi?id=45055
62997
62998         No logic changes here, just taking the code which
62999         I ripped out of RenderEmbeddedObject::updateWidget
63000         into static methods before and moving it into
63001         the applicable DOM classes.
63002
63003         HTMLObjectElement::parametersForPlugin does too much
63004         but in order to fix it I may need to add a PluginParameters
63005         class so we can ask things about the parameters. <object>
63006         needs to get multiple bits of information out of its parameters
63007         array.  Right now it does it all in one walk.  In order to share
63008         code with HTMLEmbedElement, we need the "generate the params array"
63009         code to be separate from the "make advanced <object> specific decision
63010         from the params array".  But that will need to be in a later patch.
63011
63012         No functional changes, thus no tests.
63013
63014         * html/HTMLEmbedElement.cpp:
63015         (WebCore::HTMLEmbedElement::parametersForPlugin):
63016         * html/HTMLEmbedElement.h:
63017         * html/HTMLObjectElement.cpp:
63018         (WebCore::createClassIdToTypeMap):
63019         (WebCore::serviceTypeForClassId):
63020         (WebCore::mapDataParamToSrc):
63021         (WebCore::HTMLObjectElement::parametersForPlugin):
63022         (WebCore::HTMLObjectElement::hasFallbackContent):
63023         * html/HTMLObjectElement.h:
63024         * html/HTMLPlugInImageElement.cpp:
63025         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
63026         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
63027         (WebCore::HTMLPlugInImageElement::detach): 
63028         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
63029         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
63030         * html/HTMLPlugInImageElement.h:
63031         * rendering/RenderEmbeddedObject.cpp:
63032         (WebCore::updateWidgetForObjectElement):
63033         (WebCore::updateWidgetForEmbedElement):
63034         (WebCore::RenderEmbeddedObject::updateWidget):
63035
63036 2010-09-02  François Sausset  <sausset@gmail.com>
63037
63038         Reviewed by Darin Adler.
63039
63040         MathML mo element should render "hyphen-minus" as "minus sign" (Unicode glyph names).
63041         https://bugs.webkit.org/show_bug.cgi?id=43629
63042
63043         Test: mathml/presentation/mo.xhtml
63044
63045         * mathml/RenderMathMLOperator.cpp:
63046         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
63047         (WebCore::RenderMathMLOperator::updateFromElement):
63048         * mathml/RenderMathMLOperator.h:
63049         (WebCore::convertHyphenMinusToMinusSign):
63050         * platform/text/CharacterNames.h:
63051
63052 2010-09-02  Kenneth Russell  <kbr@google.com>
63053
63054         Reviewed by Darin Fisher.
63055
63056         Add red-black tree capable of holding plain old data (POD)
63057         https://bugs.webkit.org/show_bug.cgi?id=45059
63058
63059         Adding an augmentable red-black tree capable of holding Plain Old
63060         Data (POD), or classes bottoming out into only POD, and an
63061         associated PODArena. Note that the PODArena will be used by other
63062         classes to allocate temporary structures, which is why it is not
63063         just an implementation detail of the red-black tree.
63064
63065         These classes are being placed under WebCore/platform/graphics/gpu
63066         for the time being. If they are generalized to hold even data
63067         types which internally perform dynamic memory allocation, we may
63068         consider moving them to WTF in the future.
63069
63070         Unit tests for the PODRedBlackTree will be integrated separately
63071         under bug 45060.
63072
63073         * WebCore.gypi:
63074         * platform/graphics/gpu/PODArena.h: Added.
63075         (WebCore::PODArena::Allocator::~Allocator):
63076         (WebCore::PODArena::FastMallocAllocator::create):
63077         (WebCore::PODArena::FastMallocAllocator::allocate):
63078         (WebCore::PODArena::FastMallocAllocator::free):
63079         (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
63080         (WebCore::PODArena::create):
63081         (WebCore::PODArena::allocateObject):
63082         (WebCore::PODArena::~PODArena):
63083         (WebCore::PODArena::PODArena):
63084         (WebCore::PODArena::minAlignment):
63085         (WebCore::PODArena::roundUp):
63086         (WebCore::PODArena::Chunk::Chunk):
63087         (WebCore::PODArena::Chunk::~Chunk):
63088         (WebCore::PODArena::Chunk::allocate):
63089         * platform/graphics/gpu/PODRedBlackTree.h: Added.
63090         (WebCore::PODRedBlackTree::Visitor::~Visitor):
63091         (WebCore::PODRedBlackTree::PODRedBlackTree):
63092         (WebCore::PODRedBlackTree::~PODRedBlackTree):
63093         (WebCore::PODRedBlackTree::add):
63094         (WebCore::PODRedBlackTree::remove):
63095         (WebCore::PODRedBlackTree::contains):
63096         (WebCore::PODRedBlackTree::visitInorder):
63097         (WebCore::PODRedBlackTree::size):
63098         (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
63099         (WebCore::PODRedBlackTree::checkInvariants):
63100         (WebCore::PODRedBlackTree::dump):
63101         (WebCore::PODRedBlackTree::setVerboseDebugging):
63102         (WebCore::PODRedBlackTree::Node::Node):
63103         (WebCore::PODRedBlackTree::Node::~Node):
63104         (WebCore::PODRedBlackTree::Node::color):
63105         (WebCore::PODRedBlackTree::Node::setColor):
63106         (WebCore::PODRedBlackTree::Node::data):
63107         (WebCore::PODRedBlackTree::Node::copyFrom):
63108         (WebCore::PODRedBlackTree::Node::left):
63109         (WebCore::PODRedBlackTree::Node::setLeft):
63110         (WebCore::PODRedBlackTree::Node::right):
63111         (WebCore::PODRedBlackTree::Node::setRight):
63112         (WebCore::PODRedBlackTree::Node::parent):
63113         (WebCore::PODRedBlackTree::Node::setParent):
63114         (WebCore::PODRedBlackTree::root):
63115         (WebCore::PODRedBlackTree::updateNode):
63116         (WebCore::PODRedBlackTree::treeSearch):
63117         (WebCore::PODRedBlackTree::treeSearchNormal):
63118         (WebCore::PODRedBlackTree::treeSearchFullComparisons):
63119         (WebCore::PODRedBlackTree::treeInsert):
63120         (WebCore::PODRedBlackTree::treeSuccessor):
63121         (WebCore::PODRedBlackTree::treeMinimum):
63122         (WebCore::PODRedBlackTree::propagateUpdates):
63123         (WebCore::PODRedBlackTree::leftRotate):
63124         (WebCore::PODRedBlackTree::rightRotate):
63125         (WebCore::PODRedBlackTree::insertNode):
63126         (WebCore::PODRedBlackTree::deleteFixup):
63127         (WebCore::PODRedBlackTree::deleteNode):
63128         (WebCore::PODRedBlackTree::visitInorderImpl):
63129         (WebCore::PODRedBlackTree::Counter::Counter):
63130         (WebCore::PODRedBlackTree::Counter::visit):
63131         (WebCore::PODRedBlackTree::Counter::count):
63132         (WebCore::PODRedBlackTree::checkInvariantsFromNode):
63133         (WebCore::PODRedBlackTree::logIfVerbose):
63134         (WebCore::PODRedBlackTree::dumpFromNode):
63135
63136 2010-09-02  Rafael Antognolli  <antognolli@profusion.mobi>
63137
63138         Reviewed by Martin Robinson.
63139
63140         [Cairo] Remove glib dependency (caused by use of GOwnPtr)
63141         https://bugs.webkit.org/show_bug.cgi?id=45053
63142
63143         Use OwnPtr instead of GOwnPtr to keep track of Fc* references
63144         in FontCacheCairo.cpp.
63145
63146         No features added, so no new tests.
63147
63148         * CMakeListsEfl.txt: Updating build system to look for GOwnPtrCairo.*
63149         * GNUmakefile.am: Ditto.
63150         * platform/graphics/cairo/FontCacheCairo.cpp: Using OwnPtr instead of GOwnPtr.
63151         (WebCore::FontCache::createFontPlatformData):
63152         * platform/graphics/cairo/GOwnPtrCairo.cpp: Removed.
63153         * platform/graphics/cairo/GOwnPtrCairo.h: Removed.
63154         * platform/graphics/cairo/OwnPtrCairo.cpp: Added.
63155         (WTF::FcPattern):
63156         (WTF::FcObjectSet):
63157         (WTF::FcFontSet):
63158         * platform/graphics/cairo/OwnPtrCairo.h: Added.
63159
63160 2010-09-02  Kinuko Yasuda  <kinuko@chromium.org>
63161
63162         Unreviewed, updating binding-tests expectations (for changeset 66521).
63163
63164         * bindings/scripts/test/V8/V8TestObj.cpp:
63165         (WebCore::TestObjInternal::stringAttrAttrSetter):
63166         (WebCore::TestObjInternal::reflectedStringAttrAttrSetter):
63167         (WebCore::TestObjInternal::reflectedURLAttrAttrSetter):
63168         (WebCore::TestObjInternal::reflectedNonEmptyURLAttrAttrSetter):
63169         (WebCore::TestObjInternal::reflectedCustomURLAttrAttrSetter):
63170         (WebCore::TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter):
63171         (WebCore::TestObjInternal::stringAttrWithGetterExceptionAttrSetter):
63172         (WebCore::TestObjInternal::stringAttrWithSetterExceptionAttrSetter):
63173
63174 2010-09-02  Adam Langley  <agl@chromium.org>
63175
63176         Reviewed by Adam Barth.
63177
63178         [chromium] fix memory corruption in Khmer rendering.
63179
63180         https://bugs.webkit.org/show_bug.cgi?id=44960
63181
63182         Test: fast/text/khmer-crash.html
63183
63184         * platform/graphics/chromium/FontLinux.cpp:
63185         (WebCore::TextRunWalker::shapeGlyphs):
63186           The Khmer shaper has a bug where it would request larger output
63187           buffers, but request a zero increase in size. Because of this we add
63188           one to the requested size.
63189         (WebCore::TextRunWalker::setGlyphXPositions):
63190           The Khmer shaper is outputing cluster logs which suggest that some
63191           output glyphs appear from nowhere (i.e. have no input codepoints). I
63192           don't know Khmer, so maybe that's correct, but it broke the
63193           assumptions of this code, causing a read out-of-bounds.
63194         * platform/graphics/chromium/HarfbuzzSkia.cpp:
63195         (WebCore::stringToGlyphs):
63196           The Harfbuzz interfaces aren't documented, but it appears that the
63197           output array to stringToGlyphs isn't sized and that Harfbuzz expects
63198           us to detect when the input is too long.
63199
63200 2010-09-02  Adam Roben  <aroben@apple.com>
63201
63202         Fill the scroll corner with white when shouldPaintCustomScrollbars is
63203         false
63204
63205         Previously we were only filling with white when
63206         shouldPaintCustomScrollbars was true but the ChromeClient didn't paint
63207         any custom scrollbars.
63208
63209         Reviewed by Sam Weinig.
63210
63211         * platform/ScrollbarThemeComposite.cpp:
63212         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
63213
63214 2010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
63215
63216         Unreviewed, rolling out r66671.
63217         http://trac.webkit.org/changeset/66671
63218         https://bugs.webkit.org/show_bug.cgi?id=45115
63219
63220         http/tests/misc/redirect-to-about-blank.html is failing on
63221         several platforms (Requested by japhet on #webkit).
63222
63223         * WebCore.exp.in:
63224         * dom/Document.cpp:
63225         (WebCore::Document::Document):
63226         (WebCore::Document::updateURLForPushOrReplaceState):
63227         * loader/DocumentWriter.cpp:
63228         (WebCore::DocumentWriter::begin):
63229         * loader/FrameLoader.cpp:
63230         (WebCore::FrameLoader::iconURL):
63231         (WebCore::FrameLoader::didOpenURL):
63232         (WebCore::FrameLoader::didExplicitOpen):
63233         (WebCore::FrameLoader::receivedFirstData):
63234         (WebCore::FrameLoader::setURL):
63235         (WebCore::FrameLoader::startIconLoader):
63236         (WebCore::FrameLoader::commitIconURLToIconDatabase):
63237         (WebCore::FrameLoader::finishedParsing):
63238         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
63239         (WebCore::FrameLoader::checkIfRunInsecureContent):
63240         (WebCore::FrameLoader::updateFirstPartyForCookies):
63241         (WebCore::FrameLoader::loadInSameDocument):
63242         (WebCore::FrameLoader::commitProvisionalLoad):
63243         (WebCore::FrameLoader::open):
63244         (WebCore::FrameLoader::shouldScrollToAnchor):
63245         * loader/FrameLoader.h:
63246         (WebCore::FrameLoader::url):
63247
63248 2010-09-01  Zhenyao Mo  <zmo@google.com>
63249
63250         Reviewed by Kenneth Russell.
63251
63252         Roll ANGLE under webkit to r402
63253         https://bugs.webkit.org/show_bug.cgi?id=45004
63254
63255         * platform/graphics/mac/GraphicsContext3DMac.mm: Update the code to use newer ANGLE interface.
63256         (WebCore::GraphicsContext3D::GraphicsContext3D):
63257
63258 2010-09-02  Ilya Tikhonovsky  <loislo@chromium.org>
63259
63260         Reviewed by Yury Semikhatsky.
63261
63262         WebInspector: Timeline instrumentation code can crash browser.
63263
63264         Steps:
63265         1) load the site
63266         2) open inspector
63267         3) start timeline recording
63268         4) reload inspected page
63269         got NPE
63270
63271         https://bugs.webkit.org/show_bug.cgi?id=45098
63272
63273         * loader/ResourceLoader.cpp:
63274         (WebCore::ResourceLoader::didReceiveResponse):
63275         (WebCore::ResourceLoader::didReceiveData):
63276
63277 2010-09-02  Nate Chapin  <japhet@chromium.org>
63278
63279         Reviewed by Adam Barth.
63280
63281         Remove m_URL from FrameLoader and instead depend on Document's url.
63282         FrameLoader::url() will be removed in a later patch.
63283
63284         http://bugs.webkit.org/show_bug.cgi?id=41165
63285
63286         No new tests, since this predominantly a refactor. Updating
63287         fast/dom/early-frame-url.html.
63288
63289         * WebCore.exp.in:
63290         * dom/Document.cpp:
63291         (WebCore::Document::Document):
63292         (WebCore::Document::updateURLForPushOrReplaceState):
63293         * loader/DocumentWriter.cpp:
63294         (WebCore::DocumentWriter::begin):
63295         * loader/FrameLoader.cpp:
63296         (WebCore::FrameLoader::iconURL):
63297         (WebCore::FrameLoader::didOpenURL):
63298         (WebCore::FrameLoader::didExplicitOpen):
63299         (WebCore::FrameLoader::receivedFirstData):
63300         (WebCore::FrameLoader::url):
63301         (WebCore::FrameLoader::setOutgoingReferrer):
63302         (WebCore::FrameLoader::startIconLoader):
63303         (WebCore::FrameLoader::commitIconURLToIconDatabase):
63304         (WebCore::FrameLoader::finishedParsing):
63305         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
63306         (WebCore::FrameLoader::checkIfRunInsecureContent):
63307         (WebCore::FrameLoader::updateFirstPartyForCookies):
63308         (WebCore::FrameLoader::loadInSameDocument):
63309         (WebCore::FrameLoader::commitProvisionalLoad):
63310         (WebCore::FrameLoader::open):
63311         (WebCore::FrameLoader::shouldScrollToAnchor):
63312         * loader/FrameLoader.h:
63313
63314 2010-09-01  Tony Gentilcore  <tonyg@chromium.org>
63315
63316         Reviewed by Adam Barth.
63317
63318         Support <script defer> as specified by HTML5
63319         https://bugs.webkit.org/show_bug.cgi?id=40934
63320
63321         Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
63322                fast/dom/HTMLScriptElement/defer-double-write.html
63323                fast/dom/HTMLScriptElement/defer-inline-script.html
63324                fast/dom/HTMLScriptElement/defer-onbeforeload.html
63325                fast/dom/HTMLScriptElement/defer-script-invalid-url.html
63326                fast/dom/HTMLScriptElement/defer-write.html
63327                fast/dom/HTMLScriptElement/two-defer-writes.html
63328                http/tests/misc/script-defer-after-slow-stylesheet.html
63329                http/tests/misc/script-defer.html
63330
63331         * dom/Document.cpp:
63332         (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
63333         * dom/DocumentParser.cpp:
63334         (WebCore::DocumentParser::DocumentParser):
63335         (WebCore::DocumentParser::startParsing):
63336         (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
63337         (WebCore::DocumentParser::stopParsing):
63338         (WebCore::DocumentParser::detach):
63339         * dom/DocumentParser.h:
63340         (WebCore::DocumentParser::isParsing):
63341         (WebCore::DocumentParser::isActive):
63342         (WebCore::DocumentParser::isStopping):
63343         (WebCore::DocumentParser::isDetached):
63344         * dom/RawDataDocumentParser.h:
63345         (WebCore::RawDataDocumentParser::finish):
63346         * dom/XMLDocumentParser.cpp:
63347         (WebCore::XMLDocumentParser::append):
63348         (WebCore::XMLDocumentParser::exitText):
63349         * dom/XMLDocumentParserLibxml2.cpp:
63350         (WebCore::XMLDocumentParser::doWrite):
63351         (WebCore::XMLDocumentParser::startElementNs):
63352         (WebCore::XMLDocumentParser::endElementNs):
63353         (WebCore::XMLDocumentParser::characters):
63354         (WebCore::XMLDocumentParser::error):
63355         (WebCore::XMLDocumentParser::processingInstruction):
63356         (WebCore::XMLDocumentParser::cdataBlock):
63357         (WebCore::XMLDocumentParser::comment):
63358         (WebCore::XMLDocumentParser::internalSubset):
63359         (WebCore::XMLDocumentParser::initializeParserContext):
63360         (WebCore::XMLDocumentParser::doEnd):
63361         * html/parser/HTMLDocumentParser.cpp:
63362         (WebCore::HTMLDocumentParser::prepareToStopParsing):
63363         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
63364         (WebCore::HTMLDocumentParser::pumpTokenizer):
63365         (WebCore::HTMLDocumentParser::insert):
63366         (WebCore::HTMLDocumentParser::append):
63367         (WebCore::HTMLDocumentParser::end):
63368         (WebCore::HTMLDocumentParser::attemptToEnd):
63369         (WebCore::HTMLDocumentParser::endIfDelayed):
63370         (WebCore::HTMLDocumentParser::notifyFinished):
63371         * html/parser/HTMLDocumentParser.h:
63372         * html/parser/HTMLScriptRunner.cpp:
63373         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
63374         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
63375         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
63376         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
63377         (WebCore::HTMLScriptRunner::requestDeferredScript):
63378         (WebCore::HTMLScriptRunner::runScript):
63379         * html/parser/HTMLScriptRunner.h:
63380         * loader/ImageDocument.cpp:
63381         (WebCore::ImageDocumentParser::finish):
63382
63383 2010-09-02  Andrey Kosyakov  <caseq@chromium.org>
63384
63385         Reviewed by Yury Semikhatsky.
63386
63387         Web Inspector: HAR converter fails on POST requests with non-form content type
63388         https://bugs.webkit.org/show_bug.cgi?id=45109
63389
63390         * inspector/front-end/HAREntry.js:
63391         (WebInspector.HAREntry.prototype._buildPostData):
63392
63393 2010-09-02  Andreas Kling  <andreas.kling@nokia.com>
63394
63395         Rubber-stamped by Simon Hausmann.
63396
63397         [Qt] REGRESSION(r62898): tst_QWebFrame crashing
63398         https://bugs.webkit.org/show_bug.cgi?id=43039
63399
63400         Rolling out the offending change <http://trac.webkit.org/changeset/62898>
63401
63402         * bridge/qt/qt_instance.cpp:
63403         (JSC::Bindings::QtInstance::markAggregate):
63404
63405 2010-09-02  Anton Muhin  <antonm@chromium.org>
63406
63407         Reviewed by Tony Chang.
63408
63409         Fix indentation.
63410         https://bugs.webkit.org/show_bug.cgi?id=44678
63411
63412         * bindings/scripts/CodeGeneratorV8.pm:
63413
63414 2010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
63415
63416         Unreviewed, rolling out r66655.
63417         http://trac.webkit.org/changeset/66655
63418         https://bugs.webkit.org/show_bug.cgi?id=45104
63419
63420         broke some editing tests (Requested by kling on #webkit).
63421
63422         * page/DOMSelection.cpp:
63423         (WebCore::DOMSelection::collapse):
63424         (WebCore::DOMSelection::selectAllChildren):
63425
63426 2010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
63427
63428         Unreviewed, rolling out r66649.
63429         http://trac.webkit.org/changeset/66649
63430         https://bugs.webkit.org/show_bug.cgi?id=45103
63431
63432         It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
63433
63434         * dom/Document.cpp:
63435         (WebCore::Document::open):
63436         * dom/DocumentParser.cpp:
63437         (WebCore::DocumentParser::DocumentParser):
63438         (WebCore::DocumentParser::detach):
63439         * dom/DocumentParser.h:
63440         (WebCore::DocumentParser::isDetached):
63441         (WebCore::DocumentParser::stopParsing):
63442         * dom/RawDataDocumentParser.h:
63443         (WebCore::RawDataDocumentParser::finish):
63444         * dom/XMLDocumentParser.cpp:
63445         (WebCore::XMLDocumentParser::append):
63446         (WebCore::XMLDocumentParser::exitText):
63447         * dom/XMLDocumentParserLibxml2.cpp:
63448         (WebCore::XMLDocumentParser::doWrite):
63449         (WebCore::XMLDocumentParser::startElementNs):
63450         (WebCore::XMLDocumentParser::endElementNs):
63451         (WebCore::XMLDocumentParser::characters):
63452         (WebCore::XMLDocumentParser::error):
63453         (WebCore::XMLDocumentParser::processingInstruction):
63454         (WebCore::XMLDocumentParser::cdataBlock):
63455         (WebCore::XMLDocumentParser::comment):
63456         (WebCore::XMLDocumentParser::internalSubset):
63457         (WebCore::XMLDocumentParser::initializeParserContext):
63458         (WebCore::XMLDocumentParser::doEnd):
63459         * dom/XMLDocumentParserQt.cpp:
63460         (WebCore::XMLDocumentParser::initializeParserContext):
63461         (WebCore::XMLDocumentParser::doEnd):
63462         (WebCore::XMLDocumentParser::parse):
63463         * html/parser/HTMLDocumentParser.cpp:
63464         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
63465         (WebCore::HTMLDocumentParser::pumpTokenizer):
63466         (WebCore::HTMLDocumentParser::insert):
63467         (WebCore::HTMLDocumentParser::append):
63468         (WebCore::HTMLDocumentParser::end):
63469         (WebCore::HTMLDocumentParser::attemptToEnd):
63470         (WebCore::HTMLDocumentParser::endIfDelayed):
63471         (WebCore::HTMLDocumentParser::notifyFinished):
63472         * html/parser/HTMLDocumentParser.h:
63473         * html/parser/HTMLScriptRunner.cpp:
63474         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
63475         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
63476         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
63477         (WebCore::HTMLScriptRunner::runScript):
63478         * html/parser/HTMLScriptRunner.h:
63479         * loader/ImageDocument.cpp:
63480         (WebCore::ImageDocumentParser::finish):
63481
63482 2010-09-02  Eric Seidel  <eric@webkit.org>
63483
63484         Reviewed by Dimitri Glazkov.
63485
63486         Share more code between HTMLObjectElement and HTMLEmbedElement
63487         https://bugs.webkit.org/show_bug.cgi?id=45054
63488
63489         This pushes more of HTMLObjectElement code down into
63490         HTMLPlugInImageElement so that it can be shared with
63491         HTMLEmbedElement.
63492
63493         The most notable changes are:
63494         - HTMLEmbedElement now "delays" updating the widget until
63495           all of its children are parsed (this matches HTMLObjectElement).
63496           However, since HTMLEmbedElement can't have children, this is actually
63497           no delay.
63498         - useFallbackContent is now virtual, allowing HTMLEmbedElement and
63499           HTMLObjectElement to share the same code paths, and the <embed>
63500           case to just always return false for useFallbackContent().
63501
63502         This is the final (fourth) part of this change.
63503
63504         No functional change, thus no tests.
63505
63506         * html/HTMLEmbedElement.cpp:
63507         * html/HTMLEmbedElement.h:
63508         * html/HTMLObjectElement.cpp:
63509         (WebCore::HTMLObjectElement::rendererIsNeeded):
63510         * html/HTMLObjectElement.h:
63511         * html/HTMLPlugInImageElement.cpp:
63512         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
63513         (WebCore::HTMLPlugInImageElement::recalcStyle):
63514         (WebCore::HTMLPlugInImageElement::attach):
63515         (WebCore::HTMLPlugInImageElement::detach):
63516         (WebCore::HTMLPlugInImageElement::finishParsingChildren):
63517         * html/HTMLPlugInImageElement.h:
63518
63519 2010-09-02  Adam Barth  <abarth@webkit.org>
63520
63521         Reviewed by Eric Seidel.
63522
63523         Move takeAllChildrenFrom to ContainerNode
63524         https://bugs.webkit.org/show_bug.cgi?id=45066
63525
63526         We're going to reuse this method for XMLDocumentLoader, so it's better
63527         to put it in a more general location.
63528
63529         * dom/ContainerNode.cpp:
63530         (WebCore::ContainerNode::takeAllChildrenFrom):
63531         * dom/ContainerNode.h:
63532         * html/parser/HTMLTreeBuilder.cpp:
63533         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
63534
63535 2010-09-01  Andreas Kling  <andreas.kling@nokia.com>
63536
63537         Reviewed by Darin Adler.
63538
63539         DOM Selection: collapse() and selectAllChildren() should throw WRONG_DOCUMENT_ERR if node belongs to other document
63540         https://bugs.webkit.org/show_bug.cgi?id=44595
63541
63542         Spec links:
63543         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapse
63544         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-selectallchildren
63545
63546         Test: fast/dom/Selection/wrong-document-err.html
63547
63548         * page/DOMSelection.cpp:
63549         (WebCore::DOMSelection::collapse):
63550         (WebCore::DOMSelection::selectAllChildren):
63551
63552 2010-09-02  Eric Seidel  <eric@webkit.org>
63553
63554         Reviewed by Dimitri Glazkov.
63555
63556         Share more code between HTMLObjectElement and HTMLEmbedElement
63557         https://bugs.webkit.org/show_bug.cgi?id=45054
63558
63559         This pushes more of HTMLObjectElement code down into
63560         HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
63561
63562         This patch was originally written in one piece and reviewed by Dimitri.
63563         I'm landing it as four separate changes for easier readability and less
63564         chance of regression.
63565
63566         No functional change, thus no tests.
63567
63568         * html/HTMLEmbedElement.cpp:
63569         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
63570         (WebCore::HTMLEmbedElement::create):
63571         * html/HTMLEmbedElement.h:
63572         * html/HTMLObjectElement.cpp:
63573         (WebCore::HTMLObjectElement::HTMLObjectElement):
63574         * html/HTMLObjectElement.h:
63575         * html/HTMLPlugInImageElement.cpp:
63576         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
63577         (WebCore::HTMLPlugInImageElement::detach):
63578         (WebCore::HTMLPlugInImageElement::finishParsingChildren):
63579         * html/HTMLPlugInImageElement.h:
63580         * html/HTMLTagNames.in:
63581
63582 2010-09-02  Eric Seidel  <eric@webkit.org>
63583
63584         Reviewed by Dimitri Glazkov.
63585
63586         Share more code between HTMLObjectElement and HTMLEmbedElement
63587         https://bugs.webkit.org/show_bug.cgi?id=45054
63588
63589         This pushes more of HTMLObjectElement code down into
63590         HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
63591
63592         I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
63593         since HTMLAppletElement does not need to share this same widget update logic.
63594         This is a small correction from the previous change.
63595
63596         This patch was originally written in one piece and reviewed by Dimitri.
63597         I'm landing it as three separate changes for easier readability and less
63598         chance of regression.
63599
63600         No functional change, thus no tests.
63601
63602         * html/HTMLEmbedElement.cpp:
63603         * html/HTMLEmbedElement.h:
63604         * html/HTMLObjectElement.cpp:
63605         (WebCore::HTMLObjectElement::attach):
63606         (WebCore::HTMLObjectElement::finishParsingChildren):
63607         (WebCore::HTMLObjectElement::detach):
63608         (WebCore::HTMLObjectElement::recalcStyle):
63609         (WebCore::HTMLObjectElement::childrenChanged):
63610         (WebCore::HTMLObjectElement::renderFallbackContent):
63611         * html/HTMLObjectElement.h:
63612         (WebCore::HTMLObjectElement::useFallbackContent):
63613         * html/HTMLPlugInElement.cpp:
63614         * html/HTMLPlugInElement.h:
63615         * html/HTMLPlugInImageElement.cpp:
63616         (WebCore::HTMLPlugInImageElement::createRenderer):
63617         (WebCore::HTMLPlugInImageElement::updateWidget):
63618         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
63619         * html/HTMLPlugInImageElement.h:
63620         (WebCore::HTMLPlugInImageElement::canLazyAttach):
63621         (WebCore::HTMLPlugInImageElement::useFallbackContent):
63622
63623 2010-09-02  Jer Noble  <jer.noble@apple.com>
63624
63625         Reviewed by Darin Adler.
63626
63627         WebKit should not accept PDFs as video.
63628         https://bugs.webkit.org/show_bug.cgi?id=45013
63629
63630         The code in MediaPlayerPrivate::createQTMovie has been re-arranged.
63631         First, the component disabling is done only once. In 64-bit QTKit will
63632         store the list of disabled components and disable them once QTKitServer
63633         starts, so there is no need to disable them repeatedly.  However,
63634         because of a bug in 64-bit QTKit, additional requests of the exact same
63635         component description will be ignored if QTKitServer is not yet running.
63636         To work around this, we must provide the exact component flags for each
63637         eat/PDF and grip/PDF component we wish to disable.
63638
63639         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
63640         (WebCore::disableComponentsOnce): Added.
63641         (WebCore::MediaPlayerPrivate::createQTMovie): Moved the component
63642             disabling code into disableComponentsOnce.
63643
63644 2010-09-02  Philippe Normand  <pnormand@igalia.com>
63645
63646         Unreviewed, GTK build fix.
63647
63648         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
63649         (WebCore::GStreamerGWorld::enterFullscreen):
63650
63651 2010-09-02  Eric Seidel  <eric@webkit.org>
63652
63653         Reviewed by Dimitri Glazkov.
63654
63655         Share more code between HTMLObjectElement and HTMLEmbedElement
63656         https://bugs.webkit.org/show_bug.cgi?id=45054
63657
63658         This pushes more of HTMLObjectElement code down into
63659         HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
63660
63661         I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
63662         since HTMLAppletElement does not need to share this same widget update logic.
63663         This is a small correction from the previous change.
63664
63665         This patch was originally written in one piece and reviewed by Dimitri.
63666         I'm landing it as two separate changes for easier readability and less
63667         chance of regression.
63668
63669         No functional change, thus no tests.
63670
63671         * html/HTMLEmbedElement.cpp:
63672         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
63673         (WebCore::HTMLEmbedElement::mapToEntry):
63674         (WebCore::HTMLEmbedElement::parseMappedAttribute):
63675         (WebCore::HTMLEmbedElement::rendererIsNeeded):
63676         (WebCore::HTMLEmbedElement::attach):
63677         (WebCore::HTMLEmbedElement::updateWidget):
63678         (WebCore::HTMLEmbedElement::insertedIntoDocument):
63679         (WebCore::HTMLEmbedElement::removedFromDocument):
63680         (WebCore::HTMLEmbedElement::attributeChanged):
63681         * html/HTMLEmbedElement.h:
63682         * html/HTMLObjectElement.cpp:
63683         (WebCore::HTMLObjectElement::HTMLObjectElement):
63684         (WebCore::HTMLObjectElement::parseMappedAttribute):
63685         (WebCore::HTMLObjectElement::rendererIsNeeded):
63686         (WebCore::HTMLObjectElement::attach):
63687         (WebCore::HTMLObjectElement::updateWidget):
63688         (WebCore::HTMLObjectElement::finishParsingChildren):
63689         (WebCore::HTMLObjectElement::detach):
63690         (WebCore::HTMLObjectElement::insertedIntoDocument):
63691         (WebCore::HTMLObjectElement::removedFromDocument):
63692         (WebCore::HTMLObjectElement::recalcStyle):
63693         (WebCore::HTMLObjectElement::childrenChanged):
63694         (WebCore::HTMLObjectElement::renderFallbackContent):
63695         * html/HTMLObjectElement.h:
63696         * html/HTMLPlugInElement.cpp:
63697         * html/HTMLPlugInElement.h:
63698         * html/HTMLPlugInImageElement.cpp:
63699         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
63700         (WebCore::HTMLPlugInImageElement::renderEmbeddedObject):
63701         * html/HTMLPlugInImageElement.h:
63702         (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
63703         (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
63704         * loader/SubframeLoader.cpp:
63705         (WebCore::SubframeLoader::requestObject):
63706         (WebCore::SubframeLoader::loadPlugin):
63707         * loader/SubframeLoader.h:
63708         * rendering/RenderEmbeddedObject.cpp:
63709         (WebCore::updateWidgetForObjectElement):
63710         (WebCore::updateWidgetForEmbedElement):
63711
63712 2010-09-02  Tony Gentilcore  <tonyg@chromium.org>
63713
63714         Reviewed by Adam Barth.
63715
63716         Support <script defer> as specified by HTML5
63717         https://bugs.webkit.org/show_bug.cgi?id=40934
63718
63719         Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
63720                fast/dom/HTMLScriptElement/defer-double-write.html
63721                fast/dom/HTMLScriptElement/defer-inline-script.html
63722                fast/dom/HTMLScriptElement/defer-onbeforeload.html
63723                fast/dom/HTMLScriptElement/defer-script-invalid-url.html
63724                fast/dom/HTMLScriptElement/defer-write.html
63725                fast/dom/HTMLScriptElement/two-defer-writes.html
63726                http/tests/misc/script-defer-after-slow-stylesheet.html
63727                http/tests/misc/script-defer.html
63728
63729         * dom/Document.cpp:
63730         (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
63731         * dom/DocumentParser.cpp:
63732         (WebCore::DocumentParser::DocumentParser):
63733         (WebCore::DocumentParser::startParsing):
63734         (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
63735         (WebCore::DocumentParser::stopParsing):
63736         (WebCore::DocumentParser::detach):
63737         * dom/DocumentParser.h:
63738         (WebCore::DocumentParser::isParsing):
63739         (WebCore::DocumentParser::isActive):
63740         (WebCore::DocumentParser::isStopping):
63741         (WebCore::DocumentParser::isDetached):
63742         * dom/RawDataDocumentParser.h:
63743         (WebCore::RawDataDocumentParser::finish):
63744         * dom/XMLDocumentParser.cpp:
63745         (WebCore::XMLDocumentParser::append):
63746         (WebCore::XMLDocumentParser::exitText):
63747         * dom/XMLDocumentParserLibxml2.cpp:
63748         (WebCore::XMLDocumentParser::doWrite):
63749         (WebCore::XMLDocumentParser::startElementNs):
63750         (WebCore::XMLDocumentParser::endElementNs):
63751         (WebCore::XMLDocumentParser::characters):
63752         (WebCore::XMLDocumentParser::error):
63753         (WebCore::XMLDocumentParser::processingInstruction):
63754         (WebCore::XMLDocumentParser::cdataBlock):
63755         (WebCore::XMLDocumentParser::comment):
63756         (WebCore::XMLDocumentParser::internalSubset):
63757         (WebCore::XMLDocumentParser::initializeParserContext):
63758         (WebCore::XMLDocumentParser::doEnd):
63759         * html/parser/HTMLDocumentParser.cpp:
63760         (WebCore::HTMLDocumentParser::prepareToStopParsing):
63761         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
63762         (WebCore::HTMLDocumentParser::pumpTokenizer):
63763         (WebCore::HTMLDocumentParser::insert):
63764         (WebCore::HTMLDocumentParser::append):
63765         (WebCore::HTMLDocumentParser::end):
63766         (WebCore::HTMLDocumentParser::attemptToEnd):
63767         (WebCore::HTMLDocumentParser::endIfDelayed):
63768         (WebCore::HTMLDocumentParser::notifyFinished):
63769         * html/parser/HTMLDocumentParser.h:
63770         * html/parser/HTMLScriptRunner.cpp:
63771         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
63772         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
63773         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
63774         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
63775         (WebCore::HTMLScriptRunner::requestDeferredScript):
63776         (WebCore::HTMLScriptRunner::runScript):
63777         * html/parser/HTMLScriptRunner.h:
63778         * loader/ImageDocument.cpp:
63779         (WebCore::ImageDocumentParser::finish):
63780
63781 2010-09-02  Ilya Sherman  <isherman@google.com>
63782
63783         Reviewed by Eric Seidel.
63784
63785         Decompose computing an element's inherited language, expose this
63786         capability to clients (in particular, for Chromium).
63787         https://bugs.webkit.org/show_bug.cgi?id=44803
63788
63789         No new tests -- just refactoring + exposing code.
63790
63791         * css/CSSStyleSelector.cpp:
63792         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
63793         * dom/Element.cpp:
63794         (WebCore::Element::computeInheritedLang):
63795         * dom/Element.h:
63796
63797 2010-08-31  Philippe Normand  <pnormand@igalia.com>
63798
63799         Reviewed by Eric Carlson.
63800
63801         [GStreamer] can't play m4v videos
63802         https://bugs.webkit.org/show_bug.cgi?id=44951
63803
63804         Fixed registration of the m4v media type in the hashtable used by
63805         the player to report if it supports a given media type.
63806
63807         Test: media/media-can-play-mpeg4-video.html
63808
63809         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
63810         (WebCore::mimeTypeCache):
63811
63812 2010-09-01  Philippe Normand  <pnormand@igalia.com>
63813
63814         Reviewed by Martin Robinson.
63815
63816         [GTK] warning: unused variable "queryResult"
63817         https://bugs.webkit.org/show_bug.cgi?id=44998
63818
63819         Fix the misbehavior introduced in r66573. The gst_element_query()
63820         call needs to be done whatever the GStreamer version used.
63821
63822         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
63823         (WebCore::GStreamerGWorld::enterFullscreen):
63824
63825 2010-09-01  Jia Pu  <jpu@apple.com>
63826
63827         Reviewed by Dan Bernstein.
63828
63829         Add support for autocorrection UI on Mac OS X.
63830         https://bugs.webkit.org/show_bug.cgi?id=44958
63831         <rdar://problem/7326847>
63832
63833         Several new member methods are added to EditorClient for communication
63834         between WebCore and WebKit. A new handler, executeCancelOperation(), is
63835         added to EditorCommand.cpp so that WebCore can intercept the ESC key event
63836         to dismiss autocorrection UI. A new DocumentMarker value, RejectedCorrection,
63837         is added to keep track of the corrections that user has rejected, so that it
63838         will not be suggested again later. The autocorrection is driven by a timer.
63839         Every time the editor inserts a new letter, the timer is reset. If the timer
63840         fires, it means neither has user entered any new letter for current word, nor
63841         has he entered whitespace or punctuation to complete the word. In this case,
63842         we query for autocorrection.
63843
63844         * WebCore.exp.in: Updated
63845
63846         * dom/DocumentMarker.h: Added RejectedCorrection to indicate word on which user
63847           has rejected autocorrection.
63848
63849         * editing/Editor.cpp:
63850         (WebCore::Editor::Editor): Initialize autocorrection timer.
63851         (WebCore::Editor::~Editor): Make sure autocorrection UI is dismissed before
63852           destroying Editor object.
63853         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new signature
63854           of markAllMisspellingsAndBadGrammarInRanges().
63855         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Consolidated all
63856           boolean arguments into one bitfield. This improves readability and allows us to
63857           pass in a bit to indicate whether we want to show autocorrection UI. Also added
63858           code to show autocorrection UI if it is necessary.
63859         (WebCore::Editor::markMisspellingsAndBadGrammar): Adopted new signature of
63860           markAllMisspellingsAndBadGrammarInRanges().
63861         (WebCore::Editor::correctionPanelTimerFired): Check to see if we should show
63862           autocorrection UI when user pauses during typing.
63863         (WebCore::Editor::handleRejectedCorrection): Update user dictionary when an autocorrection is rejected.
63864         (WebCore::Editor::startCorrectionPanelTimer): Start autocorrection timer.
63865         (WebCore::Editor::handleCancelOperation): Dismiss autocorrection UI when ESC key is pressed.
63866
63867         * editing/Editor.h: Added autocorrection related member methods and variables.
63868
63869         * editing/EditorCommand.cpp:
63870         (WebCore::executeCancelOperation): Handle ESC key event. Dismiss autocorrection UI.
63871         (WebCore::createCommandMap): Updated for executeCancelOperation().
63872
63873         * editing/TypingCommand.cpp:
63874         (WebCore::TypingCommand::markMisspellingsAfterTyping): Reset autocorrection timer after insertion.
63875
63876         * loader/EmptyClients.h:
63877         (WebCore::EmptyEditorClient::showCorrectionPanel): Dummy implementation.
63878         (WebCore::EmptyEditorClient::dismissCorrectionPanel): Ditto
63879
63880         * page/EditorClient.h: Added methods for communication between WebCore and WebKit regarding autocorrection.
63881
63882         * page/Frame.cpp:
63883         (WebCore::Frame::respondToChangedSelection): Remove Replacement marker where we used to only remove Spelling
63884           mark, because whenever we need to remove spelling underline we also should remove autocorrection underline.
63885
63886         * platform/graphics/GraphicsContext.h: Added enum TextCheckingLineStyle to specify the underline
63887           for different type of text checking result. Replaced drawLineForMisspellingOrBadGrammar() with
63888           drawLineForTextChecking(), which allows autocorrection to have different indication from misspelling
63889           and grammatical error.
63890
63891         * platform/graphics/cairo/GraphicsContextCairo.cpp:
63892         (WebCore::GraphicsContext::drawLineForTextChecking): Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
63893
63894         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
63895         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63896
63897         * platform/graphics/mac/GraphicsContextMac.mm:
63898         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63899
63900         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
63901         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63902
63903         * platform/graphics/qt/GraphicsContextQt.cpp:
63904         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63905
63906         * platform/graphics/skia/GraphicsContextSkia.cpp:
63907         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63908
63909         * platform/graphics/win/GraphicsContextCGWin.cpp:
63910         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63911
63912         * platform/graphics/wince/GraphicsContextWince.cpp:
63913         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63914
63915         * platform/graphics/wx/GraphicsContextWx.cpp:
63916         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63917
63918         * rendering/InlineTextBox.cpp:
63919         (WebCore::textCheckingLineStyleForMarkerType): Return line style for a given document marker type.
63920         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):  Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
63921         (WebCore::InlineTextBox::paintDocumentMarkers): Handle new marker value, RejectedCorrection.
63922
63923 2010-09-01  Kinuko Yasuda  <kinuko@google.com>
63924
63925         Reviewed by Adam Barth.
63926
63927         [V8] Support readonly Date attribute
63928         https://bugs.webkit.org/show_bug.cgi?id=43943
63929
63930         Adds Date to non_wrapper_types in CodeGeneratorV8.pm.
63931
63932         New tests will be added for Metadata when we add FileSystem implementation.
63933
63934         * bindings/scripts/CodeGeneratorV8.pm:
63935         * fileapi/Metadata.h:
63936         * fileapi/Metadata.idl:
63937
63938 2010-09-01  Mihai Parparita  <mihaip@chromium.org>
63939
63940         Reviewed by Chris Marrin.
63941
63942         animations/suspend-resume-animation.html does not pass when accelerated compositing is off
63943         https://bugs.webkit.org/show_bug.cgi?id=45057
63944
63945         Fix incorrect logic when resuming the animation (KeyframeAnimation::startAnimation
63946         and RenderLayerBacking::startAnimation return true when running an accelerated
63947         animation).
63948
63949         * page/animation/AnimationBase.cpp:
63950         (WebCore::AnimationBase::updateStateMachine):
63951
63952 2010-09-01  Eric Carlson  <eric.carlson@apple.com>
63953
63954         Reviewed by Darin Adler.
63955
63956         Question mark QuickTime icon when navigating to this MP3 file
63957         https://bugs.webkit.org/show_bug.cgi?id=44846
63958
63959         Do not disable 'tmet' movie tracks, they carry meta data.
63960
63961         No DRT test because I am not sure it is possible to have one of these tracks in 
63962         non-streaming movie. I will add a test later if I figure out how to create a movie.
63963
63964         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
63965         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
63966
63967 2010-09-01  Eric Seidel  <eric@webkit.org>
63968
63969         Reviewed by Dimitri Glazkov.
63970
63971         Remove rendering types from SubframeLoader and split RenderEmbeddedObject::updateWidget in preparation for moving to DOM
63972         https://bugs.webkit.org/show_bug.cgi?id=45007
63973
63974         This is just moving around code (and attempting to make it more sane).
63975         I also tried to use more specific types where possible.
63976         The SubframeLoader no longer uses any rendering types in its API.
63977
63978         I split RenderEmbeddedObject::updateWidget into a bunch of functions.
63979         It was obvious before, but now super-obvious after the split that these
63980         new functions do not belong in RenderEmbeddedObject.  Instead they
63981         need to be moved to their respective DOM classes.  I've added FIXMEs
63982         next to each of the functions which should be moved, but I've not moved
63983         any of the logic out of RenderEmbeddedObject.cpp yet in an effort to
63984         keep this patch as simple as possible.
63985
63986         No functional change, thus no tests.
63987
63988         * html/HTMLEmbedElement.cpp:
63989         (WebCore::HTMLEmbedElement::updateWidget):
63990         * html/HTMLFrameElementBase.cpp:
63991         (WebCore::HTMLFrameElementBase::attach):
63992         (WebCore::HTMLFrameElementBase::width):
63993         (WebCore::HTMLFrameElementBase::height):
63994         * html/HTMLFrameOwnerElement.cpp:
63995         (WebCore::HTMLFrameOwnerElement::renderPart):
63996         * html/HTMLFrameOwnerElement.h:
63997         * html/HTMLObjectElement.cpp:
63998         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
63999         (WebCore::HTMLObjectElement::createRenderer):
64000         (WebCore::HTMLObjectElement::updateWidget):
64001         * html/HTMLPlugInElement.cpp:
64002         (WebCore::HTMLPlugInElement::renderEmbeddedObject):
64003         * html/HTMLPlugInElement.h:
64004         * loader/PluginDocument.cpp:
64005         (WebCore::PluginDocumentParser::appendBytes):
64006         * loader/SubframeLoader.cpp:
64007         (WebCore::SubframeLoader::requestObject):
64008         (WebCore::SubframeLoader::document):
64009         (WebCore::SubframeLoader::loadPlugin):
64010         * loader/SubframeLoader.h:
64011         * rendering/RenderEmbeddedObject.cpp:
64012         (WebCore::isNetscapePlugin):
64013         (WebCore::hasFallbackContent):
64014         (WebCore::parametersFromObject):
64015         (WebCore::updateWidgetForObjectElement):
64016         (WebCore::parametersFromEmbed):
64017         (WebCore::updateWidgetForEmbedElement):
64018         (WebCore::updateWidgetForMediaElement):
64019         (WebCore::RenderEmbeddedObject::updateWidget):
64020         * rendering/RenderEmbeddedObject.h:
64021         (WebCore::RenderEmbeddedObject::setHasFallbackContent):
64022         * rendering/RenderLayerCompositor.h:
64023
64024 2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
64025
64026         Reviewed by Jian Li.
64027
64028         Add more FileError and FileException code for FileWriter and FileSystem API
64029         https://bugs.webkit.org/show_bug.cgi?id=45048
64030
64031         Adding SYNTAX_ERR for FileWriter.
64032         http://dev.w3.org/2009/dap/file-system/file-writer.html
64033
64034         Adding INVALID_STATE_ERR, INVALID_MODIFICATION_ERR and QUOTA_EXCEEDED_ERR for FileSystem.
64035         http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
64036
64037         Adding NO_MODIFICATION_ALLOWED_ERR (to FileException) for both.
64038
64039         * fileapi/FileError.idl:
64040         * fileapi/FileException.idl:
64041
64042 2010-09-01  Mihai Parparita  <mihaip@chromium.org>
64043
64044         Reviewed by Brady Eidson.
64045
64046         popstate event is not fired until document opts in by calling pushstate.
64047         https://bugs.webkit.org/show_bug.cgi?id=41372
64048
64049         Fire popstate even when we don't have a state object when a page is 
64050         loaded (for both regular loads and those from the page cache). Also
64051         fire popstate when doing in-document navigation via fragment changes.
64052         This is consistent with both Gecko and recent the HTML5 spec change:
64053         http://html5.org/tools/web-apps-tracker?from=5376&to=5377
64054
64055         Tests: fast/loader/stateobjects/popstate-fires-on-history-traversal.html
64056                fast/loader/stateobjects/popstate-fires-with-page-cache.html
64057
64058         * bindings/js/SerializedScriptValue.cpp:
64059         * bindings/js/SerializedScriptValue.h:
64060         (WebCore::SerializedScriptValue::create):
64061         * bindings/v8/SerializedScriptValue.cpp:
64062         * bindings/v8/SerializedScriptValue.h:
64063         * dom/Document.cpp:
64064         (WebCore::Document::implicitClose):
64065         * dom/Document.h:
64066         * history/CachedFrame.cpp:
64067         (WebCore::CachedFrameBase::restore):
64068         * loader/FrameLoader.cpp:
64069         (WebCore::FrameLoader::loadInSameDocument):
64070         (WebCore::FrameLoader::transitionToCommitted):
64071         * loader/HistoryController.cpp:
64072         (WebCore::HistoryController::pushState):
64073         (WebCore::HistoryController::replaceState):
64074
64075 2010-09-01  Ryosuke Niwa  <rniwa@webkit.org>
64076
64077         Reviewed by Dimitri Glazkov.
64078
64079         REGRESSION(r66431): WebCore::Editor::selectionStartCSSPropertyValue crashes if no background color is specified
64080         https://bugs.webkit.org/show_bug.cgi?id=45068
64081
64082         The crash was caused by the assumption that every node has an ancestor with some background color,
64083         which was obviously false. Fixed this by adding a null for ancestor.
64084
64085         Test: editing/execCommand/backcolor-crash.html
64086
64087         * editing/Editor.cpp:
64088         (WebCore::Editor::selectionStartCSSPropertyValue):
64089
64090 2010-08-31  Jer Noble  <jer.noble@apple.com>
64091
64092         Reviewed by Darin Adler.
64093
64094         WebKit should not accept PDFs as video.
64095         https://bugs.webkit.org/show_bug.cgi?id=45013
64096         
64097         QuickTime will accept a PDF as the source for a movie, and happily
64098         convert that PDF into a .mov.  WebKit should disable the eat and grip
64099         PDF components which allow this.
64100
64101         Test: http/tests/media/pdf-served-as-pdf.html
64102
64103         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
64104         (WebCore::MediaPlayerPrivate::createQTMovie): Add PDF eat and grip
64105         components to the components which are disabled before opening a 
64106         QTMovie.
64107
64108 2010-09-01  Rob Buis  <rwlbuis@gmail.com>
64109
64110         Reviewed by Darin Adler.
64111
64112         Support for Percentage Values in border-radius
64113         https://bugs.webkit.org/show_bug.cgi?id=38354
64114
64115         Support percentage values on the border-radius family
64116         of CSS properties.
64117
64118         * css/CSSComputedStyleDeclaration.cpp:
64119         (WebCore::getBorderRadiusCornerValue):
64120         * css/CSSParser.cpp:
64121         (WebCore::CSSParser::parseValue):
64122         (WebCore::CSSParser::parseBorderRadius):
64123         * css/CSSPrimitiveValue.cpp:
64124         * css/CSSStyleSelector.cpp:
64125         (WebCore::CSSStyleSelector::applyProperty):
64126         * page/animation/AnimationBase.cpp:
64127         (WebCore::AnimationBase::ensurePropertyMap):
64128         * platform/Length.h:
64129         * rendering/RenderObject.cpp:
64130         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
64131         * rendering/style/BorderData.h:
64132         (WebCore::BorderData::BorderData):
64133         (WebCore::BorderData::hasBorderRadius):
64134         (WebCore::BorderData::topLeft):
64135         (WebCore::BorderData::topRight):
64136         (WebCore::BorderData::bottomLeft):
64137         (WebCore::BorderData::bottomRight):
64138         * rendering/style/RenderStyle.cpp:
64139         (WebCore::RenderStyle::getBorderRadiiForRect):
64140         (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
64141         * rendering/style/RenderStyle.h:
64142         (WebCore::InheritedFlags::borderTopLeftRadius):
64143         (WebCore::InheritedFlags::borderTopRightRadius):
64144         (WebCore::InheritedFlags::borderBottomLeftRadius):
64145         (WebCore::InheritedFlags::borderBottomRightRadius):
64146         (WebCore::InheritedFlags::setBorderTopLeftRadius):
64147         (WebCore::InheritedFlags::setBorderTopRightRadius):
64148         (WebCore::InheritedFlags::setBorderBottomLeftRadius):
64149         (WebCore::InheritedFlags::setBorderBottomRightRadius):
64150         (WebCore::InheritedFlags::setBorderRadius):
64151         (WebCore::InheritedFlags::initialBorderRadius):
64152
64153 2010-09-01  Andrey Kosyakov  <caseq@chromium.org>
64154
64155         Reviewed by Yury Semikhatsky.
64156
64157         Web Inspector: webInspector.inspectedWindow.evaluate() should not fail if not passed callback.
64158         https://bugs.webkit.org/show_bug.cgi?id=45037
64159
64160         * inspector/front-end/ExtensionAPI.js:
64161         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
64162
64163 2010-09-01  Dave Hyatt  <hyatt@apple.com>
64164
64165         Reviewed by Dan Bernstein and Simon Fraser.
64166
64167         https://bugs.webkit.org/show_bug.cgi?id=44963, overhanging floats aren't positioned properly when they occur
64168         in multi-column layout.  Don't let floats overhang in multi-column blocks, since they are part of the column layout.
64169         
64170         fast/multicol/float-pagination-failure now succeeds, so will rename and move it.
64171
64172         * rendering/RenderBlock.cpp:
64173         (WebCore::RenderBlock::addOverhangingFloats):
64174
64175 2010-08-31  Kenneth Russell  <kbr@google.com>
64176
64177         Reviewed by Simon Fraser.
64178
64179         Add helpers to FloatRect to compute bounding box from points
64180         https://bugs.webkit.org/show_bug.cgi?id=45015
64181
64182         Added fitToPoints, including a few overloaded variants for the
64183         cases of two, three and four points. I opted not to add a
64184         generalized version taking const FloatRect* or Vector<FloatRect>
64185         at the present time because for my own purposes they are
64186         unnecessary, and the specific versions can be more tightly coded.
64187         Also added left() and top() for symmetry with right() and bottom().
64188         These changes have been tested with new code to be added later.
64189
64190         * platform/graphics/FloatRect.cpp:
64191         (WebCore::FloatRect::intersect):
64192         (WebCore::FloatRect::unite):
64193         (WebCore::FloatRect::fitToPoints):
64194         * platform/graphics/FloatRect.h:
64195         (WebCore::FloatRect::left):
64196         (WebCore::FloatRect::top):
64197         (WebCore::FloatRect::setLocationAndSizeFromEdges):
64198
64199 2010-09-01  Anton Muhin  <antonm@chromium.org>
64200
64201         Reviewed by Dimitri Glazkov.
64202
64203         [v8] Use Vector and DEFINE_STATIC_LOCAL instead of plain static array.
64204         https://bugs.webkit.org/show_bug.cgi?id=45040
64205
64206         By code guidelines all the statics should be wrapped into appropriate macro.
64207
64208         * bindings/v8/V8Binding.cpp:
64209         (WebCore::int32ToWebCoreString):
64210
64211 2010-09-01  Alejandro G. Castro  <alex@igalia.com>
64212
64213         Reviewed by Martin Robinson.
64214
64215         [Gtk] very slow page scrolling on big -webkit-box-shadow areas
64216         https://bugs.webkit.org/show_bug.cgi?id=39582
64217
64218         Add a new drawTiledShadow method to render a big shadow doing
64219         tiling of parts of a smaller shadow. We create the minimum shadow
64220         required to get the tiles we will use to render the real shadow
64221         and we use drawPattern with those tiles to create the shadow.
64222
64223         * platform/graphics/GraphicsContext.h:
64224         * platform/graphics/cairo/FontCairo.cpp:
64225         (WebCore::Font::drawGlyphs):
64226         * platform/graphics/cairo/GraphicsContextCairo.cpp:
64227         (WebCore::drawPathShadow):
64228         (WebCore::drawBorderlessRectShadow):
64229         (WebCore::GraphicsContext::fillRect):
64230         (WebCore::GraphicsContext::applyPlatformShadow):
64231         (WebCore::GraphicsContext::createShadowMask):
64232         (WebCore::getPhase):
64233         (WebCore::GraphicsContext::drawTiledShadow):
64234         (WebCore::GraphicsContext::fillRoundedRect):
64235         * platform/graphics/cairo/ImageCairo.cpp:
64236         (WebCore::BitmapImage::draw):
64237
64238 2010-09-01  Andrey Kosyakov  <caseq@chromium.org>
64239
64240         Reviewed by Yury Semikhatsky.
64241
64242         Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
64243         Added command line API to the lexical context of code evaluated by webInspector.inspectedWindow.evaluate()
64244         Fixed webInspector.inspectedWindow.evaluate() to return object rather than its stringified representation
64245         https://bugs.webkit.org/show_bug.cgi?id=44957
64246
64247         Test: inspector/extensions-eval.html
64248
64249         * inspector/front-end/ExtensionAPI.js:
64250         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
64251         * inspector/front-end/ExtensionServer.js:
64252         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
64253
64254 2010-08-27  Philippe Normand  <pnormand@igalia.com>
64255
64256         Reviewed by Xan Lopez.
64257
64258         [GStreamer] ImageGStreamer doesn't need to hold a Cairo surface
64259         https://bugs.webkit.org/show_bug.cgi?id=44757
64260
64261         Pass the cairo surface to the BitmapImage constructor which will
64262         handle its life-cycle.
64263
64264         * platform/graphics/gstreamer/ImageGStreamer.h:
64265         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
64266         (ImageGStreamer::ImageGStreamer):
64267         (ImageGStreamer::~ImageGStreamer):
64268
64269 2010-08-30  Patrick Gansterer  <paroga@paroga.com>
64270
64271          Reviewed by Dirk Schulze.
64272
64273          RenderImage::imageChanged invalidates wrong area
64274          https://bugs.webkit.org/show_bug.cgi?id=43779
64275
64276          Remove RenderImage inheritance from RenderSVGImage, it now inherits from RenderSVGModelObject.
64277
64278          * rendering/RenderSVGImage.cpp:
64279          (WebCore::RenderSVGImage::RenderSVGImage):
64280          (WebCore::RenderSVGImage::~RenderSVGImage):
64281          (WebCore::RenderSVGImage::layout):
64282          (WebCore::RenderSVGImage::paint):
64283          (WebCore::RenderSVGImage::imageChanged):
64284          * rendering/RenderSVGImage.h:
64285          (WebCore::RenderSVGImage::imageResource):
64286          * rendering/RenderSVGModelObject.h:
64287          * svg/SVGImageElement.cpp:
64288
64289 2010-09-01  Nikolas Zimmermann  <nzimmermann@rim.com>
64290
64291         Reviewed by Dirk Schulze.
64292
64293         Add culling to RenderSVGContainer
64294         https://bugs.webkit.org/show_bug.cgi?id=44896
64295
64296         Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
64297         Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
64298
64299         This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
64300         of any container or <svg> element, just to retrieve the repaint rect.
64301
64302         * rendering/RenderForeignObject.cpp:
64303         (WebCore::RenderForeignObject::layout): Propagate boundary changes to parent, if neeeded.
64304         * rendering/RenderObject.cpp:
64305         (WebCore::RenderObject::setNeedsBoundariesUpdate): Ditto.
64306         * rendering/RenderObject.h:
64307         * rendering/RenderObjectChildList.cpp:
64308         (WebCore::RenderObjectChildList::removeChildNode): Ditto.
64309         * rendering/RenderPath.cpp:
64310         (WebCore::RenderPath::layout): Ditto.
64311         (WebCore::RenderPath::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
64312         * rendering/RenderPath.h: Remove styleWillChange(), it's in RenderSVGModelObject now.
64313         (WebCore::RenderPath::setNeedsBoundariesUpdate): Mark as virtual, just like in RenderObject.
64314         * rendering/RenderSVGContainer.cpp:
64315         (WebCore::RenderSVGContainer::RenderSVGContainer): Initialize m_needsBoundariesUpdate to true.
64316         (WebCore::RenderSVGContainer::layout): Only update cached boundaries, if needed, once by traversing the child tree.
64317         (WebCore::RenderSVGContainer::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
64318         (WebCore::RenderSVGContainer::updateCachedBoundaries): Ask children for their boundaries, and cache them.
64319         * rendering/RenderSVGContainer.h:
64320         (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate): Set m_needsBoundariesUpdate when called.
64321         (WebCore::RenderSVGContainer::objectBoundingBox): Inlined, just returns a member variable now.
64322         (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
64323         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Ditto.
64324         (WebCore::RenderSVGContainer::calculateLocalTransform): Changed to return a boolean, wheter the transform was modified.
64325         * rendering/RenderSVGGradientStop.h:
64326         (WebCore::RenderSVGGradientStop::strokeBoundingBox): Add missing default implementation, return just FloatRect().
64327         * rendering/RenderSVGHiddenContainer.cpp: Remove repaintRectInLocalCoordinates() override, it's now needed for painting markers.
64328         * rendering/RenderSVGHiddenContainer.h:
64329         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): Inlined, returning IntRect().
64330         * rendering/RenderSVGImage.cpp:
64331         (WebCore::RenderSVGImage::layout): Propagate boundary changes to parent, if neeeded.
64332         * rendering/RenderSVGRoot.cpp: Cache boundaries here as well, just like in RenderSVGContainer.
64333         (WebCore::RenderSVGRoot::RenderSVGRoot):
64334         (WebCore::RenderSVGRoot::layout):
64335         (WebCore::RenderSVGRoot::updateCachedBoundaries):
64336         * rendering/RenderSVGRoot.h:
64337         (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
64338         (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
64339         (WebCore::RenderSVGRoot::objectBoundingBox):
64340         (WebCore::RenderSVGRoot::strokeBoundingBox):
64341         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
64342         * rendering/RenderSVGText.cpp:
64343         (WebCore::RenderSVGText::layout): Propagate boundary changes to parent, if neeeded.
64344         * rendering/RenderSVGTransformableContainer.cpp:
64345         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Return true, if the localTransform changed.
64346         * rendering/RenderSVGTransformableContainer.h:
64347         * rendering/RenderSVGViewportContainer.cpp:
64348         (WebCore::RenderSVGViewportContainer::calcViewport): Propagate boundary changes to parent, if neeeded.
64349         * rendering/SVGRenderSupport.cpp:
64350         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes): Helper function calculating object/strokeBoundingBox and repaintRectInLocalCoordinates in one shot.
64351         (WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect): Moved from RenderPath to share the culling functionality.
64352         * rendering/SVGRenderSupport.h:
64353
64354 2010-09-01  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
64355
64356         Reviewed by Laszlo Gombos.
64357
64358         [Qt] QWebPage::allowGeolocationRequest should be async API
64359         https://bugs.webkit.org/show_bug.cgi?id=41364
64360
64361         Adding GeolocationPermissionClientQt.cpp/h to build script
64362
64363         * WebCore.pro:
64364
64365 2010-09-01  Andreas Kling  <andreas.kling@nokia.com>
64366
64367         Reviewed by Darin Adler.
64368
64369         DOM Selection: collapseToStart() and collapseToEnd() should throw INVALID_STATE_ERR if there's no selection
64370         https://bugs.webkit.org/show_bug.cgi?id=44598
64371
64372         Spec links:
64373         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetostart
64374         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetoend
64375
64376         Test: fast/dom/Selection/collapseToX-empty-selection.html
64377
64378         * page/DOMSelection.cpp:
64379         (WebCore::DOMSelection::collapseToEnd):
64380         (WebCore::DOMSelection::collapseToStart):
64381         * page/DOMSelection.h:
64382         * page/DOMSelection.idl:
64383
64384 2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
64385
64386         Unreviewed; another build fix.
64387
64388         * WebCore.pri:
64389
64390 2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
64391
64392         Unreviewed; qt build fix.
64393
64394         * CMakeLists.txt:
64395
64396 2010-08-31  Kinuko Yasuda  <kinuko@chromium.org>
64397
64398         Reviewed by Adam Barth.
64399
64400         Move FileSystem related files from WebCore/html to WebCore/fileapi.
64401         https://bugs.webkit.org/show_bug.cgi?id=44925
64402
64403         No new tests; there should be no functional changes.
64404
64405         * CMakeLists.txt:
64406         * GNUmakefile.am:
64407         * WebCore.gypi:
64408         * WebCore.pro:
64409         * WebCore.vcproj/WebCore.vcproj:
64410         * WebCore.xcodeproj/project.pbxproj:
64411         * fileapi/DOMFilePath.cpp: Renamed from WebCore/storage/DOMFilePath.cpp.
64412         * fileapi/DOMFilePath.h: Renamed from WebCore/storage/DOMFilePath.h.
64413         * fileapi/DOMFileSystem.cpp: Renamed from WebCore/storage/DOMFileSystem.cpp.
64414         * fileapi/DOMFileSystem.h: Renamed from WebCore/storage/DOMFileSystem.h.
64415         * fileapi/DOMFileSystem.idl: Renamed from WebCore/storage/DOMFileSystem.idl.
64416         * fileapi/DirectoryEntry.cpp: Renamed from WebCore/storage/DirectoryEntry.cpp.
64417         * fileapi/DirectoryEntry.h: Renamed from WebCore/storage/DirectoryEntry.h.
64418         * fileapi/DirectoryEntry.idl: Renamed from WebCore/storage/DirectoryEntry.idl.
64419         * fileapi/DirectoryReader.cpp: Renamed from WebCore/storage/DirectoryReader.cpp.
64420         * fileapi/DirectoryReader.h: Renamed from WebCore/storage/DirectoryReader.h.
64421         * fileapi/DirectoryReader.idl: Renamed from WebCore/storage/DirectoryReader.idl.
64422         * fileapi/EntriesCallback.h: Renamed from WebCore/storage/EntriesCallback.h.
64423         * fileapi/EntriesCallback.idl: Renamed from WebCore/storage/EntriesCallback.idl.
64424         * fileapi/Entry.cpp: Renamed from WebCore/storage/Entry.cpp.
64425         * fileapi/Entry.h: Renamed from WebCore/storage/Entry.h.
64426         * fileapi/Entry.idl: Renamed from WebCore/storage/Entry.idl.
64427         * fileapi/EntryArray.cpp: Renamed from WebCore/storage/EntryArray.cpp.
64428         * fileapi/EntryArray.h: Renamed from WebCore/storage/EntryArray.h.
64429         * fileapi/EntryArray.idl: Renamed from WebCore/storage/EntryArray.idl.
64430         * fileapi/EntryCallback.h: Renamed from WebCore/storage/EntryCallback.h.
64431         * fileapi/EntryCallback.idl: Renamed from WebCore/storage/EntryCallback.idl.
64432         * fileapi/ErrorCallback.h: Renamed from WebCore/storage/ErrorCallback.h.
64433         * fileapi/ErrorCallback.idl: Renamed from WebCore/storage/ErrorCallback.idl.
64434         * fileapi/FileEntry.cpp: Renamed from WebCore/storage/FileEntry.cpp.
64435         * fileapi/FileEntry.h: Renamed from WebCore/storage/FileEntry.h.
64436         * fileapi/FileEntry.idl: Renamed from WebCore/storage/FileEntry.idl.
64437         * fileapi/FileSystemCallback.h: Renamed from WebCore/storage/FileSystemCallback.h.
64438         * fileapi/FileSystemCallback.idl: Renamed from WebCore/storage/FileSystemCallback.idl.
64439         * fileapi/FileSystemCallbacks.cpp: Renamed from WebCore/storage/FileSystemCallbacks.cpp.
64440         * fileapi/FileSystemCallbacks.h: Renamed from WebCore/storage/FileSystemCallbacks.h.
64441         * fileapi/Flags.h: Renamed from WebCore/storage/Flags.h.
64442         * fileapi/Flags.idl: Renamed from WebCore/storage/Flags.idl.
64443         * fileapi/LocalFileSystem.cpp: Renamed from WebCore/storage/LocalFileSystem.cpp.
64444         * fileapi/LocalFileSystem.h: Renamed from WebCore/storage/LocalFileSystem.h.
64445         * fileapi/Metadata.h: Renamed from WebCore/storage/Metadata.h.
64446         * fileapi/Metadata.idl: Renamed from WebCore/storage/Metadata.idl.
64447         * fileapi/MetadataCallback.h: Renamed from WebCore/storage/MetadataCallback.h.
64448         * fileapi/MetadataCallback.idl: Renamed from WebCore/storage/MetadataCallback.idl.
64449
64450 2010-08-31  Nikolas Zimmermann  <nzimmermann@rim.com>
64451
64452         Reviewed by Dirk Schulze.
64453
64454         Prepare RenderSVGContainer culling patch
64455         https://bugs.webkit.org/show_bug.cgi?id=44955
64456
64457         Add styleWillChange methods for all SVG renderers, that call setNeedsBoundariesUpdate().
64458         It's currently a no-op, but will be used once the containers cache their boundaries, which
64459         happens in a follow-up patch.
64460
64461         * rendering/RenderSVGBlock.cpp:
64462         (WebCore::RenderSVGBlock::styleWillChange): Call setNeedsBoundariesUpdate().
64463         * rendering/RenderSVGBlock.h:
64464         * rendering/RenderSVGImage.cpp:
64465         (WebCore::RenderSVGImage::styleWillChange): Ditto.
64466         * rendering/RenderSVGImage.h:
64467         * rendering/RenderSVGInline.cpp:
64468         (WebCore::RenderSVGInline::styleWillChange): Ditto.
64469         * rendering/RenderSVGInline.h:
64470         * rendering/RenderSVGModelObject.cpp:
64471         (WebCore::RenderSVGModelObject::styleWillChange): Ditto.
64472         * rendering/RenderSVGModelObject.h:
64473         * rendering/RenderSVGRoot.cpp:
64474         (WebCore::RenderSVGRoot::styleWillChange): Ditto.
64475         * rendering/RenderSVGRoot.h:
64476         * rendering/SVGRenderSupport.cpp:
64477         (WebCore::SVGRenderSupport::computeContainerBoundingBox): Skip hidden containers, not necessary to traverse them.
64478         * rendering/style/SVGRenderStyle.cpp:
64479         (WebCore::SVGRenderStyle::diff): svg-shadow changes need to cause relayouts, not only repaints, once container bounds are cached.
64480
64481 2010-08-31  Justin Garcia  <justin.garcia@apple.com>
64482
64483         Reviewed by Dan Bernstein.
64484         
64485         https://bugs.webkit.org/show_bug.cgi?id=44915
64486         Need to handle CSSValueAuto in CSSPrimitiveValue::operator ETextAlign()
64487         
64488         * css/CSSPrimitiveValueMappings.h:
64489         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map TAAUTO to -webkit-auto.  "auto" is
64490         not a valid text-align value.  We use TAAUTO internally for the nameless value that acts
64491         as left if direction:ltr and right for direction:rtl.
64492
64493 2010-08-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
64494
64495         Reviewed by Martin Robinson.
64496
64497         [EFL] Add PlatformVideoWindowEfl.cpp for WebKit EFL
64498         https://bugs.webkit.org/show_bug.cgi?id=44508
64499
64500         Add PlatformVideoWindowEfl.cpp in order to use gstreamer by 
64501         WebKit EFL.
64502
64503         * platform/graphics/gstreamer/PlatformVideoWindow.h:
64504         (WebCore::PlatformVideoWindow::window):
64505         (WebCore::PlatformVideoWindow::videoWindowId):
64506         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Added.
64507         (PlatformVideoWindow::PlatformVideoWindow):
64508         (PlatformVideoWindow::~PlatformVideoWindow):
64509         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Include <gtk/gtk.h> directly.
64510
64511 2010-08-31  Dave Hyatt  <hyatt@apple.com>
64512
64513         Reviewed by Sam Weinig.
64514
64515         https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
64516         the former can occur in more places without having to do the latter.
64517
64518         * WebCore.exp.in:
64519         * page/FocusController.cpp:
64520         (WebCore::FocusController::setActive):
64521         * page/Frame.cpp:
64522         (WebCore::Frame::Frame):
64523         * page/Frame.h:
64524         * page/FrameView.cpp:
64525         (WebCore::FrameView::enterCompositingMode):
64526         (WebCore::FrameView::layout):
64527         (WebCore::FrameView::needsLayout):
64528         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
64529         * page/FrameView.h:
64530         * page/Page.cpp:
64531         (WebCore::Page::scheduleForcedStyleRecalcForAllPages):
64532         * page/Page.h:
64533         * page/Settings.cpp:
64534         (WebCore::setNeedsRecalcStyleInAllFrames):
64535         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
64536         (WebCore::Settings::setStandardFontFamily):
64537         (WebCore::Settings::setFixedFontFamily):
64538         (WebCore::Settings::setSerifFontFamily):
64539         (WebCore::Settings::setSansSerifFontFamily):
64540         (WebCore::Settings::setCursiveFontFamily):
64541         (WebCore::Settings::setFantasyFontFamily):
64542         (WebCore::Settings::setMinimumFontSize):
64543         (WebCore::Settings::setMinimumLogicalFontSize):
64544         (WebCore::Settings::setDefaultFontSize):
64545         (WebCore::Settings::setDefaultFixedFontSize):
64546         (WebCore::Settings::setLoadsImagesAutomatically):
64547         (WebCore::Settings::setTextAreasAreResizable):
64548         (WebCore::Settings::setAuthorAndUserStylesEnabled):
64549         (WebCore::Settings::setFontRenderingMode):
64550         (WebCore::Settings::setZoomMode):
64551         (WebCore::Settings::setAcceleratedCompositingEnabled):
64552         (WebCore::Settings::setShowDebugBorders):
64553         (WebCore::Settings::setShowRepaintCounter):
64554         * rendering/RenderTheme.cpp:
64555         (WebCore::RenderTheme::platformColorsDidChange):
64556
64557 2010-08-31  Jeremy Moskovich  <jeremy@chromium.org>
64558
64559         Reviewed by Dimitri Glazkov.
64560
64561         Unfork Chromium's FontPlatformDataChromiumMac.mm.
64562
64563         Modified FontPlatformDataCocoa to provide hooks needed by Chromium.
64564         Moved Chromium's mechanics for OOP font loading to CrossProcessFontLoading.mm.
64565         Added ::create() function to MemoryActivatedFont to match new guidelines for
64566         RefCounted<> classes.
64567
64568         Not possible to test due to sandbox interaction.
64569
64570         * WebCore.gypi: Update files for chromium build.
64571         * platform/graphics/chromium/CrossProcessFontLoading.h: Added.
64572         (WebCore::MemoryActivatedFont::cgFont):
64573         (WebCore::MemoryActivatedFont::atsFontRef):
64574         * platform/graphics/chromium/CrossProcessFontLoading.mm: Added.
64575         (WebCore::MemoryActivatedFont::create):
64576         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
64577         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
64578         (WebCore::FontPlatformData::loadFont):
64579         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Removed.
64580         * platform/graphics/cocoa/FontPlatformData.h:
64581         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
64582         (WebCore::FontPlatformData::loadFont):
64583         (WebCore::FontPlatformData::FontPlatformData):
64584         (WebCore::FontPlatformData::operator=):
64585         (WebCore::FontPlatformData::setFont):
64586
64587 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
64588
64589         Reviewed by Adam Barth.
64590
64591         [GTK] warning: unused variable "queryResult"
64592         https://bugs.webkit.org/show_bug.cgi?id=44998
64593
64594         No new tests as functionality has not changed.
64595
64596         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
64597         (WebCore::GStreamerGWorld::enterFullscreen): Move queryResult within the gstreamer
64598         version guards, where it is used.
64599
64600 2010-08-31  Dave Hyatt  <hyatt@apple.com>
64601
64602         Reviewed by Adam Roben.
64603
64604         Refinement to previous checkin for pagination of block-level replaced elements.  Don't bother to
64605         paginate floating block-level replaced elements for now.
64606
64607         Added fast/multicol/float-pagination-failure.html
64608
64609         * rendering/RenderBlock.cpp:
64610         (WebCore::RenderBlock::paintChildren):
64611
64612 2010-08-31  Kinuko Yasuda  <kinuko@chromium.org>
64613
64614         Reviewed by Jian Li.
64615
64616         Add LocalFileSystem.requestFileSystem interface to DOMWindow
64617         https://bugs.webkit.org/show_bug.cgi?id=44734
64618
64619         No new tests; tests will be added later.
64620
64621         * bindings/generic/RuntimeEnabledFeatures.cpp:
64622         * bindings/generic/RuntimeEnabledFeatures.h:
64623         (WebCore::RuntimeEnabledFeatures::fileSystemEnabled):
64624         (WebCore::RuntimeEnabledFeatures::setFileSystemEnabled):
64625         (WebCore::RuntimeEnabledFeatures::requestFileSystemEnabled):
64626         * page/DOMWindow.cpp:
64627         (WebCore::DOMWindow::requestFileSystem):
64628         * page/DOMWindow.h:
64629         (WebCore::DOMWindow::):
64630         * page/DOMWindow.idl:
64631         * page/Settings.cpp:
64632         (WebCore::Settings::setFileSystemRootPath):
64633         * page/Settings.h:
64634         (WebCore::Settings::fileSystemRootPath):
64635
64636 2010-08-31  Kwang Yul Seo  <skyul@company100.net>
64637
64638         Reviewed by Adam Barth.
64639
64640         [BREWMP] Add PLATFORM(BREWMP) guard to PluginViewNone
64641         https://bugs.webkit.org/show_bug.cgi?id=44768
64642
64643         Build fix. Add PLATFORM(BREWMP) guard to add dummy PluginView::privateBrowsingStateChanged
64644         and PluginView::setJavaScriptPaused.
64645
64646         * plugins/PluginViewNone.cpp:
64647
64648 2010-08-31  Alexey Proskuryakov  <ap@apple.com>
64649
64650         Reviewed by Adam Barth.
64651
64652         https://bugs.webkit.org/show_bug.cgi?id=40947
64653         <rdar://problem/8124723> REGRESSION (r57544): XMLHttpRequest POSTed multipart/form-data
64654         wrongfully gets a charset appended
64655
64656         Test: http/tests/xmlhttprequest/post-with-boundary.html
64657
64658         * xml/XMLHttpRequest.cpp:
64659         (WebCore::replaceCharsetInMediaType): Changed to only set charset if it was already present,
64660         and never append.
64661         (WebCore::XMLHttpRequest::send): Updated for replaceCharsetInMediaType renaming.
64662
64663 2010-08-31  Daniel Cheng  <dcheng@chromium.org>
64664
64665         Reviewed by Tony Chang.
64666
64667         [chromium] Implement Readable/Writable versions of ChromiumDataObjectNew
64668         https://bugs.webkit.org/show_bug.cgi?id=44917
64669
64670         This is the second of several patches to update Chromium to support
64671         arbitrary data types in event.dataTransfer.
64672         ReadableDataObject simply calls through to several Chromium IPCs to
64673         retrieve the appropriate data.
64674         WritableDataObject ostensibly buffers arbitrary data internally until
64675         a call is made to flush the data to the platform-specific abstraction;
64676         unfortunately, a special exception is currently made for pasteboard
64677         handling due to how it is handled in WebCore.
64678
64679         No new tests.
64680
64681         * WebCore.gypi:
64682         * platform/chromium/ChromiumDataObjectNew.h: Removed.
64683         * platform/chromium/ClipboardChromium.cpp:
64684         * platform/chromium/ClipboardMimeTypes.cpp: Added.
64685         * platform/chromium/ClipboardMimeTypes.h: Added.
64686         * platform/chromium/ReadableDataObject.cpp: Added.
64687         (WebCore::clipboardBuffer):
64688         (WebCore::ReadableDataObject::create):
64689         (WebCore::ReadableDataObject::ReadableDataObject):
64690         (WebCore::ReadableDataObject::hasData):
64691         (WebCore::ReadableDataObject::types):
64692         (WebCore::ReadableDataObject::getData):
64693         (WebCore::ReadableDataObject::getURL):
64694         (WebCore::ReadableDataObject::getHTML):
64695         (WebCore::ReadableDataObject::hasFilenames):
64696         (WebCore::ReadableDataObject::filenames):
64697         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
64698         * platform/chromium/ReadableDataObject.h: Added.
64699         * platform/chromium/WritableDataObject.cpp: Added.
64700         (WebCore::WritableDataObject::create):
64701         (WebCore::WritableDataObject::WritableDataObject):
64702         (WebCore::WritableDataObject::clearData):
64703         (WebCore::WritableDataObject::clearAllExceptFiles):
64704         (WebCore::WritableDataObject::clearAll):
64705         (WebCore::WritableDataObject::setData):
64706         (WebCore::WritableDataObject::setURL):
64707         (WebCore::WritableDataObject::setHTML):
64708         (WebCore::WritableDataObject::dataMap):
64709         (WebCore::WritableDataObject::urlTitle):
64710         (WebCore::WritableDataObject::htmlBaseURL):
64711         (WebCore::WritableDataObject::fileExtension):
64712         (WebCore::WritableDataObject::fileContentFilename):
64713         (WebCore::WritableDataObject::fileContent):
64714         (WebCore::WritableDataObject::setFileExtension):
64715         (WebCore::WritableDataObject::setFileContentFilename):
64716         (WebCore::WritableDataObject::setFileContent):
64717         * platform/chromium/WritableDataObject.h: Added.
64718
64719 2010-08-31  Darin Adler  <darin@apple.com>
64720
64721         Reviewed by Sam Weinig.
64722
64723         Null-deref when decoding web archive with no data key in LegacyWebArchive::createResource
64724         https://bugs.webkit.org/show_bug.cgi?id=45000
64725
64726         Test: webarchive/loading/missing-data.html
64727
64728         * loader/archive/cf/LegacyWebArchive.cpp:
64729         (WebCore::LegacyWebArchive::createResource): Use wrapCFData instead of CFDataGetBytePtr/GetLength,
64730         which is both more efficient, and can handle null. Also fixed incorrect use of ParsedURLString,
64731         since the string is coming from a file and so there are no guarantees about its format.
64732
64733 2010-08-31  Kenneth Russell  <kbr@google.com>
64734
64735         Reviewed by Chris Marrin.
64736
64737         Add length and related operations to FloatPoint and FloatSize
64738         https://bugs.webkit.org/show_bug.cgi?id=44994
64739
64740         Added length and squared length operations to both FloatPoint and
64741         FloatSize, and added set(x, y), dot and normalize operations to
64742         FloatPoint. These changes have been tested with new code to be
64743         added later.
64744
64745         * platform/graphics/FloatPoint.cpp:
64746         (WebCore::FloatPoint::normalize):
64747         (WebCore::FloatPoint::length):
64748         * platform/graphics/FloatPoint.h:
64749         (WebCore::FloatPoint::set):
64750         (WebCore::FloatPoint::dot):
64751         (WebCore::FloatPoint::lengthSquared):
64752         (WebCore::operator*):
64753         * platform/graphics/FloatSize.cpp:
64754         (WebCore::FloatSize::diagonalLength):
64755         * platform/graphics/FloatSize.h:
64756         (WebCore::FloatSize::diagonalLengthSquared):
64757
64758 2010-08-31  Zhenyao Mo  <zmo@google.com>
64759
64760         Reviewed by Kenneth Russell.
64761
64762         gl-teximage.html and tex-image-and-sub-image-2d-with-image.html failed on Chromium Mac bots (10.5)
64763         https://bugs.webkit.org/show_bug.cgi?id=44993
64764
64765         * platform/graphics/cg/GraphicsContext3DCG.cpp:
64766         (WebCore::GraphicsContext3D::getImageData): Take into consideration the source image pixel row alignment.
64767
64768 2010-08-31  Patrick Gansterer  <paroga@paroga.com>
64769
64770         Reviewed by Kenneth Rohde Christiansen.
64771
64772         [CMake] Unify GENERATE_DOM_NAMES code
64773         https://bugs.webkit.org/show_bug.cgi?id=44842
64774
64775         * CMakeLists.txt: Added property svn:eol-style.
64776
64777 2010-08-31  Beth Dakin  <bdakin@apple.com>
64778
64779         Rubber-stamped by Dan Bernstein..
64780
64781         Variable name change. m_shouldFirePostLayoutTimer is now 
64782         m_hasPendingPostLayoutTasks
64783
64784         * page/FrameView.cpp:
64785         (WebCore::FrameView::FrameView):
64786         (WebCore::FrameView::~FrameView):
64787         (WebCore::FrameView::reset):
64788         (WebCore::FrameView::layout):
64789         (WebCore::FrameView::performPostLayoutTasks):
64790         * page/FrameView.h:
64791
64792 2010-08-31  Beth Dakin  <bdakin@apple.com>
64793
64794         Reviewed by Dave Hyatt.
64795
64796         Fix for https://bugs.webkit.org/show_bug.cgi?id=44828 FrameView 
64797         should make more calls to postLayoutTasks() using the timer
64798         -and corresponding-
64799         <rdar://problem/8064938>
64800
64801         This change only allows synchronous calls to postLayoutTasks() if 
64802         we are not already in a synchronous call to postLayoutTasks(). 
64803         Furthermore, it de-couples the notion of "the post layout timer 
64804         should fire" from m_postLayoutTasksTimer.isActive(), instead using 
64805         a boolean to track the need to use the timer.
64806
64807         * page/FrameView.cpp:
64808         (WebCore::FrameView::FrameView):
64809         (WebCore::FrameView::~FrameView):
64810         (WebCore::FrameView::reset):
64811         (WebCore::FrameView::layout):
64812         (WebCore::FrameView::unscheduleRelayout):
64813         (WebCore::FrameView::performPostLayoutTasks):
64814         * page/FrameView.h:
64815
64816 2010-08-30  Anders Carlsson  <andersca@apple.com>
64817
64818         Reviewed by Sam Weinig.
64819
64820         Fix 32-bit WebKit2 build.
64821
64822         * WebCore.exp.in:
64823
64824 2010-08-31  Nate Chapin  <japhet@chromium.org>
64825
64826         Reviewed by Darin Fisher.
64827
64828         Regression in r63528: Custom http headers for loads of type
64829         FrameLoadTypeReloadFromOrigin are not being correctly
64830         propagated to subresource loads.
64831
64832         https://bugs.webkit.org/show_bug.cgi?id=44987
64833
64834         No tests, since DRT doesn't seem to have a way to trigger a
64835         FrameLoadTypeReloadFromOrigin load.
64836
64837         * loader/FrameLoader.cpp:
64838         (WebCore::FrameLoader::addExtraFieldsToRequest):
64839
64840 2010-08-31  Sam Weinig  <sam@webkit.org>
64841
64842         Reviewed by Darin Adler.
64843
64844         Add ability to count text matches without marking
64845         https://bugs.webkit.org/show_bug.cgi?id=43996
64846
64847         Safari needs to be able to count text matches without triggering lots of repainting.
64848         Rename markAllMatchesForText() to countMatchesForText() and add a markMatches parameter.
64849
64850         * WebCore.exp.in:
64851         * page/Frame.cpp:
64852         (WebCore::Frame::countMatchesForText):
64853         * page/Frame.h:
64854         * page/Page.cpp:
64855         (WebCore::Page::markAllMatchesForText):
64856
64857 2010-08-31  Eric Carlson  <eric.carlson@apple.com>
64858
64859         Reviewed by Darin Adler.
64860
64861         canPlayType("application/octet-stream") must return ""
64862         https://bugs.webkit.org/show_bug.cgi?id=44985
64863
64864         * platform/graphics/MediaPlayer.cpp:
64865         (WebCore::MediaPlayer::supportsType): Always return IsNotSupported for application/octet-stream
64866
64867 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
64868
64869         Reviewed by Gustavo Noronha Silva.
64870
64871         [GTK] ScrollbarThemeGtk should respond to theme changes
64872         https://bugs.webkit.org/show_bug.cgi?id=44782
64873
64874         Scrollbar is currently written with the assumption that scrollbars never change
64875         thickness. In GTK+ changing the current theme can alter scrollbar thickness. This
64876         change manually resizes interior frame scrollbar widgets when the GTK+ theme changes.
64877         Since we are now tracking style changes, we may also cache theme properties to avoid
64878         having to call moz_gtk_get_scrollbar_metrics repeatedly during rendering.
64879
64880         * platform/gtk/RenderThemeGtk.cpp:
64881         (WebCore::RenderThemeGtk::gtkScrollbar): Added accessor for the Mozilla theming code's
64882         scrollbar widget. We access it here, because RenderThemGtk takes care of initializing
64883         the Mozilla code.
64884         * platform/gtk/RenderThemeGtk.h: Added accessor declaration.
64885         * platform/gtk/ScrollbarThemeGtk.cpp:
64886         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Update the style property cache during construction.
64887         (WebCore::ScrollbarThemeGtk::registerScrollbar): Track all interior frame scrollbars.
64888         (WebCore::ScrollbarThemeGtk::unregisterScrollbar): Ditto.
64889         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Added this method which updates the style cache.
64890         (WebCore::gtkStyleSetCallback): Added this signal handler for when the style changes.
64891         (WebCore::ScrollbarThemeGtk::backButtonRect): Use the style cache instead of calling moz_gtk_get_scrollbar_metrics.
64892         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
64893         (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
64894         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
64895         (WebCore::ScrollbarThemeGtk::thumbRect): Ditto.
64896         (WebCore::ScrollbarThemeGtk::paint): Ditto.
64897         (WebCore::ScrollbarThemeGtk::scrollbarThickness): Ditto.
64898         (WebCore::ScrollbarThemeGtk::buttonSize): Ditto.
64899         (WebCore::ScrollbarThemeGtk::minimumThumbLength): Ditto.
64900         * platform/gtk/ScrollbarThemeGtk.h: Added new method declarations.
64901
64902 2010-08-31  Darin Adler  <darin@apple.com>
64903
64904         Reviewed by Anders Carlsson.
64905
64906         Web archives are created with a size of 0 due to PassRefPtr mistake
64907         https://bugs.webkit.org/show_bug.cgi?id=44984
64908         rdar://problem/8042283
64909
64910         * loader/archive/ArchiveResource.cpp:
64911         (WebCore::ArchiveResource::ArchiveResource): Merge the three constructors into one.
64912         (WebCore::ArchiveResource::create): Merge the two create functions into one, and
64913         fix the logic so there is no use of a PassRefPtr after it has been passed.
64914         * loader/archive/ArchiveResource.h: Use default arguments instead of overloading
64915         to cut down from three create functions to two. Remove two of the constructors.
64916
64917 2010-08-31  Jian Li  <jianli@chromium.org>
64918
64919         Reviewed by David Levin.
64920
64921         Expose WorkerContext.createBlobURL and WorkerContext.revokeBlobURL.
64922         https://bugs.webkit.org/show_bug.cgi?id=44972
64923
64924         Test: fast/files/workers/worker-apply-blob-url-to-xhr.html
64925
64926         * page/SecurityOrigin.cpp:
64927         (WebCore::SecurityOrigin::canRequest):
64928         * workers/WorkerContext.cpp:
64929         (WebCore::WorkerContext::createBlobURL):
64930         (WebCore::WorkerContext::revokeBlobURL):
64931         * workers/WorkerContext.h:
64932         * workers/WorkerContext.idl:
64933
64934 2010-08-31  Darin Adler  <darin@apple.com>
64935
64936         Reviewed by Anders Carlsson.
64937
64938         * editing/TextIterator.cpp:
64939         (WebCore::TextIterator::handleTextBox):
64940         Added a cast so we can mix int and unsigned in a single ?: expression.
64941         This warns with clang, but strangely not with gcc.
64942
64943         * html/parser/HTMLTreeBuilder.cpp: Removed unused functions.
64944         The clang compiler notices and complains about these. If we need them
64945         later we should use Subversion to bring them back.
64946
64947 2010-08-31  Kenneth Russell  <kbr@google.com>
64948
64949         Reviewed by Simon Fraser.
64950
64951         Add cross product and arithmetic operations to FloatPoint3D
64952         https://bugs.webkit.org/show_bug.cgi?id=44970
64953
64954         Added set, move, and scale operations similar to FloatPoint's,
64955         addition and subtraction operators, length, lengthSquared and
64956         cross product. These changes have been tested with new code to be
64957         added later.
64958
64959         * platform/graphics/FloatPoint3D.cpp:
64960         (WebCore::FloatPoint3D::normalize):
64961         (WebCore::FloatPoint3D::length):
64962         * platform/graphics/FloatPoint3D.h:
64963         (WebCore::FloatPoint3D::set):
64964         (WebCore::FloatPoint3D::move):
64965         (WebCore::FloatPoint3D::scale):
64966         (WebCore::FloatPoint3D::dot):
64967         (WebCore::FloatPoint3D::cross):
64968         (WebCore::FloatPoint3D::lengthSquared):
64969         (WebCore::operator +=):
64970         (WebCore::operator -=):
64971         (WebCore::operator+):
64972         (WebCore::operator-):
64973         (WebCore::operator*):
64974
64975 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
64976
64977         Reviewed by Gustavo Noronha Silva.
64978
64979         [GTK] Isolate all GTK+ typedefs into one file
64980         https://bugs.webkit.org/show_bug.cgi?id=44900
64981
64982         * platform/graphics/gtk/CairoUtilities.h: Remove GTK+ typedefs.
64983         * platform/gtk/ClipboardGtk.h: Ditto.
64984         * platform/gtk/DataObjectGtk.h: Ditto.
64985         * platform/gtk/GOwnPtrGtk.h: Ditto.
64986         * platform/gtk/GRefPtrGtk.h: Ditto.
64987         * platform/gtk/PasteboardHelper.h: Ditto.
64988         * platform/gtk/PopupMenuGtk.h: Ditto.
64989         * platform/gtk/RenderThemeGtk.h: Ditto.
64990         * platform/gtk/ScrollbarGtk.h: Ditto.
64991         * platform/gtk/gtk2drawing.c: Remove unused Assertions.h.
64992
64993 2010-08-31  Tony Chang  <tony@chromium.org>
64994
64995         Unreviewed, fix chromium compile.
64996
64997         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
64998
64999 2010-08-31  Chris Rogers  <crogers@google.com>
65000
65001         Reviewed by Kenneth Russell.
65002
65003         audio engine: add FFTConvolver class
65004         https://bugs.webkit.org/show_bug.cgi?id=34907
65005
65006         No new tests since audio API is not yet implemented.
65007
65008         * platform/audio: Added.
65009         * platform/audio/FFTConvolver.cpp: Added.
65010         (WebCore::FFTConvolver::FFTConvolver):
65011         (WebCore::FFTConvolver::process):
65012         (WebCore::FFTConvolver::reset):
65013         * platform/audio/FFTConvolver.h: Added.
65014         (WebCore::FFTConvolver::fftSize):
65015
65016 2010-08-31  Jian Li  <jianli@chromium.org>
65017
65018         Reviewed by Darin Fisher and David Levin.
65019
65020         Fix ThreadableBlobRegistry methods not to rely on WorkerContext.
65021         https://bugs.webkit.org/show_bug.cgi?id=44971
65022
65023         We could hit an ASSERT when we're performing some blob related cleanup
65024         in ScriptExecutionContext destructor when WorkerContext dies. The fix
65025         is to use isMainThread and callOnMainThread.
65026
65027         * fileapi/ThreadableBlobRegistry.cpp:
65028         (WebCore::BlobRegistryContext::BlobRegistryContext):
65029         (WebCore::registerBlobURLTask):
65030         (WebCore::ThreadableBlobRegistry::registerBlobURL):
65031         (WebCore::registerBlobURLFromTask):
65032         (WebCore::unregisterBlobURLTask):
65033         (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
65034
65035 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
65036
65037         Reviewed by Gustavo Noronha Silva.
65038
65039         [GTK] Fix 'make dist' in preparation of the 1.3.3 release
65040         https://bugs.webkit.org/show_bug.cgi?id=44978
65041
65042         * GNUmakefile.am: Add missing and moved headers to the sources list.
65043
65044 2010-08-31  Ryuan Choi  <ryuan.choi@samsung.com>
65045
65046         Reviewed by Antonio Gomes.
65047
65048         [EFL] crashes while dragging any contents
65049         https://bugs.webkit.org/show_bug.cgi?id=44940
65050
65051         Fix crashes caused by returning newly assigned value instead of adoptRef
65052         value.
65053
65054         * page/efl/EventHandlerEfl.cpp:
65055         (WebCore::EventHandler::createDraggingClipboard):
65056         * platform/efl/ClipboardEfl.cpp:
65057         (WebCore::Editor::newGeneralClipboard):
65058         * platform/efl/ClipboardEfl.h:
65059         (WebCore::ClipboardEfl::create):
65060
65061 2010-08-31  Ilya Tikhonovsky  <loislo@chromium.org>
65062
65063         Reviewed by Yury Semikhatsky.
65064
65065         WebInspector: The parser of Inspector protocol messages should be covered by a test.
65066
65067         The inspector protocol is based on messages in JSON format.
65068         Each message should be a JSON object with a number of properties.
65069         InspectorBackendDispatcher is parsing these messages and should be
65070         able to detect wrong formatted messages.
65071         It has these functionality but no tests for it.
65072
65073         https://bugs.webkit.org/show_bug.cgi?id=44947
65074
65075
65076         * inspector/CodeGeneratorInspector.pm:
65077
65078 2010-08-31  Anton Muhin  <antonm@chromium.org>
65079
65080         Reviewed by Adam Barth.
65081
65082         [v8] More correct and faster error handling when converting v8 objects to various WebCore strings
65083         https://bugs.webkit.org/show_bug.cgi?id=44678
65084
65085         Split v8 object conversion into two phase: 1st, which can throw an exception, and
65086         2nd, which must always succeed.  That allows to report correctly the case when exception
65087         happens.
65088
65089         * bindings/scripts/CodeGeneratorV8.pm:
65090         * bindings/v8/V8Binding.cpp:
65091         (WebCore::int32ToWebCoreString):
65092         (WebCore::v8NonStringValueToWebCoreString):
65093         * bindings/v8/V8Binding.h:
65094         (WebCore::V8ParameterBase::operator String):
65095         (WebCore::V8ParameterBase::operator AtomicString):
65096         (WebCore::V8ParameterBase::V8ParameterBase):
65097         (WebCore::V8ParameterBase::prepareBase):
65098         (WebCore::V8ParameterBase::object):
65099         (WebCore::V8ParameterBase::setString):
65100         (WebCore::V8ParameterBase::toString):
65101         (WebCore::):
65102         (WebCore::::prepare):
65103         * bindings/v8/custom/V8BindingMacros.h:
65104         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
65105         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
65106         * bindings/v8/cstom/V8DeviceOrientationEventCustom.cpp:
65107         (WebCore::V8DeviceMotionEvent::initDeviceOrientationEventCallback):
65108
65109 2010-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
65110
65111         Reviewed by Joseph Pecoraro.
65112
65113         WebInspector: it'd be better to introduce inspector API related tests.
65114
65115         As far as we have some kind of API for Inspector
65116         it'd be better to have API related tests. This is the test
65117         for API wrappers. These wrappers are tracking the types of arguments
65118         of API functions.
65119
65120         https://bugs.webkit.org/show_bug.cgi?id=44875
65121
65122         Test: inspector/protocol-error.html
65123
65124         * inspector/CodeGeneratorInspector.pm:
65125         * inspector/front-end/inspector.js:
65126         (WebInspector_syncDispatch):
65127         (WebInspector.reportProtocolError):
65128
65129 2010-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
65130
65131         Unreviewed, rolling out r66484.
65132         http://trac.webkit.org/changeset/66484
65133         https://bugs.webkit.org/show_bug.cgi?id=44966
65134
65135         Broke EFL build (Requested by acidx on #webkit).
65136
65137         * CMakeLists.txt:
65138
65139 2010-08-31  Ojan Vafai  <ojan@chromium.org>
65140
65141         Reviewed by Tony Chang.
65142
65143         deduplicate code from Node::checkReplaceChild and Node::checkAddChild
65144         https://bugs.webkit.org/show_bug.cgi?id=44962
65145
65146         Remove duplicate code in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=19524
65147         No new tests since there is no change in functionality.
65148
65149         * dom/Node.cpp:
65150         (WebCore::isChildTypeAllowed):
65151         (WebCore::Node::canReplaceChild):
65152         (WebCore::checkAcceptChild):
65153         (WebCore::transferOwnerDocument):
65154         (WebCore::Node::checkReplaceChild):
65155         (WebCore::Node::checkAddChild):
65156
65157 2010-08-30  Zhenyao Mo  <zmo@google.com>
65158
65159         Reviewed by Kenneth Russell.
65160
65161         [Chromium] bindTexture(TEXTURE_CUBE_MAP) shouldn't generate errors with valid cubemap texture
65162         https://bugs.webkit.org/show_bug.cgi?id=44922
65163
65164         * html/canvas/WebGLRenderingContext.cpp: Remove TEXTURE_WRAP_R code.
65165         (WebCore::WebGLRenderingContext::bindTexture):
65166         * html/canvas/WebGLTexture.cpp: Remove the code for tracking TEXTURE_WRAP_R.
65167         (WebCore::WebGLTexture::WebGLTexture):
65168         * html/canvas/WebGLTexture.h: Ditto.
65169
65170 2010-08-31  Jian Li  <jianli@chromium.org>
65171
65172         Rubber-stamped by David Levin.
65173
65174         Rename addTwoCStrings to concatenateTwoCStrings.
65175
65176         * fileapi/BlobBuilder.cpp:
65177         (WebCore::concatenateTwoCStrings):
65178         (WebCore::BlobBuilder::append):
65179
65180 2010-08-31  Jian Li  <jianli@chromium.org>
65181
65182         Reviewed by Darin Fisher.
65183
65184         Improve BlobBuilder to combine adjacent strings.
65185         https://bugs.webkit.org/show_bug.cgi?id=44884
65186
65187         * fileapi/BlobBuilder.cpp:
65188         (WebCore::addTwoCStrings):
65189         (WebCore::BlobBuilder::append):
65190
65191 2010-08-31  Darin Adler  <darin@apple.com>
65192
65193         Reviewed by Simon Fraser.
65194
65195         Make DOM classes start with a reference count of 1, like all other RefCounted
65196         https://bugs.webkit.org/show_bug.cgi?id=28068
65197
65198         * dom/Document.cpp:
65199         (WebCore::Document::accessSVGExtensions): Use adoptPtr instead of set.
65200
65201         * dom/Document.h: Removed initialRefCount in Node constructor. It's always 1 now.
65202
65203         * dom/Node.h: Removed CreateWithZeroRefCountFlag, CreateStyledElementZeroRefCount,
65204         CreateSVGElementZeroRefCount, and initialRefCount.
65205
65206         * platform/TreeShared.h: Removed initialRefCount argument. It's always 1 now.
65207
65208         * rendering/RenderSVGShadowTreeRootContainer.cpp:
65209         (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Use create
65210         instead of new.
65211
65212         * rendering/SVGResources.h: Inherit from Noncopyable.
65213
65214         * rendering/SVGResourcesCache.cpp:
65215         (WebCore::SVGResourcesCache::~SVGResourcesCache): Removed unneeded special
65216         case code.
65217
65218         * rendering/SVGShadowTreeElements.cpp:
65219         (WebCore::SVGShadowTreeContainerElement::create): Added.
65220         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Made argument
65221         type more specific.
65222         (WebCore::SVGShadowTreeRootElement::create): Added.
65223         * rendering/SVGShadowTreeElements.h: Added create functions, and made the
65224         argument type more specific.
65225
65226         * svg/SVGDocumentExtensions.cpp:
65227         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Use adoptPtr.
65228         * svg/graphics/SVGImage.cpp:
65229         (WebCore::SVGImage::dataChanged): Use adoptPtr instead of set.
65230
65231         * svg/SVGElement.cpp:
65232         (WebCore::SVGElement::SVGElement): Use CreateSVGElement instead of
65233         CreateSVGElementZeroRefCount.
65234         (WebCore::SVGElement::create): Use adoptRef.
65235
65236         * wml/WMLElement.cpp:
65237         (WebCore::WMLElement::WMLElement): Use CreateStyledElement instead of
65238         CreateStyledElementZeroRefCount.
65239         (WebCore::WMLElement::create): Use adoptRef.
65240
65241         * svg/SVGAElement.cpp:
65242         (WebCore::SVGAElement::create):
65243         * svg/SVGAltGlyphElement.cpp:
65244         (WebCore::SVGAltGlyphElement::create):
65245         * svg/SVGAnimateColorElement.cpp:
65246         (WebCore::SVGAnimateColorElement::create):
65247         * svg/SVGAnimateElement.cpp:
65248         (WebCore::SVGAnimateElement::create):
65249         * svg/SVGAnimateMotionElement.cpp:
65250         (WebCore::SVGAnimateMotionElement::create):
65251         * svg/SVGAnimateTransformElement.cpp:
65252         (WebCore::SVGAnimateTransformElement::create):
65253         * svg/SVGCircleElement.cpp:
65254         (WebCore::SVGCircleElement::create):
65255         * svg/SVGClipPathElement.cpp:
65256         (WebCore::SVGClipPathElement::create):
65257         * svg/SVGCursorElement.cpp:
65258         (WebCore::SVGCursorElement::create):
65259         * svg/SVGDefsElement.cpp:
65260         (WebCore::SVGDefsElement::create):
65261         * svg/SVGDescElement.cpp:
65262         (WebCore::SVGDescElement::create):
65263         * svg/SVGEllipseElement.cpp:
65264         (WebCore::SVGEllipseElement::create):
65265         * svg/SVGFEBlendElement.cpp:
65266         (WebCore::SVGFEBlendElement::create):
65267         * svg/SVGFEColorMatrixElement.cpp:
65268         (WebCore::SVGFEColorMatrixElement::create):
65269         * svg/SVGFEComponentTransferElement.cpp:
65270         (WebCore::SVGFEComponentTransferElement::create):
65271         * svg/SVGFECompositeElement.cpp:
65272         (WebCore::SVGFECompositeElement::create):
65273         * svg/SVGFEConvolveMatrixElement.cpp:
65274         (WebCore::SVGFEConvolveMatrixElement::create):
65275         * svg/SVGFEDiffuseLightingElement.cpp:
65276         (WebCore::SVGFEDiffuseLightingElement::create):
65277         * svg/SVGFEDisplacementMapElement.cpp:
65278         (WebCore::SVGFEDisplacementMapElement::create):
65279         * svg/SVGFEDistantLightElement.cpp:
65280         (WebCore::SVGFEDistantLightElement::create):
65281         * svg/SVGFEFloodElement.cpp:
65282         (WebCore::SVGFEFloodElement::create):
65283         * svg/SVGFEFuncAElement.cpp:
65284         (WebCore::SVGFEFuncAElement::create):
65285         * svg/SVGFEFuncBElement.cpp:
65286         (WebCore::SVGFEFuncBElement::create):
65287         * svg/SVGFEFuncGElement.cpp:
65288         (WebCore::SVGFEFuncGElement::create):
65289         * svg/SVGFEFuncRElement.cpp:
65290         (WebCore::SVGFEFuncRElement::create):
65291         * svg/SVGFEGaussianBlurElement.cpp:
65292         (WebCore::SVGFEGaussianBlurElement::create):
65293         * svg/SVGFEImageElement.cpp:
65294         (WebCore::SVGFEImageElement::create):
65295         * svg/SVGFEMergeElement.cpp:
65296         (WebCore::SVGFEMergeElement::create):
65297         * svg/SVGFEMergeNodeElement.cpp:
65298         (WebCore::SVGFEMergeNodeElement::create):
65299         * svg/SVGFEMorphologyElement.cpp:
65300         (WebCore::SVGFEMorphologyElement::create):
65301         * svg/SVGFEOffsetElement.cpp:
65302         (WebCore::SVGFEOffsetElement::create):
65303         * svg/SVGFEPointLightElement.cpp:
65304         (WebCore::SVGFEPointLightElement::create):
65305         * svg/SVGFESpecularLightingElement.cpp:
65306         (WebCore::SVGFESpecularLightingElement::create):
65307         * svg/SVGFESpotLightElement.cpp:
65308         (WebCore::SVGFESpotLightElement::create):
65309         * svg/SVGFETileElement.cpp:
65310         (WebCore::SVGFETileElement::create):
65311         * svg/SVGFETurbulenceElement.cpp:
65312         (WebCore::SVGFETurbulenceElement::create):
65313         * svg/SVGFilterElement.cpp:
65314         (WebCore::SVGFilterElement::create):
65315         * svg/SVGFontElement.cpp:
65316         (WebCore::SVGFontElement::create):
65317         * svg/SVGFontFaceElement.cpp:
65318         (WebCore::SVGFontFaceElement::create):
65319         * svg/SVGFontFaceFormatElement.cpp:
65320         (WebCore::SVGFontFaceFormatElement::create):
65321         * svg/SVGFontFaceNameElement.cpp:
65322         (WebCore::SVGFontFaceNameElement::create):
65323         * svg/SVGFontFaceSrcElement.cpp:
65324         (WebCore::SVGFontFaceSrcElement::create):
65325         * svg/SVGFontFaceUriElement.cpp:
65326         (WebCore::SVGFontFaceUriElement::create):
65327         * svg/SVGForeignObjectElement.cpp:
65328         (WebCore::SVGForeignObjectElement::create):
65329         * svg/SVGGElement.cpp:
65330         (WebCore::SVGGElement::create):
65331         * svg/SVGGlyphElement.cpp:
65332         (WebCore::SVGGlyphElement::create):
65333         * svg/SVGHKernElement.cpp:
65334         (WebCore::SVGHKernElement::create):
65335         * svg/SVGImageElement.cpp:
65336         (WebCore::SVGImageElement::create):
65337         * svg/SVGLineElement.cpp:
65338         (WebCore::SVGLineElement::create):
65339         * svg/SVGLinearGradientElement.cpp:
65340         (WebCore::SVGLinearGradientElement::create):
65341         * svg/SVGMPathElement.cpp:
65342         (WebCore::SVGMPathElement::create):
65343         * svg/SVGMarkerElement.cpp:
65344         (WebCore::SVGMarkerElement::create):
65345         * svg/SVGMaskElement.cpp:
65346         (WebCore::SVGMaskElement::create):
65347         * svg/SVGMetadataElement.cpp:
65348         (WebCore::SVGMetadataElement::create):
65349         * svg/SVGMissingGlyphElement.cpp:
65350         (WebCore::SVGMissingGlyphElement::create):
65351         * svg/SVGPathElement.cpp:
65352         (WebCore::SVGPathElement::create):
65353         * svg/SVGPatternElement.cpp:
65354         (WebCore::SVGPatternElement::create):
65355         * svg/SVGPolygonElement.cpp:
65356         (WebCore::SVGPolygonElement::create):
65357         * svg/SVGPolylineElement.cpp:
65358         (WebCore::SVGPolylineElement::create):
65359         * svg/SVGRadialGradientElement.cpp:
65360         (WebCore::SVGRadialGradientElement::create):
65361         * svg/SVGRectElement.cpp:
65362         (WebCore::SVGRectElement::create):
65363         * svg/SVGSVGElement.cpp:
65364         (WebCore::SVGSVGElement::create):
65365         (WebCore::SVGSVGElement::currentView):
65366         * svg/SVGScriptElement.cpp:
65367         (WebCore::SVGScriptElement::create):
65368         * svg/SVGSetElement.cpp:
65369         (WebCore::SVGSetElement::create):
65370         * svg/SVGStopElement.cpp:
65371         (WebCore::SVGStopElement::create):
65372         * svg/SVGStyleElement.cpp:
65373         (WebCore::SVGStyleElement::create):
65374         * svg/SVGSwitchElement.cpp:
65375         (WebCore::SVGSwitchElement::create):
65376         * svg/SVGSymbolElement.cpp:
65377         (WebCore::SVGSymbolElement::create):
65378         * svg/SVGTRefElement.cpp:
65379         (WebCore::SVGTRefElement::create):
65380         * svg/SVGTSpanElement.cpp:
65381         (WebCore::SVGTSpanElement::create):
65382         * svg/SVGTextElement.cpp:
65383         (WebCore::SVGTextElement::create):
65384         * svg/SVGTextPathElement.cpp:
65385         (WebCore::SVGTextPathElement::create):
65386         * svg/SVGTitleElement.cpp:
65387         (WebCore::SVGTitleElement::create):
65388         * svg/SVGUseElement.cpp:
65389         (WebCore::SVGUseElement::create):
65390         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
65391         * svg/SVGVKernElement.cpp:
65392         (WebCore::SVGVKernElement::create):
65393         * svg/SVGViewElement.cpp:
65394         (WebCore::SVGViewElement::create):
65395         * wml/WMLAElement.cpp:
65396         (WebCore::WMLAElement::create):
65397         * wml/WMLAccessElement.cpp:
65398         (WebCore::WMLAccessElement::create):
65399         * wml/WMLAnchorElement.cpp:
65400         (WebCore::WMLAnchorElement::create):
65401         * wml/WMLBRElement.cpp:
65402         (WebCore::WMLBRElement::create):
65403         * wml/WMLCardElement.cpp:
65404         (WebCore::WMLCardElement::create):
65405         * wml/WMLDoElement.cpp:
65406         (WebCore::WMLDoElement::create):
65407         * wml/WMLDocument.h:
65408         (WebCore::WMLDocument::create):
65409         * wml/WMLFieldSetElement.cpp:
65410         (WebCore::WMLFieldSetElement::create):
65411         * wml/WMLFormControlElement.cpp:
65412         (WebCore::WMLFormControlElement::create):
65413         * wml/WMLGoElement.cpp:
65414         (WebCore::WMLGoElement::create):
65415         * wml/WMLImageElement.cpp:
65416         (WebCore::WMLImageElement::create):
65417         * wml/WMLInputElement.cpp:
65418         (WebCore::WMLInputElement::create):
65419         * wml/WMLInsertedLegendElement.cpp:
65420         (WebCore::WMLInsertedLegendElement::create):
65421         * wml/WMLIntrinsicEvent.cpp:
65422         (WebCore::WMLIntrinsicEvent::create):
65423         * wml/WMLMetaElement.cpp:
65424         (WebCore::WMLMetaElement::create):
65425         * wml/WMLNoopElement.cpp:
65426         (WebCore::WMLNoopElement::create):
65427         * wml/WMLOnEventElement.cpp:
65428         (WebCore::WMLOnEventElement::create):
65429         * wml/WMLOptGroupElement.cpp:
65430         (WebCore::WMLOptGroupElement::create):
65431         * wml/WMLOptionElement.cpp:
65432         (WebCore::WMLOptionElement::create):
65433         * wml/WMLPElement.cpp:
65434         (WebCore::WMLPElement::create):
65435         * wml/WMLPostfieldElement.cpp:
65436         (WebCore::WMLPostfieldElement::create):
65437         * wml/WMLPrevElement.cpp:
65438         (WebCore::WMLPrevElement::create):
65439         * wml/WMLRefreshElement.cpp:
65440         (WebCore::WMLRefreshElement::create):
65441         * wml/WMLSelectElement.cpp:
65442         (WebCore::WMLSelectElement::create):
65443         * wml/WMLSetvarElement.cpp:
65444         (WebCore::WMLSetvarElement::create):
65445         * wml/WMLTableElement.cpp:
65446         (WebCore::WMLTableElement::create):
65447         * wml/WMLTaskElement.cpp:
65448         (WebCore::WMLTaskElement::create):
65449         * wml/WMLTemplateElement.cpp:
65450         (WebCore::WMLTemplateElement::create):
65451         * wml/WMLTimerElement.cpp:
65452         (WebCore::WMLTimerElement::create):
65453         Use adoptRef.
65454
65455 2010-08-31  Justin Schuh  <jschuh@chromium.org>
65456
65457         Reviewed by Nate Chapin.
65458
65459         Local frame loads should check against origin (not referrer)
65460         https://bugs.webkit.org/show_bug.cgi?id=44888
65461
65462         Test: fast/frames/iframe-no-src-local-origin-allow.html
65463
65464         * loader/SubframeLoader.cpp:
65465         (WebCore::SubframeLoader::loadSubframe):
65466
65467 2010-08-25  Zhenyao Mo  <zmo@google.com>
65468
65469         Reviewed by Kenneth Russell.
65470
65471         Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (cg)
65472         https://bugs.webkit.org/show_bug.cgi?id=44566
65473
65474         * platform/graphics/cg/GraphicsContext3DCG.cpp:
65475         (WebCore::GraphicsContext3D::getImageData): Fix the premultiplyAlpha issue for cg.
65476
65477 2010-08-31  Dave Hyatt  <hyatt@apple.com>
65478
65479         Reviewed by Adam Roben.
65480
65481         https://bugs.webkit.org/show_bug.cgi?id=44956, paginate block-level replaced elements.
65482        <rdar://problem/8000991> Images with display:block get split between columns or pages
65483
65484         Added fast/multicol/paginate-block-replaced.html
65485
65486         * rendering/RenderBlock.cpp:
65487         (WebCore::RenderBlock::paintChildren):
65488
65489 2010-08-31  Alexey Proskuryakov  <ap@apple.com>
65490
65491         Reviewed by Darin Adler.
65492
65493         https://bugs.webkit.org/show_bug.cgi?id=36515
65494         CSS style definitions are ignored if they just follow a "@charset" which appears in lines
65495         other than the first line in stylesheet.
65496
65497         Test: fast/css/misplaced-charset.html
65498
65499         * css/CSSGrammar.y: Ignore a misplaced charset rule without consuming extra characters and
65500         thus breaking subsequent rules.
65501
65502 2010-08-31  Patrick Gansterer  <paroga@paroga.com>
65503
65504         Reviewed by Antonio Gomes.
65505
65506         [CMake] Add IF (ENABLE_MATHML) around MathML sources
65507         https://bugs.webkit.org/show_bug.cgi?id=44927
65508
65509         * CMakeLists.txt:
65510
65511 2010-08-31  Patrick Gansterer  <paroga@paroga.com>
65512
65513         Reviewed by Kenneth Rohde Christiansen.
65514
65515         [CMake] Unify GENERATE_DOM_NAMES code
65516         https://bugs.webkit.org/show_bug.cgi?id=44842
65517
65518         * CMakeLists.txt: Added property svn:eol-style.
65519
65520 2010-08-31  Daniel Cheng  <dcheng@chromium.org>
65521
65522         Reviewed by Tony Chang.
65523
65524         [chromium] Add an interface for platform copy/paste drag/drop data objects
65525         https://bugs.webkit.org/show_bug.cgi?id=44914
65526
65527         Currently, Chromium only supports a few hardcoded data types in
65528         event.dataTransfer. This is the first of several patches to add support
65529         for arbitrary data types.
65530
65531         No new tests.
65532
65533         * WebCore.gypi:
65534         * platform/chromium/ChromiumDataObjectNew.h: Added.
65535         * platform/chromium/ClipboardChromium.cpp:
65536
65537 2010-08-30  Andrey Kosyakov  <caseq@chromium.org>
65538
65539         Reviewed by Yury Semikhatsky.
65540
65541         Web Inspector: add audits support to extension API
65542         Exposed (late) adding of categories from AuditPanel.
65543         Removed indexOfObjectInListSortedByFunction in favor of
65544         insertionIndexForObjectInListSortedByFunction (the former had
65545         weird interface always returning negative numbers and was only used in
65546         the latter).
65547         https://bugs.webkit.org/show_bug.cgi?id=44518
65548
65549         Tests: inspector/extensions-audits-api.html
65550                inspector/extensions-audits.html
65551
65552         * WebCore.gypi:
65553         * WebCore.vcproj/WebCore.vcproj:
65554         * inspector/front-end/AuditFormatters.js: Added.
65555         (WebInspector.applyFormatters):
65556         (WebInspector.AuditFormatters.text):
65557         (WebInspector.AuditFormatters.snippet):
65558         (WebInspector.AuditFormatters.concat):
65559         (WebInspector.AuditFormatters.url):
65560         * inspector/front-end/AuditLauncherView.js:
65561         (WebInspector.AuditLauncherView):
65562         (WebInspector.AuditLauncherView.prototype.addCategory.compareCategories):
65563         (WebInspector.AuditLauncherView.prototype.addCategory):
65564         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
65565         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
65566         (WebInspector.AuditLauncherView.prototype._categoryClicked):
65567         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
65568         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
65569         * inspector/front-end/AuditResultView.js:
65570         (WebInspector.AuditCategoryResultPane.prototype._appendResult):
65571         * inspector/front-end/AuditsPanel.js:
65572         (WebInspector.AuditsPanel):
65573         (WebInspector.AuditsPanel.prototype.addCategory):
65574         (WebInspector.AuditsPanel.prototype.getCategory):
65575         (WebInspector.AuditsPanel.prototype._executeAudit):
65576         (WebInspector.AuditCategory.prototype.run):
65577         * inspector/front-end/ExtensionAPI.js:
65578         (WebInspector.injectedExtensionAPI):
65579         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
65580         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._fire):
65581         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._dispatch):
65582         (WebInspector.injectedExtensionAPI.EventSink):
65583         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
65584         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
65585         (WebInspector.injectedExtensionAPI.Audits):
65586         (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
65587         (WebInspector.injectedExtensionAPI.AuditCategory.customDispatch):
65588         (WebInspector.injectedExtensionAPI.AuditCategory):
65589         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
65590         (WebInspector.injectedExtensionAPI.AuditResult):
65591         (WebInspector.injectedExtensionAPI.AuditResult.prototype.get Severity):
65592         (WebInspector.injectedExtensionAPI.AuditResultImpl):
65593         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.addResult):
65594         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.createResult):
65595         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.done):
65596         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype._nodeFactory):
65597         (WebInspector.injectedExtensionAPI.AuditResultNode):
65598         (WebInspector.injectedExtensionAPI.AuditResultNode.prototype.addChild):
65599         * inspector/front-end/ExtensionAuditCategory.js: Added.
65600         (WebInspector.ExtensionAuditCategory):
65601         (WebInspector.ExtensionAuditCategory.prototype.get id):
65602         (WebInspector.ExtensionAuditCategory.prototype.get displayName):
65603         (WebInspector.ExtensionAuditCategory.prototype.get ruleCount):
65604         (WebInspector.ExtensionAuditCategory.prototype.run):
65605         (WebInspector.ExtensionAuditCategoryResults):
65606         (WebInspector.ExtensionAuditCategoryResults.prototype.get complete):
65607         (WebInspector.ExtensionAuditCategoryResults.prototype.cancel):
65608         (WebInspector.ExtensionAuditCategoryResults.prototype.addResult):
65609         (WebInspector.ExtensionAuditCategoryResults.prototype._addNode):
65610         (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
65611         * inspector/front-end/ExtensionCommon.js: Added.
65612         (WebInspector.commonExtensionSymbols):
65613         * inspector/front-end/ExtensionServer.js:
65614         (WebInspector.ExtensionServer):
65615         (WebInspector.ExtensionServer.prototype.startAuditRun):
65616         (WebInspector.ExtensionServer.prototype.stopAuditRun):
65617         (WebInspector.ExtensionServer.prototype._postNotification):
65618         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
65619         (WebInspector.ExtensionServer.prototype._onAddAuditResult):
65620         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
65621         (WebInspector.ExtensionServer.prototype._addExtensions):
65622         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
65623         (WebInspector.ExtensionStatus):
65624         * inspector/front-end/WebKit.qrc:
65625         * inspector/front-end/inspector.html:
65626         * inspector/front-end/utilities.js:
65627         ():
65628
65629 2010-08-31  Justin Schuh  <jschuh@chromium.org>
65630
65631         Reviewed by Nate Chapin.
65632
65633         Remove unused canReferToParentFrameEncoding() function from FrameLoader.cpp
65634         https://bugs.webkit.org/show_bug.cgi?id=44895
65635
65636         No new tests; no behavior changed.
65637
65638         * loader/FrameLoader.cpp:
65639
65640 2010-08-31  Jeremy Orlow  <jorlow@chromium.org>
65641
65642         Build fix.
65643
65644         * storage/IDBObjectStoreBackendImpl.cpp:
65645         (WebCore::IDBObjectStoreBackendImpl::openCursor):
65646
65647 2010-08-24  Jeremy Orlow  <jorlow@chromium.org>
65648
65649         Reviewed by Steve Block.
65650
65651         Implement the rest of IDBCursors + make them persistent
65652         https://bugs.webkit.org/show_bug.cgi?id=44546
65653
65654         Because the old (memory only) backend didn't support ranges, IDBCursors
65655         were never really finished.  This completes them on top of SQLite like
65656         the rest of IndexedDB.
65657
65658         Test: storage/indexeddb/objectstore-cursor.html
65659
65660         * storage/IDBCursor.cpp:
65661         (WebCore::IDBCursor::value):
65662         * storage/IDBCursorBackendImpl.cpp:
65663         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
65664         (WebCore::IDBCursorBackendImpl::key):
65665         (WebCore::IDBCursorBackendImpl::value):
65666         (WebCore::IDBCursorBackendImpl::update):
65667         (WebCore::IDBCursorBackendImpl::continueFunction):
65668         (WebCore::IDBCursorBackendImpl::remove):
65669         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
65670         * storage/IDBCursorBackendImpl.h:
65671         (WebCore::IDBCursorBackendImpl::create):
65672         * storage/IDBCursorBackendInterface.h:
65673         * storage/IDBKey.cpp:
65674         (WebCore::IDBKey::isEqual):
65675         * storage/IDBKey.h:
65676         * storage/IDBKeyRange.cpp:
65677         (WebCore::IDBKeyRange::leftBound):
65678         (WebCore::IDBKeyRange::rightBound):
65679         (WebCore::IDBKeyRange::bound):
65680         * storage/IDBObjectStoreBackendImpl.cpp:
65681         (WebCore::cursorWhereFragment):
65682         (WebCore::IDBObjectStoreBackendImpl::openCursor):
65683
65684 2010-08-27  John Gregg  <johnnyg@google.com>
65685
65686         Reviewed by David Levin.
65687
65688         Notifications should support a click event
65689         https://bugs.webkit.org/show_bug.cgi?id=44800
65690
65691         Test: fast/notifications/notifications-click-event.html
65692
65693         * notifications/Notification.h:
65694         * notifications/Notification.idl:
65695
65696 2010-08-31  Kent Tamura  <tkent@chromium.org>
65697
65698         Reviewed by Adam Barth.
65699
65700         [V8] Custom binding for "dataset"
65701         https://bugs.webkit.org/show_bug.cgi?id=44930
65702
65703         * WebCore.gyp/WebCore.gyp: Remove the exclusion of DOMStringMap.idl.
65704         * WebCore.gypi: Add V8DOMStringMapCustom.cpp.
65705         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Added.
65706         (WebCore::V8DOMStringMap::namedPropertyQuery):
65707         (WebCore::V8DOMStringMap::namedPropertyGetter):
65708         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
65709         (WebCore::V8DOMStringMap::namedPropertyDeleter):
65710         (WebCore::V8DOMStringMap::namedPropertySetter):
65711         * dom/Element.idl: Remove V8 exclusion.
65712         * page/DOMWindow.idl: ditto.
65713
65714 2010-08-31  Jian Li  <jianli@chromium.org>
65715
65716         Fix chromium build break.
65717
65718         * page/DOMWindow.h:
65719
65720 2010-08-31  Adam Barth  <abarth@webkit.org>
65721
65722         Reviewed by Eric Seidel.
65723
65724         Stale document crashes at multiple URLs (with new parser)
65725         https://bugs.webkit.org/show_bug.cgi?id=44885
65726
65727         We're not supposed to load resources in detached documents.  According
65728         to several locations I examined, it's the job of the caller of
65729         DocLoader to check this invariant.  Like most code dealing with
65730         detached documents, this check isn't overly consistent.  At some point,
65731         we'll need to rationalize all the different patterns here.  However, at
65732         this point, this patch appears correct because it matches what we do
65733         for <link rel="stylesheet">.
65734
65735         Test: fast/dom/HTMLLinkElement/prefetch-detached.html
65736
65737         * html/HTMLLinkElement.cpp:
65738         (WebCore::HTMLLinkElement::process):
65739         * loader/DocLoader.cpp:
65740         (WebCore::DocLoader::requestLinkPrefetch):
65741
65742 2010-08-31  Jian Li  <jianli@chromium.org>
65743
65744         Reviewed by David Levin.
65745
65746         Expose window.createBlobURL and window.revokeBlobURL.
65747         https://bugs.webkit.org/show_bug.cgi?id=44908
65748
65749         Tests: fast/files/apply-blob-url-to-img.html
65750                fast/files/apply-blob-url-to-xhr.html
65751
65752         * page/DOMWindow.cpp:
65753         (WebCore::DOMWindow::createBlobURL):
65754         (WebCore::DOMWindow::revokeBlobURL):
65755         * page/DOMWindow.h:
65756         * page/DOMWindow.idl:
65757         * xml/XMLHttpRequest.cpp:
65758         (WebCore::XMLHttpRequest::createRequest):
65759
65760 2010-08-31  Jian Li  <jianli@chromium.org>
65761
65762         Reviewed by David Levin.
65763
65764         Support FileReaderSync in workers.
65765         https://bugs.webkit.org/show_bug.cgi?id=44657
65766
65767         Also add FileException interface and make Blob/File/FileError useable in
65768         workers.
65769
65770         Tests: fast/files/workers/worker-read-blob-async.html
65771                fast/files/workers/worker-read-blob-sync.html
65772                fast/files/workers/worker-read-file-async.html
65773                fast/files/workers/worker-read-file-sync.html
65774
65775         * DerivedSources.cpp:
65776         * DerivedSources.make:
65777         * WebCore.gypi:
65778         * WebCore.pro:
65779         * WebCore.vcproj/WebCore.vcproj:
65780         * WebCore.xcodeproj/project.pbxproj:
65781         * fileapi/Blob.idl: Added NoStaticTables attribute.
65782         * fileapi/File.idl: Added NoStaticTables attribute.
65783         * fileapi/FileError.idl: Added NoStaticTables attribute.
65784         * fileapi/FileException.h: Added.
65785         * fileapi/FileException.idl: Added.
65786         * fileapi/FileReaderSync.cpp: Added.
65787         * fileapi/FileReaderSync.h: Added.
65788         * fileapi/FileReaderSync.idl: Added.
65789         * workers/WorkerContext.idl: Expose FileReaderSync and BlodBuilder in workers.
65790
65791 2010-08-30  Philippe Normand  <pnormand@igalia.com>
65792
65793         Reviewed by Martin Robinson.
65794
65795         [GTK] Buffered ranges drawing support
65796         https://bugs.webkit.org/show_bug.cgi?id=44869
65797
65798         Refactored the media slider track painting code to support
65799         multiple buffered ranges painting. This change introduces no
65800         functional regression.
65801
65802         * platform/gtk/RenderThemeGtk.cpp:
65803         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
65804
65805 2010-08-30  Mihai Parparita  <mihaip@chromium.org>
65806
65807         Reviewed by Adam Barth.
65808
65809         HISTORY_ALWAYS_ASYNC should be removed (history should always be async)
65810         https://bugs.webkit.org/show_bug.cgi?id=44315
65811
65812         Remove check in RedirectScheduler::scheduleHistoryNavigation that would
65813         dispatch some navigations synchronously.
65814
65815         Test: fast/history/history-traversal-is-asynchronous.html
65816
65817         * loader/RedirectScheduler.cpp:
65818         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
65819
65820 2010-08-30  Jian Li  <jianli@chromium.org>
65821
65822         Try to fix break again.
65823
65824         * fileapi/ThreadableBlobRegistry.cpp:
65825         (WebCore::ThreadableBlobRegistry::registerBlobURL):
65826         (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
65827
65828 2010-08-30  Jian Li  <jianli@chromium.org>
65829
65830         Fix another build break. Also fix directory upload test break.
65831
65832         * fileapi/File.cpp:
65833         (WebCore::File::File):
65834         * fileapi/ThreadableBlobRegistry.cpp:
65835
65836 2010-08-30  Jian Li  <jianli@chromium.org>
65837
65838         Fix build break.
65839
65840         * xml/XMLHttpRequest.cpp:
65841         (WebCore::XMLHttpRequest::send):
65842
65843 2010-08-30  Jian Li  <jianli@chromium.org>
65844
65845         Fix qt/gtk build break.
65846
65847         * platform/network/BlobRegistryImpl.cpp:
65848
65849 2010-08-30  Jian Li  <jianli@chromium.org>
65850
65851         Reviewed by Darin Fisher.
65852
65853         Switch the Blob implementation to using the blob data registration model
65854         https://bugs.webkit.org/show_bug.cgi?id=44389
65855
65856         Tests: fast/files/read-blob-async.html
65857                fast/files/read-file-async.html
65858
65859         With this switch, File/Blob/BlobBuilder are changed to register the blob
65860         data. FileReader is changed to route through loading the blob resource.
65861         FormData is also updated to take BlobData. The WebKit mac implementation
65862         is updated to resolve the blob references in the BlobData.
65863
65864         * CMakeLists.txt: Update the project file to remove BlobItem.*.
65865         * GNUmakefile.am: Update the project file to remove BlobItem.*.
65866         * WebCore.gypi: Update the project file to remove BlobItem.*.
65867         * WebCore.pro: Update the project file to remove BlobItem.*.
65868         * WebCore.vcproj/WebCore.vcproj: Update the project file to remove BlobItem.*.
65869         * WebCore.xcodeproj/project.pbxproj: Update the project file to remove BlobItem.*.
65870         * fileapi/Blob.cpp: Switch to using BlobData.
65871         (WebCore::Blob::Blob):
65872         (WebCore::Blob::slice):
65873         * fileapi/Blob.h: Switch to using BlobData.
65874         (WebCore::Blob::create):
65875         (WebCore::Blob::size):
65876         (WebCore::Blob::isFile):
65877         * fileapi/BlobBuilder.cpp: Switch to using BlobData.
65878         (WebCore::BlobBuilder::BlobBuilder):
65879         (WebCore::BlobBuilder::append):
65880         (WebCore::BlobBuilder::getBlob):
65881         * fileapi/BlobBuilder.h: Switch to using BlobData.
65882         * fileapi/BlobURL.cpp: Add a new helper method used in FormData.
65883         (WebCore::BlobURL::getIdentifier):
65884         * fileapi/BlobURL.h:
65885         * fileapi/File.cpp: Switch to using BlobData.
65886         (WebCore::createBlobDataForFile):
65887         (WebCore::File::File):
65888         (WebCore::File::size):
65889         (WebCore::File::captureSnapshot):
65890         * fileapi/File.h: Switch to using BlobData.
65891         (WebCore::File::create):
65892         (WebCore::File::path):
65893         (WebCore::File::name):
65894         (WebCore::File::webkitRelativePath):
65895         * fileapi/FileReader.cpp: Change the reading to route through blob resource loading.
65896         (WebCore::FileReader::FileReader):
65897         (WebCore::FileReader::readAsBinaryString):
65898         (WebCore::FileReader::readAsText):
65899         (WebCore::FileReader::readAsDataURL):
65900         (WebCore::delayedStart):
65901         (WebCore::FileReader::readInternal):
65902         (WebCore::FileReader::terminate):
65903         (WebCore::FileReader::start):
65904         (WebCore::FileReader::didReceiveResponse):
65905         (WebCore::FileReader::didReceiveData):
65906         (WebCore::FileReader::didFinishLoading):
65907         (WebCore::FileReader::didFail):
65908         (WebCore::FileReader::failed):
65909         (WebCore::FileReader::httpStatusCodeToExceptionCode):
65910         (WebCore::FileReader::result):
65911         (WebCore::FileReader::convertToDataURL):
65912         * fileapi/FileReader.h:
65913         * html/FormDataList.cpp: Account to BlobData change.
65914         (WebCore::FormDataList::appendString):
65915         (WebCore::FormDataList::appendBlob):
65916         * html/FormDataList.h: Account to BlobData change.
65917         (WebCore::FormDataList::appendBlob):
65918         (WebCore::FormDataList::Item::Item):
65919         (WebCore::FormDataList::Item::data):
65920         (WebCore::FormDataList::Item::blob):
65921         (WebCore::FormDataList::items):
65922         * loader/FormSubmission.cpp: Account to BlobData change.
65923         (WebCore::FormSubmission::create):
65924         * platform/BlobItem.cpp: Removed.
65925         * platform/BlobItem.h: Removed.
65926         * platform/network/BlobRegistryImpl.cpp: Add the implementations for resource loading.
65927         (WebCore::BlobRegistryImpl::createResourceHandle):
65928         (WebCore::BlobRegistryImpl::loadResourceSynchronously):
65929         * platform/network/BlobResourceHandle.cpp: Fix a bug that the ref is not added.
65930         (WebCore::BlobResourceHandle::BlobResourceHandle):
65931         * platform/network/FormData.cpp: Account to BlobData change.
65932         (WebCore::FormData::create):
65933         (WebCore::FormData::createMultiPart):
65934         (WebCore::FormData::deepCopy):
65935         (WebCore::FormData::appendFile):
65936         (WebCore::FormData::appendKeyValuePairItems):
65937         * platform/network/FormData.h: Account to BlobData change.
65938         * platform/network/mac/FormDataStreamMac.mm: Resolve blob references in the form data.
65939         (WebCore::closeCurrentStream):
65940         (WebCore::advanceCurrentStream):
65941         (WebCore::formCreate):
65942         (WebCore::formRead):
65943         (WebCore::setHTTPBody):
65944         * xml/XMLHttpRequest.cpp: Account to BlobData change.
65945         (WebCore::XMLHttpRequest::send):
65946
65947 2010-08-30  Eric Seidel  <eric@webkit.org>
65948
65949         Unreviewed, rolling out r66418.
65950         http://trac.webkit.org/changeset/66418
65951         https://bugs.webkit.org/show_bug.cgi?id=44896
65952
65953         Adam tried to roll this out with:
65954         https://bugs.webkit.org/show_bug.cgi?id=44924
65955         but we hit a commit-queue edgecase and it failed, trying again.
65956
65957         Causing test failures on multiple bots
65958
65959         * rendering/RenderForeignObject.cpp:
65960         (WebCore::RenderForeignObject::layout):
65961         * rendering/RenderObject.cpp:
65962         * rendering/RenderObject.h:
65963         (WebCore::RenderObject::setNeedsBoundariesUpdate):
65964         * rendering/RenderObjectChildList.cpp:
65965         (WebCore::RenderObjectChildList::removeChildNode):
65966         * rendering/RenderPath.cpp:
65967         (WebCore::RenderPath::layout):
65968         (WebCore::RenderPath::paint):
65969         (WebCore::RenderPath::styleWillChange):
65970         * rendering/RenderPath.h:
65971         (WebCore::RenderPath::setNeedsBoundariesUpdate):
65972         * rendering/RenderSVGBlock.cpp:
65973         * rendering/RenderSVGBlock.h:
65974         * rendering/RenderSVGContainer.cpp:
65975         (WebCore::RenderSVGContainer::RenderSVGContainer):
65976         (WebCore::RenderSVGContainer::layout):
65977         (WebCore::RenderSVGContainer::paint):
65978         (WebCore::RenderSVGContainer::objectBoundingBox):
65979         (WebCore::RenderSVGContainer::strokeBoundingBox):
65980         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
65981         * rendering/RenderSVGContainer.h:
65982         (WebCore::RenderSVGContainer::calculateLocalTransform):
65983         * rendering/RenderSVGGradientStop.h:
65984         * rendering/RenderSVGHiddenContainer.cpp:
65985         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
65986         (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
65987         (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
65988         * rendering/RenderSVGHiddenContainer.h:
65989         * rendering/RenderSVGImage.cpp:
65990         (WebCore::RenderSVGImage::layout):
65991         * rendering/RenderSVGImage.h:
65992         * rendering/RenderSVGInline.cpp:
65993         * rendering/RenderSVGInline.h:
65994         * rendering/RenderSVGModelObject.cpp:
65995         * rendering/RenderSVGModelObject.h:
65996         * rendering/RenderSVGRoot.cpp:
65997         (WebCore::RenderSVGRoot::RenderSVGRoot):
65998         (WebCore::RenderSVGRoot::layout):
65999         (WebCore::RenderSVGRoot::objectBoundingBox):
66000         (WebCore::RenderSVGRoot::strokeBoundingBox):
66001         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
66002         * rendering/RenderSVGRoot.h:
66003         * rendering/RenderSVGText.cpp:
66004         (WebCore::RenderSVGText::layout):
66005         * rendering/RenderSVGTransformableContainer.cpp:
66006         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
66007         * rendering/RenderSVGTransformableContainer.h:
66008         * rendering/RenderSVGViewportContainer.cpp:
66009         (WebCore::RenderSVGViewportContainer::calcViewport):
66010         * rendering/SVGRenderSupport.cpp:
66011         (WebCore::SVGRenderSupport::computeContainerBoundingBox):
66012         * rendering/SVGRenderSupport.h:
66013         * rendering/style/SVGRenderStyle.cpp:
66014         (WebCore::SVGRenderStyle::diff):
66015
66016 2010-08-30  Adam Barth  <abarth@webkit.org>
66017
66018         Reviewed by Eric Seidel.
66019
66020         Implement CDATASection state for the HTMLTokenizer
66021         https://bugs.webkit.org/show_bug.cgi?id=44923
66022
66023         In the spec, this state refers back to the HTMLTreeBuilder from the
66024         HTMLTokenizer.  Rather that introduce that (backwards) dependencies, we
66025         have the tree builder set a bit on the tokenizer.
66026
66027         * html/parser/HTMLTokenizer.cpp:
66028         (WebCore::HTMLTokenizer::reset):
66029         (WebCore::HTMLTokenizer::nextToken):
66030         * html/parser/HTMLTokenizer.h:
66031         (WebCore::HTMLTokenizer::shouldAllowCDATA):
66032         (WebCore::HTMLTokenizer::setShouldAllowCDATA):
66033         * html/parser/HTMLTreeBuilder.cpp:
66034         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
66035
66036 2010-08-30  Adam Barth  <abarth@webkit.org>
66037
66038         Reviewed by Eric Seidel.
66039
66040         Enable HTML5lib's test_innerHTML01.dat
66041         https://bugs.webkit.org/show_bug.cgi?id=44919
66042
66043         These tests provoked two branches that we hadn't implemented yet.
66044
66045         * html/parser/HTMLTreeBuilder.cpp:
66046         (WebCore::HTMLTreeBuilder::processStartTag):
66047         (WebCore::HTMLTreeBuilder::processEndTag):
66048
66049 2010-08-30  Mark Rowe  <mrowe@apple.com>
66050
66051         Reviewed by Darin Adler.
66052
66053         Stop using a QuickDraw function that was only used for debugging purposes.
66054
66055         * platform/graphics/mac/SimpleFontDataMac.mm:
66056         (WebCore::pathFromFont):
66057
66058 2010-08-30  Ryosuke Niwa  <rniwa@webkit.org>
66059
66060         Reviewed by Darin Adler.
66061
66062         queryCommandValue("BackColor") returns rgb(0,0,0) for elements with transparent background
66063         https://bugs.webkit.org/show_bug.cgi?id=21680
66064
66065         The bug was caused by WebKit's using the computed style to obtain the background color,
66066         which is rgba(0,0,0,0) for nodes with transparent background color. While this is correct
66067         in the accordance to CSS2 because background-color is not inherited by default,
66068         it is not desirable for editing purposes where the background color in effect is expected.
66069
66070         Modified valueStyle in EditorCommand.cpp to call Editor::selectionStartCSSPropertyValue,
66071         instead of Frame::selectionStartStylePropertyValue, which traverses common ancestors of
66072         the selected range or caret to retrieve the effective background color of the selected region
66073         instead of the background color at the start of the selection.
66074         This takes effect when the original background color is transparent or the selection is range
66075         (to avoid picking up the background color only present at the start of paragraph).
66076
66077         Removed selectionStartStylePropertyValue and migrated it to Editor::selectionStartCSSPropertyValue.
66078
66079         Test: editing/execCommand/query-command-value-background-color.html
66080
66081         * editing/Editor.cpp:
66082         (WebCore::hasTransparentBackgroundColor): Checks whether the specified style's background color is transparent or not.
66083         (WebCore::Editor::selectionStartCSSPropertyValue): Migrated the contents of selectionStartStylePropertyValue and
66084           added the special case for background color.
66085         * editing/Editor.h: Added the prototype for selectionStartCSSPropertyValue.
66086         * editing/EditorCommand.cpp:
66087         (WebCore::valueStyle): Calls Editor::selectionStartCSSPropertyValue.
66088         * page/Frame.cpp: Removed selectionStartStylePropertyValue.
66089         * page/Frame.h: Ditto.
66090
66091 2010-08-30  Lei Zhang  <thestig@chromium.org>
66092
66093         Reviewed by Shinichiro Hamaji.
66094
66095         Defer printing until the FrameLoader finishes loading.
66096         https://bugs.webkit.org/show_bug.cgi?id=43658
66097
66098         * manual-tests/print-before-load.html: Added.
66099
66100         * loader/FrameLoader.cpp:
66101         (WebCore::FrameLoader::finishedLoading):
66102         * page/DOMWindow.cpp:
66103         (WebCore::DOMWindow::DOMWindow):
66104         (WebCore::DOMWindow::print):
66105         * page/DOMWindow.h:
66106         (WebCore::DOMWindow::printDeferred):
66107
66108 2010-08-30  Chris Rogers  <crogers@google.com>
66109
66110         Reviewed by Kenneth Russell.
66111
66112         audio engine: add ReverbConvolver class
66113         https://bugs.webkit.org/show_bug.cgi?id=34912
66114
66115         No new tests since audio API is not yet implemented.
66116
66117         * platform/audio: Added.
66118         * platform/audio/ReverbAccumulationBuffer.cpp: Added.
66119         (WebCore::ReverbAccumulationBuffer::ReverbAccumulationBuffer):
66120         (WebCore::ReverbAccumulationBuffer::readAndClear):
66121         (WebCore::ReverbAccumulationBuffer::updateReadIndex):
66122         (WebCore::ReverbAccumulationBuffer::accumulate):
66123         (WebCore::ReverbAccumulationBuffer::reset):
66124         * platform/audio/ReverbAccumulationBuffer.h: Added.
66125         (WebCore::ReverbAccumulationBuffer::readIndex):
66126         (WebCore::ReverbAccumulationBuffer::readTimeFrame):
66127         * platform/audio/ReverbConvolver.cpp: Added.
66128         (WebCore::backgroundThreadEntry):
66129         (WebCore::ReverbConvolver::ReverbConvolver):
66130         (WebCore::ReverbConvolver::~ReverbConvolver):
66131         (WebCore::ReverbConvolver::backgroundThreadEntry):
66132         (WebCore::ReverbConvolver::process):
66133         (WebCore::ReverbConvolver::reset):
66134         * platform/audio/ReverbConvolver.h: Added.
66135         (WebCore::ReverbConvolver::impulseResponseLength):
66136         (WebCore::ReverbConvolver::inputBuffer):
66137         (WebCore::ReverbConvolver::useBackgroundThreads):
66138         * platform/audio/ReverbConvolverStage.cpp: Added.
66139         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
66140         (WebCore::ReverbConvolverStage::processInBackground):
66141         (WebCore::ReverbConvolverStage::process):
66142         (WebCore::ReverbConvolverStage::reset):
66143         * platform/audio/ReverbConvolverStage.h: Added.
66144         (WebCore::ReverbConvolverStage::inputReadIndex):
66145         * platform/audio/ReverbInputBuffer.cpp: Added.
66146         (WebCore::ReverbInputBuffer::ReverbInputBuffer):
66147         (WebCore::ReverbInputBuffer::write):
66148         (WebCore::ReverbInputBuffer::directReadFrom):
66149         (WebCore::ReverbInputBuffer::reset):
66150         * platform/audio/ReverbInputBuffer.h: Added.
66151         (WebCore::ReverbInputBuffer::writeIndex):
66152
66153 2010-08-30  Nikolas Zimmermann  <nzimmermann@rim.com>
66154
66155         Reviewed by Dirk Schulze.
66156
66157         Add culling to RenderSVGContainer
66158         https://bugs.webkit.org/show_bug.cgi?id=44896
66159
66160         Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
66161         Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
66162
66163         This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
66164         of any container or <svg> element, just to retrieve the repaint rect.
66165
66166         * rendering/RenderForeignObject.cpp:
66167         (WebCore::RenderForeignObject::layout):
66168         * rendering/RenderObject.cpp:
66169         (WebCore::RenderObject::setNeedsBoundariesUpdate):
66170         * rendering/RenderObject.h:
66171         * rendering/RenderObjectChildList.cpp:
66172         (WebCore::RenderObjectChildList::removeChildNode):
66173         * rendering/RenderPath.cpp:
66174         (WebCore::RenderPath::layout):
66175         (WebCore::RenderPath::paint):
66176         * rendering/RenderPath.h:
66177         (WebCore::RenderPath::path):
66178         (WebCore::RenderPath::setNeedsBoundariesUpdate):
66179         * rendering/RenderSVGBlock.cpp:
66180         (WebCore::RenderSVGBlock::styleWillChange):
66181         * rendering/RenderSVGBlock.h:
66182         * rendering/RenderSVGContainer.cpp:
66183         (WebCore::RenderSVGContainer::RenderSVGContainer):
66184         (WebCore::RenderSVGContainer::layout):
66185         (WebCore::RenderSVGContainer::paint):
66186         (WebCore::RenderSVGContainer::updateCachedBoundaries):
66187         * rendering/RenderSVGContainer.h:
66188         (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
66189         (WebCore::RenderSVGContainer::objectBoundingBox):
66190         (WebCore::RenderSVGContainer::strokeBoundingBox):
66191         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
66192         (WebCore::RenderSVGContainer::calculateLocalTransform):
66193         * rendering/RenderSVGGradientStop.h:
66194         (WebCore::RenderSVGGradientStop::strokeBoundingBox):
66195         * rendering/RenderSVGHiddenContainer.cpp:
66196         * rendering/RenderSVGHiddenContainer.h:
66197         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
66198         * rendering/RenderSVGImage.cpp:
66199         (WebCore::RenderSVGImage::layout):
66200         (WebCore::RenderSVGImage::styleWillChange):
66201         * rendering/RenderSVGImage.h:
66202         * rendering/RenderSVGInline.cpp:
66203         (WebCore::RenderSVGInline::styleWillChange):
66204         * rendering/RenderSVGInline.h:
66205         * rendering/RenderSVGModelObject.cpp:
66206         (WebCore::RenderSVGModelObject::styleWillChange):
66207         * rendering/RenderSVGModelObject.h:
66208         * rendering/RenderSVGRoot.cpp:
66209         (WebCore::RenderSVGRoot::RenderSVGRoot):
66210         (WebCore::RenderSVGRoot::layout):
66211         (WebCore::RenderSVGRoot::styleWillChange):
66212         (WebCore::RenderSVGRoot::updateCachedBoundaries):
66213         * rendering/RenderSVGRoot.h:
66214         (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
66215         (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
66216         (WebCore::RenderSVGRoot::objectBoundingBox):
66217         (WebCore::RenderSVGRoot::strokeBoundingBox):
66218         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
66219         * rendering/RenderSVGText.cpp:
66220         (WebCore::RenderSVGText::layout):
66221         * rendering/RenderSVGTransformableContainer.cpp:
66222         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
66223         * rendering/RenderSVGTransformableContainer.h:
66224         * rendering/RenderSVGViewportContainer.cpp:
66225         (WebCore::RenderSVGViewportContainer::calcViewport):
66226         * rendering/SVGRenderSupport.cpp:
66227         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
66228         (WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect):
66229         * rendering/SVGRenderSupport.h:
66230         * rendering/style/SVGRenderStyle.cpp:
66231         (WebCore::SVGRenderStyle::diff):
66232
66233 2010-08-30  Leandro Pereira  <leandro@profusion.mobi>
66234
66235         [EFL] Unreviewed. Build fix when ENABLE_WEB_SOCKETS=ON.
66236
66237         EFL port does not yet support automated tests.
66238
66239         * CMakeLists.txt: Add missing files.
66240         * CMakeListsEfl.txt: Ditto.
66241
66242 2010-08-30  Kenneth Russell  <kbr@google.com>
66243
66244         Reviewed by Chris Marrin.
66245
66246         Expose Vector3 and associated operations
66247         https://bugs.webkit.org/show_bug.cgi?id=44666
66248
66249         Rolling out earlier patch exposing Vector3 class in
66250         TransformationMatrix.h. A different approach will be taken under
66251         another bug.
66252
66253         * platform/graphics/transforms/TransformationMatrix.cpp:
66254         (WebCore::v3Length):
66255         (WebCore::v3Scale):
66256         (WebCore::v3Dot):
66257         (WebCore::v3Combine):
66258         (WebCore::v3Cross):
66259         (WebCore::decompose):
66260         * platform/graphics/transforms/TransformationMatrix.ha:
66261
66262 2010-08-30  Jer Noble  <jer.noble@apple.com>
66263
66264         Build fix; Unreviewed.
66265
66266         Added a export symbol to the WebCore.exp.in list.
66267
66268         * WebCore.exp.in:
66269
66270 2010-08-30  Chris Rogers  <crogers@google.com>
66271
66272         Reviewed by Kenneth Russell.
66273
66274         Add audio cone effect files.  The cone effect operates as defined in the OpenAL specification.
66275         https://bugs.webkit.org/show_bug.cgi?id=44712
66276
66277         No new tests since audio API not implemented yet.
66278
66279         * platform/audio: Added.
66280         * platform/audio/Cone.cpp: Added.
66281         (WebCore::ConeEffect::ConeEffect):
66282         (WebCore::ConeEffect::gain):
66283         * platform/audio/Cone.h: Added.
66284         (WebCore::ConeEffect::setInnerAngle):
66285         (WebCore::ConeEffect::innerAngle):
66286         (WebCore::ConeEffect::setOuterAngle):
66287         (WebCore::ConeEffect::outerAngle):
66288         (WebCore::ConeEffect::setOuterGain):
66289         (WebCore::ConeEffect::outerGain):
66290
66291 2010-08-30  Chris Rogers  <crogers@google.com>
66292
66293         Reviewed by Chris Marrin.
66294
66295         audio engine: add Reverb class
66296         https://bugs.webkit.org/show_bug.cgi?id=36466
66297
66298         No new tests since audio API is not yet implemented.
66299
66300         * platform/audio: Added.
66301         * platform/audio/Reverb.cpp: Added.
66302         (WebCore::calculateNormalizationScale):
66303         (WebCore::Reverb::Reverb):
66304         (WebCore::Reverb::initialize):
66305         (WebCore::Reverb::process):
66306         (WebCore::Reverb::reset):
66307         * platform/audio/Reverb.h: Added.
66308         (WebCore::Reverb::):
66309         (WebCore::Reverb::impulseResponseLength):
66310
66311 2010-08-30  Chris Rogers  <crogers@google.com>
66312
66313         Unreviewed
66314
66315         Add WebCore/platform/audio directory
66316         in preparation for landing: https://bugs.webkit.org/show_bug.cgi?id=36466
66317
66318         * platform/audio: Added.
66319
66320 2010-08-27  Jer Noble  <jer.noble@apple.com>
66321
66322         Reviewed by Eric Carlson.
66323
66324         text/plain non-video files cause <video> to hang (while reading them?)
66325         https://bugs.webkit.org/show_bug.cgi?id=44212
66326         
66327         Disable all the QuickTime components which ingest .txt files.
66328
66329         New tests: 
66330         * http/tests/media/video-served-as-text.html: Added.
66331         * http/tests/media/text-served-as-text.html: Added.
66332
66333         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
66334         (WebCore::MediaPlayerPrivate::createQTMovie): Disable all four text
66335             'eat' components.
66336         * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieDisableComponent.
66337         * platform/mac/WebCoreSystemInterface.mm: Add wkQTMovieDisableComponent.
66338
66339 2010-08-30  Robert Hogan  <robert@webkit.org>
66340
66341         Reviewed by Simon Hausmann.
66342
66343         allow ports with windowed plugins to support windowless plugin tests
66344
66345         https://bugs.webkit.org/show_bug.cgi?id=40730
66346
66347         Ports that implement plugins windowed by default need to have a way of
66348         supporting plugin tests that assume the plugin is windowless. Add this
66349         feature to the tests and support it in the webkit test plugin. Also
66350         add mouse and keyboard event logging to the webkit-test plugin on Unix.
66351
66352         Unskip the following tests on Qt:
66353
66354         plugins/mouse-events.html
66355         plugins/keyboard-events.html
66356         plugins/mouse-events-fixedpos.html
66357
66358         * plugins/qt/PluginViewQt.cpp:
66359         (WebCore::PluginView::setFocus):
66360         (WebCore::setXKeyEventSpecificFields):
66361
66362 2010-08-30  Kinuko Yasuda  <kinuko@chromium.org>
66363
66364         Reviewed by Darin Fisher.
66365
66366         Add DOMFileSystem implementation to support Entry manipulation operations
66367         https://bugs.webkit.org/show_bug.cgi?id=44732
66368
66369         No new tests; tests will be added later.
66370
66371         * storage/DOMFileSystem.cpp:
66372         (WebCore::DOMFileSystem::root):
66373         (WebCore::checkValidityForForCopyOrMove): Added.
66374         (WebCore::DOMFileSystem::getMetadata): Added.
66375         (WebCore::DOMFileSystem::move): Added.
66376         (WebCore::DOMFileSystem::copy): Added.
66377         (WebCore::DOMFileSystem::remove): Added.
66378         (WebCore::DOMFileSystem::getParent): Added.
66379         (WebCore::DOMFileSystem::getFile): Added.
66380         (WebCore::DOMFileSystem::getDirectory): Added.
66381         (WebCore::DOMFileSystem::readDirectory): Added.
66382         * storage/DirectoryEntry.cpp:
66383         (WebCore::DirectoryEntry::getFile): Added implementation.
66384         (WebCore::DirectoryEntry::getDirectory): Added implementation.
66385         * storage/DirectoryReader.cpp:
66386         (WebCore::DirectoryReader::DirectoryReader): Added implementation.
66387         (WebCore::DirectoryReader::readEntries): Added implementation.
66388         * storage/DirectoryReader.h:
66389         * storage/Entry.cpp:
66390         (WebCore::Entry::getMetadata): Added implementation.
66391         (WebCore::Entry::moveTo): Added implementation.
66392         (WebCore::Entry::copyTo): Added implementation.
66393         (WebCore::Entry::remove): Added implementation.
66394         (WebCore::Entry::getParent): Added implementation.
66395         * storage/Entry.h:
66396         * storage/FileEntry.h:
66397
66398         Added a helper template to schedule callbacks.
66399         * storage/DOMFileSystem.h:
66400         (WebCore::DOMFileSystem::DispatchCallbackTask): Added to schedule callbacks.
66401         (WebCore::DOMFileSystem::scheduleCallback): Added to schedule callbacks.
66402
66403         Changed to fire callbacks asynchronously.
66404         * storage/LocalFileSystem.cpp:
66405         (WebCore::LocalFileSystem::requestFileSystem):
66406
66407 2010-08-30  Alejandro G. Castro  <alex@igalia.com>
66408
66409         Reviewed by Xan Lopez.
66410
66411         Fixed compilation error, now that we have included the
66412         GtkVersioning.h we have to remove some version dependent code from
66413         EventSender.
66414
66415         * platform/gtk/GtkVersioning.c:
66416         (gdk_window_get_root_coords):
66417         * platform/gtk/GtkVersioning.h:
66418
66419 2010-08-30  Beth Dakin  <bdakin@apple.com>
66420
66421         Reviewed by Sam Weinig.
66422
66423         Fix for https://bugs.webkit.org/show_bug.cgi?id=44804 Crashes in 
66424         RenderMathMLRoot::layout() and RenderMathMLRoot::paint()
66425         -and corresponding-
66426         <rdar://problem/8342055>
66427
66428         All of the calls to firstChild() and lastChild() in 
66429         RenderMathMLRoot::layout() and RenderMathMLRoot::paint() need to be 
66430         null checked.
66431
66432         * mathml/RenderMathMLRoot.cpp:
66433         (WebCore::RenderMathMLRoot::paint):
66434         (WebCore::RenderMathMLRoot::layout):
66435
66436 2010-08-30  Beth Dakin  <bdakin@apple.com>
66437
66438         Reviewed by Darin Adler.
66439
66440         Fix for https://bugs.webkit.org/show_bug.cgi?id=44801 Crash in 
66441         RenderMathMLSubSup::layout()
66442         -and corresponding-
66443         <rdar://problem/8325203>
66444
66445         Null-check m_scripts. It is null-checked everywhere else in the 
66446         class and can legitimately be null.
66447
66448         * mathml/RenderMathMLSubSup.cpp:
66449         (WebCore::RenderMathMLSubSup::layout):
66450
66451 2010-08-30  Alejandro G. Castro  <alex@igalia.com>
66452
66453         Reviewed by Martin Robinson.
66454
66455         [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer
66456         are deprecated
66457         https://bugs.webkit.org/show_bug.cgi?id=44787
66458
66459         We have replaced GtkVersioning.cpp with GtkVersioning.c and
66460         created a function (getDefaultGDKPointerDevice) to get the pointer
66461         of the window with the new APIs. We added that function to DRT and
66462         copyandpaste unit test.
66463
66464         * GNUmakefile.am:
66465         * platform/gtk/GtkVersioning.c: Added.
66466         (gtk_adjustment_set_value):
66467         (gtk_adjustment_configure):
66468         (getDefaultGDKPointerDevice):
66469         * platform/gtk/GtkVersioning.cpp: Removed.
66470         * platform/gtk/GtkVersioning.h:
66471
66472 2010-08-30  Darin Adler  <darin@apple.com>
66473
66474         Reviewed by Sam Weinig.
66475
66476         Make SVG constructors private to make sure callers all use create
66477         https://bugs.webkit.org/show_bug.cgi?id=44872
66478
66479         Made as many members private and protected as possible, and got rid of many
66480         unneeded empty constructor and destructor definitions, in some cases changing
66481         a class to be non-polymorphic. Made some functions inline. Used the word document
66482         instead of the abbreviation doc. Removed unneeded explicit base class
66483         initialization in cases where it is no different from the default behavior.
66484
66485         * svg/SVGAElement.cpp:
66486         (WebCore::SVGAElement::SVGAElement):
66487         (WebCore::SVGAElement::childShouldCreateRenderer):
66488         * svg/SVGAElement.h:
66489         * svg/SVGAltGlyphElement.cpp:
66490         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
66491         * svg/SVGAltGlyphElement.h:
66492         * svg/SVGAngle.cpp:
66493         * svg/SVGAngle.h:
66494         * svg/SVGAnimateColorElement.cpp:
66495         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
66496         * svg/SVGAnimateColorElement.h:
66497         * svg/SVGAnimateElement.cpp:
66498         (WebCore::SVGAnimateElement::SVGAnimateElement):
66499         * svg/SVGAnimateElement.h:
66500         * svg/SVGAnimateMotionElement.cpp:
66501         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
66502         * svg/SVGAnimateMotionElement.h:
66503         * svg/SVGAnimateTransformElement.cpp:
66504         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
66505         * svg/SVGAnimateTransformElement.h:
66506         * svg/SVGAnimatedPathData.cpp:
66507         * svg/SVGAnimatedPathData.h:
66508         * svg/SVGAnimatedPoints.cpp:
66509         * svg/SVGAnimatedPoints.h:
66510         * svg/SVGAnimationElement.cpp:
66511         (WebCore::SVGAnimationElement::SVGAnimationElement):
66512         * svg/SVGAnimationElement.h:
66513         * svg/SVGCircleElement.cpp:
66514         (WebCore::SVGCircleElement::SVGCircleElement):
66515         * svg/SVGCircleElement.h:
66516         * svg/SVGClipPathElement.cpp:
66517         (WebCore::SVGClipPathElement::SVGClipPathElement):
66518         * svg/SVGClipPathElement.h:
66519         * svg/SVGColor.cpp:
66520         * svg/SVGColor.h:
66521         * svg/SVGComponentTransferFunctionElement.cpp:
66522         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
66523         * svg/SVGComponentTransferFunctionElement.h:
66524         * svg/SVGCursorElement.cpp:
66525         (WebCore::SVGCursorElement::SVGCursorElement):
66526         * svg/SVGCursorElement.h:
66527         * svg/SVGDefsElement.cpp:
66528         (WebCore::SVGDefsElement::SVGDefsElement):
66529         * svg/SVGDefsElement.h:
66530         * svg/SVGDescElement.cpp:
66531         (WebCore::SVGDescElement::SVGDescElement):
66532         * svg/SVGDescElement.h:
66533         * svg/SVGDocument.cpp:
66534         * svg/SVGDocument.h:
66535         * svg/SVGDocumentExtensions.cpp:
66536         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
66537         (WebCore::SVGDocumentExtensions::reportWarning):
66538         (WebCore::SVGDocumentExtensions::reportError):
66539         * svg/SVGDocumentExtensions.h:
66540         * svg/SVGElement.h:
66541         * svg/SVGElementInstanceList.h:
66542         * svg/SVGEllipseElement.cpp:
66543         (WebCore::SVGEllipseElement::SVGEllipseElement):
66544         * svg/SVGEllipseElement.h:
66545         * svg/SVGExternalResourcesRequired.cpp:
66546         * svg/SVGExternalResourcesRequired.h:
66547         * svg/SVGFEBlendElement.cpp:
66548         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
66549         * svg/SVGFEBlendElement.h:
66550         * svg/SVGFEColorMatrixElement.cpp:
66551         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
66552         * svg/SVGFEColorMatrixElement.h:
66553         * svg/SVGFEComponentTransferElement.cpp:
66554         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
66555         * svg/SVGFEComponentTransferElement.h:
66556         * svg/SVGFECompositeElement.cpp:
66557         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
66558         * svg/SVGFECompositeElement.h:
66559         * svg/SVGFEConvolveMatrixElement.cpp:
66560         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
66561         * svg/SVGFEConvolveMatrixElement.h:
66562         * svg/SVGFEDiffuseLightingElement.cpp:
66563         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
66564         * svg/SVGFEDiffuseLightingElement.h:
66565         * svg/SVGFEDisplacementMapElement.cpp:
66566         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
66567         * svg/SVGFEDisplacementMapElement.h:
66568         * svg/SVGFEDistantLightElement.cpp:
66569         (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
66570         * svg/SVGFEDistantLightElement.h:
66571         * svg/SVGFEFloodElement.cpp:
66572         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
66573         * svg/SVGFEFloodElement.h:
66574         * svg/SVGFEFuncAElement.cpp:
66575         (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
66576         * svg/SVGFEFuncAElement.h:
66577         * svg/SVGFEFuncBElement.cpp:
66578         (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
66579         * svg/SVGFEFuncBElement.h:
66580         * svg/SVGFEFuncGElement.cpp:
66581         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
66582         * svg/SVGFEFuncGElement.h:
66583         * svg/SVGFEFuncRElement.cpp:
66584         (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
66585         * svg/SVGFEFuncRElement.h:
66586         * svg/SVGFEGaussianBlurElement.cpp:
66587         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
66588         * svg/SVGFEGaussianBlurElement.h:
66589         * svg/SVGFEImageElement.cpp:
66590         (WebCore::SVGFEImageElement::SVGFEImageElement):
66591         * svg/SVGFEImageElement.h:
66592         * svg/SVGFELightElement.cpp:
66593         (WebCore::SVGFELightElement::SVGFELightElement):
66594         * svg/SVGFELightElement.h:
66595         * svg/SVGFEMergeElement.cpp:
66596         (WebCore::SVGFEMergeElement::SVGFEMergeElement):
66597         * svg/SVGFEMergeElement.h:
66598         * svg/SVGFEMergeNodeElement.cpp:
66599         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
66600         * svg/SVGFEMergeNodeElement.h:
66601         * svg/SVGFEMorphologyElement.cpp:
66602         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
66603         * svg/SVGFEMorphologyElement.h:
66604         * svg/SVGFEOffsetElement.cpp:
66605         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
66606         * svg/SVGFEOffsetElement.h:
66607         * svg/SVGFEPointLightElement.cpp:
66608         (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
66609         (WebCore::SVGFEPointLightElement::lightSource):
66610         * svg/SVGFEPointLightElement.h:
66611         * svg/SVGFESpecularLightingElement.cpp:
66612         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
66613         * svg/SVGFESpecularLightingElement.h:
66614         * svg/SVGFESpotLightElement.cpp:
66615         (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
66616         * svg/SVGFESpotLightElement.h:
66617         * svg/SVGFETileElement.cpp:
66618         (WebCore::SVGFETileElement::SVGFETileElement):
66619         * svg/SVGFETileElement.h:
66620         * svg/SVGFETurbulenceElement.cpp:
66621         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
66622         * svg/SVGFETurbulenceElement.h:
66623         * svg/SVGFilterElement.cpp:
66624         (WebCore::SVGFilterElement::SVGFilterElement):
66625         * svg/SVGFilterElement.h:
66626         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
66627         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
66628         * svg/SVGFilterPrimitiveStandardAttributes.h:
66629         * svg/SVGFitToViewBox.cpp:
66630         * svg/SVGFitToViewBox.h:
66631         * svg/SVGFontData.cpp:
66632         * svg/SVGFontData.h:
66633         * svg/SVGFontElement.cpp:
66634         (WebCore::SVGFontElement::SVGFontElement):
66635         * svg/SVGFontElement.h:
66636         * svg/SVGFontFaceElement.cpp:
66637         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
66638         * svg/SVGFontFaceElement.h:
66639         * svg/SVGFontFaceFormatElement.cpp:
66640         (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
66641         * svg/SVGFontFaceFormatElement.h:
66642         * svg/SVGFontFaceNameElement.cpp:
66643         (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
66644         * svg/SVGFontFaceNameElement.h:
66645         * svg/SVGFontFaceSrcElement.cpp:
66646         (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
66647         * svg/SVGFontFaceSrcElement.h:
66648         * svg/SVGFontFaceUriElement.cpp:
66649         (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
66650         * svg/SVGFontFaceUriElement.h:
66651         * svg/SVGForeignObjectElement.cpp:
66652         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
66653         * svg/SVGForeignObjectElement.h:
66654         * svg/SVGGElement.cpp:
66655         (WebCore::SVGGElement::SVGGElement):
66656         * svg/SVGGElement.h:
66657         * svg/SVGGlyphElement.cpp:
66658         (WebCore::SVGGlyphElement::SVGGlyphElement):
66659         * svg/SVGGlyphElement.h:
66660         * svg/SVGGradientElement.cpp:
66661         (WebCore::SVGGradientElement::SVGGradientElement):
66662         * svg/SVGGradientElement.h:
66663         * svg/SVGHKernElement.cpp:
66664         (WebCore::SVGHKernElement::SVGHKernElement):
66665         * svg/SVGHKernElement.h:
66666         * svg/SVGImageElement.cpp:
66667         (WebCore::SVGImageElement::SVGImageElement):
66668         * svg/SVGImageElement.h:
66669         * svg/SVGImageLoader.cpp:
66670         * svg/SVGImageLoader.h:
66671         * svg/SVGLangSpace.cpp:
66672         * svg/SVGLangSpace.h:
66673         * svg/SVGLengthList.cpp:
66674         * svg/SVGLengthList.h:
66675         * svg/SVGLineElement.cpp:
66676         (WebCore::SVGLineElement::SVGLineElement):
66677         * svg/SVGLineElement.h:
66678         * svg/SVGLinearGradientElement.cpp:
66679         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
66680         * svg/SVGLinearGradientElement.h:
66681         * svg/SVGLocatable.cpp:
66682         * svg/SVGLocatable.h:
66683         * svg/SVGMPathElement.cpp:
66684         (WebCore::SVGMPathElement::SVGMPathElement):
66685         * svg/SVGMPathElement.h:
66686         * svg/SVGMarkerElement.cpp:
66687         (WebCore::SVGMarkerElement::SVGMarkerElement):
66688         * svg/SVGMarkerElement.h:
66689         * svg/SVGMaskElement.cpp:
66690         (WebCore::SVGMaskElement::SVGMaskElement):
66691         * svg/SVGMaskElement.h:
66692         * svg/SVGMetadataElement.cpp:
66693         (WebCore::SVGMetadataElement::SVGMetadataElement):
66694         * svg/SVGMetadataElement.h:
66695         * svg/SVGMissingGlyphElement.cpp:
66696         (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
66697         * svg/SVGMissingGlyphElement.h:
66698         * svg/SVGNumberList.cpp:
66699         * svg/SVGNumberList.h:
66700         * svg/SVGPaint.cpp:
66701         * svg/SVGPaint.h:
66702         * svg/SVGParserUtilities.cpp:
66703         (WebCore::genericParseNumber):
66704         (WebCore::parseNumber):
66705         * svg/SVGPathBlender.cpp:
66706         * svg/SVGPathBlender.h:
66707         * svg/SVGPathBuilder.h:
66708         * svg/SVGPathByteStreamBuilder.h:
66709         * svg/SVGPathByteStreamSource.cpp:
66710         * svg/SVGPathByteStreamSource.h:
66711         * svg/SVGPathConsumer.h:
66712         * svg/SVGPathElement.cpp:
66713         (WebCore::SVGPathElement::SVGPathElement):
66714         * svg/SVGPathElement.h:
66715         * svg/SVGPathParser.cpp:
66716         * svg/SVGPathParser.h:
66717         * svg/SVGPathSeg.cpp:
66718         * svg/SVGPathSeg.h:
66719         * svg/SVGPathSegArc.h:
66720         * svg/SVGPathSegClosePath.cpp:
66721         * svg/SVGPathSegClosePath.h:
66722         * svg/SVGPathSegCurvetoCubic.h:
66723         * svg/SVGPathSegCurvetoCubicSmooth.h:
66724         * svg/SVGPathSegCurvetoQuadratic.h:
66725         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
66726         * svg/SVGPathSegLineto.h:
66727         * svg/SVGPathSegLinetoHorizontal.h:
66728         * svg/SVGPathSegLinetoVertical.h:
66729         * svg/SVGPathSegList.cpp:
66730         * svg/SVGPathSegList.h:
66731         * svg/SVGPathSegListBuilder.h:
66732         * svg/SVGPathSegListSource.cpp:
66733         * svg/SVGPathSegListSource.h:
66734         * svg/SVGPathSegMoveto.h:
66735         * svg/SVGPathSource.h:
66736         * svg/SVGPathStringBuilder.cpp:
66737         * svg/SVGPathStringBuilder.h:
66738         * svg/SVGPathStringSource.cpp:
66739         * svg/SVGPathStringSource.h:
66740         * svg/SVGPatternElement.cpp:
66741         (WebCore::SVGPatternElement::SVGPatternElement):
66742         * svg/SVGPatternElement.h:
66743         * svg/SVGPointList.cpp:
66744         * svg/SVGPointList.h:
66745         * svg/SVGPolyElement.cpp:
66746         (WebCore::SVGPolyElement::SVGPolyElement):
66747         * svg/SVGPolyElement.h:
66748         * svg/SVGPolygonElement.cpp:
66749         (WebCore::SVGPolygonElement::SVGPolygonElement):
66750         * svg/SVGPolygonElement.h:
66751         * svg/SVGPolylineElement.cpp:
66752         (WebCore::SVGPolylineElement::SVGPolylineElement):
66753         * svg/SVGPolylineElement.h:
66754         * svg/SVGPreserveAspectRatio.cpp:
66755         * svg/SVGPreserveAspectRatio.h:
66756         * svg/SVGRadialGradientElement.cpp:
66757         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
66758         * svg/SVGRadialGradientElement.h:
66759         * svg/SVGRectElement.cpp:
66760         (WebCore::SVGRectElement::SVGRectElement):
66761         * svg/SVGRectElement.h:
66762         * svg/SVGSVGElement.h:
66763         * svg/SVGScriptElement.cpp:
66764         (WebCore::SVGScriptElement::SVGScriptElement):
66765         * svg/SVGScriptElement.h:
66766         * svg/SVGSetElement.cpp:
66767         (WebCore::SVGSetElement::SVGSetElement):
66768         * svg/SVGSetElement.h:
66769         * svg/SVGStopElement.cpp:
66770         (WebCore::SVGStopElement::SVGStopElement):
66771         * svg/SVGStopElement.h:
66772         * svg/SVGStringList.cpp:
66773         * svg/SVGStringList.h:
66774         * svg/SVGStylable.cpp:
66775         * svg/SVGStylable.h:
66776         * svg/SVGStyleElement.cpp:
66777         (WebCore::SVGStyleElement::SVGStyleElement):
66778         * svg/SVGStyleElement.h:
66779         * svg/SVGStyledElement.cpp:
66780         (WebCore::SVGStyledElement::SVGStyledElement):
66781         * svg/SVGStyledElement.h:
66782         * svg/SVGStyledLocatableElement.cpp:
66783         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
66784         * svg/SVGStyledLocatableElement.h:
66785         * svg/SVGStyledTransformableElement.cpp:
66786         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
66787         * svg/SVGStyledTransformableElement.h:
66788         * svg/SVGSwitchElement.cpp:
66789         (WebCore::SVGSwitchElement::SVGSwitchElement):
66790         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
66791         * svg/SVGSwitchElement.h:
66792         * svg/SVGSymbolElement.cpp:
66793         (WebCore::SVGSymbolElement::SVGSymbolElement):
66794         * svg/SVGSymbolElement.h:
66795         * svg/SVGTRefElement.cpp:
66796         (WebCore::SVGTRefElement::SVGTRefElement):
66797         * svg/SVGTRefElement.h:
66798         * svg/SVGTSpanElement.cpp:
66799         (WebCore::SVGTSpanElement::SVGTSpanElement):
66800         * svg/SVGTests.cpp:
66801         * svg/SVGTests.h:
66802         * svg/SVGTextContentElement.cpp:
66803         (WebCore::SVGTextContentElement::SVGTextContentElement):
66804         * svg/SVGTextContentElement.h:
66805         * svg/SVGTextElement.cpp:
66806         (WebCore::SVGTextElement::SVGTextElement):
66807         * svg/SVGTextElement.h:
66808         * svg/SVGTextPathElement.cpp:
66809         (WebCore::SVGTextPathElement::SVGTextPathElement):
66810         * svg/SVGTextPathElement.h:
66811         * svg/SVGTextPositioningElement.cpp:
66812         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
66813         * svg/SVGTextPositioningElement.h:
66814         * svg/SVGTitleElement.cpp:
66815         (WebCore::SVGTitleElement::SVGTitleElement):
66816         * svg/SVGTransform.cpp:
66817         * svg/SVGTransform.h:
66818         * svg/SVGTransformable.cpp:
66819         * svg/SVGTransformable.h:
66820         * svg/SVGURIReference.cpp:
66821         * svg/SVGURIReference.h:
66822         * svg/SVGUseElement.cpp:
66823         (WebCore::SVGUseElement::SVGUseElement):
66824         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
66825         * svg/SVGUseElement.h:
66826         * svg/SVGViewElement.cpp:
66827         (WebCore::SVGViewElement::SVGViewElement):
66828         * svg/SVGViewElement.h:
66829         * svg/SVGViewSpec.cpp:
66830         (WebCore::SVGViewSpec::SVGViewSpec):
66831         * svg/SVGViewSpec.h:
66832         * svg/SVGZoomAndPan.cpp:
66833         * svg/SVGZoomAndPan.h:
66834         * svg/SVGZoomEvent.cpp:
66835         * svg/SVGZoomEvent.h:
66836
66837 2010-08-30  Eric Carlson  <eric.carlson@apple.com>
66838
66839         Reviewed by Dan Bernstein.
66840
66841         Disable automatic looping
66842         https://bugs.webkit.org/show_bug.cgi?id=44844
66843
66844         Test: media/video-does-not-loop.html
66845
66846         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
66847         (WebCore::MediaPlayerPrivate::createQTMovie): Disable QuickTime automatic looping.
66848
66849         * platform/graphics/win/QTMovie.cpp:
66850         (QTMoviePrivate::createMovieController): Ditto.
66851
66852 2010-08-30  Ryosuke Niwa  <rniwa@webkit.org>
66853
66854         Reviewed by Darin Adler.
66855
66856         ApplyStyleCommand::applyInlineStyle needs cleanup
66857         https://bugs.webkit.org/show_bug.cgi?id=44458
66858
66859         Cleanup:
66860         1. Isolated code to find the highest ancestor with embedding style, and deployed it in
66861            ApplyStyleCommand::applyInlineStyle.
66862         2. Combined the code to remove embedding style up to enclosing block and the code to
66863            remove unicode-bidi and direction properties between start and end nodes.
66864         3. Simplified the conditionals to apply embedding styles.
66865
66866         No new tests are added since this is a cleanup.
66867
66868         * editing/ApplyStyleCommand.cpp:
66869         (WebCore::highestEmbeddingAncestor): Added.
66870         (WebCore::ApplyStyleCommand::applyInlineStyle): See above.
66871
66872 2010-08-30  Martin Robinson  <mrobinson@igalia.com>
66873
66874         Build fix. Add the new fileapi directory to the IDL vpath.
66875
66876         * GNUmakefile.am:
66877
66878 2010-08-30  Martin Robinson  <mrobinson@igalia.com>
66879
66880         Reviewed by Xan Lopez.
66881
66882         [GTK] WebKit DOM bindings build should not depend on output GNUMakefile
66883         https://bugs.webkit.org/show_bug.cgi?id=44805
66884
66885         Move WebKit DOM bindings build rules to bindings/gobject/GNUmakefile.am to
66886         prevent full WebKit API rebuilds when the automake files change.
66887
66888         No new tests as this is just a build change.
66889
66890         * bindings/gobject/GNUmakefile.am: Added.
66891
66892 2010-08-30  Pavel Feldman  <pfeldman@chromium.org>
66893
66894         Reviewed by Yury Semikhatsky.
66895
66896         Web Inspector: event listener properties are rendered as [object Object].
66897         https://bugs.webkit.org/show_bug.cgi?id=44779
66898
66899         * inspector/front-end/EventListenersSidebarPane.js:
66900
66901 2010-08-30  Ryuan Choi  <ryuan.choi@samsung.com>
66902
66903         Unreviewed build fix with Blob Support
66904
66905         [EFL] Build break with Blob support
66906         https://bugs.webkit.org/show_bug.cgi?id=44858
66907
66908         No new features added, so no new tests.
66909
66910         * CMakeLists.txt:
66911
66912 2010-08-30  Andras Becsi  <abecsi@webkit.org>
66913
66914         Unreviewed trivial fix.
66915
66916         [Qt] Let qmake know about HTML parser headers.
66917
66918         No new tests needed.
66919
66920         * WebCore.pro:
66921
66922 2010-08-30  Andras Becsi  <abecsi@webkit.org>
66923
66924         Unreviewed build fix.
66925
66926         [Qt] Fix fileapi header paths to fix warnings after r66365.
66927
66928         No new tests needed.
66929
66930         * WebCore.pro:
66931
66932 2010-08-30  Csaba Osztrogonác  <ossy@webkit.org>
66933
66934         Reviewed by Kent Tamura.
66935
66936         REGRESSION(r66355): Fix warnings in html/DateComponents.cpp
66937         https://bugs.webkit.org/show_bug.cgi?id=44855
66938
66939         * html/DateComponents.cpp:
66940         (WebCore::DateComponents::setMillisecondsSinceEpochForWeek): Suggested parentheses added around && within ||
66941
66942 2010-08-30  Csaba Osztrogonác  <ossy@webkit.org>
66943
66944         Reviewed by Darin Adler.
66945
66946         REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
66947         https://bugs.webkit.org/show_bug.cgi?id=44843
66948
66949         * editing/ApplyStyleCommand.cpp:
66950         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
66951
66952 2010-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
66953
66954         Unreviewed, rolling out r66198.
66955         http://trac.webkit.org/changeset/66198
66956         https://bugs.webkit.org/show_bug.cgi?id=44856
66957
66958         It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
66959
66960         * inspector/Inspector.idl:
66961         * inspector/InspectorController.cpp:
66962         (WebCore::InspectorController::inspectedPageDestroyed):
66963         (WebCore::InspectorController::close):
66964         * inspector/InspectorFrontendClient.h:
66965         * inspector/InspectorFrontendHost.cpp:
66966         * inspector/InspectorFrontendHost.h:
66967         * inspector/InspectorFrontendHost.idl:
66968         * inspector/front-end/InspectorFrontendHostStub.js:
66969         * inspector/front-end/inspector.js:
66970         (WebInspector.inspectedPageDestroyed):
66971
66972 2010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>
66973
66974         Reviewed by Kent Tamura.
66975
66976         Split webcore_svg off webcore_remaining. webcore_svg contains all svg
66977         sources files.
66978         https://bugs.webkit.org/show_bug.cgi?id=44840
66979
66980         * WebCore.gyp/WebCore.gyp:
66981
66982 2010-08-13  MORITA Hajime  <morrita@google.com>
66983
66984         Reviewed by Kent Tamura.
66985
66986         https://bugs.webkit.org/show_bug.cgi?id=43960
66987         [Chromium] styled scroll bar on the window is painted badly.
66988
66989         WebKit assumes outermost scrollbar always painted. 
66990         So force their style to have the  background color if it isn't 
66991         given by the stylesheet.
66992         
66993         Test: scrollbars/custom-scrollbar-with-incomplete-style.html
66994
66995         * rendering/RenderObject.h:
66996         (WebCore::RenderObject::hasBackground): Extracted body to RenderStyle for sharing.
66997         * rendering/RenderScrollbar.cpp:
66998         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Added the workaround as mentioned above.
66999         * rendering/RenderScrollbar.h:
67000         * rendering/style/RenderStyle.h:
67001         (WebCore::InheritedFlags::hasBackground): Extracted from RenderObject.
67002
67003 2010-08-30  Adam Barth  <abarth@webkit.org>
67004
67005         Reviewed by Darin Adler.
67006
67007         WebCore::RenderBlock::addChild* NULL ptrs
67008         https://bugs.webkit.org/show_bug.cgi?id=43722
67009
67010         Also includes some cleanup of comments and ASSERTs.
67011
67012         Test: fast/ruby/before-doesnt-crash.html
67013
67014         * rendering/RenderRuby.cpp:
67015         (WebCore::RenderRubyAsInline::addChild):
67016
67017 2010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>
67018
67019         Reviewed by Kent Tamura
67020
67021         Move most dependencies to webcore_prerequisites
67022         https://bugs.webkit.org/show_bug.cgi?id=44814
67023
67024         * WebCore.gyp/WebCore.gyp:
67025
67026 2010-08-30  Adam Barth  <abarth@webkit.org>
67027
67028         Move AsyncImageResizer back to html to fix Chromium build.
67029
67030         * WebCore.gypi:
67031
67032 2010-08-30  Adam Barth  <abarth@webkit.org>
67033
67034         Fix silly typo that breaks the build.
67035
67036         * WebCore.pro:
67037
67038 2010-08-30  Adam Barth  <abarth@webkit.org>
67039
67040         Attempt to fix the Qt build.
67041
67042         * WebCore.pri:
67043
67044 2010-08-30  Adam Barth  <abarth@webkit.org>
67045
67046         Attempt to fix Chromium build.
67047
67048         * WebCore.gyp/WebCore.gyp:
67049
67050 2010-08-29  Adam Barth  <abarth@webkit.org>
67051
67052         Rubber-stamped by Maciej Stachowiak.
67053
67054         Move File and Blob related files from WebCore/html to WebCore/fileapi.
67055
67056         * Android.mk:
67057         * CMakeLists.txt:
67058         * DerivedSources.make:
67059         * GNUmakefile.am:
67060         * WebCore.gypi:
67061         * WebCore.pro:
67062         * WebCore.vcproj/WebCore.vcproj:
67063         * WebCore.vcproj/WebCoreCommon.vsprops:
67064         * WebCore.xcodeproj/project.pbxproj:
67065         * fileapi: Added.
67066         * fileapi/AsyncFileWriter.h: Copied from WebCore/html/AsyncFileWriter.h.
67067         * fileapi/Blob.cpp: Copied from WebCore/html/Blob.cpp.
67068         * fileapi/Blob.h: Copied from WebCore/html/Blob.h.
67069         * fileapi/Blob.idl: Copied from WebCore/html/Blob.idl.
67070         * fileapi/BlobBuilder.cpp: Copied from WebCore/html/BlobBuilder.cpp.
67071         * fileapi/BlobBuilder.h: Copied from WebCore/html/BlobBuilder.h.
67072         * fileapi/BlobBuilder.idl: Copied from WebCore/html/BlobBuilder.idl.
67073         * fileapi/BlobURL.cpp: Copied from WebCore/html/BlobURL.cpp.
67074         * fileapi/BlobURL.h: Copied from WebCore/html/BlobURL.h.
67075         * fileapi/File.cpp: Copied from WebCore/html/File.cpp.
67076         * fileapi/File.h: Copied from WebCore/html/File.h.
67077         * fileapi/File.idl: Copied from WebCore/html/File.idl.
67078         * fileapi/FileError.h: Copied from WebCore/html/FileError.h.
67079         * fileapi/FileError.idl: Copied from WebCore/html/FileError.idl.
67080         * fileapi/FileList.cpp: Copied from WebCore/html/FileList.cpp.
67081         * fileapi/FileList.h: Copied from WebCore/html/FileList.h.
67082         * fileapi/FileList.idl: Copied from WebCore/html/FileList.idl.
67083         * fileapi/FileReader.cpp: Copied from WebCore/html/FileReader.cpp.
67084         * fileapi/FileReader.h: Copied from WebCore/html/FileReader.h.
67085         * fileapi/FileReader.idl: Copied from WebCore/html/FileReader.idl.
67086         * fileapi/FileStreamProxy.cpp: Copied from WebCore/html/FileStreamProxy.cpp.
67087         * fileapi/FileStreamProxy.h: Copied from WebCore/html/FileStreamProxy.h.
67088         * fileapi/FileThread.cpp: Copied from WebCore/html/FileThread.cpp.
67089         * fileapi/FileThread.h: Copied from WebCore/html/FileThread.h.
67090         * fileapi/FileThreadTask.h: Copied from WebCore/html/FileThreadTask.h.
67091         * fileapi/FileWriter.cpp: Copied from WebCore/html/FileWriter.cpp.
67092         * fileapi/FileWriter.h: Copied from WebCore/html/FileWriter.h.
67093         * fileapi/FileWriter.idl: Copied from WebCore/html/FileWriter.idl.
67094         * fileapi/FileWriterClient.h: Copied from WebCore/html/FileWriterClient.h.
67095         * fileapi/ThreadableBlobRegistry.cpp: Copied from WebCore/html/ThreadableBlobRegistry.cpp.
67096         * fileapi/ThreadableBlobRegistry.h: Copied from WebCore/html/ThreadableBlobRegistry.h.
67097         * html/AsyncFileWriter.h: Removed.
67098         * html/Blob.cpp: Removed.
67099         * html/Blob.h: Removed.
67100         * html/Blob.idl: Removed.
67101         * html/BlobBuilder.cpp: Removed.
67102         * html/BlobBuilder.h: Removed.
67103         * html/BlobBuilder.idl: Removed.
67104         * html/BlobURL.cpp: Removed.
67105         * html/BlobURL.h: Removed.
67106         * html/File.cpp: Removed.
67107         * html/File.h: Removed.
67108         * html/File.idl: Removed.
67109         * html/FileError.h: Removed.
67110         * html/FileError.idl: Removed.
67111         * html/FileList.cpp: Removed.
67112         * html/FileList.h: Removed.
67113         * html/FileList.idl: Removed.
67114         * html/FileReader.cpp: Removed.
67115         * html/FileReader.h: Removed.
67116         * html/FileReader.idl: Removed.
67117         * html/FileStreamProxy.cpp: Removed.
67118         * html/FileStreamProxy.h: Removed.
67119         * html/FileThread.cpp: Removed.
67120         * html/FileThread.h: Removed.
67121         * html/FileThreadTask.h: Removed.
67122         * html/FileWriter.cpp: Removed.
67123         * html/FileWriter.h: Removed.
67124         * html/FileWriter.idl: Removed.
67125         * html/FileWriterClient.h: Removed.
67126         * html/ThreadableBlobRegistry.cpp: Removed.
67127         * html/ThreadableBlobRegistry.h: Removed.
67128
67129 2010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>
67130
67131         Reviewed by Kent Tamura.
67132
67133         Move more common settings to webcore_prerequisites
67134         https://bugs.webkit.org/show_bug.cgi?id=44812
67135
67136         * WebCore.gyp/WebCore.gyp:
67137
67138 2010-08-29  Darin Adler  <darin@apple.com>
67139
67140         Reviewed by Maciej Stachowiak.
67141
67142         Create SVG and WML elements with create functions instead of direct invocations of new
67143         https://bugs.webkit.org/show_bug.cgi?id=44851
67144
67145         Added the create functions, made some existing constructors protected and private,
67146         made some other member functions protected and and private, added some missing virtual
67147         keywords for clarity to functions that already were overriding virtual functions,
67148         fixed some inconsistent indentation, and removed some unneeded empty destructors.
67149
67150         In the future, it will be good to have the constructors all be private so we don't
67151         use them by accident. Then we'll change the reference count rule globally and add
67152         all the necessary calls to adoptRef.
67153
67154         The SVG changes are compiled and tested. The WML changes are speculative and untested.
67155
67156         * dom/make_names.pl: Removed supportfor the createWithNew keyword.
67157         * svg/svgtags.in: Removed all the createWithNew keywords.
67158         * wml/WMLTagNames.in: Ditto.
67159
67160         * svg/SVGAElement.cpp:
67161         (WebCore::SVGAElement::create): Added.
67162         * svg/SVGAElement.h:
67163         * svg/SVGAltGlyphElement.cpp:
67164         (WebCore::SVGAltGlyphElement::create): Added.
67165         * svg/SVGAltGlyphElement.h:
67166         * svg/SVGAnimateColorElement.cpp:
67167         (WebCore::SVGAnimateColorElement::create): Added.
67168         * svg/SVGAnimateColorElement.h:
67169         * svg/SVGAnimateElement.cpp:
67170         (WebCore::SVGAnimateElement::create): Added.
67171         * svg/SVGAnimateElement.h:
67172         * svg/SVGAnimateMotionElement.cpp:
67173         (WebCore::SVGAnimateMotionElement::create): Added.
67174         * svg/SVGAnimateMotionElement.h:
67175         * svg/SVGAnimateTransformElement.cpp:
67176         (WebCore::SVGAnimateTransformElement::create): Added.
67177         * svg/SVGAnimateTransformElement.h:
67178         * svg/SVGCircleElement.cpp:
67179         (WebCore::SVGCircleElement::create): Added.
67180         * svg/SVGCircleElement.h:
67181         * svg/SVGClipPathElement.cpp:
67182         (WebCore::SVGClipPathElement::create): Added.
67183         * svg/SVGClipPathElement.h:
67184         * svg/SVGCursorElement.cpp:
67185         (WebCore::SVGCursorElement::create): Added.
67186         * svg/SVGCursorElement.h:
67187         * svg/SVGDefsElement.cpp:
67188         (WebCore::SVGDefsElement::create): Added.
67189         * svg/SVGDefsElement.h:
67190         * svg/SVGDescElement.cpp:
67191         (WebCore::SVGDescElement::create): Added.
67192         * svg/SVGDescElement.h:
67193         * svg/SVGEllipseElement.cpp:
67194         (WebCore::SVGEllipseElement::create): Added.
67195         * svg/SVGEllipseElement.h:
67196         * svg/SVGFEBlendElement.cpp:
67197         (WebCore::SVGFEBlendElement::create): Added.
67198         * svg/SVGFEBlendElement.h:
67199         * svg/SVGFEColorMatrixElement.cpp:
67200         (WebCore::SVGFEColorMatrixElement::create): Added.
67201         * svg/SVGFEColorMatrixElement.h:
67202         * svg/SVGFEComponentTransferElement.cpp:
67203         (WebCore::SVGFEComponentTransferElement::create): Added.
67204         * svg/SVGFEComponentTransferElement.h:
67205         * svg/SVGFECompositeElement.cpp:
67206         (WebCore::SVGFECompositeElement::create): Added.
67207         * svg/SVGFECompositeElement.h:
67208         * svg/SVGFEConvolveMatrixElement.cpp:
67209         (WebCore::SVGFEConvolveMatrixElement::create): Added.
67210         * svg/SVGFEConvolveMatrixElement.h:
67211         * svg/SVGFEDiffuseLightingElement.cpp:
67212         (WebCore::SVGFEDiffuseLightingElement::create): Added.
67213         * svg/SVGFEDiffuseLightingElement.h:
67214         * svg/SVGFEDisplacementMapElement.cpp:
67215         (WebCore::SVGFEDisplacementMapElement::create): Added.
67216         * svg/SVGFEDisplacementMapElement.h:
67217         * svg/SVGFEDistantLightElement.cpp:
67218         (WebCore::SVGFEDistantLightElement::create): Added.
67219         * svg/SVGFEDistantLightElement.h:
67220         * svg/SVGFEFloodElement.cpp:
67221         (WebCore::SVGFEFloodElement::create): Added.
67222         * svg/SVGFEFloodElement.h:
67223         * svg/SVGFEFuncAElement.cpp:
67224         (WebCore::SVGFEFuncAElement::create): Added.
67225         * svg/SVGFEFuncAElement.h:
67226         * svg/SVGFEFuncBElement.cpp:
67227         (WebCore::SVGFEFuncBElement::create): Added.
67228         * svg/SVGFEFuncBElement.h:
67229         * svg/SVGFEFuncGElement.cpp:
67230         (WebCore::SVGFEFuncGElement::create): Added.
67231         * svg/SVGFEFuncGElement.h:
67232         * svg/SVGFEFuncRElement.cpp:
67233         (WebCore::SVGFEFuncRElement::create): Added.
67234         * svg/SVGFEFuncRElement.h:
67235         * svg/SVGFEGaussianBlurElement.cpp:
67236         (WebCore::SVGFEGaussianBlurElement::create): Added.
67237         * svg/SVGFEGaussianBlurElement.h:
67238         * svg/SVGFEImageElement.cpp:
67239         (WebCore::SVGFEImageElement::create): Added.
67240         * svg/SVGFEImageElement.h:
67241         * svg/SVGFEMergeElement.cpp:
67242         (WebCore::SVGFEMergeElement::create): Added.
67243         * svg/SVGFEMergeElement.h:
67244         * svg/SVGFEMergeNodeElement.cpp:
67245         (WebCore::SVGFEMergeNodeElement::create): Added.
67246         * svg/SVGFEMergeNodeElement.h:
67247         * svg/SVGFEMorphologyElement.cpp:
67248         (WebCore::SVGFEMorphologyElement::create): Added.
67249         * svg/SVGFEMorphologyElement.h:
67250         * svg/SVGFEOffsetElement.cpp:
67251         (WebCore::SVGFEOffsetElement::create): Added.
67252         * svg/SVGFEOffsetElement.h:
67253         * svg/SVGFEPointLightElement.cpp:
67254         (WebCore::SVGFEPointLightElement::create): Added.
67255         * svg/SVGFEPointLightElement.h:
67256         * svg/SVGFESpecularLightingElement.cpp:
67257         (WebCore::SVGFESpecularLightingElement::create): Added.
67258         * svg/SVGFESpecularLightingElement.h:
67259         * svg/SVGFESpotLightElement.cpp:
67260         (WebCore::SVGFESpotLightElement::create): Added.
67261         * svg/SVGFESpotLightElement.h:
67262         * svg/SVGFETileElement.cpp:
67263         (WebCore::SVGFETileElement::create): Added.
67264         * svg/SVGFETileElement.h:
67265         * svg/SVGFETurbulenceElement.cpp:
67266         (WebCore::SVGFETurbulenceElement::create): Added.
67267         * svg/SVGFETurbulenceElement.h:
67268         * svg/SVGFilterElement.cpp:
67269         (WebCore::SVGFilterElement::create): Added.
67270         * svg/SVGFilterElement.h:
67271         * svg/SVGFontElement.cpp:
67272         (WebCore::SVGFontElement::create): Added.
67273         * svg/SVGFontElement.h:
67274         * svg/SVGFontFaceElement.cpp:
67275         (WebCore::SVGFontFaceElement::create): Added.
67276         * svg/SVGFontFaceElement.h:
67277         * svg/SVGFontFaceFormatElement.cpp:
67278         (WebCore::SVGFontFaceFormatElement::create): Added.
67279         * svg/SVGFontFaceFormatElement.h:
67280         * svg/SVGFontFaceNameElement.cpp:
67281         (WebCore::SVGFontFaceNameElement::create): Added.
67282         * svg/SVGFontFaceNameElement.h:
67283         * svg/SVGFontFaceSrcElement.cpp:
67284         (WebCore::SVGFontFaceSrcElement::create): Added.
67285         * svg/SVGFontFaceSrcElement.h:
67286         * svg/SVGFontFaceUriElement.cpp:
67287         (WebCore::SVGFontFaceUriElement::create): Added.
67288         * svg/SVGFontFaceUriElement.h:
67289         * svg/SVGForeignObjectElement.cpp:
67290         (WebCore::SVGForeignObjectElement::create): Added.
67291         * svg/SVGForeignObjectElement.h:
67292         * svg/SVGGElement.cpp:
67293         (WebCore::SVGGElement::create): Added.
67294         * svg/SVGGElement.h:
67295         * svg/SVGGlyphElement.cpp:
67296         (WebCore::SVGGlyphElement::create): Added.
67297         * svg/SVGGlyphElement.h:
67298         * svg/SVGHKernElement.cpp:
67299         (WebCore::SVGHKernElement::create): Added.
67300         * svg/SVGHKernElement.h:
67301         * svg/SVGImageElement.cpp:
67302         (WebCore::SVGImageElement::create): Added.
67303         * svg/SVGImageElement.h:
67304         * svg/SVGLineElement.cpp:
67305         (WebCore::SVGLineElement::create): Added.
67306         * svg/SVGLineElement.h:
67307         * svg/SVGLinearGradientElement.cpp:
67308         (WebCore::SVGLinearGradientElement::create): Added.
67309         * svg/SVGLinearGradientElement.h:
67310         * svg/SVGMPathElement.cpp:
67311         (WebCore::SVGMPathElement::create): Added.
67312         * svg/SVGMPathElement.h:
67313         * svg/SVGMarkerElement.cpp:
67314         (WebCore::SVGMarkerElement::create): Added.
67315         * svg/SVGMarkerElement.h:
67316         * svg/SVGMaskElement.cpp:
67317         (WebCore::SVGMaskElement::create): Added.
67318         * svg/SVGMaskElement.h:
67319         * svg/SVGMetadataElement.cpp:
67320         (SVGMetadataElement::create): Added.
67321         * svg/SVGMetadataElement.h:
67322         * svg/SVGMissingGlyphElement.cpp:
67323         (WebCore::SVGMissingGlyphElement::create): Added.
67324         * svg/SVGMissingGlyphElement.h:
67325         * svg/SVGPathElement.cpp:
67326         (WebCore::SVGPathElement::create): Added.
67327         * svg/SVGPathElement.h:
67328         * svg/SVGPatternElement.cpp:
67329         (WebCore::SVGPatternElement::create): Added.
67330         * svg/SVGPatternElement.h:
67331         * svg/SVGPolygonElement.cpp:
67332         (WebCore::SVGPolygonElement::create): Added.
67333         * svg/SVGPolygonElement.h:
67334         * svg/SVGPolylineElement.cpp:
67335         (WebCore::SVGPolylineElement::create): Added.
67336         * svg/SVGPolylineElement.h:
67337         * svg/SVGRadialGradientElement.cpp:
67338         (WebCore::SVGRadialGradientElement::create): Added.
67339         * svg/SVGRadialGradientElement.h:
67340         * svg/SVGRectElement.cpp:
67341         (WebCore::SVGRectElement::create): Added.
67342         * svg/SVGRectElement.h:
67343         * svg/SVGSVGElement.cpp:
67344         (WebCore::SVGSVGElement::create): Added.
67345         * svg/SVGSVGElement.h:
67346         * svg/SVGScriptElement.cpp:
67347         (WebCore::SVGScriptElement::create): Added.
67348         * svg/SVGScriptElement.h:
67349         * svg/SVGSetElement.cpp:
67350         (WebCore::SVGSetElement::create): Added.
67351         * svg/SVGSetElement.h:
67352         * svg/SVGStopElement.cpp:
67353         (WebCore::SVGStopElement::create): Added.
67354         * svg/SVGStopElement.h:
67355         (WebCore::SVGStyleElement::create): Added.
67356         * svg/SVGStyleElement.h:
67357         * svg/SVGSwitchElement.cpp:
67358         (WebCore::SVGSwitchElement::create): Added.
67359         * svg/SVGSwitchElement.h:
67360         * svg/SVGSymbolElement.cpp:
67361         (WebCore::SVGSymbolElement::create): Added.
67362         * svg/SVGSymbolElement.h:
67363         * svg/SVGTRefElement.cpp:
67364         (WebCore::SVGTRefElement::create): Added.
67365         * svg/SVGTRefElement.h:
67366         * svg/SVGTSpanElement.cpp:
67367         (WebCore::SVGTSpanElement::create): Added.
67368         * svg/SVGTSpanElement.h:
67369         * svg/SVGTextContentElement.h:
67370         * svg/SVGTextElement.cpp:
67371         (WebCore::SVGTextElement::create): Added.
67372         * svg/SVGTextElement.h:
67373         * svg/SVGTextPathElement.cpp:
67374         (WebCore::SVGTextPathElement::create): Added.
67375         * svg/SVGTextPathElement.h:
67376         * svg/SVGTextPositioningElement.h:
67377         * svg/SVGTitleElement.cpp:
67378         (WebCore::SVGTitleElement::create): Added.
67379         * svg/SVGTitleElement.h:
67380         * svg/SVGUseElement.cpp:
67381         (WebCore::SVGUseElement::create): Added.
67382         * svg/SVGUseElement.h:
67383         * svg/SVGVKernElement.cpp:
67384         (WebCore::SVGVKernElement::create): Added.
67385         * svg/SVGVKernElement.h:
67386         * svg/SVGViewElement.cpp:
67387         (WebCore::SVGViewElement::create): Added.
67388         * svg/SVGViewElement.h:
67389         * wml/WMLAElement.cpp:
67390         (WebCore::WMLAElement::create): Added.
67391         * wml/WMLAElement.h:
67392         * wml/WMLAccessElement.cpp:
67393         (WebCore::WMLAccessElement::create): Added.
67394         * wml/WMLAccessElement.h:
67395         * wml/WMLAnchorElement.cpp:
67396         (WebCore::WMLAnchorElement::create): Added.
67397         * wml/WMLAnchorElement.h:
67398         * wml/WMLBRElement.cpp:
67399         (WebCore::WMLBRElement::create): Added.
67400         * wml/WMLBRElement.h:
67401         * wml/WMLCardElement.cpp:
67402         (WebCore::WMLCardElement::create): Added.
67403         * wml/WMLCardElement.h:
67404         * wml/WMLDoElement.cpp:
67405         (WebCore::WMLDoElement::create): Added.
67406         * wml/WMLDoElement.h:
67407         * wml/WMLFieldSetElement.cpp:
67408         (WebCore::WMLFieldSetElement::create): Added.
67409         * wml/WMLFieldSetElement.h:
67410         * wml/WMLFormControlElement.cpp:
67411         (WebCore::WMLFormControlElement::create): Added.
67412         * wml/WMLGoElement.cpp:
67413         (WebCore::WMLGoElement::create): Added.
67414         * wml/WMLGoElement.h:
67415         * wml/WMLImageElement.cpp:
67416         (WebCore::WMLImageElement::create): Added.
67417         * wml/WMLImageElement.h:
67418         * wml/WMLInputElement.cpp:
67419         (WebCore::WMLInputElement::create): Added.
67420         * wml/WMLInputElement.h:
67421         * wml/WMLInsertedLegendElement.cpp:
67422         (WebCore::WMLInsertedLegendElement::create): Added.
67423         * wml/WMLInsertedLegendElement.h:
67424         * wml/WMLIntrinsicEvent.cpp:
67425         (WebCore::WMLIntrinsicEvent::create): Added.
67426         * wml/WMLMetaElement.cpp:
67427         (WebCore::WMLMetaElement::create): Added.
67428         * wml/WMLMetaElement.h:
67429         * wml/WMLNoopElement.cpp:
67430         (WebCore::WMLNoopElement::create): Added.
67431         * wml/WMLNoopElement.h:
67432         * wml/WMLOnEventElement.cpp:
67433         (WebCore::WMLOnEventElement::create): Added.
67434         * wml/WMLOnEventElement.h:
67435         * wml/WMLOptGroupElement.cpp:
67436         (WebCore::WMLOptGroupElement::create): Added.
67437         * wml/WMLOptGroupElement.h:
67438         * wml/WMLOptionElement.cpp:
67439         (WebCore::WMLOptionElement::create): Added.
67440         * wml/WMLOptionElement.h:
67441         * wml/WMLPElement.cpp:
67442         (WebCore::WMLPElement::create): Added.
67443         * wml/WMLPElement.h:
67444         * wml/WMLPostfieldElement.cpp:
67445         (WebCore::WMLPostfieldElement::create): Added.
67446         * wml/WMLPostfieldElement.h:
67447         * wml/WMLPrevElement.cpp:
67448         (WebCore::WMLPrevElement::create): Added.
67449         * wml/WMLPrevElement.h:
67450         * wml/WMLRefreshElement.cpp:
67451         (WebCore::WMLRefreshElement::create): Added.
67452         * wml/WMLRefreshElement.h:
67453         * wml/WMLSelectElement.cpp:
67454         (WebCore::WMLSelectElement::create): Added.
67455         * wml/WMLSelectElement.h:
67456         * wml/WMLSetvarElement.cpp:
67457         (WebCore::WMLSetvarElement::create): Added.
67458         * wml/WMLSetvarElement.h:
67459         * wml/WMLTableElement.cpp:
67460         (WebCore::WMLTableElement::create): Added.
67461         * wml/WMLTableElement.h:
67462         * wml/WMLTaskElement.cpp:
67463         (WebCore::WMLTaskElement::create): Added.
67464         * wml/WMLTaskElement.h:
67465         * wml/WMLTemplateElement.cpp:
67466         (WebCore::WMLTemplateElement::create): Added.
67467         * wml/WMLTemplateElement.h:
67468         * wml/WMLTimerElement.cpp:
67469         (WebCore::WMLTimerElement::create): Added.
67470         * wml/WMLTimerElement.h:
67471
67472 2010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>
67473
67474         Reviewed by Kent Tamura.
67475
67476         Rename webcore to 'webcore_remaining'.
67477         https://bugs.webkit.org/show_bug.cgi?id=44796
67478
67479         Create a meta-target webcore that inherits from every webcore_XXX targets. (Currently 1)
67480         Move direct_dependent_settings and export_dependent_settings from webcore_remaining to webcore
67481
67482         Obviously, there will be other webcore_XXX targets. Keeping the change as small as possible.
67483
67484         * WebCore.gyp/WebCore.gyp:
67485
67486 2010-08-29  Jeremy Moskovich  <jeremy@chromium.org>
67487
67488         Reviewed by Dimitri Glazkov.
67489
67490         First step in unforking Chrome's FontPlatformDataMac.mm.
67491         Move files from platform/graphics/mac to platform/graphics/cocoa
67492
67493         https://bugs.webkit.org/show_bug.cgi?id=41398
67494
67495         Just moving files around so no new tests.
67496
67497         * WebCore.gyp/WebCore.gyp:
67498         * WebCore.gypi:
67499         * WebCore.xcodeproj/project.pbxproj:
67500         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
67501         * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
67502         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
67503         * platform/graphics/mac/FontPlatformData.h: Removed.
67504         * platform/graphics/mac/FontPlatformDataMac.mm: Removed.
67505
67506 2010-08-29  Kent Tamura  <tkent@chromium.org>
67507
67508         Reviewed by Darin Adler.
67509
67510         Introduce isValidValue(const String&) of HTMLInputElement and HTMLTextAreaElement
67511         https://bugs.webkit.org/show_bug.cgi?id=43537
67512
67513         isValidValue() is useful for browser implementations to propose
67514         form field values without breaking form validity.
67515         No new tests because these functions are not exposed to JavaScript.
67516
67517         * html/HTMLFormControlElement.h:
67518         (WebCore::HTMLTextFormControlElement::):
67519          Remove virtual valueMissing(), patternMismatch(), and tooLong().
67520         * html/HTMLInputElement.cpp:
67521         (WebCore::isValidColorString): Moved from ValidityState.
67522         (WebCore::isValidEmailAddress): ditto.
67523         (WebCore::HTMLInputElement::isValidValue): Added.
67524         (WebCore::HTMLInputElement::typeMismatch): Add a String parameter.
67525         (WebCore::HTMLInputElement::valueMissing): Add a String parameter.
67526         (WebCore::HTMLInputElement::patternMismatch): Add a String parameter.
67527         (WebCore::HTMLInputElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
67528         (WebCore::HTMLInputElement::rangeUnderflow): Add a String parameter.
67529         (WebCore::HTMLInputElement::rangeOverflow): Add a String parameter.
67530         (WebCore::HTMLInputElement::stepMismatch): Add a String parameter.
67531         * html/HTMLInputElement.h:
67532         * html/HTMLTextAreaElement.cpp:
67533         (WebCore::HTMLTextAreaElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
67534         (WebCore::HTMLTextAreaElement::isValidValue): Added.
67535         * html/HTMLTextAreaElement.h:
67536         (WebCore::HTMLTextAreaElement::valueMissing):
67537         * html/ValidityState.cpp:
67538         (WebCore::ValidityState::valueMissing): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
67539         (WebCore::ValidityState::typeMismatch): Passes value() to HTMLInputElement::typeMismatch().
67540         (WebCore::ValidityState::patternMismatch): Calls patternMismatch() of HTMLInputElement.
67541         (WebCore::ValidityState::tooLong): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
67542         (WebCore::ValidityState::rangeUnderflow): Passes value() to HTMLInputElement::rangeUnderflow().
67543         (WebCore::ValidityState::rangeOverflow): Passes value() to HTMLInputElement::rangeUnderflow().
67544         (WebCore::ValidityState::stepMismatch): Passes value() to HTMLInputElement::stepMismatch().
67545         * html/ValidityState.h:
67546
67547 2010-08-29  Kent Tamura  <tkent@chromium.org>
67548
67549         Reviewed by Darin Adler.
67550
67551         Change lower and higher limits of date/datetime/datetime-local/month/week types
67552         https://bugs.webkit.org/show_bug.cgi?id=39737
67553
67554         According to the latest draft of HTML5, ISO-8601 dates in HTML5
67555         should support A.D.0001 in Gregorian calendar though Gregorian
67556         calendar started in 1582. So, we change the lower limits of
67557         date&time types to 0001-01-01T00:00.
67558
67559         We also introduce the common higher limit, 275760-09-13T00:00. It
67560         is the higher limit of Date type of ECMAScript.
67561
67562         * html/DateComponents.cpp:
67563         (WebCore::DateComponents::parseYear):
67564          Rejects years less than A.D.1 and years greater than 275760.
67565         (WebCore::withinHTMLDateLimits):
67566          Helper functions to check lower and higher limits.
67567         (WebCore::DateComponents::addDay):
67568          - Remove an overflow check. 'year' can't be so large number because
67569            parseYear() rejects such numbers.
67570          - Add withinHTMLDateLimits() calls.
67571         (WebCore::DateComponents::addMinute):
67572          - Add an assertion for the base date.
67573          - Add withinHTMLDateLimits() calls.
67574         (WebCore::DateComponents::parseMonth):
67575          Add withinHTMLDateLimits() call.
67576         (WebCore::DateComponents::parseDate): ditto.
67577         (WebCore::DateComponents::parseWeek): ditto.
67578         (WebCore::DateComponents::parseDateTimeLocal): ditto.
67579         (WebCore::DateComponents::parseDateTime): ditto.
67580         (WebCore::DateComponents::setMillisecondsSinceEpochForDate): ditto.
67581         (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): ditto.
67582         (WebCore::DateComponents::setMillisecondsSinceEpochForMonth): ditto.
67583         (WebCore::DateComponents::setMonthsSinceEpoch):
67584          Add year range check and withinHTMLDateLimits() call.
67585         (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
67586          Add year range check and week range check.
67587         * html/DateComponents.h:
67588          Update minimum/maximum constant values.
67589         (WebCore::DateComponents::minimumDate):
67590         (WebCore::DateComponents::minimumDateTime):
67591         (WebCore::DateComponents::minimumMonth):
67592         (WebCore::DateComponents::minimumWeek):
67593         (WebCore::DateComponents::maximumDate):
67594         (WebCore::DateComponents::maximumDateTime):
67595         (WebCore::DateComponents::maximumMonth):
67596         (WebCore::DateComponents::maximumWeek):
67597
67598 2010-08-29  Kwang Yul Seo  <skyul@company100.net>
67599
67600         Reviewed by Kent Tamura.
67601
67602         [BREWMP] Port SharedBuffer::createWithContentsOfFile
67603         https://bugs.webkit.org/show_bug.cgi?id=34412
67604
67605         Implement SharedBuffer::createWithContentsOfFile with IFile.
67606
67607         * platform/brew/SharedBufferBrew.cpp: Added.
67608         (WebCore::SharedBuffer::createWithContentsOfFile):
67609
67610 2010-08-29  Enrica Casucci  <enrica@apple.com>
67611
67612         Reviewed by Adele Peterson.
67613
67614         Crash when dragging text in Google Docs
67615         https://bugs.webkit.org/show_bug.cgi?id=20471
67616         <rdar://problem/7783629>
67617         
67618         This fixes the crash but also fixes the generated markup when
67619         performing a replacement at the border with an inline, to avoid the 
67620         new content being merged into the inline.
67621         The crash is happening when doApply detects the need of merging
67622         the start and the end of the new paragraph and the destination position
67623         is moved inside an inline.
67624         
67625         I've added new test cases to an existing layout test.
67626         
67627         * editing/ReplaceSelectionCommand.cpp:
67628         (WebCore::ReplaceSelectionCommand::doApply): When the situation described above is detected,
67629         we insert a placeholder to avoid merging into the inline.
67630
67631 2010-08-29  Adam Barth  <abarth@webkit.org>
67632
67633         Reviewed by Darin Adler.
67634
67635         Implement HTML5's fakepath
67636         https://bugs.webkit.org/show_bug.cgi?id=29000
67637
67638         The HTML 5 spec says to prepend C:\fakepath\ to the value of an
67639         <input type="file"> control, so that's what we do now.
67640
67641         * html/HTMLInputElement.cpp:
67642         (WebCore::HTMLInputElement::value):
67643
67644 2010-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
67645
67646         Unreviewed, rolling out r66329.
67647         http://trac.webkit.org/changeset/66329
67648         https://bugs.webkit.org/show_bug.cgi?id=44845
67649
67650         broke chromium mac (Requested by jamesr on #webkit).
67651
67652         * WebCore.gypi:
67653         * WebCore.xcodeproj/project.pbxproj:
67654         * platform/graphics/mac/FontPlatformData.h: Renamed from WebCore/platform/graphics/cocoa/FontPlatformData.h.
67655         (WebCore::toCTFontRef):
67656         (WebCore::FontPlatformData::FontPlatformData):
67657         (WebCore::FontPlatformData::isHashTableDeletedValue):
67658         (WebCore::FontPlatformData::size):
67659         (WebCore::FontPlatformData::syntheticBold):
67660         (WebCore::FontPlatformData::syntheticOblique):
67661         (WebCore::FontPlatformData::hash):
67662         (WebCore::FontPlatformData::operator==):
67663         (WebCore::FontPlatformData::font):
67664         (WebCore::FontPlatformData::isColorBitmapFont):
67665         (WebCore::FontPlatformData::cgFont):
67666         (WebCore::FontPlatformData::hashTableDeletedFontValue):
67667         * platform/graphics/mac/FontPlatformDataMac.mm: Renamed from WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm.
67668         (WebCore::FontPlatformData::FontPlatformData):
67669         (WebCore::~FontPlatformData):
67670         (WebCore::FontPlatformData::operator=):
67671         (WebCore::FontPlatformData::setFont):
67672         (WebCore::FontPlatformData::roundsGlyphAdvances):
67673         (WebCore::FontPlatformData::allowsLigatures):
67674         (WebCore::FontPlatformData::ctFont):
67675         (WebCore::FontPlatformData::description):
67676
67677 2010-08-29  Simon Fraser  <simon.fraser@apple.com>
67678
67679         Reviewed by Darin Adler.
67680
67681         Fix RenderStyle::addCursor to use a StyleImage, not a CachedImage
67682         https://bugs.webkit.org/show_bug.cgi?id=44719
67683         
67684         Modernize the CSS cursor code to use a StyleImage, rather
67685         than a CachedImage in the CursorData, and handle the loading
67686         of pending images for the cursor property.
67687
67688         Covered by manual tests in WebCore/manual-tests
67689
67690         * css/CSSComputedStyleDeclaration.cpp:
67691         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
67692         * css/CSSStyleSelector.cpp:
67693         (WebCore::CSSStyleSelector::applyProperty):
67694         (WebCore::CSSStyleSelector::loadPendingImages):
67695         * html/canvas/WebGLRenderingContext.cpp:
67696         * page/EventHandler.cpp:
67697         (WebCore::EventHandler::selectCursor):
67698         * rendering/style/CursorData.h:
67699         (WebCore::CursorData::CursorData):
67700         (WebCore::CursorData::image):
67701         (WebCore::CursorData::setImage):
67702         * rendering/style/CursorList.h:
67703         (WebCore::CursorList::operator[]):
67704         * rendering/style/RenderStyle.cpp:
67705         (WebCore::RenderStyle::addCursor):
67706         * rendering/style/RenderStyle.h:
67707
67708 2010-08-29  Simon Fraser  <simon.fraser@apple.com>
67709
67710         Reviewed by Darin Adler.
67711
67712         When properties are missing from animation keyframes, interpolate between those keyframes that specify them
67713         https://bugs.webkit.org/show_bug.cgi?id=40794
67714         
67715         When a property does not appear in all keyframes of a keyframe animation, we currently use the
67716         value of that property from the unanimated style. That forces the author to use additional
67717         keyframes for properties that need to "skip a keyframe", which is laborious.
67718         
67719         With this change, properties are interpolated between the keyframes in which they appear.
67720         This is equivalent to splitting each property out into its own set of keyframes.
67721
67722         Tests: animations/missing-keyframe-properties-repeating.html
67723                animations/missing-keyframe-properties-timing-function.html
67724                animations/missing-keyframe-properties.html
67725
67726         * css/CSSStyleSelector.h:
67727         * css/CSSStyleSelector.cpp:
67728         (WebCore::CSSStyleSelector::styleForKeyframe): Pass a KeyframeValue in so that we can
67729         collect which properties are represented per keyframe.
67730         (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Keyframes are inserted into a
67731         KeyframeList by object now, rather than by key and style.
67732
67733         * page/animation/AnimationBase.cpp:
67734         (WebCore::AnimationBase::progress): Use AnimationDirectionAlternate for readability.
67735
67736         * page/animation/KeyframeAnimation.cpp:
67737         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): Renamed from getKeyframeAnimationInterval.
67738         Use fractionalTime etc to match AnimationBase::progress(), and do lookups per-property.
67739         Simplify the code that finds the relevant keyframe to do less work.
67740         (WebCore::KeyframeAnimation::animate): Call fetchIntervalEndpointsForProperty() for each property, rather than just once for the
67741         entire keyframe.
67742         (WebCore::KeyframeAnimation::getAnimatedStyle): Ditto.
67743         (WebCore::KeyframeAnimation::hasAnimationForProperty): FIXME comment.
67744
67745         * page/animation/KeyframeAnimation.h: Rename getKeyframeAnimationInterval() to fetchIntervalEndpointsForProperty().
67746
67747         * rendering/RenderLayerBacking.cpp:
67748         (WebCore::RenderLayerBacking::startAnimation): For hardware animations, only insert values
67749         for keyframes which contain the property.
67750
67751         (WebCore::KeyframeList::KeyframeList): insert() takes a KeyframeValue now.
67752         * rendering/style/KeyframeList.cpp:
67753         (WebCore::KeyframeList::operator==):
67754         (WebCore::KeyframeList::insert): Fix insert/replace logic, and ensure we maintain the
67755         m_properties hash.
67756
67757         * rendering/style/KeyframeList.h:
67758         (WebCore::KeyframeValue::KeyframeValue): Make members private, with accessors.
67759         Add a m_properties HashSet for the properties animated in this keyframe.
67760
67761
67762 2010-08-29  Csaba Osztrogonác  <ossy@webkit.org>
67763
67764         Reviewed by Darin Adler.
67765
67766         REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
67767         https://bugs.webkit.org/show_bug.cgi?id=44843
67768
67769         * editing/ApplyStyleCommand.cpp:
67770         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
67771
67772 2010-08-29  Darin Adler  <darin@apple.com>
67773
67774         Try to fix Mac build.
67775
67776         * WebCore.xcodeproj/project.pbxproj: Mark CounterContent.h Private instead of Project.
67777
67778 2010-08-29  Pawel Hajdan  <phajdan.jr@chromium.org>
67779
67780         Reviewed by Darin Adler.
67781
67782         Fix libxml workarounds to work with recent versions of libxml.
67783         I was testing locally with libxml2-2.7.6.
67784         https://bugs.webkit.org/show_bug.cgi?id=30508
67785
67786         Based on patch by Philippe Normand <pnormand@igalia.com>.
67787
67788         This also fixes a Chromium bug:
67789         http://code.google.com/p/chromium/issues/detail?id=29333
67790
67791         * dom/XMLDocumentParserLibxml2.cpp:
67792         (WebCore::switchToUTF16):
67793         (WebCore::XMLParserContext::createStringParser):
67794         (WebCore::XMLDocumentParser::doWrite):
67795         (WebCore::startDocumentHandler):
67796
67797 2010-08-29  Darin Adler  <darin@apple.com>
67798
67799         Try to fix Windows build.
67800
67801         * rendering/style/ContentData.h: Added include of CounterContent.h.
67802
67803         * css/CSSStyleSelector.cpp: Removed include of CounterContent.h.
67804         * rendering/style/ContentData.cpp: Ditto.
67805         * rendering/style/RenderStyle.cpp: Ditto.
67806
67807 2010-08-29  Darin Adler  <darin@apple.com>
67808
67809         Reviewed by Sam Weinig.
67810
67811         Deploy OwnPtr, PassOwnPtr, and adoptPtr in some CSS-related files
67812         https://bugs.webkit.org/show_bug.cgi?id=44834
67813
67814         * css/CSSFunctionValue.cpp:
67815         (WebCore::CSSFunctionValue::CSSFunctionValue): Updated since
67816         CSSParserFunction::args is an OwnPtr.
67817         (WebCore::CSSFunctionValue::parserValue): Ditto.
67818
67819         * css/CSSGrammar.y: Added leakPtr calls for putting MediaQueryExp*
67820         into the media query expression list, which is a vector of raw pointers
67821         that are deleted explicitly.
67822
67823         * css/CSSImportRule.cpp:
67824         (WebCore::CSSImportRule::setCSSStyleSheet): Updated to use document instead of doc.
67825         (WebCore::CSSImportRule::insertedIntoParent): Ditto.
67826         * css/CSSMutableStyleDeclaration.cpp:
67827         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): Ditto.
67828
67829         * css/CSSNamespace.h: Took the "m_" off the names of the data members of
67830         this structure. Used OwnPtr for the parent data member. Rewrote the
67831         namespaceForPrefix function so it's iterative instead of recursive.
67832
67833         * css/CSSParser.cpp:
67834         (WebCore::CSSParser::CSSParser): Update since m_mediaQuery, m_floatingMediaQuery,
67835         m_floatingMediaQueryExp, and m_floatingMediaQueryExpList are now all OwnPtr and
67836         thus don't need to be initialized.
67837         (WebCore::CSSParser::~CSSParser): Update to not delete the above OwnPtr.
67838         (WebCore::CSSParser::parseMediaQuery): Replaced the code that sets m_mediaQuery
67839         to 0 with an assertion. Also use release when passing the media query to
67840         appendMediaQuery.
67841         (WebCore::CSSParser::document): Updated to use document instead of doc and to
67842         use early return instead of a nested if.
67843         (WebCore::CSSParser::parseContent): Added a get() call needed since
67844         CSSParserFunction::args is an OwnPtr.
67845         (WebCore::CSSParser::parseAnimationTimingFunction): Ditto.
67846         (WebCore::CSSParser::parseDashboardRegions): Ditto.
67847         (WebCore::CSSParser::parseShape): Ditto.
67848         (WebCore::isValidFormatFunction): Ditto.
67849         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
67850         (WebCore::CSSParser::parseColorParameters): Ditto.
67851         (WebCore::CSSParser::parseHSLParameters): Ditto.
67852         (WebCore::parseGradientColorStop): Ditto.
67853         (WebCore::CSSParser::parseGradient): Ditto.
67854         (WebCore::CSSParser::parseCanvas): Ditto.
67855         (WebCore::CSSParser::parseTransform): Ditto.
67856         (WebCore::CSSParser::createFloatingMediaQueryExp): Updated to use adoptPtr and
67857         remove the explicit deletion.
67858         (WebCore::CSSParser::sinkFloatingMediaQueryExp): Updated to use release.
67859         (WebCore::CSSParser::createFloatingMediaQueryExpList): Ditto.
67860         (WebCore::CSSParser::sinkFloatingMediaQueryExpList): Ditto.
67861         (WebCore::CSSParser::createFloatingMediaQuery): Ditto.
67862         (WebCore::CSSParser::sinkFloatingMediaQuery): Ditto.
67863         (WebCore::CSSParser::checkForVariables): Use get for CSSParserFunction::args.
67864
67865         * css/CSSParser.h: Made return values for sinkFloatingMediaQueryExp,
67866         sinkFloatingMediaQueryExpList, and sinkFloatingMediaQuery be PassOwnPtr.
67867         Made createFloatingMediaQuery take a PassOwnPtr. Made m_mediaQuery,
67868         m_floatingMediaQuery, m_floatingMediaQueryExp, and m_floatingMediaQueryExpList
67869         be OwnPtr.
67870
67871         * css/CSSParserValues.h: Made args be an OwnPtr.
67872
67873         * css/CSSStyleSelector.cpp: Made CSSRuleSet m_universalRules and m_pageRules
67874         be OwnPtr.
67875         (WebCore::CSSStyleSelector::CSSStyleSelector): Use document instead of doc.
67876         Got rid of the init function, only called here, because it did nothing that
67877         wasn't already done. Eliminated unneeded code to set m_userStyle to 0, since
67878         it's now an OwnPtr and will be 0 automatically. Use adoptPtr when initializing
67879         m_medium, m_authorStyle, and m_useStyle.
67880         (WebCore::CSSStyleSelector::~CSSStyleSelector): Got rid of unneeded delete of
67881         m_medium, m_authorStyle, and m_userStyle, and unneded clear of m_keyframesRuleMap.
67882         (WebCore::CSSStyleSelector::styleForElement): Use get with m_userStyle and
67883         m_authorStyle.
67884         (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
67885         (WebCore::CSSStyleSelector::styleForPage): Ditto.
67886         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
67887         (WebCore::CSSRuleSet::CSSRuleSet): Got rid of unneeded initialization of
67888         m_universalRules and m_pageRules.
67889         (WebCore::CSSRuleSet::~CSSRuleSet): Got rid of unneeed deletion of same.
67890         (WebCore::CSSRuleSet::addRule): Use adoptPtr to initialize m_universalRules.
67891         (WebCore::CSSRuleSet::addPageRule): Use adoptPtr to initialize m_pageRules.
67892         (WebCore::CSSStyleSelector::applyProperty): Use adopPtr to create counter
67893         context object.
67894
67895         * css/CSSStyleSelector.h: Made m_authorStyle, m_userStyle, and m_medium use
67896         OwnPtr. Got rid of init function.
67897
67898         * css/CSSStyleSheet.cpp:
67899         (WebCore::CSSStyleSheet::CSSStyleSheet): Updatd for name change from m_doc
67900         and doc to m_document and document. Eliminated unneeded initialization of
67901         m_namespaces now that it is an OwnPtr.
67902         (WebCore::CSSStyleSheet::~CSSStyleSheet): Got rid of unneeded deletion of same.
67903         (WebCore::CSSStyleSheet::cssRules): Updated doc to document.
67904         (WebCore::CSSStyleSheet::addNamespace): Added adopPtr when setting m_namespaces.
67905         (WebCore::CSSStyleSheet::determineNamespace): Updated for changes to the
67906         CSSNamespace class, using uri data member instead of function.
67907         (WebCore::CSSStyleSheet::styleSheetChanged): Use document instead of doc.
67908
67909         * css/CSSStyleSheet.h: Renamed doc and m_doc to document and m_document.
67910         Made m_namespaces an OwnPtr.
67911
67912         * css/CSSValueList.cpp:
67913         (WebCore::CSSValueList::CSSValueList): Clean up logic a bit.
67914         (WebCore::CSSValueList::createParserValueList): Clean up logic a bit and
67915         return a PassOwnPtr.
67916
67917         * css/CSSValueList.h: Changed createParserValueList to return a PassOwnPtr.
67918
67919         * css/CSSVariablesDeclaration.cpp:
67920         (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc): Updated to use
67921         document instead of doc.
67922
67923         * css/MediaList.cpp:
67924         (WebCore::MediaList::deleteMedium): Use OwnPtr instead of a boolean to
67925         make sure the newly-created query here is deleted.
67926         (WebCore::MediaList::appendMediaQuery): Updated to take PassOwnPtr.
67927
67928         * css/MediaList.h: Changed appendMediaQuery to take a PassOwnPtr.
67929
67930         * inspector/InspectorDOMAgent.cpp:
67931         (WebCore::InspectorDOMAgent::getStyleSheet): Use document instead of doc.
67932         (WebCore::InspectorDOMAgent::getRuleRanges): Ditto.
67933         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): Ditto.
67934
67935         * rendering/style/ContentData.cpp:
67936         (WebCore::ContentData::clear): Update since data members are OwnPtr.
67937         Also, fixed iterative deletion algorithm to be much simpler.
67938         (WebCore::ContentData::dataEquivalent): Added FIXMEs and tweaked formatting.
67939         (WebCore::ContentData::deleteContent): Tweaked formatting.
67940
67941         * rendering/style/ContentData.h: Changed m_next to an OwnPtr.
67942         Added assertions to getters to check that we get the correct type.
67943         Use leakRef instead of releaseRef. Changed setCounter and setNext functions
67944         to take PassOwnPtr arguments.
67945
67946         * rendering/style/RenderStyle.cpp:
67947         (WebCore::RenderStyle::prepareToSetContent): Refactored common part of the
67948         into a shared function so the three setContent functions don't have to repeat
67949         the logic. Used an OwnPtr to avoid confusing logic and leakPtr.
67950         (WebCore::RenderStyle::setContent): Changed argument to PassOwnPtr.
67951
67952         * rendering/style/RenderStyle.h: Changed setContent argument to a PassOwnPtr.
67953         Added declaration of prepareToSetContent helper function.
67954
67955 2010-08-29  Patrick Gansterer  <paroga@paroga.com>
67956
67957         Reviewed by Adam Roben.
67958
67959         [WINCE] Port ScrollbarThemeWin to WinCE
67960         https://bugs.webkit.org/show_bug.cgi?id=44818
67961
67962         Add a #ifdef around usage of unsupported DFCS_FLAT.
67963
67964         * platform/win/ScrollbarThemeWin.cpp:
67965         (WebCore::ScrollbarThemeWin::paintButton):
67966
67967 2010-08-29  Patrick Gansterer  <paroga@paroga.com>
67968
67969         Reviewed by Adam Roben.
67970
67971         [WINCE] Port SystemInfo to WinCE
67972         https://bugs.webkit.org/show_bug.cgi?id=44817
67973
67974         * platform/win/SystemInfo.cpp:
67975         (WebCore::isRunningOnVistaOrLater):
67976
67977 2010-08-28  Jeremy Moskovich  <jeremy@chromium.org>
67978
67979         Reviewed by Dimitri Glazkov.
67980
67981         First step in unforking Chrome's FontPlatformDataMac.mm.
67982         Move files from platform/graphics/mac to platform/graphics/cocoa
67983
67984         https://bugs.webkit.org/show_bug.cgi?id=41398
67985
67986         Just moving files around so no new tests.
67987
67988         * WebCore.gypi:
67989         * WebCore.xcodeproj/project.pbxproj:
67990         * platform/graphics/cocoa: Added.
67991         * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
67992         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
67993         * platform/graphics/mac/FontPlatformData.h: Removed.
67994         * platform/graphics/mac/FontPlatformDataMac.mm: Removed.
67995
67996 2010-08-28  Darin Adler  <darin@apple.com>
67997
67998         Reviewed by Sam Weinig.
67999
68000         Some IDL attributes don't reflect URL content attributes properly
68001         https://bugs.webkit.org/show_bug.cgi?id=43650
68002
68003         * dom/Document.cpp:
68004         (WebCore::Document::processBaseElement): Added. Implements the rules for base elements
68005         from the HTML5 specification. Handles multiple base elements in the same document.
68006
68007         * dom/Document.h: Removed setBaseElementURL and setBaseElementTarget, replacing them
68008         with processBaseElement.
68009
68010         * html/HTMLBaseElement.cpp:
68011         (WebCore::HTMLBaseElement::parseMappedAttribute): Call the new processBaseElement
68012         function.
68013         (WebCore::HTMLBaseElement::insertedIntoDocument): Ditto.
68014         (WebCore::HTMLBaseElement::removedFromDocument): Ditto.
68015         (WebCore::HTMLBaseElement::isURLAttribute): Added.
68016         (WebCore::HTMLBaseElement::target): Moved here from the .h file and changed to not
68017         realy on an m_target local variable.
68018
68019         * html/HTMLBaseElement.h: Added an override of the isURLAttribute function. Removed
68020         unneeded process function. Removed declaration of nonexistent setHref and setTarget
68021         functions. Removed unneeded m_hrefAttrValue, m_href, and m_target. Moved
68022         implementation of target function into the .cpp file.
68023
68024         * html/HTMLBaseElement.idl: Marked the href attribute as URL.
68025
68026         * html/HTMLBlockquoteElement.cpp:
68027         (WebCore::HTMLBlockquoteElement::isURLAttribute): Added.
68028         * html/HTMLBlockquoteElement.h: Added isURLAttribute.
68029         * html/HTMLBlockquoteElement.idl: Marked the cite attribute as URL.
68030
68031         * html/HTMLEmbedElement.idl: Marked the src attribute as URL.
68032
68033         * html/HTMLFormElement.cpp: Added a comment about the action function, which should
68034         be removed.
68035
68036         * html/HTMLFormElement.idl: Marked the action attribute as URL.
68037
68038         * html/HTMLHtmlElement.cpp:
68039         (WebCore::HTMLHtmlElement::isURLAttribute): Added.
68040         (WebCore::HTMLHtmlElement::insertedIntoDocument): Tweaked a bit.
68041         * html/HTMLHtmlElement.h: Added isURLAttribute.
68042         * html/HTMLHtmlElement.idl: Marked the manifest attribute as URL.
68043
68044         * html/HTMLIFrameElement.idl: Marked the src attribute a URL.
68045
68046         * html/HTMLModElement.cpp:
68047         (WebCore::HTMLModElement::isURLAttribute): Added.
68048         * html/HTMLModElement.h: Added isURLAttribute.
68049         * html/HTMLModElement.idl: Marked the cite attribute as URL.
68050
68051         * html/HTMLQuoteElement.cpp:
68052         (WebCore::HTMLQuoteElement::isURLAttribute): Added.
68053         * html/HTMLQuoteElement.h: Added isURLAttribute.
68054         * html/HTMLQuoteElement.idl: Marked the cite attribute as URL.
68055
68056         * html/HTMLViewSourceDocument.cpp:
68057         (WebCore::HTMLViewSourceDocument::processTagToken): Changed code to create a base
68058         element instead of calling setBaseElementURL directly.
68059         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use AtomicString instead of String.
68060         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
68061         (WebCore::HTMLViewSourceDocument::addText): Ditto.
68062         (WebCore::HTMLViewSourceDocument::addBase): Added. Creates a base element and inserts it.
68063         (WebCore::HTMLViewSourceDocument::addLink): Use AtomicString instead of String.
68064  
68065         * html/HTMLViewSourceDocument.h: Updated function declarations as above.
68066
68067         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
68068         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
68069         * bindings/scripts/test/CPP/WebDOMTestObj.h:
68070         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
68071         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
68072         Updated results, which changed due to the fixes for at
68073         least these bugs, and perhaps a few more:
68074         https://bugs.webkit.org/show_bug.cgi?id=42115
68075         https://bugs.webkit.org/show_bug.cgi?id=44597
68076         https://bugs.webkit.org/show_bug.cgi?id=44738
68077
68078         * bindings/scripts/test/TestObj.idl:
68079         * html/HTMLAnchorElement.idl:
68080         * html/HTMLAreaElement.idl:
68081         * html/HTMLEmbedElement.idl:
68082         * html/HTMLFormElement.cpp:
68083         * html/HTMLFormElement.idl:
68084         * html/HTMLFrameElement.idl:
68085         * html/HTMLIFrameElement.idl:
68086         * html/HTMLImageElement.idl:
68087         * html/HTMLInputElement.idl:
68088         * html/HTMLLinkElement.idl:
68089         * html/HTMLMediaElement.idl:
68090         * html/HTMLObjectElement.idl:
68091         * html/HTMLScriptElement.idl:
68092         * html/HTMLSourceElement.idl:
68093         * html/HTMLVideoElement.idl:
68094         Tweaked formatting.
68095
68096 2010-08-28  Ryosuke Niwa  <rniwa@webkit.org>
68097
68098         Reviewed by Darin Adler.
68099
68100         The logic to escape entities in appendEscapedContent and appendAttributeValue should be merged
68101         https://bugs.webkit.org/show_bug.cgi?id=44831
68102
68103         Added appendCharactersReplacingEntities to escape &, <, >, ", and nbsp based on the mask.
68104         Removed escapeContentText because it was only used in appendText, which now directly calls
68105         appendCharactersReplacingEntities. Replaced appendEscapedContent, ucharRange, and appendUCharRange
68106         by appendNodeValue.
68107
68108         No new tests are added since this is a cleanup.
68109
68110         * editing/markup.cpp:
68111         (WebCore::):
68112         (WebCore::appendCharactersReplacingEntities): Added.
68113         (WebCore::MarkupAccumulator::appendAttributeValue): Calls appendCharactersReplacingEntities.
68114         (WebCore::MarkupAccumulator::appendNodeValue): Added.
68115         (WebCore::MarkupAccumulator::appendText): Calls appendNodeValue and appendCharactersReplacingEntities.
68116         (WebCore::urlToMarkup): Calls escapeEntities.
68117
68118 2010-08-27  Ryosuke Niwa  <rniwa@webkit.org>
68119
68120         Reviewed by Darin Adler.
68121
68122         cannot remove text-decoration when style is added by u or s
68123         https://bugs.webkit.org/show_bug.cgi?id=44560
68124
68125         The bug was caused by WebKit not pushing down implicitly added styles to descendent nodes.
68126         Fixed the bug by pushing down all elements that implicitly add style.
68127
68128         extractInlineStyleToPushDown now calls removeImplicitlyStyledElement, which was modified to extract
68129         the style implicitly added by the element to extractStyle.
68130
68131         This revealed a bug in applyInlineStyleToPushDown where applyInlineStyleIfNeeded could add
68132         an implicitly styled element inside an element with a conflicting style, thereby overriding the style of the element.
68133         Fixed this by extending the logic to honor the existing inline style declaration used in
68134         the case of rewriting inline style declaration to all cases including the one calling addInlineStyleIfNeeded.
68135
68136         Also fixed a bug in removeInlineStyle where pushDownInlineStyleAroundNode was called on a text node
68137         outside of selection if start was at the end of the text node.
68138
68139         Test: editing/style/push-down-implicit-styles.html
68140
68141         * editing/ApplyStyleCommand.cpp:
68142         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added extractedStyle, which receives
68143         the style implicitly added by the element being removed.
68144         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Calls removeImplicitlyStyledElement
68145         to remove the implicitly styled element and extract the inline style added by the element.
68146         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Fixed a bug that addInlineStyleIfNeeded
68147         could override the inline style declaration style of the node.
68148         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Uses extractInlineStyleToPushDown
68149         (WebCore::ApplyStyleCommand::removeInlineStyle): See above.
68150         * editing/ApplyStyleCommand.h: Prototype changes.
68151
68152 2010-08-27  Mark Rowe  <mrowe@apple.com>
68153
68154         Reviewed by Adam Barth.
68155
68156         <http://webkit.org/b/44802> REGRESSION (r65351): WebCore build fails due to attempting to directly access WebKitTools/Scripts
68157
68158         Move create-html-entity-table in to WebCore so that the build is again self-contained.
68159         The script is also updated to take input as a CSV file rather than JSON as the former
68160         can be parsed without requiring a third-party Python module be installed.
68161
68162         * CMakeLists.txt:
68163         * DerivedSources.make:
68164         * GNUmakefile.am:
68165         * WebCore.gyp/WebCore.gyp:
68166         * WebCore.pri:
68167         * WebCore.xcodeproj/project.pbxproj: Stop copying the input file in to the WebCore framework wrapper.
68168         * html/parser/HTMLEntityNames.in: Added.
68169         * html/parser/HTMLEntityNames.json: Removed.
68170         * html/parser/create-html-entity-table: Renamed from WebKitTools/Scripts/create-html-entity-table.
68171
68172 2010-08-28  Daniel Bates  <dbates@rim.com>
68173
68174         Attempt to fix Chromium Mac Release bot after changeset 66305 <http://trac.webkit.org/changeset/66305>.
68175
68176         * accessibility/chromium/AXObjectCacheChromium.cpp:
68177         (WebCore::AXObjectCache::postPlatformNotification): Added case statements for missing enum values.
68178         These case statements simply fall through to a "break" statement.
68179
68180 2010-08-26  Kevin Ollivier  <kevino@theolliviers.com>
68181
68182         Reviewed by Nikolas Zimmermann.
68183
68184         Add explicit destructor for C++ DOM bindings to avoid memory leaks when using SWIG.
68185         https://bugs.webkit.org/attachment.cgi?bugid=44738
68186
68187         * bindings/scripts/CodeGeneratorCPP.pm:
68188
68189 2010-08-28  Eric Carlson  <eric.carlson@apple.com>
68190
68191         Reviewed by Dan Bernstein.
68192
68193         Add WebM MIME types to type registry
68194         https://bugs.webkit.org/show_bug.cgi?id=44826
68195
68196         * platform/MIMETypeRegistry.cpp:
68197         (WebCore::TypeExtensionPair::): Add "video/webm" and "audio/webm" types.
68198
68199 2010-08-28  Eric Carlson  <eric.carlson@apple.com>
68200
68201         Reviewed by Simon Fraser.
68202
68203         Crash reloading fast/events/tabindex-focus-blur-all.html test
68204         https://bugs.webkit.org/show_bug.cgi?id=44743
68205
68206         * html/HTMLMediaElement.cpp:
68207         (WebCore::HTMLMediaElement::asyncEventTimerFired): If m_isWaitingToDecrementLoadEventDelayCount
68208         is true, call setShouldDelayLoadEvent(false) and set the timer to fire the pending events
68209         on the next idle.
68210         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): Don't clear the delay from within a
68211         media engine callback because document 'load' event handlers that cause the page to become
68212         inactive will delete the media engine. 
68213         * html/HTMLMediaElement.h: Add m_isWaitingToDecrementLoadEventDelayCount.
68214
68215 2010-08-28  Simon Fraser  <simon.fraser@apple.com>
68216
68217         Reviewed by Sam Weinig.
68218
68219         When properties are missing from animation keyframes, interpolate between those keyframes that specify them
68220         https://bugs.webkit.org/show_bug.cgi?id=40794
68221
68222         Some preliminary cleanup; for vectors, prefer indexed access rather than using iterators.
68223         
68224         No behavior changes.
68225
68226         * css/CSSStyleSelector.cpp:
68227         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
68228         * page/animation/KeyframeAnimation.cpp:
68229         (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
68230         (WebCore::KeyframeAnimation::validateTransformFunctionList):
68231         * rendering/RenderLayerBacking.cpp:
68232         (WebCore::RenderLayerBacking::startAnimation):
68233         * rendering/style/KeyframeList.h:
68234         (WebCore::KeyframeList::at):
68235         (WebCore::KeyframeList::keyframes):
68236
68237 2010-08-28  Dan Bernstein  <mitz@apple.com>
68238
68239         Reviewed by Simon Fraser.
68240
68241         Speculative fix for <rdar://problem/7275077> Crash in InlineBox::root() under RenderTextControl::textWithHardLineBreaks()
68242         https://bugs.webkit.org/show_bug.cgi?id=44816
68243
68244         No test because I could not reproduce the crash.
68245
68246         In a common variant of the crash, InlineBox::root() is called with this == 12. This suggests that
68247         a RenderInline* was cast into a RenderBox*, so RenderBox::inlineBoxWrapper() interpreted the
68248         m_lineHeight and m_verticalPosition members of a RenderInline as a pointer to an InlineBox.
68249
68250         The cast into RenderBox* in textWithHardLineBreaks() was introduced in r40881 with no exaplanation.
68251
68252         * rendering/RenderTextControl.cpp:
68253         (WebCore::RenderTextControl::textWithHardLineBreaks): Fetch the first line directly from the inner
68254         text block instead of relying on the first child being a text node.
68255
68256 2010-08-28  Moritz Lipp  <mlq@pwmt.org>
68257
68258         Reviewed by Xan Lopez.
68259
68260         [GTK] Improper webkit_dom_document_evaluate implementation.
68261         https://bugs.webkit.org/show_bug.cgi?id=42115
68262
68263         The generated webkit_dom_document_evaluate() function does not meet the
68264         evaluate interface described in the W3 Documentation
68265         http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate
68266         "If this is specified as nullor the implementation does not reuse the
68267         specified result,...". The current implementation did not accept the
68268         result parameter to be NULL.
68269
68270         * bindings/scripts/CodeGeneratorGObject.pm:
68271
68272 2010-08-28  Adam Barth  <abarth@webkit.org>
68273
68274         Reviewed by Eric Seidel.
68275
68276         HTMLTreeBuilder needs to call HTMLFormElement::setDemoted
68277         https://bugs.webkit.org/show_bug.cgi?id=44781
68278
68279         This patch teaches the HTMLTreeBuilder about demoted form elements.
68280         Demoting a form element magically stops the form element from
68281         rendering.  Demoted form elements are a concept from the
68282         LegacyHTMLTreeBuilder, but they are somewhat of a hack because
68283         rendering should be DOM-based.  We'll likely look for a better solution
68284         in a future patch.
68285
68286         * html/parser/HTMLConstructionSite.cpp:
68287         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
68288         * html/parser/HTMLConstructionSite.h:
68289         * html/parser/HTMLTreeBuilder.cpp:
68290         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
68291
68292 2010-08-28  Chris Guillory   <chris.guillory@google.com>
68293
68294         Reviewed by Chris Fleizach.
68295
68296         Add AX notification for childrenChanged
68297         https://bugs.webkit.org/show_bug.cgi?id=44472
68298
68299         Test by running platform/chromium/accessibility/children-changed-notification.html within chromium's DRT
68300
68301         * accessibility/AXObjectCache.h:
68302         (WebCore::AXObjectCache::):
68303         * accessibility/AccessibilityRenderObject.cpp:
68304         (WebCore::AccessibilityRenderObject::childrenChanged):
68305         * accessibility/chromium/AXObjectCacheChromium.cpp:
68306         (WebCore::AXObjectCache::postPlatformNotification):
68307         * page/chromium/ChromeClientChromium.h:
68308
68309 2010-08-28  Eric Uhrhane  <ericu@chromium.org>
68310
68311         Reviewed by Darin Fisher.
68312
68313         Implement the DOM FileWriter class
68314         https://bugs.webkit.org/show_bug.cgi?id=44362
68315
68316         No new tests until the delegate class has an implementation; bug logged.
68317
68318         Build file additions.
68319         * GNUmakefile.am:
68320         * WebCore.gypi:
68321         * WebCore.pro:
68322         * WebCore.vcproj/WebCore.vcproj:
68323         * WebCore.xcodeproj/project.pbxproj:
68324
68325         The AsyncFileWriter is an abstract interface to which FileWriter delegates all the hard work.
68326         * html/AsyncFileWriter.h: Added.
68327
68328         The FileWriterClient is the interface for communications back from the AsyncFileWriter [success/failure, progress events].
68329         * html/FileWriterClient.h: Added.
68330         (WebCore::FileWriterClient::~FileWriterClient):
68331
68332         Added all delegation, state tracking, and progress event processing.
68333         * html/FileWriter.cpp:
68334         (WebCore::FileWriter::FileWriter):
68335         (WebCore::FileWriter::initialize):
68336         (WebCore::FileWriter::~FileWriter):
68337         ActiveDomObject stuff
68338         (WebCore::FileWriter::hasPendingActivity):
68339         (WebCore::FileWriter::stop):
68340         (WebCore::FileWriter::write):
68341         FileWriter public interface
68342         (WebCore::FileWriter::seek):
68343         (WebCore::FileWriter::truncate):
68344         (WebCore::FileWriter::abort):
68345         FileWriterClient interface
68346         (WebCore::FileWriter::didWrite):
68347         (WebCore::FileWriter::didTruncate):
68348         (WebCore::FileWriter::didFail):
68349         Progress events
68350         (WebCore::FileWriter::fireEvent):
68351         * html/FileWriter.h:
68352
68353 2010-08-28  Marc-Antoine Ruel  <maruel@chromium.org>
68354
68355         Reviewed by Dimitri Glazkov.
68356
68357         Preparatory patch to split libwebcore in multiple libraries.
68358
68359         Start with a webcore_prerequisites pseudo-target what will be the common
68360         target for all the other ones.
68361
68362         * WebCore.gyp/WebCore.gyp:
68363
68364 2010-08-28  Pratik Solanki  <psolanki@apple.com>
68365
68366         Reviewed by Dan Bernstein.
68367
68368         Add an ENABLE define for purgeable memory support
68369         https://bugs.webkit.org/show_bug.cgi?id=44777
68370
68371         * platform/PurgeableBuffer.h:
68372         * platform/mac/PurgeableBufferMac.cpp:
68373
68374 2010-08-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
68375
68376         Reviewed by Kenneth Rohde Christiansen.
68377
68378         [EFL] Fix error message when theme loading fails
68379         https://bugs.webkit.org/show_bug.cgi?id=44775
68380
68381         Parameters for logging were in the wrong order.
68382
68383         No new functionality so no new tests.
68384
68385         * platform/efl/ScrollbarEfl.cpp:
68386         (ScrollbarEfl::setParent): exchange argument order in log function
68387         call
68388
68389 2010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>
68390
68391         Reviewed by Dirk Schulze.
68392
68393         REGRESSION: some tests no longer painting
68394         https://bugs.webkit.org/show_bug.cgi?id=44773
68395
68396         Fix regression from the RenderImageResource introduction, fast/canvas/canvas-as-image.html
68397         and fast/canvas/canvas-as-image-incremental-repaint.html pixel tests did not work anymore.
68398
68399         * rendering/RenderImageResource.h:
68400         (WebCore::RenderImageResource::hasImage): Make hasImage virtual.
68401         * rendering/RenderImageResourceStyleImage.h:
68402         (WebCore::RenderImageResourceStyleImage::hasImage): Always return true, just like RenderImageGeneratedContent did.
68403
68404 2010-08-27  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
68405
68406         Reviewed by Kenneth Rohde Christiansen.
68407
68408         [Qt] Cache plugin info to a persistent database
68409
68410         https://bugs.webkit.org/show_bug.cgi?id=43179
68411
68412         Implement a cache of NPAPI plugin metadata. Write the metadata to aa
68413         file that gets rewritten if any plugin is added / removed.  Compilation
68414         of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
68415
68416         Currently only enabled for Qt UNIX flavors.
68417
68418         * WebCore.pro:  Enable NETSCAPE_PLUGIN_METADATA_CACHE for UNIX builds
68419         * platform/qt/FileSystemQt.cpp:
68420         (WebCore::openFile): Added.
68421         (WebCore::readFromFile): Added.
68422         * plugins/PluginDatabase.cpp:
68423         (WebCore::persistentPluginMetadataCachePath): Static accessor for the path
68424         (WebCore::PluginDatabase::PluginDatabase): Add instance variable.
68425         (WebCore::PluginDatabase::refresh):
68426         (WebCore::PluginDatabase::pluginForMIMEType): Ensure returned plugin is loaded.
68427         (WebCore::PluginDatabase::MIMETypeForExtension): Ensure returned plugin is loaded.
68428         (WebCore::PluginDatabase::clear):
68429         (WebCore::fillBufferWithContentsOfFile): Static helper function.
68430         (WebCore::readUTF8String): Static helper function.
68431         (WebCore::readTime): Static helper function.
68432         (WebCore::PluginDatabase::loadPersistentMetadataCache):
68433         (WebCore::writeUTF8String): Static helper function.
68434         (WebCore::writeTime): Static helper function.
68435         (WebCore::PluginDatabase::updatePersistentMetadataCache): Added.
68436         (WebCore::PluginDatabase::isPersistentMetadataCacheEnabled): Added.
68437         (WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):Added.
68438         (WebCore::PluginDatabase::persistentMetadataCachePath): Added.
68439         (WebCore::PluginDatabase::setPersistentMetadataCachePath): Added.
68440         * plugins/PluginDatabase.h:
68441         * plugins/PluginPackage.cpp:
68442         (WebCore::PluginPackage::PluginPackage): Add instance variable.
68443         (WebCore::PluginPackage::createPackageFromCache): Added.
68444         (WebCore::PluginPackage::ensurePluginLoaded): Added.
68445         * plugins/PluginPackage.h:
68446         (WebCore::PluginPackage::fullMIMEDescription): Added.
68447         * plugins/qt/PluginPackageQt.cpp:
68448         (WebCore::PluginPackage::fetchInfo): Split mime parsing.
68449         (WebCore::PluginPackage::setMIMEDescription): Added. Mime parsing.
68450
68451 2010-08-27  Daniel Bates  <dbates@rim.com>
68452
68453         Reviewed by Darin Adler.
68454
68455         Implement symbolic CSS3 list-style-types
68456         https://bugs.webkit.org/show_bug.cgi?id=36734
68457
68458         Implements all of the symbolic CSS3 list-style-types as per
68459         section 4.5 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#symbolic>.
68460
68461         Test: fast/lists/w3-css3-list-styles-symbolic.html
68462
68463         * css/CSSPrimitiveValueMappings.h:
68464         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added list style types Asterisks and Footnotes.
68465         * css/CSSValueKeywords.in: Ditto.
68466         * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
68467         * rendering/RenderListMarker.cpp:
68468         (WebCore::toAlphabeticOrNumeric): Changed type of parameter sequenceSize from int to unsigned.
68469         (WebCore::toSymbolic): Added.
68470         (WebCore::toAlphabetic): Changed type of parameter alphabetSize from int to unsigned.
68471         (WebCore::toNumeric): Changed type of parameter numeralsSize from int to unsigned.
68472         (WebCore::effectiveListMarkerType): Added.
68473         (WebCore::listMarkerSuffix): Added list style types Asterisks and Footnotes.
68474         (WebCore::listMarkerText): Ditto.
68475         (WebCore::RenderListMarker::paint): Ditto.
68476         (WebCore::RenderListMarker::calcPrefWidths): Ditto.
68477         (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
68478         * rendering/style/RenderStyleConstants.h: Ditto.
68479         (WebCore::):
68480
68481 2010-08-27  Vincent Scheib  <scheib@chromium.org>
68482
68483         Reviewed by Darin Fisher.
68484
68485         CanvasRenderingContext2D::willDraw changed to didDraw
68486
68487         Solves issue with canvas to canvas draw calls, and simplifies
68488         mixed software and GPU acceleration of GraphicsContext implementations
68489         which must track dirty rects for backing stores.
68490
68491         https://bugs.webkit.org/show_bug.cgi?id=44741
68492
68493         * html/HTMLCanvasElement.cpp:
68494         (WebCore::HTMLCanvasElement::didDraw):
68495         * html/HTMLCanvasElement.h:
68496         * html/canvas/CanvasRenderingContext2D.cpp:
68497         (WebCore::CanvasRenderingContext2D::fill):
68498         (WebCore::CanvasRenderingContext2D::stroke):
68499         (WebCore::CanvasRenderingContext2D::clearRect):
68500         (WebCore::CanvasRenderingContext2D::fillRect):
68501         (WebCore::CanvasRenderingContext2D::strokeRect):
68502         (WebCore::CanvasRenderingContext2D::drawImage):
68503         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
68504         (WebCore::CanvasRenderingContext2D::didDraw):
68505         (WebCore::CanvasRenderingContext2D::putImageData):
68506         (WebCore::CanvasRenderingContext2D::drawTextInternal):
68507         * html/canvas/CanvasRenderingContext2D.h:
68508         * html/canvas/WebGLRenderingContext.cpp:
68509         (WebCore::WebGLRenderingContext::markContextChanged):
68510
68511 2010-08-27  Daniel Cheng  <dcheng@chromium.org>
68512
68513         Reviewed by Tony Chang.
68514
68515         [chromium] Add new WebClipboard method for setting generic data in copy/cut handlers.
68516         https://bugs.webkit.org/show_bug.cgi?id=42121
68517
68518         No new tests.
68519
68520         * platform/chromium/ChromiumBridge.h:
68521
68522 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
68523
68524         Reviewed by Adam Roben.
68525
68526         Remove unnecessary AlphaBlend in PasteboardWin.
68527         https://bugs.webkit.org/show_bug.cgi?id=44720
68528
68529         Replacing AlphaBlend with BitBlt is safe because testing showed that alpha
68530         never survives copy-and-paste on Windows in any browser, and StretchBlt 
68531         was a overkill since the source and destination size are always equal.
68532
68533         * platform/win/PasteboardWin.cpp:
68534         (WebCore::Pasteboard::writeImage):
68535
68536 2010-08-26  Zhenyao Mo  <zmo@google.com>
68537
68538         Reviewed by Kenneth Russell.
68539
68540         Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
68541         https://bugs.webkit.org/show_bug.cgi?id=38282
68542
68543         * platform/graphics/skia/GraphicsContext3DSkia.cpp: Dealing with the case of texImage2D with HTMLCanvasElement input.
68544         (WebCore::GraphicsContext3D::getImageData):
68545
68546 2010-08-26  Vangelis Kokkevis  <vangelis@chromium.org>
68547
68548         Reviewed by Darin Fisher.
68549
68550         [chromium] Working around compile issue in LayerRendererChromium.cpp
68551         when DEBUG_GL_CALLS=1
68552         https://bugs.webkit.org/show_bug.cgi?id=44739
68553
68554         No new functionality, no new tests.
68555
68556         * platform/graphics/chromium/LayerRendererChromium.cpp:
68557         (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
68558
68559 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
68560
68561         Reviewed by Adam Roben.
68562
68563         [WINCE] Port SoftLinking to WinCE
68564         https://bugs.webkit.org/show_bug.cgi?id=44693
68565
68566         WinCE provides GetProcAddressW and GetProcAddressA for softlinking.
68567         Unfortunately WinNT provides only GetProcAddress (without A or W).
68568
68569         Add a platform dependent macro for GetProcAddress.
68570
68571         * platform/win/SoftLinking.h:
68572
68573 2010-08-27  Martin Robinson  <mrobinson@igalia.com>
68574
68575         Reviewed by Xan Lopez.
68576
68577         [GTK] ScrollbarThemeGtk should account for the trough_under_steppers property
68578         https://bugs.webkit.org/show_bug.cgi?id=44742
68579
68580         No new tests until this code is activated, at which point pixel tests will
68581         test the scrollbar rendering.
68582
68583         * platform/gtk/ScrollbarThemeGtk.cpp:
68584         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Only inflate the track background
68585         if the style specifies trough_under_steppers.
68586         (WebCore::ScrollbarThemeGtk::paint): If the theme specifies trough_under_steppers,
68587         a dirty stepper also triggers a repaint of the trough region.
68588
68589 2010-08-27  Joseph Pecoraro  <joepeck@webkit.org>
68590
68591         Reviewed by Alexey Proskuryakov.
68592
68593         Extra Events triggered by <input> on focus
68594         https://bugs.webkit.org/show_bug.cgi?id=44731
68595
68596         Tests: fast/events/input-focus-no-duplicate-events.html
68597                fast/events/input-tab-focus-no-duplicate-events.html
68598
68599         * dom/Element.cpp:
68600         (WebCore::Element::focus): do not continue and update the appearance of the element if it was not focused.
68601         * page/FocusController.cpp:
68602         (WebCore::FocusController::setFocusedNode): respect the return value of Document::setFocusedNode.
68603
68604 2010-08-26  Joseph Pecoraro  <joepeck@webkit.org>
68605
68606         Reviewed by Pavel Feldman.
68607
68608         Web Inspector: attribute nodes don't get rendered in the console
68609         https://bugs.webkit.org/show_bug.cgi?id=44736
68610
68611         Extended Test: inspector/console-format.html
68612
68613         * inspector/InspectorDOMAgent.cpp:
68614         (WebCore::InspectorDOMAgent::buildObjectForNode): add "name" and "value" properties for Attribute nodes.
68615         * inspector/front-end/DOMAgent.js:
68616         (WebInspector.DOMNode): add "name" and "value" properties for Attribute nodes.
68617         * inspector/front-end/ElementsTreeOutline.js: display html for Attribute nodes.
68618
68619 2010-08-27  Adam Barth  <abarth@webkit.org>
68620
68621         Rubber-stamped by Eric Seidel.
68622
68623         Finshing moving the HTML parser into WebCore/html/parser.
68624
68625         * Android.derived.mk:
68626         * Android.mk:
68627         * CMakeLists.txt:
68628         * DerivedSources.make:
68629         * GNUmakefile.am:
68630         * WebCore.gyp/WebCore.gyp:
68631         * WebCore.gypi:
68632         * WebCore.pri:
68633         * WebCore.pro:
68634         * WebCore.vcproj/WebCore.vcproj:
68635         * WebCore.xcodeproj/project.pbxproj:
68636         * html/CSSPreloadScanner.cpp: Removed.
68637         * html/CSSPreloadScanner.h: Removed.
68638         * html/HTMLConstructionSite.cpp: Removed.
68639         * html/HTMLConstructionSite.h: Removed.
68640         * html/HTMLDocumentParser.cpp: Removed.
68641         * html/HTMLDocumentParser.h: Removed.
68642         * html/HTMLEntityNames.json: Removed.
68643         * html/HTMLEntityParser.cpp: Removed.
68644         * html/HTMLEntityParser.h: Removed.
68645         * html/HTMLEntitySearch.cpp: Removed.
68646         * html/HTMLEntitySearch.h: Removed.
68647         * html/HTMLEntityTable.h: Removed.
68648         * html/HTMLFormattingElementList.cpp: Removed.
68649         * html/HTMLFormattingElementList.h: Removed.
68650         * html/HTMLParserScheduler.cpp: Removed.
68651         * html/HTMLParserScheduler.h: Removed.
68652         * html/HTMLPreloadScanner.cpp: Removed.
68653         * html/HTMLPreloadScanner.h: Removed.
68654         * html/HTMLScriptRunner.cpp: Removed.
68655         * html/HTMLScriptRunner.h: Removed.
68656         * html/HTMLScriptRunnerHost.h: Removed.
68657         * html/HTMLTokenizer.cpp: Removed.
68658         * html/HTMLTokenizer.h: Removed.
68659         * html/HTMLViewSourceParser.cpp: Removed.
68660         * html/HTMLViewSourceParser.h: Removed.
68661         * html/parser/CSSPreloadScanner.cpp: Copied from WebCore/html/CSSPreloadScanner.cpp.
68662         * html/parser/CSSPreloadScanner.h: Copied from WebCore/html/CSSPreloadScanner.h.
68663         * html/parser/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLConstructionSite.cpp.
68664         * html/parser/HTMLConstructionSite.h: Copied from WebCore/html/HTMLConstructionSite.h.
68665         * html/parser/HTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
68666         * html/parser/HTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
68667         * html/parser/HTMLEntityNames.json: Copied from WebCore/html/HTMLEntityNames.json.
68668         * html/parser/HTMLEntityParser.cpp: Copied from WebCore/html/HTMLEntityParser.cpp.
68669         * html/parser/HTMLEntityParser.h: Copied from WebCore/html/HTMLEntityParser.h.
68670         * html/parser/HTMLEntitySearch.cpp: Copied from WebCore/html/HTMLEntitySearch.cpp.
68671         * html/parser/HTMLEntitySearch.h: Copied from WebCore/html/HTMLEntitySearch.h.
68672         * html/parser/HTMLEntityTable.h: Copied from WebCore/html/HTMLEntityTable.h.
68673         * html/parser/HTMLFormattingElementList.cpp: Copied from WebCore/html/HTMLFormattingElementList.cpp.
68674         * html/parser/HTMLFormattingElementList.h: Copied from WebCore/html/HTMLFormattingElementList.h.
68675         * html/parser/HTMLParserScheduler.cpp: Copied from WebCore/html/HTMLParserScheduler.cpp.
68676         * html/parser/HTMLParserScheduler.h: Copied from WebCore/html/HTMLParserScheduler.h.
68677         * html/parser/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTMLPreloadScanner.cpp.
68678         * html/parser/HTMLPreloadScanner.h: Copied from WebCore/html/HTMLPreloadScanner.h.
68679         * html/parser/HTMLScriptRunner.cpp: Copied from WebCore/html/HTMLScriptRunner.cpp.
68680         * html/parser/HTMLScriptRunner.h: Copied from WebCore/html/HTMLScriptRunner.h.
68681         * html/parser/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTMLScriptRunnerHost.h.
68682         * html/parser/HTMLTokenizer.cpp: Copied from WebCore/html/HTMLTokenizer.cpp.
68683         * html/parser/HTMLTokenizer.h: Copied from WebCore/html/HTMLTokenizer.h.
68684         * html/parser/HTMLViewSourceParser.cpp: Copied from WebCore/html/HTMLViewSourceParser.cpp.
68685         * html/parser/HTMLViewSourceParser.h: Copied from WebCore/html/HTMLViewSourceParser.h.
68686
68687 2010-08-27  Simon Fraser  <simon.fraser@apple.com>
68688
68689         Reviewed by Tony Chang.
68690
68691         Insertion point does not show when dragging text into an editable area
68692         https://bugs.webkit.org/show_bug.cgi?id=44295
68693         
68694         r65681 caused the caret to use the last-computed caret rect when
68695         painting, rather than forcing a style update. Because of this,
68696         we now need to eagerly update the caret rect when changing
68697         the drag selection.
68698         
68699         Not testable in DRT because the drag selection is always cleared
68700         before EventSender returns, so the drag caret can never show in
68701         the pixel results.
68702
68703         Tested by running editing/selection/drag-in-iframe.html manually.
68704
68705         * editing/SelectionController.cpp:
68706         (WebCore::SelectionController::setSelection):
68707
68708 2010-08-27  Adam Barth  <abarth@webkit.org>
68709
68710         Attempt to fix the Windows build.
68711
68712         * WebCore.vcproj/WebCoreCommon.vsprops:
68713
68714 2010-08-27  Adam Barth  <abarth@webkit.org>
68715
68716         Attempt to fix the Qt build.
68717
68718         * WebCore.pro:
68719
68720 2010-08-27  Adam Barth  <abarth@webkit.org>
68721
68722         Rubber-stamped by Eric Seidel.
68723
68724         Move HTMLTreeBuilder and HTMLElementStack to WebCore/html/parser.
68725
68726         * Android.mk:
68727         * CMakeLists.txt:
68728         * GNUmakefile.am:
68729         * WebCore.gypi:
68730         * WebCore.pro:
68731         * WebCore.vcproj/WebCore.vcproj:
68732         * WebCore.xcodeproj/project.pbxproj:
68733         * html/HTMLElementStack.cpp: Removed.
68734         * html/HTMLElementStack.h: Removed.
68735         * html/HTMLTreeBuilder.cpp: Removed.
68736         * html/HTMLTreeBuilder.h: Removed.
68737         * html/parser/HTMLElementStack.cpp: Copied from WebCore/html/HTMLElementStack.cpp.
68738         * html/parser/HTMLElementStack.h: Copied from WebCore/html/HTMLElementStack.h.
68739         * html/parser/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
68740         * html/parser/HTMLTreeBuilder.h: Copied from WebCore/html/HTMLTreeBuilder.h.
68741
68742 2010-08-27  Adam Barth  <abarth@webkit.org>
68743
68744         Reviewed by Darin Adler.
68745
68746         Create WebCore/html/parser
68747         https://bugs.webkit.org/show_bug.cgi?id=44792
68748
68749         This patch begins the process of moving the HTML parser code to the
68750         WebCore/html/parser directory.  This patch moves a single header file.
68751         More files will follow in future patches.
68752
68753         * CMakeLists.txt:
68754         * GNUmakefile.am:
68755         * WebCore.gyp/WebCore.gyp:
68756         * WebCore.gypi:
68757         * WebCore.pro:
68758         * WebCore.vcproj/WebCore.vcproj:
68759         * WebCore.vcproj/WebCoreCommon.vsprops:
68760         * WebCore.xcodeproj/project.pbxproj:
68761         * html/parser/HTMLToken.h: Renamed from WebCore/html/HTMLToken.h.
68762
68763 2010-08-27  Chris Marrin  <cmarrin@apple.com>
68764
68765         Reviewed by Simon Fraser.
68766
68767         https://bugs.webkit.org/show_bug.cgi?id=42862
68768         WebGL in CSS Canvas crashes
68769
68770         This fixes the crash, which was a simple null pointer deref. But this
68771         revealed that -webkit-canvas no longer works for WebGL. I believe this
68772         is due to the recent ImageBuffer optimizations done by Dave Hyatt
68773         (https://bugs.webkit.org/show_bug.cgi?id=43507). This changed ImageBuffer
68774         from always keeping a copy of the pixels to doing a copy to get them
68775         when needed. Since We need to get pixels out of the WebGL drawing buffer
68776         to use them as a CSS background, I had to change when I return those
68777         pixels to the ImageBuffer.
68778
68779         Tests: fast/canvas/webgl/css-webkit-canvas-repaint.html
68780                fast/canvas/webgl/css-webkit-canvas.html
68781
68782         * html/HTMLCanvasElement.cpp:
68783         (WebCore::HTMLCanvasElement::copiedImage): Add logic to get image from WebGL so it works with new ImageBuffer logic (see above)
68784         * html/canvas/WebGLRenderingContext.cpp:
68785         (WebCore::WebGLRenderingContext::create): Fixed null pointer deref
68786
68787 2010-08-27  James Robinson  <jamesr@chromium.org>
68788
68789         Reviewed by Dimitri Glazkov.
68790
68791         Move Shader class from platform/graphics/chromium to platform/graphics/gpu
68792         https://bugs.webkit.org/show_bug.cgi?id=44793
68793
68794         The Shader class and its subclasses are not chromium-specific.  This moves
68795         them to a common location so they can be re-used on all platforms.  Also
68796         moves the Shader subclasses into their own .h/.cpp files.
68797
68798         Refactor, no new tests.
68799
68800         * WebCore.gypi:
68801         * platform/graphics/chromium/GLES2Canvas.cpp:
68802         * platform/graphics/chromium/Shader.cpp: Removed.
68803         * platform/graphics/chromium/Shader.h: Removed.
68804         * platform/graphics/gpu/Shader.cpp: Added.
68805         (WebCore::Shader::affineTo3x3):
68806         (WebCore::Shader::loadShader):
68807         (WebCore::Shader::loadProgram):
68808         (WebCore::Shader::Shader):
68809         (WebCore::Shader::~Shader):
68810         * platform/graphics/gpu/Shader.h: Added.
68811         * platform/graphics/gpu/SolidFillShader.cpp: Added.
68812         (WebCore::SolidFillShader::SolidFillShader):
68813         (WebCore::SolidFillShader::create):
68814         (WebCore::SolidFillShader::use):
68815         * platform/graphics/gpu/SolidFillShader.h: Added.
68816         * platform/graphics/gpu/TexShader.cpp: Added.
68817         (WebCore::TexShader::TexShader):
68818         (WebCore::TexShader::create):
68819         (WebCore::TexShader::use):
68820         * platform/graphics/gpu/TexShader.h: Added.
68821
68822 2010-08-27  Kinuko Yasuda  <kinuko@chromium.org>
68823
68824         Reviewed by Darin Fisher.
68825
68826         Add AsyncFileSystem interface for platform-dependent FileSystem API implementation
68827         https://bugs.webkit.org/show_bug.cgi?id=44433
68828
68829         No new tests; tests will be added later.
68830
68831         * CMakeLists.txt:
68832         * WebCore.gypi:
68833         * WebCore.pro:
68834         * WebCore.vcproj/WebCore.vcproj:
68835         * WebCore.xcodeproj/project.pbxproj:
68836         * platform/AsyncFileSystem.cpp: Added.
68837         * platform/AsyncFileSystem.h: Added.
68838         * platform/AsyncFileSystemCallbacks.h: Added.
68839         * storage/DOMFileSystem.cpp:
68840         (WebCore::DOMFileSystem::DOMFileSystem):
68841         (WebCore::DOMFileSystem::~DOMFileSystem):
68842         (WebCore::DOMFileSystem::stop):
68843         (WebCore::DOMFileSystem::hasPendingActivity):
68844         (WebCore::DOMFileSystem::contextDestroyed):
68845         * storage/DOMFileSystem.h:
68846         (WebCore::DOMFileSystem::create):
68847         * storage/FileSystemCallbacks.cpp:
68848         (WebCore::FileSystemCallbacksBase::didFail):
68849         (WebCore::FileSystemCallbacks::FileSystemCallbacks):
68850         (WebCore::FileSystemCallbacks::didOpenFileSystem):
68851         * storage/FileSystemCallbacks.h:
68852         * storage/LocalFileSystem.cpp: Added.
68853         * storage/LocalFileSystem.h: Added.
68854
68855         * storage/Flags.h: Nits fix.
68856
68857 2010-07-27  Jer Noble  <jer.noble@apple.com>
68858
68859         Reviewed by Eric Carlson.
68860
68861         Add JavaScript API to allow a page to go fullscreen.
68862         rdar://problem/6867795
68863         https://bugs.webkit.org/show_bug.cgi?id=43099
68864         
68865         Mozilla has proposed a new set of JavaScript APIs which allow any element in
68866         a document to go full-screen.  The current revision of their proposal can be 
68867         found here:
68868         <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429>
68869         
68870         The proposed specification includes the following:
68871         
68872         Document:
68873         - Three new methods on Document:
68874             + void requestFullScreen()
68875             + void requestFullScreenWithKeys()
68876             + void cancelFullScreen()
68877         - Three new attributes of Document:
68878             + readonly attribute boolean fullScreen
68879             + readonly attribute boolean fullScreenWithKeys
68880             + (optional) readonly attribute Element currentFullScreenElement
68881             
68882         Element:
68883         - Two new methods on Element:
68884             + void requestFullScreen()
68885             + void requestFullScreenWithKeys()
68886         
68887         Events:
68888         - One new event:
68889             + fullScreenChange
68890         
68891         CSS Pseudo-classes:
68892         - Three new Pseudo-classes:
68893             + :full-screen
68894             + :full-screen-doc
68895             + :full-screen-root-with-target
68896         
68897         For WebKit's initial implementation, all the above new APIs will be prefixed with 
68898         "webkit" or "-webkit" where appropriate.
68899         
68900         New tests:
68901         LayoutTests/fullscreen/full-screen-api.html
68902         LayoutTests/fullscreen/full-screen-css.html
68903         LayoutTests/fullscreen/full-screen-request.html
68904
68905         Project file changes:
68906         * Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry.
68907         * DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp.
68908         * WebCore.FullScreen.exp: Added export symbols for Document and Element functions.
68909         * WebCore.xcodeproj/project.pbxproj: New source files added to the project.
68910
68911         IDL changes:
68912         * dom/Document.idl: Added the new full-screen API to the Document's javascript interface.
68913         * dom/Element.idl: Added the new full-screen API to the Element's javascript interface.
68914
68915         Source changes:
68916         * bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes.
68917         * css/CSSSelector.cpp: Added new FullScreen pseudo-classes.
68918         * css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum.
68919         * css/CSSStyleSelector.cpp: 
68920         (WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets.
68921         (WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet.
68922         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes.
68923         * dom/Document.cpp:
68924         (WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event.
68925         (WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent"
68926         (WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode.
68927         (WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode.
68928         (WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document.
68929         (WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op.
68930         (WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op.
68931         (WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document.
68932         * dom/Document.h: Added const accessors for new full-screen instance variables.
68933         (WebCore::Document::):
68934         (WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen.
68935         (WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled.
68936         (WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement.
68937         * dom/Element.cpp:
68938         (WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement. 
68939         * dom/Element.h:
68940         * dom/EventNames.h: Add a webkitfullscreenchange event name.
68941         * html/HTMLElement.cpp:
68942         (WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener.
68943         * page/ChromeClient.h:
68944         (WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate.
68945         (WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
68946         (WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
68947         * page/Settings.cpp:
68948         (WebCore::Settings::Settings):
68949         * page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off)
68950         * rendering/MediaControlElements.cpp:
68951         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered).
68952         * rendering/style/RenderStyleConstants.h: Added new style constants.
68953
68954 2010-08-27  James Robinson  <jamesr@chromium.org>
68955
68956         Reviewed by Darin Fisher.
68957
68958         Move Texture class from p/g/chromium to p/g/gpu
68959         https://bugs.webkit.org/show_bug.cgi?id=44783
68960
68961         This class and its support were developed in platform/graphics/chromium but are not chromium-specific
68962         in any way.  This patch moves them to a common location so they can be shared by all platforms.
68963
68964         Pure refactor, so no new tests.
68965
68966         * WebCore.gyp/WebCore.gyp:
68967         * WebCore.gypi:
68968         * platform/graphics/chromium/GLES2Canvas.cpp:
68969         (WebCore::GLES2Canvas::drawTexturedRect):
68970         (WebCore::GLES2Canvas::drawTexturedRectTile):
68971         (WebCore::GLES2Canvas::createTexture):
68972         (WebCore::GLES2Canvas::getTexture):
68973         * platform/graphics/chromium/GLES2Canvas.h:
68974         * platform/graphics/chromium/GLES2Texture.cpp: Removed.
68975         * platform/graphics/chromium/GLES2Texture.h: Removed.
68976         * platform/graphics/gpu/Texture.cpp: Added.
68977         (WebCore::Texture::Texture):
68978         (WebCore::Texture::~Texture):
68979         (WebCore::convertFormat):
68980         (WebCore::Texture::create):
68981         (WebCore::copySubRect):
68982         (WebCore::Texture::load):
68983         (WebCore::Texture::bindTile):
68984         * platform/graphics/gpu/Texture.h: Added.
68985         (WebCore::Texture::):
68986         (WebCore::Texture::format):
68987         (WebCore::Texture::tiles):
68988         * platform/graphics/gpu/TilingData.cpp: Renamed from WebCore/platform/graphics/chromium/TilingData.cpp.
68989         (WebCore::computeNumTiles):
68990         (WebCore::TilingData::TilingData):
68991         (WebCore::TilingData::tileXIndexFromSrcCoord):
68992         (WebCore::TilingData::tileYIndexFromSrcCoord):
68993         (WebCore::TilingData::tileBounds):
68994         (WebCore::TilingData::tileBoundsWithBorder):
68995         (WebCore::TilingData::tileBoundsNormalized):
68996         (WebCore::TilingData::tilePositionX):
68997         (WebCore::TilingData::tilePositionY):
68998         (WebCore::TilingData::tileSizeX):
68999         (WebCore::TilingData::tileSizeY):
69000         (WebCore::TilingData::overlappedTileIndices):
69001         (WebCore::TilingData::intersectDrawQuad):
69002         * platform/graphics/gpu/TilingData.h: Renamed from WebCore/platform/graphics/chromium/TilingData.h.
69003         (WebCore::TilingData::maxTextureSize):
69004         (WebCore::TilingData::totalSizeX):
69005         (WebCore::TilingData::totalSizeY):
69006         (WebCore::TilingData::numTiles):
69007         (WebCore::TilingData::numTilesX):
69008         (WebCore::TilingData::numTilesY):
69009         (WebCore::TilingData::tileIndex):
69010         (WebCore::TilingData::tileXIndex):
69011         (WebCore::TilingData::tileYIndex):
69012         (WebCore::TilingData::TilingData):
69013         (WebCore::TilingData::assertTile):
69014         * platform/graphics/skia/ImageSkia.cpp:
69015         (WebCore::drawBitmapGLES2):
69016         * platform/graphics/skia/PlatformContextSkia.cpp:
69017         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
69018         * platform/graphics/skia/PlatformContextSkia.h:
69019
69020 2010-08-27  David Hyatt  <hyatt@apple.com>
69021
69022         Reviewed by Simon Fraser.
69023
69024         https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
69025
69026         Rename the various modes to match the HTML5 specification:
69027             ParseMode -> CompatibilityMode
69028             CompatMode -> QuirksMode
69029             AlmostStrictMode -> LimitedQuirksMode
69030             StrictMode -> NoQuirksMode
69031             
69032         Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
69033         instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
69034         
69035         Clean up user stylesheets to minimize style recalculation when the mode is switched.
69036         
69037         Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
69038         dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
69039         Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
69040         a doctype token.
69041         
69042         determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
69043         precisely.
69044         
69045         * WebCore.exp.in:
69046         * css/CSSStyleSelector.cpp:
69047         (WebCore::CSSStyleSelector::styleForDocument):
69048         (WebCore::CSSStyleSelector::applyProperty):
69049         (WebCore::CSSStyleSelector::fontSizeForKeyword):
69050         * dom/ClassNodeList.cpp:
69051         (WebCore::ClassNodeList::ClassNodeList):
69052         * dom/DecodedDataDocumentParser.cpp:
69053         (WebCore::DecodedDataDocumentParser::appendBytes):
69054         * dom/Document.cpp:
69055         (WebCore::Document::Document):
69056         (WebCore::Document::setCompatibilityMode):
69057         (WebCore::Document::setDocType):
69058         (WebCore::Document::unscheduleStyleRecalc):
69059         (WebCore::Document::recalcStyle):
69060         (WebCore::Document::updateStyleIfNeeded):
69061         (WebCore::Document::createStyleSelector):
69062         (WebCore::Document::implicitOpen):
69063         (WebCore::Document::pageUserSheet):
69064         (WebCore::Document::clearPageUserSheet):
69065         (WebCore::Document::updatePageUserSheet):
69066         (WebCore::Document::pageGroupUserSheets):
69067         (WebCore::Document::clearPageGroupUserSheets):
69068         (WebCore::Document::updatePageGroupUserSheets):
69069         (WebCore::Document::findAnchor):
69070         * dom/Document.h:
69071         (WebCore::Document::):
69072         (WebCore::Document::setCompatibilityModeFromDoctype):
69073         (WebCore::Document::lockCompatibilityMode):
69074         (WebCore::Document::compatibilityMode):
69075         (WebCore::Document::inQuirksMode):
69076         (WebCore::Document::inLimitedQuirksMode):
69077         (WebCore::Document::inNoQuirksMode):
69078         * dom/Element.cpp:
69079         (WebCore::Element::clientWidth):
69080         (WebCore::Element::clientHeight):
69081         (WebCore::Element::webkitMatchesSelector):
69082         * dom/NamedNodeMap.cpp:
69083         (WebCore::NamedNodeMap::setClass):
69084         * dom/Node.cpp:
69085         (WebCore::Node::querySelector):
69086         (WebCore::Node::querySelectorAll):
69087         * dom/OptionElement.cpp:
69088         (WebCore::OptionElement::collectOptionLabelOrText):
69089         * dom/SelectorNodeList.cpp:
69090         (WebCore::createSelectorNodeList):
69091         * dom/StyleElement.cpp:
69092         (WebCore::StyleElement::createSheet):
69093         * dom/StyledElement.cpp:
69094         (WebCore::StyledElement::createInlineStyleDecl):
69095         (WebCore::StyledElement::parseMappedAttribute):
69096         * editing/ReplaceSelectionCommand.cpp:
69097         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
69098         * html/HTMLBodyElement.cpp:
69099         (WebCore::HTMLBodyElement::createLinkDecl):
69100         * html/HTMLCanvasElement.cpp:
69101         (WebCore::HTMLCanvasElement::getContext):
69102         * html/HTMLConstructionSite.cpp:
69103         (WebCore::HTMLConstructionSite::insertDoctype):
69104         * html/HTMLDocument.cpp:
69105         (WebCore::HTMLDocument::HTMLDocument):
69106         (WebCore::HTMLDocument::compatMode):
69107         (WebCore::HTMLDocument::setCompatibilityModeFromDoctype):
69108         * html/HTMLDocument.h:
69109         * html/HTMLLinkElement.cpp:
69110         (WebCore::HTMLLinkElement::setCSSStyleSheet):
69111         * html/HTMLTreeBuilder.cpp:
69112         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
69113         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
69114         (WebCore::HTMLTreeBuilder::processDoctypeToken):
69115         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
69116         (WebCore::HTMLTreeBuilder::defaultForInitial):
69117         * html/HTMLViewSourceDocument.cpp:
69118         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
69119         * loader/DocumentWriter.cpp:
69120         (WebCore::DocumentWriter::replaceDocument):
69121         (WebCore::DocumentWriter::reportDataReceived):
69122         * loader/DocumentWriter.h:
69123         * loader/ImageDocument.cpp:
69124         (WebCore::ImageDocument::ImageDocument):
69125         * loader/MediaDocument.cpp:
69126         (WebCore::MediaDocument::MediaDocument):
69127         * loader/PluginDocument.cpp:
69128         (WebCore::PluginDocument::PluginDocument):
69129         * loader/SinkDocument.cpp:
69130         (WebCore::SinkDocument::SinkDocument):
69131         * loader/TextDocument.cpp:
69132         (WebCore::TextDocument::TextDocument):
69133         * page/Page.cpp:
69134         (WebCore::Page::userStyleSheetLocationChanged):
69135         * page/PageGroup.cpp:
69136         (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
69137         * page/Settings.cpp:
69138         (WebCore::Settings::Settings):
69139         (WebCore::Settings::setEnforceCSSMIMETypeInNoQuirksMode):
69140         * page/Settings.h:
69141         (WebCore::Settings::enforceCSSMIMETypeInNoQuirksMode):
69142         * rendering/AutoTableLayout.cpp:
69143         (WebCore::AutoTableLayout::recalcColumn):
69144         * rendering/FixedTableLayout.cpp:
69145         (WebCore::FixedTableLayout::calcPrefWidths):
69146         * rendering/InlineFlowBox.cpp:
69147         (WebCore::InlineFlowBox::paintBoxDecorations):
69148         (WebCore::InlineFlowBox::paintMask):
69149         (WebCore::InlineFlowBox::paintTextDecorations):
69150         * rendering/InlineTextBox.cpp:
69151         (WebCore::InlineTextBox::paint):
69152         * rendering/RenderBlock.cpp:
69153         (WebCore::RenderBlock::isSelfCollapsingBlock):
69154         (WebCore::RenderBlock::collapseMargins):
69155         (WebCore::RenderBlock::handleBottomOfBlock):
69156         (WebCore::RenderBlock::calcInlinePrefWidths):
69157         (WebCore::RenderBlock::calcBlockPrefWidths):
69158         * rendering/RenderBlockLineLayout.cpp:
69159         (WebCore::createInlineBoxForRenderer):
69160         (WebCore::RenderBlock::findNextLineBreak):
69161         * rendering/RenderBox.cpp:
69162         (WebCore::RenderBox::calcPercentageHeight):
69163         (WebCore::RenderBox::calcAbsoluteHorizontal):
69164         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
69165         * rendering/RenderBox.h:
69166         (WebCore::RenderBox::stretchesToViewHeight):
69167         * rendering/RenderListItem.cpp:
69168         (WebCore::getParentOfFirstLineBox):
69169         * rendering/RenderTable.cpp:
69170         (WebCore::RenderTable::layout):
69171         * rendering/RenderTableSection.cpp:
69172         (WebCore::RenderTableSection::calcRowHeight):
69173         * rendering/RootInlineBox.cpp:
69174         (WebCore::RootInlineBox::verticallyAlignBoxes):
69175         * rendering/style/RenderStyle.cpp:
69176         (WebCore::RenderStyle::diff):
69177         * rendering/style/RenderStyle.h:
69178         (WebCore::):
69179         (WebCore::InheritedFlags::setBitDefaults):
69180
69181 2010-08-27  Gavin Barraclough  <barraclough@apple.com>
69182
69183         Reviewed by Oliver Hunt.
69184
69185         Bug 44745 - Number.toFixed/toExponential/toPrecision are inaccurate.
69186
69187         These methods should be using a version of dtoa that can generate results accurate
69188         to the requested precision, whereas our version of dtoa is only currently able to
69189         support producing results sufficiently accurate to distinguish the value from any
69190         other IEEE-754 double precision number.
69191
69192         * html/HTMLTreeBuilder.cpp:
69193         (WebCore::serializeForNumberType):
69194             doubleToStringInJavaScriptFormat renamed to numberToString.
69195
69196 2010-08-27  Michael Nordman  <michaeln@google.com>
69197
69198         Reviewed by David Levin.
69199
69200         https://bugs.webkit.org/show_bug.cgi?id=44133
69201         IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
69202         Adds two new attributes, asBlob and responseBlob.
69203         Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
69204         
69205         No new tests, just adding some stubs.
69206
69207         * bindings/generic/RuntimeEnabledFeatures.cpp:
69208         * bindings/generic/RuntimeEnabledFeatures.h:
69209         (WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
69210         (WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
69211         (WebCore::RuntimeEnabledFeatures::asBlobEnabled):
69212         * bindings/js/JSXMLHttpRequestCustom.cpp:
69213         (WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
69214         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
69215         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
69216         * xml/XMLHttpRequest.cpp:
69217         (WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
69218         (WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
69219         (WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
69220         (WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
69221         (WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
69222         (WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
69223         (WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
69224         (WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
69225         * xml/XMLHttpRequest.h:
69226         (WebCore::XMLHttpRequest::asBlob):
69227         * xml/XMLHttpRequest.idl:
69228
69229 2010-08-27  Simon Fraser  <simon.fraser@apple.com>
69230
69231         Reviewed by Tony Chang.
69232
69233         Crash in CSSStyleSelector.cpp
69234         https://bugs.webkit.org/show_bug.cgi?id=44780
69235         
69236         Need to null-check the images when replacing pending images, because a later
69237         rule may have replaced an image with 'none'.
69238
69239         Test: fast/css/pending-images-crash.html
69240
69241         * css/CSSStyleSelector.cpp:
69242         (WebCore::CSSStyleSelector::loadPendingImages):
69243         * page/FrameView.cpp:
69244         (WebCore::FrameView::paintContents): Fix unrelated log message.
69245
69246 2010-08-27  Andrey Kosyakov  <caseq@chromium.org>
69247
69248         Unreviewed. Revert r66218 & r66220 due to GTK test failures.
69249
69250         * WebCore.gypi:
69251         * WebCore.vcproj/WebCore.vcproj:
69252         * inspector/front-end/AuditLauncherView.js:
69253         (WebInspector.AuditLauncherView.categorySortFunction):
69254         (WebInspector.AuditLauncherView):
69255         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
69256         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
69257         (WebInspector.AuditLauncherView.prototype._categoryClicked):
69258         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
69259         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
69260         * inspector/front-end/AuditResultView.js:
69261         (WebInspector.AuditCategoryResultPane.prototype._appendResult):
69262         * inspector/front-end/AuditsPanel.js:
69263         (WebInspector.AuditsPanel):
69264         (WebInspector.AuditsPanel.prototype._executeAudit):
69265         (WebInspector.AuditCategory.prototype.runRules):
69266         * inspector/front-end/ExtensionAPI.js:
69267         (injectedExtensionAPI):
69268         (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
69269         (injectedExtensionAPI.EventSinkImpl.prototype._fire):
69270         (injectedExtensionAPI.EventSink):
69271         (injectedExtensionAPI.InspectorExtensionAPI):
69272         (injectedExtensionAPI.Panels.prototype.create):
69273         * inspector/front-end/ExtensionServer.js:
69274         (WebInspector.ExtensionServer):
69275         (WebInspector.ExtensionServer.prototype._postNotification):
69276         (WebInspector.ExtensionServer.prototype._addExtensions):
69277         (WebInspector.ExtensionStatus):
69278         * inspector/front-end/WebKit.qrc:
69279         * inspector/front-end/inspector.html:
69280         * inspector/front-end/utilities.js:
69281         ():
69282
69283 2010-08-27  Mihai Parparita  <mihaip@chromium.org>
69284
69285         Reviewed by Darin Fisher.
69286
69287         Crash in HistoryController::recursiveGoToItem when navigating in a frame
69288         while another frame has a custom window name
69289         https://bugs.webkit.org/show_bug.cgi?id=44183
69290         
69291         Fix up HistoryController::recursiveGoToItem to better check whether the
69292         current document frames, the curent history item frames, and the
69293         destination history frames match up.
69294         
69295         Test: fast/history/history-subframe-with-name.html
69296
69297         * history/HistoryItem.cpp:
69298         (WebCore::HistoryItem::childItemWithDocumentSequenceNumber): Add linear
69299         lookup of child by document sequence number
69300         (WebCore::HistoryItem::hasSameDocuments): Remove assumption that the
69301         other item has the children in the same order (it doesn't seem to be
69302         true)
69303         (WebCore::HistoryItem::hasSameFrames): Add recursive comparison of child
69304         frames.
69305         * history/HistoryItem.h:
69306         * loader/FrameLoader.cpp:
69307         (WebCore::FrameLoader::loadItem): Compare full set of documents in 
69308         history items, not just the topmost ones. Otherwise when going between
69309         framesets where only one of the subframes changed we wouldn't trigger a
69310         load.
69311         * loader/HistoryController.cpp:
69312         (WebCore::HistoryController::recursiveGoToItem): Also check that the
69313         two history items have the same frames
69314         (WebCore::HistoryController::currentFramesMatchItem): Refactor 
69315         childFramesMatchItem to also check the top-most frame, to make 
69316         recursiveGoToItem easier to read.
69317         * loader/HistoryController.h:
69318
69319 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
69320
69321         Reviewed by Nikolas Zimmermann.
69322
69323         [WINCE] Buildfix for graphics code after r65449
69324         https://bugs.webkit.org/show_bug.cgi?id=44510
69325
69326         * platform/graphics/wince/GraphicsContextWince.cpp:
69327         * platform/graphics/wince/ImageBufferWince.cpp:
69328         (WebCore::ImageBuffer::drawsUsingCopy):
69329         (WebCore::ImageBuffer::copyImage):
69330         (WebCore::ImageBuffer::clip):
69331         (WebCore::ImageBuffer::draw):
69332         (WebCore::ImageBuffer::drawPattern):
69333
69334 2010-08-27  Dawit Alemayehu  <adawit@kde.org>
69335
69336         Reviewed by Simon Hausmann.
69337
69338         [Qt] Search the Windows registry for the location of the Java plugin DLL.
69339         https://bugs.webkit.org/show_bug.cgi?id=38911
69340
69341         This change, in addition to the ones 34539 and 38911, is needed to
69342         make Java applet work in QtWebKit on the Windows platform.
69343
69344         * plugins/win/PluginDatabaseWin.cpp:
69345         (WebCore::addJavaPluginDirectory):
69346         (WebCore::PluginDatabase::defaultPluginDirectories):
69347
69348 2010-08-27  Pavel Feldman  <pfeldman@chromium.org>
69349
69350         Reviewed by Yury Semikhatsky.
69351
69352         Web Inspector: color-code property values in object notation.
69353         https://bugs.webkit.org/show_bug.cgi?id=44766
69354
69355         * inspector/front-end/ObjectPropertiesSection.js:
69356         (WebInspector.ObjectPropertyTreeElement.prototype.update):
69357
69358 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
69359
69360         Reviewed by Nikolas Zimmermann.
69361
69362         [WINCE] Buildfix for FontPlatformData after r65021
69363         https://bugs.webkit.org/show_bug.cgi?id=44467
69364
69365         * platform/graphics/wince/FontPlatformData.h:
69366
69367 2010-08-27  Patrick Gansterer  <paroga@paroga.com>
69368
69369         Reviewed by Nikolas Zimmermann.
69370
69371         RenderImage::imageChanged invalidates wrong area
69372         https://bugs.webkit.org/show_bug.cgi?id=43779
69373
69374         At the moment RenderSVGImage inherits from RenderImage, which makes non-SVG compatible
69375         assumptions about repainting, and thus has to be fixed to inherit from RenderSVGModelObject.
69376
69377         This patch moves the CachedImage from RenderImage into a separate class.
69378         The new class contains the common behavior of RenderImage and RenderSVGImage.
69379         An additional patch will remove the inheritance of RenderImage at RenderSVGImage.
69380
69381         * Android.mk:
69382         * CMakeLists.txt:
69383         * GNUmakefile.am:
69384         * WebCore.gypi:
69385         * WebCore.pro:
69386         * WebCore.vcproj/WebCore.vcproj:
69387         * WebCore.xcodeproj/project.pbxproj:
69388         * html/HTMLEmbedElement.cpp:
69389         (WebCore::HTMLEmbedElement::createRenderer):
69390         (WebCore::HTMLEmbedElement::attach):
69391         * html/HTMLImageElement.cpp:
69392         (WebCore::HTMLImageElement::createRenderer):
69393         (WebCore::HTMLImageElement::attach):
69394         * html/HTMLInputElement.cpp:
69395         (WebCore::HTMLInputElement::createRenderer):
69396         (WebCore::HTMLInputElement::attach):
69397         * html/HTMLObjectElement.cpp:
69398         (WebCore::HTMLObjectElement::createRenderer):
69399         * html/HTMLVideoElement.cpp:
69400         (WebCore::HTMLVideoElement::attach):
69401         (WebCore::HTMLVideoElement::parseMappedAttribute):
69402         * loader/ImageLoader.cpp:
69403         (WebCore::ImageLoader::setImage):
69404         (WebCore::ImageLoader::updateFromElement):
69405         (WebCore::ImageLoader::renderImageResource):
69406         (WebCore::ImageLoader::updateRenderer):
69407         * loader/ImageLoader.h:
69408         * rendering/RenderImage.cpp:
69409         (WebCore::RenderImage::RenderImage):
69410         (WebCore::RenderImage::~RenderImage):
69411         (WebCore::RenderImage::setImageResource):
69412         (WebCore::RenderImage::imageChanged):
69413         (WebCore::RenderImage::notifyFinished):
69414         (WebCore::RenderImage::paintReplaced):
69415         (WebCore::RenderImage::paintIntoRect):
69416         (WebCore::RenderImage::minimumReplacedHeight):
69417         (WebCore::RenderImage::calcReplacedWidth):
69418         (WebCore::RenderImage::calcReplacedHeight):
69419         (WebCore::RenderImage::calcAspectRatioWidth):
69420         (WebCore::RenderImage::calcAspectRatioHeight):
69421         * rendering/RenderImage.h:
69422         (WebCore::RenderImage::imageResource):
69423         (WebCore::RenderImage::cachedImage):
69424         (WebCore::RenderImage::intrinsicSizeChanged):
69425         (WebCore::toRenderImage):
69426         * rendering/RenderImageGeneratedContent.cpp: Removed.
69427         * rendering/RenderImageGeneratedContent.h: Removed.
69428         * rendering/RenderImageResource.cpp: Added.
69429         (WebCore::RenderImageResource::RenderImageResource):
69430         (WebCore::RenderImageResource::~RenderImageResource):
69431         (WebCore::RenderImageResource::initialize):
69432         (WebCore::RenderImageResource::shutdown):
69433         (WebCore::RenderImageResource::setCachedImage):
69434         (WebCore::RenderImageResource::resetAnimation):
69435         (WebCore::RenderImageResource::setImageContainerSize):
69436         (WebCore::RenderImageResource::nullImage):
69437         * rendering/RenderImageResource.h: Added.
69438         (WebCore::RenderImageResource::create):
69439         (WebCore::RenderImageResource::cachedImage):
69440         (WebCore::RenderImageResource::hasImage):
69441         (WebCore::RenderImageResource::image):
69442         (WebCore::RenderImageResource::errorOccurred):
69443         (WebCore::RenderImageResource::usesImageContainerSize):
69444         (WebCore::RenderImageResource::imageHasRelativeWidth):
69445         (WebCore::RenderImageResource::imageHasRelativeHeight):
69446         (WebCore::RenderImageResource::imageSize):
69447         (WebCore::RenderImageResource::imagePtr):
69448         * rendering/RenderImageResourceStyleImage.cpp: Added.
69449         (WebCore::RenderImageResourceStyleImage::RenderImageResourceStyleImage):
69450         (WebCore::RenderImageResourceStyleImage::~RenderImageResourceStyleImage):
69451         (WebCore::RenderImageResourceStyleImage::initialize):
69452         (WebCore::RenderImageResourceStyleImage::shutdown):
69453         * rendering/RenderImageResourceStyleImage.h: Added.
69454         (WebCore::RenderImageResourceStyleImage::create):
69455         (WebCore::RenderImageResourceStyleImage::image):
69456         (WebCore::RenderImageResourceStyleImage::errorOccurred):
69457         (WebCore::RenderImageResourceStyleImage::setImageContainerSize):
69458         (WebCore::RenderImageResourceStyleImage::usesImageContainerSize):
69459         (WebCore::RenderImageResourceStyleImage::imageHasRelativeWidth):
69460         (WebCore::RenderImageResourceStyleImage::imageHasRelativeHeight):
69461         (WebCore::RenderImageResourceStyleImage::imageSize):
69462         (WebCore::RenderImageResourceStyleImage::imagePtr):
69463         * rendering/RenderMedia.cpp:
69464         (WebCore::RenderMedia::RenderMedia):
69465         * rendering/RenderObject.cpp:
69466         (WebCore::RenderObject::createObject):
69467         * rendering/RenderObjectChildList.cpp:
69468         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
69469         * rendering/RenderSVGImage.cpp:
69470         (WebCore::RenderSVGImage::RenderSVGImage):
69471         (WebCore::RenderSVGImage::layout):
69472         (WebCore::RenderSVGImage::paint):
69473         * rendering/RenderVideo.cpp:
69474         (WebCore::RenderVideo::calculateIntrinsicSize):
69475         * svg/SVGImageElement.cpp:
69476         (WebCore::SVGImageElement::attach):
69477         * wml/WMLImageElement.cpp:
69478         (WebCore::WMLImageElement::createRenderer):
69479
69480 2010-08-27  Pavel Feldman  <pfeldman@chromium.org>
69481
69482         Reviewed by Pavel Feldman.
69483
69484         Web Inspector: Elements panel breaks after calling "Edit as HTML" on <body>
69485         https://bugs.webkit.org/show_bug.cgi?id=44765
69486
69487         * inspector/InspectorDOMAgent.cpp:
69488         (WebCore::InspectorDOMAgent::setOuterHTML):
69489
69490 2010-08-25  Jeremy Orlow  <jorlow@chromium.org>
69491
69492         Reviewed by Steve Block.
69493
69494         Add setVersion to IndexedDB
69495         https://bugs.webkit.org/show_bug.cgi?id=44630
69496
69497         * storage/IDBDatabase.cpp:
69498         (WebCore::IDBDatabase::setVersion):
69499         * storage/IDBDatabase.h:
69500         * storage/IDBDatabase.idl:
69501         * storage/IDBDatabaseBackendImpl.cpp:
69502         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
69503         (WebCore::IDBDatabaseBackendImpl::setVersion):
69504         * storage/IDBDatabaseBackendImpl.h:
69505         * storage/IDBDatabaseBackendInterface.h:
69506
69507 2010-08-26  Pavel Podivilov  <podivilov@chromium.org>
69508
69509         Reviewed by Pavel Feldman.
69510
69511         Web Inspector: use context menu items with checkbox for setting and removing DOM breakpoints
69512         https://bugs.webkit.org/show_bug.cgi?id=44687
69513
69514         * English.lproj/localizedStrings.js:
69515         * inspector/front-end/BreakpointsSidebarPane.js:
69516         (WebInspector.DOMBreakpointItem):
69517         * inspector/front-end/DOMAgent.js:
69518         (WebInspector.DOMBreakpointManager.prototype.findBreakpoint):
69519         (WebInspector.DOMBreakpoint.labelForType):
69520         (WebInspector.DOMBreakpoint.contextMenuLabelForType):
69521         * inspector/front-end/ElementsTreeOutline.js:
69522         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
69523         * inspector/front-end/inspector.js:
69524         (WebInspector.pausedScript):
69525
69526 2010-08-27  Steve Block  <steveblock@google.com>
69527
69528         Reviewed by Jeremy Orlow.
69529
69530         Calls to IndexedDB methods from V8Proxy::didLeaveScriptContext() are missing enable guards
69531         https://bugs.webkit.org/show_bug.cgi?id=44760
69532
69533         No new tests, build fix only.
69534
69535         * bindings/v8/V8Proxy.cpp:
69536         (WebCore::V8Proxy::didLeaveScriptContext):
69537
69538 2010-08-27  Dirk Schulze  <krit@webkit.org>
69539
69540         Reviewed by Nikolas Zimmermann.
69541
69542         getPointAtLength returns incorrect values for paths closed with the closepath command
69543         https://bugs.webkit.org/show_bug.cgi?id=44197
69544         
69545         The closepath segment was traversed by the wrong direction. Swap starting point and
69546         end point for closeSubpath.
69547
69548         Test: svg/dom/path-pointAtLength.html
69549
69550         * platform/graphics/PathTraversalState.cpp:
69551         (WebCore::PathTraversalState::closeSubpath):
69552
69553 2010-08-27  Dirk Schulze  <krit@webkit.org>
69554
69555         Reviewed by Nikolas Zimmermann.
69556
69557         SVG Filter with wrong results on repaint for non-CG platforms
69558         https://bugs.webkit.org/show_bug.cgi?id=44706
69559         
69560         The result of SVG Filter is transformed to linearRGB on every repaint. 
69561         Transform the result just once, right after creating it.
69562
69563         Test: svg/repaint/filter-repaint.svg
69564
69565         * rendering/RenderSVGResourceFilter.cpp:
69566         (WebCore::RenderSVGResourceFilter::postApplyResource):
69567
69568 2010-08-27  Yury Semikhatsky  <yurys@chromium.org>
69569
69570         Reviewed by Pavel Feldman.
69571
69572         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
69573         https://bugs.webkit.org/show_bug.cgi?id=44230
69574
69575         * inspector/Inspector.idl:
69576         * inspector/InspectorController.cpp:
69577         (WebCore::InspectorController::inspectedPageDestroyed):
69578         (WebCore::InspectorController::close):
69579         * inspector/InspectorFrontendClient.h:
69580         * inspector/InspectorFrontendHost.cpp:
69581         (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
69582         that frontend closes if InspectorController triggered the action.
69583         * inspector/InspectorFrontendHost.h:
69584         * inspector/InspectorFrontendHost.idl:
69585         * inspector/front-end/InspectorFrontendHostStub.js:
69586         (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
69587         * inspector/front-end/inspector.js:
69588         (WebInspector.disconnectFromBackend):
69589
69590 2010-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
69591
69592         Unreviewed, rolling out r66188.
69593         http://trac.webkit.org/changeset/66188
69594         https://bugs.webkit.org/show_bug.cgi?id=44756
69595
69596         "Graphic libraries handle segement length differently. Fixing
69597         one platform might break another one. Rolling out this patch
69598         and think about another solution to get getPointAtLength"
69599         (Requested by krit on #webkit).
69600
69601         * platform/graphics/PathTraversalState.cpp:
69602         (WebCore::PathTraversalState::closeSubpath):
69603
69604 2010-08-27  Simon Fraser  <simon.fraser@apple.com>
69605
69606         Reviewed by Nikolas Zimmermann.
69607
69608         r66141 caused fast/forms/select-style.html to fail on mac:
69609         https://bugs.webkit.org/show_bug.cgi?id=44737
69610
69611         Handle the fact that a CSSImageValue may have a value of CSSValueNone,
69612         in which case we should not return a pending image.
69613
69614         * css/CSSImageValue.cpp:
69615         (WebCore::CSSImageValue::cachedOrPendingImage):
69616         * css/CSSStyleSelector.cpp:
69617         (WebCore::CSSStyleSelector::cachedOrPendingFromValue):
69618
69619 2010-08-27  Alejandro G. Castro  <alex@igalia.com>
69620
69621         Reviewed by Dan Bernstein.
69622
69623         drawGDIGlyphs checks if the offset is empty incorrectly causing
69624         problems with the shadow
69625         https://bugs.webkit.org/show_bug.cgi?id=44619
69626
69627         Removed the offset empty condition, now we just check if we have
69628         offset or blur.
69629
69630         * platform/graphics/win/FontCGWin.cpp:
69631         (WebCore::drawGDIGlyphs):
69632
69633 2010-08-27  Dirk Schulze  <krit@webkit.org>
69634
69635         Reviewed by Nikolas Zimmermann.
69636
69637         getPointAtLength returns incorrect values for paths closed with the closepath command
69638         https://bugs.webkit.org/show_bug.cgi?id=44197
69639         
69640         The closepath segment was traversed by the wrong direction. Swap starting point and
69641         end point for closeSubpath.
69642
69643         Test: svg/dom/path-pointAtLength.html
69644
69645         * platform/graphics/PathTraversalState.cpp:
69646         (WebCore::PathTraversalState::closeSubpath):
69647
69648 2010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>
69649
69650         Reviewed by Dirk Schulze.
69651
69652         SVGLocatable.getScreenCTM ignores scrolling
69653         https://bugs.webkit.org/show_bug.cgi?id=44083
69654
69655         getScreenCTM needs to include the FrameViews scrollOffset in the e/f parameters of the AffineTransform.
69656         Adding three new tests, which cover scrolling & getScreenCTM in large svgs with scrollbars, and with (nested) divs in overflow="scroll" mode.
69657
69658         Tests: svg/custom/getscreenctm-in-scrollable-div-area-nested.xhtml
69659                svg/custom/getscreenctm-in-scrollable-div-area.xhtml
69660                svg/custom/getscreenctm-in-scrollable-svg-area.xhtml
69661
69662         * svg/SVGSVGElement.cpp:
69663         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
69664
69665 2010-08-25  Ryosuke Niwa  <rniwa@webkit.org>
69666
69667         Reviewed by Darin Adler.
69668
69669         implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle, and removeHTMLBidiEmbeddingStyle should be merged
69670         https://bugs.webkit.org/show_bug.cgi?id=44622
69671
69672         Merged shouldRemoveTextDecorationTag, implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle,
69673         and removeHTMLBidiEmbeddingStyle into removeImplicitlyStyledElement.  New function uses CSSPropertyElementMapping to
69674         support all different cases dealt separately in each function.
69675
69676         No new tests are added since this is a cleanup.
69677
69678         * editing/ApplyStyleCommand.cpp:
69679         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls removeImplicitlyStyledElement.
69680         (WebCore::):
69681         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added.
69682         * editing/ApplyStyleCommand.h:
69683
69684 2010-08-26  Andy Estes  <aestes@apple.com>
69685
69686         Reviewed by Darin Adler.
69687         
69688         Based on a patch by Mihnea Ovidenie <mihnea@adobe.com>.
69689
69690         Percentage top value on position:relative descendant not resolved
69691         correctly if containing block height is not specified explicitly.
69692         https://bugs.webkit.org/show_bug.cgi?id=26396
69693
69694         If the containing block height is auto and the element is positioned
69695         relatively, and if the element's top/bottom is percent, then resolve the
69696         top/bottom as auto.
69697
69698         Test: fast/css/percent-top-relative-container-height-unspecified.html
69699
69700         * rendering/RenderBoxModelObject.cpp:
69701         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
69702
69703 2010-08-26  James Robinson  <jamesr@chromium.org>
69704
69705         Another chromium mac build fix. What a dumb version of GCC.
69706
69707         * platform/graphics/chromium/GLES2Texture.cpp:
69708         (WebCore::GLES2Texture::create):
69709
69710 2010-08-26  Kent Tamura  <tkent@chromium.org>
69711
69712         Unreviewed, build fix for Chromium-mac.
69713
69714         * platform/graphics/chromium/Shader.cpp:
69715         (WebCore::loadShader):
69716
69717 2010-08-26  James Robinson  <jamesr@chromium.org>
69718
69719         Fix chromium mac build. Unreviewed.
69720
69721         * platform/graphics/chromium/GLES2Canvas.cpp:
69722         (WebCore::GLES2Canvas::GLES2Canvas):
69723         * platform/graphics/chromium/GLES2Texture.cpp:
69724         (WebCore::GLES2Texture::load):
69725
69726 2010-08-26  Mark Rowe  <mrowe@apple.com>
69727
69728         Darin pointed out that the braces are unnecessary in an Objective-C interface
69729         declaration when there are no data members.
69730
69731         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Begone, evil braces!
69732
69733 2010-08-26  Gavin Barraclough  <barraclough@apple.com>
69734
69735         Rubber Stamped by Oliver Hunt.
69736
69737         Partially revert r65959. The toString changes regressed the v8 tests,
69738         but keep the toFixed/toExponential/toPrecision changes.
69739
69740         * html/HTMLTreeBuilder.cpp:
69741         (WebCore::serializeForNumberType):
69742
69743 2010-08-26  Mark Rowe  <mrowe@apple.com>
69744
69745         Reviewed by Adam Roben.
69746
69747         Fix two build issues that are revealed when building with clang.
69748
69749         * platform/mac/PopupMenuMac.h: Forward-declare as an Objective-C class when compiling for Objective-C.
69750         * platform/network/BlobResourceHandle.h: Forward-declare as a struct to match the real declaration.
69751
69752 2010-08-26  Mark Rowe  <mrowe@apple.com>
69753
69754         Reviewed by Sam Weinig.
69755
69756         <rdar://problem/8339008> WebCore's MediaPlayerPrivateQTKit.mm fails to build with clang.
69757
69758         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
69759         (WebCore::mainThreadSetNeedsDisplay): Remove some ambiguity in the return type of -delegate.
69760         Since the message was being sent to a receiver of type id the compiler cannot accurately
69761         determine the return type. Typically this would be resolved by using a more specific type
69762         for the receiver. However, due to lazy loading shenanigans that we play with QTKit we're
69763         unable to directly cast to the relevant type (QTMovieView*). Instead we fake up an interface
69764         with the correct type of the method we care about (-delegate) and cast to that type instead.
69765
69766 2010-08-26  Andy Estes  <aestes@apple.com>
69767
69768         Reviewed by Darin Adler.
69769
69770         If an <embed> is part of an <object> element's fallback content, WebKit
69771         should only render the <embed> if the <object> fails to load.
69772         https://bugs.webkit.org/show_bug.cgi?id=44567
69773         <rdar://problem/7699852>
69774         
69775         Tests: fast/replaced/invalid-object-with-fallback.html
69776                fast/replaced/object-with-embed-url-param.html
69777
69778         * html/HTMLEmbedElement.cpp:
69779         (WebCore::HTMLEmbedElement::rendererIsNeeded): An <embed> now needs a
69780         renderer if its parent is an <object> but the <object> is using fallback
69781         content.
69782         * html/HTMLObjectElement.h:
69783         (WebCore::HTMLObjectElement::useFallbackContent): Add a public getter
69784         for m_useFallbackContent for use in HTMLEmbedElement::rendererIsNeeded.
69785         * rendering/RenderEmbeddedObject.cpp:
69786         (WebCore::RenderEmbeddedObject::updateWidget): Change the logic that
69787         determines the plug-in parameters to pass to the loader. Do not override
69788         parameters from <object> with those from a child <embed>.
69789
69790 2010-08-26  James Robinson  <jamesr@chromium.org>
69791
69792         Reviewed by Darin Fisher.
69793
69794         [chromium] Remove the USE(GLES2_RENDERING) define and associated code
69795         https://bugs.webkit.org/show_bug.cgi?id=43761
69796
69797         USE(GLES2_RENDERING) will not be useful since we'll be coding to GraphicsContext3D
69798         instead of OpenGL and can use ENABLE(ACCELERATED_2D_CANVAS) for canvas 2d specific
69799         changes.  This deletes the macro and deletes the ChromeClient API to query
69800         GLES2Contexts since we'll never need one of these outside of the compositor, which
69801         is created in platform-specific code.
69802
69803         * loader/EmptyClients.h:
69804         * page/ChromeClient.h:
69805         * platform/graphics/chromium/GLES2Canvas.cpp:
69806         * platform/graphics/chromium/GLES2Canvas.h:
69807         * platform/graphics/chromium/GLES2Texture.cpp:
69808         * platform/graphics/chromium/GLES2Texture.h:
69809         * platform/graphics/skia/GraphicsContextSkia.cpp:
69810         (WebCore::GraphicsContext::savePlatformState):
69811         (WebCore::GraphicsContext::restorePlatformState):
69812         (WebCore::GraphicsContext::clearRect):
69813         (WebCore::GraphicsContext::concatCTM):
69814         (WebCore::GraphicsContext::fillRect):
69815         (WebCore::GraphicsContext::scale):
69816         (WebCore::GraphicsContext::setAlpha):
69817         (WebCore::GraphicsContext::setCompositeOperation):
69818         (WebCore::GraphicsContext::setPlatformFillColor):
69819         (WebCore::GraphicsContext::rotate):
69820         (WebCore::GraphicsContext::translate):
69821         (WebCore::GraphicsContext::setGraphicsContext3D):
69822         (WebCore::GraphicsContext::syncSoftwareCanvas):
69823         * platform/graphics/skia/ImageSkia.cpp:
69824         (WebCore::drawBitmapGLES2):
69825         (WebCore::BitmapImage::draw):
69826         (WebCore::BitmapImageSingleFrameSkia::draw):
69827         * platform/graphics/skia/PlatformContextSkia.cpp:
69828         (WebCore::PlatformContextSkia::PlatformContextSkia):
69829         (WebCore::PlatformContextSkia::~PlatformContextSkia):
69830         * platform/graphics/skia/PlatformContextSkia.h:
69831
69832 2010-08-26  Martin Robinson  <mrobinson@igalia.com>
69833
69834         Build fix for GTK+, after a bad merge.
69835
69836         * platform/gtk/RenderThemeGtk.cpp:
69837         (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
69838
69839 2010-08-23  Martin Robinson  <mrobinson@igalia.com>
69840
69841         Reviewed by Gustavo Noronha Silva.
69842
69843         [GTK] ScrollbarThemeGtk is incomplete
69844         https://bugs.webkit.org/show_bug.cgi?id=44471
69845
69846         Add theme drawing code for GTK+ scrollbars. Turn RenderThemeGtk::paintMozillaWidget
69847         into a public method so that ScrollbarThemeGtk can access Mozilla theme API properly.
69848
69849         Tests for this issue will be activated in the form of pixel tests, but
69850         only after fully-fake scrollbars are activated.
69851
69852         * platform/gtk/RenderThemeGtk.cpp:
69853         (WebCore::RenderThemeGtk::paintMozillaGtkWidget): Added this public method which takes
69854         the proper widget state, widget type, graphics context and rectangle and renders a
69855         widget using the Mozilla theming API.
69856         (WebCore::RenderThemeGtk::paintRenderObject): Added this method which first calculates
69857         the widget state before passing the information on to paintMozillaGtkWidget.
69858         (WebCore::RenderThemeGtk::paintCheckbox): Switch to use paintRenderObject.
69859         (WebCore::RenderThemeGtk::paintRadio): Switch to use paintRenderObject.
69860         (WebCore::RenderThemeGtk::paintButton): Switch to use paintRenderObject.
69861         (WebCore::RenderThemeGtk::paintMenuList): Switch to use paintRenderObject.
69862         (WebCore::RenderThemeGtk::paintTextField): Switch to use paintRenderObject.
69863         (WebCore::RenderThemeGtk::paintSliderTrack): Switch to use paintRenderObject.
69864         (WebCore::RenderThemeGtk::paintSliderThumb): Switch to use paintRenderObject.
69865         (WebCore::RenderThemeGtk::paintProgressBar): Switch to use paintRenderObject.
69866         * platform/gtk/RenderThemeGtk.h: Added new method declarations.
69867         * platform/gtk/ScrollbarThemeGtk.cpp: Added code which can render GTK+ scrollbars.
69868         (WebCore::ScrollbarThemeGtk::hasThumb): Added.
69869         (WebCore::ScrollbarThemeGtk::backButtonRect): Added.
69870         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Added.
69871         (WebCore::ScrollbarThemeGtk::trackRect): Added.
69872         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Added.
69873         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Added.
69874         (WebCore::ScrollbarThemeGtk::paintThumb): Added.
69875         (WebCore::ScrollbarThemeGtk::thumbRect): Added.
69876         (WebCore::ScrollbarThemeGtk::paint): Added.
69877         (WebCore::ScrollbarThemeGtk::paintButton): Added.
69878         (WebCore::ScrollbarThemeGtk::paintScrollCorner): Added.
69879         (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb): Added.
69880         (WebCore::ScrollbarThemeGtk::scrollbarThickness): Always get the metrics from the
69881         theme drawing API so that it stays up to date with theme changes.
69882         (WebCore::ScrollbarThemeGtk::buttonSize): Added.
69883         (WebCore::ScrollbarThemeGtk::minimumThumbLength): Added.
69884         * platform/gtk/ScrollbarThemeGtk.h:
69885         (WebCore::ScrollbarThemeGtk::hasButtons): Added.
69886         (WebCore::ScrollbarThemeGtk::initialAutoscrollTimerDelay): Added.
69887         (WebCore::ScrollbarThemeGtk::autoscrollTimerDelay): Added.
69888
69889 2010-08-26  Alexey Proskuryakov  <ap@apple.com>
69890
69891         Reviewed by Sam Weinig.
69892
69893         https://bugs.webkit.org/show_bug.cgi?id=44726
69894         <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
69895
69896         * loader/FrameLoader.cpp:
69897         (WebCore::FrameLoader::closeAndRemoveChild):
69898         (WebCore::FrameLoader::detachFromParent):
69899         Added a few FIXME comments. The logic we have to track frames is extremely convoluted.
69900
69901 2010-08-26  Ryosuke Niwa  <rniwa@webkit.org>
69902
69903         Unreviewed; build fix.
69904
69905         Speculative chromium mac fix by including "Color.h".
69906
69907         * platform/graphics/chromium/Shader.cpp:
69908
69909 2010-08-26  Simon Fraser  <simon.fraser@apple.com>
69910
69911         Reviewed by Dave Hyatt.
69912
69913         CSS downloads all background images related to element, instead of just final rule
69914         https://bugs.webkit.org/show_bug.cgi?id=24223
69915         
69916         We used to kick off image loads at the point where the style selector
69917         applies a CSS rule to an element, even if that rule was overridden
69918         by a rule in a later block of rules. This caused loads of images that
69919         weren't actually used.
69920         
69921         Fix this by delaying image loads until the style has been fully
69922         resolved. This is achieved by inserting a StylePendingImage into
69923         the RenderStyle for duration of the style resolution, and keeping
69924         an entry in a hash for the relevant CSS property.
69925         
69926         At the end of style resolution, we iterate through the hash, and
69927         replace the StylePendingImage with StyleCachedImages, which
69928         causes the loads to happen only for images that are in the final style.        
69929
69930         Tests: http/tests/css/border-image-loading.html
69931                http/tests/css/mask-image-loading.html
69932                http/tests/css/reflection-mask-image-loading.html
69933
69934         * GNUmakefile.am: Add StylePendingImage.h
69935         * WebCore.gypi: Ditto
69936         * WebCore.vcproj/WebCore.vcproj: Ditto
69937
69938         * css/CSSImageValue.h: Change m_image to a RefPtr<StyleImage>,
69939         since it may be a StylePendingImage or StyleCachedImage.
69940         * css/CSSImageValue.cpp:
69941         (WebCore::CSSImageValue::~CSSImageValue): Only call removeClient if it's a cachedImage.
69942         (WebCore::CSSImageValue::cachedOrPendingImage): If we have an image (pending or cached),
69943         return it. Otherwise make a pending image and return it.
69944         (WebCore::CSSImageValue::cachedImage): Only return the image if it's a cached image.
69945         (WebCore::CSSImageValue::cachedImageURL):
69946         (WebCore::CSSImageValue::clearCachedImage):
69947
69948         * css/CSSStyleSelector.h:
69949         * css/CSSStyleSelector.cpp:
69950         (WebCore::CSSStyleSelector::initForStyleResolve): Clear m_pendingImageProperties.
69951         (WebCore::CSSStyleSelector::styleForElement): Load pending images.
69952         (WebCore::CSSStyleSelector::styleForKeyframe): Ditto.
69953         (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
69954         (WebCore::CSSStyleSelector::styleForPage): Ditto.
69955         (WebCore::CSSStyleSelector::applyProperty): Pull property into a local variable
69956         so we can use it in macros.
69957         (WebCore::CSSStyleSelector::mapFillAttachment): Pass the property down (needed to avoid
69958         additional macro complexity).
69959         (WebCore::CSSStyleSelector::mapFillClip): Ditto
69960         (WebCore::CSSStyleSelector::mapFillComposite): Ditto
69961         (WebCore::CSSStyleSelector::mapFillOrigin): Ditto
69962         (WebCore::CSSStyleSelector::styleImage): Call cachedOrPendingFromValue()
69963         (WebCore::CSSStyleSelector::cachedOrPendingFromValue): Get the cachedOrPendingImage()
69964         from the CSSValue, and if it's a pending image, record the property.
69965         (WebCore::CSSStyleSelector::mapFillImage): Pass the property down (needed to avoid
69966         additional macro complexity).
69967         (WebCore::CSSStyleSelector::mapFillRepeatX): Ditto
69968         (WebCore::CSSStyleSelector::mapFillRepeatY): Ditto
69969         (WebCore::CSSStyleSelector::mapFillSize): Ditto
69970         (WebCore::CSSStyleSelector::mapFillXPosition): Ditto
69971         (WebCore::CSSStyleSelector::mapFillYPosition): Ditto
69972         (WebCore::CSSStyleSelector::mapNinePieceImage): Ditto
69973         (WebCore::CSSStyleSelector::loadPendingImages): Iterate through the m_pendingImageProperties
69974         hash, and replace the pending images with cached images.
69975
69976         * rendering/style/StyleCachedImage.h: Make cssValue() const.
69977         * rendering/style/StyleCachedImage.cpp:
69978         (WebCore::StyleCachedImage::cssValue):
69979
69980         * rendering/style/StyleGeneratedImage.h:  Make cssValue() const.
69981         * rendering/style/StyleGeneratedImage.cpp:
69982         (WebCore::StyleGeneratedImage::cssValue):
69983
69984         * rendering/style/StyleImage.h:
69985         (WebCore::StyleImage::operator==): Make const.
69986         (WebCore::StyleImage::isPendingImage):
69987         * rendering/style/StylePendingImage.h: Added.
69988
69989 2010-08-26  Sam Weinig  <sam@webkit.org>
69990
69991         Reviewed by Darin Adler.
69992
69993         Add PassOwnArrayPtr
69994         https://bugs.webkit.org/show_bug.cgi?id=44627
69995
69996         Add new forwarding headers.
69997
69998         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
69999         * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.
70000
70001 2010-08-26   Stanislav Brabec  <sbrabec@suse.cz>
70002
70003         Reviewed by Martin Robinson.
70004
70005         [GTK] [PATCH] plugin loading invalid symlink evaluation deadlock
70006         https://bugs.webkit.org/show_bug.cgi?id=44683
70007
70008         Fix symlink resolution in PluginPackageGtk.
70009
70010         * plugins/gtk/PluginPackageGtk.cpp:
70011         (WebCore::PluginPackage::load): g_file_resolve_relative_path must be called with a
70012         a directory, not a file.
70013
70014 2010-08-26  Andy Estes  <aestes@apple.com>
70015
70016         Reviewed by Eric Carlson.
70017
70018         A URL in a <param> should be parsed the same as if it were specified as
70019         the data attribute of an <object>.
70020         https://bugs.webkit.org/show_bug.cgi?id=44671
70021
70022         Test: fast/replaced/object-param-url-control-char.html
70023
70024         * rendering/RenderEmbeddedObject.cpp:
70025         (WebCore::RenderEmbeddedObject::updateWidget): Call deprecatedParseURL()
70026         on <param> values of names that we treat as URLs ("src", "movie", "code"
70027         and "url").
70028
70029 2010-08-26  Stephen White  <senorblanco@chromium.org>
70030
70031         Unreviewed; build fix.
70032
70033         Fix for Chromium/Mac.
70034
70035         * platform/graphics/chromium/Shader.cpp:
70036
70037 2010-08-26  Tony Chang  <tony@chromium.org>
70038
70039         Reviewed by David Hyatt.
70040
70041         crash when rendering scrollbar gradient
70042         https://bugs.webkit.org/show_bug.cgi?id=44549
70043
70044         Test: scrollbars/scrollbar-gradient-crash.html
70045
70046         * css/CSSImageGeneratorValue.cpp:
70047         (WebCore::CSSImageGeneratorValue::getImage): Keep this alive.
70048
70049 2010-08-26  Stephen White  <senorblanco@chromium.org>
70050
70051         Reviewed by Kenneth Russell.
70052
70053         [CHROMIUM] Give <canvas> 2D shaders their own class hierarchy.
70054         https://bugs.webkit.org/show_bug.cgi?id=44682
70055
70056         Covered by fast/canvas layout tests.
70057
70058         * WebCore.gypi:
70059         Add Shader.cpp, Shader.h to chromium build.
70060         * platform/graphics/chromium/GLES2Canvas.cpp:
70061         (WebCore::GLES2Canvas::GLES2Canvas):
70062         (WebCore::GLES2Canvas::~GLES2Canvas):
70063         (WebCore::GLES2Canvas::fillRect):
70064         (WebCore::GLES2Canvas::drawTexturedRect):
70065         (WebCore::GLES2Canvas::drawTexturedRectTile):
70066         Rip out all shader initialization and compilation code.
70067         Instantiate specialized shaders instead.
70068         * platform/graphics/chromium/GLES2Canvas.h:
70069         * platform/graphics/chromium/Shader.cpp: Added.
70070         (WebCore::affineTo3x3):
70071         (WebCore::Shader::Shader):
70072         (WebCore::Shader::~Shader):
70073         Implement Shader base class.
70074         (WebCore::loadShader):
70075         (WebCore::loadProgram):
70076         Utility functions refactored from GLES2Canvas.
70077         (WebCore::SolidFillShader::SolidFillShader):
70078         (WebCore::TexShader::TexShader):
70079         (WebCore::SolidFillShader::create):
70080         (WebCore::SolidFillShader::use):
70081         (WebCore::TexShader::create):
70082         (WebCore::TexShader::use):
70083         * platform/graphics/chromium/Shader.h: Added.
70084
70085 2010-08-26  Brian Weinstein  <bweinstein@apple.com>
70086
70087         Reviewed by Adam Roben.
70088
70089         User scripts injected at start are not run for plugin and media documents
70090         <https://bugs.webkit.org/show_bug.cgi?id=44711>
70091         <rdar://problem/8359288>
70092         
70093         http://trac.webkit.org/changeset/61271 made scripts injected at start run on ImageDocuments,
70094         but didn't implement this behavior for MediaDocuments and PluginDocuments.
70095
70096         * loader/MediaDocument.cpp:
70097         (WebCore::MediaDocumentParser::createDocumentStructure): Make sure we fire dispatchDocumentElementAvailable.
70098         * loader/PluginDocument.cpp:
70099         (WebCore::PluginDocumentParser::createDocumentStructure): Ditto.
70100
70101 2010-08-26  Peter Kasting  <pkasting@google.com>
70102
70103         Reviewed by Dimitri Glazkov.
70104
70105         Misc. cleanup split off from bug 32356.
70106         https://bugs.webkit.org/show_bug.cgi?id=44696
70107
70108         * WebCore.gyp/WebCore.gyp:
70109         * dom/Element.cpp:
70110         (WebCore::localZoomForRenderer):
70111         * platform/ScrollView.cpp:
70112         (WebCore::ScrollView::wheelEvent):
70113         * platform/ScrollView.h:
70114         * platform/Scrollbar.cpp:
70115         (WebCore::Scrollbar::scroll):
70116         * platform/Scrollbar.h:
70117         (WebCore::Scrollbar::isScrollbar):
70118         * platform/ScrollbarClient.h:
70119         (WebCore::ScrollbarClient::~ScrollbarClient):
70120         * platform/qt/ScrollbarQt.cpp:
70121         (WebCore::Scrollbar::contextMenu):
70122         * rendering/RenderBox.h:
70123         * rendering/RenderLayer.cpp:
70124         (WebCore::RenderLayer::scroll):
70125         * rendering/RenderLayer.h:
70126         * rendering/RenderListBox.h:
70127         * rendering/RenderTextControlSingleLine.h:
70128
70129 2010-08-26  David Hyatt  <hyatt@apple.com>
70130
70131         Reviewed by Simon Fraser.
70132
70133         https://bugs.webkit.org/show_bug.cgi?id=39647, font face loads do a synchronous recalcStyle(Force)
70134         on the whole document.  Change these calls to do async recalcStyles instead.
70135
70136         * css/CSSFontSelector.cpp:
70137         (WebCore::CSSFontSelector::fontLoaded):
70138         (WebCore::CSSFontSelector::fontCacheInvalidated):
70139         * dom/Document.cpp:
70140         (WebCore::Document::scheduleForcedStyleRecalc):
70141         (WebCore::Document::styleSelectorChanged):
70142         * dom/Document.h:
70143
70144 2010-08-26  Xan Lopez  <xlopez@igalia.com>
70145
70146         Reviewed by Martin Robinson.
70147
70148         Fix double free (we were passing const memory to a GOwnPtr) by
70149         getting rid of unneeded temp variable.
70150
70151         * platform/gtk/FileSystemGtk.cpp:
70152         (WebCore::directoryName):
70153
70154 2010-08-26  Mikhail Naganov  <mnaganov@chromium.org>
70155
70156         Reviewed by Pavel Feldman.
70157
70158         Web Inspector: Store heap snapshots in InspectorProfilerAgent.
70159
70160         Change the way heap snapshots are transported to Inspector
70161         to be aligned with CPU profiles. As a result, the Heap snapshots
70162         view of Profiles panel was upstreamed into WebCore.
70163
70164         https://bugs.webkit.org/show_bug.cgi?id=44531
70165
70166         * English.lproj/localizedStrings.js:
70167         * GNUmakefile.am:
70168         * WebCore.gypi:
70169         * WebCore.pro:
70170         * WebCore.vcproj/WebCore.vcproj:
70171         * WebCore.xcodeproj/project.pbxproj:
70172         * bindings/js/ScriptHeapSnapshot.h: Added.
70173         (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
70174         (WebCore::ScriptHeapSnapshot::title):
70175         (WebCore::ScriptHeapSnapshot::uid):
70176         (WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
70177         (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
70178         * bindings/js/ScriptProfiler.h:
70179         (WebCore::ScriptProfiler::takeHeapSnapshot):
70180         * bindings/v8/ScriptHeapSnapshot.cpp: Added.
70181         (WebCore::ScriptHeapSnapshot::title):
70182         (WebCore::ScriptHeapSnapshot::uid):
70183         (WebCore::buildInspectorObjectFor):
70184         (WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
70185         * bindings/v8/ScriptHeapSnapshot.h: Added.
70186         (WebCore::ScriptHeapSnapshot::create):
70187         (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
70188         (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
70189         * bindings/v8/ScriptProfile.cpp:
70190         (WebCore::buildInspectorObjectFor):
70191         * bindings/v8/ScriptProfiler.cpp:
70192         (WebCore::ScriptProfiler::takeHeapSnapshot):
70193         * bindings/v8/ScriptProfiler.h:
70194         * inspector/Inspector.idl:
70195         * inspector/InspectorBackend.cpp:
70196         * inspector/InspectorBackend.h:
70197         * inspector/InspectorProfilerAgent.cpp:
70198         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
70199         (WebCore::InspectorProfilerAgent::createSnapshotHeader):
70200         (WebCore::InspectorProfilerAgent::getProfileHeaders):
70201         (WebCore::InspectorProfilerAgent::getProfile):
70202         (WebCore::InspectorProfilerAgent::removeProfile):
70203         (WebCore::InspectorProfilerAgent::resetState):
70204         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
70205         * inspector/InspectorProfilerAgent.h:
70206         * inspector/front-end/HeapSnapshotView.js: Added.
70207         (WebInspector.HeapSnapshotView.profileCallback):
70208         (WebInspector.HeapSnapshotView.resetCompleted):
70209         (WebInspector.HeapSnapshotView):
70210         (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
70211         (WebInspector.HeapSnapshotView.prototype.get profile):
70212         (WebInspector.HeapSnapshotView.prototype.set profile):
70213         (WebInspector.HeapSnapshotView.prototype.show):
70214         (WebInspector.HeapSnapshotView.prototype.hide):
70215         (WebInspector.HeapSnapshotView.prototype.resize):
70216         (WebInspector.HeapSnapshotView.prototype.refresh):
70217         (WebInspector.HeapSnapshotView.prototype.refreshShowAsPercents):
70218         (WebInspector.HeapSnapshotView.prototype._deleteSearchMatchedFlags):
70219         (WebInspector.HeapSnapshotView.prototype.searchCanceled):
70220         (WebInspector.HeapSnapshotView.prototype.performSearch):
70221         (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult.WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult.jumpToLastSearchResult.WebInspector.CPUProfileView.prototype.jumpToLastSearchResult.jumpToNextSearchResult.WebInspector.CPUProfileView.prototype.jumpToNextSearchResult.jumpToPreviousSearchResult.WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult.showingFirstSearchResult.WebInspector.CPUProfileView.prototype.showingFirstSearchResult.showingLastSearchResult.WebInspector.CPUProfileView.prototype.showingLastSearchResult._jumpToSearchResult.WebInspector.CPUProfileView.prototype._jumpToSearchResult.refreshVisibleData):
70222         (WebInspector.HeapSnapshotView.prototype._changeBase.resetCompleted):
70223         (WebInspector.HeapSnapshotView.prototype._changeBase):
70224         (WebInspector.HeapSnapshotView.prototype._createSnapshotDataGridList):
70225         (WebInspector.HeapSnapshotView.prototype._getProfiles):
70226         (WebInspector.HeapSnapshotView.prototype._loadProfile.loadedCallback):
70227         (WebInspector.HeapSnapshotView.prototype._loadProfile):
70228         (WebInspector.HeapSnapshotView.prototype._mouseDownInDataGrid):
70229         (WebInspector.HeapSnapshotView.prototype.get _isShowingAsPercent):
70230         (WebInspector.HeapSnapshotView.prototype._percentClicked):
70231         (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
70232         (WebInspector.HeapSnapshotView.prototype._prepareProfile):
70233         (WebInspector.HeapSnapshotView.prototype._resetDataGridList.profileLoaded):
70234         (WebInspector.HeapSnapshotView.prototype._resetDataGridList):
70235         (WebInspector.HeapSnapshotView.prototype._sortData):
70236         (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
70237         (WebInspector.HeapSnapshotView.prototype._updatePercentButton):
70238         (WebInspector.HeapSnapshotView.prototype._updateSummaryGraph):
70239         (WebInspector.HeapSnapshotView.SearchHelper.operations.LESS):
70240         (WebInspector.HeapSnapshotView.SearchHelper.operations.LESS_OR_EQUAL):
70241         (WebInspector.HeapSnapshotView.SearchHelper.operations.EQUAL):
70242         (WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER_OR_EQUAL):
70243         (WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER):
70244         (WebInspector.HeapSnapshotView.SearchHelper.parseOperationAndNumber):
70245         (WebInspector.HeapSummaryCalculator):
70246         (WebInspector.HeapSummaryCalculator.prototype.computeSummaryValues):
70247         (WebInspector.HeapSummaryCalculator.prototype.formatValue):
70248         (WebInspector.HeapSummaryCalculator.prototype.get showAsPercent):
70249         (WebInspector.HeapSummaryCalculator.prototype.set showAsPercent):
70250         (WebInspector.HeapSummaryCountCalculator):
70251         (WebInspector.HeapSummaryCountCalculator.prototype._highFromLow):
70252         (WebInspector.HeapSummaryCountCalculator.prototype._valueToString):
70253         (WebInspector.HeapSummarySizeCalculator):
70254         (WebInspector.HeapSummarySizeCalculator.prototype._highFromLow):
70255         (WebInspector.HeapSnapshotDataGridNodeWithRetainers):
70256         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _hasRetainers):
70257         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _parent):
70258         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype._populate):
70259         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.produceDiff):
70260         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.sort):
70261         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.signForDelta):
70262         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.showDeltaAsPercent):
70263         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalCount):
70264         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalSize):
70265         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countPercent):
70266         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizePercent):
70267         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countDeltaPercent):
70268         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizeDeltaPercent):
70269         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get data):
70270         (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.createCell):
70271         (WebInspector.HeapSnapshotDataGridNode):
70272         (WebInspector.HeapSnapshotDataGridList):
70273         (WebInspector.HeapSnapshotDataGridList.prototype.appendChild):
70274         (WebInspector.HeapSnapshotDataGridList.prototype.insertChild):
70275         (WebInspector.HeapSnapshotDataGridList.prototype.removeChildren):
70276         (WebInspector.HeapSnapshotDataGridList.prototype.populateChildren):
70277         (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
70278         (WebInspector.HeapSnapshotDataGridList.propertyComparator):
70279         (WebInspector.HeapSnapshotDataGridRetainerNode):
70280         (WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizePercent):
70281         (WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizeDeltaPercent):
70282         (WebInspector.HeapSnapshotDataGridRetainerNode.prototype._calculateRetainers):
70283         (WebInspector.HeapSnapshotProfileType):
70284         (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
70285         (WebInspector.HeapSnapshotProfileType.prototype.get buttonStyle):
70286         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
70287         (WebInspector.HeapSnapshotProfileType.prototype.get welcomeMessage):
70288         (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
70289         (WebInspector.HeapSnapshotProfileType.prototype.createView):
70290         * inspector/front-end/ProfileView.js:
70291         (WebInspector.CPUProfileView):
70292         (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
70293         * inspector/front-end/ProfilesPanel.js:
70294         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
70295         (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
70296         (WebInspector.ProfilesPanel.prototype.getProfiles):
70297         (WebInspector.ProfilesPanel.prototype.updateProfile):
70298         (WebInspector.ProfileSidebarTreeElement):
70299         (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
70300         * inspector/front-end/WebKit.qrc:
70301         * inspector/front-end/inspector.css:
70302         (.heap-snapshot-sidebar-tree-item .icon):
70303         (.heap-snapshot-sidebar-tree-item.small .icon):
70304         (.heap-snapshot-view):
70305         (.heap-snapshot-view.visible):
70306         (.heap-snapshot-view .data-grid):
70307         (.heap-snapshot-view .data-grid th.count-column):
70308         (.heap-snapshot-view .data-grid td.count-column):
70309         (.heap-snapshot-view .data-grid th.size-column):
70310         (.heap-snapshot-view .data-grid td.size-column):
70311         (.heap-snapshot-view .data-grid th.countDelta-column):
70312         (.heap-snapshot-view .data-grid td.countDelta-column):
70313         (.heap-snapshot-view .data-grid th.sizeDelta-column):
70314         (.heap-snapshot-view .data-grid td.sizeDelta-column):
70315         (#heap-snapshot-summary-container):
70316         (.heap-snapshot-summary):
70317         (.heap-snapshot-summary canvas.summary-graph):
70318         (.heap-snapshot-summary-label):
70319         * inspector/front-end/inspector.html:
70320         * inspector/front-end/inspector.js:
70321         (WebInspector._createPanels):
70322
70323 2010-08-25  David Hyatt  <hyatt@apple.com>
70324
70325         Reviewed by Simon Fraser.
70326
70327         <rdar://problem/8302217> recalcStyles called immediately on each change when updating document-level stylesheets
70328         https://bugs.webkit.org/show_bug.cgi?id=36303
70329
70330         Parameterize updateStyleSelector to optionally defer the forced style recalc following the rebuilding of the
70331         sheets used by the CSSStyleSelector.  Rename the method to styleSelectorChanged().  Add the capability to do 
70332         a forced style recalc to the style recalc timer.
70333
70334         * css/CSSMutableStyleDeclaration.cpp:
70335         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
70336         * css/CSSStyleSheet.cpp:
70337         (WebCore::CSSStyleSheet::styleSheetChanged):
70338         * css/CSSVariablesDeclaration.cpp:
70339         (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc):
70340         * dom/Document.cpp:
70341         (WebCore::Document::Document):
70342         (WebCore::Document::scheduleStyleRecalc):
70343         (WebCore::Document::updateStyleIfNeeded):
70344         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
70345         (WebCore::Document::clearPageUserSheet):
70346         (WebCore::Document::clearPageGroupUserSheets):
70347         (WebCore::Document::processHttpEquiv):
70348         (WebCore::Document::setSelectedStylesheetSet):
70349         (WebCore::Document::removePendingSheet):
70350         (WebCore::Document::styleSelectorChanged):
70351         (WebCore::Document::setInPageCache):
70352         * dom/Document.h:
70353         (WebCore::):
70354         * dom/ProcessingInstruction.cpp:
70355         (WebCore::ProcessingInstruction::removedFromDocument):
70356         * dom/StyleElement.cpp:
70357         (WebCore::StyleElement::removedFromDocument):
70358         * dom/XMLDocumentParser.cpp:
70359         (WebCore::XMLDocumentParser::end):
70360         * dom/XMLDocumentParserLibxml2.cpp:
70361         (WebCore::XMLDocumentParser::doEnd):
70362         * html/HTMLDocument.cpp:
70363         (WebCore::HTMLDocument::determineParseMode):
70364         * html/HTMLLinkElement.cpp:
70365         (WebCore::HTMLLinkElement::setDisabledState):
70366         (WebCore::HTMLLinkElement::process):
70367         (WebCore::HTMLLinkElement::removedFromDocument):
70368         * page/Frame.cpp:
70369         (WebCore::Frame::setPrinting):
70370         (WebCore::Frame::reapplyStyles):
70371         * page/FrameView.cpp:
70372         (WebCore::FrameView::layout):
70373         * page/Page.cpp:
70374         (WebCore::Page::setViewMode):
70375         * rendering/RenderBlock.cpp:
70376         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
70377         * svg/SVGFontFaceElement.cpp:
70378         (WebCore::SVGFontFaceElement::rebuildFontFace):
70379         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
70380
70381 2010-08-24  Vangelis Kokkevis  <vangelis@chromium.org>
70382
70383         Reviewed by Kenneth Russell.
70384
70385         [chromium] Implementing clipping for composited layers. Two
70386         types of clipping are added: Scissoring for layers that don't
70387         contain any rotations and stencil-buffer based clipping for
70388         all other layers.
70389         https://bugs.webkit.org/show_bug.cgi?id=44573
70390
70391         Tests: Compositor layout tests that test clipping such as
70392         compositing/geometry/{clip.html, clipping-foreground.html} now
70393         work properly.
70394
70395         * platform/graphics/chromium/LayerChromium.cpp:
70396         (WebCore::LayerChromium::SharedValues::SharedValues):
70397         (WebCore::LayerChromium::getDrawRect):
70398         (WebCore::LayerChromium::drawAsMask):
70399         * platform/graphics/chromium/LayerChromium.h:
70400         * platform/graphics/chromium/LayerRendererChromium.cpp:
70401         (WebCore::LayerRendererChromium::drawLayers):
70402         (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
70403         (WebCore::LayerRendererChromium::drawLayersRecursive):
70404         (WebCore::LayerRendererChromium::scissorToRect):
70405         (WebCore::LayerRendererChromium::initializeSharedObjects):
70406         * platform/graphics/chromium/LayerRendererChromium.h:
70407
70408 2010-08-25  Kenneth Russell  <kbr@google.com>
70409
70410         Reviewed by Dimitri Glazkov.
70411
70412         Expose Vector3 and associated operations
70413         https://bugs.webkit.org/show_bug.cgi?id=44666
70414
70415         No new tests; ran several 3D CSS demos and did full layout test
70416         run. New code paths have also been tested by new calling code
70417         which will be checked in soon.
70418
70419         * platform/graphics/transforms/TransformationMatrix.cpp:
70420         (WebCore::decompose):
70421         * platform/graphics/transforms/TransformationMatrix.h:
70422         (WebCore::Vector3::Vector3):
70423         (WebCore::Vector3::x):
70424         (WebCore::Vector3::y):
70425         (WebCore::Vector3::z):
70426         (WebCore::Vector3::setX):
70427         (WebCore::Vector3::setY):
70428         (WebCore::Vector3::setZ):
70429         (WebCore::Vector3::set):
70430         (WebCore::Vector3::operator =):
70431         (WebCore::Vector3::operator +):
70432         (WebCore::Vector3::operator -):
70433         (WebCore::Vector3::operator[]):
70434         (WebCore::Vector3::length):
70435         (WebCore::Vector3::lengthSquared):
70436         (WebCore::Vector3::scaleTo):
70437         (WebCore::Vector3::normalize):
70438         (WebCore::Vector3::dot):
70439         (WebCore::Vector3::combine):
70440         (WebCore::Vector3::cross):
70441
70442 2010-08-26  Mikhail Naganov  <mnaganov@chromium.org>
70443
70444         Reviewed by Pavel Feldman.
70445
70446         Web Inspector: fix CPU profile header entries doubling on Inspector re-opening.
70447
70448         https://bugs.webkit.org/show_bug.cgi?id=44685
70449
70450         * inspector/front-end/ProfilesPanel.js:
70451         (WebInspector.ProfilesPanel.prototype.show):
70452
70453 2010-08-26  Eric Carlson  <eric.carlson@apple.com>
70454
70455         Reviewed by Darin Adler and Maciej Stachowiak.
70456
70457         https://bugs.webkit.org/show_bug.cgi?id=44013
70458         HTMLMediaElement should delay document load event
70459
70460         Test: media/video-delay-load-event.html
70461
70462         * dom/Document.cpp:
70463         (WebCore::Document::Document): Initialize incrementLoadEventDelayCount.
70464         (WebCore::Document::decrementLoadEventDelayCount): New, decrement incrementLoadEventDelayCount 
70465         and call loader->checkCompleted() when it reaches zero.
70466         * dom/Document.h:
70467         (WebCore::Document::incrementLoadEventDelayCount): New.
70468         (WebCore::Document::isDelayingLoadEvent): New.
70469
70470         * html/HTMLMediaElement.cpp:
70471         (WebCore::HTMLMediaElement::~HTMLMediaElement): Stop delaying the load event if necessary.
70472         (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Ditto.
70473         (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Delay the load event if we don't the
70474         meta data for the movie yet.
70475         (WebCore::HTMLMediaElement::prepareForLoad): Delay the load event.
70476         (WebCore::HTMLMediaElement::selectMediaResource): Don't delay the load event when there are 
70477         no more sources to consider. Don't change m_delayingTheLoadEvent directly, call 
70478         setShouldDelayLoadEvent() instead.
70479         (WebCore::HTMLMediaElement::waitForSourceChange): Stop delaying the load event.
70480         (WebCore::HTMLMediaElement::noneSupported): Ditto.
70481         (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
70482         (WebCore::HTMLMediaElement::setReadyState): Ditto.
70483         (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
70484         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): New, increment/decrement the document's
70485         load event delay count.
70486         * html/HTMLMediaElement.h:
70487
70488         * loader/FrameLoader.cpp:
70489         (WebCore::FrameLoader::checkCompleted): See if the document wants to delay completion for 
70490         elements that don't go through a FrameLoader.
70491         (WebCore::FrameLoader::checkCallImplicitClose): Ditto
70492         * page/Frame.cpp:
70493
70494 2010-08-26  Dan Bernstein  <mitz@apple.com>
70495
70496         Reviewed by Simon Fraser.
70497
70498         Fix the same issue as https://bugs.webkit.org/show_bug.cgi?id=41585
70499         but this time for the -webkit-font-smoothing property.
70500
70501         Updated fast/css/text-rendering-priority.html to cover all properties that
70502         affect the font.
70503
70504         * css/CSSPropertyNames.in: Moved text-rendering to the â€œhigh priorityâ€\9d section at the top.
70505         * css/CSSStyleSelector.cpp:
70506         (WebCore::CSSStyleSelector::styleForElement): Assert that the font is not dirtied by
70507         applying any of the â€œlow priorityâ€\9d properties, but still handle the case that the assertion
70508         is false.
70509         (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
70510
70511 2010-08-26  Martin Robinson  <mrobinson@igalia.com>
70512
70513         Reviewed by Xan Lopez.
70514
70515         [GTK] The GNUmakefile.am files contain a myriad of confusing preprocessor and compiler flag definitions
70516         https://bugs.webkit.org/show_bug.cgi?id=44624
70517
70518         Clean up GNUmakefile.am.
70519
70520         * GNUmakefile.am: Remove some WebKit includes from webcore_cppflags. These
70521         includes are added to the build line by the top-level GNUmakefile.am, since
70522         WebCore isn't build as an intermediate library.
70523
70524 2010-08-26  Yury Semikhatsky  <yurys@chromium.org>
70525
70526         Unreviewed. Revert r66103 since Qt tests are failing.
70527
70528         * inspector/Inspector.idl:
70529         * inspector/InspectorController.cpp:
70530         (WebCore::InspectorController::inspectedPageDestroyed):
70531         (WebCore::InspectorController::close):
70532         * inspector/InspectorFrontendClient.h:
70533         * inspector/InspectorFrontendHost.cpp:
70534         * inspector/InspectorFrontendHost.h:
70535         * inspector/InspectorFrontendHost.idl:
70536         * inspector/front-end/InspectorFrontendHostStub.js:
70537         * inspector/front-end/inspector.js:
70538         (WebInspector.inspectedPageDestroyed):
70539
70540 2010-08-26  Yury Semikhatsky  <yurys@chromium.org>
70541
70542         Reviewed by Pavel Feldman.
70543
70544         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
70545         https://bugs.webkit.org/show_bug.cgi?id=44230
70546
70547         * inspector/Inspector.idl:
70548         * inspector/InspectorController.cpp:
70549         (WebCore::InspectorController::inspectedPageDestroyed):
70550         (WebCore::InspectorController::close):
70551         * inspector/InspectorFrontendClient.h:
70552         * inspector/InspectorFrontendHost.cpp:
70553         (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
70554         that frontend closes if InspectorController triggered the action.
70555         * inspector/InspectorFrontendHost.h:
70556         * inspector/InspectorFrontendHost.idl:
70557         * inspector/front-end/InspectorFrontendHostStub.js:
70558         (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
70559         * inspector/front-end/inspector.js:
70560         (WebInspector.disconnectFromBackend):
70561
70562 2010-08-26  Ilya Tikhonovsky  <loislo@chromium.org>
70563
70564         Reviewed by Yury Semikhatsky.
70565
70566         WebInspector: It would be better to have an explicit type check for the all
70567         arguments of InspectorBackend functions on front-end side.
70568         https://bugs.webkit.org/show_bug.cgi?id=44684
70569
70570         * inspector/CodeGeneratorInspector.pm:
70571
70572 2010-08-26  Ilya Tikhonovsky  <loislo@chromium.org>
70573
70574         Reviewed by Yury Semikhatsky.
70575
70576         WebInspector: It would be better to rename setBool, pushBool and asBool accessors
70577         to setBoolean, pushBoolean and asBoolean for better matching with the results of
70578         JS typeof operator.
70579         https://bugs.webkit.org/show_bug.cgi?id=44680
70580
70581         * bindings/js/ScriptProfile.cpp:
70582         (WebCore::buildInspectorObjectFor):
70583         * bindings/v8/ScriptProfile.cpp:
70584         (WebCore::buildInspectorObjectFor):
70585         * inspector/CodeGeneratorInspector.pm:
70586         * inspector/InspectorController.cpp:
70587         (WebCore::InspectorController::buildObjectForCookie):
70588         * inspector/InspectorDOMAgent.cpp:
70589         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
70590         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
70591         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
70592         (WebCore::InspectorDOMAgent::buildObjectForRule):
70593         * inspector/InspectorDOMStorageResource.cpp:
70594         (WebCore::InspectorDOMStorageResource::bind):
70595         * inspector/InspectorResource.cpp:
70596         (WebCore::InspectorResource::updateScriptObject):
70597         * inspector/InspectorValues.cpp:
70598         (WebCore::InspectorValue::asBoolean):
70599         (WebCore::InspectorBasicValue::asBoolean):
70600         (WebCore::InspectorBasicValue::asNumber):
70601         (WebCore::InspectorBasicValue::writeJSON):
70602         (WebCore::InspectorObject::getBoolean):
70603         * inspector/InspectorValues.h:
70604         (WebCore::InspectorValue::):
70605         (WebCore::InspectorBasicValue::InspectorBasicValue):
70606         (WebCore::InspectorObject::setBoolean):
70607         (WebCore::InspectorArray::pushBoolean):
70608         * inspector/ScriptBreakpoint.cpp:
70609         (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
70610         (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
70611         * inspector/TimelineRecordFactory.cpp:
70612         (WebCore::TimelineRecordFactory::createTimerInstallData):
70613         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
70614         (WebCore::TimelineRecordFactory::createResourceFinishData):
70615
70616 2010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>
70617
70618         Reviewed by Simon Hausmann.
70619
70620         [Qt] Set the clipRect correctly in windowed and windowless mode.
70621         In Windowed mode, the values are in page coordinates. In Windowless
70622         mode the values are in drawable coordinates. Setting these values is
70623         purely academic since they are not used by Flash. However, there is a
70624         possibility that plugins might infer a 'null' clipRect to mean 'invisible'.
70625
70626         https://bugs.webkit.org/show_bug.cgi?id=44594
70627
70628         * plugins/qt/PluginViewQt.cpp:
70629         (WebCore::PluginView::setNPWindowIfNeeded):
70630
70631 2010-08-26  Pavel Podivilov  <podivilov@chromium.org>
70632
70633         Reviewed by Pavel Feldman.
70634
70635         Web Inspector: enable debugger after resources are pushed to front-end
70636         https://bugs.webkit.org/show_bug.cgi?id=44673
70637
70638         * inspector/InspectorController.cpp:
70639         (WebCore::InspectorController::connectFrontend):
70640         (WebCore::InspectorController::populateScriptObjects):
70641
70642 2010-08-26  Nikolas Zimmermann  <nzimmermann@rim.com>
70643
70644         Reviewed by Dirk Schulze.
70645
70646         text-shadow is not respected in RenderSVGText::repaintRectInLocalCoordinates()
70647         https://bugs.webkit.org/show_bug.cgi?id=44616
70648
70649         Centralize code to calculate the shadow extents in ShadowData.
70650         Respect textShadow() when calculating the repaint rect of RenderSVGText.
70651
70652         Tests: svg/css/composite-shadow-text.svg
70653                transitions/svg-text-shadow-transition.html
70654
70655         * rendering/RenderObject.cpp:
70656         (WebCore::RenderObject::adjustRectForOutlineAndShadow):
70657         * rendering/RenderSVGRoot.cpp:
70658         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
70659         (WebCore::RenderSVGRoot::computeRectForRepaint):
70660         * rendering/RenderSVGText.cpp:
70661         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
70662         * rendering/SVGRenderSupport.cpp:
70663         (WebCore::SVGRenderSupport::computeRectForRepaint):
70664         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
70665         (WebCore::SVGRenderSupport::finishRenderSVGContent):
70666         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
70667         * rendering/style/SVGRenderStyle.cpp:
70668         * rendering/style/SVGRenderStyle.h:
70669         * rendering/style/ShadowData.cpp:
70670         (WebCore::calculateShadowExtent):
70671         (WebCore::ShadowData::adjustRectForShadow):
70672         * rendering/style/ShadowData.h:
70673
70674 2010-08-25  Xan Lopez  <xlopez@igalia.com>
70675
70676         Reviewed by Martin Robinson.
70677
70678         [GTK] Rework event definition in the DOM bindings
70679         https://bugs.webkit.org/show_bug.cgi?id=44597
70680
70681         Define DOM events in the base classes that implement EventTarget,
70682         since theoretically you can dispatch any event to any of those
70683         classes whether it makes sense semantically or not.
70684
70685         All the existing events in WebKit are not listed anywhere in the
70686         IDL files, so we need to have the list in the generator script.
70687
70688         * bindings/scripts/CodeGeneratorGObject.pm:
70689
70690 2010-08-25  Ilya Tikhonovsky  <loislo@chromium.org>
70691
70692         Reviewed by Pavel Feldman.
70693
70694         WebInspector: as far as we have 'seq' property in the each inspector message
70695         it would be better to remove explicit callId argument from Inspector.idl functions
70696         declarations.
70697         https://bugs.webkit.org/show_bug.cgi?id=44617
70698
70699         * WebCore.xcodeproj/project.pbxproj:
70700         * inspector/CodeGeneratorInspector.pm:
70701         * inspector/Inspector.idl:
70702         * inspector/front-end/AuditRules.js:
70703         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
70704         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
70705         * inspector/front-end/BreakpointManager.js:
70706         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
70707         * inspector/front-end/CSSStyleModel.js:
70708         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
70709         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
70710         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
70711         (WebInspector.CSSStyleModel.prototype.addRule):
70712         (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
70713         (WebInspector.CSSStyleModel.prototype.setCSSText):
70714         (WebInspector.CSSStyleModel.prototype.applyStyleText):
70715         * inspector/front-end/DOMAgent.js:
70716         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
70717         (WebInspector.DOMAgent.prototype.setAttributeAsync):
70718         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
70719         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
70720         (WebInspector.ApplicationCache.getApplicationCachesAsync):
70721         (WebInspector.Cookies.getCookiesAsync):
70722         (WebInspector.EventListeners.getEventListenersForNodeAsync):
70723         * inspector/front-end/DOMStorage.js:
70724         (WebInspector.DOMStorage.prototype.getEntries):
70725         (WebInspector.DOMStorage.prototype.setItem):
70726         (WebInspector.DOMStorage.prototype.removeItem):
70727         * inspector/front-end/Database.js:
70728         (WebInspector.Database.prototype.getTableNames):
70729         (WebInspector.Database.prototype.executeSql):
70730         * inspector/front-end/ElementsPanel.js:
70731         (WebInspector.ElementsPanel.prototype.setDocument):
70732         * inspector/front-end/ElementsTreeOutline.js:
70733         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
70734         ():
70735         * inspector/front-end/InjectedScriptAccess.js:
70736         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
70737         (InjectedScriptAccess._installHandler):
70738         * inspector/front-end/MetricsSidebarPane.js:
70739         (WebInspector.MetricsSidebarPane.prototype.update):
70740         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
70741         * inspector/front-end/ProfileView.js:
70742         (WebInspector.CPUProfileView):
70743         * inspector/front-end/ProfilesPanel.js:
70744         * inspector/front-end/ResourcesPanel.js:
70745         (WebInspector.getResourceContent):
70746         * inspector/front-end/ScriptView.js:
70747         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
70748         * inspector/front-end/ScriptsPanel.js:
70749         (WebInspector.ScriptsPanel.prototype.editScriptSource):
70750         * inspector/front-end/inspector.js:
70751         (WebInspector.doLoadedDone):
70752
70753 2010-08-26  Kwang Yul Seo  <skyul@company100.net>
70754
70755         Reviewed by Kent Tamura.
70756
70757         Add ENABLE(INDEXED_DATABASE) guard
70758         https://bugs.webkit.org/show_bug.cgi?id=44659
70759
70760         Build fix for ports with index database disabled.
70761
70762         * storage/IDBKeyPathBackendImpl.cpp:
70763
70764 2010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>
70765
70766         Reviewed by Ariya Hidayat.
70767
70768         [Qt] Replace QLibrary("libgdk-x11-2.0.so.0") with QLibrary("libgdk-x11-2.0", 0)
70769         https://bugs.webkit.org/show_bug.cgi?id=44618
70770
70771         * plugins/qt/PluginViewQt.cpp:
70772         (WebCore::getPluginDisplay):
70773
70774 2010-08-26  Adam Barth  <abarth@webkit.org>
70775
70776         Reviewed by Sam Weinig.
70777
70778         Deploy adoptPtr to WebCore/loader
70779         https://bugs.webkit.org/show_bug.cgi?id=44591
70780
70781         This patch covers the easy cases.  There are a handful of tougher cases
70782         that I'm leaving to a future patch.  I filed one bug about a possible
70783         memory leak and I emailed webkit-dev about some infrastructure we'll
70784         need to tackle some of the harder cases.
70785
70786         * loader/CrossOriginAccessControl.cpp:
70787         (WebCore::createAllowedCrossOriginResponseHeadersSet):
70788         (WebCore::isOnAccessControlResponseHeaderWhitelist):
70789         * loader/DocLoader.cpp:
70790         (WebCore::DocLoader::requestPreload):
70791         * loader/DocumentLoader.cpp:
70792         (WebCore::DocumentLoader::DocumentLoader):
70793         (WebCore::DocumentLoader::addAllArchiveResources):
70794         (WebCore::DocumentLoader::addArchiveResource):
70795         * loader/DocumentThreadableLoader.cpp:
70796         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
70797         (WebCore::DocumentThreadableLoader::didReceiveResponse):
70798         * loader/PingLoader.cpp:
70799         (WebCore::PingLoader::loadImage):
70800         * loader/ProgressTracker.cpp:
70801         (WebCore::ProgressTracker::incrementProgress):
70802         * loader/RedirectScheduler.cpp:
70803         (WebCore::RedirectScheduler::scheduleRedirect):
70804         (WebCore::RedirectScheduler::scheduleLocationChange):
70805         (WebCore::RedirectScheduler::scheduleFormSubmission):
70806         (WebCore::RedirectScheduler::scheduleRefresh):
70807         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
70808         * loader/WorkerThreadableLoader.cpp:
70809         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
70810         * loader/icon/IconDatabase.cpp:
70811         (WebCore::readySQLiteStatement):
70812         * loader/icon/IconLoader.cpp:
70813         (WebCore::IconLoader::create):
70814
70815 2010-08-26  Alejandro G. Castro  <alex@igalia.com>
70816
70817         Reviewed by Dan Bernstein.
70818
70819         shadowSize parameter is used to pass shadow offset in the
70820         GraphicsContext::setShadow and getShadow functions
70821         https://bugs.webkit.org/show_bug.cgi?id=44603
70822
70823         Change the shadowSize parameter ot the functions getShadow and
70824         setShadow in GraphicsContext to shadowOffset which is the current
70825         use of that parameter in the code.
70826
70827         * platform/graphics/GraphicsContext.cpp:
70828         (WebCore::GraphicsContext::setShadow):
70829         (WebCore::GraphicsContext::clearShadow):
70830         (WebCore::GraphicsContext::getShadow):
70831         * platform/graphics/GraphicsContext.h:
70832         * platform/graphics/GraphicsContextPrivate.h:
70833         * platform/graphics/cairo/FontCairo.cpp:
70834         (WebCore::Font::drawGlyphs):
70835         * platform/graphics/cairo/GraphicsContextCairo.cpp:
70836         (WebCore::GraphicsContext::calculateShadowBufferDimensions):
70837         (WebCore::drawPathShadow):
70838         (WebCore::drawBorderlessRectShadow):
70839         (WebCore::GraphicsContext::setPlatformShadow):
70840         * platform/graphics/cairo/ImageCairo.cpp:
70841         (WebCore::BitmapImage::draw):
70842         * platform/graphics/chromium/FontChromiumWin.cpp:
70843         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
70844         (WebCore::Font::drawComplexText):
70845         * platform/graphics/gtk/FontGtk.cpp:
70846         (WebCore::Font::drawComplexText):
70847         * platform/graphics/mac/FontMac.mm:
70848         (WebCore::Font::drawGlyphs):
70849         * platform/graphics/qt/ImageQt.cpp:
70850         (WebCore::BitmapImage::draw):
70851         * platform/graphics/qt/StillImageQt.cpp:
70852         (WebCore::StillImage::draw):
70853         * platform/graphics/qt/GraphicsContextQt:
70854         (WebCore::GraphicsContext::setPlatformShadow):
70855         * platform/graphics/skia/SkiaFontWin.cpp:
70856         (WebCore::windowsCanHandleDrawTextShadow):
70857         * platform/graphics/win/FontCGWin.cpp:
70858         (WebCore::drawGDIGlyphs):
70859         (WebCore::Font::drawGlyphs):
70860         * platform/graphics/wince/GraphicsContextWince.cpp:
70861         (WebCore::GraphicsContext::fillRoundedRect):
70862         (WebCore::GraphicsContext::drawText):
70863
70864 2010-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>
70865
70866         Unreviewed, rolling out r66074.
70867         http://trac.webkit.org/changeset/66074
70868         https://bugs.webkit.org/show_bug.cgi?id=44660
70869
70870         Chromium canary turned red (Requested by yuzo on #webkit).
70871
70872         * bindings/generic/RuntimeEnabledFeatures.cpp:
70873         * bindings/generic/RuntimeEnabledFeatures.h:
70874         * bindings/js/JSXMLHttpRequestCustom.cpp:
70875         (WebCore::JSXMLHttpRequest::responseText):
70876         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
70877         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
70878         * xml/XMLHttpRequest.cpp:
70879         (WebCore::XMLHttpRequest::responseText):
70880         (WebCore::XMLHttpRequest::responseXML):
70881         (WebCore::XMLHttpRequest::open):
70882         (WebCore::XMLHttpRequest::abort):
70883         (WebCore::XMLHttpRequest::clearResponse):
70884         (WebCore::XMLHttpRequest::didFinishLoading):
70885         * xml/XMLHttpRequest.h:
70886         * xml/XMLHttpRequest.idl:
70887
70888 2010-08-25  Mark Rowe  <mrowe@apple.com>
70889
70890         Reviewed by Dan Bernstein.
70891
70892         <rdar://problem/8205479> WebCore's icon database often prevents Safari from being killable via sudden termination
70893
70894         We need to ensure that each call to disableSuddenTermination is balanced by a corresponding call to enableSuddenTermination.
70895         It's possbile for several calls to IconDatabase::wakeSyncThread to correspond to only a single iteration of the loop within
70896         IconDatabase::syncThreadMainLoop. This results in the sudden termination disable count growing without bound rather than
70897         being balanced when the work completes. We can prevent this by ensuring that we only disable sudden termination once for each
70898         corresponding iteration of the sync thread's main loop.
70899
70900         * loader/icon/IconDatabase.cpp:
70901         (WebCore::IconDatabase::IconDatabase):
70902         (WebCore::IconDatabase::wakeSyncThread): Only disable sudden termination if it has not yet been disabled for this iteration of
70903         the sync thread's main loop.
70904         (WebCore::IconDatabase::syncThreadMainLoop): Clear the flag indicating that sudden termination has been disabled after reenabling it
70905         so that future calls to wakeSyncThread disable sudden termination once more.
70906         * loader/icon/IconDatabase.h:
70907
70908 2010-08-25  Michael Nordman  <michaeln@google.com>
70909
70910         Reviewed by David Levin.
70911
70912         https://bugs.webkit.org/show_bug.cgi?id=44133
70913         IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
70914         Adds two new attributes, asBlob and responseBlob.
70915         Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
70916         
70917         No new tests, just adding some stubs.
70918
70919         * bindings/generic/RuntimeEnabledFeatures.cpp:
70920         * bindings/generic/RuntimeEnabledFeatures.h:
70921         (WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
70922         (WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
70923         (WebCore::RuntimeEnabledFeatures::asBlobEnabled):
70924         * bindings/js/JSXMLHttpRequestCustom.cpp:
70925         (WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
70926         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
70927         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
70928         * xml/XMLHttpRequest.cpp:
70929         (WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
70930         (WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
70931         (WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
70932         (WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
70933         (WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
70934         (WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
70935         (WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
70936         (WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
70937         * xml/XMLHttpRequest.h:
70938         (WebCore::XMLHttpRequest::asBlob):
70939         * xml/XMLHttpRequest.idl:
70940
70941 2010-08-24  Victoria Kirst  <vrk@google.com>
70942
70943         Reviewed by Darin Fisher.
70944
70945         Adding a means of communication between WebKit/WebCore and
70946         chromium in order to share video frames. This adds the necessary
70947         WebKit-side classes and methods, but does not actually use them
70948         yet - that will be committed in a separate patch after the
70949         corresponding Chromium side is committed.
70950
70951         https://bugs.webkit.org/show_bug.cgi?id=44539
70952
70953         No new tests, as these new classes/APIs are not yet used.
70954
70955         * platform/graphics/chromium/VideoFrameChromium.h: Added.
70956         (WebCore::VideoFrameChromium::):
70957         * platform/graphics/chromium/VideoFrameProvider.h: Added.
70958         * platform/graphics/chromium/VideoLayerChromium.cpp:
70959         (WebCore::VideoLayerChromium::create):
70960         (WebCore::VideoLayerChromium::VideoLayerChromium):
70961         * platform/graphics/chromium/VideoLayerChromium.h:
70962
70963 2010-08-25  Kenneth Russell  <kbr@google.com>
70964
70965         Reviewed by Simon Fraser.
70966
70967         Source data passed to TypedArray creators should be const
70968         https://bugs.webkit.org/show_bug.cgi?id=44649
70969
70970         Compiled and ran existing WebGL tests to verify.
70971
70972         * html/canvas/Float32Array.cpp:
70973         (WebCore::Float32Array::create):
70974         * html/canvas/Float32Array.h:
70975         * html/canvas/TypedArrayBase.h:
70976         (WebCore::TypedArrayBase::create):
70977
70978 2010-08-25  Eric Seidel  <eric@webkit.org>
70979
70980         Unreviewed, just removing a dead enum.
70981
70982         Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
70983         https://bugs.webkit.org/show_bug.cgi?id=44626
70984
70985         Remove HTMLTagStatus since it's not used anymore.
70986
70987         * html/HTMLElement.h:
70988
70989 2010-08-25  Chris Fleizach  <cfleizach@apple.com>
70990
70991         Reviewed by David Kilzer.
70992
70993         AX: CSS first letter text transform causes crash
70994         https://bugs.webkit.org/show_bug.cgi?id=44352
70995
70996         Test: accessibility/first-letter-text-transform-causes-crash.html
70997
70998         * accessibility/AccessibilityRenderObject.cpp:
70999         (WebCore::nextContinuation):
71000
71001 2010-08-25  Eric Seidel  <eric@webkit.org>
71002
71003         Reviewed by Adam Barth.
71004
71005         Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
71006         https://bugs.webkit.org/show_bug.cgi?id=44626
71007
71008         Serialization is covered by a bunch of tests.  innerHTML behavior is sadly not.
71009         In either case, this is just moving code and should have no functional change.
71010
71011         * editing/markup.cpp:
71012         (WebCore::elementCannotHaveEndTag):
71013         (WebCore::MarkupAccumulator::shouldSelfClose):
71014         (WebCore::MarkupAccumulator::appendEndMarkup):
71015         (WebCore::serializeNodesWithNamespaces):
71016         * html/HTMLAnchorElement.h:
71017         * html/HTMLAreaElement.h:
71018         * html/HTMLBRElement.h:
71019         * html/HTMLBaseElement.h:
71020         * html/HTMLBaseFontElement.h:
71021         * html/HTMLBlockquoteElement.h:
71022         * html/HTMLBodyElement.h:
71023         * html/HTMLCanvasElement.cpp:
71024         * html/HTMLCanvasElement.h:
71025         * html/HTMLDListElement.h:
71026         * html/HTMLDataGridCellElement.h:
71027         * html/HTMLDataGridColElement.h:
71028         * html/HTMLDirectoryElement.h:
71029         * html/HTMLDivElement.h:
71030         * html/HTMLElement.cpp:
71031         (WebCore::HTMLElement::nodeName):
71032         (WebCore::HTMLElement::ieForbidsInsertHTML):
71033         (WebCore::HTMLElement::deprecatedCreateContextualFragment):
71034         (WebCore::HTMLElement::setInnerText):
71035         (WebCore::HTMLElement::setOuterText):
71036         * html/HTMLElement.h:
71037         * html/HTMLEmbedElement.h:
71038         * html/HTMLFontElement.h:
71039         * html/HTMLFormControlElement.h:
71040         * html/HTMLFormElement.h:
71041         * html/HTMLFrameElement.h:
71042         * html/HTMLFrameSetElement.h:
71043         * html/HTMLHRElement.h:
71044         * html/HTMLHeadElement.h:
71045         * html/HTMLHeadingElement.h:
71046         * html/HTMLHtmlElement.h:
71047         * html/HTMLIFrameElement.h:
71048         * html/HTMLImageElement.h:
71049         * html/HTMLInputElement.h:
71050         * html/HTMLIsIndexElement.h:
71051         * html/HTMLLIElement.h:
71052         * html/HTMLLinkElement.h:
71053         * html/HTMLMapElement.h:
71054         * html/HTMLMarqueeElement.h:
71055         * html/HTMLMenuElement.h:
71056         * html/HTMLMetaElement.h:
71057         * html/HTMLModElement.h:
71058         * html/HTMLOListElement.h:
71059         * html/HTMLOptionElement.h:
71060         * html/HTMLParagraphElement.h:
71061         * html/HTMLParamElement.h:
71062         * html/HTMLPlugInElement.h:
71063         * html/HTMLPreElement.h:
71064         * html/HTMLQuoteElement.h:
71065         * html/HTMLScriptElement.h:
71066         * html/HTMLSourceElement.h:
71067         * html/HTMLStyleElement.h:
71068         * html/HTMLTableCaptionElement.h:
71069         * html/HTMLTableCellElement.h:
71070         * html/HTMLTableColElement.cpp:
71071         * html/HTMLTableColElement.h:
71072         * html/HTMLTableElement.h:
71073         * html/HTMLTableRowElement.h:
71074         * html/HTMLTableSectionElement.h:
71075         * html/HTMLUListElement.h:
71076
71077 2010-08-20  Zhenyao Mo  <zmo@google.com>
71078
71079         Reviewed by Kenneth Russell.
71080
71081         WebGL must enforce restrictions even if running on OpenGL ES 2.0
71082         https://bugs.webkit.org/show_bug.cgi?id=42908
71083
71084         * html/canvas/WebGLFramebuffer.cpp:
71085         (WebCore::WebGLFramebuffer::getColorBufferFormat): Get format at given level instead of 0.
71086         * html/canvas/WebGLRenderingContext.cpp: Add two new flags and use them to replace the original isGLES2Compliant().
71087         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
71088         (WebCore::WebGLRenderingContext::bindTexture):
71089         (WebCore::WebGLRenderingContext::blendEquation):
71090         (WebCore::WebGLRenderingContext::blendEquationSeparate):
71091         (WebCore::WebGLRenderingContext::bufferData):
71092         (WebCore::WebGLRenderingContext::bufferSubData):
71093         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
71094         (WebCore::WebGLRenderingContext::clear):
71095         (WebCore::WebGLRenderingContext::copyTexImage2D):
71096         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
71097         (WebCore::WebGLRenderingContext::disable):
71098         (WebCore::WebGLRenderingContext::drawArrays):
71099         (WebCore::WebGLRenderingContext::drawElements):
71100         (WebCore::WebGLRenderingContext::enable):
71101         (WebCore::WebGLRenderingContext::generateMipmap):
71102         (WebCore::WebGLRenderingContext::hint):
71103         (WebCore::WebGLRenderingContext::isEnabled):
71104         (WebCore::WebGLRenderingContext::texImage2DBase):
71105         (WebCore::WebGLRenderingContext::texParameter):
71106         (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
71107         (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
71108         * html/canvas/WebGLRenderingContext.h: Declare two new flags.
71109         * html/canvas/WebGLTexture.cpp: Get format at given level instead of 0.
71110         (WebCore::WebGLTexture::getInternalFormat):
71111         * html/canvas/WebGLTexture.h: Ditto.
71112         * platform/graphics/GraphicsContext3D.h: Add three new flags.
71113         * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
71114         (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
71115         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
71116         * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
71117         (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
71118         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
71119
71120 2010-08-25  Brent Fulgham  <bfulgham@webkit.org>
71121
71122         Build correction, no review.
71123
71124         * WebCore.vcproj/WebCore.vcproj: Add missing implementation
71125           for PlatformRefPtrCairo.
71126
71127 2010-08-25  Cris Neckar  <cdn@chromium.org>
71128
71129         Reviewed by Darin Adler.
71130
71131         Added abort condition for RenderCounters when traversing a detached render tree.
71132         https://bugs.webkit.org/show_bug.cgi?id=43812
71133
71134         Test: fast/css/counters/counter-traverse-object-crash.html
71135
71136         * rendering/RenderCounter.cpp:
71137         (WebCore::findPlaceForCounter):
71138
71139 2010-08-25  Chris Marrin  <cmarrin@apple.com>
71140
71141         Reviewed by Simon Fraser.
71142
71143         https://bugs.webkit.org/show_bug.cgi?id=44629
71144         Add layer consistency checking and fix found crashing bug
71145         
71146         The crash was being caused by some of the calls which mutated
71147         the sublayer list leaving the list in an inconsistent state.
71148         This eventually lead to a crash. It would also lead to visual
71149         artifacts if the crash didn't occur. Added consistency checking
71150         to catch this and any other inconsistencies in the sublayer list.
71151         
71152         The particular bug in this case was caused by clamping an index
71153         for insertion to the current size of the sublayer list. CACF uses
71154         an index equal to the current length to indicate an append operation.
71155         With tiled layers the apparent size of the list is one less than its
71156         actual size (to accomodate the layer which holds the list of tiles)
71157         so this clamping was causing the new layer to get inserted before the
71158         tile parent. The tile parent was then mistaken for a WKCACFLayer and
71159         it eventually tried to deref that layer, causing the crash.
71160         
71161         I also added some protection when destroying a WKCACFLayer. The user data
71162         for the corresponding CACFLayer is now changed to 0xDeadBeef rather than 
71163         null. This allows dangling layers to be more easily identified. This
71164         value is checked and ASSERTed if seen. I also remove the sublayers
71165         on destruction to make the consistency checks work properly while
71166         a layer is being destroyed.
71167
71168         Test: compositing/tiling/crash-reparent-tiled-layer.html
71169
71170         * platform/graphics/win/WKCACFLayer.cpp:
71171         * platform/graphics/win/WKCACFLayer.h:
71172         * platform/graphics/win/WebTiledLayer.cpp:
71173         * platform/graphics/win/WebTiledLayer.h:
71174
71175 2010-08-25  Ryosuke Niwa  <rniwa@webkit.org>
71176
71177         Reviewed by Darin Adler.
71178
71179         WebCore::InsertListCommand::modifyRange infinite loop (100% CPU usage)
71180         https://bugs.webkit.org/show_bug.cgi?id=33668
71181
71182         The bug was caused by enclosingListChild returning a list child whose enclosing list is
71183         a sibling of the current list child. Fixed enclosingListChild to traverse upwards
71184         in the DOM to find the list child which is a sibling of the current list child.
71185         Also fixed adjacentEnclosingList to only returns the list that belongs to the same outer list.
71186
71187         In doApplyForSingleParagraph, if the start or the end of currentSelection existed inside a list content
71188         moved by moveParagraphWithClones, either end could point to a wrong position after the move.
71189         Fixed this problem by checking this condition upfront and restoring later.
71190
71191         In doApply, if moveParagraph or moveParagraphWithClones, endOfSelection or startOfLastParagraph
71192         could be null or orphaned, fixed this problem by indexForVisiblePosition.
71193
71194         Test: editing/execCommand/insert-list-orphaned-item-with-nested-lists.html
71195
71196         * editing/InsertListCommand.cpp:
71197         (WebCore::InsertListCommand::doApply):
71198         (WebCore::enclosingListChild):
71199         (WebCore::InsertListCommand::doApplyForSingleParagraph):
71200         (WebCore::adjacentEnclosingList):
71201         (WebCore::InsertListCommand::listifyParagraph):
71202
71203 2010-08-25  Brent Fulgham  <bfulgham@webkit.org>
71204
71205         Build corrections, no review.
71206
71207         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
71208           Add include for new (missing) "CairoPath.h" class.
71209         * platform/graphics/cairo/PlatformRefPtrCairo.h: Correct
71210           include and compilation guards to match coding conventions.
71211         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
71212           Change implementation to match CG version, using the
71213           FontCustomPlatformData name, rather than the original
71214           FontCustomPlatformDataCairo.
71215         * platform/graphics/win/FontCustomPlatformDataCairo.h:
71216           Same as for the .cpp file.
71217
71218 2010-08-25  Krzysztof Czech  <k.czech@samsung.com>
71219
71220         Reviewed by Kenneth Rohde Christiansen.
71221
71222         [EFL] Crash while calling PopupMenuEfl destructor
71223         https://bugs.webkit.org/show_bug.cgi?id=44497
71224
71225         Condition checks if m_view is defined
71226         before popup is hide
71227
71228         * platform/efl/PopupMenuEfl.cpp:
71229         (WebCore::PopupMenuEfl::~PopupMenuEfl):
71230
71231 2010-08-24  Ryosuke Niwa  <rniwa@webkit.org>
71232
71233         Reviewed by Tony Chang.
71234
71235         Creating a link when selecting multiple nodes creates multiple links
71236         https://bugs.webkit.org/show_bug.cgi?id=30836
71237
71238         The bug was caused by applyInlineStyleToRange calling addInlineStyleIfNeeded
71239         on each inline element. Modified applyInlineStyleToRange to call addInlineStyleIfNeeded
71240         once for all inline elements with the same style difference.
71241
71242         Because this implies that anchor element may wrap other inline elements when added,
71243         modified pushDownInlineStyleAroundNode to push down styled elements.
71244
71245         Removed pushPartiallySelectedAnchorElementsDown from CompositeEditCommand since
71246         ApplyStyleCommand now correctly pushes down anchors at the start and the end of the selection.
71247
71248         Test: editing/execCommand/toggle-link.html
71249
71250         * editing/ApplyStyleCommand.cpp:
71251         (WebCore::StyleChange::operator==): Added.
71252         (WebCore::StyleChange::operator!=): Added.
71253         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Wraps inline elements with
71254         the same style difference by one element instead of wrapping each element separately.
71255         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Extracts styled element.
71256         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Avoids adding styled element.
71257         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Pushes down styled element.
71258         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): No longer checks inline-ness.
71259         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds style even when m_removeOnly.
71260         Callers should set addStyledElement = DoNotAddStyledElement to avoid adding styled element.
71261         * editing/ApplyStyleCommand.h:
71262         * editing/CompositeEditCommand.cpp: Removed pushPartiallySelectedAnchorElementsDown.
71263         * editing/CompositeEditCommand.h: Removed pushPartiallySelectedAnchorElementsDown.
71264         * editing/CreateLinkCommand.cpp:
71265         (WebCore::CreateLinkCommand::doApply): used to call pushPartiallySelectedAnchorElementsDown.
71266         * editing/UnlinkCommand.cpp:
71267         (WebCore::UnlinkCommand::doApply): Used to call pushPartiallySelectedAnchorElementsDown.
71268
71269 2010-08-24  Zhenyao Mo  <zmo@google.com>
71270
71271         Reviewed by Kenneth Russell.
71272
71273         Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
71274         https://bugs.webkit.org/show_bug.cgi?id=38282
71275
71276         Test: fast/canvas/webgl/gl-teximage.html
71277
71278         * platform/graphics/GraphicsContext3D.cpp: Fix a bug where alpha channel is ignored.
71279         * platform/graphics/ImageSource.cpp: Add premultiplyAlpha flag.
71280         (WebCore::ImageSource::ImageSource):
71281         (WebCore::ImageSource::setData):
71282         * platform/graphics/ImageSource.h: Ditto.
71283         * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
71284         (WebCore::ImageSource::ImageSource):
71285         * platform/graphics/qt/ImageDecoderQt.cpp: Ditto.
71286         (WebCore::ImageDecoder::create):
71287         (WebCore::ImageDecoderQt::ImageDecoderQt):
71288         (WebCore::ImageDecoderQt::frameCount):
71289         (WebCore::ImageDecoderQt::forceLoadEverything):
71290         * platform/graphics/qt/ImageDecoderQt.h: Ditto.
71291         * platform/graphics/skia/GraphicsContext3DSkia.cpp: Fix the premultiplyAlpha data loss issue in skia.
71292         (WebCore::GraphicsContext3D::getImageData):
71293         * platform/image-decoders/ImageDecoder.cpp: Add premultiplyAlpha flag.
71294         (WebCore::ImageDecoder::create):
71295         (WebCore::RGBA32Buffer::RGBA32Buffer):
71296         (WebCore::RGBA32Buffer::operator=):
71297         * platform/image-decoders/ImageDecoder.h: Ditto.
71298         (WebCore::RGBA32Buffer::premultiplyAlpha):
71299         (WebCore::RGBA32Buffer::setPremultiplyAlpha):
71300         (WebCore::RGBA32Buffer::setRGBA):
71301         (WebCore::ImageDecoder::ImageDecoder):
71302         * platform/image-decoders/bmp/BMPImageDecoder.cpp: Ditto.
71303         (WebCore::BMPImageDecoder::BMPImageDecoder):
71304         (WebCore::BMPImageDecoder::frameBufferAtIndex):
71305         * platform/image-decoders/bmp/BMPImageDecoder.h: Ditto.
71306         * platform/image-decoders/gif/GIFImageDecoder.cpp: Ditto.
71307         (WebCore::GIFImageDecoder::GIFImageDecoder):
71308         (WebCore::GIFImageDecoder::frameCount):
71309         * platform/image-decoders/gif/GIFImageDecoder.h: Ditto.
71310         * platform/image-decoders/ico/ICOImageDecoder.cpp: Ditto.
71311         (WebCore::ICOImageDecoder::ICOImageDecoder):
71312         (WebCore::ICOImageDecoder::frameCount):
71313         (WebCore::ICOImageDecoder::decodeAtIndex):
71314         * platform/image-decoders/ico/ICOImageDecoder.h: Ditto.
71315         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
71316         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
71317         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
71318         * platform/image-decoders/jpeg/JPEGImageDecoder.h: Ditto.
71319         * platform/image-decoders/png/PNGImageDecoder.cpp: Ditto.
71320         (WebCore::PNGImageDecoder::PNGImageDecoder):
71321         (WebCore::PNGImageDecoder::frameBufferAtIndex):
71322         * platform/image-decoders/png/PNGImageDecoder.h: Ditto.
71323         * platform/image-decoders/skia/ImageDecoderSkia.cpp: Ditto.
71324         (WebCore::RGBA32Buffer::RGBA32Buffer):
71325         (WebCore::RGBA32Buffer::operator=):
71326
71327 2010-08-25  Adam Barth  <abarth@webkit.org>
71328
71329         Reviewed by Eric Seidel.
71330
71331         Remove XBL
71332         https://bugs.webkit.org/show_bug.cgi?id=44621
71333
71334         This patch removes support for XBL.  XBL seems cool, but this code is
71335         old and pretty bitrotten.  If we decide to support XBL in the future,
71336         we can recover this code from this revision.  As it stands, it doesn't
71337         seem worth half-maintaining this code.
71338
71339         * Android.mk:
71340         * CMakeLists.txt:
71341         * GNUmakefile.am:
71342         * WebCore.gypi:
71343         * WebCore.pro:
71344         * WebCore.vcproj/WebCore.vcproj:
71345         * WebCore.xcodeproj/project.pbxproj:
71346         * css/CSSComputedStyleDeclaration.cpp:
71347         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
71348         * css/CSSParser.cpp:
71349         (WebCore::CSSParser::parseValue):
71350         * css/CSSPropertyNames.in:
71351         * css/CSSStyleSelector.cpp:
71352         (WebCore::CSSStyleSelector::applyProperty):
71353         * dom/Document.cpp:
71354         (WebCore::Document::Document):
71355         (WebCore::Document::~Document):
71356         * dom/Document.h:
71357         * loader/Cache.cpp:
71358         (WebCore::createResource):
71359         (WebCore::Cache::getStatistics):
71360         * loader/Cache.h:
71361         * loader/CachedResource.h:
71362         (WebCore::CachedResource::):
71363         * loader/CachedResourceClient.h:
71364         (WebCore::CachedResourceClient::setXSLStyleSheet):
71365         (WebCore::CachedResourceClient::fontLoaded):
71366         * loader/CachedXBLDocument.cpp: Removed.
71367         * loader/CachedXBLDocument.h: Removed.
71368         * loader/DocLoader.cpp:
71369         (WebCore::DocLoader::canRequest):
71370         * loader/DocLoader.h:
71371         * loader/loader.cpp:
71372         (WebCore::cachedResourceTypeToTargetType):
71373         (WebCore::Loader::determinePriority):
71374         * rendering/style/BindingURI.cpp: Removed.
71375         * rendering/style/BindingURI.h: Removed.
71376         * rendering/style/RenderStyle.cpp:
71377         * rendering/style/RenderStyle.h:
71378         * rendering/style/StyleRareNonInheritedData.cpp:
71379         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
71380         (WebCore::StyleRareNonInheritedData::operator==):
71381         * rendering/style/StyleRareNonInheritedData.h:
71382
71383 2010-08-25  Andreas Kling  <andreas.kling@nokia.com>
71384
71385         Reviewed by Ariya Hidayat.
71386
71387         [Qt] GraphicsContext: Construct with the correct default LineJoin (MiterJoin)
71388
71389         We weren't setting it explicitly which caused us to use Qt::MiterJoin when
71390         we actually want Qt::SvgMiterJoin.
71391
71392         Fixes display glitches on the "Monster" chrome experiment among other things.
71393
71394         * platform/graphics/qt/GraphicsContextQt.cpp:
71395         (WebCore::GraphicsContext::GraphicsContext):
71396
71397 2010-08-25  Rafael Antognolli  <antognolli@profusion.mobi>
71398
71399         Unreviewed build fix.
71400
71401         [EFL] Build fix for revision 66024
71402         https://bugs.webkit.org/show_bug.cgi?id=44631
71403
71404         No new features added, so no new tests.
71405
71406         * CMakeListsEfl.txt: change GRefPtrCairo.cpp by PlatformRefPtrCairo.cpp.
71407
71408 2010-08-25  Ryosuke Niwa  <rniwa@webkit.org>
71409
71410         Reviewed by Darin Adler.
71411
71412         Various designmode=&quot;on&quot;/&quot;off&quot; &amp; execCommand(&quot;Undo&quot;) NULL pointer crashes
71413         https://bugs.webkit.org/show_bug.cgi?id=32823
71414
71415         The bug was caused by changeSelectionAfterCommand which updates the selection
71416         without checking the whether new selection is valid or not.
71417
71418         Fixed changeSelectionAfterCommand so that it won't update the selection
71419         when either end of the new selection is orphaned. Also fixed various editing commands
71420         to exit early if either end of the selection is orphaned.
71421
71422         Tests: editing/undo/orphaned-selection-crash-bug32823-1.html
71423                editing/undo/orphaned-selection-crash-bug32823-2.html
71424                editing/undo/orphaned-selection-crash-bug32823-3.html
71425                editing/undo/orphaned-selection-crash-bug32823-4.html
71426
71427         * editing/Editor.cpp:
71428         (WebCore::Editor::changeSelectionAfterCommand): No longer sets orphaned selection.
71429         * editing/VisibleSelection.h:
71430         (WebCore::VisibleSelection::isNonOrphanedRange): Added.
71431         (WebCore::VisibleSelection::isNonOrphanedCaretOrRange): Added.
71432         * editing/DeleteSelectionCommand.cpp:
71433         (WebCore::DeleteSelectionCommand::doApply): Added an early exist. See above.
71434         * editing/FormatBlockCommand.cpp:
71435         (WebCore::FormatBlockCommand::doApply): Ditto.
71436         * editing/IndentOutdentCommand.cpp:
71437         (WebCore::IndentOutdentCommand::doApply): Ditto.
71438         * editing/InsertLineBreakCommand.cpp:
71439         (WebCore::InsertLineBreakCommand::doApply): Ditto.
71440         * editing/InsertListCommand.cpp:
71441         (WebCore::InsertListCommand::doApply): Ditto.
71442         * editing/InsertParagraphSeparatorCommand.cpp:
71443         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
71444         * editing/InsertTextCommand.cpp:
71445         (WebCore::InsertTextCommand::input): Ditto.
71446         * editing/MoveSelectionCommand.cpp:
71447         (WebCore::MoveSelectionCommand::doApply): Ditto.
71448         * editing/RemoveFormatCommand.cpp:
71449         (WebCore::RemoveFormatCommand::doApply): Ditto.
71450         * editing/ReplaceSelectionCommand.cpp:
71451         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
71452         * editing/TypingCommand.cpp:
71453         (WebCore::TypingCommand::doApply): Ditto.
71454         * editing/UnlinkCommand.cpp:
71455         (WebCore::UnlinkCommand::doApply): Ditto.
71456
71457 2010-08-25  Simon Fraser  <simon.fraser@apple.com>
71458
71459         Reviewed by Dan Bernstein.
71460
71461         Flash content draws in front of site's drop down menu at http://www.monster.com/
71462         https://bugs.webkit.org/show_bug.cgi?id=41330
71463         
71464         If an iframe with composited content became overlapped, we failed to
71465         consider that iframe for compositing if it had no RenderLayer, so the layering
71466         would be incorrect.
71467         
71468         Overlap is detected at painting time, but it's bad for FrameView::setIsOverlapped()
71469         to call setNeedsStyleRecalc(), because this would cause subsequent calls to
71470         FrameView::paintContents() in the same painting batch to bail with needsLayout().
71471         
71472         Instead, we do the setNeedsStyleRecalc() from RenderLayerCompositor::notifyIFramesOfCompositingChange(),
71473         so that the parent document has a chance to update style, and give the iframe a RenderLayer.
71474         Then setIsOverlapped() simply needs to schedule a layer update, which we do on a timer.
71475         
71476         When dumping layers via Frame::layerTreeAsText(), if a layer update is pending, then
71477         update the layers.
71478         
71479         Test: compositing/iframes/become-overlapped-iframe.html
71480
71481         * page/Frame.cpp:
71482         (WebCore::Frame::layerTreeAsText):
71483         * page/FrameView.cpp:
71484         (WebCore::FrameView::setIsOverlapped):
71485         * rendering/RenderLayerCompositor.cpp:
71486         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
71487         (WebCore::RenderLayerCompositor::scheduleCompositingLayerUpdate):
71488         (WebCore::RenderLayerCompositor::compositingLayerUpdatePending):
71489         (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
71490         (WebCore::RenderLayerCompositor::updateCompositingLayers):
71491         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
71492         * rendering/RenderLayerCompositor.h:
71493
71494 2010-08-25  Martin Robinson  <mrobinson@igalia.com>
71495
71496         Reviewed by Gustavo Noronha Silva.
71497
71498         Cairo and EFL port shouldn't depend on glib.
71499         https://bugs.webkit.org/show_bug.cgi?id=44354
71500
71501         No new tests as functionality has not changed.
71502
71503         Replace occurrences of GRefPtr and adoptGRef with PlatformRefPtr and
71504         adoptPlatformRef. Rename GRefPtrCairo to PlatformRefPtrCairo.
71505
71506         * GNUmakefile.am:
71507         * platform/Cursor.h:
71508         * platform/graphics/cairo/GRefPtrCairo.cpp: Removed.
71509         * platform/graphics/cairo/GRefPtrCairo.h: Removed.
71510         * platform/graphics/cairo/ImageCairo.cpp:
71511         (WebCore::Image::drawPattern):
71512         * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added.
71513         (WTF::refPlatformPtr):
71514         (WTF::derefPlatformPtr):
71515         * platform/graphics/cairo/PlatformRefPtrCairo.h: Added.
71516         * platform/graphics/gtk/ImageBufferGtk.cpp:
71517         (WebCore::ImageBuffer::toDataURL):
71518         * platform/gtk/ClipboardGtk.cpp:
71519         (WebCore::ClipboardGtk::declareAndWriteDragImage):
71520         * platform/gtk/CursorGtk.cpp:
71521         (WebCore::createNamedCursor):
71522         (WebCore::createCustomCursor):
71523         (WebCore::Cursor::ensurePlatformCursor):
71524         * platform/gtk/DataObjectGtk.h:
71525         * platform/gtk/GRefPtrGtk.cpp:
71526         (WTF::refPlatformPtr):
71527         (WTF::derefPlatformPtr):
71528         * platform/gtk/GRefPtrGtk.h:
71529         * platform/gtk/PasteboardGtk.cpp:
71530         (WebCore::Pasteboard::writeImage):
71531         * platform/gtk/PasteboardHelper.cpp:
71532         (WebCore::PasteboardHelper::dropAtomsForContext):
71533         * platform/gtk/PopupMenuGtk.h:
71534         * platform/gtk/RenderThemeGtk.cpp:
71535         (WebCore::RenderThemeGtk::RenderThemeGtk):
71536         (WebCore::paintMozillaGtkWidget):
71537         * platform/gtk/RenderThemeGtk.h:
71538
71539 2010-08-25  Eric Carlson  <eric.carlson@apple.com>
71540
71541         Reviewed by Alexey Proskuryakov.
71542
71543         HTMLMediaElement.canPlayType must be case insensitive for MIME type.
71544         https://bugs.webkit.org/show_bug.cgi?id=44577
71545
71546         * platform/graphics/MediaPlayer.cpp:
71547         (WebCore::MediaPlayer::load):
71548         (WebCore::MediaPlayer::supportsType):
71549
71550 2010-08-25  Xan Lopez  <xlopez@igalia.com>
71551
71552         Reviewed by Martin Robinson.
71553
71554         [GTK] CodeGeneratorGObject not picking up FEATURE_DEFINES
71555         https://bugs.webkit.org/show_bug.cgi?id=44608
71556
71557         Move FEATURE_DEFINES declaration to the toplevel GNUmakefile.am,
71558         since it's used there now too.
71559
71560         * GNUmakefile.am:
71561
71562 2010-08-25  Dawit Alemayehu  <adawit@kde.org>
71563
71564         Reviewed by Ariya Hidayat.
71565
71566         Proper workaround for missing Gtk initialization in Adobe's flash plugins.
71567         https://bugs.webkit.org/show_bug.cgi?id=44405
71568
71569         * plugins/qt/PluginPackageQt.cpp:
71570         (WebCore::initializeGtk):
71571         (WebCore::PluginPackage::load):
71572
71573 2010-08-25  Ilya Tikhonovsky  <loislo@chromium.org>
71574
71575         Reviewed by Yury Semikhatsky.
71576
71577         WebInspector: InspectorBackendStub.js is not updated when Inspector.idl changes.
71578         https://bugs.webkit.org/show_bug.cgi?id=44604
71579
71580         * WebCore.xcodeproj/project.pbxproj:
71581
71582 2010-08-25  Pavel Podivilov  <podivilov@chromium.org>
71583
71584         Reviewed by Yury Semikhatsky.
71585
71586         Web Inspector: don't stop on DOM breakpoints when all breakpoints are deactivated
71587         https://bugs.webkit.org/show_bug.cgi?id=44509
71588
71589         * bindings/v8/ScriptDebugServer.cpp:
71590         (WebCore::ScriptDebugServer::ScriptDebugServer):
71591         (WebCore::ScriptDebugServer::setBreakpointsActivated):
71592         (WebCore::ScriptDebugServer::breakProgram):
71593         * bindings/v8/ScriptDebugServer.h:
71594         * inspector/InspectorDebuggerAgent.cpp:
71595         (WebCore::InspectorDebuggerAgent::create):
71596
71597 2010-08-25  Yury Semikhatsky  <yurys@chromium.org>
71598
71599         Reviewed by Pavel Feldman.
71600
71601         Web Inspector: lazily request frontend settings instead of pushing them on connect
71602         https://bugs.webkit.org/show_bug.cgi?id=44607
71603
71604         * html/HTMLDocument.cpp:
71605         (WebCore::HTMLDocument::createParser):
71606         * inspector/Inspector.idl:
71607         * inspector/InspectorController.cpp:
71608         (WebCore::InspectorController::getSettings):
71609         (WebCore::InspectorController::connectFrontend):
71610         (WebCore::InspectorController::populateScriptObjects): this method is now called explicitely from the frontend,
71611         it should be gone eventually once all panels request initial data lazily.
71612         * inspector/InspectorController.h:
71613         * inspector/front-end/ProfilesPanel.js:
71614         (WebInspector.ProfilesPanel.prototype.show):
71615         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
71616         (WebInspector.ProfilesPanel.prototype._reset):
71617         * inspector/front-end/Settings.js:
71618         (WebInspector.Settings):
71619         (WebInspector.Settings.initialize.populateApplicationSettings):
71620         (WebInspector.Settings.initialize.populateSessionSettings):
71621         (WebInspector.Settings.initialize):
71622         * inspector/front-end/inspector.js:
71623         (WebInspector.doLoadedDone):
71624
71625 2010-08-25  Pavel Feldman  <pfeldman@chromium.org>
71626
71627         Reviewed by Yury Semikhatsky.
71628
71629         Web Inspector: support checked and disabled context menu items.
71630         https://bugs.webkit.org/show_bug.cgi?id=44612
71631
71632         * platform/ContextMenu.cpp:
71633         (WebCore::ContextMenu::checkOrEnableIfNeeded):
71634
71635 2010-08-25  Pavel Feldman  <pfeldman@chromium.org>
71636
71637         Reviewed by Yury Semikhatsky.
71638
71639         Web Inspector: support disabled and checked context menu items.
71640         https://bugs.webkit.org/show_bug.cgi?id=44601
71641
71642         * bindings/js/JSInspectorFrontendHostCustom.cpp:
71643         (WebCore::JSInspectorFrontendHost::showContextMenu):
71644         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
71645         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
71646         * inspector/front-end/ContextMenu.js:
71647         (WebInspector.ContextMenu.prototype.appendItem):
71648
71649 2010-08-25  Zaheer Ahmad <zaheer.mot@gmail.com>
71650
71651         Reviewed by Xan Lopez.
71652
71653         [GTK] GTK port doesnt compile with video turned off
71654         https://bugs.webkit.org/show_bug.cgi?id=44236
71655
71656         Generate the audio GObject DOM bindings only if video enabled
71657         * WebCore/GNUMakefile.am
71658         * WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
71659         Make the audio code invocation conditional
71660
71661
71662 2010-08-24  Pavel Podivilov  <podivilov@chromium.org>
71663
71664         Reviewed by Pavel Feldman.
71665
71666         Web Inspector: add "Attribute Modified" and "Node Removed" DOM breakpoints
71667         https://bugs.webkit.org/show_bug.cgi?id=44532
71668
71669         Test: inspector/dom-breakpoint.html
71670
71671         * inspector/InspectorDOMAgent.cpp:
71672         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
71673         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
71674         (WebCore::InspectorDOMAgent::didInsertDOMNode):
71675         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
71676         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
71677         * inspector/front-end/DOMAgent.js:
71678         * inspector/front-end/ElementsTreeOutline.js:
71679         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
71680
71681 2010-08-25  Satish Sampath  <satish@chromium.org>
71682
71683         Reviewed by Jeremy Orlow.
71684
71685         Pass the element's bounds to embedder during speech recognition.
71686         https://bugs.webkit.org/show_bug.cgi?id=44427
71687
71688         The embedder would typically want to show a native UI with information, settings etc.
71689         By passing the display bounds of the html element, the embedder can position the
71690         native speech recognition UI appropriately.
71691
71692         * page/SpeechInput.cpp:
71693         (WebCore::SpeechInput::startRecognition):
71694         * page/SpeechInput.h:
71695         * page/SpeechInputClient.h:
71696         * platform/mock/SpeechInputClientMock.cpp:
71697         (WebCore::SpeechInputClientMock::startRecognition):
71698         * platform/mock/SpeechInputClientMock.h:
71699         * rendering/TextControlInnerElements.cpp:
71700         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
71701         (WebCore::InputFieldSpeechButtonElement::detach):
71702
71703 2010-08-25  Yongjun Zhang  <yongjun_zhang@apple.com>
71704
71705         Reviewed by Alexey Proskuryakov.
71706
71707         https://bugs.webkit.org/show_bug.cgi?id=44461
71708         Assertion failure at WebCore/platform/network/CredentialStorage.cpp:85.
71709
71710         Remove the assertion at CredentialStorage.cpp:85 since it is legal to have
71711         multiple forward slashes after the path component.
71712
71713         No test needed.
71714
71715         * platform/network/CredentialStorage.cpp:
71716         (WebCore::protectionSpaceMapKeyFromURL):
71717
71718 2010-08-25  Pavel Feldman  <pfeldman@chromium.org>
71719
71720         Reviewed by Yury Semikhatsky.
71721
71722         Web Inspector: search in Scripts panel brings ui back to original search view.
71723         https://bugs.webkit.org/show_bug.cgi?id=44516
71724
71725         * inspector/front-end/Panel.js:
71726         (WebInspector.Panel.prototype.searchCanceled):
71727         (WebInspector.Panel.prototype.jumpToNextSearchResult):
71728         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
71729         * inspector/front-end/ResourcesPanel.js:
71730         * inspector/front-end/ScriptsPanel.js:
71731         (WebInspector.ScriptsPanel):
71732         (WebInspector.ScriptsPanel.prototype.searchCanceled):
71733         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
71734         (WebInspector.ScriptsPanel.prototype.performSearch):
71735         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
71736         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
71737
71738 2010-08-25  Kent Tamura  <tkent@chromium.org>
71739
71740         Reviewed by Shinichiro Hamaji
71741
71742         <input type=number>: Support auto-repeat by mouse press
71743         https://bugs.webkit.org/show_bug.cgi?id=44476
71744
71745         Like arrow button of scrollbars, spinbuttons of <input
71746         type=number> should continue to increase/decrease their values
71747         while the mouse button is pressed.
71748
71749         No new tests because the new behavior strongly depends on a timer.
71750
71751         * rendering/TextControlInnerElements.cpp:
71752         (WebCore::SpinButtonElement::SpinButtonElement):
71753          Initializes the timer.
71754         (WebCore::SpinButtonElement::defaultEventHandler):
71755          Starts the timer by a mousedown event.
71756         (WebCore::SpinButtonElement::startRepeatingTimer):
71757         (WebCore::SpinButtonElement::stopRepeatingTimer):
71758         (WebCore::SpinButtonElement::repeatingTimerFired):
71759         * rendering/TextControlInnerElements.h:
71760
71761 2010-08-25  Gabor Loki  <loki@webkit.org>
71762
71763         Reviewed by Gavin Barraclough.
71764
71765         Avoid increasing required alignment of target type warning
71766         https://bugs.webkit.org/show_bug.cgi?id=43963
71767
71768         Fix alignment warnings on Qt.
71769
71770         * bridge/qt/qt_runtime.cpp:
71771         (JSC::Bindings::convertQVariantToValue):
71772         * platform/graphics/qt/ImageBufferQt.cpp:
71773         (WebCore::getImageData):
71774         (WebCore::putImageData):
71775         * platform/image-decoders/ImageDecoder.h:
71776         (WebCore::RGBA32Buffer::getAddr):
71777         * platform/text/qt/TextCodecQt.cpp:
71778         (WebCore::TextCodecQt::decode):
71779
71780 2010-08-25  Kent Tamura  <tkent@chromium.org>
71781
71782         Reviewed by Shinichiro Hamaji
71783
71784         Fix a bug that a spin-button doesn't release mouse capturing
71785         https://bugs.webkit.org/show_bug.cgi?id=44411
71786
71787         - LeftButton should be checked only for clickEvent.
71788           Note that this change doesn't change the behavior because
71789           button() value is initialized with LeftButton even for
71790           mousemoveEvent.
71791         - Should pass a SpinButtonElement node to setCapturingMouseEventsNode().
71792
71793         Test: fast/forms/input-spinbutton-capturing.html
71794
71795         * rendering/TextControlInnerElements.cpp:
71796         (WebCore::SpinButtonElement::defaultEventHandler):
71797
71798 2010-08-25  Gabor Loki  <loki@webkit.org>
71799
71800         Reviewed by Gavin Barraclough.
71801
71802         Avoid increasing required alignment of target type warning
71803         https://bugs.webkit.org/show_bug.cgi?id=43963
71804
71805         Fix platform independent alignment warnings.
71806
71807         * loader/CachedMetadata.h:
71808         (WebCore::CachedMetadata::readUnsigned):
71809         * platform/text/TextCodecLatin1.cpp:
71810         (WebCore::TextCodecLatin1::decode):
71811
71812 2010-08-25  Patrick Gansterer  <paroga@paroga.com>
71813
71814         Reviewed by Adam Roben.
71815
71816         Add missing methods at ResourceHandleWin
71817         https://bugs.webkit.org/show_bug.cgi?id=44453
71818
71819         * platform/network/win/ResourceHandleWin.cpp:
71820         (WebCore::ResourceHandle::willLoadFromCache):
71821         (WebCore::prefetchDNS):
71822         (WebCore::ResourceHandle::bufferedData):
71823         (WebCore::ResourceHandle::supportsBufferedData):
71824         (WebCore::ResourceHandle::loadsBlocked):
71825         (WebCore::ResourceHandle::platformSetDefersLoading):
71826
71827 2010-08-25  Adam Barth  <abarth@webkit.org>
71828
71829         Second attempt to fix Qt build
71830
71831         * dom/XMLDocumentParserQt.cpp:
71832         (WebCore::XMLDocumentParser::parseDtd):
71833
71834 2010-08-24  Eric Seidel  <eric@webkit.org>
71835
71836         Reviewed by Adam Barth.
71837
71838         Remove more DTD junk now that the LegacyHTMLDocumentParser is gone
71839         https://bugs.webkit.org/show_bug.cgi?id=44588
71840
71841         Just removing dead code, thus no tests.
71842
71843         * html/HTMLElement.cpp:
71844         (WebCore::HTMLElement::nodeName):
71845         * html/HTMLElement.h:
71846
71847 2010-08-24  Adam Barth  <abarth@webkit.org>
71848
71849         Qt build fix.
71850
71851         * dom/XMLDocumentParserQt.cpp:
71852         (WebCore::XMLDocumentParser::parseStartElement):
71853         (WebCore::XMLDocumentParser::parseProcessingInstruction):
71854         (WebCore::XMLDocumentParser::parseCdata):
71855         (WebCore::XMLDocumentParser::parseComment):
71856         (WebCore::XMLDocumentParser::parseDtd):
71857
71858 2010-08-24  Adam Barth  <abarth@webkit.org>
71859
71860         Reviewed by Eric Seidel.
71861
71862         Delete HTMLElement::checkDTD
71863         https://bugs.webkit.org/show_bug.cgi?id=44563
71864
71865         This function existed to service the LegacyHTMLTreeBuilder.  The new
71866         HTMLTreeBuilder has this logic internalized.  Pulling on this thread
71867         caused me to remove a legacyParserAddChild and to discover some code
71868         that shouldn't be calling these parser-specific APIs.
71869
71870         * dom/ContainerNode.cpp:
71871         (WebCore::ContainerNode::parserAddChild):
71872         (WebCore::ContainerNode::deprecatedParserAddChild):
71873         * dom/ContainerNode.h:
71874         * dom/DOMImplementation.cpp:
71875         (WebCore::DOMImplementation::createDocument):
71876         * dom/Node.cpp:
71877         (WebCore::Node::deprecatedParserAddChild):
71878         * dom/Node.h:
71879         * dom/XMLDocumentParser.cpp:
71880         (WebCore::XMLDocumentParser::enterText):
71881         * dom/XMLDocumentParser.h:
71882         * dom/XMLDocumentParserLibxml2.cpp:
71883         (WebCore::XMLDocumentParser::startElementNs):
71884         (WebCore::XMLDocumentParser::characters):
71885         (WebCore::XMLDocumentParser::processingInstruction):
71886         (WebCore::XMLDocumentParser::cdataBlock):
71887         (WebCore::XMLDocumentParser::comment):
71888         (WebCore::XMLDocumentParser::internalSubset):
71889         * dom/XMLDocumentParserQt.cpp:
71890         (WebCore::XMLDocumentParser::parse):
71891         (WebCore::XMLDocumentParser::parseStartElement):
71892         (WebCore::XMLDocumentParser::parseCharacters):
71893         (WebCore::XMLDocumentParser::parseProcessingInstruction):
71894         (WebCore::XMLDocumentParser::parseCdata):
71895         (WebCore::XMLDocumentParser::parseComment):
71896         (WebCore::XMLDocumentParser::parseDtd):
71897         * html/HTMLDataGridElement.cpp:
71898         * html/HTMLDataGridElement.h:
71899         * html/HTMLDataGridRowElement.cpp:
71900         * html/HTMLDataGridRowElement.h:
71901         * html/HTMLDataListElement.cpp:
71902         * html/HTMLDataListElement.h:
71903         * html/HTMLDocument.cpp:
71904         * html/HTMLDocument.h:
71905         * html/HTMLElement.cpp:
71906         * html/HTMLElement.h:
71907         * html/HTMLFieldSetElement.cpp:
71908         * html/HTMLFieldSetElement.h:
71909         * html/HTMLFrameSetElement.cpp:
71910         * html/HTMLFrameSetElement.h:
71911         * html/HTMLHeadElement.cpp:
71912         * html/HTMLHeadElement.h:
71913         * html/HTMLHeadingElement.cpp:
71914         * html/HTMLHeadingElement.h:
71915         * html/HTMLHtmlElement.cpp:
71916         * html/HTMLHtmlElement.h:
71917         * html/HTMLKeygenElement.cpp:
71918         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
71919         * html/HTMLMapElement.cpp:
71920         * html/HTMLMapElement.h:
71921         * html/HTMLMediaElement.cpp:
71922         * html/HTMLMediaElement.h:
71923         * html/HTMLNoScriptElement.cpp:
71924         * html/HTMLNoScriptElement.h:
71925         * html/HTMLOptGroupElement.cpp:
71926         * html/HTMLOptGroupElement.h:
71927         * html/HTMLOptionElement.cpp:
71928         * html/HTMLOptionElement.h:
71929         * html/HTMLParagraphElement.cpp:
71930         * html/HTMLParagraphElement.h:
71931         * html/HTMLPlugInElement.cpp:
71932         * html/HTMLPlugInElement.h:
71933         * html/HTMLScriptElement.h:
71934         * html/HTMLSelectElement.cpp:
71935         * html/HTMLSelectElement.h:
71936         * html/HTMLStyleElement.h:
71937         * html/HTMLTableColElement.cpp:
71938         * html/HTMLTableColElement.h:
71939         * html/HTMLTableElement.cpp:
71940         * html/HTMLTableElement.h:
71941         * html/HTMLTableRowElement.cpp:
71942         * html/HTMLTableRowElement.h:
71943         * html/HTMLTableSectionElement.cpp:
71944         * html/HTMLTableSectionElement.h:
71945         * html/HTMLTextAreaElement.h:
71946         * html/HTMLTitleElement.h:
71947         * rendering/MediaControlElements.cpp:
71948         (WebCore::MediaControlElement::attachToParent):
71949         (WebCore::MediaControlInputElement::attachToParent):
71950         * rendering/TextControlInnerElements.cpp:
71951         (WebCore::TextControlInnerElement::attachInnerElement):
71952
71953 2010-08-24  Adam Barth  <abarth@webkit.org>
71954
71955         Reviewed by Eric Seidel.
71956
71957         Remove tagPriority
71958         https://bugs.webkit.org/show_bug.cgi?id=44557
71959
71960         This code used to be used by the old parser.  Now it's unused.
71961
71962         * html/HTMLAnchorElement.h:
71963         * html/HTMLAppletElement.h:
71964         * html/HTMLAreaElement.h:
71965         * html/HTMLAudioElement.h:
71966         * html/HTMLBRElement.h:
71967         * html/HTMLBaseElement.h:
71968         * html/HTMLBaseFontElement.h:
71969         * html/HTMLBlockquoteElement.h:
71970         * html/HTMLBodyElement.h:
71971         * html/HTMLCanvasElement.cpp:
71972         * html/HTMLCanvasElement.h:
71973         * html/HTMLDListElement.h:
71974         * html/HTMLDataGridCellElement.h:
71975         * html/HTMLDataGridColElement.h:
71976         * html/HTMLDataGridElement.h:
71977         * html/HTMLDataGridRowElement.h:
71978         * html/HTMLDirectoryElement.h:
71979         * html/HTMLDivElement.h:
71980         * html/HTMLElement.cpp:
71981         * html/HTMLElement.h:
71982         * html/HTMLEmbedElement.h:
71983         * html/HTMLFieldSetElement.h:
71984         * html/HTMLFontElement.h:
71985         * html/HTMLFormControlElement.h:
71986         * html/HTMLFormElement.h:
71987         * html/HTMLFrameElement.h:
71988         * html/HTMLFrameSetElement.h:
71989         * html/HTMLHRElement.h:
71990         * html/HTMLHeadElement.h:
71991         * html/HTMLHeadingElement.h:
71992         * html/HTMLHtmlElement.h:
71993         * html/HTMLIFrameElement.h:
71994         * html/HTMLImageElement.h:
71995         * html/HTMLInputElement.h:
71996         * html/HTMLIsIndexElement.h:
71997         * html/HTMLKeygenElement.h:
71998         * html/HTMLLIElement.h:
71999         * html/HTMLLabelElement.h:
72000         * html/HTMLLinkElement.h:
72001         * html/HTMLMapElement.h:
72002         * html/HTMLMarqueeElement.h:
72003         * html/HTMLMenuElement.h:
72004         * html/HTMLMetaElement.h:
72005         * html/HTMLModElement.h:
72006         * html/HTMLOListElement.h:
72007         * html/HTMLObjectElement.h:
72008         * html/HTMLOptionElement.h:
72009         * html/HTMLParagraphElement.h:
72010         * html/HTMLParamElement.h:
72011         * html/HTMLPreElement.h:
72012         * html/HTMLQuoteElement.h:
72013         * html/HTMLScriptElement.h:
72014         * html/HTMLSelectElement.h:
72015         * html/HTMLSourceElement.h:
72016         * html/HTMLStyleElement.h:
72017         * html/HTMLTableCaptionElement.h:
72018         * html/HTMLTableCellElement.h:
72019         * html/HTMLTableColElement.cpp:
72020         * html/HTMLTableColElement.h:
72021         * html/HTMLTableElement.h:
72022         * html/HTMLTableRowElement.h:
72023         * html/HTMLTableSectionElement.h:
72024         * html/HTMLUListElement.h:
72025         * html/HTMLVideoElement.h:
72026
72027 2010-08-24  Eric Seidel  <eric@webkit.org>
72028
72029         Reviewed by Adam Barth.
72030
72031         Fix one more html5lib test case for button scoping
72032         https://bugs.webkit.org/show_bug.cgi?id=44583
72033
72034         I <3 test driven development.
72035
72036         * html/HTMLTreeBuilder.cpp:
72037         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
72038
72039 2010-08-24  Eric Seidel  <eric@webkit.org>
72040
72041         Reviewed by Adam Barth.
72042
72043         Remove HTML5 parser testing infrastructure now that we don't need it
72044         https://bugs.webkit.org/show_bug.cgi?id=44581
72045
72046         Just removing dead code, no tests.
72047
72048         * dom/DocumentFragment.cpp:
72049         * dom/DocumentFragment.h:
72050         * page/Settings.cpp:
72051         (WebCore::Settings::Settings):
72052         * page/Settings.h:
72053
72054 2010-08-24  Adam Barth  <abarth@webkit.org>
72055
72056         Reviewed by Eric Seidel.
72057
72058         Remove unneeded include in HTMLPreloadScanner
72059         https://bugs.webkit.org/show_bug.cgi?id=44552
72060
72061         Slowly but steadily sweeping up the dust in the HTML parser.
72062
72063         * html/HTMLPreloadScanner.cpp:
72064         * html/HTMLPreloadScanner.h:
72065
72066 2010-08-24  Kinuko Yasuda  <kinuko@chromium.org>
72067
72068         Reviewed by Dumitru Daniliuc.
72069
72070         Implement virtual path utilities for FileSystem API
72071         https://bugs.webkit.org/show_bug.cgi?id=44132
72072
72073         No new tests; tests will be added later. (Each DOMFilePath's method is briefly tested locally.)
72074
72075         * CMakeLists.txt:
72076         * GNUmakefile.am:
72077         * WebCore.gypi:
72078         * WebCore.pro:
72079         * WebCore.vcproj/WebCore.vcproj:
72080         * WebCore.xcodeproj/project.pbxproj:
72081         * storage/DOMFilePath.cpp: Added.
72082         * storage/DOMFilePath.h: Added.
72083
72084 2010-08-24  Adam Barth  <abarth@webkit.org>
72085
72086         Reviewed by Eric Seidel.
72087
72088         HTMLParserScheduler::create
72089         https://bugs.webkit.org/show_bug.cgi?id=44551
72090
72091         * html/HTMLDocumentParser.cpp:
72092         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
72093         * html/HTMLParserScheduler.h:
72094         (WebCore::HTMLParserScheduler::create):
72095
72096 2010-08-24  Daniel Bates  <dbates@rim.com>
72097
72098         Fix code comment as per Darin Adler's suggestion in <https://bugs.webkit.org/show_bug.cgi?id=44486#c2>.
72099         I inadvertently did not update this comment when I landed changeset 65967 <http://trac.webkit.org/changeset/65967>.
72100
72101         * rendering/RenderListMarker.cpp:
72102         (WebCore::listMarkerSuffix):
72103
72104 2010-08-24  Daniel Bates  <dbates@rim.com>
72105
72106         Reviewed by Darin Adler.
72107
72108         Suffix for CSS alphabetic list style types should fallback to
72109         decimal for ordinals outside of their representable range
72110         https://bugs.webkit.org/show_bug.cgi?id=44486
72111
72112         Test: fast/lists/w3-css3-list-styles-fallback-style.html
72113
72114         Fixes an issue where the decimal suffix is not used for
72115         ordinals that cannot be represented by the alphabetic list
72116         style type.
72117
72118         Currently, for ordinals that cannot be represented in the
72119         alphabetic list style we use the suffix associated with the
72120         list style. Instead, we should use the suffix for the decimal
72121         list style ('.'). For instance, when the list style type is
72122         Afar and the starting ordinal is 0, then we fallback to the
72123         decimal list style suffix '.' because 0 cannot be represented
72124         in Afar.
72125
72126         * rendering/RenderListMarker.cpp:
72127         (WebCore::toRoman): Moved bounds check into WebCore::effectiveListMarkerType().
72128         (WebCore::toAlphabetic): Ditto.
72129         (WebCore::toHebrew): Ditto.
72130         (WebCore::toArmenian): Ditto.
72131         (WebCore::toGeorgian): Ditto.
72132         (WebCore::toCJKIdeographic): Ditto.
72133         (WebCore::effectiveListMarkerType): Added.
72134         (WebCore::listMarkerSuffix): Added value parameter to prototype.
72135         Modified to call WebCore::effectiveListMarkerType.
72136         (WebCore::listMarkerText): Modified to call WebCore::effectiveListMarkerType().
72137         (WebCore::RenderListMarker::paint): Modified to pass list item ordinal (i.e. m_listItem->value()) to WebCore::listMarkerSuffix().
72138         (WebCore::RenderListMarker::calcPrefWidths): Ditto.
72139         (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
72140
72141 2010-08-24  Gavin Barraclough  <barraclough@apple.com>
72142
72143         Windows build fix.
72144
72145         * ForwardingHeaders/wtf/DecimalNumber.h: Added.
72146
72147 2010-08-23  Gavin Barraclough  <barraclough@apple.com>
72148
72149         Reviewed by Oliver Hunt.
72150
72151         https://bugs.webkit.org/show_bug.cgi?id=44487
72152
72153         * html/LegacyHTMLTreeBuilder.cpp:
72154         (WebCore::serializeForNumberType):
72155             Update function call to numberToString.
72156
72157 2010-08-24  Eric Seidel  <eric@webkit.org>
72158
72159         Reviewed by Adam Barth.
72160
72161         XMLDocumentParser needs to implement DocumentParser::detach()
72162         https://bugs.webkit.org/show_bug.cgi?id=44533
72163
72164         Test: fast/frames/set-parent-src-synchronously.xhtml
72165
72166         In the example from the page we were accessing document()
72167         after DocumentParser::detach() was called.  To prevent this
72168         I added an ASSERT(m_document) to document(), causing many
72169         test cases to cover the bug shown in bug 44533.
72170
72171         To fix the bug, I implemented XMLDocumentParser::detach()
72172         and had it call clearCurrentNodeStack(), thus making
72173         it impossible for XMLDocumentParser to still have the Document
72174         on the node stack after detach (which was what was causing this bug).
72175
72176         While fixing this, I noticed that XMLDocumentParser may have the
72177         same trouble crashing that the HTMLDocumentParser did when
72178         synchronously deleted from JS (for example by an iframe navigation).
72179         I added a test case to cover this and protected the parser after
72180         the two places it executes scripts.
72181
72182         * dom/DocumentParser.h:
72183         (WebCore::DocumentParser::document):
72184         (WebCore::DocumentParser::isDetached):
72185         * dom/RawDataDocumentParser.h:
72186         (WebCore::RawDataDocumentParser::finish):
72187         * dom/XMLDocumentParser.cpp:
72188         (WebCore::XMLDocumentParser::append):
72189         (WebCore::XMLDocumentParser::detach):
72190         (WebCore::XMLDocumentParser::notifyFinished):
72191         * dom/XMLDocumentParser.h:
72192         * dom/XMLDocumentParserLibxml2.cpp:
72193         (WebCore::XMLDocumentParser::doWrite):
72194         (WebCore::XMLDocumentParser::endElementNs):
72195         (WebCore::XMLDocumentParser::resumeParsing):
72196         * html/HTMLDocumentParser.cpp:
72197         (WebCore::HTMLDocumentParser::pumpTokenizer):
72198         (WebCore::HTMLDocumentParser::willPumpLexer):
72199         (WebCore::HTMLDocumentParser::didPumpLexer):
72200         (WebCore::HTMLDocumentParser::end):
72201         (WebCore::HTMLDocumentParser::endIfDelayed):
72202         (WebCore::HTMLDocumentParser::script):
72203         * html/HTMLViewSourceParser.cpp:
72204         (WebCore::HTMLViewSourceParser::updateTokenizerState):
72205         * html/HTMLViewSourceParser.h:
72206         (WebCore::HTMLViewSourceParser::document):
72207         * loader/ImageDocument.cpp:
72208         (WebCore::ImageDocumentParser::document):
72209
72210 2010-08-24  Patrick Gansterer  <paroga@paroga.com>
72211
72212         Reviewed by Adam Roben.
72213
72214         Add SynchronousLoader for ResourceHandleWin
72215         https://bugs.webkit.org/show_bug.cgi?id=44452
72216
72217         * platform/network/win/ResourceHandleWin.cpp:
72218         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
72219         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
72220         (WebCore::WebCoreSynchronousLoader::didReceiveData):
72221         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
72222         (WebCore::WebCoreSynchronousLoader::didFail):
72223         (WebCore::ResourceHandle::loadResourceSynchronously):
72224
72225 2010-08-24  Ryosuke Niwa  <rniwa@webkit.org>
72226
72227         Unreviewed.
72228
72229         Replaced soft tab indentation by hard tab indentation for LegacyWebArchive.h.
72230
72231         * WebCore.xcodeproj/project.pbxproj:
72232
72233 2010-08-24  Joseph Pecoraro  <joepeck@webkit.org>
72234
72235         Reviewed by Mark Rowe.
72236
72237         Web Inspector: RemoteInspectorFrontend can be renamed to InspectorFrontend
72238         https://bugs.webkit.org/show_bug.cgi?id=44499
72239
72240         Follow-up. No longer generate the RemoteInspectorFrontend files, just
72241         generate the required InspectorFrontend files.
72242
72243         * DerivedSources.make:
72244
72245 2010-08-20  Joseph Pecoraro  <joepeck@webkit.org>
72246
72247         Reviewed by Pavel Feldman.
72248
72249         Web Inspector: Backend Should Provide Full Supported CSS Properties List
72250         https://bugs.webkit.org/show_bug.cgi?id=40886
72251
72252         This allows the backend to send the front-end its complete list of
72253         supported CSS Properties. This is used in CSS Autocompletion and
72254         CSS Syntax Highlighting to show which styles are supported.
72255
72256         * css/makeprop.pl: moved CSS properties to the header file.
72257         * inspector/Inspector.idl: expose getSupportedCSSProperties.
72258         * inspector/InspectorDOMAgent.cpp:
72259         (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
72260         * inspector/InspectorDOMAgent.h:
72261         * inspector/front-end/CSSCompletions.js:
72262         (WebInspector.CSSCompletions._firstIndexOfPrefix): handle a possible error case before properties have loaded.
72263         (WebInspector.CSSCompletions._load): fill up the special array with the received properties.
72264         * inspector/front-end/SourceCSSTokenizer.js:
72265         (WebInspector.SourceCSSTokenizer): use the list of support properties from the backend.
72266         * inspector/front-end/SourceCSSTokenizer.re2js:
72267         * inspector/front-end/inspector.js: request the list of supported CSS properties on load.
72268         (WebInspector.doLoadedDone):
72269
72270 2010-08-24  Adam Barth  <abarth@webkit.org>
72271
72272         Reviewed by Eric Seidel.
72273
72274         Delete LegacyHTMLTreeBuilder
72275         https://bugs.webkit.org/show_bug.cgi?id=44554
72276
72277         There were some free functions in LegacyHTMLTreeBuilder that needed a
72278         new home.  I've put them in HTMLTreeBuilder, but they'll probably need
72279         a better home eventually.
72280
72281         * Android.mk:
72282         * CMakeLists.txt:
72283         * GNUmakefile.am:
72284         * WebCore.gypi:
72285         * WebCore.pro:
72286         * WebCore.vcproj/WebCore.vcproj:
72287         * WebCore.xcodeproj/project.pbxproj:
72288         * dom/Document.cpp:
72289         (WebCore::shouldCreateImplicitHead):
72290         * dom/DocumentParser.h:
72291         * dom/ScriptableDocumentParser.h:
72292         * html/HTMLConstructionSite.cpp:
72293         * html/HTMLFormControlElement.cpp:
72294         (WebCore::HTMLFormControlElement::removedFromTree):
72295         * html/HTMLInputElement.cpp:
72296         * html/HTMLMeterElement.cpp:
72297         * html/HTMLProgressElement.cpp:
72298         * html/HTMLTreeBuilder.cpp:
72299         (WebCore::serializeForNumberType):
72300         (WebCore::parseToDoubleForNumberType):
72301         * html/HTMLTreeBuilder.h:
72302         * html/HTMLViewSourceParser.h:
72303         * html/LegacyHTMLTreeBuilder.cpp: Removed.
72304         * html/LegacyHTMLTreeBuilder.h: Removed.
72305         * html/StepRange.cpp:
72306         * html/ValidityState.cpp:
72307         * rendering/RenderSlider.cpp:
72308
72309 2010-08-24  Pavel Podivilov  <podivilov@chromium.org>
72310
72311         Reviewed by Yury Semikhatsky.
72312
72313         Web Inspector: show DOM breakpoints in sidebar pane
72314         https://bugs.webkit.org/show_bug.cgi?id=44424
72315
72316         * inspector/front-end/BreakpointManager.js:
72317         (WebInspector.BreakpointManager.prototype._setBreakpoint):
72318         (WebInspector.BreakpointManager.prototype._breakpointRemoved):
72319         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
72320         (WebInspector.Breakpoint.prototype.set enabled):
72321         (WebInspector.Breakpoint.prototype.set condition):
72322         (WebInspector.Breakpoint.prototype.remove):
72323         * inspector/front-end/BreakpointsSidebarPane.js:
72324         (WebInspector.BreakpointsSidebarPane):
72325         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
72326         (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
72327         (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
72328         (WebInspector.BreakpointItem):
72329         (WebInspector.BreakpointItem.prototype.element):
72330         (WebInspector.BreakpointItem.prototype.remove):
72331         (WebInspector.BreakpointItem.prototype._checkboxClicked):
72332         (WebInspector.BreakpointItem.prototype._enableChanged):
72333         (WebInspector.BreakpointItem.prototype._removed):
72334         (WebInspector.JSBreakpointItem):
72335         (WebInspector.JSBreakpointItem.prototype._textChanged):
72336         (WebInspector.DOMBreakpointItem):
72337         (WebInspector.DOMBreakpointItem.prototype.compareTo):
72338         * inspector/front-end/DOMAgent.js:
72339         (WebInspector.DOMBreakpointManager):
72340         (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
72341         (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
72342         (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
72343         (WebInspector.DOMBreakpoint):
72344         (WebInspector.DOMBreakpoint.prototype.get enabled):
72345         (WebInspector.DOMBreakpoint.prototype.set enabled):
72346         (WebInspector.DOMBreakpoint.prototype.remove):
72347         * inspector/front-end/ElementsPanel.js:
72348         (WebInspector.ElementsPanel):
72349         (WebInspector.ElementsPanel.prototype.reset):
72350         * inspector/front-end/ElementsTreeOutline.js:
72351         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
72352         * inspector/front-end/ScriptView.js:
72353         (WebInspector.ScriptView):
72354         * inspector/front-end/ScriptsPanel.js:
72355         (WebInspector.ScriptsPanel):
72356         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
72357         (WebInspector.ScriptsPanel.prototype.reset):
72358         * inspector/front-end/SourceFrame.js:
72359         (WebInspector.SourceFrame):
72360         (WebInspector.SourceFrame.prototype.set visible):
72361         (WebInspector.SourceFrame.prototype.addBreakpoint):
72362         (WebInspector.SourceFrame.prototype._breakpointRemoved):
72363         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
72364         (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
72365         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
72366         (WebInspector.SourceFrame.prototype._contextMenu):
72367         (WebInspector.SourceFrame.prototype._mouseDown):
72368         * inspector/front-end/SourceView.js:
72369         (WebInspector.SourceView):
72370         (WebInspector.SourceView.prototype.updateLocalContent):
72371         * inspector/front-end/inspector.js:
72372         (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
72373         (WebInspector.createJSBreakpointsSidebarPane):
72374         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
72375         (WebInspector.createDOMBreakpointsSidebarPane):
72376         (WebInspector.doLoadedDone):
72377
72378 2010-08-24  Stephen White  <senorblanco@chromium.org>
72379
72380         Reviewed by Dumitru Daniliuc.
72381
72382         Speculative fix for layout test failures on Chrome/Linux.
72383         https://bugs.webkit.org/show_bug.cgi?id=44550
72384
72385         Tests fast/canvas/arc-crash.html, fast/canvas/canvas-state-intact-after-putImageData.html, and fast/canvas/toDataURL-supportedTypes.html are failing on Chrome/Linux.  Can't repro the failure locally, but this fix can't hurt.
72386
72387         * html/canvas/CanvasRenderingContext2D.cpp:
72388         (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
72389
72390 2010-08-24  Dumitru Daniliuc  <dumi@chromium.org>
72391
72392         Reviewed by Dimitri Glazkov.
72393
72394         Fix the NodeFilter wrapper and the binding for acceptNode.
72395         https://bugs.webkit.org/show_bug.cgi?id=44542
72396
72397         * bindings/v8/V8DOMWrapper.cpp:
72398         (WebCore::V8DOMWrapper::wrapNativeNodeFilter): This function
72399         should always create a filter. V8NodeFilterCondition::acceptNode()
72400         will check if the given object can be used as a filter, and throw
72401         an exception if it can't.
72402         * bindings/v8/V8NodeFilterCondition.cpp:
72403         (WebCore::V8NodeFilterCondition::acceptNode): Update this binding
72404         to do the same thing that the JS binding does.
72405
72406 2010-08-24  Simon Fraser  <simon.fraser@apple.com>
72407
72408         Reviewed by Tony Chang.
72409
72410         After r65681, caret no longer displays promptly while editing form fields
72411         https://bugs.webkit.org/show_bug.cgi?id=44294
72412         
72413         The caret no longer eagerly updates its rect on every paint, so we have
72414         to manually update it after scrolling the selection into view when
72415         the selection changes.
72416         
72417         Tested by the pixel results of fast/forms/input-text-scroll-left-on-blur.html
72418
72419         * page/Frame.cpp:
72420         (WebCore::Frame::revealSelection):
72421
72422 2010-08-24  Adam Barth  <abarth@webkit.org>
72423
72424         Reviewed by Darin Adler.
72425
72426         Remove redundant call to OwnPtr::clear
72427         https://bugs.webkit.org/show_bug.cgi?id=44548
72428
72429         As pointed out by Darin, this call to clear is not needed.
72430
72431         * editing/TextIterator.cpp:
72432         (WebCore::plainTextToMallocAllocatedBuffer):
72433
72434 2010-08-24  Adam Barth  <abarth@webkit.org>
72435
72436         Reviewed by Eric Seidel.
72437
72438         HTMLTokenizer::create
72439         https://bugs.webkit.org/show_bug.cgi?id=44477
72440
72441         * html/HTMLDocumentParser.cpp:
72442         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
72443         * html/HTMLPreloadScanner.cpp:
72444         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
72445         (WebCore::HTMLPreloadScanner::scan):
72446         (WebCore::HTMLPreloadScanner::processToken):
72447         * html/HTMLPreloadScanner.h:
72448         * html/HTMLTokenizer.h:
72449         (WebCore::HTMLTokenizer::create):
72450         * html/HTMLViewSourceParser.cpp:
72451         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
72452         (WebCore::HTMLViewSourceParser::pumpTokenizer):
72453         (WebCore::HTMLViewSourceParser::updateTokenizerState):
72454         * html/HTMLViewSourceParser.h:
72455
72456 2010-08-24  Adam Barth  <abarth@webkit.org>
72457
72458         Reviewed by Darin Adler.
72459
72460         Remove references to LegacyHTMLTreebuilder from HTMLTreeBuilder
72461         https://bugs.webkit.org/show_bug.cgi?id=44544
72462
72463         * html/HTMLDocumentParser.cpp:
72464         * html/HTMLDocumentParser.h:
72465         * html/HTMLTreeBuilder.cpp:
72466         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
72467         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
72468         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
72469         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
72470         (WebCore::HTMLTreeBuilder::finished):
72471         * html/HTMLTreeBuilder.h:
72472         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
72473
72474 2010-08-24  Xan Lopez  <xlopez@igalia.com>
72475
72476         Try to fix GTK+ build.
72477
72478         Move GTK_API_VERSION_2 define out.
72479
72480         * GNUmakefile.am:
72481
72482 2010-08-24  Simon Fraser  <simon.fraser@apple.com>
72483
72484         Reviewed by Sam Weinig.
72485
72486         TreeWalker traversal order is wrong when skipping and rejecting
72487         https://bugs.webkit.org/show_bug.cgi?id=44377
72488         
72489         TreeWalker's nextSibling() and previousSibling() behaved incorrectly
72490         when traversing down a subtree where all nodes are skipped; it backed all
72491         the way up to the root of the subtree, then jump to the subtree's parentNode.
72492         This would skip later siblings.
72493         
72494         Fix by resetting 'node' when traversing to children so that node = node->parentNode()
72495         gets the correct node later.
72496
72497         Test: fast/dom/TreeWalker/traversal-skip-most.html
72498
72499         * dom/TreeWalker.cpp:
72500         (WebCore::TreeWalker::previousSibling):
72501         (WebCore::TreeWalker::nextSibling):
72502
72503 2010-08-24  Hans Wennborg  <hans@chromium.org>
72504
72505         Reviewed by Steve Block.
72506
72507         Remove null-checks from DeviceOrientationController
72508         https://bugs.webkit.org/show_bug.cgi?id=44504
72509
72510         Remove checks for m_client being NULL from DeviceOrientationController.
72511         It will never be NULL, and this is checked by an ASSERT on construction.
72512
72513         Will be covered by layout tests for device orientation.
72514
72515         * dom/DeviceOrientationController.cpp:
72516         (WebCore::DeviceOrientationController::timerFired):
72517         (WebCore::DeviceOrientationController::addListener):
72518         (WebCore::DeviceOrientationController::removeListener):
72519         (WebCore::DeviceOrientationController::removeAllListeners):
72520
72521 2010-08-24  Stephen White  <senorblanco@chromium.org>
72522
72523         Reviewed by Kenneth Russell.
72524
72525         Fix accelerated 2d canvas with accelerated compositing off.
72526         https://bugs.webkit.org/show_bug.cgi?id=44525
72527
72528         Tested by running with --enable-accelerated-2d-canvas with
72529         --enable-accelerated-compositing off.
72530         ImageBuffer::copyImage changes covered by
72531         LayoutTests/fast/canvas/canvas-pattern-*.html.
72532
72533         * html/HTMLCanvasElement.cpp:
72534         (WebCore::HTMLCanvasElement::paint):
72535         Extend the accelerated compositing check and the readback for
72536         non-accelerated compositing to accelerated 2D canvas also.
72537         * html/canvas/CanvasRenderingContext.cpp:
72538         * html/canvas/CanvasRenderingContext.h:
72539         (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
72540         Move this logic from WebGL to common canvas context code.
72541         * html/canvas/WebGLRenderingContext.h:
72542         Remove implementation of paintsIntoCanvasBuffer.
72543         * platform/graphics/skia/ImageBufferSkia.cpp:
72544         (WebCore::ImageBuffer::copyImage):
72545         When copying the image for patterns, sync the software canvas.
72546         * platform/graphics/skia/PlatformContextSkia.cpp:
72547         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
72548         Use SkDevice::eraseColor() to clear the canvas for mixed mode rendering.
72549
72550 2010-08-24  Adam Barth  <abarth@webkit.org>
72551
72552         Reviewed by Eric Seidel.
72553
72554         Deploy adoptPtr in WebCore/editing
72555         https://bugs.webkit.org/show_bug.cgi?id=44501
72556
72557         * editing/Editor.cpp:
72558         (WebCore::Editor::Editor):
72559         * editing/TextIterator.cpp:
72560         (WebCore::plainTextToMallocAllocatedBuffer):
72561
72562 2010-08-24  Adam Barth  <abarth@webkit.org>
72563
72564         Reviewed by Eric Seidel.
72565
72566         Deploy adoptPtr in WebCore/history
72567         https://bugs.webkit.org/show_bug.cgi?id=44502
72568
72569         * history/HistoryItem.cpp:
72570         (WebCore::HistoryItem::HistoryItem):
72571         (WebCore::HistoryItem::addRedirectURL):
72572
72573 2010-08-24  Adam Barth  <abarth@webkit.org>
72574
72575         Reviewed by Eric Seidel.
72576
72577         Partial deployment of adoptPtr to WebCore/html
72578         https://bugs.webkit.org/show_bug.cgi?id=44507
72579
72580         Deploy adoptPtr to some more places in WebCore/html.  The big chunk
72581         that I haven't done yet is createRenderer, but that's going to be a big
72582         patch unto itself.
72583
72584         * html/HTMLFormCollection.cpp:
72585         (WebCore::HTMLFormCollection::formCollectionInfo):
72586         * html/HTMLFormElement.cpp:
72587         (WebCore::HTMLFormElement::addElementAlias):
72588         * html/HTMLInputElement.cpp:
72589         (WebCore::createTypeMap):
72590         (WebCore::HTMLInputElement::setInputType):
72591         (WebCore::HTMLInputElement::parseMappedAttribute):
72592         (WebCore::HTMLInputElement::attach):
72593         (WebCore::HTMLInputElement::preDispatchEventHandler):
72594         * html/HTMLObjectElement.cpp:
72595         (WebCore::HTMLObjectElement::parseMappedAttribute):
72596         (WebCore::HTMLObjectElement::attach):
72597         * html/HTMLToken.h:
72598         (WebCore::HTMLToken::beginDOCTYPE):
72599         * html/HTMLVideoElement.cpp:
72600         (WebCore::HTMLVideoElement::attach):
72601         (WebCore::HTMLVideoElement::parseMappedAttribute):
72602         * html/ValidityState.h:
72603         (WebCore::ValidityState::create):
72604
72605 2010-08-24  Adam Barth  <abarth@webkit.org>
72606
72607         Reviewed by Eric Seidel.
72608
72609         Partial deployment of adoptPtr to WebCore/html
72610         https://bugs.webkit.org/show_bug.cgi?id=44507
72611
72612         There's a lot of places that need adoptPtr in WebCore/html.  This patch
72613         does some of them.  More will follow.
72614
72615         * html/FileThreadTask.h:
72616         (WebCore::FileThreadTask0::create):
72617         (WebCore::FileThreadTask1::create):
72618         (WebCore::FileThreadTask2::create):
72619         (WebCore::FileThreadTask3::create):
72620         * html/HTMLAreaElement.cpp:
72621         (WebCore::HTMLAreaElement::mapMouseEvent):
72622         * html/HTMLCanvasElement.cpp:
72623         (WebCore::HTMLCanvasElement::getContext):
72624         * html/HTMLElementStack.cpp:
72625         (WebCore::HTMLElementStack::insertAbove):
72626         (WebCore::HTMLElementStack::pushCommon):
72627         * html/HTMLEmbedElement.cpp:
72628         (WebCore::HTMLEmbedElement::parseMappedAttribute):
72629         (WebCore::HTMLEmbedElement::attach):
72630
72631 2010-08-24  Sam Weinig  <sam@webkit.org>
72632
72633         Reviewed by Simon Fraser.
72634
72635         Improve comment for Simon.
72636
72637         * editing/Editor.h:
72638
72639 2010-08-24  Sam Weinig  <sam@webkit.org>
72640
72641         Reviewed by Oliver Hunt.
72642
72643         Paste event fires twice for mac WebKit
72644         <rdar://problem/8094611>
72645         https://bugs.webkit.org/show_bug.cgi?id=44535
72646
72647         The mac implementation of paste in WebKit was accidentally calling 
72648         Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
72649         in Editor::pasteAsPlainText (which is called by -[WebHTMLView paste:]).
72650         Use the new pasteAsPlainTextBypassingDHTML function to bypass the
72651         second call.
72652
72653         Test: editing/pasteboard/paste-event-only-once.html
72654
72655         * WebCore.exp.in:
72656         * editing/Editor.cpp:
72657         (WebCore::Editor::pasteAsPlainTextBypassingDHTML): 
72658         * editing/Editor.h:
72659         Expose a function which just pastes using from the general pasteboard,
72660         bypassing all the checking and DHTML pasting.
72661
72662 2010-08-24  Nate Chapin  <japhet@chromium.org>
72663
72664         Unreviewed.
72665
72666         Chromium build fix (add a #include missing in PingLoader.cpp)
72667
72668         * loader/PingLoader.cpp:
72669
72670 2010-08-24  Nate Chapin  <japhet@chromium.org>
72671
72672         Reviewed by David Levin.
72673
72674         Allow image loads triggered from unload handlers to run entirely
72675         independently of any other loads or navigations.
72676
72677         https://bugs.webkit.org/show_bug.cgi?id=30457
72678
72679         Test: http/tests/navigation/image-load-in-unload-handler.html
72680
72681         * Android.mk:
72682         * CMakeLists.txt:
72683         * GNUmakefile.am:
72684         * WebCore.gypi:
72685         * WebCore.pro:
72686         * WebCore.vcproj/WebCore.vcproj:
72687         * WebCore.xcodeproj/project.pbxproj:
72688         * loader/DocLoader.cpp:
72689         (WebCore::DocLoader::requestImage): Use PingLoader for image
72690             loads in unload handlers.
72691         * loader/FrameLoader.h:
72692         (WebCore::FrameLoader::pageDismissalEventBeingDispatched):
72693         * loader/PingLoader.cpp: Added.
72694         (WebCore::PingLoader::loadImage): Set the appropriate
72695             headers for an image load in unload handler (since we're
72696             not using SubresourceLoader, we need to do this manually here).
72697         (WebCore::PingLoader::PingLoader):
72698         * loader/PingLoader.h: Added.
72699         (WebCore::PingLoader::~PingLoader):
72700         (WebCore::PingLoader::didReceiveResponse):
72701         (WebCore::PingLoader::didReceiveData):
72702         (WebCore::PingLoader::didFinishLoading):
72703         (WebCore::PingLoader::didFail):
72704
72705 2010-08-24  Pavel Feldman  <pfeldman@chromium.org>
72706
72707         Reviewed by Yury Semikhatsky.
72708
72709         Web Inspector: Trace to the style that contributes to
72710         the computed styles panel.
72711         https://bugs.webkit.org/show_bug.cgi?id=44448
72712
72713         Test: inspector/styles-computed-trace.html
72714
72715         * English.lproj/localizedStrings.js:
72716         * inspector/front-end/Section.js:
72717         (WebInspector.Section.prototype.set subtitle):
72718         (WebInspector.Section.prototype.get subtitleAsTextForTest):
72719         * inspector/front-end/StylesSidebarPane.js:
72720         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
72721         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
72722         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
72723         (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
72724         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
72725         (WebInspector.StylePropertiesSection.linkifyUncopyable):
72726         (WebInspector.StylePropertiesSection):
72727         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
72728         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
72729         (WebInspector.StylePropertiesSection.prototype.isPropertyDisabled):
72730         (WebInspector.StylePropertiesSection.prototype.update):
72731         (WebInspector.StylePropertiesSection.prototype.onpopulate):
72732         (WebInspector.ComputedStylePropertiesSection):
72733         (WebInspector.ComputedStylePropertiesSection.prototype.collapse):
72734         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
72735         (WebInspector.ComputedStylePropertiesSection.prototype.update):
72736         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
72737         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
72738         (WebInspector.BlankStylePropertiesSection):
72739         * inspector/front-end/inspector.css:
72740         (.styles-section a::before):
72741         * inspector/front-end/inspector.js:
72742         (WebInspector.documentClick.followLink):
72743         (WebInspector.documentClick):
72744         (WebInspector.linkifyResourceAsNode):
72745
72746 2010-08-24  Daniel Cheng  <dcheng@chromium.org>
72747
72748         Reviewed by Eric Seidel.
72749
72750         [chromium] Generate drag images for HTML elements and selections.
72751         https://bugs.webkit.org/show_bug.cgi?id=43449
72752
72753         We weren't properly generating drag images if an HTML element was set
72754         as the drag feedback image. I also implemented dragImageForSelection
72755         while I was working on this part of the code.
72756
72757         No new tests.
72758
72759         * WebCore.exp.in:
72760         * bindings/objc/DOM.mm:
72761         (-[DOMNode renderedImage]):
72762         * page/Frame.h:
72763         * page/brew/FrameBrew.cpp:
72764         (WebCore::Frame::nodeImage):
72765         * page/chromium/FrameChromium.cpp:
72766         (WebCore::):
72767         (WebCore::Frame::nodeImage):
72768         (WebCore::Frame::dragImageForSelection):
72769         * page/efl/FrameEfl.cpp:
72770         (WebCore::Frame::nodeImage):
72771         * page/gtk/FrameGtk.cpp:
72772         (WebCore::Frame::nodeImage):
72773         * page/haiku/FrameHaiku.cpp:
72774         (WebCore::Frame::nodeImage):
72775         * page/mac/FrameMac.mm:
72776         (WebCore::Frame::nodeImage):
72777         (WebCore::Frame::dragImageForSelection):
72778         * page/qt/FrameQt.cpp:
72779         (WebCore::Frame::nodeImage):
72780         (WebCore::Frame::dragImageForSelection):
72781         * page/win/FrameCGWin.cpp:
72782         (WebCore::Frame::nodeImage):
72783         * page/win/FrameCairoWin.cpp:
72784         (WebCore::Frame::nodeImage):
72785         * page/wince/FrameWince.cpp:
72786         (WebCore::Frame::nodeImage):
72787         * page/wx/FrameWx.cpp:
72788         (WebCore::Frame::nodeImage):
72789         * platform/chromium/ClipboardChromium.cpp:
72790         (WebCore::ClipboardChromium::createDragImage):
72791         * rendering/RenderObject.cpp:
72792         (WebCore::RenderObject::selectionForegroundColor):
72793
72794 2010-08-24  Jeremy Orlow  <jorlow@chromium.org>
72795
72796         Reviewed by Steve Block.
72797
72798         IndexedDB needs to manually delete all objectStore data and indexes
72799         https://bugs.webkit.org/show_bug.cgi?id=44522
72800
72801         Apparently it's only newer versions of SQLite that handle cascade
72802         delete.  The rest silently fail.  So do it manually.
72803
72804         Test: storage/indexeddb/objectstore-removeobjectstore.html
72805
72806         * storage/IDBDatabaseBackendImpl.cpp:
72807         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
72808         (WebCore::doDelete):
72809         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
72810         * storage/IDBDatabaseBackendImpl.h:
72811         * storage/IDBFactoryBackendImpl.cpp:
72812         (WebCore::createTables):
72813         * storage/IDBObjectStoreBackendImpl.cpp:
72814         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
72815         * storage/IDBObjectStoreBackendImpl.h:
72816         (WebCore::IDBObjectStoreBackendImpl::create):
72817         (WebCore::IDBObjectStoreBackendImpl::id):
72818
72819 2010-08-23  Sam Weinig  <sam@webkit.org>
72820
72821         Reviewed by Adam Barth.
72822
72823         Fix for <rdar://problem/8153271> and <rdar://problem/8153288> 
72824         Change behavior of javascript: urls in <embed> and <object> back to 
72825         how they behaved before r50698.
72826
72827         Tests: fast/loader/javascript-url-in-embed.html
72828                fast/loader/javascript-url-in-object.html
72829
72830         * loader/SubframeLoader.cpp:
72831         (WebCore::SubframeLoader::requestFrame):
72832         (WebCore::SubframeLoader::requestObject):
72833         (WebCore::SubframeLoader::loadOrRedirectSubframe):
72834         * loader/SubframeLoader.h:
72835
72836 2010-08-24  Xan Lopez  <xlopez@igalia.com>
72837
72838         Reviewed by Gustavo Noronha.
72839
72840         Update code to compile with latest GTK+ 3.x.
72841
72842         * platform/gtk/gtk2drawing.c:
72843         (TSOffsetStyleGCs):
72844         (moz_gtk_entry_paint):
72845         * plugins/gtk/gtk2xtbin.c:
72846         (gtk_xtbin_new):
72847
72848 2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
72849
72850         Reviewed by Dirk Schulze.
72851
72852         -webkit-svg-shadow doesn't repaint on changes
72853         https://bugs.webkit.org/show_bug.cgi?id=44521
72854
72855         Trivial fix, to make -webkit-svg-shadow react on changes.
72856
72857         Test: svg/css/shadow-changes.svg
72858
72859         * rendering/style/SVGRenderStyle.cpp:
72860         (WebCore::SVGRenderStyle::diff): If 'svgShadow' is not equal, cause a repaint.
72861
72862 2010-08-24  Dirk Schulze  <krit@webkit.org>
72863
72864         Reviewed by Nikolas Zimmermann.
72865
72866         Cg logs "<Error>: CGPathCloseSubpath: no current point. " in lots of tests
72867         https://bugs.webkit.org/show_bug.cgi?id=43026
72868
72869         Check if the path is empty before closing it.
72870
72871         * svg/SVGPathBuilder.cpp:
72872         (WebCore::SVGPathBuilder::moveTo):
72873
72874 2010-08-24  Marcus Bulach  <bulach@chromium.org>
72875
72876         Reviewed by Jeremy Orlow.
72877
72878         Hooks IDBKeyPath with IDBObjectStorage::put.
72879         https://bugs.webkit.org/show_bug.cgi?id=44275
72880
72881         Adds a mechanism to extract an IDBKey from SerializedScriptValue using IDBKeyPath
72882         during IDBObjectStorage::put.
72883
72884         * WebCore.gyp/WebCore.gyp:
72885         * WebCore.gypi:
72886         * platform/chromium/ChromiumBridge.h:
72887         * storage/IDBKeyPathBackendImpl.cpp: Added.
72888         (IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
72889         * storage/IDBKeyPathBackendImpl.h: Added.
72890         * storage/IDBObjectStoreBackendImpl.cpp:
72891         (WebCore::IDBObjectStoreBackendImpl::put):
72892         * storage/chromium/IDBKeyPathBackendImpl.cpp: Added.
72893         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
72894
72895 2010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>
72896
72897         Reviewed by Pavel Feldman.
72898
72899         WebInspector: RemoteInspectorFrontend can be renamed to InspectorFrontend.
72900         The old version of InspectorFrontend was removed some time ago and now
72901         it is possible to rename the new version of inspector frontend class to its
72902         original name.
72903         https://bugs.webkit.org/show_bug.cgi?id=44499
72904
72905         * GNUmakefile.am:
72906         * WebCore.gyp/WebCore.gyp:
72907         * WebCore.pri:
72908         * WebCore.vcproj/WebCore.vcproj:
72909         * WebCore.xcodeproj/project.pbxproj:
72910         * inspector/CodeGeneratorInspector.pm:
72911         * inspector/ConsoleMessage.cpp:
72912         (WebCore::ConsoleMessage::addToFrontend):
72913         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
72914         * inspector/ConsoleMessage.h:
72915         * inspector/InjectedScriptHost.cpp:
72916         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
72917         (WebCore::InjectedScriptHost::frontend):
72918         * inspector/InjectedScriptHost.h:
72919         * inspector/InspectorApplicationCacheAgent.cpp:
72920         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
72921         * inspector/InspectorApplicationCacheAgent.h:
72922         * inspector/InspectorBackend.cpp:
72923         (WebCore::InspectorBackend::dispatchOnInjectedScript):
72924         (WebCore::InspectorBackend::frontend):
72925         * inspector/InspectorBackend.h:
72926         * inspector/InspectorCSSStore.cpp:
72927         * inspector/InspectorCSSStore.h:
72928         * inspector/InspectorController.cpp:
72929         (WebCore::InspectorController::inspectedPageDestroyed):
72930         (WebCore::InspectorController::inspect):
72931         (WebCore::InspectorController::focusNode):
72932         (WebCore::InspectorController::windowVisible):
72933         (WebCore::InspectorController::addConsoleMessage):
72934         (WebCore::InspectorController::clearConsoleMessages):
72935         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
72936         (WebCore::InspectorController::setSearchingForNode):
72937         (WebCore::InspectorController::setMonitoringXHR):
72938         (WebCore::InspectorController::connectFrontend):
72939         (WebCore::InspectorController::show):
72940         (WebCore::InspectorController::showPanel):
72941         (WebCore::InspectorController::close):
72942         (WebCore::InspectorController::disconnectFrontend):
72943         (WebCore::InspectorController::populateScriptObjects):
72944         (WebCore::InspectorController::pruneResources):
72945         (WebCore::InspectorController::didCommitLoad):
72946         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
72947         (WebCore::InspectorController::identifierForInitialRequest):
72948         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
72949         (WebCore::InspectorController::mainResourceFiredLoadEvent):
72950         (WebCore::InspectorController::willSendRequest):
72951         (WebCore::InspectorController::didReceiveResponse):
72952         (WebCore::InspectorController::didReceiveContentLength):
72953         (WebCore::InspectorController::didFinishLoading):
72954         (WebCore::InspectorController::didFailLoading):
72955         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
72956         (WebCore::InspectorController::scriptImported):
72957         (WebCore::InspectorController::enableResourceTracking):
72958         (WebCore::InspectorController::disableResourceTracking):
72959         (WebCore::InspectorController::startTimelineProfiler):
72960         (WebCore::InspectorController::stopTimelineProfiler):
72961         (WebCore::InspectorController::postWorkerNotificationToFrontend):
72962         (WebCore::InspectorController::didCreateWorker):
72963         (WebCore::InspectorController::didDestroyWorker):
72964         (WebCore::InspectorController::selectDatabase):
72965         (WebCore::InspectorController::didOpenDatabase):
72966         (WebCore::InspectorController::didUseDOMStorage):
72967         (WebCore::InspectorController::selectDOMStorage):
72968         (WebCore::InspectorController::enableDebuggerFromFrontend):
72969         (WebCore::InspectorController::enableDebugger):
72970         (WebCore::InspectorController::disableDebugger):
72971         (WebCore::InspectorController::evaluateForTestInFrontend):
72972         * inspector/InspectorController.h:
72973         (WebCore::InspectorController::hasFrontend):
72974         * inspector/InspectorDOMAgent.cpp:
72975         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
72976         * inspector/InspectorDOMAgent.h:
72977         (WebCore::InspectorDOMAgent::create):
72978         * inspector/InspectorDOMStorageResource.cpp:
72979         (WebCore::InspectorDOMStorageResource::bind):
72980         * inspector/InspectorDOMStorageResource.h:
72981         * inspector/InspectorDatabaseResource.cpp:
72982         (WebCore::InspectorDatabaseResource::bind):
72983         * inspector/InspectorDatabaseResource.h:
72984         * inspector/InspectorDebuggerAgent.cpp:
72985         (WebCore::InspectorDebuggerAgent::create):
72986         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
72987         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
72988         (WebCore::InspectorDebuggerAgent::didParseSource):
72989         (WebCore::InspectorDebuggerAgent::failedToParseSource):
72990         (WebCore::InspectorDebuggerAgent::didPause):
72991         (WebCore::InspectorDebuggerAgent::didContinue):
72992         * inspector/InspectorDebuggerAgent.h:
72993         * inspector/InspectorProfilerAgent.cpp:
72994         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
72995         (WebCore::InspectorProfilerAgent::addProfile):
72996         (WebCore::InspectorProfilerAgent::disable):
72997         (WebCore::InspectorProfilerAgent::enable):
72998         (WebCore::InspectorProfilerAgent::resetState):
72999         (WebCore::InspectorProfilerAgent::toggleRecordButton):
73000         * inspector/InspectorProfilerAgent.h:
73001         (WebCore::InspectorProfilerAgent::setFrontend):
73002         * inspector/InspectorResource.cpp:
73003         (WebCore::InspectorResource::updateScriptObject):
73004         (WebCore::InspectorResource::releaseScriptObject):
73005         * inspector/InspectorResource.h:
73006         * inspector/InspectorStorageAgent.cpp:
73007         (WebCore::InspectorStorageAgent::InspectorStorageAgent):
73008         * inspector/InspectorStorageAgent.h:
73009         (WebCore::InspectorStorageAgent::create):
73010         (WebCore::InspectorStorageAgent::frontend):
73011         * inspector/InspectorTimelineAgent.cpp:
73012         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
73013         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
73014         * inspector/InspectorTimelineAgent.h:
73015
73016 2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
73017
73018         Reviewed by Dirk Schulze.
73019
73020         Markers don't render, when applied to a target using vector-effect="non-scaling-stroke"
73021         https://bugs.webkit.org/show_bug.cgi?id=44511
73022
73023         Make fillAndStrokePath a member function of RenderPath, to avoid having to pass the const Path& and this paramters.
73024         Don't leave the GraphicsContext mutated after applying non-scaling-stroke transformation, otherwhise markers will be renderer
73025         in the wrong coordinate space, and thus don't show up anymore.
73026
73027         Test: svg/custom/non-scaling-stroke-markers.svg
73028
73029         * rendering/RenderPath.cpp:
73030         (WebCore::RenderPath::fillAndStrokePath):
73031         (WebCore::RenderPath::paint):
73032         * rendering/RenderPath.h:
73033
73034 2010-08-24  Adam Barth  <abarth@webkit.org>
73035
73036         Reviewed by Kenneth Rohde Christiansen.
73037
73038         Remove wrong code from Qt that's dumping extra markup into the clipboard
73039         https://bugs.webkit.org/show_bug.cgi?id=44506
73040
73041         I have no way of testing this patch, but hopefully it should fix a
73042         bunch of newly failing tests.  This code seems very confused.
73043
73044         * platform/qt/PasteboardQt.cpp:
73045         (WebCore::Pasteboard::writeSelection):
73046
73047 2010-08-24  Pavel Podivilov  <podivilov@chromium.org>
73048
73049         Reviewed by Yury Semikhatsky.
73050
73051         Web Inspector: fix gcc warnings introduced in 65731
73052         https://bugs.webkit.org/show_bug.cgi?id=44468
73053
73054         * inspector/InspectorDOMAgent.cpp:
73055         (WebCore::InspectorDOMAgent::didInsertDOMNode):
73056         (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
73057
73058 2010-08-24  Ariya Hidayat  <ariya@sencha.com>
73059
73060         Reviewed by Simon Hausmann.
73061
73062         [Qt] Blur shadow for rectangle fill
73063         https://bugs.webkit.org/show_bug.cgi?id=44488
73064
73065         Refactor fillRect() function to support blur radius in the shadow.
73066
73067         * platform/graphics/qt/GraphicsContextQt.cpp:
73068         (WebCore::GraphicsContext::fillRect):
73069
73070 2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
73071
73072         Reviewed by Dirk Schulze
73073
73074         clip-path does not work inside mask element
73075         https://bugs.webkit.org/show_bug.cgi?id=41428
73076
73077         Add new tests covering nesting of clippers and maskers, with different unitTypes for the content coordinate system.
73078         Scale all ImageBuffer content to take into account that ImageBuffers use integer based sizes, where the content
73079         is floating-point sized. This compensates rounded errors, when scaling the document.
73080
73081         Tests: svg/clip-path/clip-in-mask-objectBoundingBox.svg
73082                svg/clip-path/clip-in-mask-userSpaceOnUse.svg
73083                svg/clip-path/clip-in-mask.svg
73084                svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg
73085                svg/clip-path/deep-nested-clip-in-mask-panning.svg
73086                svg/clip-path/deep-nested-clip-in-mask.svg
73087                svg/clip-path/nested-clip-in-mask-image-based-clipping.svg
73088                svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg
73089                svg/clip-path/nested-clip-in-mask-path-based-clipping.svg
73090
73091         * rendering/RenderSVGResourceClipper.cpp:
73092         (WebCore::RenderSVGResourceClipper::applyResource): Return the value of applyClippingToContext, instead of always true.
73093         (WebCore::RenderSVGResourceClipper::applyClippingToContext): Moved some code from createClipData, to avoid having to pass 5 arguments to createClipData.
73094         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Renamed from createClipData.
73095         * rendering/RenderSVGResourceClipper.h:
73096         * rendering/RenderSVGResourceGradient.cpp:
73097         (WebCore::createMaskAndSwapContextForTextGradient): Pass absoluteTargetRect to createImageBuffer.
73098         (WebCore::clipToTextMask): Ditto.
73099         * rendering/RenderSVGResourceMasker.cpp:
73100         (WebCore::RenderSVGResourceMasker::applyResource): Ditto.
73101         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Pass content transformation to renderSubtreeToImageBuffer, to support nesting objectBoundingBox resources.
73102         * rendering/RenderSVGResourcePattern.cpp:
73103         (WebCore::RenderSVGResourcePattern::applyResource): Adapt to calculateTransformationToOutermostSVGCoordinateSystem changes. AffineTransform is now passed as reference.
73104         (WebCore::RenderSVGResourcePattern::createTileImage): ImageBuffer content scaling is now handled by createImageBuffer.
73105         * rendering/SVGImageBufferTools.cpp:
73106         (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): Renamed. Don't return an AffineTransform copy, but instead pass it as reference.
73107         (WebCore::SVGImageBufferTools::createImageBuffer): Always scale the ImageBuffer content, to compensate rounding effects (code was only present in patterns so far).
73108                                                            Now also needs the 'absoluteTargetRect' parameter, not only 'clampedAbsoluteTargetRect'.
73109         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): Moved from SVGRenderSupport.
73110         (WebCore::SVGImageBufferTools::clipToImageBuffer): Pass ImageBuffer as OwnPtr reference, to allow to clear it under certain circumstances (see comment).
73111         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): Remove AffineTransform parameter, absoluteTargetRect is calculated before passing into this function.
73112         * rendering/SVGImageBufferTools.h:
73113         * rendering/SVGRenderSupport.cpp:
73114         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Important change, respect the RenderSVGResourceClipper::applyResource() return value!
73115         * rendering/SVGRenderSupport.h:
73116         * svg/SVGFEImageElement.cpp:
73117         (WebCore::SVGFEImageElement::build): renderSubtreeToImage now lives in SVGImageBufferTools, adapt code.
73118
73119 2010-08-24  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
73120
73121         Reviewed by Jeremy Orlow.
73122
73123         [IndexedDB] IDBTransaction is missing the implementation for objectStore method
73124         https://bugs.webkit.org/show_bug.cgi?id=44446
73125
73126         * storage/IDBDatabaseBackendImpl.cpp:
73127         (WebCore::IDBDatabaseBackendImpl::transaction):
73128         * storage/IDBTransactionBackendImpl.cpp:
73129         (WebCore::IDBTransactionBackendImpl::create):
73130         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
73131         (WebCore::IDBTransactionBackendImpl::objectStore):
73132         * storage/IDBTransactionBackendImpl.h:
73133         * storage/IDBTransactionCoordinator.cpp:
73134         (WebCore::IDBTransactionCoordinator::createTransaction):
73135         * storage/IDBTransactionCoordinator.h:
73136
73137 2010-08-24  Andreas Kling  <andreas.kling@nokia.com>
73138
73139         Reviewed by Tor Arne Vestbø.
73140
73141         Disallow setting Document.xmlVersion to unsupported versions
73142         https://bugs.webkit.org/show_bug.cgi?id=44494
73143
73144         Added XMLDocumentParser::supportsXMLVersion() - only returns true for "1.0"
73145         in both implementations.
73146
73147         * dom/Document.cpp:
73148         (WebCore::Document::setXMLVersion): Throw NOT_SUPPORTED_ERR
73149         if XMLDocumentParser::supportsXMLVersion() returns false for the version.
73150         * dom/XMLDocumentParser.h:
73151         * dom/XMLDocumentParserLibxml2.cpp:
73152         (WebCore::XMLDocumentParser::supportsXMLVersion):
73153         * dom/XMLDocumentParserQt.cpp:
73154         (WebCore::XMLDocumentParser::supportsXMLVersion):
73155
73156 2010-08-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
73157
73158         Reviewed by Simon Hausmann.
73159
73160         [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
73161         https://bugs.webkit.org/show_bug.cgi?id=31273
73162
73163         On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
73164         WebKit headers are included before platform headers. On all other
73165         platforms continue to use INCLUDEPATH (as before).
73166
73167         This patch also removed the workarounds that are put in place 
73168         now that we have a better solution.
73169
73170         No new tests as there is no new functionality.
73171
73172         * WebCore.pro:
73173
73174 2010-08-24  Ariya Hidayat  <ariya@sencha.com>
73175
73176         Reviewed by Kenneth Rohde Christiansen.
73177
73178         [Qt] Support text-shadow blur
73179         https://bugs.webkit.org/show_bug.cgi?id=19728
73180
73181         Implement blur for text shadow using the shadow layer in r65782.
73182
73183         * platform/graphics/qt/ContextShadow.cpp:
73184         (WebCore::ContextShadow::beginShadowLayer):
73185         * platform/graphics/qt/FontQt.cpp:
73186         (WebCore::drawTextCommon):
73187
73188 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
73189
73190         Reviewed by Tor Arne Vestbø.
73191
73192         setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
73193         https://bugs.webkit.org/show_bug.cgi?id=44432
73194
73195         Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
73196
73197         * dom/Element.cpp:
73198         (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
73199         and the qualifiedName has a prefix.
73200
73201 2010-08-24  Adam Barth  <abarth@webkit.org>
73202
73203         Build fix.  leakPtr doesn't exist, contrary to my dreams.
73204
73205         * storage/IDBKeyTree.h:
73206         (WebCore::::put):
73207         * storage/IDBPendingTransactionMonitor.cpp:
73208         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
73209
73210 2010-08-24  Adam Barth  <abarth@webkit.org>
73211
73212         Reviewed by Eric Seidel.
73213
73214         Deploy adoptPtr in WebCore/storage
73215         https://bugs.webkit.org/show_bug.cgi?id=44491
73216
73217         There are still some naked news for a future patch.  The next step is
73218         to make create methods.
73219
73220         * storage/Database.cpp:
73221         (WebCore::DatabaseCreationCallbackTask::create):
73222         (WebCore::DerefContextTask::create):
73223         (WebCore::DeliverPendingCallbackTask::create):
73224         * storage/DatabaseSync.cpp:
73225         (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
73226         * storage/DatabaseTask.h:
73227         (WebCore::Database::DatabaseOpenTask::create):
73228         (WebCore::Database::DatabaseCloseTask::create):
73229         (WebCore::Database::DatabaseTransactionTask::create):
73230         (WebCore::Database::DatabaseTableNamesTask::create):
73231         * storage/DatabaseThread.cpp:
73232         (WebCore::DatabaseThread::DatabaseThread):
73233         * storage/DatabaseTracker.cpp:
73234         (WebCore::DatabaseTracker::populateOrigins):
73235         (WebCore::DatabaseTracker::addOpenDatabase):
73236         * storage/IDBKeyTree.h:
73237         (WebCore::::put):
73238         * storage/IDBPendingTransactionMonitor.cpp:
73239         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
73240         * storage/LocalStorageTask.h:
73241         (WebCore::LocalStorageTask::createImport):
73242         (WebCore::LocalStorageTask::createSync):
73243         (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
73244         (WebCore::LocalStorageTask::createTerminate):
73245         * storage/LocalStorageThread.cpp:
73246         (WebCore::LocalStorageThread::create):
73247         * storage/SQLTransaction.cpp:
73248         (WebCore::SQLTransaction::openTransactionAndPreflight):
73249         * storage/SQLTransactionSync.cpp:
73250         (WebCore::SQLTransactionSync::SQLTransactionSync):
73251         (WebCore::SQLTransactionSync::begin):
73252         * storage/StorageNamespaceImpl.cpp:
73253         (WebCore::StorageNamespaceImpl::copy):
73254
73255 2010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>
73256
73257         Reviewed by Yury Semikhatsky.
73258
73259         WebInspector: setAttachedWindow was modified at r65809 but it should be implemented another way.
73260         https://bugs.webkit.org/show_bug.cgi?id=44493
73261
73262         * inspector/Inspector.idl:
73263         * inspector/InspectorController.cpp:
73264         * inspector/InspectorController.h:
73265         * inspector/InspectorFrontendClientLocal.cpp:
73266         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
73267
73268 2010-08-23  Eric Seidel  <eric@webkit.org>
73269
73270         Reviewed by Adam Barth.
73271
73272         Use new HTML5 TreeBuilder for fragment parsing
73273         https://bugs.webkit.org/show_bug.cgi?id=44475
73274
73275         The HTML5 TreeBuilder is ready to be used for all parsing
73276         including fragments!  This is the last change to move trunk
73277         off of the LegacyHTMLTreeBuilder.  We'll go through and
73278         delete the thousands of lines of code supporting the old
73279         parser in a separate patch.
73280
73281         This is covered by many layout tests.
73282
73283         * html/HTMLTreeBuilder.cpp:
73284
73285 2010-08-23  Adam Barth  <abarth@webkit.org>
73286
73287         Reviewed by Eric Seidel.
73288
73289         HTMLScriptRunner::create
73290         https://bugs.webkit.org/show_bug.cgi?id=44474
73291
73292         * html/HTMLDocumentParser.cpp:
73293         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
73294         * html/HTMLScriptRunner.h:
73295         (WebCore::HTMLScriptRunner::create):
73296
73297 2010-08-23  Adam Barth  <abarth@webkit.org>
73298
73299         Reviewed by Eric Seidel.
73300
73301         HTMLTreeBuilder should use adoptPtr
73302         https://bugs.webkit.org/show_bug.cgi?id=44473
73303
73304         We should really use this pattern everywhere.
73305
73306         * html/HTMLDocumentParser.cpp:
73307         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
73308         * html/HTMLTreeBuilder.h:
73309         (WebCore::HTMLTreeBuilder::create):
73310
73311 2010-08-23  Patrick Gansterer  <paroga@paroga.com>
73312
73313         Reviewed by Adam Roben.
73314
73315         Set the ResourceResponse HTTP headers in RessourceHandleWin
73316         https://bugs.webkit.org/show_bug.cgi?id=44444
73317
73318         * platform/network/win/ResourceHandleWin.cpp:
73319         (WebCore::queryHTTPHeader):
73320         (WebCore::ResourceHandle::onRequestComplete):
73321
73322 2010-08-23  Patrick Gansterer  <paroga@paroga.com>
73323
73324         Reviewed by Adam Roben.
73325
73326         Support all available biBitCount values in BitmapInfo
73327         https://bugs.webkit.org/show_bug.cgi?id=43724
73328
73329         Add an enum with all possible values for biBitCount.
73330         Also remove explicit initialization of bmiHeader members,
73331         because that is already done in the constructor.
73332
73333         * platform/win/BitmapInfo.cpp: Added property svn:eol-style.
73334         (WebCore::bitmapInfoForSize):
73335         (WebCore::BitmapInfo::create):
73336         (WebCore::BitmapInfo::createBottomUp):
73337         * platform/win/BitmapInfo.h: Added property svn:eol-style.
73338         (WebCore::BitmapInfo::):
73339         (WebCore::BitmapInfo::bytesPerLine):
73340         (WebCore::BitmapInfo::paddedBytesPerLine):
73341         (WebCore::BitmapInfo::paddedWidth):
73342         * platform/win/PopupMenuWin.cpp:
73343         (WebCore::PopupMenuWin::paint):
73344
73345 2010-08-23  Kent Tamura  <tkent@chromium.org>
73346
73347         Unreviewed, build fix for r65852.
73348
73349         * rendering/RenderTextControlSingleLine.cpp:
73350         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
73351         * rendering/TextControlInnerElements.cpp:
73352         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
73353         (WebCore::InputFieldSpeechButtonElement::create):
73354         * rendering/TextControlInnerElements.h:
73355
73356 2010-08-23  Ryosuke Niwa  <rniwa@webkit.org>
73357
73358         Reviewed by Eric Seidel.
73359
73360         MarkupAccumulator::appendStartMarkup should be broken down into pieces
73361         https://bugs.webkit.org/show_bug.cgi?id=44288
73362
73363         Extracted appendText, appendComment, appendProcessingInstruction, appendElement and appendCDATASection.
73364         Also simplified the conditionals in appendText.
73365
73366         No new tests are added since this is a cleanup.
73367
73368         * editing/markup.cpp:
73369         (WebCore::MarkupAccumulator::appendText):
73370         (WebCore::MarkupAccumulator::appendComment):
73371         (WebCore::MarkupAccumulator::appendProcessingInstruction):
73372         (WebCore::MarkupAccumulator::appendElement):
73373         (WebCore::MarkupAccumulator::appendCDATASection):
73374         (WebCore::MarkupAccumulator::appendStartMarkup):
73375
73376 2010-08-23  Simon Fraser  <simon.fraser@apple.com>
73377
73378         Reviewed by Alexey Proskuryakov.
73379
73380         TreeWalker is not calling acceptNode function in filter object
73381         https://bugs.webkit.org/show_bug.cgi?id=35296
73382         
73383         Fix incorrect shadowing of the 'function' variable, which could result
73384         in badness when asking for arguments.callee.
73385
73386         * bindings/js/JSNodeFilterCondition.cpp:
73387         (WebCore::JSNodeFilterCondition::acceptNode):
73388
73389 2010-08-23  Darin Adler  <darin@apple.com>
73390
73391         Reviewed by Geoff Garen.
73392
73393         Changed type of Node::parentNode to ContainerNode so we don't have to cast,
73394         since parent are all containers.
73395
73396         * css/CSSStyleSelector.h: Changed m_parentNode to ContainerNode*.
73397
73398         * dom/Document.h: Fixed the type of TreeShared in the Node constructor.
73399         Yes, it's here.
73400
73401         * dom/Node.cpp:
73402         (WebCore::Node::eventParentNode): Removed now-unneeded typecast dance.
73403         (WebCore::eventTargetAsSVGElementInstance):Changed type to ContainerNode*.
73404
73405         * dom/Node.h: Made Node inherit from TreeShared<ContainerNode> instead of
73406         from TreeShared<Node>. Removed bogus comment. Changed return type of parentNode
73407         and shadowParentNode functions to ContainerNode*. Fixed using to use
73408         TreeShared<ContainerNode>.
73409
73410         * dom/Position.h: Include ContainerNode.h instead of Node.h.
73411
73412         * html/HTMLConstructionSite.cpp:
73413         (WebCore::HTMLConstructionSite::findFosterSite): Removed now-unneeded typecast.
73414
73415         * rendering/MediaControlElements.h:
73416         * rendering/SVGShadowTreeElements.h:
73417         * rendering/TextControlInnerElements.h:
73418         Changed return type of shadowParentNode functions to ContainerNode.
73419
73420         * rendering/RenderMeter.cpp:
73421         (WebCore::RenderMeter::updatePartsState): Cast the node to HTMLElement* before
73422         passing it to the function that creates the shadow element. We know the node is
73423         a HTMLMeterElement, but the node function doesn't know that.
73424         * rendering/RenderProgress.cpp:
73425         (WebCore::RenderProgress::updatePartsState): Ditto.
73426         * rendering/RenderSlider.cpp:
73427         (WebCore::SliderThumbElement::SliderThumbElement): More of the same.
73428         (WebCore::SliderThumbElement::create): Ditto.
73429         (WebCore::RenderSlider::updateFromElement): Ditto.
73430         * rendering/RenderTextControl.cpp:
73431         (WebCore::RenderTextControl::createSubtreeIfNeeded): Ditto.
73432         * rendering/RenderTextControlSingleLine.cpp:
73433         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Ditto.
73434         * rendering/SVGShadowTreeElements.cpp:
73435         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Ditto.
73436         (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto.
73437         * rendering/ShadowElement.cpp:
73438         (WebCore::ShadowBlockElement::create): Ditto.
73439         (WebCore::ShadowBlockElement::ShadowBlockElement): Ditto.
73440         (WebCore::ShadowBlockElement::createForPart): Ditto.
73441         (WebCore::ShadowInputElement::create): Ditto.
73442         (WebCore::ShadowInputElement::ShadowInputElement): Ditto.
73443         * rendering/ShadowElement.h:
73444         (WebCore::ShadowElement::ShadowElement): Ditto.
73445         (WebCore::ShadowElement::shadowParent): Ditto.
73446         (WebCore::ShadowElement::shadowParentNode): Ditto.
73447         * rendering/TextControlInnerElements.cpp:
73448         (WebCore::TextControlInnerElement::TextControlInnerElement): Ditto.
73449         (WebCore::TextControlInnerElement::create): Ditto.
73450         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): Ditto.
73451         (WebCore::TextControlInnerTextElement::create): Ditto.
73452         (WebCore::SpinButtonElement::SpinButtonElement): Ditto.
73453         (WebCore::SpinButtonElement::create): Ditto.
73454
73455         * svg/SVGElement.cpp:
73456         (WebCore::SVGElement::eventParentNode): Removed now-unneeded typecast.
73457
73458         * svg/SVGStyledElement.cpp:
73459         (WebCore::SVGStyledElement::title): Changed type to ContainerNode*.
73460
73461 2010-08-23  Martin Robinson  <mrobinson@igalia.com>
73462
73463         Reviewed by Gustavo Noronha Silva.
73464
73465         [GTK] The Mozilla theme drawing code incorrectly renders scrollbar backgrounds
73466         https://bugs.webkit.org/show_bug.cgi?id=44388
73467
73468         No new tests as this functionality is currently unused. When the
73469         the new scrollbar theme code lands for GTK+, this will be tested
73470         by scrollbar pixel tests.
73471
73472         * platform/gtk/gtk2drawing.c: Expose a method to paint scrolled window
73473         backgrounds and disable incorrect rendering of scrollbar trough backgrounds.
73474         (moz_gtk_scrolled_window_paint): Added.
73475         (moz_gtk_scrollbar_trough_paint): Disable incorrect background render.
73476         * platform/gtk/gtkdrawing.h: Add scrolled window widget type in the enum.
73477
73478 2010-08-23  Martin Robinson  <mrobinson@igalia.com>
73479
73480         Reviewed by Gustavo Noronha Silva.
73481
73482         [GTK] The Mozilla theme drawing API should expose extra information about scrollbar geometry
73483         https://bugs.webkit.org/show_bug.cgi?id=44385
73484
73485         Expose the trough_under_steppers property in MozGtkScrollbarMetrics.
73486
73487         No new tests as this does not change functionality.
73488
73489         * platform/gtk/gtk2drawing.c: Set the trough_under_steppers member when accessing theme data.
73490         * platform/gtk/gtkdrawing.h: Add the trough_under_steppers member.
73491
73492 2010-08-23  Darin Adler  <darin@apple.com>
73493
73494         Reviewed by Geoff Garen.
73495
73496         Parser DOM tree manipulation functions do not need to be virtual.
73497
73498         * dom/ContainerNode.h: Made parserAddChild, parserRemoveChild, and
73499         parserInsertBefore non-virtual.
73500
73501         * dom/Node.cpp: Removed the parserAddChild, parserRemoveChild, and
73502         parserInsertBefore functions, which should never have been in the Node class.
73503         * dom/Node.h: Ditto.
73504
73505         * html/HTMLConstructionSite.cpp:
73506         (WebCore::HTMLConstructionSite::attach): Changed argument type to ContainerNode*
73507         because we never need to attach a child to a non-container node.
73508         (WebCore::HTMLConstructionSite::findFosterSite): Cast the result of the parent
73509         function to ContainerNode*. A parent is always guaranteed to be a container, but
73510         the parent function returns a Node* so that callers can use it without including
73511         ContainerNode's header. That seems like something we can easily fix later.
73512
73513         * html/HTMLConstructionSite.h: Changed AttachmentSite::parent and the
73514         attach function to ContainerNode* instead of Node*.
73515
73516 2010-08-23  Adam Barth  <abarth@webkit.org>
73517
73518         Reviewed by Eric Seidel.
73519
73520         editing/pasteboard/bad-placeholder.html fails with --html5-treebuilder
73521         https://bugs.webkit.org/show_bug.cgi?id=44463
73522
73523         The problem here is that using the documentElement as the context puts
73524         the tree builder into the BeforeHead insertion mode, which strips
73525         leading spaces.  This code is confused about what it wants, but it
73526         certainly doesn't want to be in that insertion mode.  Looking through
73527         the callers, they'd much rather be in the InBody insertion mode.  We
73528         can get them there by creating a fake body element as the context
73529         element.
73530
73531         In the long term, all this code needs to be changed to move away from
73532         deprecatedCreateContextualFragment, which does a bunch of nasty stuff
73533         like removing certain kinds of elements.  However, that's a battle for
73534         another day.
73535
73536         * editing/markup.cpp:
73537         (WebCore::createFragmentFromMarkup):
73538
73539 2010-08-23  Adam Barth  <abarth@webkit.org>
73540
73541         Reviewed by Eric Seidel.
73542
73543         fast/xsl/default-html.html fails with HTML5 fragment parsing
73544         https://bugs.webkit.org/show_bug.cgi?id=44450
73545
73546         This patch is a step down a trail of tears.  As far as I can tell,
73547         there's no spec for XSLTProcessor.transformToFragment.  This patch
73548         attempts to infer the proper behavior from test cases and the Mozilla
73549         wiki.
73550
73551         * xml/XSLTProcessor.cpp:
73552         (WebCore::createFragmentFromSource):
73553
73554 2010-08-23  Adam Barth  <abarth@webkit.org>
73555
73556         Reviewed by Eric Seidel.
73557
73558         editing/pasteboard/paste-visible-script.html is broken with --html5-treebuilder
73559         https://bugs.webkit.org/show_bug.cgi?id=44457
73560
73561         Turns out there are two more checks we need for fragment scripting
73562         permission.  Not the most beautiful design, but it seems work.
73563
73564         * html/HTMLConstructionSite.cpp:
73565         (WebCore::HTMLConstructionSite::insertScriptElement):
73566         * html/HTMLTreeBuilder.cpp:
73567         (WebCore::HTMLTreeBuilder::processEndTag):
73568
73569 2010-08-23  Eric Seidel  <eric@webkit.org>
73570
73571         Reviewed by Adam Barth.
73572
73573         fast/dom/script-innerHTML-x.xhtml fails when run with the HTML5 TreeBuilder in fragment mode
73574         https://bugs.webkit.org/show_bug.cgi?id=44447
73575
73576         This special handling for script/style used to exist in
73577         setInnerHTML.  HTML5 moves this logic into the HTML and XML
73578         parsers instead of in setInnerHTML.
73579
73580         In order to share this logic between WebKit's two XML parsers
73581         I had to clean up a bit of the libxml2 parser and add a
73582         new appendFragmentSource method.
73583
73584         Covered by fast/dom/script-innerHTML-x.xhtml.
73585
73586         * dom/XMLDocumentParser.cpp:
73587         (WebCore::XMLDocumentParser::end):
73588          - Now that libxml2 is calling finish() for fragments (Qt already was)
73589            I went through and removed this unneeded style update after fragment parsing.
73590         (WebCore::XMLDocumentParser::parseDocumentFragment):
73591          - Yay for shared code!
73592          - This is where I added the style/script hack moved from setInnerHTML.
73593         * dom/XMLDocumentParser.h:
73594          - Fix indent.
73595         * dom/XMLDocumentParserLibxml2.cpp:
73596          - Removed parseDocumentFragment and moved necessary libxml-specific
73597            logic into appendFragmentSource.
73598         (WebCore::XMLDocumentParser::appendFragmentSource):
73599         * dom/XMLDocumentParserQt.cpp:
73600         (WebCore::XMLDocumentParser::appendFragmentSource):
73601
73602 2010-08-23  Kenneth Russell  <kbr@google.com>
73603
73604         Reviewed by Dimitri Glazkov.
73605
73606         Remove references to ArrayBuffer and ArrayBufferView from GraphicsContext3D
73607         https://bugs.webkit.org/show_bug.cgi?id=44455
73608
73609         Updated Safari, Qt and Chromium WebGL ports to avoid referencing
73610         ArrayBuffer and ArrayBufferView types from GraphicsContext3D.
73611
73612         Ran all WebGL layout tests; no new regressions. Built and tested
73613         WebKit on Mac OS X; built Chromium on Mac OS X and Linux.
73614
73615         * html/canvas/WebGLBuffer.cpp:
73616         * html/canvas/WebGLBuffer.h:
73617         * html/canvas/WebGLRenderingContext.cpp:
73618         (WebCore::WebGLRenderingContext::bufferData):
73619         (WebCore::WebGLRenderingContext::bufferSubData):
73620         (WebCore::WebGLRenderingContext::texImage2D):
73621         (WebCore::WebGLRenderingContext::texSubImage2D):
73622         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
73623         * platform/graphics/GraphicsContext3D.cpp:
73624         (WebCore::GraphicsContext3D::extractTextureData):
73625         * platform/graphics/GraphicsContext3D.h:
73626         * platform/graphics/chromium/GLES2Canvas.cpp:
73627         (WebCore::GLES2Canvas::getQuadVertices):
73628         * platform/graphics/mac/GraphicsContext3DMac.mm:
73629         (WebCore::GraphicsContext3D::bufferData):
73630         (WebCore::GraphicsContext3D::bufferSubData):
73631         * platform/graphics/qt/GraphicsContext3DQt.cpp:
73632         (WebCore::GraphicsContext3D::bufferData):
73633         (WebCore::GraphicsContext3D::bufferSubData):
73634
73635 2010-08-20  Stephen White  <senorblanco@chromium.org>
73636
73637         Reviewed by Kenneth Russell.
73638
73639         [CHROMIUM] Fix some failing layout tests w/ACCELERATED_2D_CANVAS
73640         https://bugs.webkit.org/show_bug.cgi?id=44346
73641
73642         LayoutTests/fast/canvas/canvas-incremental-repaint.html (top middle
73643         pane).
73644         Failing because we were not applying the CTM in clearRect().  Now using
73645         the fast path when the CTM is identity, and a fillRect() for the rest.
73646         LayoutTests/fast/canvas/canvas-strokeRect.html
73647         LayoutTests/fast/canvas/shadow-offset-[1-7].html
73648         Failing because we weren't switching to the software path when a 
73649         shadow is present.
73650         Also refactor the two versions of fillRect(), and use TRIANGLE_STRIP
73651         strip instead of TRIANGLES, which lets us get rid of the element array
73652         and use drawArrays() instead of drawElements().
73653
73654         Covered by the above layout tests.
73655
73656         * platform/graphics/chromium/GLES2Canvas.cpp:
73657         (WebCore::GLES2Canvas::GLES2Canvas):
73658         (WebCore::GLES2Canvas::~GLES2Canvas):
73659         Remove m_quadIndices (now unused).
73660         (WebCore::GLES2Canvas::clearRect):
73661         Use a glClear() fast path for the identity-CTM clear, and fillRect()
73662         for the rest.
73663         (WebCore::GLES2Canvas::fillRect):
73664         Refactor the two versions of fillRect().
73665         (WebCore::GLES2Canvas::drawTexturedRect):
73666         (WebCore::GLES2Canvas::drawTexturedRectTile):
73667         Get rid of the ELEMENT_ARRAY_BUFFER bind.  Use drawArrays() instead of
73668         drawElements().
73669         (WebCore::GLES2Canvas::getQuadVertices):
73670         Re-order the vertices so they form a triangle strip.
73671         * platform/graphics/chromium/GLES2Canvas.h:
73672         Remove m_quadIndices (now unused).
73673         * platform/graphics/skia/GraphicsContextSkia.cpp:
73674         (WebCore::GraphicsContext::fillRect):
73675         Check for a draw looper (shadow), and drop to the software path.
73676
73677 2010-08-23  Patrick Gansterer  <paroga@paroga.com>
73678
73679         Reviewed by Adam Roben.
73680
73681         Move filehandling into fileLoadTimer callback
73682         https://bugs.webkit.org/show_bug.cgi?id=43714
73683
73684         Also add mimetype detection for local files.
73685
73686         * platform/network/ResourceHandleInternal.h:
73687         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
73688         * platform/network/win/ResourceHandleWin.cpp:
73689         (WebCore::ResourceHandle::start):
73690         (WebCore::ResourceHandle::fileLoadTimer):
73691
73692 2010-08-23  Iain Merrick  <husky@google.com>
73693
73694         Reviewed by Steve Block.
73695
73696         Update JNI bridge for V8 after renaming of JavaString::utf8().
73697         https://bugs.webkit.org/show_bug.cgi?id=44419
73698
73699         This fixes the build on Android. No new functionality, so no new tests.
73700
73701         * bridge/jni/v8/JNIBridgeV8.cpp:
73702         (JavaField::JavaField):
73703         * bridge/jni/v8/JNIBridgeV8.h:
73704         (JSC::Bindings::JavaField::type):
73705         * bridge/jni/v8/JavaClassV8.cpp:
73706         (JavaClass::JavaClass):
73707         * bridge/jni/v8/JavaNPObjectV8.cpp:
73708         (JSC::Bindings::JavaNPObjectGetProperty):
73709         * bridge/jni/v8/JavaStringV8.h:
73710         (JSC::Bindings::JavaStringImpl::utf8):
73711
73712 2010-08-23  Mihai Parparita  <mihaip@chromium.org>
73713
73714         Reviewed by David Hyatt.
73715
73716         Assertion failure in FrameView::layout when modifying the DOM during
73717         pagehide with PageCache enabled
73718         https://bugs.webkit.org/show_bug.cgi?id=43152
73719
73720         Always unschedule any pending relayouts when changing the view, not just
73721         when we're not using the page cache. Otherwise touching the DOM during
73722         the pagehide handler can lead to layouts that will be done by the time
73723         the view has changed, which triggers an assert.
73724
73725         Test: fast/loader/unschedule-relayout-after-unload.html
73726
73727         * page/Frame.cpp:
73728         (WebCore::Frame::setView): move unscheduleRelayout outside page cache
73729         check.
73730         * page/FrameView.cpp:
73731         (WebCore::FrameView::layout): remove early return now that assert
73732         should be correct (and the referenced rdar:// got fixed).
73733
73734 2010-08-23  Abhishek Arya  <inferno@chromium.org>
73735
73736         Reviewed by Dimitri Glazkov.
73737
73738         Fix security origin calculation in createPattern. Need to use
73739         cachedImage->response().url() instead of cachedImage->url().
73740         https://bugs.webkit.org/show_bug.cgi?id=44399.
73741
73742         Test: http/tests/security/canvas-remote-read-remote-image-redirect.html
73743
73744         * html/canvas/CanvasRenderingContext2D.cpp:
73745         (WebCore::CanvasRenderingContext2D::createPattern):
73746
73747 2010-08-23  Simon Fraser  <simon.fraser@apple.com>
73748
73749         Reviewed by Alexey Proskuryakov.
73750
73751         TreeWalker is not calling acceptNode function in filter object
73752         https://bugs.webkit.org/show_bug.cgi?id=35296
73753         
73754         We only accepted raw functions as the NodeFilter on TreeWalker. Fix this to
73755         look for an 'acceptNode' function on the filter object, and use that if present.
73756         Also throw an exception if the filter object does not have an acceptNode function.
73757
73758         Test: fast/dom/TreeWalker/acceptNode-filter.html
73759
73760         * bindings/js/JSNodeFilterCondition.cpp:
73761         (WebCore::JSNodeFilterCondition::acceptNode):
73762
73763 2010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
73764
73765         Unreviewed, rolling out r65814.
73766         http://trac.webkit.org/changeset/65814
73767         https://bugs.webkit.org/show_bug.cgi?id=44443
73768
73769         broke svg/custom/missing-xlink.svg (Requested by kling on
73770         #webkit).
73771
73772         * dom/Element.cpp:
73773         (WebCore::Element::setAttributeNS):
73774
73775 2010-08-23  Jian Li  <jianli@chromium.org>
73776
73777         Reviewed by Darin Fisher.
73778
73779         Handle blob resource.
73780         https://bugs.webkit.org/show_bug.cgi?id=43941
73781
73782         To provide lower level blob reosurce handling for all possible ports,
73783         BlobResourceHandle derived from ResourceHandle is implemented. It provides
73784         both synchronous and asynchronous resource loading for blob URL.
73785
73786         BlobResourceHandle needs to create a FileStreamProxy instance in order to
73787         asynchronous file stream operation. To achive this, a hook createAsyncFileStream
73788         is added to ResourceHandleClient interface. When ResourceLoader implements
73789         ths hook, it creates and returns FileStreamProxy.
73790
73791         BlobResourceHandle.* is not added to chromium port since it will implement
73792         its own blob resource handling.
73793
73794         * Android.mk:
73795         * CMakeLists.txt:
73796         * GNUmakefile.am:
73797         * WebCore.pro:
73798         * WebCore.vcproj/WebCore.vcproj:
73799         * WebCore.xcodeproj/project.pbxproj:
73800         * loader/ResourceLoader.cpp:
73801         (WebCore::ResourceLoader::createAsyncFileStream): Create and return FileStreamProxy.
73802         * loader/ResourceLoader.h:
73803         * page/SecurityOrigin.cpp: Add the support to get and validate the origin of blob URL.
73804         (WebCore::SecurityOrigin::create):
73805         (WebCore::SecurityOrigin::canLoad):
73806         * platform/network/BlobRegistryImpl.cpp:
73807         (WebCore::BlobRegistryImpl::appendStorageItems): Fix a bug that the length is not subtracted.
73808         * platform/network/BlobResourceHandle.cpp: Added.
73809         * platform/network/BlobResourceHandle.h: Added.
73810         * platform/network/HTTPParsers.cpp:
73811         (WebCore::parseRange):
73812         * platform/network/HTTPParsers.h:
73813         * platform/network/ResourceHandle.cpp: Hook up with asynchronous blob resource handling.
73814         (WebCore::ResourceHandle::create):
73815         * platform/network/ResourceHandle.h:
73816         * platform/network/ResourceHandleClient.h:
73817         (WebCore::ResourceHandleClient::createAsyncFileStream): Add a hook.
73818         * platform/network/mac/ResourceHandleMac.mm:
73819         (WebCore::ResourceHandle::loadResourceSynchronously): Hook up with synchronous blob resource handling.
73820
73821 2010-08-23  Jian Li  <jianli@chromium.org>
73822
73823         Reviewed by David Levin.
73824
73825         Remove unneeded BlobRegistryImpl.* and WebBlobRegistryImpl.* from
73826         chromium project files.
73827         https://bugs.webkit.org/show_bug.cgi?id=44442
73828
73829         * WebCore.gypi:
73830
73831 2010-08-23  Adam Barth  <abarth@webkit.org>
73832
73833         Reviewed by Eric Seidel.
73834
73835         Many LayoutTests crash when run with --html5-treebuilder
73836         https://bugs.webkit.org/show_bug.cgi?id=44440
73837
73838         Our list of special tags is out of sync with the HTML5 spec.  This
73839         patch adds HTML to the list, which fixs a ton of crashers when parsing
73840         fragments.  We neet to sync up the list at some point, but we want to
73841         make sure we have test coverage for all those changes, so I've left
73842         that for a future patch.
73843
73844         * html/HTMLTreeBuilder.cpp:
73845
73846 2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
73847
73848         Reviewed by Pavel Feldman.
73849
73850         WebInspector: Context menu in Scripts panel was broken.
73851         https://bugs.webkit.org/show_bug.cgi?id=44431
73852
73853         * inspector/InspectorFrontendHost.cpp:
73854         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
73855         (WebCore::FrontendMenuProvider::contextMenuCleared):
73856
73857 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
73858
73859         Reviewed by Tor Arne Vestbø.
73860
73861         setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
73862         https://bugs.webkit.org/show_bug.cgi?id=44432
73863
73864         Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
73865
73866         * dom/Element.cpp:
73867         (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
73868         and the qualifiedName has a prefix.
73869
73870 2010-08-23  Ryuan Choi  <ryuan.choi@samsung.com>
73871
73872         Reviewed by Antonio Gomes.
73873
73874         [EFL] rendering was broken when missing plugin.
73875         https://bugs.webkit.org/show_bug.cgi?id=43395
73876
73877         Implement RenderThemeEfl::systemFont to render "Missing plugin" when we
73878         don't have proper plugin.
73879         In this case, RenderEmbeddedObject::paintReplaced call systemFont and
73880         pass returned font to GraphicsContext.
73881
73882         * platform/efl/RenderThemeEfl.cpp:
73883         (WebCore::RenderThemeEfl::setDefaultFontSize):
73884         (WebCore::RenderThemeEfl::systemFont):
73885         * platform/efl/RenderThemeEfl.h:
73886
73887 2010-08-23  Pavel Podivilov  <podivilov@chromium.org>
73888
73889         Reviewed by Pavel Feldman.
73890
73891         Web Inspector: remove javascript breakpoint specific code from BreakpointSidebarPane
73892         https://bugs.webkit.org/show_bug.cgi?id=44327
73893
73894         * inspector/front-end/BreakpointManager.js:
73895         (WebInspector.BreakpointManager.prototype.setBreakpoint):
73896         (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
73897         (WebInspector.BreakpointManager.prototype._setBreakpoint):
73898         (WebInspector.BreakpointManager.prototype._removeBreakpoint):
73899         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
73900         (WebInspector.Breakpoint):
73901         * inspector/front-end/BreakpointsSidebarPane.js:
73902         (WebInspector.BreakpointsSidebarPane):
73903         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
73904         (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
73905         (WebInspector.JSBreakpointItem):
73906         (WebInspector.JSBreakpointItem.prototype.compareTo):
73907         (WebInspector.JSBreakpointItem.prototype.element):
73908         (WebInspector.JSBreakpointItem.prototype._breakpointClicked):
73909         (WebInspector.JSBreakpointItem.prototype._checkboxClicked):
73910         (WebInspector.JSBreakpointItem.prototype._enableChanged):
73911         (WebInspector.JSBreakpointItem.prototype._textChanged):
73912         (WebInspector.JSBreakpointItem.prototype._removed):
73913         * inspector/front-end/ScriptsPanel.js:
73914         (WebInspector.ScriptsPanel):
73915         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
73916         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
73917         * inspector/front-end/SourceFrame.js:
73918         (WebInspector.SourceFrame.prototype.addBreakpoint):
73919         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
73920
73921 2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
73922
73923         Reviewed by Yury Semikhatsky.
73924
73925         WebInspector: inspector protocol should be switched from array based
73926         message format to object based message format.
73927         Almost all the protocol related things is generated by CodeGeneratorInspector.pm
73928         It was changed a bit. As result InspectorBackendStub.js wraps the
73929         calls into Request objects. InspectorBackendDispatcher.cpp unwraps
73930         these objects and calls corresponding agents. These two files and
73931         RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
73932         Dispatching part of WebInspector also was adjusted for handling Event
73933         objects produced by RemoteInspectorFrontend.cpp and Response objects
73934         produced by InspectorBackendDispatcher.cpp
73935         https://bugs.webkit.org/show_bug.cgi?id=44338
73936
73937         * inspector/CodeGeneratorInspector.pm:
73938         * inspector/Inspector.idl:
73939         * inspector/InspectorController.cpp:
73940         (WebCore::InspectorController::setAttachedWindow):
73941         * inspector/InspectorController.h:
73942         * inspector/InspectorFrontendClientLocal.cpp:
73943         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
73944         * inspector/InspectorValues.h:
73945         (WebCore::InspectorObject::find):
73946         * inspector/front-end/Callback.js:
73947         (WebInspector.Callback.prototype.processResponse):
73948         * inspector/front-end/inspector.js:
73949         (WebInspector.dispatch):
73950         (WebInspector_syncDispatch):
73951         (WebInspector.dispatchMessageFromBackend):
73952         (WebInspector.reportProtocolError):
73953
73954 2010-08-19  Jeremy Orlow  <jorlow@chromium.org>
73955
73956         Reviewed by Steve Block.
73957
73958         Remove IDBDatabase.description per spec changes
73959         https://bugs.webkit.org/show_bug.cgi?id=44264
73960
73961         There's now no longer any way to access the description from JS.
73962         The main premise of the manual test is now obsolete. Over time we'll
73963         be able to add to it again. While I'm at it, I cleaned up the format
73964         of the manual test to be easier to follow (code and usage wise).
73965
73966         * manual-tests/indexed-database.html:
73967         * storage/IDBDatabase.cpp:
73968         (WebCore::IDBDatabase::IDBDatabase):
73969         * storage/IDBDatabase.h:
73970         * storage/IDBDatabase.idl:
73971
73972 2010-08-23  Pavel Feldman  <pfeldman@chromium.org>
73973
73974         Reviewed by Yury Semikhatsky.
73975
73976         Web Inspector: element's css: pseudo-class locations
73977         https://bugs.webkit.org/show_bug.cgi?id=44344
73978
73979         Also contains a drive-by fix for 44301 (gray out read-only).
73980
73981         * inspector/front-end/StylesSidebarPane.js:
73982         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
73983         (WebInspector.StylesSidebarPane.prototype.update):
73984         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
73985         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
73986         (WebInspector.StylePropertiesSection):
73987
73988 2010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
73989
73990         Unreviewed, rolling out r65803.
73991         http://trac.webkit.org/changeset/65803
73992         https://bugs.webkit.org/show_bug.cgi?id=44416
73993
73994         windows build failed (Requested by loislo on #webkit).
73995
73996         * inspector/CodeGeneratorInspector.pm:
73997         * inspector/Inspector.idl:
73998         * inspector/InspectorController.cpp:
73999         * inspector/InspectorController.h:
74000         * inspector/InspectorFrontendClientLocal.cpp:
74001         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
74002         * inspector/InspectorValues.h:
74003         * inspector/front-end/Callback.js:
74004         (WebInspector.Callback.prototype.processResponse):
74005         * inspector/front-end/inspector.js:
74006         (WebInspector.dispatch.delayDispatch):
74007         (WebInspector.dispatch):
74008         (WebInspector_syncDispatch):
74009         (WebInspector.dispatchMessageFromBackend):
74010         (WebInspector.reportProtocolError):
74011
74012 2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
74013
74014         Reviewed by Yury Semikhatsky.
74015
74016         WebInspector: inspector protocol should be switched from array based
74017         message format to object based message format.
74018         Almost all the protocol related things is generated by CodeGeneratorInspector.pm
74019         It was changed a bit. As result InspectorBackendStub.js wraps the
74020         calls into Request objects. InspectorBackendDispatcher.cpp unwraps
74021         these objects and calls corresponding agents. These two files and
74022         RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
74023         Dispatching part of WebInspector also was adjusted for handling Event
74024         objects produced by RemoteInspectorFrontend.cpp and Response objects
74025         produced by InspectorBackendDispatcher.cpp
74026         https://bugs.webkit.org/show_bug.cgi?id=44338
74027
74028         * inspector/CodeGeneratorInspector.pm:
74029         * inspector/Inspector.idl:
74030         * inspector/InspectorController.cpp:
74031         (WebCore::InspectorController::setAttachedWindow):
74032         * inspector/InspectorController.h:
74033         * inspector/InspectorFrontendClientLocal.cpp:
74034         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
74035         * inspector/InspectorValues.h:
74036         (WebCore::InspectorObject::find):
74037         * inspector/front-end/Callback.js:
74038         (WebInspector.Callback.prototype.processResponse):
74039         * inspector/front-end/inspector.js:
74040         (WebInspector.dispatch):
74041         (WebInspector_syncDispatch):
74042         (WebInspector.dispatchMessageFromBackend):
74043         (WebInspector.reportProtocolError):
74044
74045 2010-08-23  Alejandro G. Castro  <alex@igalia.com>
74046
74047         Reviewed by Xan Lopez.
74048
74049         Make the copy of the inspector files silent.
74050
74051         * GNUmakefile.am:
74052
74053 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
74054
74055         Reviewed by Kenneth Rohde Christiansen.
74056
74057         [Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
74058         https://bugs.webkit.org/show_bug.cgi?id=44403
74059
74060         Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
74061         For canvas, always use complex text shaping since stroke and fill are decoupled.
74062
74063         * html/canvas/CanvasRenderingContext2D.cpp:
74064         (WebCore::CanvasRenderingContext2D::measureText):
74065         (WebCore::CanvasRenderingContext2D::drawTextInternal):
74066         * platform/graphics/qt/FontQt.cpp:
74067         (WebCore::drawTextCommon):
74068
74069 2010-08-23  Mikhail Naganov  <mnaganov@chromium.org>
74070
74071         Reviewed by Pavel Feldman.
74072
74073         Extract profiler-related code and data from InspectorController into
74074         InspectorProfilerAgent.
74075
74076         https://bugs.webkit.org/show_bug.cgi?id=44174
74077
74078         * CMakeLists.txt:
74079         * GNUmakefile.am:
74080         * WebCore.exp.in:
74081         * WebCore.gypi:
74082         * WebCore.pro:
74083         * WebCore.vcproj/WebCore.vcproj:
74084         * WebCore.xcodeproj/project.pbxproj:
74085         * bindings/js/ScriptProfiler.cpp:
74086         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
74087         * bindings/js/ScriptProfiler.h:
74088         * bindings/v8/ScriptProfiler.cpp:
74089         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
74090         * bindings/v8/ScriptProfiler.h:
74091         * inspector/CodeGeneratorInspector.pm:
74092         * inspector/Inspector.idl:
74093         * inspector/InspectorController.cpp:
74094         (WebCore::InspectorController::InspectorController):
74095         (WebCore::InspectorController::connectFrontend):
74096         (WebCore::InspectorController::disconnectFrontend):
74097         (WebCore::InspectorController::populateScriptObjects):
74098         (WebCore::InspectorController::didCommitLoad):
74099         (WebCore::InspectorController::addProfile):
74100         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
74101         (WebCore::InspectorController::addStartProfilingMessageToConsole):
74102         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
74103         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
74104         (WebCore::InspectorController::startUserInitiatedProfiling):
74105         (WebCore::InspectorController::stopUserInitiatedProfiling):
74106         (WebCore::InspectorController::profilerEnabled):
74107         (WebCore::InspectorController::enableProfiler):
74108         (WebCore::InspectorController::disableProfiler):
74109         * inspector/InspectorController.h:
74110         (WebCore::InspectorController::profilerAgent):
74111         * inspector/InspectorProfilerAgent.cpp: Added.
74112         (WebCore::InspectorProfilerAgent::create):
74113         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
74114         (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
74115         (WebCore::InspectorProfilerAgent::addProfile):
74116         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
74117         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
74118         (WebCore::InspectorProfilerAgent::createProfileHeader):
74119         (WebCore::InspectorProfilerAgent::disable):
74120         (WebCore::InspectorProfilerAgent::enable):
74121         (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
74122         (WebCore::InspectorProfilerAgent::getProfileHeaders):
74123         (WebCore::InspectorProfilerAgent::getProfile):
74124         (WebCore::InspectorProfilerAgent::removeProfile):
74125         (WebCore::InspectorProfilerAgent::resetState):
74126         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
74127         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
74128         (WebCore::InspectorProfilerAgent::toggleRecordButton):
74129         * inspector/InspectorProfilerAgent.h: Added.
74130         (WebCore::InspectorProfilerAgent::clearProfiles):
74131         (WebCore::InspectorProfilerAgent::enabled):
74132         (WebCore::InspectorProfilerAgent::isRecordingUserInitiatedProfile):
74133         (WebCore::InspectorProfilerAgent::setRemoteFrontend):
74134         (WebCore::InspectorProfilerAgent::startProfiling):
74135         (WebCore::InspectorProfilerAgent::stopProfiling):
74136
74137 2010-08-23  Ariya Hidayat  <ariya@sencha.com>
74138
74139         Reviewed by Kenneth Rohde Christiansen.
74140
74141         [Qt] Crash when purging the scratch buffer for the shadow
74142         https://bugs.webkit.org/show_bug.cgi?id=44384
74143
74144         WebCore::Timer can't be used in a static object bcause it relies on
74145         thread global data, which is invalid once the application instance is
74146         destroyed. To overcome the problem, use QObject's timer support for
74147         the ShadowBuffer class.
74148
74149         * platform/graphics/qt/ContextShadow.cpp:
74150         (WebCore::):
74151         (WebCore::ShadowBuffer::ShadowBuffer):
74152         (WebCore::ShadowBuffer::schedulePurge):
74153         (WebCore::ShadowBuffer::timerEvent):
74154
74155 2010-08-23  Philippe Normand  <pnormand@igalia.com>
74156
74157         Reviewed by Xan Lopez.
74158
74159         [GStreamer] don't expose the private player in GStreamerGWorld
74160         https://bugs.webkit.org/show_bug.cgi?id=44332
74161
74162         Only a pointer to our playbin2 element instance is required
74163         instead of the whole MediaPlayerPrivateGStreamer instance.
74164
74165         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
74166         (WebCore::GStreamerGWorld::createGWorld):
74167         (WebCore::GStreamerGWorld::GStreamerGWorld):
74168         (WebCore::GStreamerGWorld::~GStreamerGWorld):
74169         (WebCore::GStreamerGWorld::enterFullscreen):
74170         (WebCore::GStreamerGWorld::exitFullscreen):
74171         * platform/graphics/gstreamer/GStreamerGWorld.h:
74172         (WebCore::GStreamerGWorld::pipeline):
74173         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
74174         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
74175
74176 2010-08-22  Andreas Kling  <andreas.kling@nokia.com>
74177
74178         Reviewed by Kenneth Rohde Christiansen.
74179
74180         [Qt] GraphicsContext: Simplify getting the clip bounding rect
74181         https://bugs.webkit.org/show_bug.cgi?id=44396
74182
74183         Move the Qt 4.8 version check for QPainter::clipBoundingRect()
74184         into a GraphicsContextPlatformPrivate method.
74185
74186         * platform/graphics/qt/GraphicsContextQt.cpp:
74187         (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
74188         (WebCore::GraphicsContext::beginTransparencyLayer):
74189         (WebCore::GraphicsContext::clipOut):
74190         (WebCore::GraphicsContext::clipOutEllipseInRect):
74191
74192 2010-08-22  Juha Savolainen  <juha.savolainen@weego.fi>
74193
74194         Reviewed by Kenneth Rohde Christiansen.
74195
74196         [Qt] Add QTouchEvents support for WebKit2
74197         https://bugs.webkit.org/show_bug.cgi?id=44330
74198
74199         This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
74200         is created for touchevents, WebTouchEvent. Also touchpoints needed a new
74201         class, WebPlatformTouchPoint. This is similar solution like in other
74202         events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h 
74203         Also there was a need to create an empty constructor to PlatformTouchPoint-class.
74204
74205         * platform/PlatformTouchPoint.h:
74206         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
74207
74208 2010-08-22  Daniel Bates  <dbates@rim.com>
74209
74210         Reviewed by Eric Seidel.
74211
74212         Encapsulate document marker management into DocumentMarkerController
74213         https://bugs.webkit.org/show_bug.cgi?id=44383
74214
74215         Moves the document marker management code in Document.cpp into its own
74216         class called DocumentMarkerController.
74217
74218         No functionality was changed, so no new tests.
74219
74220         * Android.mk: Added DocumentMarkerController.cpp 
74221         * CMakeLists.txt: Ditto.
74222         * GNUmakefile.am: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
74223         * WebCore.exp.in: Substituted symbols __ZN7WebCore24DocumentMarkerController13removeMarkersENS_14DocumentMarker10MarkerTypeE
74224         and __ZN7WebCore24DocumentMarkerController23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE for
74225         __ZN7WebCore8Document13removeMarkersENS_14DocumentMarker10MarkerTypeE and 
74226         __ZN7WebCore8Document23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE, respectively.
74227         * WebCore.gypi: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
74228         * WebCore.pro: Ditto.
74229         * WebCore.vcproj/WebCore.vcproj: Ditto.
74230         * WebCore.xcodeproj/project.pbxproj: Ditto.
74231         * dom/Document.cpp:
74232         (WebCore::Document::removedLastRef): Modified to call DocumentMarkerController::detach().
74233         (WebCore::Document::~Document): Removed "deleteAllValues(m_markers)" as DocumentMarkerController
74234         is stored in OwnPtr; so it will be destroyed automatically on Document destruction.
74235         (WebCore::Document::textInserted): Modified to use marker controller.
74236         (WebCore::Document::textRemoved): Ditto.
74237         * dom/Document.h:
74238         (WebCore::Document::markers): Added.
74239         * dom/DocumentMarkerController.cpp: Added.
74240         (WebCore::placeholderRectForMarker):
74241         (WebCore::DocumentMarkerController::detach):
74242         (WebCore::DocumentMarkerController::addMarker):
74243         (WebCore::DocumentMarkerController::removeMarkers):
74244         (WebCore::DocumentMarkerController::copyMarkers):
74245         (WebCore::DocumentMarkerController::markerContainingPoint):
74246         (WebCore::DocumentMarkerController::markersForNode):
74247         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
74248         (WebCore::DocumentMarkerController::repaintMarkers):
74249         (WebCore::DocumentMarkerController::setRenderedRectForMarker):
74250         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
74251         (WebCore::DocumentMarkerController::shiftMarkers):
74252         (WebCore::DocumentMarkerController::setMarkersActive):
74253         * dom/DocumentMarkerController.h: Added.
74254         (WebCore::DocumentMarkerController::~DocumentMarkerController):
74255         * editing/Editor.cpp:
74256         (WebCore::Editor::ignoreSpelling): Modified to use marker controller.
74257         (WebCore::findFirstMisspellingInRange): Ditto.
74258         (WebCore::findFirstGrammarDetailInRange): Ditto.
74259         (WebCore::Editor::advanceToNextMisspelling): Ditto.
74260         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
74261         (WebCore::Editor::changeBackToReplacedString): Ditto.
74262         * editing/SplitTextNodeCommand.cpp:
74263         (WebCore::SplitTextNodeCommand::doApply): Ditto.
74264         (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
74265         * page/Frame.cpp:
74266         (WebCore::Frame::markAllMatchesForText): Ditto.
74267         (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Ditto.
74268         (WebCore::Frame::respondToChangedSelection): Ditto.
74269         * page/FrameView.cpp:
74270         (WebCore::FrameView::getTickmarks): Ditto.
74271         (WebCore::FrameView::paintContents): Ditto.
74272         * page/Page.cpp:
74273         (WebCore::Page::unmarkAllTextMatches): Ditto.
74274         * rendering/HitTestResult.cpp:
74275         (WebCore::HitTestResult::spellingToolTip): Ditto.
74276         (WebCore::HitTestResult::replacedString): Ditto.
74277         * rendering/InlineTextBox.cpp:
74278         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
74279         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
74280         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
74281         (WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
74282         * rendering/SVGInlineTextBox.cpp:
74283         (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Ditto.
74284
74285 2010-08-22  Jian Li  <jianli@chromium.org>
74286
74287         Reviewed by Darin Fisher.
74288
74289         Add the blob URL member to FormData.
74290         https://bugs.webkit.org/show_bug.cgi?id=44387
74291
74292         This is in preparation to switch blob implementation to using BlobData
74293         model. When a blob is added to a FormData, it is represented as a blob
74294         URL in the list.
74295
74296         * platform/network/FormData.cpp:
74297         (WebCore::FormData::appendBlob):
74298         * platform/network/FormData.h:
74299         (WebCore::FormDataElement::FormDataElement):
74300         (WebCore::FormDataElement::):
74301         (WebCore::operator==):
74302
74303 2010-08-22  Eric Seidel  <eric@webkit.org>
74304
74305         Reviewed by Adam Barth.
74306
74307         HTML5 TreeBuilder builds wrong DOM for <a><svg><tr><input></a>
74308         https://bugs.webkit.org/show_bug.cgi?id=44390
74309
74310         The HTML5 spec has changed since Adam and I original wrote
74311         the HTMLTreeBuilder.  Most important for this change was resolution of:
74312         http://www.w3.org/Bugs/Public/show_bug.cgi?id=9580
74313
74314         I also removed our "phrasing" tag support since that was also removed
74315         from the spec as part of other bug fixes.
74316
74317         This is tested by tonyg's <a><svg><tr><input></a> test in adoption01.dat.
74318
74319         * html/HTMLTreeBuilder.cpp:
74320         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
74321         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
74322         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
74323         (WebCore::HTMLTreeBuilder::processEndTag):
74324
74325 2010-08-22  Andreas Kling  <andreas.kling@nokia.com>
74326
74327         Reviewed by Ariya Hidayat.
74328
74329         [Qt] TransparencyLayer: Always use anti-aliasing and smooth pixmap transform
74330         https://bugs.webkit.org/show_bug.cgi?id=44394
74331
74332         * platform/graphics/qt/TransparencyLayer.h:
74333         (WebCore::TransparencyLayer::TransparencyLayer): Set the Antialiasing
74334         and SmoothPixmapTransforms render hints for all TransparencyLayers.
74335
74336 2010-08-22  Andreas Kling  <andreas.kling@nokia.com>
74337
74338         Reviewed by Ariya Hidayat.
74339
74340         [Qt] Gradient: Support inner radius larger than outer radius
74341         https://bugs.webkit.org/show_bug.cgi?id=44392
74342
74343         * platform/graphics/qt/GradientQt.cpp:
74344         (WebCore::Gradient::platformGradient): Reverse the (radial) gradient if r0 > r1.
74345
74346 2010-08-22  Ariya Hidayat  <ariya@sencha.com>
74347
74348         Reviewed by Dirk Schulze.
74349
74350         [Qt] Layer approach to support generic shadow handling
74351         https://bugs.webkit.org/show_bug.cgi?id=44380
74352
74353         The pair beginShadowLayer and endShadowLayer creates a temporary image
74354         where the caller can draw onto, using the returned QPainter. When
74355         endShadowLayer is called, the temporary image will be filtered, using
74356         the specified shadow color and blur radius, and drawn to the graphics
74357         context.
74358
74359         * platform/graphics/GraphicsContext.h:
74360         * platform/graphics/qt/ContextShadow.cpp:
74361         (WebCore::ContextShadow::beginShadowLayer):
74362         (WebCore::ContextShadow::endShadowLayer):
74363         * platform/graphics/qt/ContextShadow.h:
74364         * platform/graphics/qt/GraphicsContextQt.cpp:
74365         (WebCore::GraphicsContext::fillRect):
74366         (WebCore::GraphicsContext::contextShadow):
74367
74368 2010-08-21  Eric Carlson  <eric.carlson@apple.com>
74369
74370         Reviewed by Dan Bernstein.
74371
74372         Media engine should not be asked to open all urls
74373         https://bugs.webkit.org/show_bug.cgi?id=44370
74374
74375         * platform/graphics/MediaPlayer.cpp:
74376         (WebCore::MediaPlayer::load): Do nothing with urls with a type attribute that would be
74377         rejected by canPlayType().
74378
74379 2010-08-21  Ariya Hidayat  <ariya@sencha.com>
74380
74381         Reviewed by Kenneth Rohde Christiansen.
74382
74383         [Qt] Faster bounding rect for the shadow clip region
74384         https://bugs.webkit.org/show_bug.cgi?id=44369
74385
74386         Like in r65650, we should use the faster QPainter::clipBoundingRect
74387         when it is available.
74388
74389         * platform/graphics/qt/ContextShadow.cpp:
74390         (WebCore::ContextShadow::drawShadowRect):
74391
74392 2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
74393
74394         Reviewed by Ariya Hidayat.
74395
74396         [Qt] When using the raster graphics system on Maemo5, allow
74397         Flash to render directly into the raster window surface.
74398         wmode=transparent is now supported as a result of this change.
74399         
74400         https://bugs.webkit.org/show_bug.cgi?id=44043
74401         
74402         * plugins/qt/PluginViewQt.cpp:
74403         (WebCore::PluginView::paintUsingImageSurfaceExtension):
74404
74405 2010-08-20  Alexey Proskuryakov  <ap@apple.com>
74406
74407         Reviewed by Brady Eidson.
74408
74409         https://bugs.webkit.org/show_bug.cgi?id=38428
74410         HTTP code 500 (and other non-4xx codes) wrongfully treated as success for subresources
74411
74412         Test: http/tests/misc/script-500.html
74413
74414         * loader/loader.cpp: (WebCore::Loader::Host::didReceiveData): Treat all HTTP codes >= 400 as
74415         error ones, since they are.
74416
74417 2010-08-20  Tony Gentilcore  <tonyg@chromium.org>
74418
74419         Reviewed by Adam Barth.
74420
74421         Crash in WebCore::Node::createRendererIfNeeded()
74422         https://bugs.webkit.org/show_bug.cgi?id=44129
74423
74424         * dom/ContainerNode.cpp:
74425         (WebCore::ContainerNode::insertBefore): Factor out core bit to insertBetween.
74426         (WebCore::ContainerNode::insertBetween): Factored out of insertBefore.
74427         (WebCore::ContainerNode::parserInsertBefore): Similar to insertBefore, but doesn't handle reparenting or dispatch DOM mutation events.
74428         (WebCore::ContainerNode::removeChild): Factor out core bit to removeBetween.
74429         (WebCore::ContainerNode::removeBetween): Facotred out of removeChild.
74430         (WebCore::ContainerNode::parserRemoveChild): Similar to removeChild, but doesn't handle reparenting or dispatch DOM mutation events.
74431         (WebCore::ContainerNode::addChildCommon):
74432         (WebCore::ContainerNode::parserAddChild):
74433         (WebCore::ContainerNode::legacyParserAddChild):
74434         * dom/ContainerNode.h:
74435         * dom/Node.cpp:
74436         (WebCore::Node::parserRemoveChild):
74437         (WebCore::Node::parserInsertBefore):
74438         * dom/Node.h:
74439         * html/HTMLConstructionSite.cpp:
74440         (WebCore::HTMLConstructionSite::attach):
74441         (WebCore::HTMLConstructionSite::attachAtSite): Use new parserInsertBefore.
74442         * html/HTMLTreeBuilder.cpp:
74443         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
74444         (WebCore::HTMLTreeBuilder::reparentChildren):
74445         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Was missing a key bit from the spec about removing the old parent if it exists.
74446
74447 2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
74448
74449         Unreviewed; build fix.  Had included wrong version of build file.
74450
74451 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
74452
74453         Reviewed by Joseph Pecoraro.
74454
74455         [GTK] Inspector extensions tests fail on GTK+ bots because onSelectionChanged is missing
74456         https://bugs.webkit.org/show_bug.cgi?id=44342
74457
74458         * GNUmakefile.am: Fix dependency tracking for copied web inspector files.
74459
74460 2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
74461
74462         Reviewed by Darin Fisher.
74463
74464         Add Callback implementation for FileSystem API
74465         https://bugs.webkit.org/show_bug.cgi?id=44349
74466
74467         No new tests; tests will be added later.
74468
74469         * CMakeLists.txt:
74470         * GNUmakefile.am:
74471         * WebCore.gypi:
74472         * WebCore.pro:
74473         * WebCore.vcproj/WebCore.vcproj:
74474         * WebCore.xcodeproj/project.pbxproj:
74475         * storage/FileSystemCallbacks.cpp: Added.
74476         * storage/FileSystemCallbacks.h: Added.
74477
74478         * storage/EntryCallback.h: Nits fix
74479         * storage/FileSystemCallback.h: Nits fix
74480
74481 2010-08-20  Andreas Kling  <andreas.kling@nokia.com>
74482
74483         Reviewed by Ariya Hidayat.
74484
74485         [Qt] WebKit does not compile with --3d-canvas
74486         https://bugs.webkit.org/show_bug.cgi?id=44335
74487
74488         - PlatformGLObject => Platform3DObject
74489         - Implemented getAttachedShaders()
74490         - Implemented bufferData() and bufferSubData() for ArrayBuffer*
74491         - Removed reference to nonexistent variable in getImageData()
74492
74493         * platform/graphics/qt/GraphicsContext3DQt.cpp:
74494         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
74495         (WebCore::GraphicsContext3D::attachShader):
74496         (WebCore::GraphicsContext3D::getAttachedShaders):
74497         (WebCore::GraphicsContext3D::bindAttribLocation):
74498         (WebCore::GraphicsContext3D::bindBuffer):
74499         (WebCore::GraphicsContext3D::bindFramebuffer):
74500         (WebCore::GraphicsContext3D::bindRenderbuffer):
74501         (WebCore::GraphicsContext3D::bindTexture):
74502         (WebCore::GraphicsContext3D::bufferData):
74503         (WebCore::GraphicsContext3D::bufferSubData):
74504         (WebCore::GraphicsContext3D::compileShader):
74505         (WebCore::GraphicsContext3D::detachShader):
74506         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
74507         (WebCore::GraphicsContext3D::framebufferTexture2D):
74508         (WebCore::GraphicsContext3D::getActiveAttrib):
74509         (WebCore::GraphicsContext3D::getActiveUniform):
74510         (WebCore::GraphicsContext3D::getAttribLocation):
74511         (WebCore::GraphicsContext3D::isBuffer):
74512         (WebCore::GraphicsContext3D::isFramebuffer):
74513         (WebCore::GraphicsContext3D::isProgram):
74514         (WebCore::GraphicsContext3D::isRenderbuffer):
74515         (WebCore::GraphicsContext3D::isShader):
74516         (WebCore::GraphicsContext3D::isTexture):
74517         (WebCore::GraphicsContext3D::linkProgram):
74518         (WebCore::GraphicsContext3D::shaderSource):
74519         (WebCore::GraphicsContext3D::useProgram):
74520         (WebCore::GraphicsContext3D::validateProgram):
74521         (WebCore::GraphicsContext3D::getProgramiv):
74522         (WebCore::GraphicsContext3D::getProgramInfoLog):
74523         (WebCore::GraphicsContext3D::getShaderiv):
74524         (WebCore::GraphicsContext3D::getShaderInfoLog):
74525         (WebCore::GraphicsContext3D::getShaderSource):
74526         (WebCore::GraphicsContext3D::getUniformfv):
74527         (WebCore::GraphicsContext3D::getUniformiv):
74528         (WebCore::GraphicsContext3D::getUniformLocation):
74529         (WebCore::GraphicsContext3D::getImageData):
74530         * platform/graphics/qt/GraphicsLayerQt.h:
74531
74532 2010-08-20  Dan Bernstein  <mitz@apple.com>
74533
74534         Reviewed by Dave Kilzer.
74535
74536         #ifdef-out some Leopard-and-earlier code.
74537
74538         * platform/graphics/mac/FontCustomPlatformData.cpp:
74539         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
74540
74541 2010-08-20  Kenneth Russell  <kbr@google.com>
74542
74543         Unreviewed, speculative Chromium build fix. Forward declare
74544         IntSize in WebGLRenderingContext.h and include IntSize.h in .cpp.
74545
74546         * html/canvas/WebGLRenderingContext.cpp:
74547         * html/canvas/WebGLRenderingContext.h:
74548
74549 2010-08-20  Eric Carlson  <eric.carlson@apple.com>
74550
74551         Reviewed by Dan Bernstein.
74552
74553         Media element canPlayType("application/octet-stream") not handled correctly
74554         https://bugs.webkit.org/show_bug.cgi?id=44343
74555
74556         Test: media/media-can-play-octet-stream.html
74557
74558         * platform/graphics/MediaPlayer.cpp:
74559         (WebCore::applicationOctetStream): New, accessor for static string used more than once.
74560         (WebCore::textPlain): Ditto.
74561         (WebCore::codecs): Ditto.
74562         (WebCore::chooseBestEngineForTypeAndCodecs): Special case "application/octet-stream".
74563         (WebCore::MediaPlayer::load): Use static static string methods.
74564         (WebCore::MediaPlayer::supportsType): Special case "application/octet-stream".
74565
74566 2010-08-20  Adrienne Walker  <enne@google.com>
74567
74568         Reviewed by Kenneth Russell.
74569
74570         Implement HTMLVideoElement support for texImage2D and texSubImage2D
74571         https://bugs.webkit.org/show_bug.cgi?id=33852
74572
74573         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
74574
74575         * html/canvas/WebGLRenderingContext.cpp:
74576         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
74577         (WebCore::WebGLRenderingContext::videoFrameToImage):
74578         (WebCore::WebGLRenderingContext::texImage2D):
74579         (WebCore::WebGLRenderingContext::texSubImage2D):
74580         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
74581         (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
74582         (WebCore::WebGLRenderingContext::LRUImageBufferCache::bubbleToFront):
74583         * html/canvas/WebGLRenderingContext.h:
74584
74585 2010-08-20  Dumitru Daniliuc  <dumi@chromium.org>
74586
74587         Reviewed by Adam Barth.
74588
74589         Removing an incorrect ASSERT.
74590         https://bugs.webkit.org/show_bug.cgi?id=44151
74591
74592         A failure in the preflight step of a transaction wrapper does not
74593         guarantee that the transaction is rolled back (and it shouldn't).
74594
74595         Test: storage/change-version-no-crash-on-preflight-failure.html
74596
74597         * storage/SQLTransaction.cpp:
74598         (WebCore::SQLTransaction::openTransactionAndPreflight):
74599
74600 2010-08-20  David Leong  <david.leong@nokia.com>
74601
74602         Reviewed by Laszlo Gombos.
74603
74604         [Qt] Update Symbian capabilities to remove AllFiles and DRM
74605         
74606         Add CONFIG(production) variation for set of DLL capabilities.
74607         DRM and AllFiles capabilities need to be audited for the sis
74608         package to be signed.
74609         
74610         No new tests.
74611
74612         * WebCore.pro: Updated Symbian Capabilities. 
74613
74614 2010-08-20  Joseph Pecoraro  <joepeck@webkit.org>
74615
74616         Reviewed by David Kilzer.
74617
74618         Do Not Copy Subversion Related Files in Inspector Build Phase
74619         https://bugs.webkit.org/show_bug.cgi?id=44353
74620
74621         * WebCore.xcodeproj/project.pbxproj: remove .svn directories in the "Copy Inspector Resources" build phase.
74622
74623 2010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
74624
74625         Reviewed by Adam Barth.
74626
74627         style correction in markup.cpp
74628         https://bugs.webkit.org/show_bug.cgi?id=44318
74629
74630         Make markup.cpp pass check-webkit-style.
74631
74632         No new tests are added since this is a cleanup.
74633
74634         * editing/markup.cpp:
74635         (WebCore::MarkupAccumulator::appendAttributeValue):
74636         (WebCore::appendEscapedContent):
74637         (WebCore::MarkupAccumulator::appendStartMarkup):
74638         (WebCore::completeURLs):
74639         (WebCore::isElementPresentational):
74640         (WebCore::isSpecialAncestorBlock):
74641         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
74642         (WebCore::createMarkup):
74643         (WebCore::fillContainerFromString):
74644         (WebCore::createFragmentFromText):
74645         (WebCore::createFragmentFromNodes):
74646
74647 2010-08-20  Tony Chang  <tony@chromium.org>
74648
74649         Reviewed by Adam Barth.
74650
74651         crash when trying to access a stale Node pointer in FocusController::setFocusedNode
74652         https://bugs.webkit.org/show_bug.cgi?id=44226
74653
74654         Test: fast/events/focus-change-crash2.html
74655
74656         * page/FocusController.cpp:
74657         (WebCore::FocusController::setFocusedNode): add a ref to prevent the focused node from being deleted
74658
74659 2010-08-20  Simon Fraser  <simon.fraser@apple.com>
74660
74661         Reviewed by Dan Bernstein.
74662
74663         <rdar://problem/8245719> backface-visibility and reflections don't play nicely together.
74664         
74665         On elements with a reflection and backface-visibility: hidden, set the doubleSided property on the 
74666         reflection flattening layer so that backface-visibility works in all configurations.
74667
74668         Test: compositing/reflections/backface-hidden-reflection.html
74669
74670         * platform/graphics/mac/GraphicsLayerCA.mm:
74671         (WebCore::GraphicsLayerCA::updateBackfaceVisibility): Call setDoubleSided: on the structural
74672         layer for reflections.
74673         (WebCore::GraphicsLayerCA::ensureStructuralLayer): Fix a comment typo, and call updateBackfaceVisibility()
74674         when we gain a structural layer.
74675
74676 2010-08-20  Simon Fraser  <simon.fraser@apple.com>
74677
74678         Reviewed by Dan Bernstein.
74679
74680         Slider labels do not update as you move the sliders on this page
74681         https://bugs.webkit.org/show_bug.cgi?id=41020
74682         
74683         When repainting after layout in a multicol element, we need to adjust the
74684         repaint rect for the columns.
74685
74686         Test: fast/repaint/multicol-repaint.html
74687
74688         * rendering/RenderBlock.cpp:
74689         (WebCore::RenderBlock::layoutBlock):
74690
74691 2010-08-20  Jian Li  <jianli@chromium.org>
74692
74693         Reviewed by David Levin.
74694
74695         Move FileStreamClient to platform and add AsyncFileStream interface.
74696         https://bugs.webkit.org/show_bug.cgi?id=44224
74697
74698         * GNUmakefile.am:
74699         * WebCore.gypi:
74700         * WebCore.pro:
74701         * WebCore.vcproj/WebCore.vcproj:
74702         * WebCore.xcodeproj/project.pbxproj:
74703         * html/FileStreamProxy.cpp: Account for the change.
74704         (WebCore::FileStreamProxy::FileStreamProxy):
74705         (WebCore::FileStreamProxy::stop):
74706         * html/FileStreamProxy.h: Make it derive from AsyncFileStream.h.
74707         * platform/AsyncFileStream.h: Added.
74708         * platform/FileStreamClient.h: Renamed from WebCore/html/FileStreamClient.h.
74709
74710 2010-08-20  Abhishek Arya  <inferno@chromium.org>
74711
74712         Reviewed by Darin Fisher.
74713
74714         Prevent use of stale notification presenter pointer in notifications by instead using
74715         a notification center pointer and deriving the presenter from it. Notification presenter
74716         gets properly destroyed using disconnectFrame function inside notification center. Add
74717         null checks for notification presenter.
74718         https://bugs.webkit.org/show_bug.cgi?id=43645
74719
74720         Test: fast/notifications/notifications-window-close-crash.html
74721
74722         * notifications/Notification.cpp:
74723         (WebCore::Notification::Notification):
74724         (WebCore::Notification::create):
74725         (WebCore::Notification::show):
74726         (WebCore::Notification::cancel):
74727         (WebCore::Notification::contextDestroyed):
74728         (WebCore::Notification::finishLoading):
74729         * notifications/Notification.h:
74730         (WebCore::Notification::detachPresenter):
74731         * notifications/NotificationCenter.h:
74732         (WebCore::NotificationCenter::createHTMLNotification):
74733         (WebCore::NotificationCenter::createNotification):
74734
74735 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
74736
74737         Reviewed by Xan Lopez.
74738
74739         r64526 broke the GTK+-3 build
74740         https://bugs.webkit.org/show_bug.cgi?id=44254
74741
74742         No new tests, as this is covered by manual-tests/cursor.html.
74743
74744         * platform/gtk/CursorGtk.cpp:
74745         (WebCore::createPixmapFromBits): Added this method which turns the inline data
74746         structures into GdkPixmaps using Cairo and GDK-Cairo.
74747         (WebCore::createNamedCursor): Modified this method to use the new helper.
74748         * platform/gtk/CursorGtk.h: Changed all inline data structures to be unsigned
74749         char arrays (which Cairo requires). The progress cursor is known in X11 icon themes
74750         as "left_ptr_watch." This change to the name preserves the old behavior of taking this
74751         icon from the theme when available. It seems that this worked in the past due to a fluke
74752         or failure of the previous code.
74753
74754 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
74755
74756         Reviewed by Dirk Schulze.
74757
74758         [Cairo] Eliminate full-surface copy from canvas.drawImage(...)
74759         https://bugs.webkit.org/show_bug.cgi?id=44190
74760
74761         Covered by canvas layout tests.
74762
74763         * platform/graphics/cairo/ImageBufferCairo.cpp:
74764         (WebCore::ImageBuffer::drawsUsingCopy): Return false now.
74765         (WebCore::ImageBuffer::clip): Add a link to the bug which tracks this feature.
74766         (WebCore::ImageBuffer::draw): Construct the bitmap image without the full-surface copy.
74767         (WebCore::ImageBuffer::drawPattern): Ditto.
74768
74769 2010-08-20  Alejandro G. Castro  <alex@igalia.com>
74770
74771         Reviewed by Xan Lopez.
74772
74773         [REGRESSION] r65608 broke gtk distcheck
74774         https://bugs.webkit.org/show_bug.cgi?id=44333
74775
74776         Define the inspector.html as a noinst_DATA intead of using the dir
74777         suffix, which is used for installation.
74778
74779         * GNUmakefile.am:
74780
74781 2010-08-19  Pavel Podivilov  <podivilov@chromium.org>
74782
74783         Reviewed by Yury Semikhatsky.
74784
74785         Web Inspector: implement breaking on DOM node subtree mutations.
74786         https://bugs.webkit.org/show_bug.cgi?id=42886
74787
74788         Add two entries to Web Inspector DOM element context menu:
74789         1. "Stop on subtree modifications": will break on adding/removing of any element which is a child of the DOM element
74790         2. "Remove breakpoints": will remove all breakpoints associated with the DOM element
74791
74792         * English.lproj/localizedStrings.js:
74793         * bindings/js/ScriptDebugServer.cpp:
74794         (WebCore::ScriptDebugServer::breakProgram):
74795         * bindings/js/ScriptDebugServer.h:
74796         * bindings/v8/ScriptDebugServer.cpp:
74797         (WebCore::ScriptDebugServer::breakProgram):
74798         (WebCore::ScriptDebugServer::breakProgramCallback):
74799         (WebCore::ScriptDebugServer::handleV8DebugEvent):
74800         * bindings/v8/ScriptDebugServer.h:
74801         * inspector/Inspector.idl:
74802         * inspector/InspectorDOMAgent.cpp:
74803         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
74804         (WebCore::InspectorDOMAgent::discardBindings):
74805         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
74806         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
74807         (WebCore::InspectorDOMAgent::didInsertDOMNode):
74808         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
74809         (WebCore::InspectorDOMAgent::hasBreakpoint):
74810         (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
74811         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
74812         * inspector/InspectorDOMAgent.h:
74813         * inspector/front-end/ElementsTreeOutline.js:
74814         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
74815         * inspector/front-end/Settings.js:
74816
74817 2010-08-20  Yury Semikhatsky  <yurys@chromium.org>
74818
74819         Reviewed by Pavel Feldman.
74820
74821         Web Inspector: discard InjectedScript reference on ScriptState when clearing injected scripts
74822         https://bugs.webkit.org/show_bug.cgi?id=44328
74823
74824         Otherwise if the reference is not cleared we may remove InjectedScript from the
74825         map on InjectedScriptHost but keep it on ScriptState and try to reuse it later.
74826
74827         * bindings/js/JSInjectedScriptHostCustom.cpp:
74828         (WebCore::InjectedScriptHost::discardInjectedScript):
74829         * bindings/v8/V8HiddenPropertyName.h:
74830         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
74831         (WebCore::InjectedScriptHost::discardInjectedScript):
74832         (WebCore::InjectedScriptHost::injectedScriptFor):
74833         * inspector/InjectedScript.h:
74834         (WebCore::InjectedScript::scriptState):
74835         * inspector/InjectedScriptHost.cpp:
74836         (WebCore::InjectedScriptHost::discardInjectedScripts):
74837         * inspector/InjectedScriptHost.h:
74838
74839 2010-08-20  Nikolas Zimmermann  <nzimmermann@rim.com>
74840
74841         Reviewed by Dirk Schulze.
74842
74843         Clippers are rasterized, when applied to scaled target object
74844         https://bugs.webkit.org/show_bug.cgi?id=44325
74845
74846         Use SVGImageBufferTools logic for RenderSVGResourceClipper, just like RenderSVGResourceMasker/Gradient,
74847         to avoid pixelation, when the clipper is applied to a scaled target object, or when the document is scaled.
74848
74849         Test: svg/clip-path/clip-path-pixelation.svg
74850
74851         * rendering/RenderSVGResourceClipper.cpp:
74852         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
74853         (WebCore::RenderSVGResourceClipper::createClipData):
74854         * rendering/RenderSVGResourceClipper.h:
74855
74856 2010-08-20  Andreas Kling  <andreas.kling@nokia.com>
74857
74858         Reviewed by Kenneth Rohde Christiansen.
74859
74860         [Qt] Initialize GDK before loading plugins
74861         https://bugs.webkit.org/show_bug.cgi?id=44324
74862
74863         Attempt to call gdk_init_check() before loading any plugins.
74864         This prevents various crashes and freezes in Adobe's Flash plugin.
74865
74866         * plugins/qt/PluginPackageQt.cpp:
74867         (WebCore::initializeGdkIfPossible):
74868         (WebCore::PluginPackage::load):
74869
74870 2010-08-20  Dan Bernstein  <mitz@apple.com>
74871
74872         Reviewed by Mark Rowe.
74873
74874         Follow-up to r41020.
74875
74876         No change in behavior, thus no new tests.
74877
74878         * platform/graphics/mac/FontPlatformDataMac.mm:
74879         (WebCore::FontPlatformData::FontPlatformData): Asserted that the NSFont parameter is not nil,
74880         and removed nil check.
74881         (WebCore::FontPlatformData::setFont): Asserted that the NSFont parameter is not nil and that
74882         this is not the deleted value, and removed code to handle those cases.
74883
74884 2010-08-19  Vincent Scheib  <scheib@chromium.org>
74885
74886         Reviewed by David Levin.
74887
74888         [chromium] TilingData::tilePositionY has typo of X where Y should be used
74889         https://bugs.webkit.org/show_bug.cgi?id=44195
74890
74891         Corrected error, and rewrote functions to use for loop instead of recursion.
74892
74893         Unit Tests added to WebKit/chromium/tests/TilingDataTest.cpp
74894
74895         * platform/graphics/chromium/TilingData.cpp:
74896         (WebCore::TilingData::tilePositionX):
74897         (WebCore::TilingData::tilePositionY):
74898
74899 2010-08-19  Mihai Parparita  <mihaip@chromium.org>
74900
74901         Reviewed by Brady Eidson.
74902
74903         Assertion failure when going back inside frame during onload
74904         https://bugs.webkit.org/show_bug.cgi?id=44217
74905
74906         Fix assertion failure when doing a history.back() within the main frame
74907         during onload of a child frame. This would happen when
74908         HISTORY_ALWAYS_ASYNC was set to 0, because we would only compare the
74909         current frame document sequence numbers when determining if we're in the
74910         same document, instead of also recursing over child frames.
74911
74912         Test: fast/history/history-back-within-subframe-hash.html
74913
74914         * history/HistoryItem.cpp:
74915         (WebCore::HistoryItem::hasSameDocuments):
74916         * history/HistoryItem.h:
74917         * loader/RedirectScheduler.cpp:
74918         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
74919
74920 2010-08-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
74921
74922         Reviewed by Antonio Gomes.
74923
74924         [Qt] Fix cursor change propagation
74925         https://bugs.webkit.org/show_bug.cgi?id=44250
74926
74927         No functional change so new tests.
74928
74929         Propagate the setCursor callback to the PageClient via the HostWindow instead of preassuming
74930         the concrete type of the ChromeClient (what was generally wrong and actually incompatible with WebKit2).
74931         * platform/qt/WidgetQt.cpp:
74932         (WebCore::Widget::setCursor):
74933
74934 2010-08-19  Vangelis Kokkevis  <vangelis@chromium.org>
74935
74936         Reviewed by Kenneth Russell.
74937
74938         [chromium] Rearranging the accelerated compositing code such that the
74939         layer rendering logic now lives in the layer classes rather than the
74940         compositor. This lifts the restriction of having one texture per layer
74941         and significantly cleans up the compositor code. This change mostly
74942         resulted in a lot of code moving around files. Noteworthy changes
74943         include:
74944         * Made LayerChromium a proper based class for layers that mostly handles
74945           the updates to the layer properties and superlayer / sublayer updates.
74946         * Introduced a new layer type, ContentLayerChromium, which handles
74947           layers that require a GraphicsContext to render their content.
74948         * ImageLayerChromium and VideoLayerChromium now derive from
74949           ContentLayerChromium as they share the same shader and draw function.
74950         * Removed TransformLayerChromium as its functionality is now replaced by
74951           the base LayerChromium class.
74952         * Re-arranged the order in which the members of LayerChromium are defined
74953           in the header file to form a more reasonable logical grouping.
74954         * Changed LayerRendererChromium to use the shader creation and drawing
74955           methods defined in the layer classes. As a result, a lot of GL code was
74956           removed from the implementation file.
74957         * Eliminated randomly dispersed calls to check for GL errors by a macro (GLC)
74958           which allows turning error testing on/off with a single define (DEBUG_GL_CALLS
74959           defined in LayerRendererChromium.h)
74960         * Replaced the previous layer render loop with two traversals of the layer
74961           hierarchy, the first to update transforms and opacity values and the
74962           second to render the layers. Eliminated global Z sorting of all layers as
74963           it was wrong.
74964         https://bugs.webkit.org/show_bug.cgi?id=44148
74965
74966         Test: Verified that pages using the compositor and compositor
74967               layout tests have not regressed.
74968
74969         * WebCore.gypi:
74970         * platform/graphics/chromium/CanvasLayerChromium.cpp:
74971         (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
74972         (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
74973         (WebCore::CanvasLayerChromium::updateContents):
74974         (WebCore::CanvasLayerChromium::draw):
74975         * platform/graphics/chromium/CanvasLayerChromium.h:
74976         (WebCore::CanvasLayerChromium::SharedValues::canvasShaderProgram):
74977         (WebCore::CanvasLayerChromium::SharedValues::shaderSamplerLocation):
74978         (WebCore::CanvasLayerChromium::SharedValues::shaderMatrixLocation):
74979         (WebCore::CanvasLayerChromium::SharedValues::shaderAlphaLocation):
74980         (WebCore::CanvasLayerChromium::SharedValues::initialized):
74981         * platform/graphics/chromium/ContentLayerChromium.cpp: Added.
74982         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
74983         (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
74984         (WebCore::ContentLayerChromium::create):
74985         (WebCore::ContentLayerChromium::ContentLayerChromium):
74986         (WebCore::ContentLayerChromium::~ContentLayerChromium):
74987         (WebCore::ContentLayerChromium::updateContents):
74988         (WebCore::ContentLayerChromium::updateTextureRect):
74989         (WebCore::ContentLayerChromium::draw):
74990         * platform/graphics/chromium/ContentLayerChromium.h: Added.
74991         (WebCore::ContentLayerChromium::drawsContent):
74992         (WebCore::ContentLayerChromium::SharedValues::contentShaderProgram):
74993         (WebCore::ContentLayerChromium::SharedValues::shaderSamplerLocation):
74994         (WebCore::ContentLayerChromium::SharedValues::shaderMatrixLocation):
74995         (WebCore::ContentLayerChromium::SharedValues::shaderAlphaLocation):
74996         (WebCore::ContentLayerChromium::SharedValues::initialized):
74997         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
74998         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
74999         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
75000         * platform/graphics/chromium/ImageLayerChromium.cpp:
75001         (WebCore::ImageLayerChromium::ImageLayerChromium):
75002         (WebCore::ImageLayerChromium::updateContents):
75003         * platform/graphics/chromium/ImageLayerChromium.h:
75004         * platform/graphics/chromium/LayerChromium.cpp:
75005         (WebCore::loadShader):
75006         (WebCore::LayerChromium::SharedValues::SharedValues):
75007         (WebCore::LayerChromium::SharedValues::~SharedValues):
75008         (WebCore::LayerChromium::LayerChromium):
75009         (WebCore::LayerChromium::~LayerChromium):
75010         (WebCore::LayerChromium::createShaderProgram):
75011         (WebCore::LayerChromium::toGLMatrix):
75012         (WebCore::LayerChromium::drawTexturedQuad):
75013         (WebCore::LayerChromium::drawDebugBorder):
75014         (WebCore::LayerChromium::prepareForDraw):
75015         * platform/graphics/chromium/LayerChromium.h:
75016         (WebCore::LayerChromium::getSublayers):
75017         (WebCore::LayerChromium::setPosition):
75018         (WebCore::LayerChromium::contentsDirty):
75019         (WebCore::LayerChromium::drawsContent):
75020         (WebCore::LayerChromium::updateContents):
75021         (WebCore::LayerChromium::draw):
75022         (WebCore::LayerChromium::SharedValues::quadVerticesVbo):
75023         (WebCore::LayerChromium::SharedValues::quadElementsVbo):
75024         (WebCore::LayerChromium::SharedValues::maxTextureSize):
75025         (WebCore::LayerChromium::SharedValues::borderShaderProgram):
75026         (WebCore::LayerChromium::SharedValues::borderShaderMatrixLocation):
75027         (WebCore::LayerChromium::SharedValues::borderShaderColorLocation):
75028         (WebCore::LayerChromium::SharedValues::initialized):
75029         (WebCore::LayerChromium::layerRenderer):
75030         * platform/graphics/chromium/LayerRendererChromium.cpp:
75031         (WebCore::LayerRendererChromium::LayerRendererChromium):
75032         (WebCore::LayerRendererChromium::~LayerRendererChromium):
75033         (WebCore::LayerRendererChromium::debugGLCall):
75034         (WebCore::LayerRendererChromium::useShader):
75035         (WebCore::LayerRendererChromium::drawLayers):
75036         (WebCore::LayerRendererChromium::createLayerTexture):
75037         (WebCore::LayerRendererChromium::updateLayersRecursive):
75038         (WebCore::LayerRendererChromium::drawLayersRecursive):
75039         (WebCore::LayerRendererChromium::drawLayer):
75040         (WebCore::LayerRendererChromium::checkTextureSize):
75041         (WebCore::LayerRendererChromium::initializeSharedObjects):
75042         (WebCore::LayerRendererChromium::cleanupSharedObjects):
75043         * platform/graphics/chromium/LayerRendererChromium.h:
75044         (WebCore::LayerRendererChromium::projectionMatrix):
75045         (WebCore::LayerRendererChromium::layerSharedValues):
75046         (WebCore::LayerRendererChromium::contentLayerSharedValues):
75047         (WebCore::LayerRendererChromium::canvasLayerSharedValues):
75048         * platform/graphics/chromium/TransformLayerChromium.cpp: Removed.
75049         * platform/graphics/chromium/TransformLayerChromium.h: Removed.
75050         * platform/graphics/chromium/VideoLayerChromium.cpp:
75051         (WebCore::VideoLayerChromium::VideoLayerChromium):
75052         (WebCore::VideoLayerChromium::updateContents):
75053         (WebCore::VideoLayerChromium::createTextureRect):
75054         * platform/graphics/chromium/VideoLayerChromium.h:
75055
75056 2010-08-19  David Kilzer  <ddkilzer@apple.com>
75057
75058         BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
75059
75060         * WebCore.exp.in:
75061         (WebCore::ScrollView::contentsToWindow): Added export.
75062
75063 2010-08-19  David Kilzer  <ddkilzer@apple.com>
75064
75065         BUILD FIX #3: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
75066
75067         Still trying to make Qt Linux Release minimal buildbot happy.
75068
75069         * plugins/PluginViewNone.cpp: Compile missing methods for Qt.
75070
75071 2010-08-19  David Kilzer  <ddkilzer@apple.com>
75072
75073         BUILD FIX: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
75074
75075         Reviewed by Joseph Pecoraro.
75076
75077         * plugins/PluginView.cpp: Added #if ENABLE(NETSCAPE_PLUGIN_API)
75078         and #endif macros around the source to fix the Qt Linux Release
75079         Minimal build.
75080
75081 2010-08-19  Stephen White  <senorblanco@chromium.org>
75082
75083         Reviewed by Kenneth Russell.
75084
75085         [CHROMIUM] Assert w/canvas image draw
75086         https://bugs.webkit.org/show_bug.cgi?id=44279
75087
75088         Don't use bitmap->pixelRef()->getPixels() directly; prefer
75089         bitmap->pixels() and an SkAutoLockPixels.  Also, make sure to set
75090         the backing store state to Software when it was None.  This handles
75091         missing draws when the first call is software.  Finally, remove some
75092         spurious prepareForSoftwareDraw() calls in addPath() and beginPath().
75093         It's really the fillPath() or strokePath() that matters.
75094
75095         Covered by LayoutTests/fast/canvas/arc360.html and others.
75096
75097         * platform/graphics/skia/GraphicsContextSkia.cpp:
75098         (WebCore::GraphicsContext::addPath):
75099         (WebCore::GraphicsContext::beginPath):
75100         Remove spurious prepareForSoftwareDraw() calls.
75101         * platform/graphics/skia/ImageSkia.cpp:
75102         (WebCore::drawBitmapGLES2):
75103         Lock SkBitmap's pixels, and use ->getPixels().
75104         * platform/graphics/skia/PlatformContextSkia.cpp:
75105         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
75106         Switch backing store state to Software when it was None.
75107
75108 2010-08-19  David Kilzer  <ddkilzer@apple.com>
75109
75110         <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
75111
75112         Reviewed by Joseph Pecoraro.
75113
75114         * WebCore.exp.in:
75115         (WebCore::HTMLPlugInElement::getNPObject): Moved from general
75116         section into ENABLE(NETSCAPE_PLUGIN_API) section.
75117         (WebCore::FrameView::windowClipRectForLayer): Moved from
75118         ENABLE(NETSCAPE_PLUGIN_API) section to general section since
75119         it's used by WebKit2.
75120         * plugins/PluginView.h: Added #if ENABLE(NETSCAPE_PLUGIN_API)
75121         and #endif macros as needed to make iOS WebKit build with
75122         NETSCAPE_PLUGIN_API disabled.
75123         * plugins/PluginViewNone.cpp: Ditto.
75124         (WebCore::PluginView::platformGetValueStatic):
75125
75126 2010-08-17  Eric Seidel  <eric@webkit.org>
75127
75128         Reviewed by Adam Barth.
75129
75130         Make DocumentParser safer to use
75131         https://bugs.webkit.org/show_bug.cgi?id=43055
75132
75133         Make DocumentParser and its subclasses RefCounted, and protect
75134         HTMLDocumentParser during parsing. It's possible for a parser to
75135         get deleted if certain actions (e.g., a document.write()) occur
75136         synchronously.
75137
75138         The original version of this patch was written by Nate Chapin.
75139
75140         DocumentParser doesn't actually have to be fully RefCounted, since
75141         the only two things which should ever hold a reference to it are
75142         Document and DocumentParser itself.  However using RefCounted and
75143         RefPtr was easier/cleaner than inventing a custom ref() scheme.
75144
75145         This deploys a new "detach()" method throughout the parsing
75146         framework.  detach() causes the parser to disconnect from the
75147         document so that no further modifications will be made to the
75148         document while any possible DocumentParser stacks are unwound.
75149
75150         The irony of this patch is that the new detach() system is never
75151         used, since Document always outlives the DocumentParser in all of
75152         our layout tests.  There is an ASSERT in ~Document() to verify
75153         that the DocumentParser will not outlive the Document.
75154
75155         However I expect that we will soon either find new test cases, or change
75156         the architecture in such a way that DocumentParser will outlive
75157         Document.  At which point, the detach() plumbing will be crucial.
75158         Right now detach() serves as a safe-guard against use-after-free bugs
75159         for any case where DocumentParser does outlive the Document.
75160
75161         This also fixes test cases attached to:
75162         https://bugs.webkit.org/show_bug.cgi?id=42099
75163
75164         Tests: fast/frames/document-write-in-iframe-onload.html
75165                fast/frames/set-parent-src-synchronously.html
75166                fast/parser/document-close-iframe-load.html
75167                fast/parser/document-close-nested-iframe-load.html
75168                fast/parser/iframe-sets-parent-to-javascript-url.html
75169
75170         * dom/Document.cpp:
75171          - Added a new detachParser() call to be used anywhere we
75172            used to call m_parser.clear().
75173            There is an ASSERT in ~DocumentParser which ensures that
75174            we get this right.
75175         (WebCore::Document::removedLastRef):
75176         (WebCore::Document::~Document):
75177         (WebCore::Document::createParser):
75178         (WebCore::Document::detachParser):
75179         (WebCore::Document::cancelParsing):
75180         (WebCore::Document::implicitOpen):
75181          - removed redundant m_parser.clear()
75182         (WebCore::Document::implicitClose):
75183         * dom/Document.h:
75184         * dom/DocumentParser.cpp:
75185         (WebCore::DocumentParser::~DocumentParser):
75186          - ASSERT that callers always call detach() before destruction.
75187          - This ASSERT might prove too cumbersome, but for now it's useful.
75188         (WebCore::DocumentParser::detach):
75189         * dom/DocumentParser.h:
75190         * dom/RawDataDocumentParser.h:
75191         * dom/XMLDocumentParser.cpp:
75192         (WebCore::XMLDocumentParser::finish):
75193          - Add a FIXME explaining part of the reason why
75194            stopParsing() and detach() are separate concepts.
75195         * dom/XMLDocumentParser.h:
75196         (WebCore::XMLDocumentParser::create):
75197         * dom/XMLDocumentParserLibxml2.cpp:
75198         (WebCore::XMLDocumentParser::parseDocumentFragment):
75199         * dom/XMLDocumentParserQt.cpp:
75200         (WebCore::XMLDocumentParser::parseDocumentFragment):
75201         * html/HTMLConstructionSite.cpp:
75202         (WebCore::HTMLConstructionSite::detach):
75203         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
75204         * html/HTMLConstructionSite.h:
75205         * html/HTMLDocument.cpp:
75206         (WebCore::HTMLDocument::createParser):
75207         * html/HTMLDocument.h:
75208         * html/HTMLDocumentParser.cpp:
75209          - We need to protect(this) before calling into any code
75210            which might cause the parser to be destroyed.
75211         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
75212         (WebCore::HTMLDocumentParser::detach):
75213         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
75214         (WebCore::HTMLDocumentParser::pumpTokenizer):
75215         (WebCore::HTMLDocumentParser::insert):
75216         (WebCore::HTMLDocumentParser::append):
75217         (WebCore::HTMLDocumentParser::end):
75218         (WebCore::HTMLDocumentParser::finish):
75219         (WebCore::HTMLDocumentParser::notifyFinished):
75220         (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
75221         (WebCore::HTMLDocumentParser::parseDocumentFragment):
75222         * html/HTMLDocumentParser.h:
75223         (WebCore::HTMLDocumentParser::create):
75224         * html/HTMLScriptRunner.cpp:
75225         (WebCore::HTMLScriptRunner::detach):
75226         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
75227         (WebCore::HTMLScriptRunner::executeScript):
75228         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
75229         (WebCore::HTMLScriptRunner::runScript):
75230         * html/HTMLScriptRunner.h:
75231         * html/HTMLTreeBuilder.cpp:
75232         (WebCore::HTMLTreeBuilder::detach):
75233         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
75234         (WebCore::HTMLTreeBuilder::finished):
75235         * html/HTMLTreeBuilder.h:
75236         * html/HTMLViewSourceDocument.cpp:
75237         (WebCore::HTMLViewSourceDocument::createParser):
75238         * html/HTMLViewSourceDocument.h:
75239         * html/HTMLViewSourceParser.cpp:
75240         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
75241         * html/HTMLViewSourceParser.h:
75242         (WebCore::HTMLViewSourceParser::create):
75243         * loader/FTPDirectoryDocument.cpp:
75244         (WebCore::FTPDirectoryDocumentParser::create):
75245         (WebCore::FTPDirectoryDocument::createParser):
75246         * loader/FTPDirectoryDocument.h:
75247         * loader/ImageDocument.cpp:
75248         (WebCore::ImageDocumentParser::create):
75249         (WebCore::ImageDocumentParser::ImageDocumentParser):
75250         (WebCore::ImageDocument::createParser):
75251         * loader/ImageDocument.h:
75252         * loader/MediaDocument.cpp:
75253         (WebCore::MediaDocumentParser::create):
75254         (WebCore::MediaDocument::createParser):
75255         * loader/MediaDocument.h:
75256         * loader/PluginDocument.cpp:
75257         (WebCore::PluginDocumentParser::create):
75258         (WebCore::PluginDocument::createParser):
75259         * loader/PluginDocument.h:
75260         * loader/SinkDocument.cpp:
75261         (WebCore::SinkDocumentParser::create):
75262         (WebCore::SinkDocument::createParser):
75263         * loader/SinkDocument.h:
75264         * loader/TextDocument.cpp:
75265         (WebCore::TextDocumentParser::create):
75266         (WebCore::TextDocument::createParser):
75267         (WebCore::createTextDocumentParser):
75268         * loader/TextDocument.h:
75269
75270 2010-08-19  David Kilzer  <ddkilzer@apple.com>
75271
75272         Fix compilation of SelectElement.cpp with ARROW_KEYS_POP_MENU == 0
75273
75274         Reviewed by Simon Fraser.
75275
75276         * dom/SelectElement.cpp:
75277         (WebCore::SelectElement::menuListDefaultEventHandler): Added
75278         UNUSED_PARAM() macro for htmlForm argument when
75279         ARROW_KEYS_POP_MENU defined as zero.
75280
75281 2010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
75282
75283         Reviewed by Simon Hausmann.
75284
75285         [Qt] Disable XSLT for production configuration
75286         https://bugs.webkit.org/show_bug.cgi?id=37445
75287
75288         Introduce a new CONFIG option to maintain stable configuration for
75289         the QtWebKit port and disable XSLT for the stable configuration
75290         because of bug 37445.
75291
75292         No new tests as there is no new functionality.
75293
75294         * features.pri:
75295
75296 2010-08-18  Zhenyao Mo  <zmo@google.com>
75297
75298         Reviewed by Kenneth Russell.
75299
75300         Implement strict type checking in js bindings for WebGL functions
75301         https://bugs.webkit.org/show_bug.cgi?id=44202
75302
75303         Test: fast/canvas/webgl/bad-arguments-test.html
75304
75305         * bindings/js/JSWebGLRenderingContextCustom.cpp: Add type check for wrapper types and DOMString and throw error in case of mismatch.
75306         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
75307         (WebCore::JSWebGLRenderingContext::getProgramParameter):
75308         (WebCore::JSWebGLRenderingContext::getShaderParameter):
75309         (WebCore::JSWebGLRenderingContext::getUniform):
75310         (WebCore::dataFunctionf):
75311         (WebCore::dataFunctioni):
75312         (WebCore::dataFunctionMatrix):
75313         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
75314         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
75315         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Ditto.
75316         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
75317         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
75318         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
75319         (WebCore::V8WebGLRenderingContext::getUniformCallback):
75320         (WebCore::vertexAttribAndUniformHelperf):
75321         (WebCore::uniformHelperi):
75322         (WebCore::uniformMatrixHelper):
75323         * html/canvas/WebGLRenderingContext.idl: Add attribute StrictTypeChecking for WebGL functions.
75324
75325 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
75326
75327         Reviewed by Sam Weinig.
75328
75329         Clean up some selection code
75330         https://bugs.webkit.org/show_bug.cgi?id=44314
75331         
75332         Change the concept of "layout" in SelectionController to "updateCaretRect", renaming
75333         methods accordingly.
75334         
75335         Move selection and printing methods in RenderView.h into groups.
75336
75337         No behavioral changes.
75338
75339         * editing/SelectionController.cpp:
75340         (WebCore::SelectionController::SelectionController):
75341         (WebCore::SelectionController::setSelection):
75342         (WebCore::SelectionController::modify):
75343         (WebCore::SelectionController::setCaretRectNeedsUpdate):
75344         (WebCore::SelectionController::updateCaretRect):
75345         (WebCore::SelectionController::localCaretRect):
75346         (WebCore::SelectionController::recomputeCaretRect): Test m_caretRectNeedsUpdate first.
75347         (WebCore::SelectionController::invalidateCaretRect):
75348         * editing/SelectionController.h:
75349         * page/FrameView.cpp:
75350         (WebCore::FrameView::layout):
75351         * rendering/RenderLayer.cpp:
75352         (WebCore::RenderLayer::scrollToOffset):
75353         * rendering/RenderView.h:
75354         (WebCore::RenderView::selectionStart):
75355         (WebCore::RenderView::selectionEnd):
75356         (WebCore::RenderView::printRect):
75357         (WebCore::RenderView::setPrintRect):
75358
75359 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
75360
75361         Fix Chromium build.
75362         
75363         * svg/SVGElement.cpp:
75364         (WebCore::SVGElement::attributeChanged):
75365
75366 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
75367
75368         Reviewed by Nikolas Zimmermann.
75369
75370         HTMLElement::isContentEditable() can cause an updateStyleIfNeeded() to happen in the middle of layout
75371         https://bugs.webkit.org/show_bug.cgi?id=21834
75372         <rdar://problem/8093653&8261394>
75373         
75374         If we're in the middle of layout, or painting, and something causes updateStyleIfNeeded() to
75375         get called, then we can end up entering recalcStyle() during layout or painting. This is bad
75376         because it can create/destry the renderers and RenderLayers which are in use by layout/painting.
75377         This is the cause of a number of random crashers, some of which show up more frequently
75378         in content which uses accelerated compositing.
75379         
75380         The changes here:
75381         1. Add an assertion in Document::updateStyleIfNeeded() that we are not laying out or painting.
75382         2. Remove calls to updateStyleIfNeeded() in editing and caret painting code
75383         3. Pass along information to CTM and BBox-related SVG methods to indicate whether it's safe
75384            to update style.
75385
75386         Tested by new assertions and existing tests.
75387
75388         * dom/Document.cpp:
75389         (WebCore::Document::updateStyleIfNeeded): New assertion that we are not mid-layout or painting.
75390         (WebCore::command): Call updateStyleIfNeeded() to ensure that subsequent calls to isContentEditable()
75391         return the correct result.
75392
75393         * dom/Element.cpp:
75394         (WebCore::Element::focus): Move the supportsFocus() call to after style has been updated.
75395
75396         * editing/SelectionController.cpp:
75397         (WebCore::SelectionController::localCaretRect):
75398         (WebCore::SelectionController::caretRepaintRect):
75399         (WebCore::SelectionController::paintCaret):
75400         * editing/SelectionController.h:
75401         (WebCore::SelectionController::localCaretRectForPainting): When painting, use localCaretRectForPainting()
75402         which does not update style. Make localCaretRect() non-const so allowing it to update style without ugly casts.
75403
75404         * html/HTMLElement.cpp:
75405         (WebCore::HTMLElement::isContentEditable): Don't call updateStyleIfNeeded() here.
75406         (WebCore::HTMLElement::isContentRichlyEditable): Ditto.
75407         (WebCore::HTMLElement::contentEditable): Ditto.
75408
75409         * page/FrameView.h:
75410         (WebCore::FrameView::isMidLayout): New accessor, used for asserting.
75411
75412         * rendering/RenderPath.cpp:
75413         (WebCore::fillAndStrokePath): Pass DisallowStyleUpdate to getScreenCTM since we are painting.
75414         * rendering/RenderSVGResourceContainer.cpp:
75415         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): This is only called when
75416         painting, so use DisallowStyleUpdate.
75417
75418         * svg/SVGElement.cpp:
75419         (WebCore::SVGElement::attributeChanged): Changes to the style attribute should not have
75420         side effects, since a call to Element::getAttribute() is allowed to result in a call to
75421         setAttribute() for the style attribute. To avoid updateStyleIfNeeded() during painting,
75422         this must not cause SVG to do extra work.
75423
75424         * svg/SVGLocatable.cpp: Pass StyleUpdateStrategy down to these methods to indicate
75425         whether it's OK to update style.
75426         (WebCore::SVGLocatable::getBBox):
75427         (WebCore::SVGLocatable::computeCTM):
75428         (WebCore::SVGLocatable::getTransformToElement):
75429         * svg/SVGLocatable.h:
75430         (WebCore::SVGLocatable::):
75431         * svg/SVGStyledLocatableElement.cpp:
75432         (WebCore::SVGStyledLocatableElement::getBBox):
75433         (WebCore::SVGStyledLocatableElement::getCTM):
75434         (WebCore::SVGStyledLocatableElement::getScreenCTM):
75435         * svg/SVGStyledLocatableElement.h:
75436         * svg/SVGStyledTransformableElement.cpp:
75437         (WebCore::SVGStyledTransformableElement::getCTM):
75438         (WebCore::SVGStyledTransformableElement::getScreenCTM):
75439         (WebCore::SVGStyledTransformableElement::getBBox):
75440         * svg/SVGStyledTransformableElement.h:
75441         * svg/SVGTextElement.cpp:
75442         (WebCore::SVGTextElement::getBBox):
75443         (WebCore::SVGTextElement::getCTM):
75444         (WebCore::SVGTextElement::getScreenCTM):
75445         * svg/SVGTextElement.h:
75446
75447 2010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
75448
75449         Reviewed by Darin Adler.
75450
75451         Range, EAnnotateForInterchange, and EAbsoluteURLs should be member variables of MarkupAccumulator
75452         https://bugs.webkit.org/show_bug.cgi?id=44229
75453
75454         No new tests are added since this is a clean up.
75455
75456         * editing/markup.cpp:
75457         (WebCore::MarkupAccumulator::MarkupAccumulator): Added shouldResolveURLs, shouldAnnotate, and range.
75458         (WebCore::MarkupAccumulator::shouldResolveURLs): Private inline accessor for m_shouldResolveURLs.
75459         (WebCore::MarkupAccumulator::shouldAnnotate): Private inline accessor for m_shouldAnnotate.
75460         (WebCore::MarkupAccumulator::appendEndTag): Renamed local variable result to markup.
75461         (WebCore::MarkupAccumulator::appendStartTag): Removed range, annotate, shouldResolveURLs from the function arguments.
75462         (WebCore::MarkupAccumulator::wrapWithNode): Ditto.
75463         (WebCore::MarkupAccumulator::appendStartMarkup): Ditto.
75464         (WebCore::serializeNodes): Ditto and uses MarkupAccumulator.
75465         (WebCore::createMarkup): Uses MarkupAccumulator.
75466         (WebCore::serializeNodesWithNamespaces): Ditto.
75467
75468 2010-08-19  Pavel Feldman  <pfeldman@chromium.org>
75469
75470         Reviewed by Yury Semikhatsky.
75471
75472         Web Inspector: do not dump inspector errors into the inspected window console.
75473         https://bugs.webkit.org/show_bug.cgi?id=44272
75474
75475         * inspector/front-end/inspector.js:
75476         (WebInspector.reportProtocolError):
75477
75478 2010-08-19  Jeremy Orlow  <jorlow@chromium.org>
75479
75480         Chromium build fix.
75481
75482         Use ASSERT_UNUSED on variables that aren't used besides by the ASSERT.
75483
75484         * storage/IDBDatabaseBackendImpl.cpp:
75485         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
75486         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
75487         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
75488         * storage/IDBObjectStoreBackendImpl.cpp:
75489         (WebCore::IDBObjectStoreBackendImpl::get):
75490         (WebCore::IDBObjectStoreBackendImpl::put):
75491         (WebCore::IDBObjectStoreBackendImpl::remove):
75492         (WebCore::IDBObjectStoreBackendImpl::createIndex):
75493         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
75494         (WebCore::IDBObjectStoreBackendImpl::openCursor):
75495         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
75496
75497 2010-08-19  Andrey Kosyakov  <caseq@chromium.org>
75498
75499         Reviewed by Pavel Feldman.
75500
75501         Web Inspector: expose Panel.onSelectionChanged in extension API
75502         https://bugs.webkit.org/show_bug.cgi?id=44171
75503
75504         * inspector/front-end/ExtensionAPI.js:
75505         (injectedExtensionAPI.PanelImpl):
75506         (injectedExtensionAPI):
75507
75508 2010-08-19  Andrei Popescu  <andreip@google.com>
75509
75510         Reviewed by Jeremy Orlow.
75511
75512         [IndexedDB] Abort idle IDBTransactions when the JS context they were created in finishes execution.
75513         https://bugs.webkit.org/show_bug.cgi?id=44101
75514
75515         This change also introduces the TransactionCoordinator, which will be used
75516         to schedule transactions for execution.
75517
75518         Test: storage/indexeddb/transaction-basics.html
75519
75520         * WebCore.gypi:
75521         * bindings/v8/V8DOMWrapper.cpp:
75522         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
75523         * bindings/v8/V8Proxy.cpp:
75524         (WebCore::V8Proxy::runScript):
75525         (WebCore::V8Proxy::callFunction):
75526         (WebCore::V8Proxy::didLeaveScriptContext):
75527         * bindings/v8/V8Proxy.h:
75528         * dom/EventTarget.cpp:
75529         (WebCore::EventTarget::toIDBTransaction):
75530         * dom/EventTarget.h:
75531         * page/PageGroup.h:
75532         (WebCore::PageGroup::hasIDBFactory):
75533         * storage/IDBAbortEvent.cpp: Added.
75534         (WebCore::IDBAbortEvent::create):
75535         (WebCore::IDBAbortEvent::IDBAbortEvent):
75536         (WebCore::IDBAbortEvent::~IDBAbortEvent):
75537         * storage/IDBAbortEvent.h: Added.
75538         (WebCore::IDBAbortEvent::isIDBAbortEvent):
75539         * storage/IDBDatabase.cpp:
75540         (WebCore::IDBDatabase::transaction):
75541         * storage/IDBDatabaseBackendImpl.cpp:
75542         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
75543         (WebCore::IDBDatabaseBackendImpl::transaction):
75544         * storage/IDBDatabaseBackendImpl.h:
75545         (WebCore::IDBDatabaseBackendImpl::create):
75546         * storage/IDBDatabaseBackendInterface.h:
75547         * storage/IDBFactoryBackendImpl.cpp:
75548         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
75549         (WebCore::IDBFactoryBackendImpl::open):
75550         (WebCore::IDBFactoryBackendImpl::abortPendingTransactions):
75551         * storage/IDBFactoryBackendImpl.h:
75552         * storage/IDBFactoryBackendInterface.h:
75553         * storage/IDBPendingTransactionMonitor.cpp: Added.
75554         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
75555         (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
75556         (WebCore::IDBPendingTransactionMonitor::clearPendingTransactions):
75557         (WebCore::IDBPendingTransactionMonitor::pendingTransactions):
75558         * storage/IDBPendingTransactionMonitor.h: Added.
75559         * storage/IDBTransaction.cpp:
75560         (WebCore::IDBTransaction::IDBTransaction):
75561         (WebCore::IDBTransaction::onAbort):
75562         (WebCore::IDBTransaction::id):
75563         (WebCore::IDBTransaction::stop):
75564         (WebCore::IDBTransaction::timerFired):
75565         * storage/IDBTransaction.h:
75566         * storage/IDBTransactionBackendInterface.h:
75567         * storage/IDBTransactionCallbacks.h: Added.
75568         (WebCore::IDBTransactionCallbacks::~IDBTransactionCallbacks):
75569         * storage/IDBTransactionCoordinator.cpp: Added.
75570         (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
75571         (WebCore::IDBTransactionBackendImpl::create):
75572         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
75573         (WebCore::IDBTransactionBackendImpl::objectStore):
75574         (WebCore::IDBTransactionBackendImpl::mode):
75575         (WebCore::IDBTransactionBackendImpl::scheduleTask):
75576         (WebCore::IDBTransactionBackendImpl::abort):
75577         (WebCore::IDBTransactionBackendImpl::sqliteDatabase):
75578         (WebCore::IDBTransactionBackendImpl::id):
75579         (WebCore::IDBTransactionBackendImpl::setCallbacks):
75580         (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
75581         (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
75582         (WebCore::IDBTransactionCoordinator::createTransaction):
75583         (WebCore::IDBTransactionCoordinator::abort):
75584         * storage/IDBTransactionCoordinator.h: Added.
75585         (WebCore::IDBTransactionCoordinator::create):
75586
75587 2010-08-19  Pavel Feldman  <pfeldman@chromium.org>
75588
75589         Reviewed by Yury Semikhatsky.
75590
75591         Chromium DevTools: There is no need in resource-based InjectedScript.js source.
75592         Now that we populate front-end after its onload handler, we don't need
75593         to install injected script early. Exposing injected script source on the WebCore
75594         level here.
75595         https://bugs.webkit.org/show_bug.cgi?id=44029
75596
75597         * inspector/InjectedScriptHost.h:
75598         (WebCore::InjectedScriptHost::injectedScriptSource):
75599
75600 2010-08-18  Jeremy Orlow  <jorlow@chromium.org>
75601
75602         Reviewed by Steve Block.
75603
75604         Implement persistance for IndexedDB ObjectStores
75605         https://bugs.webkit.org/show_bug.cgi?id=44164
75606
75607         Get rid of the in-memory storage of ObjectStores and instead
75608         use SQL backed memory.
75609
75610         Existing tests give most of the coverage.  Will update the manual
75611         test in the next patch (which will also re-work database.description).
75612
75613         * manual-tests/indexed-database.html: Get rid of race where you can click before the page loads.
75614         * platform/sql/SQLiteStatement.cpp: Add two helper functions
75615         (WebCore::SQLiteStatement::bindInt):
75616         (WebCore::SQLiteStatement::isColumnNull):
75617         * platform/sql/SQLiteStatement.h:
75618         * storage/IDBCursorBackendImpl.cpp: 
75619         * storage/IDBDatabaseBackendImpl.cpp:
75620         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
75621         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
75622         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
75623         (WebCore::IDBDatabaseBackendImpl::importObjectStores):
75624         * storage/IDBDatabaseBackendImpl.h:
75625         (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
75626         * storage/IDBFactoryBackendImpl.cpp:
75627         (WebCore::createTables):
75628         * storage/IDBIndexBackendImpl.cpp:
75629         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
75630         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
75631         * storage/IDBIndexBackendImpl.h:
75632         (WebCore::IDBIndexBackendImpl::create):
75633         * storage/IDBObjectStoreBackendImpl.cpp:
75634         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
75635         (WebCore::whereClause):
75636         (WebCore::bindKey):
75637         (WebCore::IDBObjectStoreBackendImpl::get):
75638         (WebCore::IDBObjectStoreBackendImpl::put):
75639         (WebCore::IDBObjectStoreBackendImpl::remove):
75640         (WebCore::IDBObjectStoreBackendImpl::createIndex):
75641         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
75642         (WebCore::IDBObjectStoreBackendImpl::openCursor):
75643         (WebCore::IDBObjectStoreBackendImpl::importIndexes):
75644         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
75645         * storage/IDBObjectStoreBackendImpl.h:
75646         (WebCore::IDBObjectStoreBackendImpl::create):
75647         (WebCore::IDBObjectStoreBackendImpl::database):
75648
75649 2010-08-19  Nikolas Zimmermann  <nzimmermann@rim.com>
75650
75651         Reviewed by Dirk Schulze.
75652
75653         Pattern is rasterized
75654         https://bugs.webkit.org/show_bug.cgi?id=41396
75655
75656         SVG pattern size changed when resizing browser
75657         https://bugs.webkit.org/show_bug.cgi?id=38704
75658
75659         Incorrect pattern tilling
75660         https://bugs.webkit.org/show_bug.cgi?id=41603
75661
75662         Apply same fixes to <pattern> that <mask> recently received. Build the tile image in absolute coordinates,
75663         to avoid pixelation, when the target element is scaled. Also fixes problems when zooming into patterns.
75664
75665         Clamp ImageBuffer sizes to RenderSVGRoots viewport, now that gradient/pattern and mask buffers are created
75666         in absolute coordinates -> no more huge image buffer allocations, that could fail.
75667
75668         Drop overflow="visible" support for <pattern>, which complicates the code a lot. Neither Opera nor Firefox
75669         support this, and SVG 1.1 2nd Edition says that the rendering behaviour is "undefined".
75670
75671         Tests: svg/batik/paints/patternRegions-positioned-objects.svg
75672                svg/custom/pattern-incorrect-tiling.svg
75673                svg/custom/pattern-no-pixelation.svg
75674                svg/transforms/text-with-mask-with-svg-transform.svg
75675
75676         * rendering/PaintInfo.h:
75677         (WebCore::PaintInfo::applyTransform): Don't alter the repaint rect if it's infinite (only affects SVG).
75678         (WebCore::PaintInfo::infiniteRect): Moved from RenderLayer into PaintInfo, as applyTransform() needs it.
75679         * rendering/RenderLayer.cpp:
75680         (WebCore::RenderLayer::calculateClipRects): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
75681         * rendering/RenderLayer.h: Moved infiniteRect() to PaintInfo.
75682         * rendering/RenderLayerBacking.cpp:
75683         (WebCore::clipBox): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
75684         * rendering/RenderLayerCompositor.cpp:
75685         (WebCore::RenderLayerCompositor::clippedByAncestor): Ditto.
75686         * rendering/RenderSVGResourceGradient.cpp:
75687         (WebCore::createMaskAndSwapContextForTextGradient): Clamp image buffer size, use new SVGImageBufferTools helper methods for that.
75688         (WebCore::clipToTextMask): Adapt to renames/code changes in SVGImageBufferTools. 
75689         (WebCore::RenderSVGResourceGradient::applyResource): Ditto.
75690         * rendering/RenderSVGResourceMasker.cpp:
75691         (WebCore::RenderSVGResourceMasker::applyResource): lamp image buffer size, use new SVGImageBufferTools helper methods for that.
75692         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Adapt to renames/code changes in SVGImageBufferTools.
75693         * rendering/RenderSVGResourceMasker.h:
75694         * rendering/RenderSVGResourcePattern.cpp:
75695         (WebCore::RenderSVGResourcePattern::applyResource): Rewrite to create tile image buffers in absolute coordinates, avoids pixelation artefacts.
75696         (WebCore::calculatePatternBoundaries):
75697         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
75698         (WebCore::RenderSVGResourcePattern::createTileImage):
75699         * rendering/RenderSVGResourcePattern.h:
75700         * rendering/SVGImageBufferTools.cpp:
75701         (WebCore::SVGImageBufferTools::transformationToOutermostSVGCoordinateSystem): Helper method, concating all localToParentTransforms() up until RenderSVGRoot is reached.
75702         (WebCore::SVGImageBufferTools::createImageBuffer): Simplified.
75703         (WebCore::SVGImageBufferTools::clipToImageBuffer): Rename absoluteTargetRect to clampedAbsoluteTargetRect.
75704         (WebCore::SVGImageBufferTools::roundedImageBufferSize): New helper method to centralize FloatSize -> IntSize rounding, when creating image buffers.
75705         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): New helper methods to clamp an image buffer rect against the viewport.
75706         * rendering/SVGImageBufferTools.h:
75707         * rendering/SVGRenderSupport.cpp:
75708         (WebCore::SVGRenderSupport::renderSubtreeToImage): Use PaintInfo::infiniteRect() as repaint rect, to avoid any culling. 
75709         (WebCore::SVGRenderSupport::findTreeRootObject): Renamed from svgRootTreeObject, and expose it.
75710         (WebCore::SVGRenderSupport::layoutChildren): s/svgRootTreeObject/findTreeRootObject/.
75711         * rendering/SVGRenderSupport.h:
75712         * svg/SVGSVGElement.cpp:
75713         (WebCore::SVGSVGElement::setCurrentTranslate): Be sure to relayout on invalidation, otherwhise resources are not updated, and we have to update them, as they depend on the absolute transform.
75714
75715 2010-08-19  Alejandro G. Castro  <alex@igalia.com>
75716
75717         Reviewed by Dirk Schulze.
75718
75719         [GTK] The size of the shadow image uses the standard deviation
75720         size instead of the blur radius
75721         https://bugs.webkit.org/show_bug.cgi?id=40793
75722
75723         The kernelSize variable was renamed to radius and recalculated
75724         considering the CSS3 specification
75725         http://www.w3.org/TR/css3-background/#the-box-shadow, and the
75726         visual result of other browsers. The HTML5 canvas shadow standard
75727         deviation calculation that was used, was not appropiate for the
75728         blur distance specified in the CSS3.
75729
75730         * platform/graphics/GraphicsContext.h:
75731         * platform/graphics/cairo/FontCairo.cpp:
75732         (WebCore::Font::drawGlyphs):
75733         * platform/graphics/cairo/GraphicsContextCairo.cpp:
75734         (WebCore::GraphicsContext::calculateShadowBufferDimensions):
75735         Changed the calculation, now we use the parameter in the style
75736         directly as recomended in the CSS3 standard.
75737         (WebCore::drawPathShadow):
75738         (WebCore::drawBorderlessRectShadow):
75739         (WebCore::GraphicsContext::createPlatformShadow): We get the
75740         standard deviation from the radius using the new function and we
75741         create the filter with that deviation.
75742         * platform/graphics/cairo/ImageCairo.cpp:
75743         (WebCore::BitmapImage::draw):
75744         * platform/graphics/filters/FEGaussianBlur.cpp:
75745         (WebCore::FEGaussianBlur::calculateStdDeviation):  Added this
75746         function that gets the standard deviation from the blur
75747         radius. Required in the CSS3 case where we have this radio and we
75748         need the deviation to initialize the algorithm.
75749         * platform/graphics/filters/FEGaussianBlur.h:
75750
75751 2010-08-19  Andreas Kling  <andreas.kling@nokia.com>
75752
75753         Reviewed by Kenneth Rohde Christiansen.
75754
75755         [Qt] Avoid unnecessary string copy in TextCodecQt::decode()
75756         https://bugs.webkit.org/show_bug.cgi?id=44232
75757
75758         * platform/text/qt/TextCodecQt.cpp:
75759         (WebCore::TextCodecQt::decode): Use String::append(const UChar*, int)
75760         to avoid creating a temporary string.
75761
75762 2010-08-19  Philippe Normand  <pnormand@igalia.com>
75763
75764         Reviewed by Gustavo Noronha Silva.
75765
75766         [GStreamer] GTK XOverlay support in GStreamerGWorld
75767         https://bugs.webkit.org/show_bug.cgi?id=39474
75768
75769         GStreamerGWorld now catches synchronous messages coming from the
75770         sinks and creates a GTK window where the video can be overlayed if
75771         fullscreen display is requested using enterFullscreen.
75772
75773         * GNUmakefile.am:
75774         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
75775         (WebCore::gstGWorldSyncMessageCallback):
75776         (WebCore::GStreamerGWorld::GStreamerGWorld):
75777         (WebCore::GStreamerGWorld::~GStreamerGWorld):
75778         (WebCore::GStreamerGWorld::enterFullscreen):
75779         (WebCore::GStreamerGWorld::exitFullscreen):
75780         (WebCore::GStreamerGWorld::setWindowOverlay):
75781         * platform/graphics/gstreamer/GStreamerGWorld.h:
75782         (WebCore::GStreamerGWorld::pipeline):
75783         (WebCore::GStreamerGWorld::platformVideoWindow):
75784         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
75785         * platform/graphics/gstreamer/PlatformVideoWindow.h: Added.
75786         (WebCore::PlatformVideoWindow::createWindow):
75787         (WebCore::PlatformVideoWindow::window):
75788         (WebCore::PlatformVideoWindow::videoWindowId):
75789         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Added.
75790         (PlatformVideoWindow::PlatformVideoWindow):
75791
75792 2010-08-19  Eric Uhrhane  <ericu@chromium.org>
75793
75794         Reviewed by David Levin.
75795
75796         Add idl and mock classes for FileWriter.
75797         https://bugs.webkit.org/show_bug.cgi?id=44075
75798
75799         No new tests, since there's no new functionality.
75800
75801         New do-nothing classes, but the real IDL:
75802         * FileWriter.idl:
75803         * FileWriter.h:
75804         * FileWriter.cpp:
75805
75806         The build file changes to include the above:
75807         * CMakeLists.txt:
75808         * DerivedSources.cpp:
75809         * DerivedSources.make:
75810         * GNUmakefile.am:
75811         * WebCore.gypi:
75812         * WebCore.pri:
75813         * WebCore.pro:
75814         * WebCore.vcproj/WebCore.vcproj:
75815         * WebCore.xcodeproj/project.pbxproj:
75816
75817         Added FileWriter event names and required EventTarget changes.
75818         * dom/EventNames.h:
75819         * dom/EventTarget.cpp:
75820         (WebCore::EventTarget::toFileWriter):
75821         * dom/EventTarget.h:
75822
75823 2010-08-18  Andreas Kling  <andreas.kling@nokia.com>
75824
75825         Rubber-stamped by Ariya Hidayat.
75826
75827         [Qt] Remove unused variable in GraphicsContext::fillRect()
75828
75829         * platform/graphics/qt/GraphicsContextQt.cpp:
75830         (WebCore::GraphicsContext::fillRect):
75831
75832 2010-08-18  Ariya Hidayat  <ariya@sencha.com>
75833
75834         Reviewed by Kenneth Rohde Christiansen.
75835
75836         [Qt] Short lived shadow buffer for blur operation
75837         https://bugs.webkit.org/show_bug.cgi?id=44094
75838
75839         ContextShadow needs a scratch image as the buffer for the blur filter.
75840         Instead of creating and destroying the buffer for every operation,
75841         we create a buffer which will be automatically purged via a timer.
75842
75843         * platform/graphics/qt/ContextShadow.cpp:
75844         (WebCore::):
75845         (WebCore::ShadowBuffer::ShadowBuffer):
75846         (WebCore::ShadowBuffer::scratchImage):
75847         (WebCore::ShadowBuffer::schedulePurge):
75848         (WebCore::ShadowBuffer::purgeBuffer):
75849         (WebCore::ContextShadow::drawShadowRect):
75850
75851 2010-08-18  Alexey Marinichev  <amarinichev@chromium.org>
75852
75853         Reviewed by Darin Fisher.
75854
75855         [chromium] scrolling issues when accelerated compositor is enabled
75856         https://bugs.webkit.org/show_bug.cgi?id=43992
75857
75858         Corrected scroll position not being updated, and an off-by-half error.
75859         Int cast and floorf are taken out because they produce incorrect
75860         transformation matrix.  The information lost there is not immediately
75861         obvious because of rounding that happens when texture is mapped with
75862         GL_NEAREST filtering mode.  These errors accumulate, and after some
75863         scrolling it becomes more apparent.
75864
75865         To test the former, follow instructions in the bug.  To test the
75866         latter, change GL_NEAREST to GL_LINEAR in LayerRendererChromium.cpp.
75867         Scrolling should work properly for all window sizes, without blurring
75868         images and shifting them to the left.
75869
75870         * platform/graphics/chromium/LayerRendererChromium.cpp:
75871         (WebCore::LayerRendererChromium::drawLayers):
75872
75873 2010-08-18  Simon Hausmann  <simon.hausmann@nokia.com>
75874
75875         Reviewed by Ariya Hidayat.
75876
75877         [Qt] Implement GraphicsContext::clipOut more efficiently
75878         https://bugs.webkit.org/show_bug.cgi?id=43416
75879
75880         The current implementation of clipOut uses QPainter::clipRegion().boundingRect(),
75881         which is a very slow function because it converts the entire clip region - which
75882         may potentially contain a complex path - into a set of QRegion rectangles, just
75883         to throw away all that information and use the bounding rect.
75884
75885         QTBUG-12618 implements a faster function in QPainter: QPainter::clipBoundingRect().
75886
75887         * platform/graphics/qt/GraphicsContextQt.cpp:
75888         (WebCore::GraphicsContext::clipOut): Use QPainter::clipBoundingRect() with Qt >= 4.8.
75889         (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto.
75890
75891 2010-08-18  Martin Robinson  <mrobinson@igalia.com>
75892
75893         Reviewed by Gustavo Noronha Silva.
75894
75895         [GTK] Since the GSEAL changes moz_gtk_scrollbar_button_paint fiddles the widget allocation but doesn't preserve it
75896         https://bugs.webkit.org/show_bug.cgi?id=44211
75897
75898         No new tests as we do not currently use the scrollbar button painting
75899         code. Tests for this issue will be enabled when we have pixel tests
75900         for WebCore-drawn interior frame scrollbars.
75901
75902         * platform/gtk/GtkVersioning.h: Add backward-compatible functions for getting
75903         and setting the widget allocation.
75904         * platform/gtk/gtk2drawing.c:
75905         (moz_gtk_scrollbar_button_paint): Use new backward-compatible functions for getting
75906         and setting the widget allocation.
75907
75908 2010-08-18  Ryosuke Niwa  <rniwa@webkit.org>
75909
75910         Reviewed by Darin Adler.
75911
75912         Group functions in markup.cpp into MarkupAccumulatorWrapper
75913         https://bugs.webkit.org/show_bug.cgi?id=43936
75914
75915         Renamed MarkupAccumulatorWrapper to MarkupAccumulator and moved the MarkupAccumulatorWrapper
75916         to the top of markup.cpp. Made various functions private member functions of MarkupAccumulator.
75917
75918         No new tests are added since this is a cleanup.
75919
75920         * editing/markup.cpp:
75921         (WebCore::MarkupAccumulator::):
75922         (WebCore::MarkupAccumulator::MarkupAccumulator):
75923         (WebCore::MarkupAccumulator::appendString):
75924         (WebCore::MarkupAccumulator::appendStartTag):
75925         (WebCore::MarkupAccumulator::appendEndTag):
75926         (WebCore::MarkupAccumulator::wrapWithNode):
75927         (WebCore::MarkupAccumulator::wrapWithStyleNode):
75928         (WebCore::MarkupAccumulator::takeResults):
75929         (WebCore::MarkupAccumulator::appendAttributeValue):
75930         (WebCore::MarkupAccumulator::escapeContentText):
75931         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
75932         (WebCore::MarkupAccumulator::stringValueForRange):
75933         (WebCore::MarkupAccumulator::ucharRange):
75934         (WebCore::MarkupAccumulator::appendUCharRange):
75935         (WebCore::MarkupAccumulator::renderedText):
75936         (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
75937         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
75938         (WebCore::MarkupAccumulator::appendNamespace):
75939         (WebCore::MarkupAccumulator::appendDocumentType):
75940         (WebCore::MarkupAccumulator::removeExteriorStyles):
75941         (WebCore::MarkupAccumulator::appendStartMarkup):
75942         (WebCore::MarkupAccumulator::shouldSelfClose):
75943         (WebCore::MarkupAccumulator::appendEndMarkup):
75944         (WebCore::serializeNodes):
75945         (WebCore::createMarkup):
75946         (WebCore::serializeNodesWithNamespaces):
75947
75948 2010-08-18  Beth Dakin  <bdakin@apple.com>
75949
75950         Reviewed by Sam Weinig.
75951
75952         Fix for https://bugs.webkit.org/show_bug.cgi?id=44207 Empty mfrac 
75953         and empty munderover cause crashes
75954        -and corresponding-
75955         <rdar://problem/8325160>
75956
75957         This is just a  matter of adding null checks in the right places.
75958         * mathml/RenderMathMLFraction.cpp:
75959         (WebCore::RenderMathMLFraction::baselinePosition):
75960         * mathml/RenderMathMLUnderOver.cpp:
75961         (WebCore::RenderMathMLUnderOver::baselinePosition):
75962
75963 2010-08-18  Jian Li  <jianli@chromium.org>
75964
75965         Reviewed by David Levin.
75966
75967         Move FileStream to platform.
75968         https://bugs.webkit.org/show_bug.cgi?id=44213
75969
75970         In addition to moving files over, FileStream has been changed to remove
75971         ExceptionCode dependency. Also update FileStreamProxy and FileRead to
75972         account for this change.
75973
75974         * Android.mk:
75975         * GNUmakefile.am:
75976         * WebCore.gypi:
75977         * WebCore.pro:
75978         * WebCore.vcproj/WebCore.vcproj:
75979         * WebCore.xcodeproj/project.pbxproj:
75980         * html/FileReader.cpp:
75981         (WebCore::FileReader::didOpen):
75982         * html/FileReader.h:
75983         * html/FileStream.cpp: Removed.
75984         * html/FileStream.h: Removed.
75985         * html/FileStreamClient.h:
75986         (WebCore::FileStreamClient::didTruncate):
75987         (WebCore::FileStreamClient::didOpen):
75988         * html/FileStreamProxy.cpp:
75989         (WebCore::didOpen):
75990         (WebCore::FileStreamProxy::openForReadOnFileThread):
75991         (WebCore::FileStreamProxy::openForWriteOnFileThread):
75992         (WebCore::FileStreamProxy::write):
75993         (WebCore::FileStreamProxy::writeOnFileThread):
75994         (WebCore::didTruncate):
75995         (WebCore::FileStreamProxy::truncateOnFileThread):
75996         * html/FileStreamProxy.h:
75997         * platform/FileStream.cpp: Renamed from WebCore/FileStream.cpp and updated.
75998         * platform/FileStream.h: Renamed from WebCore/FileStream.h and updated.
75999
76000 2010-08-18  Jian Li  <jianli@chromium.org>
76001
76002         Reviewed by Darin Fisher.
76003
76004         Chromium side implementation of blob data and blob registry.
76005         https://bugs.webkit.org/show_bug.cgi?id=43871
76006
76007         Wrap !PLATFORM(CHROMIUM) around blobRegistry() so that chromium uses the
76008         implementation in WebKit Chromium.
76009
76010         * platform/network/BlobRegistryImpl.cpp:
76011
76012 2010-08-18  Martin Robinson  <mrobinson@igalia.com>
76013
76014         Reviewed by Gustavo Noronha Silva.
76015
76016         [GTK] Bots are showing lots of GTK_IS_CONTAINER critical warnings
76017         https://bugs.webkit.org/show_bug.cgi?id=40990
76018
76019         Instead of relying on the ScrollView's adjustment members to determine if a
76020         Scrollbar should be native or just a shell of the parent's scrollbar (main frame
76021         scrollbar), just check if this ScrollView has a parent. This will ensure the
76022         correct behavior when main frame scrollbar's are created after the ScrollView's
76023         containing adjustments go away.
76024
76025         Lack of warnings during tests are the test for this fix.
76026
76027         * platform/gtk/ScrollViewGtk.cpp:
76028         (WebCore::ScrollView::createScrollbar): Decide what type of scrollbar to make based
76029         on the result of the parent() method.
76030         * platform/gtk/ScrollbarGtk.cpp:
76031         (ScrollbarGtk::ScrollbarGtk): Allow for an m_adjustment which is null.
76032         (ScrollbarGtk::attachAdjustment): Ditto.
76033         (ScrollbarGtk::updateThumbPosition): Ditto.
76034         (ScrollbarGtk::updateThumbProportion): Ditto.
76035
76036 2010-08-18  Adam Barth  <abarth@webkit.org>
76037
76038         Reviewed by David Levin.
76039
76040         NOT_REACHED is reachable in SVGLength
76041         https://bugs.webkit.org/show_bug.cgi?id=44150
76042
76043         The author of this code was confused.  This code is reachable.  We just
76044         haven't implemented it yet.
76045
76046         * svg/SVGLength.cpp:
76047         (WebCore::SVGLength::setValue):
76048
76049 2010-08-18  Balazs Kelemen  <kb@inf.u-szeged.hu>
76050
76051         Reviewed by Antonio Gomes.
76052
76053         [Qt] Use LAZY_NATIVE_CURSOR
76054         https://bugs.webkit.org/show_bug.cgi?id=44062
76055
76056         No functional change so new tests.
76057
76058         Change Cursor behaviour to match the LAZY_NATIVE_CURSOR policy.
76059
76060         * platform/Cursor.h: Typedef PlatformCursor to be a QCursor* to be able create it dynamically.
76061         (WebCore::Cursor::Cursor): Remove the ifdef for Qt.
76062         * platform/qt/CursorQt.cpp: Remove the Cursors class since we have the static cursor instances
76063         for the common cursor types in Cursor.cpp. Move the logic that maps the cursor types to
76064         QCursor instances into ensurePlatformCursor.
76065         (WebCore::Cursor::Cursor):
76066         (WebCore::Cursor::~Cursor):
76067         (WebCore::Cursor::operator=):
76068         (WebCore::createCustomCursor):
76069         (WebCore::Cursor::ensurePlatformCursor):
76070         * platform/qt/WidgetQt.cpp:
76071         (WebCore::Widget::setCursor): Adjust to the PlatformCursor change.
76072
76073 2010-08-18  Andreas Kling  <andreas.kling@nokia.com>
76074
76075         Reviewed by Darin Adler.
76076
76077         CSS: Make rgb() and rgba() fast paths case-insensitive
76078         https://bugs.webkit.org/show_bug.cgi?id=44107
76079
76080         Also inlined the string comparisons against "rgb(" and "rgba("
76081         which is faster and avoids creating a temporary String object.
76082
76083         * css/CSSParser.cpp:
76084         (WebCore::mightBeRGBA):
76085         (WebCore::mightBeRGB):
76086         (WebCore::CSSParser::parseColor):
76087
76088 2010-08-18  Jian Li  <jianli@chromium.org>
76089
76090         Reviewed by Darin Fisher.
76091
76092         Change BlobStorageData to reuse BlobData.
76093         https://bugs.webkit.org/show_bug.cgi?id=44188
76094
76095         Also addressed Darin's feedbacks for bug 44116.
76096
76097         * html/ThreadableBlobRegistry.cpp:
76098         (WebCore::registerBlobURLTask):
76099         (WebCore::registerBlobURLFromTask):
76100         (WebCore::unregisterBlobURLTask):
76101         * platform/network/BlobData.cpp:
76102         (WebCore::BlobData::appendData):
76103         * platform/network/BlobData.h:
76104         (WebCore::BlobDataItem::BlobDataItem):
76105         * platform/network/BlobRegistry.h:
76106         * platform/network/BlobRegistryImpl.cpp:
76107         (WebCore::blobRegistry):
76108         (WebCore::BlobRegistryImpl::appendStorageItems):
76109         (WebCore::BlobRegistryImpl::registerBlobURL):
76110         * platform/network/BlobRegistryImpl.h:
76111         * platform/network/BlobStorageData.h:
76112         (WebCore::BlobStorageData::create):
76113         (WebCore::BlobStorageData::contentType):
76114         (WebCore::BlobStorageData::contentDisposition):
76115         (WebCore::BlobStorageData::items):
76116         (WebCore::BlobStorageData::BlobStorageData):
76117
76118 2010-08-18  David Hyatt  <hyatt@apple.com>
76119
76120         Reviewed by Martin Robinson.
76121
76122         https://bugs.webkit.org/show_bug.cgi?id=44193
76123
76124         Fix a typo in my previous canvas checkin.  m_in->resultImage() was originally m_in2->resultImage(),
76125         and I accidentally changed it when swapping the order of the arguments.
76126
76127         * platform/graphics/filters/FEComposite.cpp:
76128         (WebCore::FEComposite::apply):
76129
76130 2010-08-18  Stephen White  <senorblanco@chromium.org>
76131
76132         Reviewed by Darin Fisher.
76133
76134         [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
76135         https://bugs.webkit.org/show_bug.cgi?id=44115
76136
76137         This is the Skia followup to Dave Hyatt's patch in r65449.
76138         Covered by canvas layout tests.
76139
76140         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
76141         Add a "copyPixels" argument to the create() static to indicate if
76142         the caller wants the pixels to be copied or ref'ed.
76143         * platform/graphics/skia/ImageBufferSkia.cpp:
76144         (WebCore::ImageBuffer::drawsUsingCopy):
76145         We don't use the always-copy path anymore, so return false.
76146         (WebCore::ImageBuffer::copyImage):
76147         Force a copy here.
76148         (WebCore::ImageBuffer::draw):
76149         (WebCore::ImageBuffer::drawPattern):
76150         Create a temporary BitampImageSingleFrameSkia wrapped around the
76151         canvas's bitmap, and draw with it immediately.  If drawing to our own
76152         canvas, copy the pixels, otherwise just shallow copy.
76153         * platform/graphics/skia/ImageSkia.cpp:
76154         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
76155         Make the constructor take an SkBitmap to be wrapped.
76156         (WebCore::BitmapImageSingleFrameSkia::create):
76157         Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
76158         do a shallow copy.
76159         * platform/graphics/skia/NativeImageSkia.cpp:
76160         (WebCore::NativeImageSkia::NativeImageSkia):
76161         * platform/graphics/skia/NativeImageSkia.h:
76162         Implement a new constructor that shallow-copies the given SkBitmap.
76163
76164 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
76165
76166         Reviewed by Steve Block.
76167
76168         [Qt] Request for permission before starting Geolocation service
76169         https://bugs.webkit.org/show_bug.cgi?id=42027
76170
76171         Handles starting location acquisition when request is granted for ports using 
76172         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
76173         Only Qt port as of today uses the above combination. Enable 
76174         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
76175
76176         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
76177         - fast/dom/Geolocation/delayed-permission-allowed.html
76178         - fast/dom/Geolocation/delayed-permission-denied.html
76179         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
76180         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
76181
76182         * WebCore.pro:
76183         * page/Geolocation.cpp:
76184         (WebCore::Geolocation::handlePendingPermissionNotifiers):
76185
76186 2010-08-18  Andreas Kling  <andreas.kling@nokia.com>
76187
76188         Reviewed by Darin Adler.
76189
76190         CanvasStyle method naming cleanup
76191         https://bugs.webkit.org/show_bug.cgi?id=44184
76192
76193         Renamed the various create() overloads to reflect what they're
76194         constructing the CanvasStyle from.
76195
76196         The unused CanvasStyle::create(grayLevel) and accompanying constructor
76197         were removed.
76198
76199         Also renamed the isEquivalentColor overloads to isEquivalent{RGBA,CMYKA}
76200
76201         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
76202         (WebCore::toHTMLCanvasStyle):
76203         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
76204         (WebCore::toCanvasStyle):
76205         * html/canvas/CanvasRenderingContext2D.cpp:
76206         (WebCore::CanvasRenderingContext2D::State::State):
76207         (WebCore::CanvasRenderingContext2D::setStrokeColor):
76208         (WebCore::CanvasRenderingContext2D::setFillColor):
76209         * html/canvas/CanvasStyle.cpp:
76210         (WebCore::CanvasStyle::createFromString):
76211         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
76212         (WebCore::CanvasStyle::createFromGradient):
76213         (WebCore::CanvasStyle::createFromPattern):
76214         (WebCore::CanvasStyle::isEquivalentRGBA):
76215         (WebCore::CanvasStyle::isEquivalentCMYKA):
76216         * html/canvas/CanvasStyle.h:
76217         (WebCore::CanvasStyle::createFromRGBA):
76218         (WebCore::CanvasStyle::createFromGrayLevelWithAlpha):
76219         (WebCore::CanvasStyle::createFromRGBAChannels):
76220         (WebCore::CanvasStyle::createFromCMYKAChannels):
76221
76222 2010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>
76223
76224         Reviewed by Kenneth Rohde Christiansen.
76225
76226         [Qt] Implement Maemo5 local rendering NPAPI extension. See 
76227         https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
76228
76229         With the local rendering extension, Flash will paint into a 16-bit surface.
76230         For wmode=transparent, Flash expects the surface to contain the contents
76231         beneath it. As it is tricky to implement the content propagation across all
76232         graphics systems, transparent Flash is not supported. We just fill the surface 
76233         with white and wmode=transparent behaves the same as wmode=opaque with a white 
76234         background.
76235
76236         https://bugs.webkit.org/show_bug.cgi?id=44043
76237
76238         * WebCore.pro:
76239         * plugins/PluginView.cpp:
76240         (WebCore::PluginView::setValue):
76241         (WebCore::PluginView::PluginView):
76242         * plugins/PluginView.h:
76243         * plugins/qt/PluginViewQt.cpp:
76244         (WebCore::PluginView::updatePluginWidget):
76245         (WebCore::PluginView::paintUsingImageSurfaceExtension):
76246         (WebCore::PluginView::paint):
76247         (WebCore::PluginView::platformGetValueStatic):
76248
76249 2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
76250
76251         Unreviewed, rolling out r65603.
76252         http://trac.webkit.org/changeset/65603
76253         https://bugs.webkit.org/show_bug.cgi?id=44179
76254
76255         4 tests crash on Qt bot (Requested by Ossy on #webkit).
76256
76257         * WebCore.pro:
76258         * page/Geolocation.cpp:
76259         (WebCore::Geolocation::handlePendingPermissionNotifiers):
76260
76261 2010-08-18  Ryuan Choi  <ryuan.choi@samsung.com>
76262
76263         Unreviewed.  Attempted build fix for EFL
76264
76265         [EFL]REGRESSION(65530) need to fix build break
76266         https://bugs.webkit.org/show_bug.cgi?id=44154
76267
76268         * CMakeListsEfl.txt:
76269
76270 2010-08-18  Ilya Tikhonovsky  <loislo@chromium.org>
76271
76272         Unreviewed qt build fix.
76273
76274         * WebCore.pri:
76275
76276 2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
76277
76278         Reviewed by Yury Semikhatsky.
76279
76280         Web Inspector: replace hand written InspectorBackendStub.js with generated one.
76281         New command-line flag was added to combine-javascript-resources.
76282         It specifies the location of generated scripts.
76283         https://bugs.webkit.org/show_bug.cgi?id=43791
76284
76285         * GNUmakefile.am:
76286         * WebCore.gyp/WebCore.gyp:
76287         * WebCore.gypi:
76288         * WebCore.pri:
76289         * WebCore.pro:
76290         * WebCore.vcproj/WebCore.vcproj:
76291         * WebCore.xcodeproj/project.pbxproj:
76292         * combine-javascript-resources:
76293         * inspector/CodeGeneratorInspector.pm:
76294         * inspector/front-end/InspectorBackendStub.js: Removed.
76295         * inspector/front-end/WebKit.qrc:
76296
76297 2010-08-18  Andrey Kosyakov  <caseq@chromium.org>
76298
76299         Reviewed by Pavel Feldman.
76300
76301         Web Inspector: extension panels do not occupy entire panel client area.
76302         https://bugs.webkit.org/show_bug.cgi?id=44167
76303
76304         * inspector/front-end/ExtensionServer.js:
76305         (WebInspector.ExtensionServer.prototype._onCreatePanel):
76306         (WebInspector.ExtensionServer.prototype._createClientIframe):
76307
76308 2010-08-18  Dirk Schulze  <krit@webkit.org>
76309
76310         Reviewed by Nikolas Zimmermann.
76311
76312         Use SVGPathParser logic to traverse states of a Path
76313         https://bugs.webkit.org/show_bug.cgi?id=44009
76314
76315         Move the getPathSegAtLength logic from SVGPathSegList into a new SVGPathConsumer
76316         class: SVGPathTraversalStateBuilder.
76317         This allows us to get a SVGPathSeg at a given length for SVGPathByteStreams and SVGPathSegLists.
76318         It is also possible to use unaltered SVG path data, instead of just normalized path data.
76319         This is the final preparation to provide normalized and unaltered SVGPathSegLists
76320         on SVGPathElement.
76321
76322         * Android.mk:
76323         * CMakeLists.txt:
76324         * GNUmakefile.am:
76325         * WebCore.gypi:
76326         * WebCore.pro:
76327         * WebCore.vcproj/WebCore.vcproj:
76328         * WebCore.xcodeproj/project.pbxproj:
76329         * svg/SVGAllInOne.cpp:
76330         * svg/SVGPathBuilder.h:
76331         (WebCore::SVGPathBuilder::nextPathSegment):
76332         (WebCore::SVGPathBuilder::quitEarlier):
76333         * svg/SVGPathByteStreamBuilder.h:
76334         (WebCore::SVGPathByteStreamBuilder::nextPathSegment):
76335         (WebCore::SVGPathByteStreamBuilder::quitEarlier):
76336         * svg/SVGPathConsumer.h:
76337         * svg/SVGPathElement.cpp:
76338         (WebCore::SVGPathElement::getPathSegAtLength):
76339         * svg/SVGPathElement.h:
76340         * svg/SVGPathElement.idl:
76341         * svg/SVGPathParser.cpp:
76342         (WebCore::SVGPathParser::parsePathDataFromSource):
76343         * svg/SVGPathParserFactory.cpp:
76344         (WebCore::globalSVGPathTraversalStateBuilder):
76345         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
76346         * svg/SVGPathParserFactory.h:
76347         * svg/SVGPathSegList.cpp:
76348         * svg/SVGPathSegList.h:
76349         * svg/SVGPathSegListBuilder.h:
76350         (WebCore::SVGPathSegListBuilder::nextPathSegment):
76351         (WebCore::SVGPathSegListBuilder::quitEarlier):
76352         * svg/SVGPathStringBuilder.h:
76353         (WebCore::SVGPathStringBuilder::nextPathSegment):
76354         (WebCore::SVGPathStringBuilder::quitEarlier):
76355         * svg/SVGPathTraversalStateBuilder.cpp: Added. New Consumer for SVGPathParser.
76356         (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
76357         (WebCore::SVGPathTraversalStateBuilder::moveTo):
76358         (WebCore::SVGPathTraversalStateBuilder::lineTo):
76359         (WebCore::SVGPathTraversalStateBuilder::curveToCubic):
76360         (WebCore::SVGPathTraversalStateBuilder::closePath):
76361         (WebCore::SVGPathTraversalStateBuilder::setDesiredLength):
76362         (WebCore::SVGPathTraversalStateBuilder::quitEarlier):
76363         (WebCore::SVGPathTraversalStateBuilder::nextPathSegment):
76364         (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
76365         * svg/SVGPathTraversalStateBuilder.h: Added.
76366         (WebCore::SVGPathTraversalStateBuilder::setCurrentTraversalState):
76367         (WebCore::SVGPathTraversalStateBuilder::cleanup):
76368         (WebCore::SVGPathTraversalStateBuilder::lineToHorizontal):
76369         (WebCore::SVGPathTraversalStateBuilder::lineToVertical):
76370         (WebCore::SVGPathTraversalStateBuilder::curveToCubicSmooth):
76371         (WebCore::SVGPathTraversalStateBuilder::curveToQuadratic):
76372         (WebCore::SVGPathTraversalStateBuilder::curveToQuadraticSmooth):
76373         (WebCore::SVGPathTraversalStateBuilder::arcTo):
76374
76375 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
76376
76377         Reviewed by Steve Block.
76378
76379         [Qt] Request for permission before starting Geolocation service
76380         https://bugs.webkit.org/show_bug.cgi?id=42027
76381
76382         Handles starting location acquisition when request is granted for ports using 
76383         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
76384         Only Qt port as of today uses the above combination. Enable 
76385         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
76386
76387         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
76388         - fast/dom/Geolocation/delayed-permission-allowed.html
76389         - fast/dom/Geolocation/delayed-permission-denied.html
76390         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
76391         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
76392
76393         * WebCore.pro:
76394         * page/Geolocation.cpp:
76395         (WebCore::Geolocation::handlePendingPermissionNotifiers):
76396
76397 2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
76398
76399         Unreviewed, rolling out r65595.
76400         http://trac.webkit.org/changeset/65595
76401         https://bugs.webkit.org/show_bug.cgi?id=44161
76402
76403         qt build failed (Requested by loislo on #webkit).
76404
76405         * GNUmakefile.am:
76406         * WebCore.gyp/WebCore.gyp:
76407         * WebCore.gypi:
76408         * WebCore.pri:
76409         * WebCore.pro:
76410         * WebCore.vcproj/copyInspectorFiles.cmd:
76411         * WebCore.xcodeproj/project.pbxproj:
76412         * combine-javascript-resources:
76413         * inspector/CodeGeneratorInspector.pm:
76414         * inspector/front-end/InspectorBackendStub.js: Added.
76415         (WebInspector.InspectorBackendStub):
76416         (WebInspector.InspectorBackendStub.prototype._registerDelegate):
76417         (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
76418         * inspector/front-end/InspectorBackendStub.qrc: Removed.
76419         * inspector/front-end/WebKit.qrc:
76420
76421 2010-08-18  Pavel Feldman  <pfeldman@chromium.org>
76422
76423         Reviewed by Yury Semikhatsky.
76424
76425         Web Inspector: make objectId of string type instead of object.
76426         https://bugs.webkit.org/show_bug.cgi?id=44160
76427
76428         * WebCore.xcodeproj/project.pbxproj:
76429         * inspector/front-end/InjectedScript.js:
76430         (injectedScriptConstructor.):
76431         * inspector/front-end/InjectedScriptAccess.js:
76432         (get InjectedScriptAccess.getForObjectId):
76433         * inspector/front-end/RemoteObject.js:
76434         (WebInspector.RemoteObject.prototype.getProperties):
76435         (WebInspector.RemoteObject.prototype.setPropertyValue):
76436         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
76437
76438 2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
76439
76440         Reviewed by Yury Semikhatsky.
76441
76442         Web Inspector: replace hand written InspectorBackendStub.js by generated one.
76443         New command-line flag was added to combine-javascript-resources.
76444         It specifies the location of generated scripts.
76445         https://bugs.webkit.org/show_bug.cgi?id=43791
76446
76447         * GNUmakefile.am:
76448         * WebCore.gyp/WebCore.gyp:
76449         * WebCore.gypi:
76450         * WebCore.pri:
76451         * WebCore.pro:
76452         * WebCore.vcproj/WebCore.vcproj:
76453         * WebCore.xcodeproj/project.pbxproj:
76454         * combine-javascript-resources:
76455         * inspector/CodeGeneratorInspector.pm:
76456         * inspector/front-end/InspectorBackendStub.js: Removed.
76457         * inspector/front-end/WebKit.qrc:
76458
76459 2010-08-18  Shinichiro Hamaji  <hamaji@chromium.org>
76460
76461         Reviewed by Dimitri Glazkov.
76462
76463         Printer font is different from screen font
76464         https://bugs.webkit.org/show_bug.cgi?id=43340
76465
76466         Not testable because PNG output in layoutTestController.setPrinting
76467         for chromium isn't implemented yet.
76468
76469         * platform/graphics/FontDescription.h: Use screen font even for printing on Mac Chromium
76470         (WebCore::FontDescription::setUsePrinterFont):
76471
76472 2010-08-18  Renata Hodovan  <reni@inf.u-szeged.hu>
76473
76474         Reviewed by Dirk Schulze.
76475
76476         Fix displaying problem of feTurbulence.
76477         https://bugs.webkit.org/show_bug.cgi?id=44111
76478
76479         Change the order of calculating turbulenceFunctionResult
76480         and clamping it. Furthermore remove the unnecessary rounding of m_seed.
76481         Add a new test for checking the change of seed's value.
76482
76483         Test: svg/W3C-SVG-1.1/filters-turb-02-f.svg
76484
76485         * svg/graphics/filters/SVGFETurbulence.cpp:
76486         (WebCore::FETurbulence::initPaint):
76487         (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
76488         (WebCore::FETurbulence::apply):
76489
76490 2010-08-17  Gavin Barraclough  <barraclough@apple.com>
76491
76492         Reviewed by Sam Weinig.
76493
76494         Bug 44146 - Remove toDouble/toUInt32 methods from UString.
76495
76496         These methods all implement JavaScript language specific behaviour, and as such
76497         are not suited to being on a generic string object.  They are also inefficient
76498         and incorrectly used, refactor & cleanup.  Uses of these methods really divide
76499         out into two cases.
76500
76501         ToNumber:
76502         Uses of toDouble from JSString and from parseFloat are implementing ecma's
76503         ToNumber conversion from strings (see ecma-262 9.3.1), so UString::toDouble
76504         should largely just be moved out to a global jsToNumber function.  ToNumber is
76505         capable of recognizing either decimal or hexadecimal numbers, but parseFloat
76506         should only recognize decimal values.  This is currently handled by testing for
76507         hexadecimal before calling toDouble, which should unnecessary - instead we can
76508         just split out the two parts to the grammar into separate functions. Also,
76509         strtod recognizes a set of literals (nan, inf, and infinity - all with any
76510         capitalization) - which are not defined by any of the specs we are implementing.
76511         To handle this we need to perform additional work in toDouble to convert the
76512         unsupported cases of infinities back to NaNs.  Instead we should simply remove
76513         support for this literals from strtod.  This should provide a more desirable
76514         behaviour for all clients of strtod.
76515
76516         Indexed properties:
76517         Uses of the toStrictUInt32 methods are were all converting property names to
76518         indices, and all uses of toUInt32 were incorrect; in all cases we should have
76519         been calling toUInt32.  This error results in some incorrect behaviour in the
76520         DOM (accessing property "0 " of a NodeList should fail; it currently does not).
76521         Move this method onto Identifier (our canonical property name), and make it
76522         always perform a strict conversion. Add a layout test to check NodeList does
76523         convert indexed property names correctly.
76524
76525         Test: fast/dom/NodeList/nodelist-item-with-index.html
76526
76527         * WebCore.xcodeproj/project.pbxproj:
76528         * bindings/js/JSDOMWindowCustom.cpp:
76529         (WebCore::JSDOMWindow::getOwnPropertySlot):
76530         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
76531         * bindings/js/JSHTMLAllCollectionCustom.cpp:
76532         (WebCore::callHTMLAllCollection):
76533         (WebCore::JSHTMLAllCollection::item):
76534         * bindings/js/JSHTMLCollectionCustom.cpp:
76535         (WebCore::callHTMLCollection):
76536         (WebCore::JSHTMLCollection::item):
76537         * bindings/js/JSNodeListCustom.cpp:
76538         (WebCore::callNodeList):
76539         * bindings/scripts/CodeGeneratorJS.pm:
76540         * bridge/runtime_array.cpp:
76541         (JSC::RuntimeArray::getOwnPropertySlot):
76542         (JSC::RuntimeArray::getOwnPropertyDescriptor):
76543         (JSC::RuntimeArray::put):
76544
76545 2010-08-18  Adam Barth  <abarth@webkit.org>
76546
76547         Reviewed by Adele Peterson.
76548
76549         Null dereference in DOMSelection::deleteFromDocument
76550         https://bugs.webkit.org/show_bug.cgi?id=44153
76551
76552         deleteFromDocument checks selection->isNone() before calling
76553         selection->selection().toNormalizedRange(), but toNormalizedRange()
76554         notes that it needs to updateLayout(), which can make the selection
76555         isNone() again.  In that case, we crash on a NULL pointer in
76556         deleteFromDocument.  I don't know how to trigger that situation in a
76557         test, but cross_fuzz was able to hit it, so we should fix it.
76558
76559         * page/DOMSelection.cpp:
76560         (WebCore::DOMSelection::deleteFromDocument):
76561
76562 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
76563
76564         Reviewed by Antonio Gomes.
76565
76566         [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
76567         libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
76568
76569         https://bugs.webkit.org/show_bug.cgi?id=44043
76570
76571         * plugins/qt/PluginViewQt.cpp:
76572         (WebCore::getPluginDisplay):
76573
76574 2010-08-17  Ariya Hidayat  <ariya@sencha.com>
76575
76576         Reviewed by Antonio Gomes.
76577
76578         [Qt] Remove unused ContextShadowParameter class in GraphicsContextQt
76579         https://bugs.webkit.org/show_bug.cgi?id=44142
76580
76581         The class is not needed anymore after r65425.
76582         We know have dedicated ContextShadow in its own file.
76583
76584         * platform/graphics/qt/GraphicsContextQt.cpp:
76585
76586 2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
76587
76588         Reviewed by Darin Adler.
76589
76590         Add NetworkingContext to avoid layer violations
76591         https://bugs.webkit.org/show_bug.cgi?id=42292
76592
76593         Preparation: Just add the files to the build system.
76594
76595         * GNUmakefile.am: Added new files.
76596         * WebCore.gypi: Ditto.
76597         * WebCore.pro: Ditto.
76598         * WebCore.vcproj/WebCore.vcproj: Ditto.
76599         * WebCore.xcodeproj/project.pbxproj: Ditto.
76600
76601         * loader/FrameNetworkingContext.h: Added.
76602         * platform/network/NetworkingContext.h: Added.
76603         Placeholders with tentative code that might be changed when landing
76604         the rest of it.
76605
76606 2010-08-17  Mihai Parparita  <mihaip@chromium.org>
76607
76608         Reviewed by Darin Fisher.
76609
76610         Back button after Google search result click broken
76611         https://bugs.webkit.org/show_bug.cgi?id=44086
76612
76613         Test: fast/history/redirect-via-iframe.html
76614         
76615         isLoadingInAPISense doesn't quite map to onload (it also returns true
76616         if frames are loading, even after the parent frame has fired its onload
76617         handler). Instead, add a flag for the onload event being fired, and
76618         use that.
76619
76620         * loader/DocumentLoader.cpp:
76621         (WebCore::DocumentLoader::DocumentLoader):
76622         * loader/DocumentLoader.h:
76623         (WebCore::DocumentLoader::handledOnloadEvents):
76624         (WebCore::DocumentLoader::wasOnloadHandled):
76625         * loader/FrameLoader.cpp:
76626         (WebCore::FrameLoader::handledOnloadEvents):
76627         * loader/RedirectScheduler.cpp:
76628         (WebCore::RedirectScheduler::mustLockBackForwardList):
76629
76630 2010-08-17  Steve Block  <steveblock@google.com>
76631
76632         Reviewed by Jeremy Orlow.
76633
76634         Geolocation clearWatch() needs to protect against invalid IDs
76635         https://bugs.webkit.org/show_bug.cgi?id=44096
76636
76637         If the ID passed to clearWatch() is invalid, we early-out.
76638
76639         Test: fast/dom/Geolocation/clear-watch-invalid-id-crash.html
76640
76641         * page/Geolocation.cpp:
76642         (WebCore::Geolocation::Watchers::set):
76643         (WebCore::Geolocation::Watchers::remove):
76644         (WebCore::Geolocation::watchPosition):
76645         (WebCore::Geolocation::clearWatch):
76646
76647 2010-08-17  Stephen White  <senorblanco@chromium.org>
76648
76649         Reviewed by David Levin.
76650
76651         Allow non-Skia ports to compile with ENABLE(ACCELERATED_2D_CANVAS).
76652         https://bugs.webkit.org/show_bug.cgi?id=44130
76653
76654         No tests; if it compiles, it's good.
76655
76656         * html/canvas/CanvasRenderingContext2D.cpp:
76657         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
76658         Fix a warning (treated as error).
76659         * platform/graphics/GraphicsContext.cpp:
76660         (WebCore::GraphicsContext::setGraphicsContext3D):
76661         (WebCore::GraphicsContext::syncSoftwareCanvas):
76662         * platform/graphics/GraphicsContext.h:
76663         Make setGraphicsContext3D() and syncSoftwareCanvas() stubbed out,
76664         but still present in non-Skia ports.  This allows Chrome Mac to
76665         compile with ENABLE(ACCELERATED_2D_CANVAS) (although it isn't hooked
76666         up yet, it should at least compile).
76667
76668 2010-08-17  Brady Eidson  <beidson@apple.com>
76669
76670         Reviewed by Sam Weinig.
76671
76672         Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
76673         <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
76674
76675         No new tests. (Especially since DRT doesn't spin inner run loops at all, it would be a significant
76676         effort to give it the ability to perform the back/forward navigation in the background to reproduce
76677         this bug)
76678
76679         Manual tests in place of layout tests:
76680         * manual-tests/back-forward-during-alert-1.html: Added.
76681         * manual-tests/back-forward-during-alert-2.html: Added.
76682
76683         * page/Page.cpp:
76684         (WebCore::Page::goToItem):
76685
76686 2010-08-17  Ojan Vafai  <ojan@chromium.org>
76687
76688         Reviewed by Tony Chang.
76689
76690         selectionStart clobbered if textarea isn't focused
76691         https://bugs.webkit.org/show_bug.cgi?id=43814
76692
76693         If a text control is blurred, setting selectionStart/end should use
76694         the cached selection value, which is currently stored on the form
76695         control element.
76696
76697         Test: fast/forms/text-control-select-blurred.html
76698
76699         * rendering/RenderTextControl.cpp:
76700         (WebCore::RenderTextControl::setSelectionStart):
76701         (WebCore::RenderTextControl::setSelectionEnd):
76702
76703 2010-08-17  Dmitry Titov  <dimich@chromium.org>
76704
76705         Reviewed by David Levin.
76706
76707         MessagePort.close() crashes if the owning context was destroyed.
76708         https://bugs.webkit.org/show_bug.cgi?id=43140
76709
76710         Test: fast/events/message-port-context-destroyed.html
76711
76712         * dom/MessagePort.cpp:
76713         (WebCore::MessagePort::postMessage):
76714         (WebCore::MessagePort::start):
76715         (WebCore::MessagePort::close):
76716         (WebCore::MessagePort::contextDestroyed):
76717         Use isEntangled() method to gate various operations on MessagePort. This method also takes into account m_closed bit.
76718
76719         * dom/ScriptExecutionContext.cpp:
76720         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
76721         (WebCore::ScriptExecutionContext::closeMessagePorts):
76722         * dom/ScriptExecutionContext.h:
76723         Add closeMessagePorts() method that closes message ports at the same moments when other ActiveDOMObjects are stopped.
76724
76725 2010-08-17  Fady Samuel  <fsamuel@chromium.org>
76726
76727         Reviewed by David Hyatt.
76728
76729         Updated table cell hit testing and painting to use binary search instead of linear scan.
76730
76731         Improved Table Hit Testing and Painting Performance
76732         https://bugs.webkit.org/show_bug.cgi?id=43933
76733
76734         Tests: fast/table/simple_paint.html
76735                tables/hittesting/filltable-emptycells.html
76736                tables/hittesting/filltable-levels.html
76737                tables/hittesting/filltable-outline.html
76738                tables/hittesting/filltable-rtl.html
76739                tables/hittesting/filltable-stress.html
76740
76741         * rendering/RenderTableSection.cpp:
76742         (WebCore::RenderTableSection::paintObject): Dirty rect determined using binary search.
76743         (WebCore::RenderTableSection::nodeAtPoint): Cell hit determined using binary search
76744
76745 2010-08-17  Abhishek Arya  <inferno@chromium.org>
76746
76747         Reviewed by Dave Hyatt.
76748
76749         Only destroy empty anonymous block when it is columns or column span block
76750         in RenderBlock::removeChild.
76751         https://bugs.webkit.org/show_bug.cgi?id=44035
76752
76753         Test: fast/block/basic/empty-anonymous-block-remove-crash.html
76754
76755         * rendering/RenderBlock.cpp:
76756         (WebCore::RenderBlock::removeChild):
76757
76758 2010-08-17  Darin Fisher  <darin@chromium.org>
76759
76760         Reviewed by Darin Adler.
76761
76762         [Chromium] REGRESSION: Incorrect repaint on scrolling with position:fixed elements
76763         https://bugs.webkit.org/show_bug.cgi?id=42949
76764
76765         This is a partial revert of http://trac.webkit.org/changeset/63907
76766
76767         * page/FrameView.cpp:
76768         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
76769         (WebCore::FrameView::scrollPositionChanged):
76770         * platform/ScrollView.cpp:
76771         (WebCore::ScrollView::valueChanged):
76772
76773 2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
76774
76775         Unreviewed, rolling out r65528.
76776         http://trac.webkit.org/changeset/65528
76777         https://bugs.webkit.org/show_bug.cgi?id=44123
76778
76779         "Broke a bunch of canvas tests on Chrome win/linux."
76780         (Requested by senorblanco on #webkit).
76781
76782         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
76783         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
76784         * platform/graphics/skia/ImageBufferSkia.cpp:
76785         (WebCore::ImageBuffer::drawsUsingCopy):
76786         (WebCore::ImageBuffer::copyImage):
76787         (WebCore::ImageBuffer::draw):
76788         (WebCore::ImageBuffer::drawPattern):
76789         * platform/graphics/skia/ImageSkia.cpp:
76790         (WebCore::BitmapImageSingleFrameSkia::create):
76791         * platform/graphics/skia/NativeImageSkia.cpp:
76792         * platform/graphics/skia/NativeImageSkia.h:
76793
76794 2010-08-17  Martin Robinson  <mrobinson@igalia.com>
76795
76796         Reviewed by David Hyatt.
76797
76798         [Cairo] Remove unnecessary full-surface copies from ImageCairo and GraphicsContextCairo
76799         https://bugs.webkit.org/show_bug.cgi?id=44076
76800
76801         No new tests as functionality has not changed.
76802
76803         * GNUmakefile.am: Added GRefPtrCairo to the sources list.
76804         * platform/graphics/cairo/GRefPtrCairo.cpp: Added.
76805         (WTF::refGPtr): Added specializations for cairo_t and cairo_surface_t.
76806         (WTF::derefGPtr):
76807         * platform/graphics/cairo/GRefPtrCairo.h: Added.
76808         * platform/graphics/cairo/GraphicsContextCairo.cpp:
76809         (WebCore::GraphicsContext::createPlatformShadow): Access the image surface directly
76810         from the ImageBuffer instead of wrapping it in an Image.
76811         * platform/graphics/cairo/ImageCairo.cpp:
76812         (WebCore::Image::drawPattern): Create the temporary surface using cairo primitives
76813         instead of through the platform-independent WebCore code.
76814
76815 2010-08-17  Martin Robinson  <mrobinson@igalia.com>
76816
76817         [GTK] Clean up WebCore/platform/graphics/gtk/ImageGtk.cpp
76818         https://bugs.webkit.org/show_bug.cgi?id=44069
76819
76820         No new tests as functionality has not changed.
76821
76822         * GNUmakefile.am: Add WEBKITGTK_API_VERSION_STRING definition, which
76823         allows WebCore to use this as well.
76824         * platform/graphics/gtk/ImageGtk.cpp:
76825         (getWebKitDataDirectory): Added this helper.
76826         (WebCore::Image::loadPlatformResource): Use GOwnPtr for gchar pointers and
76827         use the new getWebKitDataDirectory helper.
76828         * platform/gtk/GOwnPtrGtk.cpp: Move the GtkIconInfo template specialization to this file.
76829         (WTF::GtkIconInfo): Added this forward declaration.
76830         * platform/gtk/GOwnPtrGtk.h: Declaration for new template specialization.
76831
76832 2010-08-17  Stephen White  <senorblanco@chromium.org>
76833
76834         Reviewed by Darin Fisher.
76835
76836         [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
76837         This is the Skia followup to Dave Hyatt's patch in r65449.
76838         https://bugs.webkit.org/show_bug.cgi?id=44115
76839
76840         Covered by canvas layout tests.
76841
76842         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
76843         Add a "copyPixels" argument to the create() static to indicate if
76844         the caller wants the pixels to be copied or ref'ed.
76845         * platform/graphics/skia/ImageBufferSkia.cpp:
76846         (WebCore::ImageBuffer::drawsUsingCopy):
76847         We don't use the always-copy path anymore, so return false.
76848         (WebCore::ImageBuffer::copyImage):
76849         Shouldn't get here anymore, so ASSERT_NOT_REACHED.
76850         (WebCore::ImageBuffer::draw):
76851         (WebCore::ImageBuffer::drawPattern):
76852         Create a temporary BitampImageSingleFrameSkia wrapped around the
76853         canvas's bitmap, and draw with it immediately.  If drawing to our own
76854         canvas, copy the pixels, otherwise just shallow copy.
76855         * platform/graphics/skia/ImageSkia.cpp:
76856         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
76857         Make the constructor take an SkBitmap to be wrapped.
76858         (WebCore::BitmapImageSingleFrameSkia::create):
76859         Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
76860         do a shallow copy.
76861         * platform/graphics/skia/NativeImageSkia.cpp:
76862         (WebCore::NativeImageSkia::NativeImageSkia):
76863         * platform/graphics/skia/NativeImageSkia.h:
76864         Implement a new constructor that shallow-copies the given SkBitmap.
76865
76866 2010-08-17  Jian Li  <jianli@chromium.org>
76867
76868         Reviewed by Darin Fisher.
76869
76870         Move BlobRegistry interface and implementation to platform/network
76871         https://bugs.webkit.org/show_bug.cgi?id=44116
76872
76873         Also move BlobData and BlobStorageData since they're part of BlobRegistry
76874         implementation.
76875
76876         * Android.mk:
76877         * CMakeLists.txt:
76878         * GNUmakefile.am:
76879         * WebCore.gypi:
76880         * WebCore.pro:
76881         * WebCore.vcproj/WebCore.vcproj:
76882         * WebCore.xcodeproj/project.pbxproj:
76883         * platform/network/BlobData.cpp: Renamed from WebCore/platform/BlobData.cpp.
76884         * platform/network/BlobData.h: Renamed from WebCore/platform/BlobData.h.
76885         * platform/network/BlobRegistry.h: Renamed from WebCore/platform/BlobRegistry.h.
76886         * platform/network/BlobRegistryImpl.cpp: Renamed from WebCore/html/BlobRegistryImpl.cpp.
76887         * platform/network/BlobRegistryImpl.h: Renamed from WebCore/html/BlobRegistryImpl.h.
76888         * platform/network/BlobStorageData.h: Renamed from WebCore/html/BlobStorageData.h.
76889
76890 2010-08-17  Andreas Kling  <andreas.kling@nokia.com>
76891
76892         Reviewed by Ariya Hidayat.
76893
76894         [Qt] Path: Fast approximation of stroke bounding rects
76895         https://bugs.webkit.org/show_bug.cgi?id=44014
76896
76897         In canvas's stroke(), use QPainterPath::controlPointRect() to calculate
76898         a slightly larger bounding rect in a fraction of the time.
76899
76900         * html/canvas/CanvasRenderingContext2D.cpp:
76901         (WebCore::CanvasRenderingContext2D::stroke):
76902
76903 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
76904
76905         Reviewed by Kenneth Rohde Christiansen.
76906         Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
76907         just Flash 10.
76908
76909         https://bugs.webkit.org/show_bug.cgi?id=44043
76910
76911         * plugins/PluginPackage.cpp:
76912         (WebCore::PluginPackage::determineQuirks):
76913
76914 2010-08-17  Jian Li  <jianli@chromium.org>
76915
76916         Reviewed by David Levin.
76917
76918         Change FileStream implementation to prepare for blob resource handling.
76919         https://bugs.webkit.org/show_bug.cgi?id=43985
76920
76921         Change FileStream to support synchronous usage only. All the asychronous
76922         logics are moved to FileStreamProxy. Update the existing FileReader code
76923         to adapt to this change.
76924
76925         * html/FileReader.cpp: Account for FileStreamProxy changes.
76926         (WebCore::FileReader::didStart):
76927         (WebCore::FileReader::didGetSize):
76928         (WebCore::FileReader::didOpen):
76929         (WebCore::FileReader::didRead):
76930         * html/FileReader.h:
76931         * html/FileStream.cpp: Remove m_client and make all calls synchronous only.
76932         (WebCore::FileStream::FileStream):
76933         (WebCore::FileStream::start):
76934         (WebCore::FileStream::stop):
76935         (WebCore::FileStream::getSize):
76936         (WebCore::FileStream::openForRead):
76937         (WebCore::FileStream::openForWrite):
76938         (WebCore::FileStream::close):
76939         (WebCore::FileStream::read):
76940         (WebCore::FileStream::write):
76941         (WebCore::FileStream::truncate):
76942         * html/FileStream.h: Add getSize() and make all calls synchronous by adding return values.
76943         (WebCore::FileStream::create):
76944         * html/FileStreamClient.h: Account for FileStreamProxy changes.
76945         (WebCore::FileStreamClient::didRead):
76946         (WebCore::FileStreamClient::didTruncate):
76947         (WebCore::FileStreamClient::didOpen):
76948         * html/FileStreamProxy.cpp: All the logics to handle asynchronous calls are wrapped here.
76949         (WebCore::FileStreamProxy::FileStreamProxy):
76950         (WebCore::FileStreamProxy::create):
76951         (WebCore::FileStreamProxy::fileThread):
76952         (WebCore::didStart):
76953         (WebCore::FileStreamProxy::startOnFileThread):
76954         (WebCore::FileStreamProxy::stop):
76955         (WebCore::derefProxyOnContext):
76956         (WebCore::FileStreamProxy::stopOnFileThread):
76957         (WebCore::didGetSize):
76958         (WebCore::FileStreamProxy::getSize):
76959         (WebCore::FileStreamProxy::getSizeOnFileThread):
76960         (WebCore::didOpen):
76961         (WebCore::FileStreamProxy::openForRead):
76962         (WebCore::FileStreamProxy::openForReadOnFileThread):
76963         (WebCore::FileStreamProxy::openForWrite):
76964         (WebCore::FileStreamProxy::openForWriteOnFileThread):
76965         (WebCore::FileStreamProxy::close):
76966         (WebCore::FileStreamProxy::closeOnFileThread):
76967         (WebCore::didRead):
76968         (WebCore::FileStreamProxy::read):
76969         (WebCore::FileStreamProxy::readOnFileThread):
76970         (WebCore::didWrite):
76971         (WebCore::FileStreamProxy::write):
76972         (WebCore::FileStreamProxy::writeOnFileThread):
76973         (WebCore::didTruncate):
76974         (WebCore::FileStreamProxy::truncate):
76975         (WebCore::FileStreamProxy::truncateOnFileThread):
76976         * html/FileStreamProxy.h:
76977         * html/FileThreadTask.h: Change all methods to return void since return value is not needed now.
76978
76979 2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
76980
76981         Returned WebCore.xcodeproj to default settings after http://trac.webkit.org/changeset/65468/trunk/WebCore/WebCore.xcodeproj/project.pbxproj.
76982
76983         * WebCore.xcodeproj/project.pbxproj: Removed developmentRegion = English line.
76984
76985 2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
76986
76987         Reviewed by Eric Seidel.
76988
76989         Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
76990         https://bugs.webkit.org/show_bug.cgi?id=43749
76991
76992         Land the actual change that I intended to land in http://trac.webkit.org/changeset/65508.
76993
76994         Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
76995         so the check for shadow tree existence isn't needed.
76996         Gives a small, but consistent win in Dromaeo's DOM Modification test.
76997
76998         * dom/Node.h:
76999         (WebCore::Node::canLazyAttach): Changed to always return true.
77000
77001 2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77002
77003         Reviewed by Eric Carlson.
77004
77005         Restore intrinsic size of video elements after loading poster
77006
77007         The element might already have the instrinsic size of the video, in
77008         which case we don't want to override it witht that of the image.
77009
77010         * rendering/RenderVideo.cpp: call updateIntrinsicSize() to restore size
77011
77012 2010-08-17  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
77013
77014         Reviewed by Steve Block.
77015
77016         Geolocation preemptive permissions policy is buggy
77017         https://bugs.webkit.org/show_bug.cgi?id=42811
77018
77019         While waiting for permission, m_startRequestPermissionNotifier was 
77020         used to consider only one pending request. This patch implements a set
77021         m_pendingForPermissionNotifiers to maintain set of pending requests. 
77022         When user grants/denies permission all listeners will be notified. 
77023         Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
77024         to start irrespective of permission state
77025
77026         Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
77027                fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
77028
77029         * WebCore.pro:
77030         * page/Geolocation.cpp:
77031         (WebCore::Geolocation::startRequest):
77032         (WebCore::Geolocation::setIsAllowed):
77033         (WebCore::Geolocation::startUpdating):
77034         (WebCore::Geolocation::handlePendingPermissionNotifiers):
77035         * page/Geolocation.h:
77036
77037 2010-08-11  Jeremy Orlow  <jorlow@chromium.org>
77038
77039         Beginnings of IndexedDB persistance + IDBDatabase.description fleshed out
77040         https://bugs.webkit.org/show_bug.cgi?id=43744
77041
77042         The beginnings of a SQLite backend for IndexedDB.  Right now, only persists
77043         meta-data for the database.  The rest is coming in future patches.  Adds
77044         a manual test to verify persistance.
77045
77046         Test: storage/indexeddb/database-description.html
77047               + a manual test
77048
77049         * Android.mk:
77050         * CMakeLists.txt:
77051         * GNUmakefile.am:
77052         * WebCore.gypi:
77053         * WebCore.vcproj/WebCore.vcproj:
77054         * WebCore.xcodeproj/project.pbxproj:
77055         * manual-tests/indexed-database.html: Added.
77056         * page/SecurityOrigin.cpp:
77057         (WebCore::SecurityOrigin::databaseIdentifier):
77058         * platform/FileSystem.cpp: Added.
77059         (WebCore::):
77060         (WebCore::shouldEscapeUChar):
77061         (WebCore::encodeForFileName):
77062         * platform/FileSystem.h:
77063         * storage/IDBDatabase.cpp:
77064         (WebCore::IDBDatabase::IDBDatabase):
77065         * storage/IDBDatabase.h:
77066         (WebCore::IDBDatabase::description):
77067         * storage/IDBDatabaseBackendImpl.cpp:
77068         (WebCore::extractMetaData):
77069         (WebCore::setMetaData):
77070         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
77071         (WebCore::IDBDatabaseBackendImpl::setDescription):
77072         * storage/IDBDatabaseBackendImpl.h:
77073         (WebCore::IDBDatabaseBackendImpl::create):
77074         * storage/IDBFactory.h:
77075         * storage/IDBFactory.idl:
77076         * storage/IDBFactoryBackendImpl.cpp:
77077         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
77078         (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
77079         (WebCore::openSQLiteDatabase):
77080         (WebCore::createTables):
77081         (WebCore::IDBFactoryBackendImpl::open):
77082         * storage/IDBFactoryBackendImpl.h:
77083         (WebCore::IDBFactoryBackendImpl::create):
77084
77085 2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
77086
77087         Reviewed by Eric Seidel.
77088
77089         Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
77090         https://bugs.webkit.org/show_bug.cgi?id=43749
77091
77092         Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
77093         so the check for shadow tree existence isn't needed.
77094
77095         Gives a small, but consisten win in Dromaeo's DOM Modification test.
77096
77097         * dom/Node.cpp: Removed canLazyAttach declaration.
77098         * dom/Node.h:
77099         (WebCore::Node::canLazyAttach): Changed to always return true.
77100
77101 2010-08-17  Pavel Feldman  <pfeldman@chromium.org>
77102
77103         Reviewed by Yury Semikhatsky.
77104
77105         Web Inspector: [CRASH] Console formatting crashes after cross-domain navigation.
77106         https://bugs.webkit.org/show_bug.cgi?id=44103
77107
77108         * bindings/js/JSInjectedScriptHostCustom.cpp:
77109         (WebCore::InjectedScriptHost::injectedScriptFor):
77110         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
77111         (WebCore::InjectedScriptHost::injectedScriptFor):
77112         * inspector/ConsoleMessage.cpp:
77113         (WebCore::ConsoleMessage::addToFrontend):
77114
77115 2010-08-17  Yury Semikhatsky  <yurys@chromium.org>
77116
77117         Reviewed by Pavel Feldman.
77118
77119         Web Inspector: upstream Chromium debugger step tests
77120         https://bugs.webkit.org/show_bug.cgi?id=44106
77121
77122         Tests: inspector/debugger-step-in.html
77123                inspector/debugger-step-out.html
77124                inspector/debugger-step-over.html
77125
77126         * bindings/js/ScriptDebugServer.cpp:
77127         (WebCore::ScriptDebugServer::returnEvent): check that debugger is still attached after continue to ensure
77128         that current call frame is not 0.
77129
77130 2010-08-17  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
77131
77132         Reviewed by David Levin.
77133
77134         Trivial fix removing the self-inclusion of a couple of header files.
77135
77136         Self inclusion in Document.h and RenderTheme.h
77137         https://bugs.webkit.org/show_bug.cgi?id=44065
77138
77139         * dom/Document.h:
77140         * rendering/RenderTheme.h:
77141
77142 2010-08-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
77143
77144         Reviewed by Ariya Hidayat.
77145
77146         [Qt] Move the accelerated compositing build flag to the right place
77147         https://bugs.webkit.org/show_bug.cgi?id=43882
77148
77149         No new tests: build fix.
77150
77151         * WebCore.pro:
77152
77153 2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
77154
77155         Unreviewed, rolling out r65500.
77156         http://trac.webkit.org/changeset/65500
77157         https://bugs.webkit.org/show_bug.cgi?id=44108
77158
77159         Qt bots failed to compile. (Requested by loislo on #webkit).
77160
77161         * GNUmakefile.am:
77162         * WebCore.gyp/WebCore.gyp:
77163         * WebCore.gypi:
77164         * WebCore.pri:
77165         * WebCore.pro:
77166         * WebCore.vcproj/copyInspectorFiles.cmd:
77167         * WebCore.xcodeproj/project.pbxproj:
77168         * combine-javascript-resources:
77169         * inspector/CodeGeneratorInspector.pm:
77170         * inspector/front-end/InspectorBackendStub.js: Added.
77171         (WebInspector.InspectorBackendStub):
77172         (WebInspector.InspectorBackendStub.prototype._registerDelegate):
77173         (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
77174         * inspector/front-end/InspectorBackendStub.qrc: Removed.
77175         * inspector/front-end/WebKit.qrc:
77176
77177 2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
77178
77179         Reviewed by Yury Semikhatsky.
77180
77181         Web Inspector: replace hand written InspectorBackendStub.js by generated one.
77182         New command-line flag was added to combine-javascript-resources.
77183         It specifies the location of generated scripts.
77184         https://bugs.webkit.org/show_bug.cgi?id=43791
77185
77186         * GNUmakefile.am:
77187         * WebCore.gyp/WebCore.gyp:
77188         * WebCore.gypi:
77189         * WebCore.pri:
77190         * WebCore.pro:
77191         * WebCore.vcproj/WebCore.vcproj:
77192         * WebCore.xcodeproj/project.pbxproj:
77193         * combine-javascript-resources:
77194         * inspector/CodeGeneratorInspector.pm:
77195         * inspector/front-end/InspectorBackendStub.js: Removed.
77196         * inspector/front-end/WebKit.qrc:
77197
77198 2010-08-17  Pavel Feldman  <pfeldman@chromium.org>
77199
77200         Reviewed by Pavel Feldman.
77201
77202         Web Inspector: get rid of node and scoped object-specific ids.
77203         https://bugs.webkit.org/show_bug.cgi?id=44097
77204
77205         * inspector/front-end/ConsoleView.js:
77206         * inspector/front-end/ElementsTreeOutline.js:
77207         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
77208         * inspector/front-end/EventListenersSidebarPane.js:
77209         * inspector/front-end/InjectedScript.js:
77210         (injectedScriptConstructor.):
77211         (injectedScriptConstructor):
77212         * inspector/front-end/InjectedScriptAccess.js:
77213         (InjectedScriptAccess):
77214         (InjectedScriptAccess.getForNode):
77215         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
77216         (InjectedScriptAccess._installHandler):
77217         * inspector/front-end/PropertiesSidebarPane.js:
77218         (WebInspector.PropertiesSidebarPane.prototype.update):
77219         * inspector/front-end/RemoteObject.js:
77220         (WebInspector.RemoteObjectId):
77221         (WebInspector.RemoteObject.resolveNode):
77222         * inspector/front-end/ScriptsPanel.js:
77223
77224 2010-08-17  Xan Lopez  <xlopez@igalia.com>
77225
77226         Reviewed by Gustavo Noronha.
77227
77228         [GTK] Fix wrapping of core Events in the bindings
77229         https://bugs.webkit.org/show_bug.cgi?id=44095
77230
77231         Return the proper GObject type instead of hardcoding
77232         WebKitDOMEvent for all Event types.
77233
77234         * bindings/gobject/GObjectEventListener.cpp:
77235         (WebCore::GObjectEventListener::handleEvent):
77236         * bindings/gobject/WebKitDOMBinding.cpp:
77237         (WebKit::kit):
77238
77239 2010-08-17  Xan Lopez  <xlopez@igalia.com>
77240
77241         Reviewed by Gustavo Noronha.
77242
77243         Revert supposed build-fix which was in fact reverting a previous
77244         build fix which was correct (oh dear).
77245
77246         * GNUmakefile.am:
77247
77248 2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77249
77250         Reviewed by Antonio Gomes.
77251
77252         [Qt] Add media element support for preload=none
77253
77254         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
77255         * platform/graphics/qt/MediaPlayerPrivateQt.h:
77256
77257 2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77258
77259         Reviewed by Antonio Gomes.
77260
77261         [Qt] Pre-roll media when loading media elements
77262
77263         This ensures we get correct size-hints from QtMultimedia, as well as
77264         the media states Buffering and Buffered instead of Loading and Loaded,
77265         which we use to transition into MediaPlayer::HaveEnoughData.
77266
77267         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
77268         * platform/graphics/qt/MediaPlayerPrivateQt.h:
77269
77270 2010-08-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77271
77272         Reviewed by Kenneth Rohde Christiansen.
77273
77274         [Qt] Fix missing default controls for stand-alone media elements
77275
77276         https://bugs.webkit.org/show_bug.cgi?id=35427
77277
77278         * css/mediaControlsQt.css:
77279
77280 2010-08-17  Ariya Hidayat  <ariya@sencha.com>
77281
77282         Reviewed by Kenneth Rohde Christiansen.
77283
77284         [Qt] Reduce the size of the shadow buffer to the clip region
77285         https://bugs.webkit.org/show_bug.cgi?id=44091
77286
77287         Instead of allocating the buffer image (for the blur support) as big
77288         as the rectangle which casts the shadow, we limit the size to the
77289         current clip region.
77290
77291         * platform/graphics/qt/ContextShadow.cpp:
77292         (WebCore::ContextShadow::drawShadowRect):
77293
77294 2010-08-17  Philippe Normand  <pnormand@igalia.com>
77295
77296         Reviewed by Martin Robinson.
77297
77298         [GStreamer] media/invalid-media-url-crash.html fails
77299         https://bugs.webkit.org/show_bug.cgi?id=42960
77300
77301         Implemented two ResourceHandleClient callbacks that need to notify
77302         downstream GStreamer elements of errors while accessing the
77303         resource.
77304
77305         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
77306         (StreamingClient::wasBlocked):
77307         (StreamingClient::cannotShowURL):
77308
77309 2010-08-16  Gavin Barraclough  <barraclough@apple.com>
77310
77311         Rubber stamped by Sam Weinig
77312
77313         Remove unnecessary includes from UString.h, add new includes as necessary.
77314
77315         * dom/ScriptExecutionContext.h:
77316         * loader/appcache/ApplicationCache.cpp:
77317
77318 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
77319
77320         Reviewed by Darin Adler.
77321
77322         CSS: Add fast-path for rgba() color parsing
77323         https://bugs.webkit.org/show_bug.cgi?id=42965
77324
77325         Test: fast/canvas/rgba-parsing.html
77326
77327         * css/CSSParser.cpp:
77328         (WebCore::CSSParser::parseColor): Extended with support for rgba().
77329         (WebCore::parseAlphaValue): Added, parses an alpha value using
77330         WTF::strtod() (if necessary) and clamps between 0 and 1.
77331         (WebCore::isTenthAlpha):
77332
77333 2010-08-16  Kinuko Yasuda  <kinuko@chromium.org>
77334
77335         Reviewed by Dumitru Daniliuc.
77336
77337         Add idl and mock classes for FileSystem API's {File,Directory}Entry and related interfaces
77338         https://bugs.webkit.org/show_bug.cgi?id=43993
77339
77340         Adding DirectoryEntry, DirectoryReader, EntriesCallback and FileEntry as defined in HTML5 FileSystem API.
77341         http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
77342
77343         Also adding Makefile entries for idl and mock classes added in changeset 64414 (except for Android platforms).
77344
77345         Tests will be added when we add underlying implementation.
77346
77347         * CMakeLists.txt:
77348         * DerivedSources.cpp:
77349         * DerivedSources.make:
77350         * GNUmakefile.am:
77351         * WebCore.gypi:
77352         * WebCore.pri:
77353         * WebCore.pro:
77354         * WebCore.vcproj/WebCore.vcproj:
77355         * WebCore.xcodeproj/project.pbxproj:
77356         * storage/DOMFileSystem.cpp:
77357         (WebCore::DOMFileSystem::root):
77358         * storage/DOMFileSystem.h:
77359         * storage/DOMFileSystem.idl:
77360         * storage/DirectoryEntry.cpp: Added.
77361         * storage/DirectoryEntry.h: Added.
77362         * storage/DirectoryEntry.idl: Added.
77363         * storage/DirectoryReader.cpp: Added.
77364         * storage/DirectoryReader.h: Added.
77365         * storage/DirectoryReader.idl: Added.
77366         * storage/EntriesCallback.h: Added.
77367         * storage/EntriesCallback.idl: Added.
77368         * storage/EntryArray.cpp: Added.
77369         * storage/EntryArray.h: Added.
77370         * storage/EntryArray.idl: Added.
77371         * storage/Entry.cpp:
77372         (WebCore::Entry::Entry):
77373         (WebCore::Entry::getMetadata):
77374         (WebCore::Entry::moveTo):
77375         (WebCore::Entry::copyTo):
77376         (WebCore::Entry::remove):
77377         (WebCore::Entry::getParent):
77378         * storage/Entry.h:
77379         (WebCore::Entry::isFile):
77380         (WebCore::Entry::isDirectory):
77381         * storage/Entry.idl:
77382         * storage/FileEntry.cpp: Added.
77383         * storage/FileEntry.h: Added.
77384         * storage/FileEntry.idl: Added.
77385
77386 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
77387
77388         Reviewed by Ariya Hidayat.
77389
77390         [Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
77391         https://bugs.webkit.org/show_bug.cgi?id=44061
77392
77393         Spec link:
77394         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath
77395
77396         Test: fast/canvas/canvas-closePath-single-point.html
77397
77398         * platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
77399         * platform/graphics/qt/PathQt.cpp:
77400         (WebCore::Path::closeSubpath): Only close the last subpath if it
77401         has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
77402         (WebCore::Path::Path):
77403         (WebCore::Path::operator=):
77404         (WebCore::Path::moveTo):
77405         (WebCore::Path::transform):
77406
77407 2010-08-16  Nate Chapin  <japhet@chromium.org>
77408
77409         Unreviewed, Chromium mac build fix (with help from jamesr).
77410
77411         * platform/chromium/ScrollbarThemeChromiumMac.mm:
77412         (WebCore::ScrollbarThemeChromiumMac::paint):
77413
77414 2010-08-16  Gavin Barraclough  <barraclough@apple.com>
77415
77416         Reviewed by Sam Weinig
77417
77418         Bug 44080 - String find/reverseFind methods need tidying up
77419         These methods have a couple of problems with their interface, and implementation.
77420
77421         These methods take and int index, and return an int - however this is problematic
77422         since on 64-bit string indices may have a full 32-bit range.  This spills out into
77423         surrounding code, which unsafely casts string indices from unsigned to int. Code
77424         checking the result of these methods check for a mix of "== -1", "< 0", and
77425         "== notFound".  Clean this up by changing these methods to take an unsigned
77426         starting index, and return a size_t. with a failed match indicated by notFound.
77427         reverseFind also has a special meaning for the starting index argument, in that a
77428         negative index is interpreted as an offset back from the end of the string. Remove
77429         this functionality, in the (1!) case where it is used we should just calculate the
77430         offset by subtracting from the string's length.
77431
77432         The implementation has a few problems too.  The code is not in webkit style, in
77433         using assorted abbreviations in variable names, and implementations of similar
77434         find methods with differing argument types were unnecessarily inconsistent. When
77435         find is passed const char* data the string would be handled as latin1 (zero
77436         extended to UTF-16) for all characters but the first; this is sign extended.
77437         Case-insensitive find is broken for unicode strings; the hashing optimization is
77438         not unicode safe, and could result in false negatives.
77439
77440         Unify UString find methods to match String.
77441
77442         * css/CSSSelector.cpp:
77443         (WebCore::CSSSelector::RareData::parseNth):
77444         * css/CSSStyleDeclaration.cpp:
77445         (WebCore::CSSStyleDeclaration::setProperty):
77446         * css/CSSStyleSelector.cpp:
77447         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
77448         * dom/Document.cpp:
77449         (WebCore::Document::getImageMap):
77450         * editing/CompositeEditCommand.cpp:
77451         (WebCore::CompositeEditCommand::inputText):
77452         * editing/InsertTextCommand.cpp:
77453         (WebCore::InsertTextCommand::input):
77454         * editing/TextIterator.cpp:
77455         (WebCore::TextIterator::handleTextBox):
77456         * editing/TypingCommand.cpp:
77457         (WebCore::TypingCommand::insertText):
77458         * editing/markup.cpp:
77459         (WebCore::fillContainerFromString):
77460         (WebCore::createFragmentFromText):
77461         * html/File.cpp:
77462         (WebCore::File::Init):
77463         * html/HTMLAnchorElement.cpp:
77464         (WebCore::HTMLAnchorElement::setHost):
77465         * html/HTMLEmbedElement.cpp:
77466         (WebCore::HTMLEmbedElement::parseMappedAttribute):
77467         * html/HTMLFormControlElement.cpp:
77468         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
77469         * html/HTMLObjectElement.cpp:
77470         (WebCore::HTMLObjectElement::parseMappedAttribute):
77471         * inspector/InspectorDOMAgent.cpp:
77472         (WebCore::InspectorDOMAgent::performSearch):
77473         * loader/CrossOriginPreflightResultCache.cpp:
77474         (WebCore::parseAccessControlAllowList):
77475         * loader/MainResourceLoader.cpp:
77476         (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
77477         * loader/appcache/ApplicationCacheStorage.cpp:
77478         (WebCore::parseHeader):
77479         (WebCore::parseHeaders):
77480         * loader/icon/IconFetcher.cpp:
77481         (WebCore::parseIconLink):
77482         * page/DOMWindow.cpp:
77483         (WebCore::DOMWindow::parseModalDialogFeatures):
77484         * page/SecurityOrigin.cpp:
77485         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
77486         * page/UserContentURLPattern.cpp:
77487         (WebCore::UserContentURLPattern::parse):
77488         * page/XSSAuditor.cpp:
77489         (WebCore::XSSAuditor::findInRequest):
77490         * platform/ContentType.cpp:
77491         (WebCore::ContentType::parameter):
77492         (WebCore::ContentType::type):
77493         * platform/KURL.cpp:
77494         (WebCore::KURL::lastPathComponent):
77495         (WebCore::KURL::setProtocol):
77496         (WebCore::decodeURLEscapeSequences):
77497         (WebCore::substituteBackslashes):
77498         (WebCore::mimeTypeFromDataURL):
77499         * platform/Length.cpp:
77500         (WebCore::newCoordsArray):
77501         (WebCore::newLengthArray):
77502         * platform/LinkHash.cpp:
77503         (WebCore::findSlashDotDotSlash):
77504         (WebCore::findSlashSlash):
77505         (WebCore::findSlashDotSlash):
77506         (WebCore::cleanPath):
77507         * platform/MIMETypeRegistry.cpp:
77508         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
77509         * platform/SchemeRegistry.cpp:
77510         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
77511         * platform/graphics/MediaPlayer.cpp:
77512         (WebCore::MediaPlayer::load):
77513         * platform/mac/DragImageMac.mm:
77514         (WebCore::createDragImageIconForCachedImage):
77515         * platform/network/CredentialStorage.cpp:
77516         (WebCore::protectionSpaceMapKeyFromURL):
77517         (WebCore::findDefaultProtectionSpaceForURL):
77518         * platform/network/HTTPParsers.cpp:
77519         (WebCore::skipWhiteSpace):
77520         (WebCore::skipToken):
77521         (WebCore::parseHTTPRefresh):
77522         (WebCore::filenameFromHTTPContentDisposition):
77523         (WebCore::findCharsetInMediaType):
77524         (WebCore::parseXSSProtectionHeader):
77525         (WebCore::extractReasonPhraseFromHTTPStatusLine):
77526         * platform/network/ResourceResponseBase.cpp:
77527         (WebCore::ResourceResponseBase::isAttachment):
77528         (WebCore::parseCacheHeader):
77529         * rendering/RenderEmbeddedObject.cpp:
77530         (WebCore::RenderEmbeddedObject::updateWidget):
77531         * storage/Entry.cpp:
77532         (WebCore::Entry::Entry):
77533         * svg/SVGFont.cpp:
77534         (WebCore::isCompatibleGlyph):
77535         * svg/SVGURIReference.cpp:
77536         (WebCore::SVGURIReference::getTarget):
77537         * svg/animation/SVGSMILElement.cpp:
77538         (WebCore::SVGSMILElement::parseClockValue):
77539         (WebCore::SVGSMILElement::parseCondition):
77540         * xml/XPathFunctions.cpp:
77541         (WebCore::XPath::FunSubstringBefore::evaluate):
77542         (WebCore::XPath::FunSubstringAfter::evaluate):
77543         (WebCore::XPath::FunTranslate::evaluate):
77544         (WebCore::XPath::FunLang::evaluate):
77545         * xml/XPathParser.cpp:
77546         (WebCore::XPath::Parser::expandQName):
77547
77548 2010-08-16  Ryosuke Niwa  <rniwa@webkit.org>
77549
77550         Reviewed by Tony Chang.
77551
77552         REGRESSION(r65208): editing/pasteboard/smart-paste-003.html and smart-paste-004.html crash on Windows Chromium
77553         https://bugs.webkit.org/show_bug.cgi?id=44070
77554
77555         The crash was caused by start or end node being removed in pushDownInlineStyleAroundNode.
77556         It made start and end orphaned, and caused s.node() to be detached from the document.
77557         Fixed the crash by using nodes passed to pushDownInlineStyleAroundNode for start and end if the original
77558         start and end are orphaned because pushDownInlineStyleAroundNode won't prune targetNode.
77559
77560         Test: editing/pasteboard/smart-paste-003-trailing-whitespace.html
77561
77562         * editing/ApplyStyleCommand.cpp:
77563         (WebCore::ApplyStyleCommand::removeInlineStyle):
77564
77565 2010-08-16  James Robinson  <jamesr@chromium.org>
77566
77567         Compile fix. Remove ANGLEWebKitBridge classes from Chromium build.  They are unused.
77568
77569         * WebCore.gypi:
77570
77571 2010-08-16  Vincent Scheib  <scheib@chromium.org>
77572
77573         Reviewed by Dimitri Glazkov.
77574
77575         Canvas2D does not support images larger than system's GPU max texture size
77576         https://bugs.webkit.org/show_bug.cgi?id=43864
77577
77578         A new class "TilingData" has been created that provides logic for 
77579         splitting a large image into a series of smaller tiles.
77580         
77581         GLES2Texture and CLES2Canvas are modified to use the TilingData to
77582         split images on texture upload and render one logical image as many smaller
77583         images.
77584
77585         TilingData is tested via unit tests in WebKit/chromium/tests/TilingDataTest.cpp
77586         
77587         * WebCore.gypi:
77588         * platform/graphics/chromium/GLES2Canvas.cpp:
77589         (WebCore::GLES2Canvas::drawTexturedRect):
77590         (WebCore::GLES2Canvas::drawTexturedRectTile):
77591         * platform/graphics/chromium/GLES2Canvas.h:
77592         * platform/graphics/chromium/GLES2Texture.cpp:
77593         (WebCore::GLES2Texture::GLES2Texture):
77594         (WebCore::GLES2Texture::~GLES2Texture):
77595         (WebCore::GLES2Texture::create):
77596         (WebCore::copySubRect):
77597         (WebCore::GLES2Texture::load):
77598         (WebCore::GLES2Texture::bindTile):
77599         * platform/graphics/chromium/GLES2Texture.h:
77600         (WebCore::GLES2Texture::tiles):
77601         * platform/graphics/chromium/TilingData.cpp: Added.
77602         (WebCore::computeNumTiles):
77603         (WebCore::TilingData::TilingData):
77604         (WebCore::TilingData::tileXIndexFromSrcCoord):
77605         (WebCore::TilingData::tileYIndexFromSrcCoord):
77606         (WebCore::TilingData::tileBounds):
77607         (WebCore::TilingData::tileBoundsWithBorder):
77608         (WebCore::TilingData::tileBoundsNormalized):
77609         (WebCore::TilingData::tilePositionX):
77610         (WebCore::TilingData::tilePositionY):
77611         (WebCore::TilingData::tileSizeX):
77612         (WebCore::TilingData::tileSizeY):
77613         (WebCore::TilingData::overlappedTileIndices):
77614         (WebCore::TilingData::intersectDrawQuad):
77615         * platform/graphics/chromium/TilingData.h: Added.
77616         (WebCore::TilingData::maxTextureSize):
77617         (WebCore::TilingData::totalSizeX):
77618         (WebCore::TilingData::totalSizeY):
77619         (WebCore::TilingData::numTiles):
77620         (WebCore::TilingData::numTilesX):
77621         (WebCore::TilingData::numTilesY):
77622         (WebCore::TilingData::tileIndex):
77623         (WebCore::TilingData::tileXIndex):
77624         (WebCore::TilingData::tileYIndex):
77625         (WebCore::TilingData::TilingData):
77626         (WebCore::TilingData::assertTile):
77627         * platform/graphics/skia/ImageSkia.cpp:
77628         (WebCore::BitmapImage::draw):
77629         * platform/graphics/skia/PlatformContextSkia.cpp:
77630         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
77631
77632 2010-08-16  David Hyatt  <hyatt@apple.com>
77633
77634         Reviewed by Anders Carlsson.
77635
77636         https://bugs.webkit.org/show_bug.cgi?id=43507, stop ImageBuffer from copying its data when rendering after canvas changes happen.
77637         
77638         This patch renames ImageBuffer::image() to ImageBuffer::copyImage(). The new method always returns a new copy that is a current
77639         snapshot of the ImageBuffer.
77640         
77641         To draw an ImageBuffer, you now use new GraphicsContext calls: drawImageBuffer.  Platforms can then optimize these calls to draw
77642         efficiently without having to copy the bits of the ImageBuffer into an Image.
77643
77644         * WebCore.xcodeproj/project.pbxproj:
77645         * css/CSSCanvasValue.cpp:
77646         (WebCore::CSSCanvasValue::image):
77647         * html/HTMLCanvasElement.cpp:
77648         (WebCore::HTMLCanvasElement::willDraw):
77649         (WebCore::HTMLCanvasElement::reset):
77650         (WebCore::HTMLCanvasElement::paint):
77651         (WebCore::HTMLCanvasElement::setSurfaceSize):
77652         (WebCore::HTMLCanvasElement::copiedImage):
77653         (WebCore::HTMLCanvasElement::clearCopiedImage):
77654         * html/HTMLCanvasElement.h:
77655         * html/canvas/CanvasPattern.cpp:
77656         (WebCore::CanvasPattern::CanvasPattern):
77657         * html/canvas/CanvasPattern.h:
77658         (WebCore::CanvasPattern::create):
77659         * html/canvas/CanvasRenderingContext2D.cpp:
77660         (WebCore::CanvasRenderingContext2D::drawImage):
77661         (WebCore::CanvasRenderingContext2D::createPattern):
77662         (WebCore::CanvasRenderingContext2D::drawTextInternal):
77663         * html/canvas/WebGLRenderingContext.cpp:
77664         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
77665         (WebCore::WebGLRenderingContext::reshape):
77666         (WebCore::WebGLRenderingContext::texImage2D):
77667         (WebCore::WebGLRenderingContext::texSubImage2D):
77668         * html/canvas/WebGLRenderingContext.h:
77669         (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
77670         * platform/graphics/GeneratedImage.cpp:
77671         (WebCore::GeneratedImage::drawPattern):
77672         * platform/graphics/GraphicsContext.cpp:
77673         (WebCore::GraphicsContext::drawImageBuffer):
77674         (WebCore::GraphicsContext::clipToImageBuffer):
77675         * platform/graphics/GraphicsContext.h:
77676         * platform/graphics/GraphicsContext3D.h:
77677         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
77678         * platform/graphics/Image.h:
77679         * platform/graphics/ImageBuffer.h:
77680         (WebCore::ImageBuffer::width):
77681         (WebCore::ImageBuffer::height):
77682         * platform/graphics/Pattern.cpp:
77683         (WebCore::Pattern::Pattern):
77684         * platform/graphics/Pattern.h:
77685         (WebCore::Pattern::create):
77686         * platform/graphics/cairo/GraphicsContextCairo.cpp:
77687         * platform/graphics/cairo/ImageBufferCairo.cpp:
77688         (WebCore::ImageBuffer::drawsUsingCopy):
77689         (WebCore::ImageBuffer::copyImage):
77690         (WebCore::ImageBuffer::clip):
77691         (WebCore::ImageBuffer::draw):
77692         (WebCore::ImageBuffer::drawPattern):
77693         * platform/graphics/cg/GraphicsContextCG.cpp:
77694         * platform/graphics/cg/ImageBufferCG.cpp:
77695         (WebCore::ImageBuffer::ImageBuffer):
77696         (WebCore::ImageBuffer::drawsUsingCopy):
77697         (WebCore::ImageBuffer::copyImage):
77698         (WebCore::ImageBuffer::draw):
77699         (WebCore::ImageBuffer::drawPattern):
77700         (WebCore::ImageBuffer::clip):
77701         * platform/graphics/cg/ImageBufferData.h:
77702         * platform/graphics/filters/FEColorMatrix.cpp:
77703         (WebCore::FEColorMatrix::apply):
77704         * platform/graphics/filters/FEComposite.cpp:
77705         (WebCore::FEComposite::apply):
77706         * platform/graphics/filters/SourceAlpha.cpp:
77707         (WebCore::SourceAlpha::apply):
77708         * platform/graphics/filters/SourceGraphic.cpp:
77709         (WebCore::SourceGraphic::apply):
77710         * platform/graphics/mac/GraphicsContext3DMac.mm:
77711         * platform/graphics/qt/GraphicsContext3DQt.cpp:
77712         * platform/graphics/qt/GraphicsContextQt.cpp:
77713         * platform/graphics/qt/ImageBufferData.h:
77714         * platform/graphics/qt/ImageBufferQt.cpp:
77715         (WebCore::ImageBufferData::ImageBufferData):
77716         (WebCore::ImageBuffer::drawsUsingCopy):
77717         (WebCore::ImageBuffer::copyImage):
77718         (WebCore::ImageBuffer::draw):
77719         (WebCore::ImageBuffer::drawPattern):
77720         (WebCore::ImageBuffer::clip):
77721         * platform/graphics/skia/GraphicsContextSkia.cpp:
77722         * platform/graphics/skia/ImageBufferSkia.cpp:
77723         (WebCore::ImageBuffer::drawsUsingCopy):
77724         (WebCore::ImageBuffer::copyImage):
77725         (WebCore::ImageBuffer::clip):
77726         (WebCore::):
77727         * platform/graphics/wx/GraphicsContextWx.cpp:
77728         * platform/graphics/wx/ImageBufferWx.cpp:
77729         (WebCore::ImageBuffer::drawsUsingCopy):
77730         (WebCore::ImageBuffer::copyImage):
77731         (WebCore::ImageBuffer::clip):
77732         (WebCore::ImageBuffer::draw):
77733         (WebCore::ImageBuffer::drawPattern):
77734         * platform/mac/ScrollbarThemeMac.mm:
77735         (WebCore::ScrollbarThemeMac::paint):
77736         * rendering/RenderBoxModelObject.cpp:
77737         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
77738         * rendering/RenderSVGResourceClipper.cpp:
77739         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
77740         * rendering/RenderSVGResourceFilter.cpp:
77741         (WebCore::RenderSVGResourceFilter::postApplyResource):
77742         * rendering/RenderSVGResourceGradient.cpp:
77743         (WebCore::clipToTextMask):
77744         * rendering/RenderSVGResourceMasker.cpp:
77745         (WebCore::RenderSVGResourceMasker::applyResource):
77746         * rendering/RenderSVGResourcePattern.cpp:
77747         (WebCore::RenderSVGResourcePattern::buildPattern):
77748         * rendering/RenderThemeMac.mm:
77749         (WebCore::RenderThemeMac::paintProgressBar):
77750         * svg/SVGFEImageElement.cpp:
77751         (WebCore::SVGFEImageElement::build):
77752         * svg/graphics/SVGImage.cpp:
77753         (WebCore::SVGImage::nativeImageForCurrentFrame):
77754         * svg/graphics/SVGImage.h:
77755         * svg/graphics/filters/SVGFEMerge.cpp:
77756         (WebCore::FEMerge::apply):
77757         * svg/graphics/filters/SVGFEOffset.cpp:
77758         (WebCore::FEOffset::apply):
77759         * svg/graphics/filters/SVGFETile.cpp:
77760         (WebCore::FETile::apply):
77761
77762 2010-08-16  Paul Sawaya  <psawaya@apple.com>
77763
77764         Reviewed by Chris Marrin.
77765
77766         Added shader validation via ANGLE
77767         https://bugs.webkit.org/show_bug.cgi?id=42405
77768
77769         Added validation to WebGL via ANGLE
77770
77771         * Configurations/WebCore.xcconfig:
77772         * WebCore.gypi:
77773         * WebCore.xcodeproj/project.pbxproj:
77774         * platform/graphics/ANGLEWebKitBridge.cpp: Added.
77775         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
77776         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
77777         (WebCore::ANGLEWebKitBridge::validateShaderSource):
77778         * platform/graphics/ANGLEWebKitBridge.h: Added.
77779         (WebCore::):
77780         (WebCore::ANGLEWebKitBridge::setResources):
77781         * platform/graphics/GraphicsContext3D.h:
77782         (WebCore::GraphicsContext3D::):
77783         * platform/graphics/mac/GraphicsContext3DMac.mm:
77784         (WebCore::GraphicsContext3D::GraphicsContext3D):
77785         (WebCore::GraphicsContext3D::compileShader):
77786         (WebCore::GraphicsContext3D::shaderSource):
77787         (WebCore::GraphicsContext3D::getShaderiv):
77788         (WebCore::GraphicsContext3D::getShaderInfoLog):
77789         (WebCore::GraphicsContext3D::getShaderSource):
77790
77791 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
77792
77793         [wx] Build fix, do not build WebCore as a convenience library as this leads to
77794         errors in the Win build w/export symbols and causes problems with DOM bindings
77795         debugging in gdb.
77796
77797         * wscript: Removed.
77798
77799 2010-08-16  Ilya Tikhonovsky  <loislo@chromium.org>
77800
77801         Reviewed by Adam Roben.
77802
77803         Current implementation of WebCore post-build step on windows platform is error prone.
77804         It would be better to extract the script into external file.
77805         https://bugs.webkit.org/show_bug.cgi?id=44058
77806
77807         * WebCore.vcproj/WebCore.vcproj:
77808         * WebCore.vcproj/copyForwardingHeaders.cmd: Added.
77809         * WebCore.vcproj/copyInspectorFiles.cmd: Added.
77810
77811 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
77812
77813         [wx] Fix typo in previous build fix.
77814
77815         * platform/graphics/WOFFFileFormat.cpp:
77816
77817 2010-08-16  Alex Milowski  <alex@milowski.com>
77818
77819         Reviewed by David Levin.
77820
77821         Added the configuration of the MathML related files.
77822
77823         * WebCore.gyp/WebCore.gyp:
77824         * WebCore.gypi:
77825
77826 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
77827
77828         Not reviewed: fix Leopard Release inspector tests.
77829
77830         * inspector/front-end/inspector.js:
77831
77832 2010-08-16  Marcus Bulach  <bulach@chromium.org>
77833
77834         Reviewed by Jeremy Orlow.
77835
77836         Implements IDBKeyPath extractor.
77837         https://bugs.webkit.org/show_bug.cgi?id=43276
77838
77839         Unit-test IDBKeyPathExtractorTest.cpp.
77840         LayoutTests will arrive as IndexedDB infrastructure is fleshed out.
77841
77842         * bindings/v8/IDBBindingUtilities.cpp:
77843         (WebCore::getValueFrom):
77844         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
77845         * bindings/v8/IDBBindingUtilities.h:
77846
77847 2010-08-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
77848
77849         Reviewed by Kenneth Rohde Christiansen and Martin Robinson.
77850
77851         [GTK] GTK+ drawing idle starved
77852         https://bugs.webkit.org/show_bug.cgi?id=43994
77853
77854         Tune down the priority of the shared timers to guarantee GTK+ has
77855         an opportunity to redraw.
77856
77857         * platform/gtk/SharedTimerGtk.cpp:
77858         (WebCore::setSharedTimerFireTime):
77859
77860 2010-08-16  Leandro Pereira  <leandro@profusion.mobi>
77861
77862         [EFL] Build fix after r65366.
77863
77864         EFL port does not support automated tests yet.
77865
77866         * CMakeLists.txt: Use if (VAR) instead of if (${VAR}) to check if
77867         they're empty.
77868
77869 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
77870
77871         Reviewed by Yury Semikhatsky.
77872
77873         Web Inspector: Make InjectedScript proto-based.
77874         https://bugs.webkit.org/show_bug.cgi?id=44028
77875
77876         * inspector/front-end/InjectedScript.js:
77877         (injectedScriptConstructor):
77878         (injectedScriptConstructor.):
77879
77880 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
77881
77882         Reviewed by Adam Roben.
77883
77884         Fix warning in WebCore/plugins/win/PluginPackageWin.cpp
77885         https://bugs.webkit.org/show_bug.cgi?id=43920
77886
77887         * plugins/win/PluginPackageWin.cpp:
77888         (WebCore::PluginPackage::fetchInfo):
77889
77890 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
77891
77892         Not reviewed. Touch inspector file to force frontend deployment.
77893
77894         * inspector/InspectorController.cpp:
77895
77896 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
77897
77898         [wx] Build fix for non-Win ports on Windows.
77899
77900         * platform/graphics/WOFFFileFormat.cpp:
77901
77902 2010-08-16  Adam Langley  <agl@chromium.org>
77903
77904         Reviewed by Tony Chang.
77905
77906         [chromium] Improve spacing support for complex text on Linux
77907
77908         https://bugs.webkit.org/show_bug.cgi?id=39014
77909
77910         Previously, our complex text support ignored word-spacing,
77911         justification and letter-spacing. This fixes the first two issues and
77912         allows us to render Scribd's HTML5 documents much better.
77913
77914         Test: fast/text/atsui-spacing-features.html
77915
77916         * platform/graphics/chromium/FontLinux.cpp:
77917         (WebCore::TextRunWalker::TextRunWalker):
77918         (WebCore::TextRunWalker::setWordSpacingAdjustment):
77919         (WebCore::TextRunWalker::setLetterSpacingAdjustment):
77920         (WebCore::TextRunWalker::setPadding):
77921         (WebCore::TextRunWalker::setGlyphXPositions):
77922         (WebCore::TextRunWalker::isCodepointSpace):
77923         (WebCore::Font::drawComplexText):
77924         (WebCore::Font::floatWidthForComplexText):
77925         (WebCore::Font::offsetForPositionForComplexText):
77926         (WebCore::Font::selectionRectForComplexText):
77927
77928 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
77929
77930         Reviewed by Kenneth Rohde Christiansen.
77931
77932         Fix warnings: unknown conversion type character 'l' in format
77933         https://bugs.webkit.org/show_bug.cgi?id=43359
77934
77935         * loader/icon/IconDatabase.cpp:
77936         (WebCore::IconDatabase::performURLImport): Replace %zu with %lu, because Windows doesn't understand z modifier.
77937         (WebCore::IconDatabase::pruneUnretainedIcons): Use %I64i intsead of %lli on Windows.
77938         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
77939         (WebCore::MediaPlayerPrivate::totalTimeChanged): Use %I64d intsead of %lld on Windows.
77940         * platform/sql/SQLiteDatabase.cpp:
77941         (WebCore::SQLiteDatabase::setMaximumSize): Use %I64i intsead of %lli on Windows.
77942         * storage/DatabaseTracker.cpp:
77943         (WebCore::DatabaseTracker::setQuota): Use %I64u intsead of %llu on Windows.
77944
77945 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
77946
77947         Reviewed by Kenneth Rohde Christiansen.
77948
77949         Fix warnings: unknown conversion type character 'l' in format
77950         https://bugs.webkit.org/show_bug.cgi?id=43359
77951
77952         * loader/FTPDirectoryParser.cpp: Use %I64u format specifier instead of %llu on Windows.
77953         (WebCore::parseOneFTPLine):
77954
77955 2010-08-16  Ariya Hidayat  <ariya@sencha.com>
77956
77957         Reviewed by Kenneth Rohde Christiansen.
77958
77959         [Qt] Shadow blur for rectangle fill
77960         https://bugs.webkit.org/show_bug.cgi?id=44025
77961
77962         The blur implementation follows the approximation of Gaussian blur
77963         with three successive box blurs, working on the alpha channel only.
77964         (see http://www.w3.org/TR/SVG/filters.html#feGaussianBlur).
77965
77966         * WebCore.pro: Refer to ContexShadow.* files.
77967         * platform/graphics/qt/ContextShadow.cpp: Added.
77968         (WebCore::ContextShadow::ContextShadow):
77969         (WebCore::ContextShadow::clear):
77970         (WebCore::blurHorizontal): Box blurs in horizontal direction, working
77971         on QImage (in-place).
77972         (WebCore::shadowBlur): Main blur function which just calls the
77973         above blurHorizontal function twice, once with transposed image
77974         (equivalent as it would have done vertical box blurs).
77975         (WebCore::ContextShadow::drawShadowRect):
77976         * platform/graphics/qt/ContextShadow.h: Added.
77977         (WebCore::ContextShadow::):
77978         * platform/graphics/qt/GraphicsContextQt.cpp:
77979         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
77980         (WebCore::GraphicsContext::restorePlatformState):
77981         (WebCore::GraphicsContext::fillRect): Use ContextShadow for the shadow.
77982         (WebCore::GraphicsContext::setPlatformShadow):
77983
77984 2010-08-16  Andras Becsi  <abecsi@webkit.org>
77985
77986         Rubber-stamped by Gustavo Noronha Silva.
77987
77988         [GTK] Build fix for MathML code generation.
77989
77990         No new tests needed.
77991
77992         * GNUmakefile.am:
77993
77994 2010-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
77995
77996         Unreviewed, rolling out r65414.
77997         http://trac.webkit.org/changeset/65414
77998         https://bugs.webkit.org/show_bug.cgi?id=44055
77999
78000         GTL & QT tests failing. (Requested by pfeldman on #webkit).
78001
78002         * inspector/front-end/InjectedScript.js:
78003         (injectedScriptConstructor):
78004         (injectedScriptConstructor.):
78005
78006 2010-08-16  Ariya Hidayat  <ariya@sencha.com>
78007
78008         Reviewed by Antonio Gomes.
78009
78010         [Qt] Save and restore shadow state in GraphicsContextQt
78011         https://bugs.webkit.org/show_bug.cgi?id=44031
78012
78013         This is needed after r65362.
78014         Use a new class ContextShadowParameter to track and keep the shadow
78015         state. We use this rather than using GraphicsContextState to allow
78016         possible optimizations (right now only to determine the shadow type,
78017         but in future it might cover things like cached scratch image,
78018         persistent shader, etc).
78019
78020         * platform/graphics/qt/GraphicsContextQt.cpp:
78021         (WebCore::ContextShadowParameter::):
78022         (WebCore::ContextShadowParameter::ContextShadowParameter):
78023         (WebCore::ContextShadowParameter::clear):
78024         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
78025         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78026         (WebCore::GraphicsContext::savePlatformState):
78027         (WebCore::GraphicsContext::restorePlatformState):
78028         (WebCore::GraphicsContext::drawRect):
78029         (WebCore::GraphicsContext::drawLine):
78030         (WebCore::GraphicsContext::strokeArc):
78031         (WebCore::GraphicsContext::drawConvexPolygon):
78032         (WebCore::GraphicsContext::fillPath):
78033         (WebCore::GraphicsContext::strokePath):
78034         (WebCore::GraphicsContext::fillRect):
78035         (WebCore::GraphicsContext::fillRoundedRect):
78036         (WebCore::GraphicsContext::setPlatformShadow):
78037         (WebCore::GraphicsContext::clearPlatformShadow):
78038
78039 2010-07-28  Marcus Bulach  <bulach@chromium.org>
78040
78041         Reviewed by Adam Barth.
78042
78043         Implement IDBKeyPath parser.
78044         https://bugs.webkit.org/show_bug.cgi?id=42976
78045
78046         IDBKeyPath is an internal class, exposed only for unit tests for now.
78047         It'll allow indexed database implementation to traverse a given key path and obtain the corresponding properties
78048         from a SerializedScriptValue.
78049
78050         * WebCore.gypi:
78051         * storage/IDBKeyPath.cpp: Added.
78052         (WebCore::IDBKeyPath::create):
78053         (WebCore::IDBKeyPath::IDBKeyPath):
78054         (WebCore::IDBKeyPath::~IDBKeyPath):
78055         (WebCore::IDBKeyPath::hasNext):
78056         (WebCore::IDBKeyPath::next):
78057         (WebCore::IDBKeyPath::identifier):
78058         (WebCore::IDBKeyPath::hasIndex):
78059         (WebCore::IDBKeyPath::indexValue):
78060         (WebCore::IDBKeyPath::parserError):
78061         (WebCore::IDBKeyPath::parse):
78062         (WebCore::IDBKeyPath::Lexer::lex):
78063         (WebCore::isSafeIdentifierStartCharacter):
78064         (WebCore::isSafeIdentifierCharacter):
78065         (WebCore::IDBKeyPath::Lexer::lexIdentifier):
78066         (WebCore::IDBKeyPath::Lexer::lexNumber):
78067         * storage/IDBKeyPath.h: Added.
78068         (WebCore::IDBKeyPath::Token::Token):
78069         (WebCore::IDBKeyPath::):
78070         (WebCore::IDBKeyPath::Lexer::Lexer):
78071         (WebCore::IDBKeyPath::Lexer::next):
78072         (WebCore::IDBKeyPath::Lexer::currentToken):
78073
78074 2010-08-13  Steve Block  <steveblock@google.com>
78075
78076         Reviewed by Alexey Proskuryakov.
78077
78078         Geolocation requests in progress when the frame is disconnected should invoke the error callback
78079         https://bugs.webkit.org/show_bug.cgi?id=43974
78080
78081         If requests are ongoing when the Frame is disconnected, we abort them with a fatal error.
78082         To do this, when Geolocation::disconnectFrame() is called we call cancelAllRequests() to
78083         set a fatal error on all ongoing requests. Once the requests have made their error
78084         callbacks, they are deleted. Note that we check at callback time that the script
78085         execution context for the callback is still valid, so it's safe to attempt these
78086         callbacks even after the Geolocation object's Frame has gone.
78087
78088         This requires a change to allow multiple calls to GeoNotifier::setFatalError().
78089         For repeated calls, we do not replace the existing error. This ensures that when
78090         permission has been denied and the frame is then disconnected, the error callback
78091         reports the permission error, as required by the spec.
78092
78093         Tests: fast/dom/Geolocation/disconnected-frame.html
78094                fast/dom/Geolocation/disconnected-frame-permission-denied.html
78095
78096         * page/Geolocation.cpp:
78097         (WebCore::Geolocation::GeoNotifier::setFatalError):
78098         (WebCore::Geolocation::disconnectFrame):
78099         (WebCore::Geolocation::startRequest):
78100         (WebCore::Geolocation::cancelAllRequests):
78101         * page/Geolocation.h:
78102
78103 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
78104
78105         Reviewed by Joseph Pecoraro.
78106
78107         Web Inspector: upstream frontend-side WebSocket transport.
78108         https://bugs.webkit.org/show_bug.cgi?id=43970
78109
78110         Chromium already has an alternate WebSocket-based communication channel with
78111         the backend. Upstreaming it in this change. We will agree on the URI
78112         of the remote service as the protocol matures.
78113
78114         * inspector/front-end/inspector.js:
78115         (.WebInspector.socket.onmessage):
78116         (.WebInspector.socket.onerror):
78117         (.WebInspector.socket.onopen):
78118         (WebInspector.loaded):
78119         (WebInspector.doLoadedDone):
78120         (WebInspector_syncDispatch):
78121
78122 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
78123
78124         Reviewed by Yury Semikhatsky.
78125
78126         Web Inspector: Make InjectedScript proto-based.
78127         https://bugs.webkit.org/show_bug.cgi?id=44028
78128
78129         * inspector/front-end/InjectedScript.js:
78130         (injectedScriptConstructor):
78131         (injectedScriptConstructor.):
78132         * inspector/front-end/inspector.js:
78133         (WebInspector.loaded):
78134
78135 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
78136
78137         Reviewed by Joseph Pecoraro.
78138
78139         Web Inspector: [REGRESSION] console's clear command does not work.
78140         https://bugs.webkit.org/show_bug.cgi?id=44027
78141
78142         Test: inspector/console-command-clear.html
78143
78144         * inspector/Inspector.idl:
78145         * inspector/InspectorBackend.cpp:
78146         * inspector/InspectorBackend.h:
78147         * inspector/InspectorController.cpp:
78148         (WebCore::InspectorController::clearConsoleMessages):
78149         * inspector/front-end/ConsoleView.js:
78150         (WebInspector.ConsoleView.prototype.requestClearMessages):
78151         * inspector/front-end/inspector.js:
78152         (WebInspector.consoleMessagesCleared):
78153
78154 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78155
78156         Ugh, the #if ENABLE() was supposed to be added to Settings not GroupSettings.
78157
78158         * page/GroupSettings.cpp:
78159         (WebCore::GroupSettings::GroupSettings):
78160         (WebCore::GroupSettings::setLocalStorageQuotaBytes):
78161         * page/GroupSettings.h:
78162         * page/Settings.cpp:
78163         (WebCore::Settings::Settings):
78164         * page/Settings.h:
78165
78166 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78167
78168         Last build fix?
78169
78170         * page/PageGroup.cpp:
78171         (WebCore::PageGroup::PageGroup):
78172
78173 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78174
78175         Ugh...another build fix.
78176
78177         * page/GroupSettings.cpp:
78178         (WebCore::GroupSettings::GroupSettings):
78179         * page/GroupSettings.h:
78180
78181 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78182
78183         Build fix.
78184
78185         * GNUmakefile.am:
78186
78187 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78188
78189         Build fix.
78190
78191         * page/PageGroup.cpp:
78192         (WebCore::PageGroup::localStorage):
78193
78194 2010-08-13  Jeremy Orlow  <jorlow@chromium.org>
78195
78196         Some settings are linked to the PageGroup not the Page.  Create a new class for those.
78197         https://bugs.webkit.org/show_bug.cgi?id=43794
78198
78199         Since persistient storage is shared between pages, there's no way to modify
78200         some settings related to it on a per page basis.  As such, it's not technically
78201         correct for these settings to be on the Page's settings.  Create a new class
78202         called GroupSettings, move  group-wide local storage setting there (the other we
78203         can't), and add a new setting for IndexedDB's path (which is prompting this change).
78204
78205         No behavior has changed, so no tests.
78206
78207         * Android.mk:
78208         * CMakeLists.txt:
78209         * GNUmakefile.am:
78210         * WebCore.gypi:
78211         * WebCore.pro:
78212         * WebCore.vcproj/WebCore.vcproj:
78213         * WebCore.xcodeproj/project.pbxproj:
78214         * page/GroupSettings.cpp: Added.
78215         (WebCore::GroupSettings::GroupSettings):
78216         (WebCore::GroupSettings::setLocalStorageQuotaBytes):
78217         (WebCore::GroupSettings::setLocalStorageDatabasePath):
78218         (WebCore::GroupSettings::setIndexedDBDatabasePath):
78219         * page/GroupSettings.h: Added.
78220         (WebCore::GroupSettings::create):
78221         (WebCore::GroupSettings::localStorageQuotaBytes):
78222         (WebCore::GroupSettings::localStorageDatabasePath):
78223         (WebCore::GroupSettings::indexedDBDatabasePath):
78224         * page/PageGroup.cpp:
78225         (WebCore::PageGroup::PageGroup):
78226         (WebCore::PageGroup::localStorage):
78227         * page/PageGroup.h:
78228         (WebCore::PageGroup::groupSettings):
78229         * page/Settings.cpp:
78230         (WebCore::Settings::Settings):
78231         (WebCore::Settings::setSessionStorageQuota):
78232         * page/Settings.h:
78233
78234 2010-08-16  Adam Barth  <abarth@webkit.org>
78235
78236         Reviewed by Alexey Proskuryakov.
78237
78238         HTML5 fragment parsing doesn't load iframes
78239         https://bugs.webkit.org/show_bug.cgi?id=44038
78240
78241         Previously, this code assumed that every source iframe was actually
78242         attached to a render tree.  It tried to "keep the iframe alive" as it
78243         moved documents.  However, if the iframe wasn't attached to begin with,
78244         it was never "alive," so trying to keep a dead iframe alive lead to a
78245         ...  zombie iframe.
78246
78247         Test: fast/frames/adopt-from-created-document.html
78248
78249         * dom/Document.cpp:
78250         (WebCore::Document::adoptNode):
78251
78252 2010-08-13  MORITA Hajime  <morrita@google.com>
78253
78254         Reviewed by Tony Chang.
78255
78256         https://bugs.webkit.org/show_bug.cgi?id=43778
78257         Dropping should fire textInput event
78258
78259         This change:
78260         - added TextEvent::m_isDrop to distinguish drop-initiated events.
78261         - added to dispatch TextEvent from DragController before making a side effect
78262           and cancel the side effect if the event prevents default
78263
78264         Tests: editing/pasteboard/drop-text-events-sideeffect.html
78265                editing/pasteboard/drop-text-events.html
78266
78267         * dom/TextEvent.cpp:
78268         (WebCore::TextEvent::createForDrop): Added.
78269         (WebCore::TextEvent::TextEvent):
78270         * dom/TextEvent.h:
78271         (WebCore::TextEvent::isDrop): Added.
78272         * editing/Editor.cpp:
78273         (WebCore::Editor::handleTextEvent):
78274         (WebCore::Editor::findEventTargetFrom): Extracted from findEventTargetFromSelection().
78275         (WebCore::Editor::findEventTargetFromSelection): 
78276         * editing/Editor.h:
78277         * page/DragController.cpp:
78278         (WebCore::DragController::dispatchTextInputEventFor): Added.
78279         (WebCore::DragController::concludeEditDrag): Added an event dispatch path.
78280         * page/DragController.h:
78281
78282 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
78283
78284         Unreviewed, rolling out r65393.
78285         http://trac.webkit.org/changeset/65393
78286         https://bugs.webkit.org/show_bug.cgi?id=44031
78287
78288         Breaks some canvas tests.
78289
78290         * platform/graphics/qt/GraphicsContextQt.cpp:
78291         (WebCore::GraphicsContextPlatformPrivate::):
78292         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
78293         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78294         (WebCore::GraphicsContext::savePlatformState):
78295         (WebCore::GraphicsContext::restorePlatformState):
78296         (WebCore::GraphicsContext::strokeArc):
78297         (WebCore::GraphicsContext::drawConvexPolygon):
78298         (WebCore::GraphicsContext::fillPath):
78299         (WebCore::GraphicsContext::strokePath):
78300         (WebCore::GraphicsContext::fillRect):
78301         (WebCore::GraphicsContext::fillRoundedRect):
78302         (WebCore::GraphicsContext::setPlatformShadow):
78303         (WebCore::GraphicsContext::clearPlatformShadow):
78304
78305 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
78306
78307         Reviewed by Antonio Gomes.
78308
78309         [Qt] Save and restore shadow state in GraphicsContextQt
78310         https://bugs.webkit.org/show_bug.cgi?id=44031
78311
78312         This is needed after r65362.
78313         Use a new class ContextShadowParameter to track and keep the shadow
78314         state. We use this rather than using GraphicsContextState to allow
78315         possible optimizations (right now only to determine the shadow type,
78316         but in future it might cover things like cached scratch image,
78317         persistent shader, etc).
78318
78319         * platform/graphics/qt/GraphicsContextQt.cpp:
78320         (WebCore::ContextShadowParameter::):
78321         (WebCore::ContextShadowParameter::ContextShadowParameter):
78322         (WebCore::ContextShadowParameter::clear):
78323         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
78324         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78325         (WebCore::GraphicsContext::savePlatformState):
78326         (WebCore::GraphicsContext::restorePlatformState):
78327         (WebCore::GraphicsContext::drawRect):
78328         (WebCore::GraphicsContext::drawLine):
78329         (WebCore::GraphicsContext::strokeArc):
78330         (WebCore::GraphicsContext::drawConvexPolygon):
78331         (WebCore::GraphicsContext::fillPath):
78332         (WebCore::GraphicsContext::strokePath):
78333         (WebCore::GraphicsContext::fillRect):
78334         (WebCore::GraphicsContext::fillRoundedRect):
78335         (WebCore::GraphicsContext::setPlatformShadow):
78336         (WebCore::GraphicsContext::clearPlatformShadow):
78337
78338 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
78339
78340         Reviewed by Antonio Gomes.
78341
78342         [Qt] Border should not cast shadows
78343         https://bugs.webkit.org/show_bug.cgi?id=44015
78344
78345         Shadows should be not casted except for brush fill (which is not what
78346         drawLine and drawRect are supposed to do).
78347
78348         * platform/graphics/qt/GraphicsContextQt.cpp:
78349         (WebCore::GraphicsContext::drawRect): Remove shadow painting,
78350         (WebCore::GraphicsContext::drawLine): ditto.
78351
78352 2010-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
78353
78354         Reviewed by Antonio Gomes.
78355
78356         [EFL] Build error on r65378
78357         https://bugs.webkit.org/show_bug.cgi?id=44019
78358
78359         Change build script for HTMLEntityNames.json instead of HTMLEntityNames.gperf
78360
78361         * CMakeLists.txt:
78362
78363 2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
78364
78365         [wx] Build fix, add missing header.
78366
78367         * platform/graphics/WOFFFileFormat.cpp:
78368
78369 2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
78370
78371         [wx] Build fix, don't build PluginDataNone.cpp even on GTK as PluginDataWx.cpp compiles.
78372
78373         * wscript:
78374
78375 2010-08-15  Adam Barth  <abarth@webkit.org>
78376
78377         Reviewed by Eric Seidel.
78378
78379         document.write() doesn't flush plain text
78380         https://bugs.webkit.org/show_bug.cgi?id=8961
78381
78382         Originally I thought we should buffer the character tokens until we've
78383         reached the end of the input stream, but that's not how the spec
78384         handles things (it emits the character tokens one-by-one).
78385
78386         Tests: fast/tokenizer/flush-characters-in-document-write-evil.html
78387                fast/tokenizer/flush-characters-in-document-write.html
78388
78389         * html/HTMLTokenizer.cpp:
78390         (WebCore::HTMLTokenizer::emitEndOfFile):
78391         (WebCore::HTMLTokenizer::nextToken):
78392         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
78393             - Renamed this function now that it's simplier.
78394         * html/HTMLTokenizer.h:
78395
78396 2010-08-15  Adam Barth  <abarth@webkit.org>
78397
78398         Reviewed by Eric Seidel.
78399
78400         Don't try to replace a non-existent document after executing JavaScript URLs
78401         https://bugs.webkit.org/show_bug.cgi?id=44024
78402
78403         Synchronous JavaScript execution is evil.  Previously, the frame was
78404         deleted after executing the JavaScript URL, so we'd get confused when
78405         we tried to replace its document.
78406
78407         Test: fast/frames/javascript-url-for-deleted-frame.html
78408
78409         * bindings/ScriptControllerBase.cpp:
78410         (WebCore::ScriptController::executeIfJavaScriptURL):
78411
78412 2010-08-14  Sheriff Bot  <webkit.review.bot@gmail.com>
78413
78414         Unreviewed, rolling out r65374.
78415         http://trac.webkit.org/changeset/65374
78416         https://bugs.webkit.org/show_bug.cgi?id=44018
78417
78418         broke a myriad of svg tests (Requested by kling on #webkit).
78419
78420         * platform/graphics/qt/PathQt.cpp:
78421         (WebCore::Path::strokeBoundingRect):
78422
78423 2010-08-14  Eric Seidel  <eric@webkit.org>
78424
78425         Reviewed by Adam Barth.
78426
78427         XSLTProcessor.transformToFragment should not pass contextElement to html/xml document parsers
78428         https://bugs.webkit.org/show_bug.cgi?id=44017
78429
78430         This fixes two tests which otherwise would fail when the
78431         HTML5 TreeBuilder is enabled for fragment parsing.
78432
78433         This revealed a bug in HTMLTreeBuilder() which I fixed as well.
78434
78435         * html/HTMLTreeBuilder.cpp:
78436         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
78437         * xml/XSLTProcessor.cpp:
78438         (WebCore::createFragmentFromSource):
78439
78440 2010-08-14  Andreas Kling  <andreas.kling@nokia.com>
78441
78442         Reviewed by Ariya Hidayat.
78443
78444         [Qt] Path: Fast approximation of stroke bounding rects
78445         https://bugs.webkit.org/show_bug.cgi?id=44014
78446
78447         * platform/graphics/qt/PathQt.cpp:
78448         (WebCore::Path::strokeBoundingRect): Use QPainterPath::controlPointRect()
78449         to calculate a slightly larger bounding rect in a fraction of the time.
78450
78451 2010-08-14  Eric Seidel  <eric@webkit.org>
78452
78453         Reviewed by Adam Barth.
78454
78455         Move innerHTML off of Range::createContextualFragment
78456         https://bugs.webkit.org/show_bug.cgi?id=44011
78457
78458         This makes all the editing tests stop failing under the
78459         HTML5 TreeBuilder.
78460
78461         In a previous patch Adam disabled some of the (wrong) code
78462         in createContextualFragment when in html5 treebuilder mode.
78463         The problem is that the editing code depends on
78464         createContextualFragment (as well as the Range DOM API),
78465         so we have to leave this code in until we can figure
78466         out if it's right or wrong behavior for the Range API.
78467
78468         This patch moves innerHTML/outerHTML off of using
78469         createContextualFragment and instead calls
78470         DocumentFragment::parseHTML directly (which is much simpler).
78471
78472         I expect Adam and I will end up turning on the HTML5 TreeBuilder
78473         in the next couple days, and most of the if branches I added
78474         here will go away for good.
78475
78476         I renamed Element::createContextualFragment to
78477         deprecatedCreateContextualFragment, to indicate that it's a
78478         dead API.  The editing code should move off of it and consider
78479         using DocumentFragment::parseHTML instead.
78480
78481         * dom/Element.cpp:
78482         (WebCore::Element::deprecatedCreateContextualFragment):
78483         * dom/Element.h:
78484         * dom/Range.cpp:
78485         (WebCore::Range::createContextualFragment):
78486         * editing/markup.cpp:
78487         (WebCore::createFragmentFromMarkup):
78488         * html/HTMLElement.cpp:
78489         (WebCore::useLegacyTreeBuilder):
78490         (WebCore::HTMLElement::deprecatedCreateContextualFragment):
78491         (WebCore::HTMLElement::setInnerHTML):
78492         (WebCore::HTMLElement::setOuterHTML):
78493         * html/HTMLElement.h:
78494
78495 2010-08-14  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
78496
78497         Reviewed by Antonio Gomes.
78498
78499         [Qt] Fix compilation with QT_NO_LINEEDIT
78500         https://bugs.webkit.org/show_bug.cgi?id=38324
78501
78502         * bridge/qt/qt_runtime.cpp:
78503         (JSC::Bindings::convertValueToQVariant):
78504         (JSC::Bindings::convertQVariantToValue):
78505
78506 2010-08-14  Rob Buis  <rwlbuis@gmail.com>
78507
78508         Reviewed by Dirk Schulze.
78509
78510         IE SVG empty path test fails
78511         https://bugs.webkit.org/show_bug.cgi?id=44008
78512
78513         Change createLine to allow creating zero-length lines. This makes it possible
78514         to have markers and line-caps applied to zero-length lines.
78515
78516         Test: svg/custom/marker-empty-path.svg
78517
78518         * platform/graphics/Path.cpp:
78519         (WebCore::Path::createLine):
78520
78521 2010-08-14  Patrick Gansterer  <paroga@paroga.com>
78522
78523         Reviewed by Kenneth Rohde Christiansen.
78524
78525         [CMake] Move SQL files into a IF (ENABLE_DATABASE) section
78526         https://bugs.webkit.org/show_bug.cgi?id=43979
78527
78528         * CMakeLists.txt:
78529
78530 2010-08-14  Matthew Delaney  <mdelaney@apple.com>
78531
78532         Reviewed by Kenneth Rohde Christiansen.
78533
78534         Canvas is not reset when setting canvas.width
78535         https://bugs.webkit.org/show_bug.cgi?id=43341
78536
78537         * html/HTMLCanvasElement.cpp:
78538         (WebCore::HTMLCanvasElement::reset): Moved the call to
78539         hasCreatedImageBuffer up *before* the call to setSurface since setSurface
78540         sets hasCreatedImageBuffer to false every time.
78541
78542 2010-08-14  Patrick Gansterer  <paroga@paroga.com>
78543
78544         Reviewed by Kenneth Rohde Christiansen.
78545
78546         [CMake] Set target properties only if available
78547         https://bugs.webkit.org/show_bug.cgi?id=43978
78548
78549         * CMakeLists.txt:
78550
78551 2010-08-14  Dirk Schulze  <krit@webkit.org>
78552
78553         Unreviewed sort of Xcode project file.
78554
78555         * WebCore.xcodeproj/project.pbxproj:
78556
78557 2010-08-14  Ariya Hidayat  <ariya@sencha.com>
78558
78559         Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
78560
78561         [Qt] Refactor shadow state handling in GraphicsContextQt
78562         https://bugs.webkit.org/show_bug.cgi?id=44006
78563
78564         * platform/graphics/qt/GraphicsContextQt.cpp:
78565         (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
78566         member variables.
78567         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
78568         function to check whether there is shadow or not.
78569         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78570         (WebCore::GraphicsContext::drawRect): Use shadow states instead of
78571         calling getShadow.
78572         (WebCore::GraphicsContext::drawLine): ditto.
78573         (WebCore::GraphicsContext::strokeArc): ditto.
78574         (WebCore::GraphicsContext::drawConvexPolygon): ditto.
78575         (WebCore::GraphicsContext::fillPath): ditto.
78576         (WebCore::GraphicsContext::strokePath): ditto.
78577         (WebCore::GraphicsContext::fillRect): Removes the use of helper function
78578         drawBorderlessRectShadow as the code already becomes a lot simpler.
78579         (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
78580         function drawFilledShadowPath as the code already becomes a lot simpler.
78581         (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
78582         and find out the shadow type (complexity) for future use.
78583         (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
78584
78585 2010-08-13  Adam Barth  <abarth@webkit.org>
78586
78587         Reviewed by Eric Seidel.
78588
78589         Rename some concepts in HTML entity search to be more self-documenting
78590         https://bugs.webkit.org/show_bug.cgi?id=44004
78591
78592         Start and end are now first and last, which lets us use some better
78593         names for the statics in HTMLEntityTable.
78594
78595         * html/HTMLEntityParser.cpp:
78596         (WebCore::consumeHTMLEntity):
78597         * html/HTMLEntitySearch.cpp:
78598         (WebCore::HTMLEntitySearch::HTMLEntitySearch):
78599         (WebCore::HTMLEntitySearch::findFirst):
78600         (WebCore::HTMLEntitySearch::findLast):
78601         (WebCore::HTMLEntitySearch::advance):
78602         * html/HTMLEntitySearch.h:
78603         (WebCore::HTMLEntitySearch::isEntityPrefix):
78604         (WebCore::HTMLEntitySearch::mostRecentMatch):
78605         (WebCore::HTMLEntitySearch::fail):
78606         * html/HTMLEntityTable.h:
78607
78608 2010-08-13  Adam Barth  <abarth@webkit.org>
78609
78610         Fix ASSERT in XML entity parsing.  You can't advance the entity search
78611         if you've already discovered that your string is not an entity.
78612
78613         * html/HTMLEntityParser.cpp:
78614         (WebCore::decodeNamedEntity):
78615
78616 2010-08-13  Eric Seidel  <eric@webkit.org>
78617
78618         Unreviewed.  Attempt at fixing Chromium build.
78619
78620         Add support for MathML entities
78621         https://bugs.webkit.org/show_bug.cgi?id=43949
78622
78623         * WebCore.gyp/WebCore.gyp:
78624          - I have no clue if this is right or not.
78625
78626 2010-08-13  Eric Seidel  <eric@webkit.org>
78627
78628         Unreviewed.  Attempted build fix for Windows.
78629
78630         Add support for MathML entities
78631         https://bugs.webkit.org/show_bug.cgi?id=43949
78632
78633         * DerivedSources.cpp:
78634          - Add HTMLEntityTable.cpp
78635
78636 2010-08-09  Adam Barth  <abarth@webkit.org>
78637
78638         Reviewed by Eric Seidel.
78639
78640         Add support for MathML entities
78641         https://bugs.webkit.org/show_bug.cgi?id=43949
78642
78643         Implementing the HTML5 entity parsing algorithm require refactoring how
78644         we search for entity names.  Instead of using a perfect hash, we now
78645         use a sorted list.  As we advance through the input, we walk down a
78646         binary search of the table looking for an entity.
78647
78648         Using this data structure lets us keep track of whether the current
78649         string is a prefix of an existing entity, which we need for the
78650         algorithm.  In a future patch, I plan to add some indices to the
78651         table, which should let us narrow down the range of interesting entries
78652         more quickly.
78653
78654         The one nasty piece of the algorithm is if we walk too far down the
78655         input and we need to back up to a previous match.  In this patch, we
78656         accomplish this by rewinding the input and consuming a known number of
78657         characters to resync the source.
78658
78659         * WebCore.xcodeproj/project.pbxproj:
78660         * html/HTMLEntityParser.cpp:
78661         (WebCore::consumeHTMLEntity):
78662         * html/HTMLEntitySearch.cpp: Added.
78663         (WebCore::):
78664         (WebCore::HTMLEntitySearch::HTMLEntitySearch):
78665         (WebCore::HTMLEntitySearch::compare):
78666         (WebCore::HTMLEntitySearch::findStart):
78667         (WebCore::HTMLEntitySearch::findEnd):
78668         (WebCore::HTMLEntitySearch::advance):
78669         * html/HTMLEntitySearch.h: Added.
78670         (WebCore::HTMLEntitySearch::isEntityPrefix):
78671         (WebCore::HTMLEntitySearch::currentValue):
78672         (WebCore::HTMLEntitySearch::lastMatch):
78673         (WebCore::HTMLEntitySearch::):
78674         (WebCore::HTMLEntitySearch::fail):
78675         * html/HTMLEntityTable.h: Added.
78676         (WebCore::HTMLEntityTableEntry::lastCharacter):
78677
78678 2010-08-13  Tony Gentilcore  <tonyg@chromium.org>
78679
78680         Reviewed by Eric Seidel.
78681
78682         Refactor HTMLScriptRunner to allow deferred scripts to share code
78683         https://bugs.webkit.org/show_bug.cgi?id=43736
78684
78685         No new tests because no functional change
78686
78687         * html/HTMLScriptRunner.cpp:
78688         (WebCore::HTMLScriptRunner::sourceFromPendingScript): Make const to enforce the idea that it doesn't change m_parsingBlockingScript.
78689         (WebCore::HTMLScriptRunner::executeParsingBlockingScript): Rename to make it clear this deals with the parsing blocking script and refactor to use executePendingScriptAndDispatchEvent.
78690         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Factored out of executePendingScript, this can be used for executing any external script.
78691         (WebCore::HTMLScriptRunner::executeScript): This can be used for executing any inline or external script. ASSERTs moved to the two calling points.
78692         (WebCore::HTMLScriptRunner::executeParsingBlockingScripts): Moved method.
78693         (WebCore::HTMLScriptRunner::requestParsingBlockingScript): Factored out requestPendingScript.
78694         (WebCore::HTMLScriptRunner::requestPendingScript): Factored out from reqeustParsingBlockingScript.
78695         (WebCore::HTMLScriptRunner::runScript):
78696         * html/HTMLScriptRunner.h:
78697
78698 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
78699
78700         Windows build fix.
78701
78702         * WebCore.xcodeproj/project.pbxproj:
78703         * platform/win/SharedBufferWin.cpp:
78704
78705 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
78706
78707         Rubber stamped by Sam Weinig.
78708         Switch String::/UString::ascii() to return a CString.
78709
78710         * WebCore.xcodeproj/project.pbxproj:
78711         * bridge/c/c_class.cpp:
78712         (JSC::Bindings::CClass::methodsNamed):
78713         (JSC::Bindings::CClass::fieldNamed):
78714         * bridge/jni/jsc/JNIBridgeJSC.cpp:
78715         (JavaField::valueFromInstance):
78716         (JavaField::setValueToInstance):
78717         * bridge/jni/jsc/JavaInstanceJSC.cpp:
78718         (JavaInstance::invokeMethod):
78719         * bridge/objc/objc_class.mm:
78720         (JSC::Bindings::ObjcClass::methodsNamed):
78721         (JSC::Bindings::ObjcClass::fieldNamed):
78722         * bridge/objc/objc_instance.mm:
78723         (ObjcInstance::setValueOfUndefinedField):
78724         (ObjcInstance::getValueOfUndefinedField):
78725         * loader/icon/IconRecord.cpp:
78726         * platform/sql/SQLiteDatabase.cpp:
78727         * platform/sql/SQLiteStatement.cpp:
78728         * storage/SQLStatement.cpp:
78729
78730 2010-08-13  Mihai Parparita  <mihaip@chromium.org>
78731
78732         Reviewed by Dimitri Glazkov.
78733
78734         Session history should skip over JS redirects
78735         https://bugs.webkit.org/show_bug.cgi?id=42861
78736         
78737         Lock the back/forward list for location changes and form submits that
78738         happen before the onload event fires that are not the result of user
78739         gestures.
78740         
78741         Made form submission (at the ScheduledFormSubmission level) more similar
78742         to ScheduledURLNavigation by having it call clientRedirected too, fixing
78743         a long-standing FIXME.
78744
78745         Test: fast/history/gesture-before-onload-location-href.html,
78746         fast/history/gesture-before-onload-form-submit.html and updated
78747         expectations for http/tests/history tests that used to fail.
78748
78749         * loader/FormSubmission.cpp:
78750         (WebCore::FormSubmission::requestURL): 
78751         (WebCore::FormSubmission::populateFrameLoadRequest):
78752         * loader/FormSubmission.h:
78753         * loader/RedirectScheduler.cpp:
78754         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
78755         (WebCore::ScheduledFormSubmission::fire):
78756         (WebCore::ScheduledFormSubmission::didStartTimer):
78757         (WebCore::ScheduledFormSubmission::didStopTimer):
78758         (WebCore::RedirectScheduler::scheduleRedirect):
78759         (WebCore::RedirectScheduler::mustLockBackForwardList):
78760         (WebCore::RedirectScheduler::scheduleLocationChange):
78761         (WebCore::RedirectScheduler::scheduleFormSubmission):
78762         * loader/RedirectScheduler.h:
78763
78764 2010-08-13  Leandro Pereira  <leandro@profusion.mobi>
78765
78766         [EFL] Unreviewed build fix.
78767         These changes were supposed to be landed on r65319, but due to some
78768         svn-apply/commit-queue bug it wasn't fully applied. A bug was filed
78769         by Patrick Gansterer (author of the changes in this commit):
78770         https://bugs.webkit.org/show_bug.cgi?id=43981
78771
78772         * CMakeLists.txt: Update calls to GENERATE_GPERF and
78773         GENERATE_GRAMMAR macros.
78774
78775 2010-08-13  Chris Fleizach  <cfleizach@apple.com>
78776
78777         AX: isNativeCheckbox does not work as advertised
78778         https://bugs.webkit.org/show_bug.cgi?id=43872
78779
78780         Re-adding this patch after it was erroneously rolled out.
78781
78782         Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
78783
78784         * accessibility/AccessibilityRenderObject.cpp:
78785         (WebCore::AccessibilityRenderObject::isInputImage):
78786         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
78787         * dom/InputElement.h:
78788         * html/HTMLInputElement.h:
78789         (WebCore::HTMLInputElement::isCheckbox):
78790
78791 2010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
78792
78793         Unreviewed, rolling out r65331.
78794         http://trac.webkit.org/changeset/65331
78795         https://bugs.webkit.org/show_bug.cgi?id=43980
78796
78797         This patch breaks some shadow tests on Qt Linux release
78798         (Requested by ariya on #webkit).
78799
78800         * platform/graphics/qt/GraphicsContextQt.cpp:
78801         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78802         (WebCore::GraphicsContext::drawRect):
78803         (WebCore::GraphicsContext::drawLine):
78804         (WebCore::GraphicsContext::strokeArc):
78805         (WebCore::GraphicsContext::drawConvexPolygon):
78806         (WebCore::drawFilledShadowPath):
78807         (WebCore::GraphicsContext::fillPath):
78808         (WebCore::GraphicsContext::strokePath):
78809         (WebCore::drawBorderlessRectShadow):
78810         (WebCore::GraphicsContext::fillRect):
78811         (WebCore::GraphicsContext::fillRoundedRect):
78812         (WebCore::GraphicsContext::setPlatformShadow):
78813         (WebCore::GraphicsContext::clearPlatformShadow):
78814
78815 2010-08-13  Kinuko Yasuda  <kinuko@chromium.org>
78816
78817         Reviewed by David Levin.
78818
78819         Update run-bindings-tests expectations
78820         https://bugs.webkit.org/show_bug.cgi?id=43944
78821
78822         The results have become out of sync after changeset 64552 and 65269.
78823
78824         Test: WebKitTools/Scripts/run-bindings-tests
78825
78826         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
78827         (webkit_dom_test_callback_callback_with_class1param):
78828         (webkit_dom_test_callback_callback_with_class2param):
78829         (webkit_dom_test_callback_callback_with_non_bool_return_type):
78830         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
78831         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
78832         (webkit_dom_test_obj_void_method_with_args):
78833         (webkit_dom_test_obj_int_method_with_args):
78834         (webkit_dom_test_obj_obj_method):
78835         (webkit_dom_test_obj_obj_method_with_args):
78836         (webkit_dom_test_obj_method_that_requires_all_args):
78837         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
78838         (webkit_dom_test_obj_serialized_value):
78839         (webkit_dom_test_obj_idb_key):
78840         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
78841         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
78842         (webkit_dom_test_obj_with_script_state_obj):
78843         (webkit_dom_test_obj_with_script_state_obj_exception):
78844         (webkit_dom_test_obj_get_read_only_string_attr):
78845         (webkit_dom_test_obj_get_read_only_test_obj_attr):
78846         (webkit_dom_test_obj_get_string_attr):
78847         (webkit_dom_test_obj_set_string_attr):
78848         (webkit_dom_test_obj_get_test_obj_attr):
78849         (webkit_dom_test_obj_set_test_obj_attr):
78850         (webkit_dom_test_obj_get_xml_obj_attr):
78851         (webkit_dom_test_obj_set_xml_obj_attr):
78852         (webkit_dom_test_obj_get_reflected_string_attr):
78853         (webkit_dom_test_obj_set_reflected_string_attr):
78854         (webkit_dom_test_obj_get_reflected_url_attr):
78855         (webkit_dom_test_obj_set_reflected_url_attr):
78856         (webkit_dom_test_obj_get_reflected_non_empty_url_attr):
78857         (webkit_dom_test_obj_set_reflected_non_empty_url_attr):
78858         (webkit_dom_test_obj_get_reflected_custom_url_attr):
78859         (webkit_dom_test_obj_set_reflected_custom_url_attr):
78860         (webkit_dom_test_obj_get_reflected_custom_non_empty_url_attr):
78861         (webkit_dom_test_obj_set_reflected_custom_non_empty_url_attr):
78862         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
78863         (webkit_dom_test_obj_set_string_attr_with_getter_exception):
78864         (webkit_dom_test_obj_get_string_attr_with_setter_exception):
78865         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
78866         (webkit_dom_test_obj_get_script_string_attr):
78867         (webkit_dom_test_obj_get_hash):
78868         (webkit_dom_test_obj_class_init):
78869         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
78870         * bindings/scripts/test/JS/JSTestObj.cpp:
78871         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
78872
78873 2010-08-13  Ariya Hidayat  <ariya@sencha.com>
78874
78875         Reviewed by Simon Hausmann.
78876
78877         [Qt] Canvas and CSS: blur option in shadow not working
78878         https://bugs.webkit.org/show_bug.cgi?id=34479
78879
78880         Patch 1: Refactor shadow states handling.
78881
78882         * platform/graphics/qt/GraphicsContextQt.cpp:
78883         (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
78884         member variables.
78885         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
78886         function to check whether there is shadow or not.
78887         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78888         (WebCore::GraphicsContext::drawRect): Use shadow states instead of
78889         calling getShadow.
78890         (WebCore::GraphicsContext::drawLine): ditto.
78891         (WebCore::GraphicsContext::strokeArc): ditto.
78892         (WebCore::GraphicsContext::drawConvexPolygon): ditto.
78893         (WebCore::GraphicsContext::fillPath): ditto.
78894         (WebCore::GraphicsContext::strokePath): ditto.
78895         (WebCore::GraphicsContext::fillRect): Removes the use of helper function
78896         drawBorderlessRectShadow as the code already becomes a lot simpler.
78897         (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
78898         function drawFilledShadowPath as the code already becomes a lot simpler.
78899         (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
78900         and find out the shadow type (complexity) for future use.
78901         (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
78902
78903 2010-08-11  Zhenyao Mo  <zmo@google.com>
78904
78905         Reviewed by Dimitri Glazkov.
78906
78907         Regression in linking of programs
78908         https://bugs.webkit.org/show_bug.cgi?id=43820
78909
78910         Shaders and programs shouldn't be deleted until their attachments are removed, therefore, we need to track the attach/detach/useProgram.
78911
78912         * html/canvas/WebGLObject.cpp: Track the object attachment count and whether it should really be deleted.
78913         (WebCore::WebGLObject::WebGLObject):
78914         (WebCore::WebGLObject::setObject):
78915         (WebCore::WebGLObject::deleteObject):
78916         * html/canvas/WebGLObject.h: Track the object attachment count and whether it should really be deleted.
78917         (WebCore::WebGLObject::onAttached):
78918         (WebCore::WebGLObject::onDetached):
78919         (WebCore::WebGLObject::getAttachmentCount):
78920         * html/canvas/WebGLProgram.cpp: Track the attached shaders.
78921         (WebCore::WebGLProgram::WebGLProgram):
78922         (WebCore::WebGLProgram::deleteObjectImpl):
78923         (WebCore::WebGLProgram::getAttachedShader):
78924         (WebCore::WebGLProgram::attachShader):
78925         (WebCore::WebGLProgram::detachShader):
78926         * html/canvas/WebGLProgram.h: Track the attached shaders.
78927         * html/canvas/WebGLRenderingContext.cpp:
78928         (WebCore::WebGLRenderingContext::attachShader): Track the attachment of a shader to a program.
78929         (WebCore::WebGLRenderingContext::deleteProgram): Detach shaders.
78930         (WebCore::WebGLRenderingContext::detachShader): Track the attachment of a shader to a program.
78931         (WebCore::WebGLRenderingContext::validateWebGLObject): Also check if object == 0.
78932         (WebCore::WebGLRenderingContext::linkProgram): Using the cached attached shaders instead of query from driver.
78933         (WebCore::WebGLRenderingContext::useProgram): Track the attachment of a program to the current rendering pipeline.
78934
78935 2010-08-13  Steve Block  <steveblock@google.com>
78936
78937         Reviewed by Alexey Proskuryakov.
78938
78939         Geolocation activity started after frame has been disconnected can cause crash
78940         https://bugs.webkit.org/show_bug.cgi?id=39879
78941
78942         New requests started after the Frame has been disconnected are ignored. We do
78943         not invoke the error callback as this would allow buggy or malicious pages to
78944         hose the CPU. Such a page could hold a reference to a Geolocation object from
78945         a since closed Page and register new requests from the error callback to
78946         create an infinite loop.
78947
78948         Tests: fast/dom/Geolocation/disconnected-frame-already.html
78949
78950         * page/Geolocation.cpp:
78951
78952 2010-08-13  Satish Sampath  <satish@chromium.org>
78953
78954         Reviewed by Jeremy Orlow.
78955
78956         Support for multiple speech enabled elements in same page.
78957         https://bugs.webkit.org/show_bug.cgi?id=43922
78958
78959         * page/SpeechInput.cpp: Generates request ids as necessary when each speech enabled input element gets
78960         created/destroyed and multiplexes the listener callbacks to the appropriate input element based on the request id.
78961         (WebCore::SpeechInput::SpeechInput):
78962         (WebCore::SpeechInput::~SpeechInput):
78963         (WebCore::SpeechInput::registerListener):
78964         (WebCore::SpeechInput::unregisterListener):
78965         (WebCore::SpeechInput::didCompleteRecording):
78966         (WebCore::SpeechInput::didCompleteRecognition):
78967         (WebCore::SpeechInput::setRecognitionResult):
78968         (WebCore::SpeechInput::startRecognition):
78969         (WebCore::SpeechInput::stopRecording):
78970         (WebCore::SpeechInput::cancelRecognition):
78971         * page/SpeechInput.h:
78972         * page/SpeechInputClient.h: Now requires a one time set for the WebCore::SpeechInputListener and
78973         takes in a 'requestId' for all calls.
78974         * page/SpeechInputListener.h: Now returns the above mentioned requestId in all the listener callbacks for
78975         identifying which input element the event goes to.
78976         * platform/mock/SpeechInputClientMock.cpp:
78977         (WebCore::SpeechInputClientMock::SpeechInputClientMock):
78978         (WebCore::SpeechInputClientMock::setListener):
78979         (WebCore::SpeechInputClientMock::startRecognition):
78980         (WebCore::SpeechInputClientMock::stopRecording):
78981         (WebCore::SpeechInputClientMock::cancelRecognition):
78982         (WebCore::SpeechInputClientMock::timerFired):
78983         * platform/mock/SpeechInputClientMock.h:
78984         * rendering/TextControlInnerElements.cpp:
78985         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
78986         (WebCore::InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement):
78987         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
78988         (WebCore::InputFieldSpeechButtonElement::speechInput):
78989         (WebCore::InputFieldSpeechButtonElement::didCompleteRecording):
78990         (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
78991         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
78992         * rendering/TextControlInnerElements.h:
78993
78994 2010-08-13  Eric Carlson  <eric.carlson@apple.com>
78995
78996         Reviewed by David Kilzer.
78997
78998         HTMLMediaElement::prepareForLoad should cancel current plug-in proxy media player
78999         https://bugs.webkit.org/show_bug.cgi?id=43923
79000
79001         * html/HTMLMediaElement.cpp:
79002         (WebCore::HTMLMediaElement::prepareForLoad): Tell mediaPlayer to cancel the current load
79003         if it already exists.
79004
79005 2010-08-12  Stephen White  <senorblanco@chromium.org>
79006
79007         Reviewed by David Levin.
79008
79009         [CHROMIUM] Use the BGRA format for canvas 2D accel upload and readbacks.
79010         https://bugs.webkit.org/show_bug.cgi?id=43804
79011
79012         Use the BGRA format from GraphicsContext3D, if supported.  Also keep a
79013         texture around for uploads, rather than re-creating it each time.
79014
79015         Covered by many layout tests (once we're running them).
79016
79017         * platform/graphics/chromium/GLES2Texture.cpp:
79018         (WebCore::convertFormat):
79019         Move convertFormat() ahead of texture creation, so we can check for
79020         BGRA support.
79021         (WebCore::GLES2Texture::create):
79022         Use convertFormat() to determine the correct format and types to use;
79023         use the returned format also for internalFormat, since GLES2 insists
79024         they match.
79025         * platform/graphics/skia/PlatformContextSkia.cpp:
79026         (WebCore::PlatformContextSkia::setGraphicsContext3D):
79027         Clear the upload texture when a new context is set.
79028         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
79029         Use m_uploadTexture instead of creating a new one each time.
79030         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
79031         When the context supports it, use the BGRA format for readbacks
79032         instead of swizzling.
79033         * platform/graphics/skia/PlatformContextSkia.h:
79034         Add m_uploadTexture for consecutive uploads.
79035
79036 2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
79037
79038         Reviewed by Ariya Hidayat.
79039
79040         [Qt] Clean up mobile feature useage
79041         https://bugs.webkit.org/show_bug.cgi?id=43968
79042
79043         * WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
79044         feature names.
79045
79046 2010-08-13  Pavel Feldman  <pfeldman@chromium.org>
79047
79048         Reviewed by Yury Semikhatsky.
79049
79050         Web Inspector: rename InspectorValue::push and set to
79051         push{Value|Object|Array} and set{...}.
79052         https://bugs.webkit.org/show_bug.cgi?id=43966
79053
79054         * bindings/js/ScriptProfile.cpp:
79055         (WebCore::buildInspectorObjectFor):
79056         * bindings/js/ScriptValue.cpp:
79057         (WebCore::jsToInspectorValue):
79058         * bindings/v8/ScriptCallStack.cpp:
79059         (WebCore::ScriptCallStack::stackTrace):
79060         * bindings/v8/ScriptProfile.cpp:
79061         (WebCore::buildInspectorObjectFor):
79062         * bindings/v8/ScriptValue.cpp:
79063         (WebCore::v8ToInspectorValue):
79064         * inspector/CodeGeneratorInspector.pm:
79065         * inspector/ConsoleMessage.cpp:
79066         (WebCore::ConsoleMessage::addToFrontend):
79067         * inspector/Inspector.idl:
79068         * inspector/InspectorApplicationCacheAgent.cpp:
79069         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
79070         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
79071         * inspector/InspectorController.cpp:
79072         (WebCore::InspectorController::buildArrayForCookies):
79073         (WebCore::InspectorController::getDOMStorageEntries):
79074         (WebCore::InspectorController::getProfileHeaders):
79075         (WebCore::InspectorController::getProfile):
79076         * inspector/InspectorDOMAgent.cpp:
79077         (WebCore::InspectorDOMAgent::getEventListenersForNode):
79078         (WebCore::InspectorDOMAgent::buildObjectForNode):
79079         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
79080         (WebCore::InspectorDOMAgent::getStyles):
79081         (WebCore::InspectorDOMAgent::getAllStyles):
79082         (WebCore::InspectorDOMAgent::getRuleRanges):
79083         (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
79084         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
79085         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
79086         (WebCore::InspectorDOMAgent::buildObjectForStyle):
79087         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
79088         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
79089         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
79090         (WebCore::InspectorDOMAgent::buildObjectForRule):
79091         * inspector/InspectorDebuggerAgent.cpp:
79092         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
79093         * inspector/InspectorResource.cpp:
79094         (WebCore::InspectorResource::updateScriptObject):
79095         * inspector/InspectorStorageAgent.cpp:
79096         (WebCore::):
79097         (WebCore::InspectorStorageAgent::executeSQL):
79098         * inspector/InspectorTimelineAgent.cpp:
79099         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
79100         (WebCore::InspectorTimelineAgent::didInstallTimer):
79101         (WebCore::InspectorTimelineAgent::didRemoveTimer):
79102         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
79103         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
79104         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
79105         (WebCore::InspectorTimelineAgent::didMarkTimeline):
79106         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
79107         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
79108         * inspector/InspectorValues.cpp:
79109         (WebCore::):
79110         (WebCore::InspectorValue::asValue):
79111         (WebCore::InspectorValue::asObject):
79112         (WebCore::InspectorValue::asArray):
79113         (WebCore::InspectorObject::asObject):
79114         (WebCore::InspectorArray::asArray):
79115         * inspector/InspectorValues.h:
79116         (WebCore::InspectorObject::setBool):
79117         (WebCore::InspectorObject::setNumber):
79118         (WebCore::InspectorObject::setString):
79119         (WebCore::InspectorObject::setValue):
79120         (WebCore::InspectorObject::setObject):
79121         (WebCore::InspectorObject::setArray):
79122         (WebCore::InspectorArray::pushValue):
79123         (WebCore::InspectorArray::pushObject):
79124         (WebCore::InspectorArray::pushArray):
79125         * inspector/ScriptBreakpoint.cpp:
79126         (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
79127         * inspector/TimelineRecordFactory.cpp:
79128         (WebCore::TimelineRecordFactory::createGenericRecord):
79129
79130 2010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
79131
79132         Unreviewed, rolling out r65204.
79133         http://trac.webkit.org/changeset/65204
79134         https://bugs.webkit.org/show_bug.cgi?id=43965
79135
79136         Caused a lot of test crashes in Chromium (Requested by yutak
79137         on #webkit).
79138
79139         * accessibility/AccessibilityRenderObject.cpp:
79140         (WebCore::AccessibilityRenderObject::isInputImage):
79141         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
79142         * dom/InputElement.h:
79143         * html/HTMLInputElement.h:
79144
79145 2010-08-13  Anton Muhin  <antonm@chromium.org>
79146
79147         Reviewed by Nate Chapin.
79148
79149         Reapplying http://trac.webkit.org/changeset/65284 after fixed include.
79150
79151         [v8] Create callbacks for named access of elements from document object on fly.
79152         https://bugs.webkit.org/show_bug.cgi?id=43725
79153
79154         That should speed up access to methods on document as there is no need to
79155         consult with interceptor before invoking the method.
79156
79157         This reapplies http://trac.webkit.org/changeset/60670 reverted with
79158         http://trac.webkit.org/changeset/63845.  The main difference is in treatment
79159         of removed named elements: we don't remove an accessor any more, but leave it.
79160         Therefore any accessor should be able to treat the case when there is no
79161         expando property.
79162
79163         * bindings/scripts/CodeGeneratorV8.pm:
79164         * bindings/v8/ScriptController.cpp:
79165         (WebCore::ScriptController::namedItemAdded):
79166         (WebCore::ScriptController::namedItemRemoved):
79167         * bindings/v8/V8DOMWindowShell.cpp:
79168         (WebCore::checkDocumentWrapper):
79169         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
79170         (WebCore::getter):
79171         (WebCore::V8DOMWindowShell::namedItemAdded):
79172         (WebCore::V8DOMWindowShell::namedItemRemoved):
79173         * bindings/v8/V8DOMWindowShell.h:
79174         * bindings/v8/V8DOMWrapper.cpp:
79175         (WebCore::V8DOMWrapper::instantiateV8Object):
79176         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
79177         (WebCore::V8HTMLDocument::WrapInShadowObject):
79178         (WebCore::V8HTMLDocument::GetNamedProperty):
79179         (WebCore::V8HTMLDocument::allAccessorSetter):
79180         (WebCore::toV8):
79181         * html/HTMLDocument.cpp:
79182         (WebCore::HTMLDocument::removeItemFromMap):
79183
79184 2010-08-13  Pavel Feldman  <pfeldman@chromium.org>
79185
79186         Reviewed by Yury Semikhatsky.
79187
79188         Web Inspector: remove openInInspectorWindow and evaluateAndStringify from InjectedScript.
79189         https://bugs.webkit.org/show_bug.cgi?id=43854
79190
79191         * inspector/Inspector.idl:
79192         * inspector/InspectorController.cpp:
79193         (WebCore::InspectorController::openInInspectedWindow):
79194         * inspector/InspectorController.h:
79195         * inspector/front-end/ExtensionServer.js:
79196         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage.callback):
79197         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
79198         * inspector/front-end/InjectedScript.js:
79199         (injectedScriptConstructor):
79200         * inspector/front-end/InjectedScriptAccess.js:
79201         * inspector/front-end/InspectorBackendStub.js:
79202         (WebInspector.InspectorBackendStub):
79203         * inspector/front-end/ResourcesPanel.js:
79204         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
79205
79206 2010-08-13  Fumitoshi Ukai  <ukai@chromium.org>
79207
79208         Reviewed by Alexey Proskuryakov.
79209
79210         flaky websocket/tests/frame-length-overflow.html
79211         https://bugs.webkit.org/show_bug.cgi?id=43902
79212
79213         Add m_shouldDiscardReceivedData flag to indicate it will no longer
79214         receive data from network.
79215
79216         * websockets/WebSocketChannel.cpp:
79217         (WebCore::WebSocketChannel::WebSocketChannel):
79218         (WebCore::WebSocketChannel::didReceiveData):
79219         (WebCore::WebSocketChannel::didFail):
79220         (WebCore::WebSocketChannel::processBuffer):
79221         - when frame length overflows, we couldn't process data any more.
79222           clear buffer and mark m_shouldDiscardReceivedData true to make sure
79223           it doesn't process the same buffer again.
79224         * websockets/WebSocketChannel.h:
79225
79226 2010-08-13  Dirk Schulze  <krit@webkit.org>
79227
79228         Reviewed by Nikolas Zimmermann.
79229
79230         Use SVGPathByteStream to animate SVGPath
79231         https://bugs.webkit.org/show_bug.cgi?id=43929
79232
79233         Use SVGPathByteStream to perform animations of Paths. SVGPathBlender blends
79234         the starting point to the end point according to the current progress value.
79235         Cleanup SVGPathSegList, by removing the unnecessary legacy blending code.
79236
79237         No new tests because no functional changes.
79238
79239         * Android.mk:
79240         * CMakeLists.txt:
79241         * GNUmakefile.am:
79242         * WebCore.gypi:
79243         * WebCore.pro:
79244         * WebCore.vcproj/WebCore.vcproj:
79245         * WebCore.xcodeproj/project.pbxproj:
79246         * svg/SVGAllInOne.cpp:
79247         * svg/SVGAnimateElement.cpp:
79248         (WebCore::SVGAnimateElement::SVGAnimateElement):
79249         (WebCore::SVGAnimateElement::calculateAnimatedValue):
79250         (WebCore::SVGAnimateElement::calculateFromAndToValues):
79251         (WebCore::SVGAnimateElement::resetToBaseValue):
79252         (WebCore::SVGAnimateElement::applyResultsToTarget):
79253         * svg/SVGAnimateElement.h:
79254         * svg/SVGPathBlender.cpp: Added.
79255         (WebCore::SVGPathBlender::SVGPathBlender):
79256         (WebCore::SVGPathBlender::~SVGPathBlender):
79257         (WebCore::SVGPathBlender::blendAnimatedFloat):
79258         (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
79259         (WebCore::SVGPathBlender::blendMoveToSegment):
79260         (WebCore::SVGPathBlender::blendLineToSegment):
79261         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
79262         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
79263         (WebCore::SVGPathBlender::blendCurveToCubicSegment):
79264         (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
79265         (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
79266         (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
79267         (WebCore::SVGPathBlender::blendArcToSegment):
79268         (WebCore::SVGPathBlender::blendAnimatedPath):
79269         (WebCore::SVGPathBlender::cleanup):
79270         * svg/SVGPathBlender.h: Added.
79271         * svg/SVGPathParserFactory.cpp:
79272         (WebCore::globalSVGPathBlender):
79273         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
79274         * svg/SVGPathParserFactory.h:
79275         * svg/SVGPathSegList.cpp:
79276         (WebCore::SVGPathSegList::getPathSegAtLength):
79277         * svg/SVGPathSegList.h:
79278         (WebCore::SVGPathSegList::create):
79279         * svg/SVGPointList.cpp:
79280         (WebCore::adjustAnimatedValue):
79281
79282 2010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
79283
79284         Reviewed by Dirk Schulze.
79285
79286         Window size changes + resources on absolute sized content leads to pixelation
79287         https://bugs.webkit.org/show_bug.cgi?id=43921
79288
79289         Avoid pixelation when using resources on absolute sized objects. Be sure to invalidate the used resources if window size changes.
79290         Otherwhise masks etc. will be scaled up and pixelate. As nice side-effect, this fixes run-webkit-tests --singly svg/W3C-SVG-1.1, which
79291         used to produce wrong results for the gradient tests, as the window size change from 800x600 for 480x360 (svg/W3C-SVG-1.1 specific DRT quirk)
79292         didn't invalidate the resources.
79293
79294         Renamed invalidateClient -> removeClientFromCache and invalidateClients -> removeAllClientsFromCache.
79295         Add a boolean "markForInvalidation" parameter, that controls wheter the clients should be marked for repaint/boundaries invalidation/layout
79296         or wheter we only want to notify the parents that the resource changed, to avoid doing unncessary work in SVGRenderSupport::layoutChildren.
79297
79298         Test: svg/custom/absolute-sized-content-with-resources.xhtml
79299
79300         * rendering/RenderSVGGradientStop.cpp:
79301         (WebCore::RenderSVGGradientStop::styleDidChange): Don't do anything for StyleDifferenceEqual.
79302         * rendering/RenderSVGImage.cpp:
79303         (WebCore::RenderSVGImage::imageChanged):
79304         * rendering/RenderSVGResource.cpp:
79305         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
79306         * rendering/RenderSVGResource.h:
79307         * rendering/RenderSVGResourceClipper.cpp:
79308         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
79309         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
79310         * rendering/RenderSVGResourceClipper.h:
79311         * rendering/RenderSVGResourceContainer.cpp:
79312         (WebCore::RenderSVGResourceContainer::layout):
79313         (WebCore::RenderSVGResourceContainer::idChanged):
79314         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
79315         (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
79316         * rendering/RenderSVGResourceContainer.h:
79317         (WebCore::RenderSVGResourceContainer::):
79318         * rendering/RenderSVGResourceFilter.cpp:
79319         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
79320         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
79321         (WebCore::RenderSVGResourceFilter::postApplyResource):
79322         * rendering/RenderSVGResourceFilter.h:
79323         * rendering/RenderSVGResourceGradient.cpp:
79324         (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
79325         (WebCore::RenderSVGResourceGradient::removeClientFromCache):
79326         (WebCore::RenderSVGResourceGradient::applyResource):
79327         * rendering/RenderSVGResourceGradient.h:
79328         * rendering/RenderSVGResourceMarker.cpp:
79329         (WebCore::RenderSVGResourceMarker::layout):
79330         (WebCore::RenderSVGResourceMarker::removeAllClientsFromCache):
79331         (WebCore::RenderSVGResourceMarker::removeClientFromCache):
79332         * rendering/RenderSVGResourceMarker.h:
79333         * rendering/RenderSVGResourceMasker.cpp:
79334         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
79335         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
79336         * rendering/RenderSVGResourceMasker.h:
79337         * rendering/RenderSVGResourcePattern.cpp:
79338         (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
79339         (WebCore::RenderSVGResourcePattern::removeClientFromCache):
79340         (WebCore::RenderSVGResourcePattern::applyResource):
79341         * rendering/RenderSVGResourcePattern.h:
79342         * rendering/RenderSVGResourceSolidColor.h:
79343         (WebCore::RenderSVGResourceSolidColor::removeAllClientsFromCache):
79344         (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
79345         * rendering/SVGRenderSupport.cpp:
79346         (WebCore::invalidateResourcesOfChildren): Add new helper funtion recursively invalidating resources of a sub render tree.
79347         (WebCore::SVGRenderSupport::layoutChildren): Keep track of all objects that didn't need layout, as we still have to invalidate their resources, if window size changes.
79348         * rendering/SVGResources.cpp:
79349         (WebCore::SVGResources::removeClientFromCache):
79350         (WebCore::SVGResources::resourceDestroyed):
79351         * rendering/SVGResources.h:
79352         * rendering/SVGResourcesCache.cpp:
79353         (WebCore::SVGResourcesCache::clientLayoutChanged):
79354
79355 2010-08-13  Pavel Feldman  <pfeldman@chromium.org>
79356
79357         Reviewed by Yury Semikhatsky.
79358
79359         Chromium DevTools: [CRASH] Autocomplete on arrays causes crashes.
79360         https://bugs.webkit.org/show_bug.cgi?id=43955
79361
79362         * bindings/v8/ScriptValue.cpp:
79363         (WebCore::v8ToInspectorValue):
79364
79365 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
79366
79367         Reviewed by Sam Weinig
79368
79369         Unify UString::UTF8String() & String::utf8() methods,
79370         remove UString::cost() & make atArrayIndex a free function.
79371
79372         * WebCore.xcodeproj/project.pbxproj:
79373         * bindings/js/JSDOMWindowCustom.cpp:
79374         (WebCore::JSDOMWindow::getOwnPropertySlot):
79375         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
79376         * bridge/NP_jsobject.cpp:
79377         (_NPN_Enumerate):
79378         * bridge/c/c_utility.cpp:
79379         (JSC::Bindings::convertValueToNPVariant):
79380         * bridge/jni/JNIBridge.cpp:
79381         (JavaParameter::JavaParameter):
79382         (JavaMethod::JavaMethod):
79383         (JavaMethod::signature):
79384         (JavaMethod::methodID):
79385         * bridge/jni/JNIBridge.h:
79386         (JSC::Bindings::JavaString::utf8):
79387         (JSC::Bindings::JavaParameter::type):
79388         (JSC::Bindings::JavaMethod::returnType):
79389         * bridge/jni/jni_jsobject.mm:
79390         (JavaJSObject::call):
79391         (JavaJSObject::eval):
79392         (JavaJSObject::getMember):
79393         (JavaJSObject::setMember):
79394         (JavaJSObject::removeMember):
79395         (JavaJSObject::convertJObjectToValue):
79396         * bridge/jni/jsc/JNIBridgeJSC.cpp:
79397         (JavaField::JavaField):
79398         (JavaField::valueFromInstance):
79399         (JavaField::setValueToInstance):
79400         * bridge/jni/jsc/JNIBridgeJSC.h:
79401         (JSC::Bindings::JavaField::type):
79402         * bridge/jni/jsc/JavaInstanceJSC.cpp:
79403         (JavaInstance::invokeMethod):
79404         * bridge/jni/jsc/JavaStringJSC.h:
79405         (JSC::Bindings::JavaStringImpl::utf8):
79406         * bridge/runtime_array.cpp:
79407         (JSC::RuntimeArray::getOwnPropertySlot):
79408         (JSC::RuntimeArray::getOwnPropertyDescriptor):
79409         (JSC::RuntimeArray::put):
79410
79411 2010-08-12  Yury Semikhatsky  <yurys@chromium.org>
79412
79413         Reviewed by Pavel Feldman.
79414
79415         Web Inspector: allow interrupting long running JS to execute inspector command
79416         https://bugs.webkit.org/show_bug.cgi?id=43900
79417
79418         * bindings/v8/ScriptDebugServer.cpp:
79419         (WebCore::):
79420         (WebCore::ScriptDebugServer::pause):
79421         (WebCore::ScriptDebugServer::interruptAndRun):
79422         (WebCore::ScriptDebugServer::runPendingTasks):
79423         (WebCore::ScriptDebugServer::handleV8DebugEvent):
79424         * bindings/v8/ScriptDebugServer.h:
79425         (WebCore::ScriptDebugServer::Task::~Task):
79426
79427 2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
79428
79429         Unreviewed, rolling out r65295.
79430         http://trac.webkit.org/changeset/65295
79431         https://bugs.webkit.org/show_bug.cgi?id=43950
79432
79433         It broke 4 sputnik tests (Requested by Ossy on #webkit).
79434
79435         * WebCore.xcodeproj/project.pbxproj:
79436         * bindings/js/JSDOMWindowCustom.cpp:
79437         (WebCore::JSDOMWindow::getOwnPropertySlot):
79438         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
79439         * bridge/NP_jsobject.cpp:
79440         (_NPN_Enumerate):
79441         * bridge/c/c_utility.cpp:
79442         (JSC::Bindings::convertValueToNPVariant):
79443         * bridge/jni/JNIBridge.cpp:
79444         (JavaParameter::JavaParameter):
79445         (JavaMethod::JavaMethod):
79446         (JavaMethod::signature):
79447         (JavaMethod::methodID):
79448         * bridge/jni/JNIBridge.h:
79449         (JSC::Bindings::JavaString::UTF8String):
79450         (JSC::Bindings::JavaParameter::type):
79451         (JSC::Bindings::JavaMethod::returnType):
79452         * bridge/jni/jni_jsobject.mm:
79453         (JavaJSObject::call):
79454         (JavaJSObject::eval):
79455         (JavaJSObject::getMember):
79456         (JavaJSObject::setMember):
79457         (JavaJSObject::removeMember):
79458         (JavaJSObject::convertJObjectToValue):
79459         * bridge/jni/jsc/JNIBridgeJSC.cpp:
79460         (JavaField::JavaField):
79461         (JavaField::valueFromInstance):
79462         (JavaField::setValueToInstance):
79463         * bridge/jni/jsc/JNIBridgeJSC.h:
79464         (JSC::Bindings::JavaField::type):
79465         * bridge/jni/jsc/JavaInstanceJSC.cpp:
79466         (JavaInstance::invokeMethod):
79467         * bridge/jni/jsc/JavaStringJSC.h:
79468         (JSC::Bindings::JavaStringImpl::UTF8String):
79469         * bridge/runtime_array.cpp:
79470         (JSC::RuntimeArray::getOwnPropertySlot):
79471         (JSC::RuntimeArray::getOwnPropertyDescriptor):
79472         (JSC::RuntimeArray::put):
79473
79474 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79475
79476         Not reviewed. Fixed typo in inspector js.
79477         Follow up to r65300.
79478
79479         * inspector/front-end/inspector.js:
79480         (WebInspector.log.isLogAvailable):
79481
79482 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79483
79484         Reviewed by Yury Semikhatsky.
79485
79486         Web Inspector: Make getPrototypes return objects, not names.
79487         https://bugs.webkit.org/show_bug.cgi?id=43934
79488
79489         * inspector/front-end/InjectedScript.js:
79490         (injectedScriptConstructor):
79491         (injectedScriptConstructor.):
79492         * inspector/front-end/PropertiesSidebarPane.js:
79493         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
79494         * inspector/front-end/inspector.js:
79495         (WebInspector.log):
79496
79497 2010-08-12  James Robinson  <jamesr@chromium.org>
79498
79499         Unreviewed, rolling out r65284 and r65288.  Broke chromium compile.
79500         https://bugs.webkit.org/show_bug.cgi?id=43725
79501         http://trac.webkit.org/changeset/65284
79502         http://trac.webkit.org/changeset/65288
79503
79504         * bindings/scripts/CodeGeneratorV8.pm:
79505         * bindings/v8/ScriptController.cpp:
79506         (WebCore::ScriptController::namedItemAdded):
79507         (WebCore::ScriptController::namedItemRemoved):
79508         * bindings/v8/V8DOMWindowShell.cpp:
79509         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
79510         * bindings/v8/V8DOMWindowShell.h:
79511         * bindings/v8/V8DOMWrapper.cpp:
79512         (WebCore::V8DOMWrapper::instantiateV8Object):
79513         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
79514         (WebCore::V8HTMLDocument::namedPropertyDeleter):
79515         (WebCore::V8HTMLDocument::namedPropertyGetter):
79516         (WebCore::V8HTMLDocument::indexedPropertyGetter):
79517         (WebCore::V8HTMLDocument::allAccessorSetter):
79518         (WebCore::toV8):
79519         * html/HTMLDocument.cpp:
79520         (WebCore::HTMLDocument::removeItemFromMap):
79521
79522 2010-08-12  Gavin Barraclough  <barraclough@apple.com>
79523
79524         Reviewed by Sam Weinig
79525
79526         Unify UString::UTF8String() & String::utf8() methods,
79527         remove UString::cost() & make atArrayIndex a free function.
79528
79529         * WebCore.xcodeproj/project.pbxproj:
79530         * bindings/js/JSDOMWindowCustom.cpp:
79531         (WebCore::JSDOMWindow::getOwnPropertySlot):
79532         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
79533         * bridge/NP_jsobject.cpp:
79534         (_NPN_Enumerate):
79535         * bridge/c/c_utility.cpp:
79536         (JSC::Bindings::convertValueToNPVariant):
79537         * bridge/jni/JNIBridge.cpp:
79538         (JavaParameter::JavaParameter):
79539         (JavaMethod::JavaMethod):
79540         (JavaMethod::signature):
79541         (JavaMethod::methodID):
79542         * bridge/jni/JNIBridge.h:
79543         (JSC::Bindings::JavaString::utf8):
79544         (JSC::Bindings::JavaParameter::type):
79545         (JSC::Bindings::JavaMethod::returnType):
79546         * bridge/jni/jni_jsobject.mm:
79547         (JavaJSObject::call):
79548         (JavaJSObject::eval):
79549         (JavaJSObject::getMember):
79550         (JavaJSObject::setMember):
79551         (JavaJSObject::removeMember):
79552         (JavaJSObject::convertJObjectToValue):
79553         * bridge/jni/jsc/JNIBridgeJSC.cpp:
79554         (JavaField::JavaField):
79555         (JavaField::valueFromInstance):
79556         (JavaField::setValueToInstance):
79557         * bridge/jni/jsc/JNIBridgeJSC.h:
79558         (JSC::Bindings::JavaField::type):
79559         * bridge/jni/jsc/JavaInstanceJSC.cpp:
79560         (JavaInstance::invokeMethod):
79561         * bridge/jni/jsc/JavaStringJSC.h:
79562         (JSC::Bindings::JavaStringImpl::utf8):
79563         * bridge/runtime_array.cpp:
79564         (JSC::RuntimeArray::getOwnPropertySlot):
79565         (JSC::RuntimeArray::getOwnPropertyDescriptor):
79566         (JSC::RuntimeArray::put):
79567
79568 2010-08-12  Gavin Barraclough  <barraclough@apple.com>
79569
79570         Speculative build fix for chromium bindings (someone added the old include style!).
79571
79572         * bindings/v8/V8DOMWindowShell.h:
79573
79574 2010-08-12  MORITA Hajime  <morrita@google.com>
79575
79576         Reviewed by Tony Chang.
79577
79578         [Refactoring] TextEvent class has to many flags
79579         https://bugs.webkit.org/show_bug.cgi?id=43893
79580
79581         Turned TextEvent::m_isLineBreak, TextEvent::m_isBacktab, TextEvent::m_isPaste 
79582         into single TextEvent::m_inputType enumeration.
79583         
79584         No functional change. No new tests.
79585
79586         * dom/TextEvent.cpp:
79587         (WebCore::TextEvent::selectInputType):
79588         (WebCore::TextEvent::create):
79589         (WebCore::TextEvent::createForPlainTextPaste):
79590         (WebCore::TextEvent::createForFragmentPaste):
79591         (WebCore::TextEvent::TextEvent):
79592         * dom/TextEvent.h:
79593         (WebCore::TextEvent::):
79594         (WebCore::TextEvent::isLineBreak):
79595         (WebCore::TextEvent::isBackTab):
79596         (WebCore::TextEvent::isPaste):
79597         * page/EventHandler.cpp:
79598         (WebCore::EventHandler::handleTextInputEvent):
79599
79600 2010-08-12  Kenneth Russell  <kbr@google.com>
79601
79602         Reviewed by David Levin.
79603
79604         Delete obsolete CanvasNumberArray
79605         https://bugs.webkit.org/show_bug.cgi?id=38619
79606
79607         Deleted unreferenced code. Built WebKit and Chromium to test.
79608
79609         * Android.derived.jscbindings.mk:
79610         * Android.derived.v8bindings.mk:
79611         * Android.jscbindings.mk:
79612         * Android.mk:
79613         * bindings/js/JSCanvasNumberArrayCustom.cpp: Removed.
79614         * html/canvas/CanvasNumberArray.cpp: Removed.
79615         * html/canvas/CanvasNumberArray.h: Removed.
79616         * html/canvas/CanvasNumberArray.idl: Removed.
79617
79618 2010-08-12  Anton Muhin  <antonm@chromium.org>
79619
79620         Reviewed by Nate Chapin.
79621
79622         [v8] Create callbacks for named access of elements from document object on fly.
79623         https://bugs.webkit.org/show_bug.cgi?id=43725
79624
79625         That should speed up access to methods on document as there is no need to
79626         consult with interceptor before invoking the method.
79627
79628         This reapplies http://trac.webkit.org/changeset/60670 reverted with
79629         http://trac.webkit.org/changeset/63845.  The main difference is in treatment
79630         of removed named elements: we don't remove an accessor any more, but leave it.
79631         Therefore any accessor should be able to treat the case when there is no
79632         expando property.
79633
79634         * bindings/scripts/CodeGeneratorV8.pm:
79635         * bindings/v8/ScriptController.cpp:
79636         (WebCore::ScriptController::namedItemAdded):
79637         (WebCore::ScriptController::namedItemRemoved):
79638         * bindings/v8/V8DOMWindowShell.cpp:
79639         (WebCore::checkDocumentWrapper):
79640         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
79641         (WebCore::getter):
79642         (WebCore::V8DOMWindowShell::namedItemAdded):
79643         (WebCore::V8DOMWindowShell::namedItemRemoved):
79644         * bindings/v8/V8DOMWindowShell.h:
79645         * bindings/v8/V8DOMWrapper.cpp:
79646         (WebCore::V8DOMWrapper::instantiateV8Object):
79647         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
79648         (WebCore::V8HTMLDocument::WrapInShadowObject):
79649         (WebCore::V8HTMLDocument::GetNamedProperty):
79650         (WebCore::V8HTMLDocument::allAccessorSetter):
79651         (WebCore::toV8):
79652         * html/HTMLDocument.cpp:
79653         (WebCore::HTMLDocument::removeItemFromMap):
79654
79655 2010-08-12  Dimitri Glazkov  <dglazkov@chromium.org>
79656
79657         Reviewed by Adam Barth.
79658
79659         Ensure that parser doesn't attach children that have been removed by JavaScript event handlers.
79660         https://bugs.webkit.org/show_bug.cgi?id=43813
79661
79662         This patch re-fixes bug 40742 in a way that keeps allowing HTMLLinkElement
79663         to lazy-attach.
79664
79665         * html/HTMLConstructionSite.cpp:
79666         (WebCore::HTMLConstructionSite::attach): Added parent check.
79667         * html/HTMLLinkElement.cpp: Basically undoes changes introduced by r61424.
79668         * html/HTMLLinkElement.h: Ditto.
79669
79670 2010-08-12  Justin Schuh  <jschuh@chromium.org>
79671
79672         Reviewed by Dumitru Daniliuc.
79673
79674         Clear PluginData's page pointer on page refresh
79675         https://bugs.webkit.org/show_bug.cgi?id=43888
79676
79677         Test: plugins/access-after-page-destroyed.html
79678
79679         * page/Page.cpp:
79680         (WebCore::Page::refreshPlugins):
79681
79682 2010-08-12  Zhenyao Mo  <zmo@google.com>
79683
79684         Reviewed by Dimitri Glazkov.
79685
79686         getParameter(STENCIL_VALUE_MASK) (and others) returns the wrong value
79687         https://bugs.webkit.org/show_bug.cgi?id=31842
79688
79689         * html/canvas/WebGLRenderingContext.cpp:
79690         (WebCore::WebGLRenderingContext::getUnsignedLongParameter): Casting from int to unsigned long correctly.
79691
79692 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79693
79694         Reviewed by Joseph Pecoraro.
79695
79696         Web Inspector: mimic FireBug's array detection.
79697         https://bugs.webkit.org/show_bug.cgi?id=30974
79698
79699         * inspector/front-end/InjectedScript.js:
79700         (injectedScriptConstructor):
79701
79702 2010-08-12  Zhenyao Mo  <zmo@google.com>
79703
79704         Reviewed by Dimitri Glazkov.
79705
79706         regression in generateMipmap
79707         https://bugs.webkit.org/show_bug.cgi?id=43873
79708
79709         * html/canvas/WebGLTexture.cpp:
79710         (WebCore::WebGLTexture::generateMipmapLevelInfo): should set m_needToUseBlackTexture to false if generateMipmapLevelInfo runs through successfully.
79711
79712 2010-08-12  Ariya Hidayat  <ariya@sencha.com>
79713
79714         Reviewed by David Hyatt.
79715
79716         [Qt] Split TransparencyLayer into its own header file.
79717         https://bugs.webkit.org/show_bug.cgi?id=43935
79718
79719         * WebCore.pro: Include TransparencyLayer.h.
79720         * platform/graphics/qt/GraphicsContextQt.cpp:
79721         * platform/graphics/qt/TransparencyLayer.h: Added.
79722         (WebCore::TransparencyLayer::TransparencyLayer):
79723         (WebCore::TransparencyLayer::operator=):
79724
79725 2010-08-12  François Sausset  <sausset@gmail.com>
79726
79727         Reviewed by Beth Dakin.
79728
79729         Horizontal padding should be 0 on mrow elements.
79730         https://bugs.webkit.org/show_bug.cgi?id=43908
79731
79732         Updated tests in /mathml
79733
79734         * css/mathml.css:
79735         (mrow, mfenced):
79736         (mfenced):
79737
79738 2010-08-12  Aaron Boodman  <aa@chromium.org>
79739
79740         Reviewed by David Hyatt.
79741
79742         Make the cascade level of "user" styles configurable
79743         https://bugs.webkit.org/show_bug.cgi?id=43457
79744
79745         * WebCore.exp.in:
79746         * css/CSSStyleSelector.cpp:
79747         (WebCore::CSSStyleSelector::CSSStyleSelector):
79748         * dom/Document.cpp:
79749         (WebCore::Document::pageGroupUserSheets):
79750         * page/PageGroup.cpp:
79751         (WebCore::PageGroup::addUserStyleSheetToWorld):
79752         * page/PageGroup.h:
79753         * page/UserStyleSheet.h:
79754         (WebCore::UserStyleSheet::):
79755         (WebCore::UserStyleSheet::UserStyleSheet):
79756         (WebCore::UserStyleSheet::level):
79757
79758 2010-08-12  Jian Li  <jianli@chromium.org>
79759
79760         Fix qt build break.
79761
79762         * html/ThreadableBlobRegistry.cpp:
79763         (WebCore::postTaskToMainThread):
79764
79765 2010-08-12  Jian Li  <jianli@chromium.org>
79766
79767         Reviewed by David Levin.
79768
79769         Add ThreadableBlobRegistry to support calling BlobRegistry methods in
79770         main thread.
79771         https://bugs.webkit.org/show_bug.cgi?id=43874
79772
79773         * Android.mk:
79774         * CMakeLists.txt:
79775         * GNUmakefile.am:
79776         * WebCore.gypi:
79777         * WebCore.pro:
79778         * WebCore.vcproj/WebCore.vcproj:
79779         * WebCore.xcodeproj/project.pbxproj:
79780         * dom/ScriptExecutionContext.cpp:
79781         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
79782         (WebCore::ScriptExecutionContext::addBlob):
79783         (WebCore::ScriptExecutionContext::removeBlob):
79784         (WebCore::ScriptExecutionContext::createPublicBlobURL):
79785         (WebCore::ScriptExecutionContext::revokePublicBlobURL):
79786         * dom/ScriptExecutionContext.h:
79787         * html/Blob.cpp:
79788         (WebCore::Blob::Blob):
79789         (WebCore::Blob::~Blob):
79790         (WebCore::Blob::contextDestroyed):
79791         * html/Blob.h:
79792         * html/BlobRegistryImpl.cpp:
79793         (WebCore::BlobRegistryImpl::registerBlobURL):
79794         (WebCore::BlobRegistryImpl::unregisterBlobURL):
79795         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
79796         * html/ThreadableBlobRegistry.cpp: Added.
79797         * html/ThreadableBlobRegistry.h: Added.
79798
79799 2010-08-12  Csaba Osztrogonác  <ossy@webkit.org>
79800
79801         Reviewed by Darin Adler.
79802
79803         generate-bindings.pl should generate warning free code
79804         https://bugs.webkit.org/show_bug.cgi?id=43353
79805
79806         * bindings/scripts/CodeGeneratorJS.pm: Suggested parentheses added around && within ||
79807
79808 2010-08-11  Ryosuke Niwa  <rniwa@webkit.org>
79809
79810         Reviewed by Kent Tamura.
79811
79812         merge MarkupAccumulator and MarkupAccumulatorWrapper
79813         https://bugs.webkit.org/show_bug.cgi?id=43834
79814
79815         Removed MarkupAccumulator and added serializeNodesWithNamespaces to use MarkupAccumulatorWrapper
79816         in both versions of createMarkup.  Accumulation of nodes done manually in serializeNodes is
79817         now done by MarkupAccumulatorWrapper as done in the original MarkupAccumulator.
79818
79819         No new tests added since this is a cleanup.
79820
79821         * editing/markup.cpp:
79822         (WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Takes vector of nodes and set it to m_nodes.
79823         (WebCore::MarkupAccumulatorWrapper::insertOpenTag): Adds node to m_nodes.
79824         (WebCore::MarkupAccumulatorWrapper::wrapWithNode): Adds node to m_nodes.
79825         (WebCore::serializeNodes): Adding node to nodes is moved into MarkupAccumulatorWrapper.
79826         (WebCore::createMarkup): Instantiates MarkupAccumulatorWrapper.
79827         (WebCore::serializeNodesWithNamespaces): Renamed from MarkupAccumulator::appendMarkup.
79828
79829 2010-08-12  Dirk Schulze  <krit@webkit.org>
79830
79831         Unreviewed sort of Xcode project file.
79832
79833         * WebCore.xcodeproj/project.pbxproj:
79834
79835 2010-08-12  Ben Murdoch  <benm@google.com>
79836
79837         Reviewed by Pavel Feldman.
79838
79839         InspectorController.h missing InspectorObject forward declaration
79840         https://bugs.webkit.org/show_bug.cgi?id=43913
79841
79842         Build fix so no new tests.
79843
79844         * inspector/InspectorController.h: Adds the necessary forward declaration.
79845
79846 2010-08-12  Hui Huang  <hui.2.huang@nokia.com>
79847
79848         Reviewed by Eric Seidel.
79849
79850         m_windowRect is not updated because parent of PluginView is not
79851         set when updatePluginWidget is called. plugin gets wrong window
79852         size on setwindow.
79853         https://bugs.webkit.org/show_bug.cgi?id=43635
79854
79855         * plugins/symbian/PluginViewSymbian.cpp:
79856         (WebCore::PluginView::setParent):
79857
79858 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79859
79860         Not reviewed, re-apply r65241 and 65243.
79861
79862         Web Inspector: brush up object proxies, introduce remote object model.
79863         https://bugs.webkit.org/show_bug.cgi?id=43847
79864
79865         * WebCore.gypi:
79866         * WebCore.vcproj/WebCore.vcproj:
79867         * inspector/front-end/AuditRules.js:
79868         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
79869         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
79870         * inspector/front-end/ConsoleView.js:
79871         (WebInspector.ConsoleView.prototype.doEvalInWindow):
79872         (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
79873         (WebInspector.ConsoleView.prototype._enterKeyPressed):
79874         (WebInspector.ConsoleView.prototype._format):
79875         (WebInspector.ConsoleView.prototype._formatarray):
79876         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
79877         (WebInspector.ConsoleMessage.prototype._format):
79878         (WebInspector.ConsoleCommandResult):
79879         * inspector/front-end/DOMAgent.js:
79880         (WebInspector.DOMNode):
79881         * inspector/front-end/ElementsPanel.js:
79882         (WebInspector.ElementsPanel.prototype.performSearch):
79883         * inspector/front-end/ElementsTreeOutline.js:
79884         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
79885         * inspector/front-end/EventListenersSidebarPane.js:
79886         ():
79887         * inspector/front-end/InjectedScript.js:
79888         (injectedScriptConstructor):
79889         (injectedScriptConstructor.):
79890         * inspector/front-end/ObjectPropertiesSection.js:
79891         (WebInspector.ObjectPropertiesSection.prototype.update):
79892         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
79893         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
79894         (WebInspector.ObjectPropertyTreeElement.prototype.update):
79895         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
79896         * inspector/front-end/ObjectProxy.js: Removed.
79897         * inspector/front-end/PropertiesSidebarPane.js:
79898         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
79899         * inspector/front-end/RemoteObject.js: Added.
79900         (WebInspector.RemoteObjectId):
79901         (WebInspector.RemoteObject):
79902         (WebInspector.RemoteObject.fromPrimitiveValue):
79903         (WebInspector.RemoteObject.fromNode):
79904         (WebInspector.RemoteObject.fromPayload):
79905         (WebInspector.RemoteObject.type):
79906         (WebInspector.RemoteObject.prototype.get objectId):
79907         (WebInspector.RemoteObject.prototype.get type):
79908         (WebInspector.RemoteObject.prototype.get description):
79909         (WebInspector.RemoteObject.prototype.get hasChildren):
79910         (WebInspector.RemoteObject.prototype.isError):
79911         (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
79912         (WebInspector.RemoteObject.prototype.getOwnProperties):
79913         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
79914         (WebInspector.RemoteObjectProperty):
79915         * inspector/front-end/ScopeChainSidebarPane.js:
79916         (WebInspector.ScopeChainSidebarPane.prototype.update):
79917         * inspector/front-end/ScriptsPanel.js:
79918         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
79919         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
79920         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
79921         * inspector/front-end/SourceFrame.js:
79922         (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
79923         (WebInspector.SourceFrame.prototype._showPopup):
79924         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
79925         * inspector/front-end/WatchExpressionsSidebarPane.js:
79926         (WebInspector.WatchExpressionsSection.prototype.update):
79927         (WebInspector.WatchExpressionTreeElement.prototype.update):
79928         * inspector/front-end/WebKit.qrc:
79929         * inspector/front-end/inspector.html:
79930         * inspector/front-end/inspector.js:
79931         (WebInspector.log.logMessage):
79932         (WebInspector.log):
79933         * inspector/front-end/utilities.js:
79934         ():
79935
79936 2010-08-11  Stephen White  <senorblanco@chromium.org>
79937
79938         Reviewed by David Levin.
79939
79940         Add support for BGRA pixel format to GraphicsContext3D.
79941         https://bugs.webkit.org/show_bug.cgi?id=43858
79942
79943         Although this has been standard in desktop GL since 1.2, it's an 
79944         extension in GL ES 2.0, so a query function is provided to check
79945         for support.  Since they differ on semantics (GL ES 2.0 requires 
79946         TexImage2D()'s format and internalFormat to match, while desktop GL
79947         will not accept BGRA as an internalFormat), the stub implementation
79948         returns false until these quirks have been implemented and tested on
79949         each port.
79950
79951         * platform/graphics/GraphicsContext3D.cpp:
79952         (WebCore::GraphicsContext3D::supportsBGRA):
79953         Add implementation for non-chromium platforms which returns false.
79954         * platform/graphics/GraphicsContext3D.h:
79955         (WebCore::GraphicsContext3D::):
79956         Add query function (supportsBGRA()) and the BGRA_EXT token.
79957
79958 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79959
79960         Not reviewed. Rolling out r65241 and 65243 for breaking inspector tests.
79961
79962 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79963
79964         Not reviewed. Adding the file missing in r65241.
79965
79966         * inspector/front-end/RemoteObject.js: Added.
79967         (WebInspector.RemoteObjectId):
79968         (WebInspector.RemoteObject):
79969         (WebInspector.RemoteObject.fromPrimitiveValue):
79970         (WebInspector.RemoteObject.fromNode):
79971         (WebInspector.RemoteObject.fromPayload):
79972         (WebInspector.RemoteObject.type):
79973         (WebInspector.RemoteObject.prototype.get objectId):
79974         (WebInspector.RemoteObject.prototype.get type):
79975         (WebInspector.RemoteObject.prototype.get description):
79976         (WebInspector.RemoteObject.prototype.get hasChildren):
79977         (WebInspector.RemoteObject.prototype.isError):
79978         (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
79979         (WebInspector.RemoteObject.prototype.getOwnProperties):
79980         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
79981         (WebInspector.RemoteObjectProperty):
79982
79983 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79984
79985         Reviewed by Yury Semikhatsky.
79986
79987         Web Inspector: brush up object proxies, introduce remote object model.
79988         https://bugs.webkit.org/show_bug.cgi?id=43847
79989
79990         * WebCore.gypi:
79991         * WebCore.vcproj/WebCore.vcproj:
79992         * inspector/front-end/AuditRules.js:
79993         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
79994         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
79995         * inspector/front-end/ConsoleView.js:
79996         (WebInspector.ConsoleView.prototype.doEvalInWindow):
79997         (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
79998         (WebInspector.ConsoleView.prototype._enterKeyPressed):
79999         (WebInspector.ConsoleView.prototype._format):
80000         (WebInspector.ConsoleView.prototype._formatnode):
80001         (WebInspector.ConsoleView.prototype._formatarray):
80002         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
80003         (WebInspector.ConsoleMessage.prototype._format):
80004         (WebInspector.ConsoleCommandResult):
80005         * inspector/front-end/DOMAgent.js:
80006         (WebInspector.DOMNode):
80007         * inspector/front-end/ElementsTreeOutline.js:
80008         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
80009         * inspector/front-end/EventListenersSidebarPane.js:
80010         * inspector/front-end/InjectedScript.js:
80011         (injectedScriptConstructor):
80012         (injectedScriptConstructor.):
80013         * inspector/front-end/ObjectPropertiesSection.js:
80014         (WebInspector.ObjectPropertiesSection.prototype.update):
80015         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
80016         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
80017         (WebInspector.ObjectPropertyTreeElement.prototype.update):
80018         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
80019         * inspector/front-end/ObjectProxy.js: Removed.
80020         * inspector/front-end/PropertiesSidebarPane.js:
80021         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
80022         * inspector/front-end/RemoteObject.js: Added.
80023         (WebInspector.RemoteObjectId):
80024         (WebInspector.RemoteObject):
80025         (WebInspector.RemoteObject.fromPrimitiveValue):
80026         (WebInspector.RemoteObject.fromErrorMessage):
80027         (WebInspector.RemoteObject.fromNode):
80028         (WebInspector.RemoteObject.fromPayload):
80029         (WebInspector.RemoteObject.type):
80030         (WebInspector.RemoteObject.prototype.get objectId):
80031         (WebInspector.RemoteObject.prototype.get type):
80032         (WebInspector.RemoteObject.prototype.get description):
80033         (WebInspector.RemoteObject.prototype.get hasChildren):
80034         (WebInspector.RemoteObject.prototype.isError):
80035         (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
80036         (WebInspector.RemoteObject.prototype.getOwnProperties):
80037         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
80038         (WebInspector.RemoteObjectProperty):
80039         * inspector/front-end/ScopeChainSidebarPane.js:
80040         (WebInspector.ScopeChainSidebarPane.prototype.update):
80041         * inspector/front-end/ScriptsPanel.js:
80042         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
80043         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
80044         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
80045         * inspector/front-end/SourceFrame.js:
80046         (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
80047         (WebInspector.SourceFrame.prototype._showPopup):
80048         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
80049         * inspector/front-end/WatchExpressionsSidebarPane.js:
80050         (WebInspector.WatchExpressionsSection.prototype.update):
80051         (WebInspector.WatchExpressionTreeElement.prototype.update):
80052         * inspector/front-end/WebKit.qrc:
80053         * inspector/front-end/inspector.html:
80054         * inspector/front-end/inspector.js:
80055         (WebInspector.log.logMessage):
80056         (WebInspector.log):
80057         * inspector/front-end/utilities.js:
80058
80059 2010-08-12  Ben Murdoch  <benm@google.com>
80060
80061         Reviewed by Steve Block.
80062
80063         V8 code generator does not add V8BindingMacros.h include in all places it is needed
80064         https://bugs.webkit.org/show_bug.cgi?id=43907
80065
80066         Adds the V8BindingMacros.h header before using the STRING_TO_V8PARAMETER_EXCEPTION_BLOCK
80067         macro.
80068
80069         Build fix so no new tests.
80070
80071         * bindings/scripts/CodeGeneratorV8.pm: include the header at the right time.
80072
80073 2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
80074
80075         Revert for now
80076         https://bugs.webkit.org/show_bug.cgi?id=43794 
80077
80078         * Android.mk:
80079         * CMakeLists.txt:
80080         * GNUmakefile.am:
80081         * WebCore.exp.in:
80082         * WebCore.gypi:
80083         * WebCore.pro:
80084         * WebCore.vcproj/WebCore.vcproj:
80085         * WebCore.xcodeproj/project.pbxproj:
80086         * page/GroupSettings.cpp: Removed.
80087         * page/GroupSettings.h: Removed.
80088         * page/PageGroup.cpp:
80089         (WebCore::PageGroup::PageGroup):
80090         (WebCore::PageGroup::localStorage):
80091         * page/PageGroup.h:
80092         * page/Settings.cpp:
80093         (WebCore::Settings::Settings):
80094         (WebCore::Settings::setLocalStorageQuota):
80095         (WebCore::Settings::setLocalStorageDatabasePath):
80096         * page/Settings.h:
80097         (WebCore::Settings::localStorageQuota):
80098         (WebCore::Settings::localStorageDatabasePath):
80099
80100 2010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
80101
80102         Not reviewed. Follow up to Jeremys fix, just remove the context parameter, it's not needed anymore.
80103
80104         * rendering/RenderSVGResourceGradient.cpp:
80105         (WebCore::createMaskAndSwapContextForTextGradient):
80106         * rendering/RenderSVGResourceMasker.cpp:
80107         (WebCore::RenderSVGResourceMasker::applyResource):
80108         * rendering/SVGImageBufferTools.cpp:
80109         (WebCore::SVGImageBufferTools::createImageBuffer):
80110         * rendering/SVGImageBufferTools.h:
80111
80112 2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
80113
80114         Build fix.
80115
80116         * rendering/SVGImageBufferTools.cpp:
80117         (WebCore::SVGImageBufferTools::createImageBuffer):
80118
80119 2010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
80120
80121         Reviewed by Dirk Schulze.
80122
80123         SVG masking performance very slow
80124         https://bugs.webkit.org/show_bug.cgi?id=43622
80125
80126         Create ImageBuffers only as large as the final rendered size on screen. Only gradient on text on CG handled this correctly so far.
80127         Refactored the code into a new SVGImageBufferTools class, and use the code from RenderSVGResourceMasker -> makes the IE9 demo SVG dice usable.
80128         Clippers, Patterns and Filters remain to be converted.
80129
80130         Test: svg/zoom/page/zoom-mask-with-percentages.svg
80131
80132         * Android.mk: Add SVGImageBufferTools.* to build.
80133         * CMakeLists.txt: Ditto.
80134         * GNUmakefile.am: Ditto.
80135         * WebCore.gypi: Ditto.
80136         * WebCore.pro: Ditto.
80137         * WebCore.xcodeproj/project.pbxproj: Ditto.
80138         * rendering/RenderSVGAllInOne.cpp: Ditto.
80139         * rendering/RenderSVGResourceGradient.cpp: Refactored CG gradient specific "create image buffer in absolute coordinates" code into SVGImageBufferTools class.
80140         (WebCore::createMaskAndSwapContextForTextGradient):
80141         (WebCore::clipToTextMask):
80142         (WebCore::RenderSVGResourceGradient::applyResource):
80143         * rendering/RenderSVGResourceMasker.cpp: Use new SVGImageBufferTools class, to avoid pixelation when zooming and to create image buffers as big as the final rendered size on screen, not more.
80144         (WebCore::RenderSVGResourceMasker::invalidateClients):
80145         (WebCore::RenderSVGResourceMasker::applyResource):
80146         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
80147         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
80148         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
80149         * rendering/RenderSVGResourceMasker.h:
80150         * rendering/SVGImageBufferTools.cpp: Added.
80151         (WebCore::SVGImageBufferTools::absoluteTransformFromContext):
80152         (WebCore::SVGImageBufferTools::createImageBuffer):
80153         (WebCore::SVGImageBufferTools::clipToImageBuffer):
80154         * rendering/SVGImageBufferTools.h: Added.
80155         (WebCore::SVGImageBufferTools::SVGImageBufferTools):
80156         (WebCore::SVGImageBufferTools::~SVGImageBufferTools):
80157
80158 2010-08-10  Jeremy Orlow  <jorlow@chromium.org>
80159
80160         Reviewed by Adam Barth.
80161
80162         Some settings are linked to the PageGroup not the Page.  Create a new class for those.
80163         https://bugs.webkit.org/show_bug.cgi?id=43794
80164
80165         Since persistient storage is shared between pages, there's no way to modify
80166         some settings related to it on a per page basis.  As such, it's not technically
80167         correct for these settings to be on the Page's settings.  Create a new class
80168         called GroupSettings, move the 2 group-wide local storage settings there, and
80169         add a new setting for IndexedDB's path (which is prompting this change).
80170
80171         No behavior has changed, so no tests.
80172
80173         * Android.mk:
80174         * CMakeLists.txt:
80175         * GNUmakefile.am:
80176         * WebCore.exp.in:
80177         * WebCore.gypi:
80178         * WebCore.pro:
80179         * WebCore.vcproj/WebCore.vcproj:
80180         * WebCore.xcodeproj/project.pbxproj:
80181         * page/PageGroup.cpp:
80182         (WebCore::PageGroup::PageGroup):
80183         (WebCore::PageGroup::localStorage):
80184         * page/PageGroup.h:
80185         (WebCore::PageGroup::groupSettings):
80186         * page/Settings.cpp:
80187         (WebCore::Settings::Settings):
80188         (WebCore::Settings::setSessionStorageQuota):
80189         * page/Settings.h:
80190
80191 2010-08-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
80192
80193         Reviewed by Simon Hausmann.
80194
80195         [Qt] Decode images directly to QPixmap
80196         https://bugs.webkit.org/show_bug.cgi?id=40797
80197
80198         Use the new API of Qt 4.7 to decode data from the image
80199         reader directly to QPixmap.
80200
80201         This allow us to use JDCT_IFAST when decoding jpeg images
80202         to pixmap, and to decode animated GIF images, while still
80203         using in-place conversion of color space.
80204
80205         * platform/graphics/qt/ImageDecoderQt.cpp:
80206         (WebCore::ImageDecoderQt::setData):
80207         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
80208
80209 2010-07-14  Marcus Bulach  <bulach@chromium.org>
80210
80211         Reviewed by darin@apple.com.
80212
80213         Removes DontCheckEnums from some IDLs and fixes the corresponding enums.
80214         https://bugs.webkit.org/show_bug.cgi?id=42278
80215
80216         This is a follow-up to https://bugs.webkit.org/show_bug.cgi?id=42250: it fixes some IDL/.h and enables generating compile-time checks for enums.
80217
80218         Tests: idls should generate valid code.
80219
80220         * dom/Node.h:
80221         (WebCore::Node::):
80222         * dom/Node.idl:
80223         * dom/OverflowEvent.h:
80224         (WebCore::OverflowEvent::):
80225         * dom/OverflowEvent.idl:
80226         * html/FileReader.cpp:
80227         (WebCore::FileReader::readyState):
80228         * html/FileReader.h:
80229         (WebCore::FileReader::):
80230         * html/FileReader.idl:
80231
80232 2010-08-12  Alejandro G. Castro  <alex@igalia.com>
80233
80234         Reviewed by David Levin.
80235
80236         The #if clause enabling a feature should avoid the all includes of
80237         the feature
80238         https://bugs.webkit.org/show_bug.cgi?id=43866
80239
80240         Modified the position of the guard to avoid including all the
80241         headers if the feature controlling the guard is not enabled.
80242
80243         * dom/make_names.pl:
80244
80245 2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
80246
80247         Unreviewed, rolling out r65221.
80248         http://trac.webkit.org/changeset/65221
80249         https://bugs.webkit.org/show_bug.cgi?id=43896
80250
80251         Broke snow leopard build. (Requested by dave_levin on
80252         #webkit).
80253
80254         * platform/graphics/GraphicsContext3D.cpp:
80255         * platform/graphics/GraphicsContext3D.h:
80256         (WebCore::GraphicsContext3D::):
80257
80258 2010-08-11  Stephen White  <senorblanco@chromium.org>
80259
80260         Reviewed by David Levin.
80261
80262         Add support for BGRA pixel format to GraphicsContext3D.
80263         https://bugs.webkit.org/show_bug.cgi?id=43858
80264
80265         Although this has been standard in desktop GL since 1.2, it's an 
80266         extension in GL ES 2.0, so a query function is provided to check
80267         for support.  Since they differ on semantics (GL ES 2.0 requires 
80268         TexImage2D()'s format and internalFormat to match, while desktop GL
80269         will not accept BGRA as an internalFormat), the stub implementation
80270         returns false until these quirks have been implemented and tested on
80271         each port.
80272
80273         * platform/graphics/GraphicsContext3D.cpp:
80274         (WebCore::GraphicsContext3D::supportsBGRA):
80275         Add implementation for non-chromium platforms which returns false.
80276         * platform/graphics/GraphicsContext3D.h:
80277         (WebCore::GraphicsContext3D::):
80278         Add query function (supportsBGRA()) and the BGRA_EXT token.
80279
80280 2010-08-11  Satish Sampath  <satish@chromium.org>
80281
80282         Reviewed by Kent Tamura.
80283
80284         Handle clicks and recognition events for the speech input button
80285         https://bugs.webkit.org/show_bug.cgi?id=43857
80286
80287         * rendering/RenderInputSpeech.cpp:
80288         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): Selects the image based on current state.
80289         * rendering/TextControlInnerElements.cpp:
80290         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
80291         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
80292         (WebCore::InputFieldSpeechButtonElement::set_state): Switch to a new state and update the UI.
80293         (WebCore::InputFieldSpeechButtonElement::didCompleteRecording): 
80294         (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
80295         * rendering/TextControlInnerElements.h:
80296         (WebCore::InputFieldSpeechButtonElement::):
80297         (WebCore::InputFieldSpeechButtonElement::state):
80298
80299 2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
80300
80301         Reviewed by Alexey Proskuryakov.
80302
80303         REGRESSION(65135): format specifier warnings
80304         https://bugs.webkit.org/show_bug.cgi?id=43876
80305
80306         * websockets/WebSocketChannel.cpp:
80307         (WebCore::WebSocketChannel::appendToBuffer): cast size_t to unsigned long for %lu.
80308         (WebCore::WebSocketChannel::processBuffer): cast size_t to unsigned long for %lu.
80309
80310 2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
80311
80312         [wx] Build fix, don't generate WebDOMEventTarget.h/.cpp as we use the ones in bindings/cpp.
80313         
80314         * DerivedSources.make:
80315
80316 2010-08-11  Tony Gentilcore  <tonyg@chromium.org>
80317
80318         Reviewed by Adam Barth.
80319
80320         Make PendingScript copyable so that it can be stored in containers
80321         https://bugs.webkit.org/show_bug.cgi?id=43875
80322
80323         This will be useful for storing PendingScripts in a Vector or Deque for
80324         async and defer scripts.
80325
80326         No new tests because no functional changes.
80327
80328         * dom/PendingScript.h:
80329         (WebCore::PendingScript::PendingScript):
80330         (WebCore::PendingScript::operator=):
80331
80332 2010-08-11  Victoria Kirst  <vrk@google.com>
80333
80334         Reviewed by David Levin.
80335
80336         Fixing a regression in the UI for Mac default audio/video controls.
80337         https://bugs.webkit.org/show_bug.cgi?id=43750
80338
80339         * rendering/RenderThemeChromiumMac.h:
80340         * rendering/RenderThemeChromiumMac.mm:
80341         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderContainer):
80342         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
80343         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
80344
80345 2010-08-11  Adam Barth  <abarth@webkit.org>
80346
80347         Reviewed by Eric Seidel.
80348
80349         HTML TreeBuilder hits ASSERT in fragment case with insertAdjacentHTML and colgroup
80350         https://bugs.webkit.org/show_bug.cgi?id=43758
80351
80352         This patch conditionalizes some LegacyHTMLTreeBuilder-specific code in
80353         HTMLElement::createContextualFragment that interferes with the new
80354         HTMLTreeBuilder.  Doing that exposes the above ASSERT, which I've fixed
80355         in this patch too.  Fixing that ASSERT involved a small refactoring in
80356         ExternalCharacterTokenBuffer.
80357
80358         * html/HTMLElement.cpp:
80359         (WebCore::HTMLElement::createContextualFragment):
80360         * html/HTMLTreeBuilder.cpp:
80361         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
80362         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
80363         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
80364         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading):
80365         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading):
80366         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
80367
80368 2010-08-11  Adam Barth  <abarth@webkit.org>
80369
80370         Reviewed by Eric Seidel.
80371
80372         Conditionalize wrong fragment parsing code to pass more HTML5lib tests
80373         https://bugs.webkit.org/show_bug.cgi?id=43877
80374
80375         This code exists to support the LegacyHTMLTreeBuilder.  Unfortunately,
80376         it causes problems for the new HTMLTreeBuilder (which is more
80377         self-contained).
80378
80379         * dom/Element.cpp:
80380         (WebCore::Element::createContextualFragment):
80381
80382 2010-08-11  Ryosuke Niwa  <rniwa@webkit.org>
80383
80384         Reviewed by Tony Chang.
80385
80386         Can't unbold text in div in font-weight span
80387         https://bugs.webkit.org/show_bug.cgi?id=26871
80388
80389         The bug was caused by removeInlineStyle not being able to include styled inline nodes around the start.
80390         Solved this problem by pushing down all inline styles instead of just text-decorations.
80391         This approach allows removeInlineStyle to remove styled ancestors properly and generates compact markups.
80392
80393         Test: editing/style/push-down-inline-styles.html
80394
80395         * editing/ApplyStyleCommand.cpp:
80396         (WebCore::ApplyStyleCommand::removeCSSStyle): No longer removes attributes or node when mode == RemoveNone.
80397         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement
80398         to determine the highest ancestor whose style needs to be pushed down.
80399         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Renamed from extractTextDecorationStyle.
80400         Extracts all inline CSS properties specified instead of just text decorations.
80401         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Renamed from applyTextDecorationStyle.
80402         Applies inline styles using addInlineStyleIfNeeded or adds inline CSS values.
80403         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Renamed from pushDownTextDecorationStyleAroundNode.
80404         (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode.
80405         * editing/ApplyStyleCommand.h:
80406         * editing/DeleteSelectionCommand.cpp:
80407         (WebCore::DeleteSelectionCommand::mergeParagraphs): Prevents moveParagraph from preserving
80408         the style of an empty paragraph when merged with the previous paragraph because we don't use that style anyways.
80409
80410 2010-08-11  Julien Chaffraix  <jchaffraix@codeaurora.org>
80411
80412         Reviewed by Ariya Hidayat.
80413
80414         Remove dead code in CSSStyleSelector.
80415         https://bugs.webkit.org/show_bug.cgi?id=43805
80416
80417         * css/CSSStyleSelector.cpp: Remove some debugging code that
80418         was compiled out.
80419
80420 2010-08-11  Chris Fleizach  <cfleizach@apple.com>
80421
80422         Reviewed by Beth Dakin.
80423
80424         AX: isNativeCheckbox does not work as advertised
80425         https://bugs.webkit.org/show_bug.cgi?id=43872
80426
80427         Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
80428
80429         * accessibility/AccessibilityRenderObject.cpp:
80430         (WebCore::AccessibilityRenderObject::isInputImage):
80431             Only say it's an input image if its role has not been overriden
80432         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
80433         * dom/InputElement.h:
80434             Add methods to query if it's a checkbox or radio button type element.
80435         * html/HTMLInputElement.h:
80436         (WebCore::HTMLInputElement::isCheckbox):
80437
80438 2010-08-11  Kenneth Russell  <kbr@google.com>
80439
80440         Reviewed by David Levin.
80441
80442         Remove obsolete WebGLArray type names
80443         https://bugs.webkit.org/show_bug.cgi?id=43885
80444
80445         Deleted aliases to obsolete WebGLArray type names. Updated
80446         affected layout tests, synchronizing them with the versions in the
80447         Khronos repository where appropriate. Ran all layout tests.
80448
80449         * bindings/js/JSDOMWindowCustom.cpp:
80450         * page/DOMWindow.idl:
80451
80452 2010-08-11  Steve Block  <steveblock@google.com>
80453
80454         Reviewed by David Levin.
80455
80456         [chromium] Geolocation breaks the compile if ENABLE_GEOLOCATION is set to 0
80457         https://bugs.webkit.org/show_bug.cgi?id=43753
80458
80459         This change guards the entire contents of the V8 custom bindings files
80460         with ENABLE(GEOLOCATION) to match JSC.
80461
80462         No new tests, build fix only.
80463
80464         * bindings/v8/custom/V8CustomPositionCallback.cpp:
80465         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
80466         * bindings/v8/custom/V8GeolocationCustom.cpp:
80467
80468 2010-08-11  Kwang Yul Seo  <skyul@company100.net>
80469
80470         Reviewed by David Levin.
80471
80472         Include <wtf/UnusedParam.h> in GraphicsContextSkia.cpp
80473         https://bugs.webkit.org/show_bug.cgi?id=43843
80474
80475         wtf/UnusedParam.h must be included because UNUSED_PARAM macro is used.
80476
80477         * platform/graphics/skia/GraphicsContextSkia.cpp:
80478
80479 2010-08-11  Nico Weber  <thakis@chromium.org>
80480
80481         Reviewed by David Levin.
80482
80483         [chromium/mac]: Fix colors in compositing mode
80484         https://bugs.webkit.org/show_bug.cgi?id=43823
80485
80486         The textures are drawn by opengl, which doesn't do any color space
80487         correction -- it assumes everything is in the device color space
80488         already. Hence, when drawing into the memory that will be uploaded
80489         as opengl texture, use the device color space.
80490
80491         * platform/graphics/chromium/ImageLayerChromium.cpp:
80492         (WebCore::ImageLayerChromium::updateTextureContents):
80493         * platform/graphics/chromium/LayerChromium.cpp:
80494         (WebCore::LayerChromium::updateTextureContents):
80495         * platform/graphics/chromium/LayerRendererChromium.cpp:
80496         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
80497
80498 2010-08-11  Kenneth Russell  <kbr@google.com>
80499
80500         Reviewed by Dimitri Glazkov.
80501
80502         Remove obsolete texImage2D and texSubImage2D entry points
80503         https://bugs.webkit.org/show_bug.cgi?id=40320
80504
80505         No new tests; covered by existing WebGL tests.
80506
80507         * html/canvas/WebGLRenderingContext.cpp:
80508         * html/canvas/WebGLRenderingContext.h:
80509         * html/canvas/WebGLRenderingContext.idl:
80510
80511 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
80512
80513         Windows build fix.
80514
80515         * platform/win/BString.cpp:
80516         (WebCore::BString::BString):
80517
80518 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
80519
80520         Qt build fix II.
80521
80522         * WebCore.xcodeproj/project.pbxproj:
80523         * bridge/qt/qt_runtime.cpp:
80524         (JSC::Bindings::convertValueToQVariant):
80525
80526 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
80527
80528         Qt build fix.
80529
80530         * WebCore.xcodeproj/project.pbxproj:
80531         * bridge/qt/qt_runtime.cpp:
80532         (JSC::Bindings::convertValueToQVariant):
80533
80534 2010-08-11  Steve Block  <steveblock@google.com>
80535
80536         Reviewed by Jeremy Orlow.
80537
80538         Need EmptyDeviceOrientationClient and EmptyDeviceMotionClient for use with SVGImage
80539         https://bugs.webkit.org/show_bug.cgi?id=43848
80540
80541         Tested by existing DeviceOrientation tests.
80542
80543         * loader/EmptyClients.h:
80544         (WebCore::EmptyDeviceMotionClient::setController):
80545         (WebCore::EmptyDeviceMotionClient::startUpdating):
80546         (WebCore::EmptyDeviceMotionClient::stopUpdating):
80547         (WebCore::EmptyDeviceMotionClient::currentDeviceMotion):
80548         (WebCore::EmptyDeviceOrientationClient::setController):
80549         (WebCore::EmptyDeviceOrientationClient::startUpdating):
80550         (WebCore::EmptyDeviceOrientationClient::stopUpdating):
80551         (WebCore::EmptyDeviceOrientationClient::lastOrientation):
80552         * svg/graphics/SVGImage.cpp:
80553         (WebCore::SVGImage::dataChanged):
80554
80555 2010-08-11  Rob Buis  <rwlbuis@gmail.com>
80556
80557         Reviewed by Dan Bernstein.
80558
80559         https://bugs.webkit.org/show_bug.cgi?id=42042
80560         An empty value for xml:lang isn't considered
80561
80562         Revert last line change of my patch ; it happens to
80563         behave correctly and same as before, but makes the
80564         use case of empty values unneededly slower.
80565
80566         No new tests. (No change in behavior)
80567
80568         * css/CSSStyleSelector.cpp:
80569         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
80570
80571 2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
80572
80573         [wx, WebDOM] Build fix. Fix callback params and WebCore::String -> WTF::String fixes.
80574
80575         * bindings/cpp/WebDOMCustomVoidCallback.cpp: Added.
80576         (WebDOMCustomVoidCallback::WebDOMCustomVoidCallback):
80577         (WebDOMCustomVoidCallback::~WebDOMCustomVoidCallback):
80578         (WebDOMCustomVoidCallback::handleEvent):
80579         (toWebCore):
80580         * bindings/cpp/WebDOMCustomVoidCallback.h: Added.
80581         (WebDOMCustomVoidCallback::create):
80582         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
80583         (documentWrite):
80584         * bindings/cpp/WebDOMString.cpp:
80585         (WebDOMString::equals):
80586         * bindings/scripts/CodeGeneratorCPP.pm:
80587         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
80588         (WebDOMTestCallback::callbackWithClass1Param):
80589         (WebDOMTestCallback::callbackWithClass2Param):
80590         (WebDOMTestCallback::callbackWithNonBoolReturnType):
80591         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
80592         * bindings/scripts/test/V8/V8TestInterface.h:
80593         * bindings/scripts/test/V8/V8TestObj.h:
80594         * wscript:
80595
80596 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
80597
80598         Rubber stamps by Darin Adler & Sam Weinig.
80599
80600         Bug 43867 - Some UString cleanup
80601
80602         Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
80603         Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
80604
80605         * WebCore.xcodeproj/project.pbxproj:
80606         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
80607         (WebCore::hasCSSPropertyNamePrefix):
80608         (WebCore::cssPropertyName):
80609         * bindings/js/JSLocationCustom.cpp:
80610         (WebCore::JSLocation::setPort):
80611         * bindings/js/ScriptDebugServer.cpp:
80612         (WebCore::ScriptDebugServer::dispatchDidParseSource):
80613         * bindings/js/ScriptString.h:
80614         (WebCore::ScriptString::size):
80615         * bindings/js/ScriptValue.cpp:
80616         (WebCore::jsToInspectorValue):
80617         * bindings/objc/WebScriptObject.mm:
80618         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
80619         * bridge/jni/jni_jsobject.mm:
80620         (JavaJSObject::convertValueToJObject):
80621         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
80622         (JSC::Bindings::convertArrayInstanceToJavaArray):
80623         (JSC::Bindings::convertValueToJValue):
80624         * bridge/objc/objc_runtime.mm:
80625         (JSC::Bindings::callObjCFallbackObject):
80626
80627 2010-08-10  David Hyatt  <hyatt@apple.com>
80628
80629         Reviewed by Dan Bernstein.
80630
80631         https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
80632         
80633         Add a new boolean to Document to indicate that content should be paginated.  This is checked when doing page breaks
80634         and in a couple of other cases.
80635
80636         * dom/Document.cpp:
80637         (WebCore::Document::Document):
80638         * dom/Document.h:
80639         (WebCore::Document::paginatedForScreen):
80640         (WebCore::Document::setPaginatedForScreen):
80641         (WebCore::Document::paginated):
80642         * rendering/RenderBlock.cpp:
80643         (WebCore::RenderBlock::paintChildren):
80644         (WebCore::RenderBlock::calcColumnWidth):
80645         * rendering/RenderBox.cpp:
80646         (WebCore::RenderBox::calcHeight):
80647         * rendering/RenderView.cpp:
80648         (WebCore::RenderView::paint):
80649
80650 2010-08-11  Adam Barth  <abarth@webkit.org>
80651
80652         Windows build fix.  Turns out we need to unconditionally include
80653         HTMLEntityNames.cpp now that LegacyHTMLDocumentParser doesn't exist.
80654
80655         * html/HTMLEntityParser.cpp:
80656
80657 2010-08-11  Eric Carlson  <eric.carlson@apple.com>
80658
80659         Reviewed by Darin Adler.
80660
80661         Inserting a <source> element should immediately set networkState to NETWORK_NO_SOURCE.
80662         https://bugs.webkit.org/show_bug.cgi?id=42897
80663
80664         A <source> element inserted as a child of a media element with a networkState of NETWORK_EMPTY
80665         should cause the networkState to immediately change to NETWORK_NO_SOURCE.
80666
80667         * WebCore.xcodeproj/project.pbxproj:
80668         * html/HTMLMediaElement.cpp:
80669         (WebCore::HTMLMediaElement::HTMLMediaElement): Remove unused variable m_processingLoad.
80670         (WebCore::HTMLMediaElement::prepareForLoad): Set m_networkState to NETWORK_NO_SOURCE.
80671         (WebCore::HTMLMediaElement::loadInternal): Remove unused variable m_processingLoad.
80672         (WebCore::HTMLMediaElement::selectMediaResource): No need to change m_networkState, it was done in prepareForLoad.
80673         * html/HTMLMediaElement.h:
80674
80675         * html/HTMLSourceElement.cpp:
80676         (WebCore::HTMLSourceElement::insertedIntoTree): Renamed from insertedIntoDocument because we want
80677         to do this setup whether or not the parent media element is in the document.
80678         * html/HTMLSourceElement.h:
80679
80680 2010-08-11  Adam Barth  <abarth@webkit.org>
80681
80682         Rubber-stamped by Eric Seidel.
80683
80684         Delete LegacyHTMLDocumentParser and LegacyPreloadScanner
80685         https://bugs.webkit.org/show_bug.cgi?id=43836
80686
80687         These classes are bit-rotting disturbingly quickly.  We removed the
80688         last dependencies on these classes and so we can remove them.
80689
80690         We might need to preserve some of their particular quirks to handle
80691         some legacy applications, but our current thinking is to do that with
80692         individual settings that affect the new parser.
80693
80694         * Android.mk:
80695         * CMakeLists.txt:
80696         * GNUmakefile.am:
80697         * WebCore.gypi:
80698         * WebCore.pro:
80699         * WebCore.vcproj/WebCore.vcproj:
80700         * WebCore.xcodeproj/project.pbxproj:
80701         * dom/Document.cpp:
80702         * dom/DocumentFragment.cpp:
80703         (WebCore::DocumentFragment::parseHTML):
80704         * dom/DocumentParser.h:
80705         * dom/XMLDocumentParserLibxml2.cpp:
80706         * dom/XMLDocumentParserQt.cpp:
80707         * html/HTMLConstructionSite.cpp:
80708         * html/HTMLDocument.cpp:
80709         (WebCore::HTMLDocument::createParser):
80710         * html/HTMLEntityParser.cpp:
80711         (WebCore::decodeNamedEntity):
80712         * html/HTMLEntityParser.h:
80713         * html/HTMLFormControlElement.cpp:
80714         * html/HTMLTreeBuilder.cpp:
80715         * html/HTMLViewSourceDocument.cpp:
80716         (WebCore::HTMLViewSourceDocument::createParser):
80717         * html/LegacyHTMLDocumentParser.cpp: Removed.
80718         * html/LegacyHTMLDocumentParser.h: Removed.
80719         * html/LegacyHTMLTreeBuilder.cpp:
80720         * html/LegacyPreloadScanner.cpp: Removed.
80721         * html/LegacyPreloadScanner.h: Removed.
80722         * loader/FTPDirectoryDocument.cpp:
80723         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
80724         (WebCore::FTPDirectoryDocumentParser::appendEntry):
80725         (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
80726         (WebCore::processFilesizeString):
80727         (WebCore::wasLastDayOfMonth):
80728         (WebCore::processFileDateString):
80729         (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
80730         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
80731         (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
80732         (WebCore::FTPDirectoryDocumentParser::append):
80733         (WebCore::FTPDirectoryDocumentParser::finish):
80734         * page/XSSAuditor.cpp:
80735         (WebCore::XSSAuditor::decodeHTMLEntities):
80736         * page/XSSAuditor.h:
80737         * platform/text/SegmentedString.cpp:
80738         (WebCore::SegmentedString::prepend):
80739
80740 2010-08-11  Chris Jerdonek  <cjerdonek@webkit.org>
80741
80742         Reviewed by Adam Barth.
80743
80744         Refactored FrameLoader::createWindow() out of the FrameLoader class
80745         since FrameLoader should not be responsible for creating windows.
80746
80747         https://bugs.webkit.org/show_bug.cgi?id=39156
80748
80749         No new functionality, so no new tests.
80750
80751         * bindings/generic/BindingDOMWindow.h:
80752         (WebCore::::createWindow):
80753           - Updated the call to FrameLoader's createWindow().
80754         * bindings/js/JSDOMWindowCustom.cpp:
80755         (WebCore::createWindow):
80756           - Updated the call to FrameLoader's createWindow().
80757         * loader/FrameLoader.cpp:
80758         (WebCore::createWindowFromFrameLoader):
80759           - Made FrameLoader::createWindow() non-member, non-friend and changed it
80760             to accept Frame* parameters instead of FrameLoader*.
80761         * loader/FrameLoader.h:
80762           - Updated the header file to reflect the above change to FrameLoader.cpp.
80763
80764 2010-08-11  Ilya Tikhonovsky  <loislo@chromium.org>
80765
80766         Reviewed by Pavel Feldman.
80767
80768         WebInspector: small refactoring for CodeGeneratorInspector.
80769         all "notify" methods are generating in InspectorFrontend
80770         the other methods are generating in InspectorBackend.
80771         https://bugs.webkit.org/show_bug.cgi?id=43849
80772
80773         * inspector/CodeGeneratorInspector.pm:
80774
80775 2010-08-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
80776
80777         Reviewed by Xan Lopez.
80778
80779         [GTK] Misc improvements to the scrolling code
80780         https://bugs.webkit.org/show_bug.cgi?id=41926
80781
80782         Refactor code that uses deprecated ways of dealing with the
80783         adjustments to use the GtkVersioning infrastructure.
80784
80785         * GNUmakefile.am:
80786         * platform/gtk/GtkVersioning.cpp: Added.
80787         * platform/gtk/GtkVersioning.h:
80788         * platform/gtk/ScrollViewGtk.cpp:
80789         * platform/gtk/ScrollbarGtk.cpp:
80790         (ScrollbarGtk::detachAdjustment):
80791         (ScrollbarGtk::updateThumbPosition):
80792         (ScrollbarGtk::updateThumbProportion):
80793
80794 2010-08-11  Nate Chapin  <japhet@chromium.org>
80795
80796         Chromium mac build fix (variables weren't being initialized).
80797
80798         * platform/graphics/filters/FEGaussianBlur.cpp: 
80799         (WebCore::FEGaussianBlur::apply): Initalize dxLeft, dxRight, dyLeft, dyRight.
80800
80801 2010-08-11  Pavel Feldman  <pfeldman@chromium.org>
80802
80803         Reviewed by Yury Semikhatsky.
80804
80805         Web Inspector: apply correct fix to storage panel status bar buttons.
80806
80807         https://bugs.webkit.org/show_bug.cgi?id=43846
80808
80809         * inspector/front-end/DatabaseTableView.js:
80810         (WebInspector.DatabaseTableView.prototype.get statusBarItems):
80811         * inspector/front-end/StoragePanel.js:
80812         (WebInspector.StoragePanel.prototype._genericViewSetup):
80813
80814 2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
80815
80816         Reviewed by Adam Barth.
80817
80818         Override operator= for C++ DOM binding classes with private structs
80819         and update C++ DOM bindings test results.
80820         https://bugs.webkit.org/show_bug.cgi?id=43735
80821
80822         * bindings/cpp/WebDOMEventTarget.cpp:
80823         (WebDOMEventTarget::operator=):
80824         * bindings/cpp/WebDOMEventTarget.h:
80825         * bindings/scripts/CodeGeneratorCPP.pm:
80826         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
80827         (WebDOMTestCallback::operator=):
80828         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
80829         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
80830         (WebDOMTestInterface::operator=):
80831         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
80832         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
80833         (WebDOMTestObj::operator=):
80834         * bindings/scripts/test/CPP/WebDOMTestObj.h:
80835
80836 2010-08-11  Julie Parent  <jparent@chromium.org>
80837
80838         Reviewed by Justin Garcia.
80839
80840         Crash in replaceSelectionCommand with RTL text.
80841         https://bugs.webkit.org/show_bug.cgi?id=41485
80842         
80843         For text with mixed directionality, sort the text boxes before
80844         computing gaps, since that code assumes the boxes are in order.
80845
80846         Test: editing/execCommand/insert-image-on-top-of-directional-text.html
80847
80848         * editing/CompositeEditCommand.cpp:
80849         (WebCore::CompositeEditCommand::deleteInsignificantText): Sort boxes
80850         like we do in TextIterator before computing gaps.
80851         * editing/TextIterator.cpp:
80852         (WebCore::TextIterator::handleTextNode): Use new compareByStart
80853         rather than compareBoxStart.  No functional change.
80854         * rendering/InlineTextBox.h:
80855         (WebCore::InlineTextBox::compareByStart): Moved compareBoxStart
80856         from TextIterator here so it can be used in multiple places.
80857
80858 2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
80859
80860         Unreviewed build fix of Leopard Intel Debug (Build)
80861
80862         * websockets/WebSocketChannel.cpp:
80863         (WebCore::WebSocketChannel::processBuffer): use %lu, instead of %ul
80864
80865 2010-08-11  Alejandro G. Castro  <alex@igalia.com>
80866
80867         Reviewed by Dirk Schulze.
80868
80869         Fixes to the gaussian blur algorithm
80870         https://bugs.webkit.org/show_bug.cgi?id=41605
80871
80872         Added the recomendations of SVG regarding the kernel size
80873         calculation for the approximation of the gaussian
80874         blur. http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement.
80875         Modified also some variable names to clarify algorithm, reviewed
80876         the situation where both standard deviations are 0.
80877
80878         * platform/graphics/filters/FEGaussianBlur.cpp:
80879         (WebCore::FEGaussianBlur::FEGaussianBlur):
80880         (WebCore::FEGaussianBlur::stdDeviationX):
80881         (WebCore::FEGaussianBlur::setStdDeviationX):
80882         (WebCore::FEGaussianBlur::stdDeviationY):
80883         (WebCore::FEGaussianBlur::setStdDeviationY):
80884         (WebCore::boxBlur):
80885         (WebCore::FEGaussianBlur::kernelPosition): Added the SVG kernel
80886         position recomendation.
80887         (WebCore::FEGaussianBlur::apply):
80888         (WebCore::FEGaussianBlur::externalRepresentation):
80889         * platform/graphics/filters/FEGaussianBlur.h:
80890
80891 2010-08-11  Kristian Monsen  <kristianm@google.com>
80892
80893         Reviewed by Steve Block.
80894
80895         Compile fix for Android, added include for <wtf/text/Cstring.h, this
80896         did not get included in Android.
80897         https://bugs.webkit.org/show_bug.cgi?id=41517
80898         
80899         Build fix only, no new tests.
80900
80901         * page/PrintContext.cpp:
80902
80903 2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
80904
80905         Reviewed by Alexey Proskuryakov.
80906
80907         Fix length calculation to be more robust.
80908         https://bugs.webkit.org/show_bug.cgi?id=43777
80909
80910         Test: websocket/tests/frame-length-overflow.html
80911
80912         * websockets/WebSocketChannel.cpp:
80913         (WebCore::WebSocketChannel::appendToBuffer): len is size_t.
80914          - add sanity check for integer wraps.
80915         (WebCore::WebSocketChannel::skipBuffer): len is size_t.
80916         (WebCore::WebSocketChannel::processBuffer): length is size_t.
80917          - add sanity check for integer wraps.
80918         * websockets/WebSocketChannel.h: change m_bufferSize and len to size_t.
80919
80920 2010-08-10  Eric Seidel  <eric@webkit.org>
80921
80922         Reviewed by Adam Barth.
80923
80924         Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
80925         https://bugs.webkit.org/show_bug.cgi?id=43762
80926
80927         In fixing the insertAdjacentHTML I had to make small changes to
80928         the error logic, which ended up bringing us closer to HTML5.
80929
80930         Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html
80931
80932         * html/HTMLConstructionSite.cpp:
80933         (WebCore::HTMLConstructionSite::attach):
80934          - This ASSERT was just wrong, the child should not be attached
80935            in the case the parent is not attached.
80936         * html/HTMLElement.cpp:
80937         (WebCore::contextElementForInsertion):
80938          - This is part of HTML5, needed to know what to call the
80939            HTML or XML parsers with.  The previous code always passed
80940            "this" which is wrong in the case of beforeBegin or afterEnd insertion.
80941         (WebCore::HTMLElement::insertAdjacentHTML):
80942          - Use the right contextElement now that we know how to compute it.
80943         * html/HTMLTreeBuilder.cpp:
80944         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
80945          - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.
80946
80947 2010-08-11  Adam Barth  <abarth@webkit.org>
80948
80949         Attempt to fix Windows build.
80950
80951         * platform/win/COMPtr.h:
80952         (WTF::):
80953
80954 2010-08-11  Adam Barth  <abarth@webkit.org>
80955
80956         Reviewed by Eric Seidel.
80957
80958         Port view-source to new parser
80959         https://bugs.webkit.org/show_bug.cgi?id=43746
80960
80961         This patch switches the view-source mode for frames over to using the
80962         new HTML parsing infrastructure.  This patch is an architectural change
80963         to how we parser view source documents.
80964
80965         Previously, the LegacyHTMLDocumentParser would output a "guide string"
80966         that consided of the inter-attribute whitespace and various "control"
80967         characters.  The HTMLViewSourceDocument would then interpret this guide
80968         string to approximately reconstruct the source of the original document
80969         and colorize various syntatic constructs.
80970
80971         Unfortunately, that approach is inherently low-fidelity.  It's not
80972         really feasible to reconstruct the input document from the token
80973         stream.  The old view source mode also had a number of hacks in the old
80974         parser (e.g., to turn of decoding of HTML entities).
80975
80976         Instead of trying to reconstruct the original document from the token
80977         stream, we use the segmentation information given by the tokens to
80978         colorize the input document itself.  Each token now caries information
80979         about where in the input stream it came from and where various
80980         subcomponents (e.g., attribute names and values) are located.  This
80981         approach is higher fidelity because we use this segmentation
80982         information to colorize the original input instead of attempting to
80983         reconstruct the original input.
80984
80985         * Android.mk:
80986         * CMakeLists.txt:
80987         * GNUmakefile.am:
80988         * WebCore.gypi:
80989         * WebCore.pro:
80990         * WebCore.vcproj/WebCore.vcproj:
80991         * WebCore.xcodeproj/project.pbxproj:
80992         * html/HTMLDocumentParser.cpp:
80993         * html/HTMLToken.h:
80994         (WebCore::HTMLToken::clear):
80995         (WebCore::HTMLToken::startIndex):
80996         (WebCore::HTMLToken::length):
80997         (WebCore::HTMLToken::end):
80998         * html/HTMLViewSourceDocument.cpp:
80999         (WebCore::HTMLViewSourceDocument::createParser):
81000         (WebCore::HTMLViewSourceDocument::addSource):
81001         (WebCore::HTMLViewSourceDocument::processDoctypeToken):
81002         (WebCore::HTMLViewSourceDocument::processTagToken):
81003         (WebCore::HTMLViewSourceDocument::processCommentToken):
81004         (WebCore::HTMLViewSourceDocument::processCharacterToken):
81005         (WebCore::HTMLViewSourceDocument::addRange):
81006         * html/HTMLViewSourceDocument.h:
81007         * html/HTMLViewSourceParser.cpp: Added.
81008         (WebCore::HTMLViewSourceParser::~HTMLViewSourceParser):
81009         (WebCore::HTMLViewSourceParser::insert):
81010         (WebCore::HTMLViewSourceParser::pumpTokenizer):
81011         (WebCore::HTMLViewSourceParser::append):
81012         (WebCore::HTMLViewSourceParser::sourceForToken):
81013         (WebCore::HTMLViewSourceParser::updateTokenizerState):
81014         (WebCore::HTMLViewSourceParser::finish):
81015         (WebCore::HTMLViewSourceParser::finishWasCalled):
81016         * html/HTMLViewSourceParser.h: Added.
81017         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
81018         (WebCore::HTMLViewSourceParser::document):
81019         * html/LegacyHTMLDocumentParser.cpp:
81020         (WebCore::LegacyHTMLDocumentParser::processToken):
81021         (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
81022
81023 2010-08-11  Yoshiki Hayashi  <yhayashi@google.com>
81024
81025         Reviewed by Shinichiro Hamaji.
81026
81027         Make form controls, textarea, legend and datagrid treat width:
81028         auto as specified in stretching vertical flexbox.  Otherwise it's
81029         treated as intrinsic as before.
81030         https://bugs.webkit.org/show_bug.cgi?id=17918
81031
81032         Test: fast/flexbox/vertical-box-form-controls.html
81033
81034         * css/CSSStyleSelector.cpp:
81035         (WebCore::CSSStyleSelector::adjustRenderStyle):
81036         * rendering/RenderBox.cpp:
81037         (WebCore::RenderBox::sizesToIntrinsicWidth):
81038
81039 2010-08-10  Darin Adler  <darin@apple.com>
81040
81041         Reviewed by Sam Weinig.
81042
81043         Add leakRef and clear to all RefPtr variants
81044         https://bugs.webkit.org/show_bug.cgi?id=42389
81045
81046         * platform/win/COMPtr.h: Changed all uses of "template <...>" to instead do
81047         "template<...>". Defined many of the inlined functions outside the class
81048         definition, to avoid style checker warnings about multiple statements on
81049         a single line and for slightly better clarity of the class definition itself.
81050         Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
81051         don't have to rename all callers at once. Added a clear function. Changed
81052         the hash table code so it doesn't need to call releaseRef, and so it uses
81053         the hash table deleted value hooks already present within the class.
81054
81055 2010-08-10  Ariya Hidayat  <ariya@sencha.com>
81056
81057         [Qt] Fix build warning: remove reference to html/BlobRegistryImp.h
81058
81059         * WebCore.pro:
81060
81061 2010-08-10  Alexey Proskuryakov  <ap@apple.com>
81062
81063         Reviewed by Darin Adler.
81064
81065         https://bugs.webkit.org/show_bug.cgi?id=43803
81066         <rdar://problem/6988023> Only the last Korean character can be shown if font style is enabled while typing (43803)
81067
81068         Test: platform/mac/editing/input/bold-node.html
81069
81070         * editing/Editor.cpp: (WebCore::Editor::setComposition): It is not clear to me what the
81071         "baseNode == extentNode" check is about in this function , but let's try to make it more
81072         likely that it passes.
81073
81074 2010-08-10  Hayato Ito  <hayato@chromium.org>
81075
81076         Reviewed by Kent Tamura.
81077
81078         Make CSSSelector::specificity() non-recursive.
81079         https://bugs.webkit.org/show_bug.cgi?id=43784
81080
81081         This change is one of the required changes to fix the following master bug:
81082         https://bugs.webkit.org/show_bug.cgi?id=42806
81083
81084         No functional change, thus no tests.
81085
81086         * css/CSSSelector.cpp:
81087         (WebCore::CSSSelector::specificity):
81088         (WebCore::CSSSelector::specificityForOneSelector):
81089         (WebCore::CSSSelector::specificityForPage):
81090         * css/CSSSelector.h:
81091
81092 2010-08-10  Matthew Delaney  <mdelaney@apple.com>
81093
81094         Reviewed by Darin Adler.
81095
81096         2d.path.clip.empty.html test is failing
81097         https://bugs.webkit.org/show_bug.cgi?id=43161
81098
81099         * platform/graphics/cg/GraphicsContextCG.cpp:
81100         (WebCore::GraphicsContext::clip):
81101         Catching the empty path case from being sent directly to 
81102         CGContextClip - which would ignore it. Instead, using 
81103         CGContextClip with a CGRectZero to achieve the desired
81104         behavior of reducing the clipping region to nothing.
81105
81106 2010-08-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
81107
81108         Reviewed by Antonio Gomes.
81109
81110         [EFL] Add video files to enable video in WebKit EFL
81111         https://bugs.webkit.org/show_bug.cgi?id=43790
81112
81113         Add files regarding html5 video to CMakeList.txt for WebKit Efl.
81114         But, this patch is not run html5 video on WebKit EFL yet.
81115
81116         * CMakeLists.txt: Add files related to html5video.
81117         * platform/efl/LocalizedStringsEfl.cpp: Add functions for html5 video.
81118         (WebCore::localizedMediaControlElementString):
81119         (WebCore::localizedMediaControlElementHelpText):
81120         (WebCore::localizedMediaTimeDescription):
81121         * platform/graphics/MediaPlayer.cpp:
81122         (WebCore::installedMediaEngines): Disable MediaPlayerPrivate::r
81123       egisterMediaEngine for WebKit EFL.
81124
81125 2010-08-10  Patrick Gansterer  <paroga@paroga.com>
81126
81127         Reviewed by Nikolas Zimmermann.
81128
81129         Add a toRenderSVGImage function
81130         https://bugs.webkit.org/show_bug.cgi?id=43789
81131
81132         Add a function for casting to RenderSVGImage and use it.
81133
81134         * rendering/RenderSVGImage.h:
81135         (WebCore::toRenderSVGImage):
81136         * rendering/RenderTreeAsText.cpp:
81137         (WebCore::write):
81138         * rendering/SVGRenderTreeAsText.cpp:
81139         (WebCore::writeSVGImage):
81140         * rendering/SVGRenderTreeAsText.h:
81141         * svg/SVGImageElement.cpp:
81142         (WebCore::SVGImageElement::attach):
81143
81144 2010-08-10  Adam Barth  <abarth@webkit.org>
81145
81146         Reviewed by Eric Seidel.
81147
81148         Clients of HTMLTokenizer should be able to see where characters went in the token
81149         https://bugs.webkit.org/show_bug.cgi?id=43766
81150
81151         When viewing the source of a document, we want to colorize different
81152         parts of the input depending on how they were tokenized.  In this
81153         patch, we expose the internal segmentation of a token by recording the
81154         start and end offsets for each attribute name and each attribute value.
81155
81156         * html/HTMLToken.h:
81157         (WebCore::HTMLToken::addNewAttribute):
81158         (WebCore::HTMLToken::beginAttributeName):
81159         (WebCore::HTMLToken::endAttributeName):
81160         (WebCore::HTMLToken::beginAttributeValue):
81161         (WebCore::HTMLToken::endAttributeValue):
81162         (WebCore::HTMLToken::appendToAttributeName):
81163         (WebCore::HTMLToken::appendToAttributeValue):
81164         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
81165         * html/HTMLTokenizer.cpp:
81166         (WebCore::HTMLTokenizer::nextToken):
81167
81168 2010-08-10  Dumitru Daniliuc  <dumi@chromium.org>
81169
81170         Reviewed by David Levin.
81171
81172         Do not post a sync task to the DB thread if it's terminating.
81173         https://bugs.webkit.org/show_bug.cgi?id=43676
81174
81175         * bindings/generic/ActiveDOMCallback.cpp: The context can
81176         sometimes be NULL. Check if it's NULL instead of asserting that
81177         it's not.
81178         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
81179         * dom/ActiveDOMObject.cpp:
81180         (WebCore::ActiveDOMObject::ActiveDOMObject):
81181
81182         * storage/Database.cpp: Do not post a sync task to the DB thread
81183         if the DB thread is terminating. Also, when a task is destroyed,
81184         ASSERT that it was completed, or that it had no synchronizer.
81185         (WebCore::Database::openAndVerifyVersion):
81186         (WebCore::Database::markAsDeletedAndClose):
81187         (WebCore::Database::tableNames):
81188         * storage/DatabaseTask.cpp:
81189         (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
81190         (WebCore::DatabaseTask::~DatabaseTask):
81191         (WebCore::DatabaseTask::performTask):
81192         * storage/DatabaseTask.h:
81193         (WebCore::DatabaseTaskSynchronizer::hasCheckedForTermination):
81194         (WebCore::DatabaseTaskSynchronizer::setHasCheckedForTermination):
81195         (WebCore::DatabaseTask::hasSynchronizer):
81196         (WebCore::DatabaseTask::hasCheckedForTermination):
81197         * storage/DatabaseThread.cpp:
81198         (WebCore::DatabaseThread::terminationRequested):
81199         (WebCore::DatabaseThread::scheduleTask):
81200         (WebCore::DatabaseThread::scheduleImmediateTask):
81201         * storage/DatabaseThread.h:
81202
81203 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
81204
81205         Qt build fix.
81206
81207         * bridge/qt/qt_runtime.cpp:
81208         (JSC::Bindings::convertValueToQVariant):
81209
81210 2010-08-10  Jian Li  <jianli@chromium.org>
81211
81212         Fix more build break.
81213
81214         * bindings/v8/SerializedScriptValue.cpp:
81215         (WebCore::ZigZag::Reader::readBlob):
81216         (WebCore::ZigZag::Reader::readFile):
81217         * dom/ScriptExecutionContext.cpp:
81218         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
81219         (WebCore::ScriptExecutionContext::revokeBlobURL):
81220         * dom/ScriptExecutionContext.h:
81221         * html/Blob.cpp:
81222         (WebCore::Blob::slice):
81223
81224 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
81225
81226         Rubber stamped by Sam Weinig
81227
81228         Bug 43817 - Remove UString::Rep
81229         UString::Rep has for a long time been replaced by UStringImpl (Rep
81230         remaining as a typedef).  UStringImpl has since been removed too
81231         (unified with StringImpl). Remove Rep, rename rep() to impl() and
81232         m_rep to m_impl.  Also add impl() method to Identifier, and rename
81233         its UString member from _ustring to m_string.
81234
81235         * bindings/js/JSDOMBinding.cpp:
81236         (WebCore::findAtomicString):
81237         * bindings/js/JSDOMBinding.h:
81238         (WebCore::ustringToString):
81239         (WebCore::identifierToString):
81240         (WebCore::ustringToAtomicString):
81241         (WebCore::identifierToAtomicString):
81242         * bindings/js/SerializedScriptValue.h:
81243         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
81244         * bridge/IdentifierRep.cpp:
81245         (WebCore::IdentifierRep::get):
81246         * bridge/c/c_class.cpp:
81247         (JSC::Bindings::CClass::methodsNamed):
81248         (JSC::Bindings::CClass::fieldNamed):
81249         * bridge/jni/jsc/JavaClassJSC.cpp:
81250         (JavaClass::JavaClass):
81251         (JavaClass::methodsNamed):
81252         (JavaClass::fieldNamed):
81253         * bridge/jni/jsc/JavaStringJSC.h:
81254         (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
81255         (JSC::Bindings::JavaStringImpl::init):
81256         (JSC::Bindings::JavaStringImpl::UTF8String):
81257         (JSC::Bindings::JavaStringImpl::uchars):
81258         (JSC::Bindings::JavaStringImpl::length):
81259         (JSC::Bindings::JavaStringImpl::uString):
81260         * bridge/jsc/BridgeJSC.h:
81261
81262 2010-08-10  Jian Li  <jianli@chromium.org>
81263
81264         Fix qt build break.
81265
81266         * html/BlobRegistryImpl.cpp:
81267         * html/BlobRegistryImpl.h:
81268         * html/BlobURL.cpp:
81269         * html/BlobURL.h:
81270         * platform/BlobRegistry.h:
81271
81272 2010-08-10  Jian Li  <jianli@chromium.org>
81273
81274         Reviewed by David Levin.
81275
81276         Add the support to register the blob data.
81277         https://bugs.webkit.org/show_bug.cgi?id=43600
81278
81279         This is the first step towards adding Blob URL support. The blob has
81280         an internal URL (used by FileReader) and public URLs (used by Blob.url).
81281         The URL and its associated data are managed by BlobRegistry interface.
81282
81283         This patch does not remove the usage of BlobItem. It will be removed
81284         when all the blob data support is hooked up and the new tests will be
81285         added then.
81286
81287         * CMakeLists.txt:
81288         * GNUmakefile.am:
81289         * WebCore.gypi:
81290         * WebCore.pro:
81291         * WebCore.vcproj/WebCore.vcproj:
81292         * WebCore.xcodeproj/project.pbxproj:
81293         * bindings/js/SerializedScriptValue.cpp:
81294         (WebCore::SerializedBlob::create):
81295         (WebCore::SerializedBlob::url):
81296         (WebCore::SerializedBlob::type):
81297         (WebCore::SerializedBlob::size):
81298         (WebCore::SerializedBlob::SerializedBlob):
81299         (WebCore::SerializedFile::create):
81300         (WebCore::SerializedFile::path):
81301         (WebCore::SerializedFile::url):
81302         (WebCore::SerializedFile::type):
81303         (WebCore::SerializedFile::SerializedFile):
81304         (WebCore::SerializedFileList::item):
81305         (WebCore::SerializedFileList::SerializedFileList):
81306         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
81307         (WebCore::SharedSerializedData::asBlob):
81308         (WebCore::SharedSerializedData::asFile):
81309         (WebCore::SerializingTreeWalker::convertIfTerminal):
81310         (WebCore::DeserializingTreeWalker::convertIfTerminal):
81311         (WebCore::TeardownTreeWalker::convertIfTerminal):
81312         * bindings/js/SerializedScriptValue.h:
81313         (WebCore::SerializedScriptValueData::):
81314         (WebCore::SerializedScriptValueData::asString):
81315         (WebCore::SerializedScriptValueData::asBlob):
81316         (WebCore::SerializedScriptValueData::asFile):
81317         * bindings/v8/SerializedScriptValue.cpp:
81318         (WebCore::ZigZag::Writer::writeBlob):
81319         (WebCore::ZigZag::Writer::writeFile):
81320         (WebCore::ZigZag::Writer::writeFileList):
81321         (WebCore::ZigZag::Writer::doWriteUintHelper):
81322         (WebCore::ZigZag::Writer::doWriteUint32):
81323         (WebCore::ZigZag::Writer::doWriteUint64):
81324         (WebCore::ZigZag::Serializer::writeBlob):
81325         (WebCore::ZigZag::Serializer::writeFile):
81326         (WebCore::ZigZag::Reader::readBlob):
81327         (WebCore::ZigZag::Reader::readFile):
81328         (WebCore::ZigZag::Reader::readFileList):
81329         (WebCore::ZigZag::Reader::doReadUintHelper):
81330         (WebCore::ZigZag::Reader::doReadUint32):
81331         (WebCore::ZigZag::Reader::doReadUint64):
81332         * dom/ScriptExecutionContext.cpp:
81333         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
81334         (WebCore::ScriptExecutionContext::trackBlobURL):
81335         (WebCore::ScriptExecutionContext::revokeBlobURL):
81336         * dom/ScriptExecutionContext.h:
81337         * html/Blob.cpp:
81338         (WebCore::Blob::Blob):
81339         (WebCore::Blob::~Blob):
81340         (WebCore::Blob::createPublicURL):
81341         * html/Blob.h:
81342         (WebCore::Blob::create):
81343         (WebCore::Blob::url):
81344         * html/BlobRegistryImpl.cpp: Added.
81345         * html/BlobRegistryImpl.h: Added.
81346         * html/BlobStorageData.h: Added.
81347         * html/BlobURL.cpp: Added.
81348         * html/BlobURL.h: Added.
81349         * html/File.cpp:
81350         (WebCore::File::File):
81351         * html/File.h:
81352         (WebCore::File::create):
81353         * platform/BlobData.cpp: Added.
81354         * platform/BlobData.h: Added.
81355         * platform/BlobRegistry.h: Added.
81356
81357 2010-08-10  Adam Barth  <abarth@webkit.org>
81358
81359         Reviewed by Eric Seidel.
81360
81361         SegmentedString should keep track of how many characters it consumes
81362         https://bugs.webkit.org/show_bug.cgi?id=43765
81363
81364         The easiest way to keep track of how many characters we've consumed
81365         would be to increment a counter every time we advance, but that's too
81366         slow.  Instead, we keep track lazily and update our summary durning the
81367         slow case of advance (which is sufficiently rare).
81368
81369         There's some subtly to how this works w.r.t. "unconsuming" characters
81370         by pushing them back on the front of the segmented string.  This isn't
81371         really a "right answer" here because the notion of unconsuming input
81372         isn't present in the API.  This patch makes some assumptions about how
81373         clients of this class use its API.  In a future patch, we might want to
81374         rename some of the method names to make this more explicit.
81375
81376         * platform/text/SegmentedString.cpp:
81377         (WebCore::SegmentedString::operator=):
81378         (WebCore::SegmentedString::append):
81379         (WebCore::SegmentedString::prepend):
81380         (WebCore::SegmentedString::advanceSubstring):
81381         * platform/text/SegmentedString.h:
81382         (WebCore::SegmentedSubstring::numberOfCharactersConsumed):
81383         (WebCore::SegmentedString::SegmentedString):
81384         (WebCore::SegmentedString::numberOfCharactersConsumed):
81385
81386 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
81387
81388         Rubber stamped by Sam Weinig.
81389         
81390         Bug 43816 - Remove UStringImpl
81391         The class was actually removed a long time ago, replaced by StringImpl.
81392         UStringImpl is just a typedef onto StringImpl.  Remove this.
81393
81394         * WebCore.xcodeproj/project.pbxproj:
81395         * bindings/js/JSDOMBinding.cpp:
81396         (WebCore::findAtomicString):
81397
81398 2010-08-09  Stephen White  <senorblanco@chromium.org>
81399
81400         Reviewed by David Levin.
81401
81402         Prefer the medium-quality (bilinear) image resampling for 2D canvas on
81403         Chromium.
81404         https://bugs.webkit.org/show_bug.cgi?id=43646
81405         
81406         This is what the accelerated path is going to do,
81407         so do it in the software path as well.
81408
81409         * html/HTMLCanvasElement.cpp:
81410         (WebCore::HTMLCanvasElement::createImageBuffer):
81411         * platform/graphics/GraphicsContext.h:
81412
81413 2010-08-10  Chris Fleizach  <cfleizach@apple.com>
81414
81415         Reviewed by Dave Hyatt.
81416
81417         Removing an element from an anonymous block causes crash
81418         https://bugs.webkit.org/show_bug.cgi?id=42309
81419
81420         There was a case where a continuation was added as a child, but if you asked
81421         that child who is your parent, it would return the wrong answer.
81422    
81423         The specific scenario was when a sibling of an element who was the start of a 
81424         continuation was present. Retrieving the parent object had then follow the sibling
81425         chain and then follow the originating continuation chain.
81426
81427         Test: accessibility/removed-anonymous-block-child-causes-crash.html
81428
81429         * accessibility/AccessibilityRenderObject.cpp:
81430         (WebCore::AccessibilityRenderObject::nextSibling):
81431             Fix erroneous comment
81432         (WebCore::nextContinuation):
81433         (WebCore::AccessibilityRenderObject::renderParentObject):
81434             Handle unhandled continuation case.
81435         (WebCore::AccessibilityRenderObject::addChildren):
81436             ASSERT that the parentObject() is the same when adding a new child.
81437
81438 2010-08-10  Abhishek Arya  <inferno@chromium.org>
81439
81440         Reviewed by David Hyatt.
81441
81442         Take checks for ruby base existence out of the ASSERTs.
81443         https://bugs.webkit.org/show_bug.cgi?id=43795
81444
81445         Test: fast/ruby/ruby-remove-no-base.html
81446
81447         * rendering/RenderRubyRun.cpp:
81448         (WebCore::RenderRubyRun::addChild):
81449         (WebCore::RenderRubyRun::removeChild):
81450
81451 2010-08-06  Zhenyao Mo  <zmo@google.com>
81452
81453         Reviewed by Dimitri Glazkov.
81454
81455         texture functions should gen INVALID_OPERATION if no texture is bound
81456         https://bugs.webkit.org/show_bug.cgi?id=42907
81457
81458         * html/canvas/WebGLRenderingContext.cpp:
81459         (WebCore::WebGLRenderingContext::copyTexImage2D): Check if a texture is bound to target.
81460         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
81461         (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
81462         (WebCore::WebGLRenderingContext::getTexParameter): Ditto.
81463         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
81464         (WebCore::WebGLRenderingContext::texParameter): Ditto.
81465         (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
81466         (WebCore::WebGLRenderingContext::validateTextureBinding): Check if target is valid and if a texture is bound to it.
81467         * html/canvas/WebGLRenderingContext.h: Declare validateTextureBinding().
81468
81469 2010-08-10  Patrick Gansterer  <paroga@paroga.com>
81470
81471         Reviewed by Sam Weinig.
81472
81473         [WINCE] Implement Path::currentPoint()
81474         https://bugs.webkit.org/show_bug.cgi?id=42927
81475
81476         * platform/graphics/wince/PathWince.cpp:
81477         (WebCore::Path::currentPoint):
81478
81479 2010-08-10  Ariya Hidayat  <ariya@sencha.com>
81480
81481         [Qt] Warning fix, remove reference to platform/text/StringImpl.h
81482
81483         * WebCore.pro:
81484
81485 2010-08-10  Alice Liu  <alice.liu@apple.com>
81486
81487         Chromium build fix attempt.  not reviewed
81488         
81489         * platform/text/TextBoundaries.cpp: use correct stringimplh include
81490
81491 2010-08-10  Jian Li  <jianli@chromium.org>
81492
81493         Chromium build fix.
81494
81495         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
81496         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
81497
81498 2010-08-10  Johnny Ding  <jnd@chromium.org>
81499
81500         Reviewed by Adam Barth.
81501
81502         Change the ScriptController::processingUserGesture to static method
81503         and use dynamic(JSC binding)/entered(V8 binding) frame to check the user gesture.
81504         https://bugs.webkit.org/show_bug.cgi?id=42827.
81505
81506         Test: fast/events/popup-blocked-from-iframe-script.html
81507
81508         * WebCore.order:
81509         * bindings/js/JSDOMBinding.cpp:
81510         (WebCore::processingUserGesture):
81511         * bindings/js/JSDOMBinding.h:
81512         * bindings/js/JSDOMWindowCustom.cpp:
81513         (WebCore::JSDOMWindow::setLocation):
81514         (WebCore::createWindow):
81515         (WebCore::domWindowAllowPopUp):
81516         (WebCore::JSDOMWindow::open):
81517         (WebCore::JSDOMWindow::showModalDialog):
81518         * bindings/js/JSDocumentCustom.cpp:
81519         (WebCore::JSDocument::setLocation):
81520         * bindings/js/JSLocationCustom.cpp:
81521         (WebCore::navigateIfAllowed):
81522         (WebCore::JSLocation::reload):
81523         * bindings/js/ScriptController.cpp:
81524         (WebCore::ScriptController::processingUserGesture):
81525         * bindings/js/ScriptController.h:
81526         * bindings/scripts/CodeGeneratorJS.pm:
81527         * bindings/scripts/test/JS/JSTestObj.cpp:
81528         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
81529         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
81530         * bindings/v8/ScriptController.cpp:
81531         (WebCore::ScriptController::processingUserGesture):
81532         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
81533         * bindings/v8/ScriptController.h:
81534         * bindings/v8/specialization/V8BindingState.cpp:
81535         (WebCore::::processingUserGesture):
81536         * loader/FrameLoader.cpp:
81537         (WebCore::FrameLoader::isProcessingUserGesture):
81538
81539 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
81540
81541         Chromium build fix
81542
81543         * platform/graphics/chromium/FontPlatformDataLinux.h:
81544
81545 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
81546
81547         Rubber stamped by Sam Weinig.
81548
81549         Bug 43786 - Move AtomicStringHash from WebCore to WTF
81550         Also remove deprecated string headers from WebCore/platform/text.
81551
81552         * ForwardingHeaders/wtf/text/AtomicStringHash.h: Added.
81553         * GNUmakefile.am:
81554         * WebCore.gypi:
81555         * WebCore.pro:
81556         * WebCore.vcproj/WebCore.vcproj:
81557         * WebCore.xcodeproj/project.pbxproj:
81558         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
81559         * bindings/cpp/WebDOMHTMLCollectionCustom.cpp:
81560         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
81561         * bindings/js/JSClipboardCustom.cpp:
81562         * bindings/js/JSDOMApplicationCacheCustom.cpp:
81563         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
81564         * bindings/js/JSDOMPluginArrayCustom.cpp:
81565         * bindings/js/JSDOMPluginCustom.cpp:
81566         * bindings/js/JSDOMStringMapCustom.cpp:
81567         * bindings/js/JSDOMWindowCustom.cpp:
81568         * bindings/js/JSDataGridColumnListCustom.cpp:
81569         * bindings/js/JSHTMLAllCollectionCustom.cpp:
81570         * bindings/js/JSHTMLCollectionCustom.cpp:
81571         * bindings/js/JSMessagePortCustom.cpp:
81572         * bindings/js/JSNodeListCustom.cpp:
81573         * bindings/scripts/CodeGeneratorCPP.pm:
81574         * bindings/scripts/CodeGeneratorJS.pm:
81575         * bindings/scripts/CodeGeneratorV8.pm:
81576         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
81577         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
81578         * bindings/scripts/test/V8/V8TestInterface.h:
81579         * bindings/scripts/test/V8/V8TestObj.h:
81580         * bindings/v8/ScriptDebugServer.h:
81581         * bindings/v8/V8Binding.cpp:
81582         * bindings/v8/V8Binding.h:
81583         * bridge/jni/v8/JavaClassV8.h:
81584         * css/CSSFontFaceSource.h:
81585         * css/CSSFontSelector.cpp:
81586         * css/CSSFontSelector.h:
81587         * css/CSSNamespace.h:
81588         * css/CSSParser.cpp:
81589         * css/CSSParser.h:
81590         * css/CSSParserValues.h:
81591         * css/CSSStyleSelector.h:
81592         * css/CSSVariablesDeclaration.h:
81593         * css/MediaFeatureNames.h:
81594         * css/MediaQueryExp.h:
81595         * css/WebKitCSSKeyframesRule.h:
81596         * dom/CustomEvent.h:
81597         * dom/Document.cpp:
81598         * dom/Event.cpp:
81599         * dom/Event.h:
81600         * dom/EventNames.h:
81601         * dom/EventTarget.h:
81602         * dom/InputElement.h:
81603         * dom/MessagePort.cpp:
81604         * dom/MessagePort.h:
81605         * dom/NameNodeList.h:
81606         * dom/NodeRareData.h:
81607         * dom/QualifiedName.h:
81608         * dom/ScriptElement.cpp:
81609         * dom/SpaceSplitString.h:
81610         * dom/TagNodeList.h:
81611         * dom/XMLDocumentParser.h:
81612         * editing/EditorCommand.cpp:
81613         * history/mac/HistoryItemMac.mm:
81614         * html/BlobBuilder.cpp:
81615         * html/DataGridColumn.h:
81616         * html/DataGridColumnList.cpp:
81617         * html/HTMLDocument.h:
81618         * html/HTMLInputElement.cpp:
81619         * html/HTMLTokenizer.cpp:
81620         * html/HTMLTokenizer.h:
81621         * html/LegacyPreloadScanner.cpp:
81622         * html/LegacyPreloadScanner.h:
81623         * inspector/InspectorCSSStore.h:
81624         * inspector/InspectorController.h:
81625         * inspector/InspectorDOMAgent.cpp:
81626         * inspector/InspectorDOMAgent.h:
81627         * inspector/InspectorDebuggerAgent.h:
81628         * inspector/InspectorValues.h:
81629         * loader/Cache.h:
81630         * loader/CrossOriginAccessControl.cpp:
81631         * loader/CrossOriginPreflightResultCache.h:
81632         * loader/DocLoader.h:
81633         * loader/ImageLoader.h:
81634         * loader/appcache/ApplicationCache.h:
81635         * loader/appcache/ApplicationCacheStorage.h:
81636         * loader/appcache/DOMApplicationCache.h:
81637         * loader/icon/IconDatabase.h:
81638         * loader/icon/IconRecord.h:
81639         * loader/loader.h:
81640         * notifications/Notification.h:
81641         * page/FrameTree.h:
81642         * page/Page.cpp:
81643         * page/PageGroup.h:
81644         * page/SecurityOrigin.h:
81645         * page/Settings.h:
81646         * page/WindowFeatures.cpp:
81647         * page/animation/AnimationBase.h:
81648         * page/animation/AnimationControllerPrivate.h:
81649         * page/animation/CompositeAnimation.h:
81650         * platform/Cookie.h:
81651         * platform/KURL.cpp:
81652         * platform/KURLGoogle.cpp:
81653         * platform/KURLHash.h:
81654         * platform/Length.cpp:
81655         * platform/LinkHash.cpp:
81656         * platform/LinkHash.h:
81657         * platform/MIMETypeRegistry.cpp:
81658         * platform/MIMETypeRegistry.h:
81659         * platform/SchemeRegistry.h:
81660         * platform/ThreadGlobalData.cpp:
81661         * platform/ThreadGlobalData.h:
81662         * platform/cf/BinaryPropertyList.cpp:
81663         * platform/chromium/SearchPopupMenuChromium.cpp:
81664         * platform/efl/ClipboardEfl.cpp:
81665         * platform/efl/CookieJarEfl.cpp:
81666         * platform/efl/PlatformKeyboardEventEfl.cpp:
81667         * platform/graphics/FontCache.cpp:
81668         * platform/graphics/FontFamily.h:
81669         * platform/graphics/MediaPlayer.h:
81670         * platform/graphics/cg/ImageSourceCGWin.cpp:
81671         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
81672         * platform/graphics/chromium/FontCacheLinux.cpp:
81673         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
81674         * platform/graphics/chromium/LayerChromium.h:
81675         * platform/graphics/filters/Filter.h:
81676         * platform/graphics/mac/FontPlatformData.h:
81677         * platform/graphics/mac/GraphicsLayerCA.h:
81678         * platform/graphics/qt/FontCacheQt.cpp:
81679         * platform/graphics/win/FontCacheWin.cpp:
81680         * platform/graphics/win/FontPlatformDataCGWin.cpp:
81681         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
81682         * platform/graphics/win/FontPlatformDataWin.cpp:
81683         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
81684         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
81685         * platform/graphics/win/WKCACFLayer.h:
81686         * platform/graphics/wince/FontPlatformData.cpp:
81687         * platform/graphics/wx/FontPlatformData.h:
81688         * platform/gtk/ClipboardGtk.cpp:
81689         * platform/gtk/DataObjectGtk.h:
81690         * platform/haiku/ClipboardHaiku.cpp:
81691         * platform/haiku/CookieJarHaiku.cpp:
81692         * platform/haiku/SearchPopupMenuHaiku.cpp:
81693         * platform/mac/SearchPopupMenuMac.mm:
81694         * platform/mac/ThreadCheck.mm:
81695         * platform/network/CredentialStorage.cpp:
81696         * platform/network/HTTPHeaderMap.h:
81697         * platform/network/cf/DNSCFNet.cpp:
81698         * platform/network/curl/CookieJarCurl.cpp:
81699         * platform/qt/ClipboardQt.cpp:
81700         * platform/text/AtomicString.h: Removed.
81701         * platform/text/AtomicStringHash.h: Removed.
81702         * platform/text/AtomicStringImpl.h: Removed.
81703         * platform/text/AtomicStringKeyedMRUCache.h:
81704         * platform/text/StringBuilder.cpp:
81705         * platform/text/StringHash.h: Removed.
81706         * platform/text/StringImpl.h: Removed.
81707         * platform/text/TextCodecLatin1.cpp:
81708         * platform/text/TextCodecUTF16.cpp:
81709         * platform/text/TextCodecUserDefined.cpp:
81710         * platform/text/cf/HyphenationCF.cpp:
81711         * platform/text/cf/StringImplCF.cpp:
81712         * platform/text/mac/HyphenationMac.mm:
81713         * platform/text/mac/StringImplMac.mm:
81714         * platform/text/transcoder/FontTranscoder.h:
81715         * platform/text/wince/TextCodecWinCE.cpp:
81716         * platform/win/BString.cpp:
81717         * platform/win/ClipboardWin.cpp:
81718         * platform/win/SearchPopupMenuWin.cpp:
81719         * platform/wince/SearchPopupMenuWince.cpp:
81720         * platform/wx/ClipboardWx.cpp:
81721         * plugins/DOMMimeTypeArray.cpp:
81722         * plugins/DOMPlugin.cpp:
81723         * plugins/DOMPluginArray.cpp:
81724         * plugins/PluginDatabase.h:
81725         * plugins/PluginPackage.h:
81726         * plugins/PluginStream.h:
81727         * rendering/RenderApplet.h:
81728         * rendering/RenderText.cpp:
81729         * rendering/style/BindingURI.h:
81730         * rendering/style/ContentData.cpp:
81731         * rendering/style/CounterContent.h:
81732         * rendering/style/CounterDirectives.h:
81733         * rendering/style/KeyframeList.h:
81734         * rendering/style/StyleRareInheritedData.h:
81735         * storage/AbstractDatabase.cpp:
81736         * storage/DatabaseAuthorizer.h:
81737         * storage/DatabaseTracker.h:
81738         * storage/IDBDatabaseBackendImpl.h:
81739         * storage/IDBFactoryBackendImpl.h:
81740         * storage/IDBObjectStoreBackendImpl.h:
81741         * storage/OriginQuotaManager.h:
81742         * storage/OriginUsageRecord.h:
81743         * storage/SQLTransactionCoordinator.h:
81744         * storage/StorageAreaSync.h:
81745         * storage/StorageMap.h:
81746         * storage/StorageNamespaceImpl.cpp:
81747         * storage/chromium/QuotaTracker.h:
81748         * svg/SVGAltGlyphElement.h:
81749         * svg/SVGDocumentExtensions.cpp:
81750         * svg/SVGDocumentExtensions.h:
81751         * svg/SVGFitToViewBox.cpp:
81752         * svg/SVGLangSpace.h:
81753         * svg/animation/SMILTimeContainer.h:
81754         * svg/graphics/filters/SVGFilterBuilder.h:
81755         * websockets/WebSocket.h:
81756         * websockets/WebSocketChannel.cpp:
81757         * websockets/WebSocketHandshake.cpp:
81758         * websockets/WebSocketHandshakeResponse.cpp:
81759         * wml/WMLPageState.h:
81760         * workers/AbstractWorker.h:
81761         * workers/DefaultSharedWorkerRepository.h:
81762         * workers/Worker.h:
81763         * workers/WorkerContext.h:
81764         * xml/XMLHttpRequest.h:
81765         * xml/XMLHttpRequestUpload.cpp:
81766         * xml/XMLHttpRequestUpload.h:
81767         * xml/XPathExpressionNode.h:
81768         * xml/XPathNamespace.h:
81769         * xml/XPathParser.cpp:
81770         * xml/XSLTProcessor.h:
81771
81772 2010-08-10  Pavel Feldman  <pfeldman@chromium.org>
81773
81774         Not reviewed. Adding changes that escaped from r65072.
81775
81776         Web Inspector: move database processing to native layer.
81777         https://bugs.webkit.org/show_bug.cgi?id=43788
81778
81779         * inspector/front-end/InspectorBackendStub.js:
81780         (WebInspector.InspectorBackendStub):
81781         * inspector/front-end/StoragePanel.js:
81782         (WebInspector.StoragePanel.prototype._genericViewSetup):
81783
81784 2010-08-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
81785
81786         Reviewed by Xan Lopez.
81787
81788         [GTK] Inputs of type 'search' have weird looking checkboxes instead of search/clear icons
81789         https://bugs.webkit.org/show_bug.cgi?id=43760
81790
81791         Draw appropriate GTK+ stock images for search/clear icons in search entries.
81792
81793         * platform/gtk/RenderThemeGtk.cpp:
81794         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
81795         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
81796         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
81797
81798 2010-08-10  Pavel Feldman  <pfeldman@chromium.org>
81799
81800         Not reviewed. Qt build fix, follow up for r65072.
81801
81802         * inspector/InspectorController.cpp:
81803         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
81804
81805 2010-08-10  Pavel Feldman  <pfeldman@chromium.org>
81806
81807         Reviewed by Yury Semikhatsky.
81808
81809         Web Inspector: move database processing to native layer.
81810
81811         https://bugs.webkit.org/show_bug.cgi?id=43788
81812
81813         * English.lproj/localizedStrings.js:
81814         * WebCore.gypi:
81815         * bindings/js/JSInjectedScriptHostCustom.cpp:
81816         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
81817         * inspector/CodeGeneratorInspector.pm:
81818         * inspector/InjectedScript.cpp:
81819         (WebCore::InjectedScript::dispatch):
81820         * inspector/InjectedScript.h:
81821         * inspector/InjectedScriptHost.cpp:
81822         * inspector/InjectedScriptHost.h:
81823         * inspector/InjectedScriptHost.idl:
81824         * inspector/Inspector.idl:
81825         * inspector/InspectorBackend.cpp:
81826         (WebCore::InspectorBackend::dispatchOnInjectedScript):
81827         (WebCore::InspectorBackend::executeSQL):
81828         * inspector/InspectorBackend.h:
81829         * inspector/InspectorController.cpp:
81830         (WebCore::InspectorController::connectFrontend):
81831         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
81832         * inspector/InspectorController.h:
81833         * inspector/InspectorDebuggerAgent.h:
81834         * inspector/InspectorStorageAgent.cpp: Added.
81835         (WebCore::):
81836         (WebCore::InspectorStorageAgent::InspectorStorageAgent):
81837         (WebCore::InspectorStorageAgent::~InspectorStorageAgent):
81838         (WebCore::InspectorStorageAgent::executeSQL):
81839         (WebCore::InspectorStorageAgent::clearFrontend):
81840         * inspector/InspectorStorageAgent.h: Added.
81841         (WebCore::InspectorStorageAgent::create):
81842         (WebCore::InspectorStorageAgent::frontend):
81843         * inspector/front-end/Database.js:
81844         (WebInspector.Database.prototype.executeSql):
81845         (WebInspector.sqlTransactionSucceeded):
81846         (WebInspector.sqlTransactionFailed):
81847         * inspector/front-end/DatabaseQueryView.js:
81848         (WebInspector.DatabaseQueryView.prototype._queryFinished):
81849         (WebInspector.DatabaseQueryView.prototype._queryError):
81850         * inspector/front-end/DatabaseTableView.js:
81851         (WebInspector.DatabaseTableView.prototype._queryFinished):
81852         * inspector/front-end/InjectedScript.js:
81853         * inspector/front-end/InjectedScriptAccess.js:
81854         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
81855         (InjectedScriptAccess._installHandler):
81856         * inspector/front-end/StoragePanel.js:
81857         (WebInspector.StoragePanel.prototype.dataGridForResult):
81858
81859 2010-08-10  Steve Block  <steveblock@google.com>
81860
81861         Reviewed by Jeremy Orlow.
81862
81863         [V8] DeviceMotionEvent can not be used from JavaScript
81864         https://bugs.webkit.org/show_bug.cgi?id=43785
81865
81866         This is tested by the existing tests fast/dom/DeviceMotion/create-event.html
81867         and fast/dom/DeviceMotion/optional-event-properties.html.
81868
81869         * bindings/v8/custom/V8EventCustom.cpp:
81870         (WebCore::toV8):
81871
81872 2010-08-10  Balazs Kelemen  <kb@inf.u-szeged.hu>
81873
81874         Reviewed by Antonio Gomes.
81875
81876         [Qt] Build WebKit2 into a static lib
81877
81878         https://bugs.webkit.org/show_bug.cgi?id=43621
81879
81880         Just build changes so no new tests.
81881
81882         * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
81883         * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
81884         * features.pri: Added.
81885
81886 2010-08-10  Yury Semikhatsky  <yurys@chromium.org>
81887
81888         Reviewed by Pavel Feldman.
81889
81890         Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
81891         https://bugs.webkit.org/show_bug.cgi?id=43780
81892
81893         * inspector/CodeGeneratorInspector.pm:
81894         * inspector/InspectorController.cpp:
81895         (WebCore::InspectorController::enableDebuggerFromFrontend):
81896         * inspector/InspectorController.h:
81897         (WebCore::InspectorController::hasFrontend):
81898         * inspector/InspectorDebuggerAgent.cpp:
81899         (WebCore::InspectorDebuggerAgent::create):
81900         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
81901         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
81902         (WebCore::InspectorDebuggerAgent::didParseSource):
81903         (WebCore::InspectorDebuggerAgent::failedToParseSource):
81904         (WebCore::InspectorDebuggerAgent::didPause):
81905         (WebCore::InspectorDebuggerAgent::didContinue):
81906         * inspector/InspectorDebuggerAgent.h:
81907
81908 2010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
81909
81910         Reviewed by Simon Hausmann.
81911
81912         Make sure NPAPI plugins get an initial setNPWindow on Mac
81913
81914         https://bugs.webkit.org/show_bug.cgi?id=43782
81915
81916         * plugins/mac/PluginViewMac.mm:
81917
81918 2010-08-10  Dirk Schulze  <krit@webkit.org>
81919
81920         Reviewed by Nikolas Zimmermann.
81921
81922         Use SVGPathParser to create SVG paths and to perform path animations
81923         https://bugs.webkit.org/show_bug.cgi?id=43696
81924
81925         Removed toString() functions in all SVGPathSeg* objects as well as toPath() in SVGPathSegList.
81926         These hacks were used to create a SVG path data string or a platform path from a SVGPathSegList.
81927         Use the new SVGPathParser instead.
81928
81929         Doesn't affect any tests.
81930
81931         * svg/SVGAnimateElement.cpp:
81932         (WebCore::SVGAnimateElement::applyResultsToTarget):
81933         * svg/SVGPathElement.cpp:
81934         (WebCore::SVGPathElement::toPathData):
81935         * svg/SVGPathParserFactory.cpp:
81936         (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
81937         (WebCore::SVGPathParserFactory::buildStringFromByteStream):
81938         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
81939         * svg/SVGPathParserFactory.h:
81940         * svg/SVGPathSeg.cpp:
81941         * svg/SVGPathSeg.h:
81942         * svg/SVGPathSegArc.cpp:
81943         * svg/SVGPathSegArc.h:
81944         * svg/SVGPathSegClosePath.h:
81945         (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
81946         * svg/SVGPathSegCurvetoCubic.h:
81947         * svg/SVGPathSegCurvetoCubicSmooth.h:
81948         * svg/SVGPathSegCurvetoQuadratic.h:
81949         * svg/SVGPathSegLinetoHorizontal.h:
81950         * svg/SVGPathSegLinetoVertical.h:
81951         * svg/SVGPathSegList.cpp:
81952         (WebCore::SVGPathSegList::getPathSegAtLength):
81953         * svg/SVGPathSegList.h:
81954
81955 2010-08-10  Sheriff Bot  <webkit.review.bot@gmail.com>
81956
81957         Unreviewed, rolling out r65056.
81958         http://trac.webkit.org/changeset/65056
81959         https://bugs.webkit.org/show_bug.cgi?id=43773
81960
81961         "Clearly I missed something.  I'm too tired to try and fix
81962         now.  Will re-land in the morning." (Requested by eseidel on
81963         #webkit).
81964
81965         * html/HTMLConstructionSite.cpp:
81966         (WebCore::HTMLConstructionSite::attach):
81967         * html/HTMLElement.cpp:
81968         (WebCore::HTMLElement::insertAdjacentHTML):
81969         * html/HTMLTreeBuilder.cpp:
81970         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
81971
81972 2010-08-10  Yoshiki Hayashi  <yhayashi@google.com>
81973
81974         Reviewed by Kent Tamura.
81975
81976         Iterate over :first-letter so that it will be included in innerText.
81977         https://bugs.webkit.org/show_bug.cgi?id=39863
81978
81979         Test: fast/dom/inner-text-first-letter.html
81980
81981         * editing/TextIterator.cpp:
81982         (WebCore::TextIterator::TextIterator):
81983         (WebCore::TextIterator::advance):
81984         (WebCore::TextIterator::handleTextNode):
81985         (WebCore::TextIterator::handleTextBox):
81986         (WebCore::TextIterator::emitText):
81987         * editing/TextIterator.h:
81988
81989 2010-08-10  Kent Tamura  <tkent@chromium.org>
81990
81991         Reviewed by Darin Adler.
81992
81993         Fix crashes by SelectionController::modify().
81994         https://bugs.webkit.org/show_bug.cgi?id=43032
81995
81996         Test: editing/selection/selection-modify-crash.html
81997
81998         * editing/visible_units.cpp:
81999         (WebCore::endOfDocument): Add NULL-check for document()->documentElement().
82000
82001 2010-08-10  Dirk Schulze  <krit@webkit.org>
82002
82003         Reviewed by Nikolas Zimmermann.
82004
82005         Add missing SVGPathSegList source for SVGPathParser
82006         https://bugs.webkit.org/show_bug.cgi?id=43691
82007
82008         Added SVGPathSegListSource to parse normalized or unaltered SVGPathSegLists and transform
82009         them to either a SVG path string, or a SVGPathByteStream. This will be needed to synchronize
82010         all SVGPathSegLists and the SVG path string of the 'd' attribute.
82011         Refactored SVGPathSource code, to read concrete path segments instead of type/flag/coordinates
82012         from the data sources. This is a further abstraction and seperates the reading of content from
82013         the parsing and interpreting.
82014
82015         Doesn't affect any tests.
82016
82017         * Android.mk:
82018         * CMakeLists.txt:
82019         * GNUmakefile.am:
82020         * WebCore.gypi:
82021         * WebCore.pro:
82022         * WebCore.vcproj/WebCore.vcproj:
82023         * WebCore.xcodeproj/project.pbxproj:
82024         * svg/SVGAllInOne.cpp:
82025         * svg/SVGPathByteStreamSource.cpp:
82026         (WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
82027         (WebCore::SVGPathByteStreamSource::nextCommand):
82028         (WebCore::SVGPathByteStreamSource::parseMoveToSegment):
82029         (WebCore::SVGPathByteStreamSource::parseLineToSegment):
82030         (WebCore::SVGPathByteStreamSource::parseLineToHorizontalSegment):
82031         (WebCore::SVGPathByteStreamSource::parseLineToVerticalSegment):
82032         (WebCore::SVGPathByteStreamSource::parseCurveToCubicSegment):
82033         (WebCore::SVGPathByteStreamSource::parseCurveToCubicSmoothSegment):
82034         (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSegment):
82035         (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSmoothSegment):
82036         (WebCore::SVGPathByteStreamSource::parseArcToSegment):
82037         * svg/SVGPathByteStreamSource.h:
82038         (WebCore::SVGPathByteStreamSource::moveToNextToken):
82039         * svg/SVGPathParser.cpp:
82040         (WebCore::SVGPathParser::parseMoveToSegment):
82041         (WebCore::SVGPathParser::parseLineToSegment):
82042         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
82043         (WebCore::SVGPathParser::parseLineToVerticalSegment):
82044         (WebCore::SVGPathParser::parseCurveToCubicSegment):
82045         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
82046         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
82047         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
82048         (WebCore::SVGPathParser::parseArcToSegment):
82049         * svg/SVGPathSegListSource.cpp: Added.
82050         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
82051         (WebCore::SVGPathSegListSource::~SVGPathSegListSource):
82052         (WebCore::SVGPathSegListSource::hasMoreData):
82053         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
82054         (WebCore::SVGPathSegListSource::nextCommand):
82055         (WebCore::SVGPathSegListSource::parseMoveToSegment):
82056         (WebCore::SVGPathSegListSource::parseLineToSegment):
82057         (WebCore::SVGPathSegListSource::parseLineToHorizontalSegment):
82058         (WebCore::SVGPathSegListSource::parseLineToVerticalSegment):
82059         (WebCore::SVGPathSegListSource::parseCurveToCubicSegment):
82060         (WebCore::SVGPathSegListSource::parseCurveToCubicSmoothSegment):
82061         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSegment):
82062         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
82063         (WebCore::SVGPathSegListSource::parseArcToSegment):
82064         * svg/SVGPathSegListSource.h: Added.
82065         (WebCore::SVGPathSegListSource::create):
82066         (WebCore::SVGPathSegListSource::moveToNextToken):
82067         * svg/SVGPathSource.h:
82068         * svg/SVGPathStringSource.cpp:
82069         (WebCore::SVGPathStringSource::parseMoveToSegment):
82070         (WebCore::SVGPathStringSource::parseLineToSegment):
82071         (WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
82072         (WebCore::SVGPathStringSource::parseLineToVerticalSegment):
82073         (WebCore::SVGPathStringSource::parseCurveToCubicSegment):
82074         (WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
82075         (WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
82076         (WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
82077         (WebCore::SVGPathStringSource::parseArcToSegment):
82078         * svg/SVGPathStringSource.h:
82079
82080 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
82081
82082         Reviewed by Yury Semikhatsky.
82083
82084         Web Inspector: small refactoring for CodeGeneratorInspector.
82085         A number of push calls were replaced by embedded text.
82086         Just for improve code readability.
82087         https://bugs.webkit.org/show_bug.cgi?id=43770
82088
82089         * inspector/CodeGeneratorInspector.pm:
82090
82091 2010-08-09  Eric Seidel  <eric@webkit.org>
82092
82093         Reviewed by Adam Barth.
82094
82095         Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
82096         https://bugs.webkit.org/show_bug.cgi?id=43762
82097
82098         In fixing the insertAdjacentHTML I had to make small changes to
82099         the error logic, which ended up bringing us closer to HTML5.
82100
82101         Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html
82102
82103         * html/HTMLConstructionSite.cpp:
82104         (WebCore::HTMLConstructionSite::attach):
82105          - This ASSERT was just wrong, the child should not be attached
82106            in the case the parent is not attached.
82107         * html/HTMLElement.cpp:
82108         (WebCore::contextElementForInsertion):
82109          - This is part of HTML5, needed to know what to call the
82110            HTML or XML parsers with.  The previous code always passed
82111            "this" which is wrong in the case of beforeBegin or afterEnd insertion.
82112         (WebCore::HTMLElement::insertAdjacentHTML):
82113          - Use the right contextElement now that we know how to compute it.
82114         * html/HTMLTreeBuilder.cpp:
82115         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
82116          - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.
82117
82118 2010-08-09  Yury Semikhatsky  <yurys@chromium.org>
82119
82120         Reviewed by Pavel Feldman.
82121
82122         Web Inspector: remove InspectorFrontend class and use RemoteInspectorFrontend instead.
82123         https://bugs.webkit.org/show_bug.cgi?id=43726
82124
82125         * CMakeLists.txt:
82126         * GNUmakefile.am:
82127         * WebCore.gypi:
82128         * WebCore.pro:
82129         * WebCore.vcproj/WebCore.vcproj:
82130         * WebCore.xcodeproj/project.pbxproj:
82131         * inspector/InspectorController.cpp:
82132         (WebCore::InspectorController::connectFrontend):
82133         (WebCore::InspectorController::close):
82134         (WebCore::InspectorController::disconnectFrontend):
82135         * inspector/InspectorController.h:
82136         * inspector/InspectorFrontend.cpp: Removed.
82137         * inspector/InspectorFrontend.h: Removed.
82138
82139 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
82140
82141         Reviewed by Pavel Feldman.
82142
82143         Web Inspector: Remove obsolete JS wrappers for did* methods.
82144         https://bugs.webkit.org/show_bug.cgi?id=43738
82145
82146         * inspector/CodeGeneratorInspector.pm:
82147         * inspector/Inspector.idl:
82148         * inspector/front-end/BreakpointManager.js:
82149         * inspector/front-end/Callback.js:
82150         * inspector/front-end/ConsoleView.js:
82151         * inspector/front-end/DOMAgent.js:
82152         * inspector/front-end/DOMStorage.js:
82153         * inspector/front-end/Database.js:
82154         * inspector/front-end/InjectedScriptAccess.js:
82155         * inspector/front-end/ProfilesPanel.js:
82156         * inspector/front-end/ResourcesPanel.js:
82157         * inspector/front-end/ScriptView.js:
82158         * inspector/front-end/ScriptsPanel.js:
82159         * inspector/front-end/inspector.js:
82160         (WebInspector.reportProtocolError):
82161
82162 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82163
82164         Qt build fix attempt VIII.
82165
82166         * dom/QualifiedName.cpp:
82167         (WebCore::QualifiedName::toString):
82168         * dom/XMLDocumentParserQt.cpp:
82169         (WebCore::handleElementNamespaces):
82170
82171 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82172
82173         Qt build fix attempt VII.
82174
82175         * dom/QualifiedName.cpp:
82176         (WebCore::QualifiedName::toString):
82177         * dom/XMLDocumentParserQt.cpp:
82178         (WebCore::handleElementNamespaces):
82179
82180 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82181
82182         Qt build fix attempt VI.
82183
82184         * dom/QualifiedName.cpp:
82185         (WebCore::QualifiedName::toString):
82186         * dom/XMLDocumentParserQt.cpp:
82187         (WebCore::handleElementNamespaces):
82188
82189 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82190
82191         Qt build fix attempt V.
82192
82193         * dom/QualifiedName.cpp:
82194         (WebCore::QualifiedName::toString):
82195         * dom/XMLDocumentParserQt.cpp:
82196         (WebCore::handleElementNamespaces):
82197
82198 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82199
82200         Qt build fix attempt IV.
82201
82202         * css/CSSSelector.cpp:
82203         (WebCore::CSSSelector::selectorText):
82204         * dom/QualifiedName.cpp:
82205         (WebCore::QualifiedName::toString):
82206         * dom/XMLDocumentParserQt.cpp:
82207         (WebCore::handleElementNamespaces):
82208
82209 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82210
82211         Speculative chromium build fix.
82212
82213         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
82214         (WebCore::charactersAreAllASCII):
82215
82216 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82217
82218         Qt build fix III.
82219
82220         * css/CSSSelector.cpp:
82221
82222 2010-08-09  Adam Barth  <abarth@webkit.org>
82223
82224         Reviewed by Eric Seidel.
82225
82226         Remove error-prone external SegementedSubstring contructor
82227         https://bugs.webkit.org/show_bug.cgi?id=43752
82228
82229         There's a lot of code that assumes that SegmentedString takes ownership
82230         of its substrings.  For example, when the HTML parser pauses and
82231         resumes asynchronously, it could explode if SegmentedString didn't own
82232         its substrings.
82233
82234         Prior to this patch, there was a constructor that let
82235         SegmentedSubstring use an external string buffer.  It turns out it was
82236         only used in a handful of places, but I'd rather pay the memcpy of
82237         these small strings than risk having them used after free.
82238
82239         * bindings/js/JSHTMLDocumentCustom.cpp:
82240         (WebCore::documentWrite):
82241         * html/LegacyHTMLDocumentParser.cpp:
82242         (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
82243         (WebCore::LegacyHTMLDocumentParser::scriptHandler):
82244         (WebCore::LegacyHTMLDocumentParser::parseComment):
82245         * platform/text/SegmentedString.h:
82246         (WebCore::SegmentedString::SegmentedString):
82247
82248 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82249
82250         Speculative Qt build fix.
82251
82252         * css/CSSSelector.cpp:
82253
82254 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
82255
82256         Speculative gtk build fix.
82257
82258         * plugins/gtk/PluginViewGtk.cpp:
82259         (WebCore::PluginView::handlePostReadFile):
82260
82261 2010-08-06  Gavin Barraclough  <barraclough@apple.com>
82262
82263         Rubber stamped by Sam Weinig
82264
82265         Bug 43594 - Add string forwards to Forward.h
82266         This allows us to remove forward declarations for these classes from
82267         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
82268
82269         * WebCore.xcodeproj/project.pbxproj:
82270         * accessibility/AXObjectCache.h:
82271         * accessibility/AccessibilityARIAGrid.h:
82272         * accessibility/AccessibilityListBoxOption.h:
82273         * accessibility/AccessibilityObject.h:
82274         * accessibility/AccessibilityRenderObject.h:
82275         * accessibility/AccessibilityTable.h:
82276         * bindings/cpp/WebDOMCString.h:
82277         * bindings/cpp/WebDOMString.h:
82278         * bindings/gobject/ConvertToUTF8String.h:
82279         * bindings/js/DOMWrapperWorld.h:
82280         * bindings/js/JSDOMBinding.h:
82281         * bindings/js/JSDOMWindowBase.h:
82282         * bindings/js/JSMessagePortCustom.h:
82283         * bindings/js/JavaScriptCallFrame.h:
82284         * bindings/js/ScriptController.h:
82285         * bindings/js/ScriptProfile.h:
82286         * bindings/js/ScriptSourceProvider.h:
82287         * bindings/js/ScriptString.h:
82288         * bindings/js/WorkerScriptController.h:
82289         * bindings/objc/DOMImplementationFront.h:
82290         * bindings/v8/ScheduledAction.h:
82291         * bindings/v8/ScriptController.h:
82292         * bindings/v8/V8DOMWindowShell.h:
82293         * bindings/v8/V8Proxy.h:
82294         * bindings/v8/V8Utilities.h:
82295         * bindings/v8/custom/V8CustomXPathNSResolver.h:
82296         * bridge/c/c_utility.h:
82297         * css/CSSFontSelector.h:
82298         * css/CSSHelper.h:
82299         * css/CSSOMUtils.h:
82300         * css/CSSPrimitiveValue.h:
82301         * css/MediaList.h:
82302         * css/StyleBase.h:
82303         * css/StyleSheetList.h:
82304         * css/WebKitCSSKeyframesRule.h:
82305         * dom/CheckedRadioButtons.h:
82306         * dom/DOMImplementation.h:
82307         * dom/DocumentMarker.h:
82308         * dom/DynamicNodeList.h:
82309         * dom/EventTarget.h:
82310         * dom/MessagePort.h:
82311         * dom/MessagePortChannel.h:
82312         * dom/NameNodeList.h:
82313         * dom/Node.h:
82314         * dom/NodeList.h:
82315         * dom/OptionGroupElement.h:
82316         * dom/ScriptExecutionContext.h:
82317         * dom/SelectElement.h:
82318         * dom/ViewportArguments.h:
82319         * dom/make_names.pl:
82320         * editing/HTMLInterchange.h:
82321         * editing/htmlediting.h:
82322         * editing/markup.h:
82323         * html/CollectionCache.h:
82324         * html/DOMFormData.h:
82325         * html/DataGridColumnList.h:
82326         * html/DateComponents.h:
82327         * html/FileStream.h:
82328         * html/FileStreamProxy.h:
82329         * html/FormDataList.h:
82330         (WebCore::FormDataList::appendData):
82331         * html/HTMLCollection.h:
82332         * html/HTMLElementStack.h:
82333         * html/HTMLFormattingElementList.h:
82334         * html/HTMLParserQuirks.h:
82335         * html/HTMLQuoteElement.h:
82336         * html/HTMLScriptRunnerHost.h:
82337         * html/StepRange.h:
82338         * html/canvas/CanvasGradient.h:
82339         * html/canvas/CanvasNumberArray.h:
82340         * html/canvas/CanvasPattern.h:
82341         * inspector/InjectedScript.h:
82342         * inspector/InspectorCSSStore.h:
82343         * inspector/InspectorClient.h:
82344         * inspector/InspectorFrontendClient.h:
82345         * inspector/InspectorValues.h:
82346         * inspector/ScriptDebugListener.h:
82347         * loader/CachedResourceClient.h:
82348         * loader/CrossOriginAccessControl.h:
82349         * loader/DocumentThreadableLoader.h:
82350         * loader/FrameLoaderClient.h:
82351         * loader/RedirectScheduler.h:
82352         * loader/SubframeLoader.h:
82353         * loader/appcache/DOMApplicationCache.h:
82354         * loader/archive/ArchiveFactory.h:
82355         * loader/icon/IconDatabaseClient.h:
82356         * notifications/NotificationPresenter.h:
82357         * page/Chrome.h:
82358         * page/ChromeClient.h:
82359         * page/Console.h:
82360         * page/ContextMenuClient.h:
82361         * page/DOMSelection.h:
82362         * page/EditorClient.h:
82363         * page/EventHandler.h:
82364         * page/FrameView.h:
82365         * page/GeolocationPositionCache.h:
82366         * page/History.h:
82367         * page/Location.h:
82368         * page/Navigator.h:
82369         * page/NavigatorBase.h:
82370         * page/PluginHalterClient.h:
82371         * page/PrintContext.h:
82372         * page/SpeechInput.h:
82373         * page/SpeechInputListener.h:
82374         * page/animation/AnimationController.h:
82375         * platform/CookieJar.h:
82376         * platform/CrossThreadCopier.h:
82377         * platform/DragImage.h:
82378         * platform/FileSystem.h:
82379         * platform/Language.h:
82380         * platform/Length.h:
82381         * platform/LinkHash.h:
82382         * platform/LocalizationStrategy.h:
82383         * platform/LocalizedStrings.h:
82384         * platform/Logging.h:
82385         * platform/Pasteboard.h:
82386         * platform/PopupMenuClient.h:
82387         * platform/SearchPopupMenu.h:
82388         * platform/Widget.h:
82389         * platform/cf/BinaryPropertyList.h:
82390         * platform/chromium/ChromiumBridge.h:
82391         * platform/chromium/ClipboardUtilitiesChromium.h:
82392         * platform/cocoa/KeyEventCocoa.h:
82393         * platform/graphics/Color.h:
82394         * platform/graphics/FontCache.h:
82395         * platform/graphics/FontData.h:
82396         * platform/graphics/FontSelector.h:
82397         * platform/graphics/GraphicsTypes.h:
82398         * platform/graphics/Icon.h:
82399         * platform/graphics/ImageBuffer.h:
82400         * platform/graphics/ImageSource.h:
82401         * platform/graphics/MediaPlayer.h:
82402         * platform/graphics/MediaPlayerPrivate.h:
82403         * platform/graphics/Path.h:
82404         * platform/graphics/StringTruncator.h:
82405         * platform/graphics/cairo/FontCustomPlatformData.h:
82406         * platform/graphics/cairo/FontPlatformData.h:
82407         * platform/graphics/cg/FontPlatformData.h:
82408         * platform/graphics/cg/ImageSourceCG.h:
82409         * platform/graphics/chromium/FontCustomPlatformData.h:
82410         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
82411         * platform/graphics/chromium/FontPlatformDataLinux.h:
82412         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
82413         * platform/graphics/haiku/FontCustomPlatformData.h:
82414         * platform/graphics/mac/FontCustomPlatformData.h:
82415         * platform/graphics/mac/FontPlatformData.h:
82416         * platform/graphics/qt/FontCustomPlatformData.h:
82417         * platform/graphics/qt/FontPlatformData.h:
82418         * platform/graphics/win/FontCustomPlatformData.h:
82419         * platform/graphics/win/FontCustomPlatformDataCairo.h:
82420         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
82421         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
82422         * platform/graphics/wince/FontPlatformData.h:
82423         * platform/graphics/wince/MediaPlayerPrivateWince.h:
82424         * platform/graphics/wince/MediaPlayerProxy.h:
82425         * platform/graphics/wx/FontCustomPlatformData.h:
82426         * platform/graphics/wx/FontPlatformData.h:
82427         * platform/mac/PasteboardHelper.h:
82428         * platform/network/DNS.h:
82429         * platform/network/FormData.h:
82430         * platform/network/FormDataBuilder.h:
82431         * platform/network/HTTPParsers.h:
82432         * platform/text/Hyphenation.h:
82433         * platform/text/LineEnding.h:
82434         * platform/text/TextCodec.h:
82435         * platform/text/TextEncoding.h:
82436         * platform/text/TextStream.h:
82437         * platform/win/BString.h:
82438         * platform/win/ClipboardUtilitiesWin.h:
82439         * platform/win/WCDataObject.h:
82440         * platform/win/WebCoreTextRenderer.h:
82441         * plugins/DOMMimeType.h:
82442         * plugins/DOMMimeTypeArray.h:
82443         * plugins/DOMPlugin.h:
82444         * plugins/DOMPluginArray.h:
82445         * rendering/CounterNode.h:
82446         * rendering/HitTestResult.h:
82447         * rendering/RenderObjectChildList.h:
82448         * rendering/RenderText.h:
82449         * rendering/RenderTreeAsText.h:
82450         * rendering/TextControlInnerElements.h:
82451         * rendering/style/ContentData.h:
82452         * rendering/style/RenderStyle.h:
82453         * storage/DatabaseAuthorizer.h:
82454         * storage/DatabaseTrackerClient.h:
82455         * storage/SQLTransaction.h:
82456         * storage/SQLTransactionSync.h:
82457         * storage/Storage.h:
82458         * storage/chromium/DatabaseObserver.h:
82459         * svg/SVGAnimatedTemplate.h:
82460         * svg/SVGDocumentExtensions.h:
82461         * svg/SVGGlyphElement.h:
82462         * svg/SVGHKernElement.h:
82463         * svg/SVGNumberList.h:
82464         * svg/SVGPointList.h:
82465         * svg/SVGPreserveAspectRatio.h:
82466         * svg/SVGStylable.h:
82467         * svg/SVGTests.h:
82468         * svg/SVGTransformList.h:
82469         * svg/SVGTransformable.h:
82470         * svg/SVGVKernElement.h:
82471         * websockets/ThreadableWebSocketChannel.h:
82472         * websockets/ThreadableWebSocketChannelClientWrapper.h:
82473         * websockets/WebSocket.h:
82474         * websockets/WebSocketChannel.h:
82475         * websockets/WebSocketHandshakeResponse.h:
82476         * wml/WMLErrorHandling.h:
82477         * wml/WMLPageState.h:
82478         * wml/WMLVariables.h:
82479         * workers/DefaultSharedWorkerRepository.h:
82480         * workers/SharedWorkerRepository.h:
82481         * workers/Worker.h:
82482         * workers/WorkerContextProxy.h:
82483         * workers/WorkerLoaderProxy.h:
82484         * workers/WorkerLocation.h:
82485         * workers/WorkerMessagingProxy.h:
82486         * workers/WorkerReportingProxy.h:
82487         * workers/WorkerThread.h:
82488         * xml/DOMParser.h:
82489         * xml/XMLHttpRequestUpload.h:
82490         * xml/XPathEvaluator.h:
82491         * xml/XPathExpression.h:
82492         * xml/XPathNSResolver.h:
82493         * xml/XPathResult.h:
82494         * xml/XPathUtil.h:
82495
82496 2010-08-09  Nat Duca  <nduca@chromium.org>
82497
82498         Reviewed by Dimitri Glazkov.
82499
82500         [chromium] Blue line visible at the right hand side of the window with accelerated compositor
82501         https://bugs.webkit.org/show_bug.cgi?id=43748
82502
82503         Correct the ortho projection matrix for the root layer, which was
82504         too large by 0.5px in both width and height. For even view sizes,
82505         this would cause the viewport to appear 1 pixel too small.
82506
82507         Fixing this requires removal of several 0.5 correction factors
82508         that were previously added to compensate for the too-large viewport.
82509
82510         Finally, compute the translation for the root layer quad using
82511         floating point rather than integer arithmetic. This avoids us losing
82512         a key half-pixel of translation when the width of the window is odd.
82513
82514         To test, size window to even/odd dimensions. No blue line should be visible.
82515
82516         * platform/graphics/chromium/LayerRendererChromium.cpp:
82517         (WebCore::LayerRendererChromium::drawLayers):
82518
82519 2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
82520
82521         Reviewed by Justin Garcia.
82522
82523         fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle should be removed
82524         https://bugs.webkit.org/show_bug.cgi?id=43465
82525
82526         Removed fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle
82527         because StyleChange's applyFontColor, applyFontFace, and applyFontSize all return false
82528         if there was no difference between the new font color, font size, font face and that of the computed style.
82529
82530         Also added a work-around for the bug 28282 in getPropertiesNotInComputedStyle with a test so that
82531         the above change will not add a redundant font or span element.
82532
82533         Test: editing/style/fore-color-by-name.html
82534
82535         * editing/ApplyStyleCommand.cpp:
82536         (WebCore::getRGBAFontColor): Added.
82537         (WebCore::StyleChange::extractTextStyles): Calls getRGBAFontColor.
82538         (WebCore::getPropertiesNotInComputedStyle): Removes color property manually by checking the RGBA values.
82539         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): See above.
82540
82541 2010-08-09  Kenneth Russell  <kbr@google.com>
82542
82543         Reviewed by David Levin.
82544
82545         Fix compilation of VideoLayerChromium on Mac OS X with compositor
82546         https://bugs.webkit.org/show_bug.cgi?id=43757
82547
82548         No new tests; build fix only (associated functionality not implemented yet).
82549
82550         * platform/graphics/chromium/VideoLayerChromium.cpp:
82551         (WebCore::VideoLayerChromium::VideoLayerChromium):
82552         (WebCore::VideoLayerChromium::updateTextureContents):
82553         (WebCore::VideoLayerChromium::createTextureRect):
82554         (WebCore::VideoLayerChromium::updateTextureRect):
82555         * platform/graphics/chromium/VideoLayerChromium.h:
82556
82557 2010-08-09  Ariya Hidayat  <ariya@sencha.com>
82558
82559         Reviewed by Kenneth Rohde Christiansen.
82560
82561         [Qt] Need to implement GraphicsContextQt::clipConvexPolygon()
82562         https://bugs.webkit.org/show_bug.cgi?id=41310
82563
82564         Based on the prototype code by Simon Hausmann.
82565
82566         * platform/graphics/qt/GraphicsContextQt.cpp:
82567         (WebCore::GraphicsContext::clipConvexPolygon):
82568         * rendering/RenderObject.h:
82569
82570 2010-08-09  Chris Fleizach  <cfleizach@apple.com>
82571
82572         Reviewed by David Kilzer.
82573
82574         AX: Placeholder value for text fields not exposed like it should be
82575         https://bugs.webkit.org/show_bug.cgi?id=43598
82576
82577         * accessibility/AccessibilityObject.cpp:
82578         (WebCore::AccessibilityObject::placeholderValue):
82579         * accessibility/AccessibilityObject.h:
82580         * accessibility/AccessibilityRenderObject.cpp:
82581         (WebCore::AccessibilityRenderObject::title):
82582         * accessibility/mac/AccessibilityObjectWrapper.mm:
82583         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
82584         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
82585
82586 2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
82587
82588         Reviewed by Justin Garcia.
82589
82590         Undo fails in RemoveCSSPropertyCommand when the corresponding style attribute is removed
82591         https://bugs.webkit.org/show_bug.cgi?id=43639
82592
82593         The bug was caused when RemoveCSSPropertyCommand is called with CSSMutableStyleDeclaration of some styled element,
82594         and the style attribute of the element is removed subsequently. When the attribute removal is undone, new instance of
82595         CSSMutableStyleDeclaration is created and RemoveCSSPropertyCommand's m_style became detached from the element.
82596
82597         Modified RemoveCSSPropertyCommand to store the styled element directly instead of its CSSMutableStyleDeclaration.
82598
82599         Test: editing/undo/remove-css-property-and-remove-style.html
82600
82601         * WebCore.order:
82602         * editing/ApplyStyleCommand.cpp:
82603         (WebCore::ApplyStyleCommand::removeCSSStyle): Calls removeCSSProperty.
82604         (WebCore::ApplyStyleCommand::extractTextDecorationStyle): Calls removeCSSProperty.
82605         * editing/CompositeEditCommand.cpp:
82606         (WebCore::CompositeEditCommand::removeCSSProperty): Takes StyledElement instead of CSSMutableStyleDeclaration.
82607         * editing/CompositeEditCommand.h:
82608         * editing/RemoveCSSPropertyCommand.cpp:
82609         (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Takes StyledElement instead of CSSMutableStyleDeclaration.
82610         (WebCore::RemoveCSSPropertyCommand::doApply): See above.
82611         (WebCore::RemoveCSSPropertyCommand::doUnapply): See above.
82612         * editing/RemoveCSSPropertyCommand.h:
82613         (WebCore::RemoveCSSPropertyCommand::create): See above.
82614
82615 2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
82616
82617         Reviewed by Tony Chang.
82618
82619         Use getIdentifierValue to obtain direction and unicode-bidi properties in ApplyStyleCommand
82620         https://bugs.webkit.org/show_bug.cgi?id=43699
82621
82622         Deployed getIdentifierValue in various parts of ApplyStyleCommand where
82623         direction and unicode-bidi properties were obtained manually.
82624
82625         No new tests since this is a cleanup.
82626
82627         * editing/ApplyStyleCommand.cpp:
82628         (WebCore::getIdentifierValue): Takes CSSStyleDeclaration instead of CSSMutableStyleDeclaration.
82629         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Calls getIdentifierValue.
82630         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Calls getIdentifierValue.
82631         (WebCore::ApplyStyleCommand::applyInlineStyle): Calls getIdentifierValue.
82632         * editing/ApplyStyleCommand.h:
82633
82634 2010-08-09  Adam Barth  <abarth@webkit.org>
82635
82636         Reviewed by Eric Seidel.
82637
82638         Remove trailing whitespace in HTMLViewSourceDocument.cpp
82639         https://bugs.webkit.org/show_bug.cgi?id=43741
82640
82641         No behavior change.  The whitespace was distracting me while porting
82642         this class to the new parser.
82643
82644         * html/HTMLViewSourceDocument.cpp:
82645         (WebCore::HTMLViewSourceDocument::createContainingTable):
82646         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
82647         (WebCore::HTMLViewSourceDocument::addLine):
82648         (WebCore::HTMLViewSourceDocument::addText):
82649         (WebCore::HTMLViewSourceDocument::addLink):
82650
82651 2010-08-09  Eric Seidel  <eric@webkit.org>
82652
82653         Reviewed by Adam Barth.
82654
82655         Use the HTML5 TreeBuilder for Fragment Parsing
82656         https://bugs.webkit.org/show_bug.cgi?id=43586
82657
82658         The bulk of this change is just a transcription of the HTML5 spec:
82659         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#fragment-case
82660
82661         DocumentParser() now sets the right tokenizer state before handling
82662         fragments.  Since default code path uses the HTML5 tokenizer with the
82663         legacy tree builder, this fixes 2 tokenizer-state tests for the html5lib.
82664         This fixes 2 more tree-builder tests when the html5 treebuilder is enabled too.
82665
82666         * dom/DocumentFragment.cpp:
82667         (WebCore::DocumentFragment::parseHTML):
82668          - HTML5 implementation of fragment parsing requires the context element (parent)
82669            pointer.  The legacy implementation handles all parsing branches which require
82670            the context element outside of the parser itself, which likely produces "wrong"
82671            results.  We'll remove those branches when we turn on the HMTL5 fragment parser.
82672         (WebCore::DocumentFragment::parseXML):
82673          - Rename "parent" to "contextElement" to match the HTML path (and the HTML5 spec).
82674         * dom/DocumentFragment.h:
82675         * dom/Element.cpp:
82676         (WebCore::Element::createContextualFragment):
82677          - Pass the contextElement (this).
82678         * html/HTMLConstructionSite.cpp:
82679         (WebCore::HTMLConstructionSite::setForm):
82680          - Needed by for the fragment case.
82681         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
82682          - I'm not sure this method should exist, it only has one caller.
82683            but for now, I've moved the fragment case FIXME out to the
82684            one caller and implemented it.
82685         * html/HTMLConstructionSite.h:
82686         * html/HTMLDocumentParser.cpp:
82687         (WebCore::HTMLNames::tokenizerStateForContextElement):
82688          - Part of the fragment case handling for the HTML5 parser.
82689         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
82690          - Set the Tokenizer state based on the contextElement.
82691         (WebCore::HTMLDocumentParser::parseDocumentFragment):
82692          - Take a contextElement argument.
82693         * html/HTMLDocumentParser.h:
82694         * html/HTMLElement.cpp:
82695         (WebCore::HTMLElement::setInnerHTML):
82696          - Added a FIXME before the branches the old parser used to avoid ever needing
82697            to pass a context element when parsing HTML fragments.
82698         (WebCore::HTMLElement::insertAdjacentHTML):
82699          - Pass the context element.
82700         * html/HTMLTokenizer.h:
82701         * html/HTMLTreeBuilder.cpp:
82702          - I added a new helper class FragmentParsingContext to simplify the two
82703            HTMLTreeBuilder constructors and hide the existence of m_dummyDocumentForFragmentParse.
82704          - I also removed m_isParsingFragment and replaced it with an isParsingFragment() function.
82705         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
82706         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
82707         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
82708         (WebCore::HTMLTreeBuilder::FragmentParsingContext::~FragmentParsingContext):
82709         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
82710         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
82711          - I had to implement two notImplemented() states in order to get most of the
82712            layout tests to pass when using the HTML5 parser fragment case.
82713         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
82714         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
82715         (WebCore::HTMLTreeBuilder::processStartTag):
82716         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
82717         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
82718         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
82719         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
82720         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
82721         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
82722         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
82723         (WebCore::HTMLTreeBuilder::processEndTag):
82724         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
82725         (WebCore::HTMLTreeBuilder::processEndOfFile):
82726         (WebCore::HTMLTreeBuilder::finished):
82727          - The HTML5 parsing algorithm fragment case uses a dummy document to handle all the parsing
82728            and then moves all the children from the dummy document over into a DocumentFragment
82729            when the parse is done.  We could avoid this adopt step by making the TreeBuilder a bit
82730            more complicated, but I'm not sure that's necessary (yet).
82731         * html/HTMLTreeBuilder.h:
82732         (WebCore::HTMLTreeBuilder::isParsingFragment):
82733         (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment):
82734         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
82735         (WebCore::HTMLTreeBuilder::FragmentParsingContext::scriptingPermission):
82736         * xml/XSLTProcessor.cpp:
82737         (WebCore::createFragmentFromSource):
82738
82739 2010-08-09  Dumitru Daniliuc  <dumi@chromium.org>
82740
82741         Reviewed by Adam Barth.
82742
82743         Auto-generate most HTML5 DB bindings.
82744         https://bugs.webkit.org/show_bug.cgi?id=43382
82745
82746         * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
82747         and the custom implementations of openDatabase{Sync}().
82748         * Android.v8bindings.mk:
82749         * CMakeLists.txt:
82750         * GNUmakefile.am:
82751         * WebCore.gypi:
82752         * WebCore.pro:
82753         * WebCore.vcproj/WebCore.vcproj:
82754         * WebCore.xcodeproj/project.pbxproj:
82755         * bindings/js/JSBindingsAllInOne.cpp:
82756         * bindings/js/JSDOMWindowCustom.cpp:
82757         * bindings/js/JSDatabaseCustom.cpp: Removed.
82758         * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
82759         * bindings/js/JSWorkerContextCustom.cpp:
82760         * bindings/v8/custom/V8DOMWindowCustom.cpp:
82761         * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
82762         * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
82763         * bindings/v8/custom/V8WorkerContextCustom.cpp:
82764
82765         * bindings/scripts/CodeGeneratorGObject.pm: Change the code generators
82766         to check that each value can be converted to the respective
82767         argument type.
82768         * bindings/scripts/CodeGeneratorJS.pm:
82769         * bindings/scripts/CodeGeneratorV8.pm:
82770         * bindings/scripts/test/JS/JSTestCallback.cpp:
82771         (WebCore::JSTestCallback::~JSTestCallback):
82772         * bindings/scripts/test/JS/JSTestObj.cpp:
82773         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
82774         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
82775         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
82776         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
82777         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
82778         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
82779         (WebCore::jsTestObjPrototypeFunctionIdbKey):
82780         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
82781         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
82782         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
82783         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
82784         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
82785         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
82786         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
82787         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
82788         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
82789         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
82790         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
82791         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
82792         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
82793         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
82794         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
82795         * bindings/scripts/test/V8/V8TestObj.cpp:
82796         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
82797         (WebCore::TestObjInternal::intMethodWithArgsCallback):
82798         (WebCore::TestObjInternal::objMethodWithArgsCallback):
82799         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
82800         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
82801         (WebCore::TestObjInternal::idbKeyCallback):
82802         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
82803         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
82804         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
82805         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
82806         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
82807         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
82808         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
82809         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
82810         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
82811         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
82812         (WebCore::TestObjInternal::overloadedMethod1Callback):
82813         (WebCore::TestObjInternal::overloadedMethod2Callback):
82814         (WebCore::TestObjInternal::overloadedMethod3Callback):
82815         (WebCore::TestObjInternal::overloadedMethod4Callback):
82816         (WebCore::):
82817         (WebCore::ConfigureV8TestObjTemplate):
82818         * bindings/v8/custom/V8BindingMacros.h:
82819
82820         * bindings/v8/V8Binding.h: Minor changes required to support the
82821         auto-generated bindings.
82822         (WebCore::V8Parameter::V8Parameter):
82823         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
82824         (WebCore::V8SQLTransaction::executeSqlCallback):
82825         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
82826         (WebCore::V8SQLTransactionSync::executeSqlCallback):
82827         * page/DOMWindow.idl:
82828         * storage/Database.cpp:
82829         (WebCore::Database::transaction):
82830         (WebCore::Database::readTransaction):
82831         (WebCore::Database::runTransaction):
82832         * storage/Database.h:
82833         * storage/Database.idl:
82834         * storage/DatabaseSync.cpp:
82835         (WebCore::DatabaseSync::transaction):
82836         (WebCore::DatabaseSync::readTransaction):
82837         (WebCore::DatabaseSync::runTransaction):
82838         * storage/DatabaseSync.h:
82839         * storage/DatabaseSync.idl:
82840         * workers/WorkerContext.idl:
82841
82842 2010-08-09  Adam Barth  <abarth@webkit.org>
82843
82844         Reviewed by Eric Seidel.
82845
82846         Move HTMLViewSourceDocument from legacyParserAddChild to parserAddChild
82847         https://bugs.webkit.org/show_bug.cgi?id=43740
82848
82849         This removes the DTD checks, which aren't needed for view source
82850         documents.
82851
82852         * html/HTMLViewSourceDocument.cpp:
82853         (WebCore::HTMLViewSourceDocument::createContainingTable):
82854         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
82855         (WebCore::HTMLViewSourceDocument::addLine):
82856         (WebCore::HTMLViewSourceDocument::addText):
82857         (WebCore::HTMLViewSourceDocument::addLink):
82858
82859 2010-08-09  Dan Bernstein  <mitz@apple.com>
82860
82861         Reviewed by Simon Fraser.
82862
82863         Fixed an uninitialized member variable in the Color(CGColorRef) constructor.
82864
82865         * platform/graphics/cg/ColorCG.cpp:
82866         (WebCore::Color::Color): Initialize m_valid to true if the color is not 0.
82867
82868 2010-08-09  James Robinson  <jamesr@chromium.org>
82869
82870         Chromium compile fix, unreviewed.
82871
82872         * platform/graphics/skia/PlatformContextSkia.cpp:
82873         (WebCore::PlatformContextSkia::~PlatformContextSkia):
82874         (WebCore::PlatformContextSkia::setGraphicsContext3D):
82875
82876 2010-08-09  James Robinson  <jamesr@chromium.org>
82877
82878         Reviewed by Dimitri Glazkov.
82879
82880         [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
82881         https://bugs.webkit.org/show_bug.cgi?id=43656
82882
82883         When compositing an accelerated canvas that is using both hardware and software drawing,
82884         we need a callback before compositing the layer to make sure that we upload any software
82885         drawn results to the texture.  This will go away as soon as implement all draw calls
82886         in hardware.
82887
82888         To test, run any canvas demo that runs in mixed mode and verifies that the software results
82889         always show up.
82890
82891         * platform/graphics/chromium/CanvasLayerChromium.cpp:
82892         (WebCore::CanvasLayerChromium::updateTextureContents):
82893         * platform/graphics/chromium/CanvasLayerChromium.h:
82894         (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
82895         * platform/graphics/skia/PlatformContextSkia.cpp:
82896         (WebCore::PrepareTextureCallbackImpl::create):
82897         (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
82898         (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
82899         (WebCore::PlatformContextSkia::setGraphicsContext3D):
82900
82901 2010-08-09  Zhenyao Mo  <zmo@google.com>
82902
82903         Reviewed by David Levin.
82904
82905         sizeInBytes should be removed
82906         https://bugs.webkit.org/show_bug.cgi?id=43693
82907
82908         * html/canvas/WebGLRenderingContext.cpp:
82909         (WebCore::WebGLRenderingContext::sizeInBytes): Don't generate GL errors.  Generate them in the callers instead.
82910         (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate GL error if sizeInBytes fails.
82911         * html/canvas/WebGLRenderingContext.h: Make sizeInBytes private helper.
82912         * html/canvas/WebGLRenderingContext.idl: Remove sizeInBytes.
82913
82914 2010-08-09  Eric Carlson  <eric.carlson@apple.com>
82915
82916         Reviewed by Darin Adler.
82917
82918         https://bugs.webkit.org/show_bug.cgi?id=43702
82919         <video> element does not resize correctly
82920
82921         * html/HTMLMediaElement.cpp:
82922         (WebCore::HTMLMediaElement::setReadyState): RenderVideo::videoSizeChanged is gone, just use
82923         updateFromElement instead.
82924         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Ditto.
82925         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
82926
82927         * html/HTMLVideoElement.cpp:
82928         (WebCore::HTMLVideoElement::parseMappedAttribute): Clear the image loader and cached image when 
82929         the 'poster' attribute is changed and we aren't displaying a poster.
82930
82931         * rendering/RenderVideo.cpp:
82932         (WebCore::RenderVideo::RenderVideo):
82933         (WebCore::RenderVideo::intrinsicSizeChanged): videoSizeChanged -> updateIntrinsicSize.
82934         (WebCore::RenderVideo::updateIntrinsicSize): Renamed from videoSizeChanged, calculate initial 
82935         intrinsic size with calculateIntrinsicSize
82936         (WebCore::RenderVideo::calculateIntrinsicSize): New, calculate size according to current spec.
82937         (WebCore::RenderVideo::imageChanged): Reset intrinsic size to default when poster fails to load.
82938         (WebCore::RenderVideo::updatePlayer): Call updateIntrinsicSize.
82939         * rendering/RenderVideo.h: Renamed videoSizeChanged to updateIntrinsicSize and make private.
82940
82941 2010-08-09  Marcus Bulach  <bulach@chromium.org>
82942
82943         Reviewed by Jeremy Orlow.
82944
82945         Fixes custom JS bindings for IDBCursor after r64828.
82946         https://bugs.webkit.org/show_bug.cgi?id=43729
82947
82948         Build fix, no tests.
82949
82950         * WebCore.xcodeproj/project.pbxproj:
82951         * bindings/js/JSIDBAnyCustom.cpp:
82952         (WebCore::toJS):
82953         * storage/IDBObjectStore.h:
82954
82955 2010-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>
82956
82957         Unreviewed, rolling out r64993.
82958         http://trac.webkit.org/changeset/64993
82959         https://bugs.webkit.org/show_bug.cgi?id=43734
82960
82961         broke chromium compile (Requested by jamesr on #webkit).
82962
82963         * platform/graphics/chromium/CanvasLayerChromium.cpp:
82964         (WebCore::CanvasLayerChromium::updateTextureContents):
82965         * platform/graphics/chromium/CanvasLayerChromium.h:
82966         * platform/graphics/skia/PlatformContextSkia.cpp:
82967         (WebCore::PlatformContextSkia::~PlatformContextSkia):
82968         (WebCore::PlatformContextSkia::setGraphicsContext3D):
82969
82970 2010-08-09  James Robinson  <jamesr@chromium.org>
82971
82972         Reviewed by Dimitri Glazkov.
82973
82974         [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
82975         https://bugs.webkit.org/show_bug.cgi?id=43656
82976
82977         When compositing an accelerated canvas that is using both hardware and software drawing,
82978         we need a callback before compositing the layer to make sure that we upload any software
82979         drawn results to the texture.  This will go away as soon as implement all draw calls
82980         in hardware.
82981
82982         To test, run any canvas demo that runs in mixed mode and verifies that the software results
82983         always show up.
82984
82985         * platform/graphics/chromium/CanvasLayerChromium.cpp:
82986         (WebCore::CanvasLayerChromium::updateTextureContents):
82987         * platform/graphics/chromium/CanvasLayerChromium.h:
82988         (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
82989         * platform/graphics/skia/PlatformContextSkia.cpp:
82990         (WebCore::PrepareTextureCallbackImpl::create):
82991         (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
82992         (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
82993         (WebCore::PlatformContextSkia::setGraphicsContext3D):
82994
82995 2010-08-09  Dominic Cooney  <dominicc@google.com>
82996
82997         Reviewed by Adam Barth.
82998
82999         Moves window.open logic into the generic bindings.
83000
83001         This patch moves window.open logic from V8 into the generic
83002         bindings so it could be shared with JSC. JSC sharing is not in
83003         this patch. This patch is of the same flavor/intent as 33201.
83004
83005         https://bugs.webkit.org/show_bug.cgi?id=41392
83006
83007         * bindings/generic/BindingDOMWindow.h:
83008         (WebCore::::createWindow):
83009         (WebCore::::open):
83010         (WebCore::::completeURL):
83011         * bindings/generic/BindingSecurity.h:
83012         (WebCore::::allowPopUp):
83013         (WebCore::::shouldAllowNavigation):
83014         * bindings/v8/V8Binding.h:
83015         (WebCore::V8Binding::emptyScriptValue):
83016         * bindings/v8/V8Utilities.cpp:
83017         (WebCore::transferHiddenDependency):
83018         (WebCore::processingUserGesture):
83019         (WebCore::shouldAllowNavigation):
83020         (WebCore::completeURL):
83021         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
83022         * bindings/v8/custom/V8DOMWindowCustom.cpp:
83023         (WebCore::V8DOMWindow::showModalDialogCallback):
83024         (WebCore::V8DOMWindow::openCallback):
83025         * bindings/v8/specialization/V8BindingState.cpp:
83026         (WebCore::::getActiveFrame):
83027         (WebCore::::getFirstFrame):
83028         (WebCore::::processingUserGesture):
83029         * bindings/v8/specialization/V8BindingState.h:
83030         (WebCore::):
83031
83032 2010-08-09  Marcus Bulach  <bulach@chromium.org>
83033
83034         Reviewed by Darin Adler.
83035
83036         Fixes xcode project issues after r64828:
83037         https://bugs.webkit.org/show_bug.cgi?id=43638
83038
83039         Build fix, no tests (sort-Xcode-project-file should not throw any warnings).
83040
83041         * WebCore.xcodeproj/project.pbxproj: fixed IDBCursor and related IndexedDB files, and re-ran sort-Xcode-project-file.
83042
83043 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
83044
83045         Reviewed by Pavel Feldman.
83046
83047         Web Inspector: Remove callId argument from all backend agents' methods.
83048         https://bugs.webkit.org/show_bug.cgi?id=43723
83049
83050         * inspector/CodeGeneratorInspector.pm:
83051         * inspector/InspectorApplicationCacheAgent.cpp:
83052         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
83053         * inspector/InspectorApplicationCacheAgent.h:
83054         * inspector/InspectorBackend.cpp:
83055         (WebCore::InspectorBackend::getProfilerLogLines):
83056         (WebCore::InspectorBackend::clearConsoleMessages):
83057         (WebCore::InspectorBackend::getDatabaseTableNames):
83058         * inspector/InspectorBackend.h:
83059         * inspector/InspectorController.cpp:
83060         (WebCore::InspectorController::getCookies):
83061         (WebCore::InspectorController::getDOMStorageEntries):
83062         (WebCore::InspectorController::setDOMStorageItem):
83063         (WebCore::InspectorController::removeDOMStorageItem):
83064         (WebCore::InspectorController::getProfileHeaders):
83065         (WebCore::InspectorController::getProfile):
83066         (WebCore::InspectorController::getResourceContent):
83067         * inspector/InspectorController.h:
83068         * inspector/InspectorDOMAgent.cpp:
83069         (WebCore::InspectorDOMAgent::getChildNodes):
83070         (WebCore::InspectorDOMAgent::setAttribute):
83071         (WebCore::InspectorDOMAgent::removeAttribute):
83072         (WebCore::InspectorDOMAgent::removeNode):
83073         (WebCore::InspectorDOMAgent::changeTagName):
83074         (WebCore::InspectorDOMAgent::getOuterHTML):
83075         (WebCore::InspectorDOMAgent::setOuterHTML):
83076         (WebCore::InspectorDOMAgent::setTextNodeValue):
83077         (WebCore::InspectorDOMAgent::getEventListenersForNode):
83078         (WebCore::InspectorDOMAgent::getStyles):
83079         (WebCore::InspectorDOMAgent::getAllStyles):
83080         (WebCore::InspectorDOMAgent::getStyleSheet):
83081         (WebCore::InspectorDOMAgent::getRuleRanges):
83082         (WebCore::InspectorDOMAgent::getInlineStyle):
83083         (WebCore::InspectorDOMAgent::getComputedStyle):
83084         (WebCore::InspectorDOMAgent::applyStyleText):
83085         (WebCore::InspectorDOMAgent::setStyleText):
83086         (WebCore::InspectorDOMAgent::setStyleProperty):
83087         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
83088         (WebCore::InspectorDOMAgent::setRuleSelector):
83089         (WebCore::InspectorDOMAgent::addRule):
83090         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
83091         * inspector/InspectorDOMAgent.h:
83092         * inspector/InspectorDebuggerAgent.cpp:
83093         (WebCore::InspectorDebuggerAgent::setBreakpoint):
83094         (WebCore::InspectorDebuggerAgent::editScriptSource):
83095         (WebCore::InspectorDebuggerAgent::getScriptSource):
83096         * inspector/InspectorDebuggerAgent.h:
83097
83098 2010-08-09  François Sausset  <sausset@gmail.com>
83099
83100         Reviewed by Kenneth Rohde Christiansen.
83101
83102         Take into account style color to draw MathML mroot radical.
83103         https://bugs.webkit.org/show_bug.cgi?id=43628
83104
83105         Test: mathml/presentation/roots.xhtml
83106
83107         * mathml/RenderMathMLRoot.cpp:
83108         (WebCore::RenderMathMLRoot::paint):
83109
83110 2010-08-09  François Sausset  <sausset@gmail.com>
83111
83112         Reviewed by Kenneth Rohde Christiansen.
83113
83114         Implement MathML deprecated style attributes
83115         https://bugs.webkit.org/show_bug.cgi?id=43503
83116
83117         Test: mathml/presentation/attributes.xhtml
83118
83119         * mathml/MathMLElement.cpp:
83120         (WebCore::MathMLElement::mapToEntry):
83121         (WebCore::MathMLElement::parseMappedAttribute):
83122         * mathml/mathattrs.in:
83123
83124 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
83125
83126         Reviewed by Yury Semikhatsky.
83127
83128         Web Inspector: remove unnecessary did* methods from RemoteInspectorFrontend.
83129         https://bugs.webkit.org/show_bug.cgi?id=43721
83130
83131         * inspector/CodeGeneratorInspector.pm:
83132
83133 2010-08-09  Andreas Kling  <andreas.kling@nokia.com>
83134
83135         Reviewed by Antonio Gomes.
83136
83137         Canvas: Fast-path for setting the already set color with setStrokeColor() and setFillColor()
83138         https://bugs.webkit.org/show_bug.cgi?id=43718
83139
83140         Avoid creating CanvasStyle objects when setting the same fill or stroke color using
83141         the WebKit-specific setters of CanvasRenderingContext2D.
83142
83143         * html/canvas/CanvasRenderingContext2D.cpp:
83144         (WebCore::CanvasRenderingContext2D::setStrokeColor):
83145         (WebCore::CanvasRenderingContext2D::setFillColor):
83146         * html/canvas/CanvasStyle.cpp:
83147         (WebCore::CanvasStyle::isEquivalentColor):
83148         * html/canvas/CanvasStyle.h: Added CanvasStyle::isEquivalentColor() overloads
83149         for RGBA and CMYKA channel values.
83150
83151 2010-08-09  Pavel Feldman  <pfeldman@chromium.org>
83152
83153         Reviewed by Yury Semikhatsky.
83154
83155         Web Inspector: restore original last panel restore logic.
83156
83157         https://bugs.webkit.org/show_bug.cgi?id=43719
83158
83159         * inspector/front-end/inspector.js:
83160         (WebInspector.showPanel):
83161
83162 2010-08-09  Dumitru Daniliuc  <dumi@chromium.org>
83163
83164         Unreviewed, fixing the builds after r64967.
83165
83166         * CMakeLists.txt:
83167         * GNUmakefile.am:
83168         * WebCore.pro:
83169         * WebCore.vcproj/WebCore.vcproj:
83170
83171 2010-05-27  MORITA Hajime  <morrita@google.com>
83172
83173         Reviewed by Ojan Vafai.
83174
83175         <http://webkit.org/b/36359>
83176         Double clicking page's last editable inline element causes assertion failure.
83177         <http://webkit.org/b/36360>
83178         Double clicking page's first editable inline element cannot select a word. 
83179
83180         nextBoundary() and previousBoundary() assumed that editable
83181         boundaries are on block-level elements, But it can appear on
83182         inline-level elements. So we start boundary look-up from the given
83183         node, instead of the containingBlock of the given node.
83184         Also, added TextIteratorEndsAtEditingBoundary to
83185         BackwardsCharacterIterator, otherwise, the VisiblePosition
83186         returned by BackwardsCharacterIterator might cross an editing
83187         boundary.
83188
83189         Test: editing/selection/doubleclick-inline-first-last-contenteditable.html        
83190
83191         * dom/Position.cpp:
83192         (WebCore::Position::parentEditingBoundary): Added.
83193         * dom/Position.h:
83194         * editing/TextIterator.cpp:
83195         (WebCore::TextIterator::TextIterator):
83196         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
83197         (WebCore::SimplifiedBackwardsTextIterator::advance):
83198         (WebCore::SimplifiedBackwardsTextIterator::crossesEditingBoundary): Added.
83199         (WebCore::SimplifiedBackwardsTextIterator::setCurrentNode): Added.
83200         (WebCore::SimplifiedBackwardsTextIterator::clearCurrentNode): Added.
83201         (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
83202         * editing/TextIterator.h:
83203         (WebCore::):
83204         * editing/visible_units.cpp:
83205         (WebCore::previousBoundary):
83206         (WebCore::nextBoundary):
83207
83208 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
83209
83210         Reviewed by Yury Semikhatsky.
83211
83212         WebInspector: Current implementation of showPanel is a bit complicated.
83213         It is using internal enum for all the panels and this is the problem because
83214         we should change a lot of code for a new panel.
83215         https://bugs.webkit.org/show_bug.cgi?id=43711
83216
83217         * WebCore.exp.in:
83218         * inspector/Inspector.idl:
83219         * inspector/InspectorController.cpp:
83220         (WebCore::InspectorController::InspectorController):
83221         (WebCore::InspectorController::storeLastActivePanel):
83222         (WebCore::InspectorController::connectFrontend):
83223         (WebCore::InspectorController::showPanel):
83224         (WebCore::InspectorController::disconnectFrontend):
83225         * inspector/InspectorController.h:
83226         * inspector/InspectorFrontend.cpp:
83227         * inspector/InspectorFrontend.h:
83228         * inspector/front-end/ElementsTreeOutline.js:
83229         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
83230         * inspector/front-end/ExtensionServer.js:
83231         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
83232         * inspector/front-end/inspector.js:
83233         (WebInspector.documentClick.followLink):
83234         (WebInspector.documentClick):
83235         (WebInspector.toggleSearchingForNode):
83236         (WebInspector.showPanel):
83237         (WebInspector.selectDatabase):
83238         (WebInspector.selectDOMStorage):
83239         (WebInspector.showProfileForURL):
83240
83241 2010-08-09  Ariya Hidayat  <ariya@sencha.com>
83242
83243         Reviewed by Kenneth Rohde Christiansen.
83244
83245         [Qt] GraphicsContext::clipOut(IntRect) ignores the transformation matrix.
83246         https://bugs.webkit.org/show_bug.cgi?id=43705
83247
83248         Just like clipOut(Path), which is taken care in r60796 already,
83249         clipOut(IntRect) must transform the window bounding box properly.
83250
83251         * platform/graphics/qt/GraphicsContextQt.cpp:
83252         (WebCore::GraphicsContext::clipOut):
83253
83254 2010-08-09  François Sausset  <sausset@gmail.com>
83255
83256         Reviewed by Kenneth Rohde Christiansen.
83257
83258         Implement mfenced MathML element
83259         Update stretchy operator code to take into account new brackets and to tune layout parameters
83260         https://bugs.webkit.org/show_bug.cgi?id=42472
83261
83262         Test: mathml/presentation/fenced.xhtml
83263
83264         * WebCore.xcodeproj/project.pbxproj:
83265         * mathml/MathMLInlineContainerElement.cpp:
83266         (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
83267         (WebCore::MathMLInlineContainerElement::createRenderer):
83268         * mathml/RenderMathMLFenced.cpp: Added.
83269         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
83270         (WebCore::RenderMathMLFenced::updateFromElement):
83271         (WebCore::RenderMathMLFenced::makeOperatorStyle):
83272         (WebCore::RenderMathMLFenced::makeFences):
83273         (WebCore::RenderMathMLFenced::addChild):
83274         (WebCore::RenderMathMLFenced::layout):
83275         * mathml/RenderMathMLFenced.h: Added.
83276         * mathml/RenderMathMLOperator.cpp:
83277         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
83278         (WebCore::RenderMathMLOperator::stretchToHeight):
83279         (WebCore::):
83280         (WebCore::RenderMathMLOperator::updateFromElement):
83281         (WebCore::RenderMathMLOperator::createStackableStyle):
83282         (WebCore::RenderMathMLOperator::createGlyph):
83283
83284 2010-08-08  ryuan choi  <ryuan.choi@samsung.com>
83285
83286         Reviewed by Darin Adler.
83287
83288         REGRESSION(64898,64949) build break because of wrong filename
83289         https://bugs.webkit.org/show_bug.cgi?id=43701
83290
83291         add SVGPathStringSource.cpp and modify SVGPathSourceString.cpp to
83292         SVGPathStringSource.cpp
83293
83294         simple fixing build break, so No new tests.
83295
83296         * CMakeLists.txt:
83297
83298 2010-08-08  Ariya Hidayat  <ariya@sencha.com>
83299
83300         Reviewed by Antonio Gomes.
83301
83302         Inconsistent Qt version checks
83303         https://bugs.webkit.org/show_bug.cgi?id=43695
83304
83305         Use QT_VERSION_CHECK macro instead of encoded hex.
83306
83307         * platform/graphics/qt/ImageBufferQt.cpp:
83308         (WebCore::getImageData):
83309         * platform/network/qt/NetworkStateNotifierPrivate.h:
83310         * platform/network/qt/NetworkStateNotifierQt.cpp:
83311         * platform/network/qt/QNetworkReplyHandler.cpp:
83312         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
83313         (WebCore::QNetworkReplyHandler::start):
83314         * platform/qt/RenderThemeQt.cpp:
83315         (WebCore::RenderThemeQt::paintMediaSliderTrack):
83316
83317 2010-08-08  Csaba Osztrogonác  <ossy@webkit.org>
83318
83319         Reviewed by Antonio Gomes.
83320
83321         Web Inspector: Fix warning in WebCore/inspector/InspectorDebuggerAgent.cpp
83322         https://bugs.webkit.org/show_bug.cgi?id=43698
83323
83324         * inspector/InspectorDebuggerAgent.cpp:
83325         (WebCore::InspectorDebuggerAgent::editScriptSource): Add suggested parentheses.
83326
83327 2010-08-05  MORITA Hajime  <morrita@google.com>
83328
83329         Reviewed by Tony Chang.
83330
83331         Pasting should fire textInput event.
83332         https://bugs.webkit.org/show_bug.cgi?id=42958
83333
83334         - Extended TextEvents to hold paste-specific parameters
83335         - Did fire TextEvents at where we originally did immediate pastes.
83336         - Factored out TextEvent handling from EventHandler::defaultTextInputEventHandler()
83337           to Editor::handleTextEvent() because it's solely done by the editor.
83338         - move actual pasting logic to Editor::handleTextEvent() 
83339
83340         Test: editing/pasteboard/paste-text-events.html
83341
83342         * WebCore.exp.in:
83343         * dom/TextEvent.cpp:
83344         (WebCore::TextEvent::create):
83345         (WebCore::TextEvent::createForPlainTextPaste):
83346         (WebCore::TextEvent::createForFragmentPaste):
83347         (WebCore::TextEvent::TextEvent):
83348         * dom/TextEvent.h:
83349         (WebCore::TextEvent::isPaste):
83350         (WebCore::TextEvent::shouldSmartReplace):
83351         (WebCore::TextEvent::shouldMatchStyle):
83352         (WebCore::TextEvent::pastingFragment):
83353         * editing/Editor.cpp:
83354         (WebCore::Editor::handleTextEvent):
83355         (WebCore::Editor::pasteAsPlainText):
83356         (WebCore::Editor::pasteAsFragment):
83357         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
83358         (WebCore::Editor::pasteWithPasteboard):
83359         (WebCore::Editor::dispatchCPPEvent):
83360         (WebCore::Editor::findEventTargetFromSelection):
83361         * editing/Editor.h:
83362         * page/EventHandler.cpp:
83363         (WebCore::EventHandler::defaultTextInputEventHandler):
83364
83365 2010-08-08  Kevin Ollivier  <kevino@theolliviers.com>
83366
83367         [wx] Build fix, add member needed to compile Mac-specific font code.
83368
83369         * platform/graphics/wx/FontPlatformData.h:
83370         (WebCore::FontPlatformData::ctFont):
83371
83372 2010-08-08  Csaba Osztrogonác  <ossy@webkit.org>
83373
83374         Reviewed by Eric Seidel.
83375
83376         [Qt] Fix warnings in WebCore/platform/WindowsKeyboardCodes.h
83377         https://bugs.webkit.org/show_bug.cgi?id=43360
83378
83379         * platform/WindowsKeyboardCodes.h: Undef macros which are also defined in MinGW/include/winuser.h to aviod gcc redefinition warning
83380
83381 2010-08-08  James Robinson  <jamesr@chromium.org>
83382
83383         Reviewed by Adam Barth.
83384
83385         Set the shouldLazyAttach flag to true in the tree builder's adoption agency algorithm
83386         https://bugs.webkit.org/show_bug.cgi?id=43610
83387
83388         Sets the shouldLazyAttach flag to true for appendChild() calls inside the HTML tree
83389         builder's adoption agency flag.  This is a speedup assuming that nodes subjected
83390         to the adoption agency are likely to be frequently reparented, and thus it is better
83391         to delay creating the render tree until later (when hopefully the DOM is finalized).
83392
83393         On my mac pro this speeds up fast/parser/residual-style-hang.html by 2.6X.
83394
83395         * html/HTMLTreeBuilder.cpp:
83396         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
83397
83398 2010-08-08  Nikita Vasilyev  <me@elv1s.ru>
83399
83400         Reviewed by Pavel Feldman.
83401
83402         Web Inspector: speed-up Element.prototype.removeChildren
83403         https://bugs.webkit.org/show_bug.cgi?id=43687
83404
83405         * inspector/front-end/utilities.js:
83406         (Element.prototype.removeChildren):
83407
83408 2010-08-08  Ilya Tikhonovsky  <loislo@chromium.org>
83409
83410         Reviewed by Pavel Feldman.
83411
83412         WebInspector: remove hand written InspectorFrontend from almost all places.
83413         https://bugs.webkit.org/show_bug.cgi?id=43630
83414
83415         * inspector/ConsoleMessage.cpp:
83416         * inspector/InjectedScriptHost.cpp:
83417         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
83418         * inspector/InjectedScriptHost.h:
83419         * inspector/Inspector.idl:
83420         * inspector/InspectorBackend.cpp:
83421         * inspector/InspectorController.cpp:
83422         (WebCore::InspectorController::inspectedPageDestroyed):
83423         (WebCore::InspectorController::inspect):
83424         (WebCore::InspectorController::focusNode):
83425         (WebCore::InspectorController::windowVisible):
83426         (WebCore::InspectorController::addConsoleMessage):
83427         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
83428         (WebCore::InspectorController::setSearchingForNode):
83429         (WebCore::InspectorController::setMonitoringXHR):
83430         (WebCore::InspectorController::connectFrontend):
83431         (WebCore::InspectorController::show):
83432         (WebCore::InspectorController::showPanel):
83433         (WebCore::InspectorController::close):
83434         (WebCore::InspectorController::disconnectFrontend):
83435         (WebCore::InspectorController::populateScriptObjects):
83436         (WebCore::InspectorController::didCommitLoad):
83437         (WebCore::InspectorController::enableResourceTracking):
83438         (WebCore::InspectorController::disableResourceTracking):
83439         (WebCore::InspectorController::startTimelineProfiler):
83440         (WebCore::InspectorController::stopTimelineProfiler):
83441         (WebCore::InspectorController::postWorkerNotificationToFrontend):
83442         (WebCore::InspectorController::didCreateWorker):
83443         (WebCore::InspectorController::didDestroyWorker):
83444         (WebCore::InspectorController::toggleRecordButton):
83445         (WebCore::InspectorController::enableProfiler):
83446         (WebCore::InspectorController::disableProfiler):
83447         (WebCore::InspectorController::enableDebuggerFromFrontend):
83448         (WebCore::InspectorController::enableDebugger):
83449         (WebCore::InspectorController::disableDebugger):
83450         (WebCore::InspectorController::evaluateForTestInFrontend):
83451         * inspector/InspectorFrontend.cpp:
83452         * inspector/InspectorFrontend.h:
83453         * inspector/InspectorFrontendClientLocal.cpp:
83454         * inspector/TimelineRecordFactory.cpp:
83455
83456 2010-08-08  Dan Bernstein  <mitz@apple.com>
83457
83458         Try to fix the Chromium Mac build after r64915.
83459
83460         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
83461         (WebCore::FontPlatformData::ctFont): Copied from mac/FontPlatformDataMac.mm.
83462
83463 2010-08-08  Dirk Schulze  <krit@webkit.org>
83464
83465         Reviewed by Nikolas Zimmermann.
83466
83467         Add missing String builder for SVGPathParser
83468         https://bugs.webkit.org/show_bug.cgi?id=43682
83469
83470         Introduces SVGPathStringBuilder. SVGPathParser clients, like normalized and unaltered
83471         SVGPathSegLists or SVGPathByteStreams, can be parsed and transformed to a string.
83472         StringBuilder can create a string of individual strings, seperated by spaces now.
83473         Share more code in SVGPathParserFactory and use a common general concept to manage SVG path
83474         data parsing.
83475
83476         Doesn't affect any tests.
83477
83478         * Android.mk:
83479         * GNUmakefile.am:
83480         * WebCore.gypi:
83481         * WebCore.pro:
83482         * WebCore.vcproj/WebCore.vcproj:
83483         * WebCore.xcodeproj/project.pbxproj:
83484         * platform/text/StringBuilder.cpp:
83485         (WebCore::StringBuilder::toString): Added possibility to use a space between individual strings. 
83486         * platform/text/StringBuilder.h: Cleanup according to WebKit style.
83487         (WebCore::):
83488         (WebCore::StringBuilder::StringBuilder):
83489         (WebCore::StringBuilder::setNonNull):
83490         (WebCore::StringBuilder::isNull):
83491         * svg/SVGAllInOne.cpp:
83492         * svg/SVGPathBuilder.h:
83493         (WebCore::SVGPathBuilder::cleanup): Clear all references.
83494         * svg/SVGPathByteStreamBuilder.h:
83495         (WebCore::SVGPathByteStreamBuilder::cleanup): dito.
83496         * svg/SVGPathConsumer.h:
83497         * svg/SVGPathParser.cpp:
83498         (WebCore::SVGPathParser::cleanup): dito.
83499         * svg/SVGPathParser.h:
83500         * svg/SVGPathParserFactory.cpp: Cleanup of factory. More code get shared.
83501         (WebCore::globalSVGPathBuilder):
83502         (WebCore::globalSVGPathSegListBuilder):
83503         (WebCore::globalSVGPathByteStreamBuilder):
83504         (WebCore::globalSVGPathStringBuilder):
83505         (WebCore::globalSVGPathParser):
83506         (WebCore::SVGPathParserFactory::buildPathFromString):
83507         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
83508         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
83509         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
83510         (WebCore::SVGPathParserFactory::buildStringFromByteStream):
83511         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
83512         * svg/SVGPathParserFactory.h:
83513         * svg/SVGPathSegListBuilder.h:
83514         (WebCore::SVGPathSegListBuilder::cleanup):
83515         * svg/SVGPathStringBuilder.cpp: Added. Build string from parsed SVG data.
83516         (WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
83517         (WebCore::SVGPathStringBuilder::moveTo):
83518         (WebCore::SVGPathStringBuilder::lineTo):
83519         (WebCore::SVGPathStringBuilder::lineToHorizontal):
83520         (WebCore::SVGPathStringBuilder::lineToVertical):
83521         (WebCore::SVGPathStringBuilder::curveToCubic):
83522         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
83523         (WebCore::SVGPathStringBuilder::curveToQuadratic):
83524         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
83525         (WebCore::SVGPathStringBuilder::arcTo):
83526         (WebCore::SVGPathStringBuilder::closePath):
83527         * svg/SVGPathStringBuilder.h: Added.
83528         (WebCore::SVGPathStringBuilder::cleanup):
83529         (WebCore::SVGPathStringBuilder::result):
83530
83531 2010-08-08  Adam Barth  <abarth@webkit.org>
83532
83533         Reviewed by Eric Seidel.
83534
83535         cross_fuzz WebCore::SelectionController::isFocusedAndActive ReadAV@NULL (9e865de49b1800ec790dcc35d8ebd069)
83536         https://bugs.webkit.org/show_bug.cgi?id=43040
83537
83538         The pointer from Document to Frame can be null.  See http://webkit.org/coding/major-objects.html.
83539
83540         * css/CSSStyleSelector.cpp:
83541         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
83542
83543 2010-08-08  Adam Barth  <abarth@webkit.org>
83544
83545         Reviewed by Dimitri Glazkov.
83546
83547         frame()->selection() can't be null
83548         https://bugs.webkit.org/show_bug.cgi?id=43681
83549
83550         SelectionController is a component of Frame.  If frame is non-null, it
83551         can't possibly be null.
83552
83553         * html/HTMLAnchorElement.cpp:
83554         (WebCore::HTMLAnchorElement::setActive):
83555
83556 2010-08-08  Adam Barth  <abarth@webkit.org>
83557
83558         Reviewed by Dimitri Glazkov.
83559
83560         SVGLength uses ASSERTs to validate user input
83561         https://bugs.webkit.org/show_bug.cgi?id=43680
83562
83563         ASSERTs aren't in release builds, so we can't use them to validate user
83564         input!  We've seen a bunch of examples of this in SVG code.  It might
83565         be worth auditing all the code to remove this misguided pattern.
83566
83567         Test: svg/dom/svg-length-units.html
83568
83569         * svg/SVGLength.cpp:
83570         (WebCore::SVGLength::newValueSpecifiedUnits):
83571         (WebCore::SVGLength::convertToSpecifiedUnits):
83572
83573 2010-08-07  Adam Barth  <abarth@webkit.org>
83574
83575         Reviewed by Sam Weinig.
83576
83577         Empty strings can have more than one ref
83578         https://bugs.webkit.org/show_bug.cgi?id=43666
83579
83580         These asserts are trying to say that we have a thread-safe copy of the
83581         string, but they're not accurate for empty strings because we use a
83582         special static empty string that magically has infinite refs.
83583
83584         * storage/OriginUsageRecord.cpp:
83585         (WebCore::OriginUsageRecord::addDatabase):
83586         (WebCore::OriginUsageRecord::markDatabase):
83587
83588 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83589         Reviewed by Eric Seidel.
83590
83591         [WML] Add KURL parameter to WMLDocument::create() 
83592         https://bugs.webkit.org/show_bug.cgi?id=43173
83593
83594         To fix build break in WML, url parameter is added. Because, 
83595         Document class has url parameter.
83596
83597         * wml/WMLDocument.cpp:
83598         (WebCore::WMLDocument::WMLDocument):
83599         * wml/WMLDocument.h:
83600         (WebCore::WMLDocument::create): Add an url parameter to create() method
83601
83602 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83603
83604         Reviewed by Eric Seidel.
83605
83606         [WML] Change getIDAttribute() with getIdAttribute()
83607         https://bugs.webkit.org/show_bug.cgi?id=43175
83608
83609         Change getIDAttribute() with getIdAttribute() because function 
83610         name was changed.
83611
83612         * wml/WMLCardElement.cpp:
83613         (WebCore::WMLCardElement::findNamedCardInDocument): Change getIDAttribute() with getIdAttribute().
83614
83615 2010-08-07  Mihai Parparita  <mihaip@chromium.org>
83616
83617         Reviewed by Adam Barth.
83618
83619         WebTiming does not take page cache into account
83620         https://bugs.webkit.org/show_bug.cgi?id=42772
83621
83622         When restoring a page from the page cache, reset its DocumentLoadTiming
83623         struct and record navigationStart.
83624     
83625         Test: fast/events/onunload-back-to-page-cache.html
83626
83627         * loader/DocumentLoadTiming.h: removed Noncopyable, since it's just a simple struct.
83628         * loader/DocumentLoader.h:
83629         (WebCore::DocumentLoader::resetTiming): Added method.
83630         * loader/FrameLoader.cpp:
83631         (WebCore::FrameLoader::stopLoading): Uncommented assert.
83632         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): Added resetTiming() call.
83633
83634 2010-08-07  Zoltan Horvath  <zoltan@webkit.org>
83635
83636         Reviewed by Eric Seidel.
83637
83638         Allow custom memory allocation control for EventHandlingState struct
83639         https://bugs.webkit.org/show_bug.cgi?id=43548
83640
83641         Inherits the following class from FastAllocBase because it is
83642         instantiated by 'new':
83643
83644         struct name         - instantiated at: WebCore/
83645         EventHandlingState  - html/HTMLInputElement.cpp:2051
83646
83647         * html/HTMLInputElement.cpp:
83648
83649 2010-08-07  Jay Civelli  <jcivelli@chromium.org>
83650
83651         Reviewed by Eric Seidel.
83652
83653         [Chromium] Remove unecessary focus code.
83654         https://bugs.webkit.org/show_bug.cgi?id=43542
83655
83656         * platform/chromium/ChromiumBridge.h:
83657         * platform/chromium/WidgetChromium.cpp:
83658         (WebCore::Widget::setFocus):
83659
83660 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83661
83662         Reviewed by Eric Seidel.
83663
83664         [WML] Include FormDataBuilder.h in WMLGoElement.h
83665         https://bugs.webkit.org/show_bug.cgi?id=43177
83666
83667         To fix build breaks in WMLGoElement.cpp, FormDataBuilder.h needs to be included.
83668
83669         * wml/WMLGoElement.cpp: Include FormDataBuilder.h
83670
83671 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83672
83673         Reviewed by Eric Seidel.
83674
83675         [WML] Add dummy argument to SelectElement::defaultEventHandler() in WMLSelectElement
83676         https://bugs.webkit.org/show_bug.cgi?id=43176
83677
83678         * wml/WMLSelectElement.cpp:
83679         (WebCore::WMLSelectElement::defaultEventHandler): Sets NULL parameter to SelectElement::defaultEventHandler.
83680
83681 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83682
83683         Reviewed by Eric Seidel.
83684
83685         [WML] Change DocumentParser with ScriptableDocumentParser in WMLDocument
83686         https://bugs.webkit.org/show_bug.cgi?id=43174
83687
83688         * wml/WMLDocument.cpp:
83689         (WebCore::WMLDocument::finishedParsing): Change DocumentParser with ScriptableDocumentParser.
83690
83691 2010-08-07  Dan Bernstein  <mitz@apple.com>
83692
83693         Reviewed by Sam Weinig.
83694
83695         Use ctFont() to get the CTFont.
83696
83697         * platform/graphics/mac/FontMac.mm:
83698         (WebCore::showGlyphsWithAdvances):
83699
83700 2010-08-07  Adam Barth  <abarth@webkit.org>
83701
83702         Reviewed by Sam Weinig.
83703
83704         document->documentElement can always be null
83705         https://bugs.webkit.org/show_bug.cgi?id=43677
83706
83707         This ASSERT is bogus.
83708
83709         * css/StyleMedia.cpp:
83710         (WebCore::StyleMedia::matchMedium):
83711
83712 2010-08-07  Dan Bernstein  <mitz@apple.com>
83713
83714         Reviewed by Anders Carlsson.
83715
83716         <rdar://problem/8285090> First word on a line doesn’t hyphenate properly
83717         https://bugs.webkit.org/show_bug.cgi?id=43679
83718
83719         Test: fast/text/hyphenate-first-word.html
83720
83721         * rendering/RenderBlockLineLayout.cpp:
83722         (WebCore::tryHyphenating): The character at lastSpace is not necessarily a whitespace character
83723         before the current word. It can also be part of the word, such as when the word is the first
83724         one on the line. Include the charcater at lastSpace in the string passed to lastHyphenLocation().
83725
83726 2010-08-07  Dan Bernstein  <mitz@apple.com>
83727
83728         Build fix
83729
83730         * platform/graphics/SimpleFontData.h:
83731
83732 2010-08-07  Dan Bernstein  <mitz@apple.com>
83733
83734         Reviewed by Anders Carlsson.
83735
83736         Created a separate SimpleFontData constructor exclusively for SVG fonts and moved the CTFontRef
83737         from SimpleFontData to FontPlatformData.
83738         https://bugs.webkit.org/show_bug.cgi?id=43674
83739
83740         * config.h: Moved definitions of WTF_USE_CORE_TEXT and WTF_USE_ATSUI from here to wtf/Platform.h.
83741         * css/CSSFontFaceSource.cpp:
83742         (WebCore::CSSFontFaceSource::getFontData): Use new SimpleFontData constructor for SVG fonts.
83743         * platform/graphics/SimpleFontData.cpp:
83744         (WebCore::SimpleFontData::SimpleFontData): Separated into two constructors, one for
83745         PlatformFontData-based fonts and one for SVG fonts.
83746         * platform/graphics/SimpleFontData.h: Moved the m_CTFont member variable and the getCTFont()
83747         accessor from here…
83748         * platform/graphics/mac/FontPlatformData.h: …to here, renaming the latter ctFont().
83749         * platform/graphics/mac/FontPlatformDataMac.mm:
83750         (WebCore::FontPlatformData::FontPlatformData): Copy m_CTFont.
83751         (WebCore::FontPlatformData::operator=): Copy m_CTFont.
83752         (WebCore::FontPlatformData::setFont): Clear m_CTFont.
83753         (WebCore::FontPlatformData::ctFont): Moved here from SimpleFontDataCoreText.cpp and renamed.
83754         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
83755         (WebCore::SimpleFontData::getCFStringAttributes): Updated to use FontPlatformData::ctFont().
83756         * svg/SVGFontData.cpp:
83757         (WebCore::SVGFontData::SVGFontData): Added an assertion.
83758
83759 2010-08-07  Adam Barth  <abarth@webkit.org>
83760
83761         Reviewed by Dimitri Glazkov.
83762
83763         Regression: Memory corruption in tree builder
83764         https://bugs.webkit.org/show_bug.cgi?id=43672
83765
83766         Turns out this ASSERT was wrong and we need the branch.  Yay for
83767         test-driven development.
83768
83769         * html/HTMLTreeBuilder.cpp:
83770         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
83771
83772 2010-08-07  Dirk Schulze  <krit@webkit.org>
83773
83774         Unreviewed build-fix.
83775
83776         Come up with a more efficient way to represent Path segments
83777         https://bugs.webkit.org/show_bug.cgi?id=41159
83778
83779         Landed wrong version of the patch.
83780
83781         * svg/SVGPathByteStreamSource.cpp:
83782         (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
83783         (WebCore::SVGPathByteStreamSource::hasMoreData):
83784         * svg/SVGPathByteStreamSource.h:
83785         (WebCore::SVGPathByteStreamSource::moveToNextToken):
83786         * svg/SVGPathParserFactory.cpp:
83787         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
83788         (WebCore::SVGPathParserFactory::createSVGPathByteStreamFromString):
83789         * svg/SVGPathParserFactory.h:
83790
83791 2010-08-07  Dirk Schulze  <krit@webkit.org>
83792
83793         Reviewed by Nikolas Zimmermann.
83794
83795         Come up with a more efficient way to represent Path segments
83796         https://bugs.webkit.org/show_bug.cgi?id=41159
83797
83798         Introduce SVGPathByteStream as a fast and efficient way to organize the synchronization
83799         of Path, SVG path data string and SVGPathSegList in normalized and unaltered modes.
83800         Extended SVGPathParserFactory to accept SVGPathByteStreams as input source and to create
83801         a SVGPathByteStream from a SVG path data string.
83802
83803         Doesn't affect any tests.
83804
83805         * Android.mk:
83806         * CMakeLists.txt:
83807         * GNUmakefile.am:
83808         * WebCore.gypi:
83809         * WebCore.pro:
83810         * WebCore.vcproj/WebCore.vcproj:
83811         * svg/SVGAllInOne.cpp:
83812         * svg/SVGPathByteStream.h: Added.
83813         (WebCore::):
83814         (WebCore::SVGPathByteStream::create):
83815         (WebCore::SVGPathByteStream::data):
83816         (WebCore::SVGPathByteStream::begin):
83817         (WebCore::SVGPathByteStream::end):
83818         (WebCore::SVGPathByteStream::append):
83819         (WebCore::SVGPathByteStream::clear):
83820         (WebCore::SVGPathByteStream::isEmpty):
83821         (WebCore::SVGPathByteStream::SVGPathByteStream):
83822         * svg/SVGPathByteStreamBuilder.cpp: Added.
83823         (WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):
83824         (WebCore::SVGPathByteStreamBuilder::moveTo):
83825         (WebCore::SVGPathByteStreamBuilder::lineTo):
83826         (WebCore::SVGPathByteStreamBuilder::lineToHorizontal):
83827         (WebCore::SVGPathByteStreamBuilder::lineToVertical):
83828         (WebCore::SVGPathByteStreamBuilder::curveToCubic):
83829         (WebCore::SVGPathByteStreamBuilder::curveToCubicSmooth):
83830         (WebCore::SVGPathByteStreamBuilder::curveToQuadratic):
83831         (WebCore::SVGPathByteStreamBuilder::curveToQuadraticSmooth):
83832         (WebCore::SVGPathByteStreamBuilder::arcTo):
83833         (WebCore::SVGPathByteStreamBuilder::closePath):
83834         * svg/SVGPathByteStreamBuilder.h: Added.
83835         (WebCore::SVGPathByteStreamBuilder::setCurrentByteStream):
83836         (WebCore::SVGPathByteStreamBuilder::writeType):
83837         (WebCore::SVGPathByteStreamBuilder::writeFlag):
83838         (WebCore::SVGPathByteStreamBuilder::writeFloat):
83839         (WebCore::SVGPathByteStreamBuilder::writeFloatPoint):
83840         (WebCore::SVGPathByteStreamBuilder::writeSegmentType):
83841         * svg/SVGPathByteStreamSource.cpp: Added.
83842         (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
83843         (WebCore::SVGPathByteStreamSource::~SVGPathByteStreamSource):
83844         (WebCore::SVGPathByteStreamSource::hasMoreData):
83845         (WebCore::SVGPathByteStreamSource::parseFloat):
83846         (WebCore::SVGPathByteStreamSource::parseFlag):
83847         (WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
83848         (WebCore::SVGPathByteStreamSource::nextCommand):
83849         * svg/SVGPathByteStreamSource.h: Added.
83850         (WebCore::SVGPathByteStreamSource::create):
83851         (WebCore::SVGPathByteStreamSource::readType):
83852         (WebCore::SVGPathByteStreamSource::readFlag):
83853         (WebCore::SVGPathByteStreamSource::readFloat):
83854         (WebCore::SVGPathByteStreamSource::readSVGSegmentType):
83855         (WebCore::SVGPathByteStreamSource::readFloatPoint):
83856         * svg/SVGPathParserFactory.cpp:
83857         (WebCore::globalSVGPathByteStreamBuilder):
83858         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
83859         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
83860         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
83861         * svg/SVGPathParserFactory.h:
83862
83863 2010-08-07  Dirk Schulze  <krit@webkit.org>
83864
83865         Not reviewed. Sort Xcode project file.
83866
83867         * WebCore.xcodeproj/project.pbxproj:
83868
83869 2010-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>
83870
83871         Unreviewed, rolling out r64904.
83872         http://trac.webkit.org/changeset/64904
83873         https://bugs.webkit.org/show_bug.cgi?id=43671
83874
83875         Broke the Qt Windows builders. (Requested by bbandix on
83876         #webkit).
83877
83878         * WebCore.pri:
83879         * WebCore.pro:
83880         * features.pri: Removed.
83881
83882 2010-08-07  Balazs Kelemen  <kb@inf.u-szeged.hu>
83883
83884         Reviewed by Eric Seidel.
83885
83886         [Qt] Build WebKit2 into a static lib
83887
83888         https://bugs.webkit.org/show_bug.cgi?id=43621
83889
83890         Just build changes so no new tests.
83891
83892         * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
83893         * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
83894         * features.pri: Added.
83895
83896 2010-08-07  Nikolas Zimmermann  <nzimmermann@rim.com>
83897
83898         Reviewed by Daniel Bates.
83899
83900         Pattern fill with image not rendered after reload
83901         https://bugs.webkit.org/show_bug.cgi?id=41596
83902
83903         Fixed by a one-liner. Instead of just invalidating it's own resources, images also have to update
83904         resources in the ancestor chain, if imageChanged() has been called (for example, a slow loading image)
83905
83906         Test: http/tests/misc/slow-loading-image-in-pattern.html
83907
83908         * rendering/RenderSVGImage.cpp:
83909         (WebCore::RenderSVGImage::imageChanged):
83910
83911 2010-08-06  Dirk Schulze  <krit@webkit.org>
83912
83913         Reviewed by Nikolas Zimmermann.
83914
83915         Generalize SVGPathParser to allow more than just strings as input source
83916         https://bugs.webkit.org/show_bug.cgi?id=43618
83917
83918         Generalize SVGPathParser, by allowing different parsing sources than just strings.
83919         For now only a SVGPathStringSource is available, parsing from bytestreams follows soon.
83920         Each client that wants to parse strings, like Path or SVGPathSegList objects, only
83921         needs to use the new central SVGPathParserFactory, which glues consumer and sources together.
83922         Moved the SVGPathSegType enum from SVGPathSeg class in WebCore namespace, for
83923         easier access throughout the SVG code.
83924
83925         Doesn't affect any tests.
83926
83927         * Android.mk:
83928         * CMakeLists.txt
83929         * GNUmakefile.am:
83930         * WebCore.gypi:
83931         * WebCore.pro:
83932         * WebCore.vcproj/WebCore.vcproj:
83933         * WebCore.xcodeproj/project.pbxproj
83934         * svg/SVGAllInOne.cpp:
83935         * svg/SVGAnimateElement.cpp:
83936         (WebCore::SVGAnimateElement::calculateFromAndToValues):
83937         * svg/SVGAnimateMotionElement.cpp:
83938         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
83939         * svg/SVGGlyphElement.cpp:
83940         (WebCore::parsePathData):
83941         * svg/SVGPathBuilder.cpp:
83942         (WebCore::SVGPathBuilder::SVGPathBuilder):
83943         (WebCore::SVGPathBuilder::moveTo):
83944         (WebCore::SVGPathBuilder::lineTo):
83945         (WebCore::SVGPathBuilder::curveToCubic):
83946         (WebCore::SVGPathBuilder::closePath):
83947         * svg/SVGPathBuilder.h:
83948         (WebCore::SVGPathBuilder::setCurrentPath):
83949         (WebCore::SVGPathBuilder::arcTo):
83950         * svg/SVGPathConsumer.h:
83951         * svg/SVGPathElement.cpp:
83952         (WebCore::SVGPathElement::parseMappedAttribute):
83953         * svg/SVGPathParser.cpp:
83954         (WebCore::SVGPathParser::SVGPathParser):
83955         (WebCore::SVGPathParser::parseClosePathSegment):
83956         (WebCore::SVGPathParser::parseMoveToSegment):
83957         (WebCore::SVGPathParser::parseLineToSegment):
83958         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
83959         (WebCore::SVGPathParser::parseLineToVerticalSegment):
83960         (WebCore::SVGPathParser::parseCurveToCubicSegment):
83961         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
83962         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
83963         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
83964         (WebCore::SVGPathParser::parseArcToSegment):
83965         (WebCore::SVGPathParser::parsePathDataFromSource):
83966         (WebCore::SVGPathParser::decomposeArcToCubic):
83967         * svg/SVGPathParser.h:
83968         (WebCore::SVGPathParser::setCurrentConsumer):
83969         * svg/SVGPathParserFactory.cpp: Added.
83970         (WebCore::globalSVGPathBuilder):
83971         (WebCore::globalSVGPathSegListBuilder):
83972         (WebCore::globalSVGPathParser):
83973         (WebCore::SVGPathParserFactory::self):
83974         (WebCore::SVGPathParserFactory::SVGPathParserFactory):
83975         (WebCore::SVGPathParserFactory::~SVGPathParserFactory):
83976         (WebCore::SVGPathParserFactory::buildPathFromString):
83977         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
83978         * svg/SVGPathParserFactory.h: Added.
83979         * svg/SVGPathSeg.h:
83980         (WebCore::):
83981         (WebCore::SVGPathSeg::~SVGPathSeg):
83982         (WebCore::SVGPathSeg::):
83983         (WebCore::SVGPathSeg::pathSegType):
83984         (WebCore::SVGPathSeg::pathSegTypeAsLetter):
83985         (WebCore::SVGPathSeg::toString):
83986         (WebCore::SVGPathSeg::associatedAttributeName):
83987         (WebCore::SVGPathSeg::SVGPathSeg):
83988         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
83989         (WebCore::SVGPathSegSingleCoord::setX):
83990         (WebCore::SVGPathSegSingleCoord::x):
83991         (WebCore::SVGPathSegSingleCoord::setY):
83992         (WebCore::SVGPathSegSingleCoord::y):
83993         (WebCore::SVGPathSegSingleCoord::toString):
83994         * svg/SVGPathSegList.cpp:
83995         (WebCore::SVGPathSegList::getPathSegAtLength):
83996         (WebCore::SVGPathSegList::toPathData):
83997         (WebCore::SVGPathSegList::createAnimated):
83998         * svg/SVGPathSegListBuilder.cpp:
83999         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
84000         (WebCore::SVGPathSegListBuilder::moveTo):
84001         (WebCore::SVGPathSegListBuilder::lineTo):
84002         (WebCore::SVGPathSegListBuilder::curveToCubic):
84003         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
84004         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
84005         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
84006         (WebCore::SVGPathSegListBuilder::arcTo):
84007         * svg/SVGPathSegListBuilder.h:
84008         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
84009         * svg/SVGPathSource.h: Added.
84010         (WebCore::SVGPathSource::~SVGPathSource):
84011         (WebCore::SVGPathSource::SVGPathSource):
84012         * svg/SVGPathStringSource.cpp: Added.
84013         (WebCore::SVGPathStringSource::SVGPathStringSource):
84014         (WebCore::SVGPathStringSource::~SVGPathStringSource):
84015         (WebCore::SVGPathStringSource::endOfStream):
84016         (WebCore::SVGPathStringSource::parseFloat):
84017         (WebCore::SVGPathStringSource::parseFlag):
84018         (WebCore::SVGPathStringSource::skipSpaces):
84019         (WebCore::SVGPathStringSource::parseSVGSegmentType):
84020         (WebCore::SVGPathStringSource::hasRemainingCoordinatesInCurrentCommand):
84021         * svg/SVGPathStringSource.h: Added.
84022         (WebCore::SVGPathStringSource::create):
84023
84024 2010-08-06  Robert Hogan  <robert@webkit.org>
84025
84026         Reviewed by Adam Barth.
84027
84028         Define setPrivateBrowsingEnabled()
84029         https://bugs.webkit.org/show_bug.cgi?id=42283
84030
84031         Define the scope of 'private browsing' in WebKit
84032         See also https://bugs.webkit.org/show_bug.cgi?id=41801
84033
84034         * page/Settings.h:
84035
84036 2010-08-06  Adam Barth  <abarth@webkit.org>
84037
84038         Reviewed by Eric Seidel.
84039
84040         REGRESSION (r64712): YouTube video pages have contents of <noembed> elements overlapping the video description
84041         https://bugs.webkit.org/show_bug.cgi?id=43605
84042
84043         The old parser used to drop <noembed> on the floor.  We're supposed to
84044         add it to the DOM, but we don't want to create a renderer for it.
84045
84046         * html/HTMLElement.cpp:
84047         (WebCore::HTMLElement::rendererIsNeeded):
84048
84049 2010-08-06  Tony Gentilcore  <tonyg@chromium.org>
84050
84051         Reviewed by Adam Barth.
84052
84053         Fix style violations in Document
84054         https://bugs.webkit.org/show_bug.cgi?id=43657
84055
84056         No new tests because no new functionality.
84057
84058         * dom/Document.cpp:
84059         (WebCore::acceptsEditingFocus):
84060         (WebCore::Document::Document):
84061         (WebCore::Document::importNode):
84062         (WebCore::Document::adoptNode):
84063         (WebCore::Document::getElementById):
84064         (WebCore::Document::readyState):
84065         (WebCore::Document::createTreeWalker):
84066         (WebCore::Document::shouldScheduleLayout):
84067         (WebCore::Document::nextFocusableNode):
84068         (WebCore::Document::previousFocusableNode):
84069         (WebCore::Document::nodeAbsIndex):
84070         (WebCore::Document::nodeWithAbsIndex):
84071         (WebCore::Document::childTypeAllowed):
84072         (WebCore::Document::canReplaceChild):
84073         (WebCore::Document::recalcStyleSelector):
84074         (WebCore::Document::setFocusedNode):
84075         (WebCore::Document::attachNodeIterator):
84076         (WebCore::Document::detachNodeIterator):
84077         (WebCore::Document::parseQualifiedName):
84078         (WebCore::Document::getImageMap):
84079         (WebCore::Document::setInPageCache):
84080         (WebCore::Document::addMarker):
84081         (WebCore::Document::copyMarkers):
84082         (WebCore::Document::shiftMarkers):
84083         (WebCore::Document::setMarkersActive):
84084         (WebCore::Document::parentDocument):
84085         (WebCore::Document::topDocument):
84086         (WebCore::FormElementKeyHash::hash):
84087         (WebCore::Document::initSecurityContext):
84088         * dom/Document.h:
84089         (WebCore::Document::incDOMTreeVersion):
84090         (WebCore::Document::domTreeVersion):
84091
84092 2010-08-06  Eric Carlson  <eric.carlson@apple.com>
84093
84094         Unreviewed, release Qt build fix.
84095
84096         * rendering/RenderLayerBacking.cpp:
84097         (WebCore::RenderLayerBacking::containsPaintedContent): Guard call to toRenderVideo()
84098         with #if ENABLE(VIDEO).
84099
84100 2010-08-06  Eric Carlson  <eric.carlson@apple.com>
84101
84102         Reviewed by Simon Fraser.
84103
84104         HTML5 "video" tag with poster frame defined "flashes" right before movie displays
84105         https://bugs.webkit.org/show_bug.cgi?id=37591
84106         <rdar://problem/5650561>
84107
84108         If a video element has a poster frame, display it until the playback is requested or the movie's
84109         time is changed.
84110
84111         Test: compositing/video/video-poster.html
84112
84113         * html/HTMLMediaElement.cpp:
84114         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_displayMode.
84115         (WebCore::HTMLMediaElement::prepareForLoad): Set m_displayMode to Unknown.
84116         (WebCore::HTMLMediaElement::loadResource): Call updateDisplayState to let it set configure
84117         the poster, if necessary.
84118         (WebCore::HTMLMediaElement::noneSupported): updatePosterImage -> updateDisplayState.
84119         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
84120         (WebCore::HTMLMediaElement::setReadyState): Ditto.
84121         (WebCore::HTMLMediaElement::finishSeek): Set display mode to Video so a video frame will be
84122         displayed if a poster is currently visible.
84123         (WebCore::HTMLMediaElement::mediaPlayerRepaint): updatePosterImage -> updateDisplayState.
84124         (WebCore::HTMLMediaElement::updatePlayState): Set display mode to Video.
84125         * html/HTMLMediaElement.h:
84126         (WebCore::HTMLMediaElement::displayMode): New.
84127         (WebCore::HTMLMediaElement::setDisplayMode): Ditto.
84128         (WebCore::HTMLMediaElement::updateDisplayState): Ditto.
84129
84130         * html/HTMLVideoElement.cpp:
84131         (WebCore::HTMLVideoElement::HTMLVideoElement): Remove m_shouldDisplayPosterImage.
84132         (WebCore::HTMLVideoElement::attach): Call shouldDisplayPosterImage instead of checking
84133         m_shouldDisplayPosterImage directly.
84134         (WebCore::HTMLVideoElement::detach): Ditto.
84135         (WebCore::HTMLVideoElement::parseMappedAttribute): Set m_displayMode to Unknown before calling 
84136         updateDisplayState so shouldDisplayPosterImage() will return the correct result. Remove the
84137         PLUGIN_PROXY_FOR_VIDEO code, it is now in updateDisplayState.
84138         (WebCore::HTMLVideoElement::setDisplayMode): Renamed from updatePosterImage and rework logic
84139         so we tell the media engine it is OK to display video frames when there is no poster, or 
84140         once the media engine has something to display and the movie has started or seeked.
84141         (WebCore::HTMLVideoElement::updateDisplayState): New, manage display mode based on poster 
84142         attribute.
84143         * html/HTMLVideoElement.h:
84144         (WebCore::HTMLVideoElement::shouldDisplayPosterImage):
84145
84146         * platform/graphics/MediaPlayer.cpp:
84147         (WebCore::MediaPlayer::prepareForRendering): New, call media engine's prepareForRendering.
84148         * platform/graphics/MediaPlayer.h:
84149         * platform/graphics/MediaPlayerPrivate.h:
84150         (WebCore::MediaPlayerPrivateInterface::prepareForRendering):
84151
84152         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
84153         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
84154         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_isAllowedToRender.
84155         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
84156         (WebCore::MediaPlayerPrivate::isReadyForVideoSetup): Renamed from isReadyForRendering.
84157         (WebCore::MediaPlayerPrivate::prepareForRendering): New, set m_isAllowedToRender and
84158         inform the client that render tree should be updated so we correctly switch from showing
84159         the poster, which often doens't use a layer, to showing video frames, which do.
84160         (WebCore::MediaPlayerPrivate::updateStates): Don't call setUpVideoRendering until 
84161         isReadyForVideoSetup() returns true.
84162         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): isReadyForRendering -> isReadyForVideoSetup
84163
84164         * rendering/RenderLayerBacking.cpp:
84165         (WebCore::RenderLayerBacking::containsPaintedContent): Only consider video when displaying
84166         video frames so a poster won't force compositing mode.
84167
84168         * rendering/RenderLayerCompositor.cpp:
84169         (WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.
84170
84171         * rendering/RenderVideo.cpp:
84172         (WebCore::RenderVideo::shouldDisplayVideo): New, return true when not displaying a poster.
84173         * rendering/RenderVideo.h:
84174
84175 2010-08-06  James Robinson  <jamesr@chromium.org>
84176
84177         Reviewed by Simon Fraser.
84178
84179         Accelerated 2d canvases should get compositing layers
84180         https://bugs.webkit.org/show_bug.cgi?id=43362
84181
84182         Allows for 2d canvas rendering contexts to use a GraphicsContext3D for
84183         accelerated rendering.  The rendering context holds the GraphicsContext3D
84184         alive and exposes it to the compositor.  The 3d context itself is passed
84185         down through the GraphicsContext to use for actual rendering:
84186         https://bug-43362-attachments.webkit.org/attachment.cgi?id=63557
84187
84188         This approach will let us simultaneously prototype accelerated techniques
84189         for canvas 2d and revise the design of canvas elements without destabilizing
84190         all ports.
84191
84192         * html/HTMLCanvasElement.cpp:
84193         (WebCore::HTMLCanvasElement::getContext):
84194         (WebCore::HTMLCanvasElement::willDraw):
84195         (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable):
84196         * html/canvas/CanvasRenderingContext.h:
84197         (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
84198         * html/canvas/CanvasRenderingContext2D.cpp:
84199         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
84200         (WebCore::CanvasRenderingContext2D::isAccelerated):
84201         (WebCore::CanvasRenderingContext2D::reset):
84202         (WebCore::CanvasRenderingContext2D::willDraw):
84203         (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
84204         * html/canvas/CanvasRenderingContext2D.h:
84205         (WebCore::CanvasRenderingContext2D::graphicsContext3D):
84206         * html/canvas/WebGLRenderingContext.cpp:
84207         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
84208         * html/canvas/WebGLRenderingContext.h:
84209         * platform/graphics/GraphicsContext.h:
84210         * platform/graphics/skia/GraphicsContextSkia.cpp:
84211         (WebCore::GraphicsContext::syncSoftwareCanvas):
84212
84213 2010-08-06  Eric Seidel  <eric@webkit.org>
84214
84215         Reviewed by Chris Fleizach.
84216
84217         Make AX Code use more specific RenderObject subclass types
84218         https://bugs.webkit.org/show_bug.cgi?id=43632
84219
84220         No functional change, thus no tests.
84221
84222         * accessibility/AXObjectCache.cpp:
84223         (WebCore::nodeHasRole):
84224          - Make this take a String instead of AtomicString, to avoid
84225            thrashing the atomic string hash.
84226            It would be better to take a const char* here, except
84227            one caller passes nullAtom.
84228         (WebCore::createFromRenderer):
84229          - Split this out from getOrCreate to make it simpler.
84230          - No longer needs to deal with setting a "result"
84231            pointer and can instead just return.
84232          - I've also made this function use RenderBoxModelObject*
84233            where appropriate.
84234         (WebCore::AXObjectCache::getOrCreate):
84235         * accessibility/AXObjectCache.h:
84236         * accessibility/AccessibilityImageMapLink.cpp:
84237         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
84238          - Fix style.
84239         * accessibility/AccessibilityMenuList.cpp:
84240         (WebCore::AccessibilityMenuList::AccessibilityMenuList):
84241          - Use a more specific type.
84242         (WebCore::AccessibilityMenuList::renderer):
84243         * accessibility/AccessibilityMenuList.h:
84244         (WebCore::AccessibilityMenuList::create):
84245         * accessibility/AccessibilityMenuListPopup.cpp:
84246          - Need RenderMenuList.h since renderer() is a RenderMenuList*
84247         * accessibility/AccessibilityObject.cpp:
84248         (WebCore::renderListItemContainerForNode):
84249         * accessibility/AccessibilityRenderObject.cpp:
84250         (WebCore::AccessibilityRenderObject::renderBoxModelObject):
84251          - New helper function, similar to Node::renderBoxModelObject()
84252         (WebCore::isInlineWithContinuation):
84253         (WebCore::AccessibilityRenderObject::isNativeImage):
84254         (WebCore::AccessibilityRenderObject::isAttachment):
84255         (WebCore::AccessibilityRenderObject::isMultiSelectable):
84256         (WebCore::AccessibilityRenderObject::isReadOnly):
84257         (WebCore::AccessibilityRenderObject::isFieldset):
84258         (WebCore::AccessibilityRenderObject::actionElement):
84259         (WebCore::AccessibilityRenderObject::stringValue):
84260         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
84261         (WebCore::AccessibilityRenderObject::setValue):
84262         (WebCore::AccessibilityRenderObject::widget):
84263         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
84264         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
84265         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
84266         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
84267         (WebCore::AccessibilityRenderObject::addChildren):
84268         (WebCore::msaaRoleForRenderer):
84269         * accessibility/AccessibilityRenderObject.h:
84270         * accessibility/AccessibilityTable.cpp:
84271         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
84272         * accessibility/AccessibilityTable.h:
84273          - Remove unneeded "using namespace std".
84274
84275 2010-08-06  Tony Gentilcore  <tonyg@chromium.org>
84276
84277         Reviewed by Eric Seidel.
84278
84279         Factor an AsyncScriptRunner out of Document
84280         https://bugs.webkit.org/show_bug.cgi?id=43633
84281
84282         This copies the existing implementation exactly. In the future
84283         this will use PendingScript which handles ref counting without
84284         the need for those manual ref()/deref()s. This is also currently
84285         a trivial class, but a little more logic will be added to it to
84286         support <script async>.
84287
84288         No new tests because no new functionality.
84289
84290         * Android.mk:
84291         * CMakeLists.txt:
84292         * GNUmakefile.am:
84293         * WebCore.gypi:
84294         * WebCore.pro:
84295         * WebCore.vcproj/WebCore.vcproj:
84296         * WebCore.xcodeproj/project.pbxproj:
84297         * dom/AsyncScriptRunner.cpp: Added.
84298         (WebCore::AsyncScriptRunner::AsyncScriptRunner):
84299         (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
84300         (WebCore::AsyncScriptRunner::executeScriptSoon):
84301         (WebCore::AsyncScriptRunner::suspend):
84302         (WebCore::AsyncScriptRunner::resume):
84303         (WebCore::AsyncScriptRunner::timerFired):
84304         * dom/AsyncScriptRunner.h: Added.
84305         (WebCore::AsyncScriptRunner::create):
84306         (WebCore::AsyncScriptRunner::hasPendingScripts):
84307         * dom/Document.cpp:
84308         (WebCore::Document::Document):
84309         (WebCore::Document::~Document):
84310         * dom/Document.h:
84311         (WebCore::Document::asyncScriptRunner):
84312         * dom/ScriptElement.cpp:
84313         (WebCore::ScriptElementData::notifyFinished):
84314         * page/PageGroupLoadDeferrer.cpp:
84315         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
84316         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
84317
84318 2010-08-06  James Robinson  <jamesr@chromium.org>
84319
84320         Reviewed by Dimitri Glazkov.
84321
84322         [chromium] Implement GLES2Canvas/Texture in terms of GraphicsContext3D instead of direct OpenGL calls
84323         https://bugs.webkit.org/show_bug.cgi?id=43608
84324
84325         This converts all OpenGL calls in GLES2(Canvas|Texture) to calls on the corresponding GraphicsContext3D
84326         API, due to feedback on https://bugs.webkit.org/show_bug.cgi?id=43362.  Nearly all the changes are
84327         applying the regex s/gl([A-Z])/m_context->%1</ and removing unnecessary makeCurrent() calls.
84328         Other changes hilighted below.
84329
84330         * platform/graphics/chromium/GLES2Canvas.cpp:
84331         (WebCore::affineTo3x3):
84332         (WebCore::GLES2Canvas::GLES2Canvas):
84333         (WebCore::GLES2Canvas::~GLES2Canvas):
84334         (WebCore::GLES2Canvas::clearRect):
84335         (WebCore::GLES2Canvas::fillRect):
84336         (WebCore::GLES2Canvas::drawTexturedRect):
84337         (WebCore::GLES2Canvas::applyCompositeOperator):
84338         (WebCore::GLES2Canvas::getQuadVertices):
84339         (WebCore::GLES2Canvas::getQuadIndices):
84340             - use new typed XXArray classes for buffer uploads
84341         (WebCore::loadShader):
84342         (WebCore::GLES2Canvas::getSimpleProgram):
84343         (WebCore::GLES2Canvas::getTexProgram):
84344         (WebCore::GLES2Canvas::createTexture):
84345         (WebCore::GLES2Canvas::checkGLError):
84346         * platform/graphics/chromium/GLES2Canvas.h:
84347         (WebCore::GLES2Canvas::context):
84348         * platform/graphics/chromium/GLES2Texture.cpp:
84349         (WebCore::GLES2Texture::GLES2Texture):
84350         (WebCore::GLES2Texture::~GLES2Texture):
84351         (WebCore::GLES2Texture::create):
84352         (WebCore::convertFormat):
84353         (WebCore::GLES2Texture::load):
84354         (WebCore::GLES2Texture::bind):
84355         * platform/graphics/chromium/GLES2Texture.h:
84356         * platform/graphics/skia/GraphicsContextSkia.cpp:
84357         (WebCore::GraphicsContext::fillRect):
84358             - add a missing restore() call to the H/W path
84359         * platform/graphics/skia/ImageSkia.cpp:
84360         (WebCore::drawBitmapGLES2):
84361         * platform/graphics/skia/PlatformContextSkia.cpp:
84362         (WebCore::PlatformContextSkia::setGraphicsContext3D):
84363         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
84364             - avoid applying CTM to uploads
84365         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
84366         * platform/graphics/skia/PlatformContextSkia.h:
84367
84368 2010-08-06  James Robinson  <jamesr@chromium.org>
84369
84370         Reviewed by Simon Fraser.
84371
84372         Composited canvas should be treated the same by the compositor and not be WebGL specific
84373         https://bugs.webkit.org/show_bug.cgi?id=43589
84374
84375         This treats all GraphicsContext3D-backed layers the same instead of special casing WebGL.
84376         The cross-platform change is to rename GraphicsLayer::setContentsToWebGL() to
84377         GraphicsLayer::setContentsToCanvas() and to rename all implementations.
84378
84379         This patch also renames the chromium class used for accelerating these layers.
84380
84381         Cross platform changes:
84382         * WebCore.gypi:
84383         * platform/graphics/GraphicsLayer.h:
84384         (WebCore::GraphicsLayer::setContentsToCanvas):
84385             Rename the function on the base class. GraphicsLayerCA and GraphicsLayerChromium implement this.
84386         * rendering/RenderLayerBacking.cpp:
84387         (WebCore::isAcceleratedCanvas):
84388             Helper function to see if a renderer is associated with an accelerated compositing layer.
84389         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
84390         (WebCore::RenderLayerBacking::containsPaintedContent):
84391         (WebCore::RenderLayerBacking::rendererContentChanged):
84392        Chromium specific changes:
84393         * platform/graphics/chromium/CanvasLayerChromium.cpp: Added.
84394         (WebCore::CanvasLayerChromium::create):
84395         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
84396         (WebCore::CanvasLayerChromium::textureId):
84397         (WebCore::CanvasLayerChromium::updateTextureContents):
84398         (WebCore::CanvasLayerChromium::setContext):
84399         * platform/graphics/chromium/CanvasLayerChromium.h: Added.
84400         (WebCore::CanvasLayerChromium::drawsContent):
84401         (WebCore::CanvasLayerChromium::ownsTexture):
84402         (WebCore::CanvasLayerChromium::shaderProgramId):
84403         (WebCore::CanvasLayerChromium::setShaderProgramId):
84404         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
84405         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
84406         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
84407         * platform/graphics/chromium/GraphicsLayerChromium.h:
84408         (WebCore::GraphicsLayerChromium::):
84409         * platform/graphics/chromium/LayerRendererChromium.cpp:
84410         (WebCore::LayerRendererChromium::drawLayer):
84411         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
84412         * platform/graphics/chromium/LayerRendererChromium.h:
84413         (WebCore::LayerRendererChromium::):
84414         * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
84415         * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
84416         Mac specific changes:
84417         * platform/graphics/mac/GraphicsLayerCA.h:
84418         (WebCore::GraphicsLayerCA::):
84419         * platform/graphics/mac/GraphicsLayerCA.mm:
84420         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
84421         (WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
84422         (WebCore::GraphicsLayerCA::setContentsToCanvas):
84423
84424 2010-08-06  Patrick Gansterer  <paroga@paroga.com>
84425
84426         Reviewed by Eric Seidel.
84427
84428         Add PluginView::bindingInstance() to PluginViewNone
84429         https://bugs.webkit.org/show_bug.cgi?id=42936
84430
84431         * bindings/js/ScriptControllerEfl.cpp:
84432         (WebCore::ScriptController::createScriptInstanceForWidget): Removed workaround.
84433         * plugins/PluginViewNone.cpp: Added property svn:eol-style.
84434         (WebCore::PluginView::bindingInstance): Added missing method and use it on WinCE.
84435
84436 2010-08-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
84437
84438         Reviewed by Xan Lopez.
84439
84440         Use new "package" name also for the directory where the inspector
84441         support files are installed.
84442
84443         * GNUmakefile.am:
84444
84445 2010-08-06  Jian Li  <jianli@chromium.org>
84446
84447         Fix chromium build break.
84448
84449         * inspector/InspectorDebuggerAgent.h:
84450
84451 2010-08-06  Dirk Schulze  <krit@webkit.org>
84452
84453         Not reviewed. Sort Xcode project file.
84454
84455         * WebCore.xcodeproj/project.pbxproj:
84456
84457 2010-08-06  Jessie Berlin  <jberlin@apple.com>
84458
84459         Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
84460         Unreviewed.
84461
84462         * accessibility/AXObjectCache.h:
84463         * accessibility/AccessibilityARIAGrid.h:
84464         * accessibility/AccessibilityListBoxOption.h:
84465         * accessibility/AccessibilityObject.h:
84466         * accessibility/AccessibilityRenderObject.h:
84467         * accessibility/AccessibilityTable.h:
84468         * bindings/cpp/WebDOMCString.h:
84469         * bindings/cpp/WebDOMString.h:
84470         * bindings/gobject/ConvertToUTF8String.h:
84471         * bindings/js/DOMWrapperWorld.h:
84472         * bindings/js/JSDOMBinding.h:
84473         * bindings/js/JSDOMWindowBase.h:
84474         * bindings/js/JSMessagePortCustom.h:
84475         * bindings/js/JavaScriptCallFrame.h:
84476         * bindings/js/ScriptController.h:
84477         * bindings/js/ScriptProfile.h:
84478         * bindings/js/ScriptSourceProvider.h:
84479         * bindings/js/ScriptString.h:
84480         * bindings/js/WorkerScriptController.h:
84481         * bindings/objc/DOMImplementationFront.h:
84482         * bindings/v8/ScheduledAction.h:
84483         * bindings/v8/ScriptController.h:
84484         * bindings/v8/V8DOMWindowShell.h:
84485         * bindings/v8/V8Proxy.h:
84486         * bindings/v8/V8Utilities.h:
84487         * bindings/v8/custom/V8CustomXPathNSResolver.h:
84488         * bridge/c/c_utility.h:
84489         * css/CSSFontSelector.h:
84490         * css/CSSHelper.h:
84491         * css/CSSOMUtils.h:
84492         * css/CSSPrimitiveValue.h:
84493         * css/MediaList.h:
84494         * css/StyleBase.h:
84495         * css/StyleSheetList.h:
84496         * css/WebKitCSSKeyframesRule.h:
84497         * dom/CheckedRadioButtons.h:
84498         * dom/DOMImplementation.h:
84499         * dom/DocumentMarker.h:
84500         * dom/DynamicNodeList.h:
84501         * dom/EventTarget.h:
84502         * dom/MessagePort.h:
84503         * dom/MessagePortChannel.h:
84504         * dom/NameNodeList.h:
84505         * dom/Node.h:
84506         * dom/NodeList.h:
84507         * dom/OptionGroupElement.h:
84508         * dom/ScriptExecutionContext.h:
84509         * dom/SelectElement.h:
84510         * dom/ViewportArguments.h:
84511         * dom/make_names.pl:
84512         * editing/HTMLInterchange.h:
84513         * editing/htmlediting.h:
84514         * editing/markup.h:
84515         * html/CollectionCache.h:
84516         * html/DOMFormData.h:
84517         * html/DataGridColumnList.h:
84518         * html/DateComponents.h:
84519         * html/FileStream.h:
84520         * html/FileStreamProxy.h:
84521         * html/FormDataList.h:
84522         (WebCore::FormDataList::appendData):
84523         * html/HTMLCollection.h:
84524         * html/HTMLElementStack.h:
84525         * html/HTMLFormattingElementList.h:
84526         * html/HTMLParserQuirks.h:
84527         * html/HTMLQuoteElement.h:
84528         * html/HTMLScriptRunnerHost.h:
84529         * html/StepRange.h:
84530         * html/canvas/CanvasGradient.h:
84531         * html/canvas/CanvasNumberArray.h:
84532         * html/canvas/CanvasPattern.h:
84533         * inspector/InjectedScript.h:
84534         * inspector/InspectorCSSStore.h:
84535         * inspector/InspectorClient.h:
84536         * inspector/InspectorFrontendClient.h:
84537         * inspector/InspectorValues.h:
84538         * inspector/ScriptDebugListener.h:
84539         * loader/CachedResourceClient.h:
84540         * loader/CrossOriginAccessControl.h:
84541         * loader/DocumentThreadableLoader.h:
84542         * loader/FrameLoaderClient.h:
84543         * loader/RedirectScheduler.h:
84544         * loader/SubframeLoader.h:
84545         * loader/appcache/DOMApplicationCache.h:
84546         * loader/archive/ArchiveFactory.h:
84547         * loader/icon/IconDatabaseClient.h:
84548         * notifications/NotificationPresenter.h:
84549         * page/Chrome.h:
84550         * page/ChromeClient.h:
84551         * page/Console.h:
84552         * page/ContextMenuClient.h:
84553         * page/DOMSelection.h:
84554         * page/EditorClient.h:
84555         * page/EventHandler.h:
84556         * page/FrameView.h:
84557         * page/GeolocationPositionCache.h:
84558         * page/History.h:
84559         * page/Location.h:
84560         * page/Navigator.h:
84561         * page/NavigatorBase.h:
84562         * page/PluginHalterClient.h:
84563         * page/PrintContext.h:
84564         * page/SpeechInput.h:
84565         * page/SpeechInputListener.h:
84566         * page/animation/AnimationController.h:
84567         * platform/CookieJar.h:
84568         * platform/CrossThreadCopier.h:
84569         * platform/DragImage.h:
84570         * platform/FileSystem.h:
84571         * platform/Language.h:
84572         * platform/Length.h:
84573         * platform/LinkHash.h:
84574         * platform/LocalizationStrategy.h:
84575         * platform/LocalizedStrings.h:
84576         * platform/Logging.h:
84577         * platform/Pasteboard.h:
84578         * platform/PopupMenuClient.h:
84579         * platform/SearchPopupMenu.h:
84580         * platform/Widget.h:
84581         * platform/cf/BinaryPropertyList.h:
84582         * platform/chromium/ChromiumBridge.h:
84583         * platform/chromium/ClipboardUtilitiesChromium.h:
84584         * platform/cocoa/KeyEventCocoa.h:
84585         * platform/graphics/Color.h:
84586         * platform/graphics/FontCache.h:
84587         * platform/graphics/FontData.h:
84588         * platform/graphics/FontSelector.h:
84589         * platform/graphics/GraphicsTypes.h:
84590         * platform/graphics/Icon.h:
84591         * platform/graphics/ImageBuffer.h:
84592         * platform/graphics/ImageSource.h:
84593         * platform/graphics/MediaPlayer.h:
84594         * platform/graphics/MediaPlayerPrivate.h:
84595         * platform/graphics/Path.h:
84596         * platform/graphics/StringTruncator.h:
84597         * platform/graphics/cairo/FontCustomPlatformData.h:
84598         * platform/graphics/cairo/FontPlatformData.h:
84599         * platform/graphics/cg/FontPlatformData.h:
84600         * platform/graphics/cg/ImageSourceCG.h:
84601         * platform/graphics/chromium/FontCustomPlatformData.h:
84602         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
84603         * platform/graphics/chromium/FontPlatformDataLinux.h:
84604         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
84605         * platform/graphics/haiku/FontCustomPlatformData.h:
84606         * platform/graphics/mac/FontCustomPlatformData.h:
84607         * platform/graphics/mac/FontPlatformData.h:
84608         * platform/graphics/qt/FontCustomPlatformData.h:
84609         * platform/graphics/qt/FontPlatformData.h:
84610         * platform/graphics/win/FontCustomPlatformData.h:
84611         * platform/graphics/win/FontCustomPlatformDataCairo.h:
84612         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
84613         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
84614         * platform/graphics/wince/FontPlatformData.h:
84615         * platform/graphics/wince/MediaPlayerPrivateWince.h:
84616         * platform/graphics/wince/MediaPlayerProxy.h:
84617         * platform/graphics/wx/FontCustomPlatformData.h:
84618         * platform/graphics/wx/FontPlatformData.h:
84619         * platform/mac/PasteboardHelper.h:
84620         * platform/network/DNS.h:
84621         * platform/network/FormData.h:
84622         * platform/network/FormDataBuilder.h:
84623         * platform/network/HTTPParsers.h:
84624         * platform/text/Hyphenation.h:
84625         * platform/text/LineEnding.h:
84626         * platform/text/TextCodec.h:
84627         * platform/text/TextEncoding.h:
84628         * platform/text/TextStream.h:
84629         * platform/win/BString.h:
84630         * platform/win/ClipboardUtilitiesWin.h:
84631         * platform/win/WCDataObject.h:
84632         * platform/win/WebCoreTextRenderer.h:
84633         * plugins/DOMMimeType.h:
84634         * plugins/DOMMimeTypeArray.h:
84635         * plugins/DOMPlugin.h:
84636         * plugins/DOMPluginArray.h:
84637         * rendering/CounterNode.h:
84638         * rendering/HitTestResult.h:
84639         * rendering/RenderObjectChildList.h:
84640         * rendering/RenderText.h:
84641         * rendering/RenderTreeAsText.h:
84642         * rendering/TextControlInnerElements.h:
84643         * rendering/style/ContentData.h:
84644         * rendering/style/RenderStyle.h:
84645         * storage/DatabaseAuthorizer.h:
84646         * storage/DatabaseTrackerClient.h:
84647         * storage/SQLTransaction.h:
84648         * storage/SQLTransactionSync.h:
84649         * storage/Storage.h:
84650         * storage/chromium/DatabaseObserver.h:
84651         * svg/SVGAnimatedTemplate.h:
84652         * svg/SVGDocumentExtensions.h:
84653         * svg/SVGGlyphElement.h:
84654         * svg/SVGHKernElement.h:
84655         * svg/SVGNumberList.h:
84656         * svg/SVGPointList.h:
84657         * svg/SVGPreserveAspectRatio.h:
84658         * svg/SVGStylable.h:
84659         * svg/SVGTests.h:
84660         * svg/SVGTransformList.h:
84661         * svg/SVGTransformable.h:
84662         * svg/SVGVKernElement.h:
84663         * websockets/ThreadableWebSocketChannel.h:
84664         * websockets/ThreadableWebSocketChannelClientWrapper.h:
84665         * websockets/WebSocket.h:
84666         * websockets/WebSocketChannel.h:
84667         * websockets/WebSocketHandshakeResponse.h:
84668         * wml/WMLErrorHandling.h:
84669         * wml/WMLPageState.h:
84670         * wml/WMLVariables.h:
84671         * workers/DefaultSharedWorkerRepository.h:
84672         * workers/SharedWorkerRepository.h:
84673         * workers/Worker.h:
84674         * workers/WorkerContextProxy.h:
84675         * workers/WorkerLoaderProxy.h:
84676         * workers/WorkerLocation.h:
84677         * workers/WorkerMessagingProxy.h:
84678         * workers/WorkerReportingProxy.h:
84679         * workers/WorkerThread.h:
84680         * xml/DOMParser.h:
84681         * xml/XMLHttpRequestUpload.h:
84682         * xml/XPathEvaluator.h:
84683         * xml/XPathExpression.h:
84684         * xml/XPathNSResolver.h:
84685         * xml/XPathResult.h:
84686         * xml/XPathUtil.h:
84687
84688 2010-08-04  Zhenyao Mo  <zmo@google.com>
84689
84690         Reviewed by Dimitri Glazkov.
84691
84692         WebGLBuffer::associateBufferData(ArrayBufferView* array) copies incorrect data for sliced views
84693         https://bugs.webkit.org/show_bug.cgi?id=42124
84694
84695         * html/canvas/WebGLBuffer.cpp:
84696         (WebCore::WebGLBuffer::associateBufferDataImpl): Helper function that's called by all associateBufferData().
84697         (WebCore::WebGLBuffer::associateBufferData): Call associateBufferDataImpl().
84698         (WebCore::WebGLBuffer::associateBufferSubDataImpl): Helper function that's called by all associateBufferSubData().
84699         (WebCore::WebGLBuffer::associateBufferSubData): Call associateBufferSubDataImpl().
84700         * html/canvas/WebGLBuffer.h: Declare helper functions.
84701
84702 2010-08-06  Adam Barth  <abarth@webkit.org>
84703
84704         Reviewed by Eric Seidel.
84705
84706         noembed should respect whether plugins are enabled
84707         https://bugs.webkit.org/show_bug.cgi?id=43611
84708
84709         This instruction isn't in the HTML5 spec, but it seems like the right
84710         thing to do.  I suspect this is because the spec doesn't understand
84711         that plugins can be disabled.
84712
84713         I'm not sure how we can test this in DumpRenderTree, but I'm open to
84714         suggestions.
84715
84716         * html/HTMLTreeBuilder.cpp:
84717         (WebCore::HTMLTreeBuilder::adjustedLexerState):
84718         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
84719         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
84720         (WebCore::HTMLTreeBuilder::scriptEnabled):
84721         (WebCore::HTMLTreeBuilder::pluginsEnabled):
84722         * html/HTMLTreeBuilder.h:
84723
84724 2010-08-06  Tony Gentilcore  <tonyg@chromium.org>
84725
84726         Reviewed by Adam Barth.
84727
84728         Factor out PendingScript and protect its members
84729         https://bugs.webkit.org/show_bug.cgi?id=43391
84730
84731         This will be shared by AsyncScriptRunner.
84732
84733         No new tests because no new functionality.
84734
84735         * Android.mk:
84736         * CMakeLists.txt:
84737         * GNUmakefile.am:
84738         * WebCore.gypi:
84739         * WebCore.pro:
84740         * WebCore.vcproj/WebCore.vcproj:
84741         * WebCore.xcodeproj/project.pbxproj:
84742         * dom/PendingScript.cpp: Added.
84743         (WebCore::PendingScript::~PendingScript):
84744         (WebCore::PendingScript::element):
84745         (WebCore::PendingScript::releaseElementAndClear):
84746         (WebCore::PendingScript::setCachedScript):
84747         (WebCore::PendingScript::cachedScript):
84748         * dom/PendingScript.h: Added.
84749         (WebCore::PendingScript::PendingScript):
84750         (WebCore::PendingScript::startingLineNumber):
84751         (WebCore::PendingScript::watchingForLoad):
84752         (WebCore::PendingScript::setWatchingForLoad):
84753         (WebCore::PendingScript::hasElement):
84754         (WebCore::PendingScript::adoptElement):
84755         (WebCore::PendingScript::notifyFinished):
84756         * html/HTMLScriptRunner.cpp:
84757         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
84758         (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
84759         (WebCore::HTMLScriptRunner::requestScript):
84760         * html/HTMLScriptRunner.h:
84761
84762 2010-08-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
84763
84764         Reviewed by Darin Adler.
84765
84766         Change permission to access methods in XMLDocumentParser.h
84767         https://bugs.webkit.org/show_bug.cgi?id=43180
84768
84769         Change permission to access wellFormed(), lineNumber() and columnNumber()
84770         in XMLDocumentParser.h. Because, the methods are used by WML.
84771
84772         * dom/XMLDocumentParser.h:
84773         (WebCore::XMLDocumentParser::wellFormed): Change accebility permission. 
84774
84775 2010-08-06  Martin Robinson  <mrobinson@igalia.com>
84776
84777         Reviewed by Gustavo Noronha Silva.
84778
84779         [GTK] Support for image drags
84780         https://bugs.webkit.org/show_bug.cgi?id=40788
84781
84782         Add image drag-and-drop support for WebKit GTK+.
84783
84784         * platform/gtk/ClipboardGtk.cpp:
84785         (WebCore::ClipboardGtk::setDragImage): Filled this stub.
84786         (WebCore::ClipboardGtk::setDragImageElement): Filled this stub.
84787         (WebCore::ClipboardGtk::createDragImage): Filled this stub.
84788         (WebCore::ClipboardGtk::declareAndWriteDragImage): Write the image URL, markup, and image itself to the data object member.
84789         * platform/gtk/ClipboardGtk.h: Brought method declarations into line with the parent class.
84790
84791 2010-08-06  Yury Semikhatsky  <yurys@chromium.org>
84792
84793         Reviewed by Pavel Feldman.
84794
84795         Web Inspector: extract debugger implementation into InspectorDebuggerAgent
84796         https://bugs.webkit.org/show_bug.cgi?id=42340
84797
84798         * CMakeLists.txt:
84799         * GNUmakefile.am:
84800         * WebCore.gypi:
84801         * WebCore.pro:
84802         * WebCore.vcproj/WebCore.vcproj:
84803         * WebCore.xcodeproj/project.pbxproj:
84804         * inspector/CodeGeneratorInspector.pm:
84805         * inspector/Inspector.idl:
84806         * inspector/InspectorController.cpp:
84807         (WebCore::InspectorController::InspectorController):
84808         (WebCore::InspectorController::connectFrontend):
84809         (WebCore::InspectorController::didCommitLoad):
84810         (WebCore::InspectorController::enableDebuggerFromFrontend):
84811         (WebCore::InspectorController::disableDebugger):
84812         (WebCore::InspectorController::resume):
84813         (WebCore::InspectorController::loadBreakpoints):
84814         (WebCore::InspectorController::saveBreakpoints):
84815         * inspector/InspectorController.h:
84816         (WebCore::InspectorController::debuggerAgent):
84817         * inspector/InspectorDebuggerAgent.cpp: Added.
84818         (WebCore::md5Base16):
84819         (WebCore::formatBreakpointId):
84820         (WebCore::InspectorDebuggerAgent::create):
84821         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
84822         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
84823         (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
84824         (WebCore::InspectorDebuggerAgent::activateBreakpoints):
84825         (WebCore::InspectorDebuggerAgent::deactivateBreakpoints):
84826         (WebCore::InspectorDebuggerAgent::setBreakpoint):
84827         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
84828         (WebCore::InspectorDebuggerAgent::editScriptSource):
84829         (WebCore::InspectorDebuggerAgent::getScriptSource):
84830         (WebCore::InspectorDebuggerAgent::pause):
84831         (WebCore::InspectorDebuggerAgent::resume):
84832         (WebCore::InspectorDebuggerAgent::stepOverStatement):
84833         (WebCore::InspectorDebuggerAgent::stepIntoStatement):
84834         (WebCore::InspectorDebuggerAgent::stepOutOfFunction):
84835         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
84836         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
84837         (WebCore::InspectorDebuggerAgent::currentCallFrames):
84838         (WebCore::InspectorDebuggerAgent::loadBreakpoints):
84839         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
84840         (WebCore::InspectorDebuggerAgent::didParseSource):
84841         (WebCore::InspectorDebuggerAgent::failedToParseSource):
84842         (WebCore::InspectorDebuggerAgent::didPause):
84843         (WebCore::InspectorDebuggerAgent::didContinue):
84844         (WebCore::InspectorDebuggerAgent::remoteFrontend):
84845         * inspector/InspectorDebuggerAgent.h: Added.
84846         * inspector/InspectorFrontend.cpp:
84847         * inspector/InspectorFrontend.h:
84848         * inspector/front-end/ScriptsPanel.js:
84849         (WebInspector.ScriptsPanel):
84850
84851 2010-08-06  Dean Jackson  <dino@apple.com>
84852
84853         Reviewed by Simon Fraser and Steve Block.
84854
84855         https://bugs.webkit.org/show_bug.cgi?id=42865
84856         Implement DeviceMotionEvent
84857
84858         Implement the DeviceMotionEvent interface as defined
84859         in http://dev.w3.org/geo/api/spec-source-orientation.html
84860         This is currently an empty implementation, in that there is
84861         no motion client connected - the platform implementations
84862         will need to do that.
84863
84864         Tests: fast/dom/DeviceMotion/create-event.html
84865                fast/dom/DeviceMotion/optional-event-properties.html
84866                fast/dom/DeviceMotion/window-property.html
84867
84868         * Android.derived.jscbindings.mk:
84869         * Android.derived.v8bindings.mk:
84870         * Android.jscbindings.mk:
84871         * Android.mk:
84872         * Android.v8bindings.mk:
84873         * CMakeLists.txt:
84874         * Configurations/FeatureDefines.xcconfig:
84875         * DerivedSources.make:
84876         * GNUmakefile.am:
84877         * WebCore.gypi:
84878         * WebCore.pro:
84879         * WebCore.vcproj/WebCore.vcproj:
84880         * WebCore.xcodeproj/project.pbxproj:
84881           - Add new files for DeviceMotionEvent build support
84882         * bindings/generic/RuntimeEnabledFeatures.cpp:
84883         * bindings/generic/RuntimeEnabledFeatures.h:
84884           - new runtime flags for device motion
84885         * bindings/js/JSDeviceMotionEventCustom.cpp: Added.
84886         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp: Added.
84887           - Custom JS binding to translate property access through
84888             to the DeviceMotionData object that the Event holds
84889         * bindings/js/JSEventCustom.cpp:
84890           - Include the custom code for DeviceMotionEvent
84891         * dom/DeviceMotionClient.h: Added.
84892           - Pure virtual client for DeviceMotion access
84893         * dom/DeviceMotionController.cpp: Added.
84894         * dom/DeviceMotionController.h: Added.
84895           - Controller class that manages event dispatch
84896         * dom/DeviceMotionData.cpp: Added.
84897         * dom/DeviceMotionData.h: Added.
84898           - Representation of the data that comes from a device motion
84899             client that is then used within the event.
84900         * dom/DeviceMotionEvent.cpp: Added.
84901         * dom/DeviceMotionEvent.h: Added.
84902         * dom/DeviceMotionEvent.idl: Added.
84903           - The actual event implementation
84904         * dom/Document.cpp:
84905         (WebCore::Document::createEvent):
84906           - Update createEvent to allow "devicemotion" events
84907         * dom/Event.cpp:
84908         * dom/Event.h:
84909           - isDeviceMotionEvent virtual method
84910         * dom/EventNames.h:
84911           - new "devicemotion" event type
84912         * page/DOMWindow.cpp:
84913         (WebCore::DOMWindow::addEventListener):
84914         * page/DOMWindow.h:
84915         * page/DOMWindow.idl:
84916           - allow creation of "devicemotion" events and pass registration
84917             through to the Page's deviceMotionController object
84918         * page/Page.cpp:
84919         * page/Page.h:
84920           - new PageClient for deviceMotionController
84921
84922 2010-08-06  Kavita Kanetkar  <kkanetkar@chromium.org>
84923
84924         Reviewed by Joseph Pecoraro.
84925
84926         Web Inspector: Remove "Online/Offline" icon for Chrome's appcache devtools UI.
84927         https://bugs.webkit.org/show_bug.cgi?id=43450
84928
84929         * inspector/front-end/ApplicationCacheItemsView.js:
84930         (WebInspector.ApplicationCacheItemsView):
84931         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
84932         (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState):
84933         * inspector/front-end/Settings.js:
84934
84935 2010-08-06  Pavel Feldman  <pfeldman@chromium.org>
84936
84937         Not reviewed. Rolling out 64835, 64836 and 64839.
84938
84939         * Android.jscbindings.mk:
84940         * Android.v8bindings.mk:
84941         * CMakeLists.txt:
84942         * GNUmakefile.am:
84943         * WebCore.gypi:
84944         * WebCore.pro:
84945         * WebCore.vcproj/WebCore.vcproj:
84946         * WebCore.xcodeproj/project.pbxproj:
84947         * bindings/js/JSBindingsAllInOne.cpp:
84948         * bindings/js/JSDOMWindowCustom.cpp:
84949         (WebCore::JSDOMWindow::openDatabase):
84950         * bindings/js/JSDatabaseCustom.cpp: Added.
84951         (WebCore::JSDatabase::changeVersion):
84952         (WebCore::createTransaction):
84953         (WebCore::JSDatabase::transaction):
84954         (WebCore::JSDatabase::readTransaction):
84955         * bindings/js/JSDatabaseSyncCustom.cpp: Added.
84956         (WebCore::JSDatabaseSync::changeVersion):
84957         (WebCore::createTransaction):
84958         (WebCore::JSDatabaseSync::transaction):
84959         (WebCore::JSDatabaseSync::readTransaction):
84960         * bindings/js/JSWorkerContextCustom.cpp:
84961         (WebCore::JSWorkerContext::openDatabase):
84962         (WebCore::JSWorkerContext::openDatabaseSync):
84963         * bindings/scripts/CodeGeneratorGObject.pm:
84964         * bindings/scripts/CodeGeneratorJS.pm:
84965         * bindings/scripts/CodeGeneratorV8.pm:
84966         * bindings/scripts/test/JS/JSTestCallback.cpp:
84967         (WebCore::JSTestCallback::~JSTestCallback):
84968         * bindings/scripts/test/JS/JSTestObj.cpp:
84969         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
84970         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
84971         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
84972         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
84973         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
84974         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
84975         (WebCore::jsTestObjPrototypeFunctionIdbKey):
84976         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
84977         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
84978         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
84979         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
84980         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
84981         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
84982         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
84983         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
84984         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
84985         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
84986         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
84987         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
84988         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
84989         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
84990         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
84991         * bindings/scripts/test/TestObj.idl:
84992         * bindings/scripts/test/V8/V8TestObj.cpp:
84993         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
84994         (WebCore::TestObjInternal::intMethodWithArgsCallback):
84995         (WebCore::TestObjInternal::objMethodWithArgsCallback):
84996         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
84997         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
84998         (WebCore::TestObjInternal::serializedValueCallback):
84999         (WebCore::TestObjInternal::idbKeyCallback):
85000         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
85001         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
85002         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
85003         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
85004         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
85005         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
85006         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
85007         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
85008         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
85009         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
85010         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
85011         (WebCore::TestObjInternal::overloadedMethod1Callback):
85012         (WebCore::TestObjInternal::overloadedMethod2Callback):
85013         (WebCore::TestObjInternal::overloadedMethod3Callback):
85014         (WebCore::TestObjInternal::overloadedMethod4Callback):
85015         (WebCore::):
85016         (WebCore::ConfigureV8TestObjTemplate):
85017         * bindings/v8/V8Binding.h:
85018         (WebCore::String):
85019         (WebCore::AtomicString):
85020         * bindings/v8/custom/V8DOMWindowCustom.cpp:
85021         (WebCore::V8DOMWindow::openDatabaseCallback):
85022         * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
85023         (WebCore::V8Database::changeVersionCallback):
85024         (WebCore::createTransaction):
85025         (WebCore::V8Database::transactionCallback):
85026         (WebCore::V8Database::readTransactionCallback):
85027         * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
85028         (WebCore::V8DatabaseSync::changeVersionCallback):
85029         (WebCore::createTransaction):
85030         (WebCore::V8DatabaseSync::transactionCallback):
85031         (WebCore::V8DatabaseSync::readTransactionCallback):
85032         * bindings/v8/custom/V8WorkerContextCustom.cpp:
85033         (WebCore::V8WorkerContext::openDatabaseCallback):
85034         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
85035         * page/DOMWindow.idl:
85036         * storage/Database.cpp:
85037         (WebCore::Database::transaction):
85038         * storage/Database.h:
85039         * storage/Database.idl:
85040         * storage/DatabaseSync.cpp:
85041         (WebCore::DatabaseSync::transaction):
85042         * storage/DatabaseSync.h:
85043         * storage/DatabaseSync.idl:
85044         * workers/WorkerContext.idl:
85045
85046 2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
85047
85048         Unreviewed, fix the "GTK Linux 64-bit Debug" bot.
85049
85050         CodeGeneratorGObject.pm doesn't know yet how to auto-generate
85051         callbacks, so we should not auto-generate functions that take
85052         callbacks as parameters. This shouldn't break anything, because
85053         all these functions were marked as ["Custom"] until now, and this
85054         code generator skipped those functions anyway.
85055
85056         * bindings/scripts/CodeGeneratorGObject.pm:
85057
85058 2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
85059
85060         Unreviewed, "Qt Linux Realese minimal" build fix.
85061
85062         * bindings/scripts/CodeGeneratorJS.pm:
85063
85064 2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
85065
85066         Reviewed by Adam Barth.
85067
85068         Auto-generate all HTML5 DB bindings.
85069         https://bugs.webkit.org/show_bug.cgi?id=43382
85070
85071         * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
85072         and the custom implementations of openDatabas{Sync}().
85073         * Android.v8bindings.mk:
85074         * CMakeLists.txt:
85075         * GNUmakefile.am:
85076         * WebCore.gypi:
85077         * WebCore.pro:
85078         * WebCore.vcproj/WebCore.vcproj:
85079         * WebCore.xcodeproj/project.pbxproj:
85080         * bindings/js/JSBindingsAllInOne.cpp:
85081         * bindings/js/JSDOMWindowCustom.cpp:
85082         * bindings/js/JSDatabaseCustom.cpp: Removed.
85083         * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
85084         * bindings/js/JSWorkerContextCustom.cpp:
85085         * bindings/v8/custom/V8DOMWindowCustom.cpp:
85086         * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
85087         * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
85088         * bindings/v8/custom/V8WorkerContextCustom.cpp:
85089
85090         * bindings/scripts/CodeGeneratorJS.pm: Change the code generators
85091         to check that a value was passed for each non-optional argument,
85092         and that the value can be converted to the argument type.
85093         * bindings/scripts/CodeGeneratorV8.pm:
85094         * bindings/scripts/test/JS/JSTestCallback.cpp:
85095         (WebCore::JSTestCallback::~JSTestCallback):
85096         * bindings/scripts/test/JS/JSTestObj.cpp:
85097         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
85098         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
85099         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
85100         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
85101         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
85102         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
85103         (WebCore::jsTestObjPrototypeFunctionIdbKey):
85104         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
85105         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
85106         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
85107         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
85108         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
85109         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
85110         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
85111         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
85112         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
85113         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
85114         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
85115         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
85116         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
85117         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
85118         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
85119         * bindings/scripts/test/TestObj.idl:
85120         * bindings/scripts/test/V8/V8TestObj.cpp:
85121         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
85122         (WebCore::TestObjInternal::intMethodWithArgsCallback):
85123         (WebCore::TestObjInternal::objMethodWithArgsCallback):
85124         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
85125         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
85126         (WebCore::TestObjInternal::serializedValueCallback):
85127         (WebCore::TestObjInternal::idbKeyCallback):
85128         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
85129         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
85130         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
85131         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
85132         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
85133         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
85134         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
85135         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
85136         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
85137         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
85138         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
85139         (WebCore::TestObjInternal::overloadedMethod1Callback):
85140         (WebCore::TestObjInternal::overloadedMethod2Callback):
85141         (WebCore::TestObjInternal::overloadedMethod3Callback):
85142         (WebCore::TestObjInternal::overloadedMethod4Callback):
85143         (WebCore::):
85144         (WebCore::ConfigureV8TestObjTemplate):
85145         * bindings/v8/V8Binding.h:
85146         (WebCore::String):
85147         (WebCore::AtomicString):
85148
85149         * page/DOMWindow.idl: Minor changes required by the auto-generated
85150         bindings.
85151         * storage/Database.cpp:
85152         (WebCore::Database::transaction):
85153         (WebCore::Database::readTransaction):
85154         (WebCore::Database::runTransaction):
85155         * storage/Database.h:
85156         * storage/Database.idl:
85157         * storage/DatabaseSync.cpp:
85158         (WebCore::DatabaseSync::transaction):
85159         (WebCore::DatabaseSync::readTransaction):
85160         (WebCore::DatabaseSync::runTransaction):
85161         * storage/DatabaseSync.h:
85162         * storage/DatabaseSync.idl:
85163         * workers/WorkerContext.idl:
85164
85165 2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
85166
85167         Not reviewed. Sort Xcode project file.
85168
85169         * WebCore.xcodeproj/project.pbxproj:
85170
85171 2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
85172
85173         Not reviewed. Fix warning, breaking win build.
85174
85175         * svg/SVGLength.cpp:
85176         (WebCore::SVGLength::toCSSPrimitiveValue):
85177
85178 2010-08-06  Alexey Proskuryakov  <ap@apple.com>
85179
85180         Fix crashing Leopard and Gtk bots.
85181
85182         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
85183         Don't register ISO8859-16, because older versions of ICU don't support ISO-8859-16, causing
85184         crashes when we try to register an alias. Also, we don't need it, because Firefox doesn't
85185         support this particular alias (it supports ISO8859-1 to ISO8859-15, but only supports the
85186         main name for ISO-8859-16).
85187
85188 2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
85189
85190         Reviewed by Dirk Schulze.
85191
85192         SVG - stroke-width:0 bug with stroke other than "none"
85193         https://bugs.webkit.org/show_bug.cgi?id=42387
85194
85195         Stop storing refcounted CSSValue/CSSValueList objects in SVGRenderStyle, replacing them with SVGLength types.
85196         Allows us to directly specify default values for stroke-dashoffset/width in the SVGRenderStyle, fixing a problem
85197         with stroke-width animations when resetting to the original stored baseVal, exposed in svg/W3C-1.1/animate-elem-40-t.svg
85198         Originally discovered by Fady Samuel.
85199
85200         Test: svg/custom/path-zero-strokewidth.svg
85201
85202         * css/SVGCSSComputedStyleDeclaration.cpp:
85203         (WebCore::strokeDashArrayToCSSValueList): New helper function converting from Vector<SVGLength> to CSSValueList.
85204         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Convert SVGLength values to CSSPrimitiveValues.
85205         * css/SVGCSSStyleSelector.cpp:
85206         (WebCore::CSSStyleSelector::applySVGProperty): Convert CSSPrimitiveValues to SVGLength objects, for SVGRenderStyle storage.
85207         * rendering/RenderPath.cpp:
85208         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Just grab strokeWidth SVGLength value from SVGRenderSTyle, no need to call cssPrimitiveToLength anymore.
85209         * rendering/RenderSVGText.cpp:
85210         (WebCore::RenderSVGText::strokeBoundingBox): Ditto.
85211         * rendering/SVGCharacterLayoutInfo.cpp:
85212         (WebCore::calculateBaselineShift): Ditto (for baseline-shift).
85213         * rendering/SVGInlineTextBox.cpp:
85214         (WebCore::SVGInlineTextBox::buildLayoutInformation): Ditto (for kerning).
85215         * rendering/SVGRenderSupport.cpp:
85216         (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto (for stroke-width/stroke-dashoffset/stroke-dasharray).
85217         * rendering/SVGRenderSupport.h:
85218         * rendering/SVGRenderTreeAsText.cpp:
85219         (WebCore::writeStyle): Ditto.
85220         * rendering/SVGTextLayoutUtilities.cpp:
85221         (WebCore::calculateCSSKerning): Ditto.
85222         * rendering/SVGTextLayoutUtilities.h:
85223         * rendering/style/SVGRenderStyle.cpp: Remove no longer needed cssPrimitiveToLength function.
85224         * rendering/style/SVGRenderStyle.h: Stop storing RefPtr<CSSValue> / RefPtr<CSSValueList> but use SVGLength/Vector<SVGLength>.
85225         (WebCore::SVGRenderStyle::initialStrokeDashArray): Allows us to specify correct default values, instead of null pointers.
85226         (WebCore::SVGRenderStyle::initialBaselineShiftValue): Specify 0px default value.
85227         (WebCore::SVGRenderStyle::initialKerning): Ditto.
85228         (WebCore::SVGRenderStyle::initialStrokeDashOffset): Ditto.
85229         (WebCore::SVGRenderStyle::initialStrokeWidth): Specify 1px default value.
85230         (WebCore::SVGRenderStyle::setStrokeDashArray): Takes a Vector<SVGLength> now, not a PassRefPtr<CSSValueList>.
85231         (WebCore::SVGRenderStyle::setStrokeWidth): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
85232         (WebCore::SVGRenderStyle::setStrokeDashOffset): Ditto.
85233         (WebCore::SVGRenderStyle::setKerning): Ditto.
85234         (WebCore::SVGRenderStyle::setStopColor): Pass Color as const-reference.
85235         (WebCore::SVGRenderStyle::setFloodColor): Ditto.
85236         (WebCore::SVGRenderStyle::setLightingColor): Ditto.
85237         (WebCore::SVGRenderStyle::setBaselineShiftValue): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
85238         (WebCore::SVGRenderStyle::setShadow): Reformat, had wrong style.
85239         (WebCore::SVGRenderStyle::setClipperResource): Pass String as const-reference.
85240         (WebCore::SVGRenderStyle::setFilterResource): Ditto.
85241         (WebCore::SVGRenderStyle::setMaskerResource): Ditto.
85242         (WebCore::SVGRenderStyle::setMarkerStartResource): Ditto.
85243         (WebCore::SVGRenderStyle::setMarkerMidResource): Ditto.
85244         (WebCore::SVGRenderStyle::setMarkerEndResource): Ditto.
85245         (WebCore::SVGRenderStyle::strokeDashArray): Return Vector<SVGLength>.
85246         (WebCore::SVGRenderStyle::strokeWidth): Return SVGLength.
85247         (WebCore::SVGRenderStyle::strokeDashOffset): Ditto.
85248         (WebCore::SVGRenderStyle::kerning): Ditto.
85249         (WebCore::SVGRenderStyle::baselineShiftValue): Ditto.
85250         * rendering/style/SVGRenderStyleDefs.cpp:
85251         (WebCore::StyleStrokeData::StyleStrokeData): Changed initialization order, to group stroke properties.
85252         * rendering/style/SVGRenderStyleDefs.h: Store SVGLength values instead of reference counted CSS objects.
85253         * svg/SVGLength.cpp:
85254         (WebCore::SVGLength::SVGLength): Add copy constructor.
85255         (WebCore::SVGLength::operator==): Add comparision operator.
85256         (WebCore::SVGLength::operator!=): Ditto.
85257         (WebCore::SVGLength::fromCSSPrimitiveValue): New static helper function to convert from a CSSPrimitiveValue.
85258         (WebCore::SVGLength::toCSSPrimitiveValue): New static helper function to convert to a CSSPrimitiveValue.
85259         * svg/SVGLength.h: Reindent.
85260
85261 2010-08-06  Luiz Agostini  <luiz.agostini@openbossa.org>
85262
85263         Reviewed by Kenneth Rohde Christiansen.
85264
85265         [Qt] Move Qt's popup menu implementation from WebCore to WebKit layer
85266         https://bugs.webkit.org/show_bug.cgi?id=43427
85267
85268         After PopupMenu changes in bug 42592 class QtAbstractWebPopup became unecessary and
85269         there is no need to keep any Qt specific code for popup menus in WebCore/platform/qt.
85270
85271         PopupMenuQt has been moved from WebCore/platform/qt to WebKit/qt/WebCoreSupport and
85272         assumed the responsibilities of QtAbstractWebPopup. SearchPopupMenuQt has been moved
85273         to WebKit/qt/WebCoreSupport as well.
85274
85275         All classes that previously inherited from QtAbstractWebPopup now inherit from 
85276         QWebSelectMethod and QtPlatformPlugin's method createSelectInputMethod now returns an
85277         instance of class QWebSelectMethod instead of QtAbstractWebPopup.
85278
85279         * WebCore.pro:
85280         * platform/qt/PopupMenuQt.cpp: Removed.
85281         * platform/qt/PopupMenuQt.h: Removed.
85282         * platform/qt/QtAbstractWebPopup.cpp: Removed.
85283         * platform/qt/QtAbstractWebPopup.h: Removed.
85284         * platform/qt/SearchPopupMenuQt.cpp: Removed.
85285         * platform/qt/SearchPopupMenuQt.h: Removed.
85286
85287 2010-08-05  Marcus Bulach  <bulach@chromium.org>
85288
85289         Reviewed by Jeremy Orlow.
85290
85291         Initial bindings and plumbing for IDBCursor.
85292         https://bugs.webkit.org/show_bug.cgi?id=41888
85293
85294         Test: storage/indexeddb/idb-opencursor.html
85295
85296         * Android.derived.jscbindings.mk:
85297         * Android.derived.v8bindings.mk:
85298         * Android.mk:
85299         * CMakeLists.txt:
85300         * DerivedSources.cpp:
85301         * DerivedSources.make:
85302         * GNUmakefile.am:
85303         * WebCore.gypi:
85304         * WebCore.pri:
85305         * WebCore.pro:
85306         * WebCore.vcproj/WebCore.vcproj:
85307         * WebCore.xcodeproj/project.pbxproj:
85308         * bindings/v8/custom/V8IDBAnyCustom.cpp:
85309         (WebCore::toV8):
85310         * storage/IDBAny.cpp:
85311         (WebCore::IDBAny::idbCursor):
85312         (WebCore::IDBAny::set):
85313         * storage/IDBAny.h:
85314         (WebCore::IDBAny::):
85315         * storage/IDBCallbacks.h:
85316         * storage/IDBCursor.cpp: Added.
85317         (WebCore::IDBCursor::IDBCursor):
85318         (WebCore::IDBCursor::~IDBCursor):
85319         (WebCore::IDBCursor::direction):
85320         (WebCore::IDBCursor::key):
85321         (WebCore::IDBCursor::value):
85322         (WebCore::IDBCursor::update):
85323         (WebCore::IDBCursor::continueFunction):
85324         (WebCore::IDBCursor::remove):
85325         * storage/IDBCursor.h: Added.
85326         (WebCore::IDBCursor::):
85327         (WebCore::IDBCursor::create):
85328         * storage/IDBCursor.idl: Added.
85329         * storage/IDBCursorBackendImpl.cpp: Added.
85330         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
85331         (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
85332         (WebCore::IDBCursorBackendImpl::direction):
85333         (WebCore::IDBCursorBackendImpl::key):
85334         (WebCore::IDBCursorBackendImpl::value):
85335         (WebCore::IDBCursorBackendImpl::update):
85336         (WebCore::IDBCursorBackendImpl::continueFunction):
85337         (WebCore::IDBCursorBackendImpl::remove):
85338         * storage/IDBCursorBackendImpl.h: Added.
85339         (WebCore::IDBCursorBackendImpl::create):
85340         * storage/IDBCursorBackendInterface.h: Added.
85341         (WebCore::IDBCursorBackendInterface::~IDBCursorBackendInterface):
85342         * storage/IDBObjectStore.cpp:
85343         (WebCore::IDBObjectStore::openCursor):
85344         * storage/IDBObjectStore.h:
85345         * storage/IDBObjectStore.idl:
85346         * storage/IDBObjectStoreBackendImpl.cpp:
85347         (WebCore::IDBObjectStoreBackendImpl::openCursor):
85348         * storage/IDBObjectStoreBackendImpl.h:
85349         * storage/IDBObjectStoreBackendInterface.h:
85350         * storage/IDBRequest.cpp:
85351         (WebCore::IDBRequest::onSuccess):
85352         (WebCore::IDBRequest::timerFired):
85353         * storage/IDBRequest.h:
85354
85355 2010-08-06  Andrei Popescu  <andreip@google.com>
85356
85357         Unreviewed, release build fix.
85358
85359         Leopard relase build is broken due to absolute path to JSIDBTransaction.cpp file present in Xcode project file.
85360         https://bugs.webkit.org/show_bug.cgi?id=43616
85361
85362         * WebCore.xcodeproj/project.pbxproj:
85363
85364 2010-08-05  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
85365
85366         Reviewed by Jeremy Orlow.
85367
85368         [IndexedDB] IndexedDB is missing the Transaction interface.
85369         https://bugs.webkit.org/show_bug.cgi?id=42970
85370
85371         Add IDBTransaction boilerplate.
85372
85373         No new tests, not functional yet.
85374
85375         * Android.derived.jscbindings.mk:
85376         * Android.derived.v8bindings.mk:
85377         * Android.mk:
85378         * CMakeLists.txt:
85379         * DerivedSources.cpp:
85380         * DerivedSources.make:
85381         * GNUmakefile.am:
85382         * WebCore.gypi:
85383         * WebCore.pri:
85384         * WebCore.pro:
85385         * WebCore.vcproj/WebCore.vcproj:
85386         * WebCore.xcodeproj/project.pbxproj:
85387         * dom/EventNames.h:
85388         * storage/IDBDatabase.cpp:
85389         (WebCore::IDBDatabase::transaction):
85390         * storage/IDBDatabase.h:
85391         * storage/IDBDatabase.idl:
85392         * storage/IDBDatabaseBackendImpl.cpp:
85393         (WebCore::IDBDatabaseBackendImpl::transaction):
85394         * storage/IDBDatabaseBackendImpl.h:
85395         * storage/IDBDatabaseBackendInterface.h:
85396         * storage/IDBRequest.cpp:
85397         (WebCore::IDBRequest::IDBRequest):
85398         (WebCore::IDBRequest::canSuspend):
85399         (WebCore::IDBRequest::timerFired):
85400         (WebCore::IDBRequest::onEventCommon):
85401         * storage/IDBRequest.h:
85402         * storage/IDBTransaction.cpp: Added.
85403         (WebCore::IDBTransaction::IDBTransaction):
85404         (WebCore::IDBTransaction::~IDBTransaction):
85405         (WebCore::IDBTransaction::mode):
85406         (WebCore::IDBTransaction::db):
85407         (WebCore::IDBTransaction::objectStore):
85408         (WebCore::IDBTransaction::abort):
85409         (WebCore::IDBTransaction::scriptExecutionContext):
85410         (WebCore::IDBTransaction::canSuspend):
85411         (WebCore::IDBTransaction::eventTargetData):
85412         (WebCore::IDBTransaction::ensureEventTargetData):
85413         * storage/IDBTransaction.h: Added.
85414         (WebCore::IDBTransaction::create):
85415         (WebCore::IDBTransaction::):
85416         (WebCore::IDBTransaction::toIDBTransaction):
85417         (WebCore::IDBTransaction::refEventTarget):
85418         (WebCore::IDBTransaction::derefEventTarget):
85419         * storage/IDBTransaction.idl: Added.
85420         * storage/IDBTransactionBackendInterface.h: Added.
85421         (WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):
85422
85423 2010-08-06  Rafael Antognolli  <antognolli@profusion.mobi>
85424
85425         Unreviewed build fix.
85426
85427         [EFL] Regression (64735) build fix for efl.
85428         https://bugs.webkit.org/show_bug.cgi?id=43564
85429
85430         Removing bindings/js/ScriptArray.cpp from the WebCore_SOURCES.
85431         No new features, so no new tests.
85432
85433         * CMakeLists.txt:
85434
85435 2010-08-05  Alexey Proskuryakov  <ap@apple.com>
85436
85437         Fix http/tests/webarchive/test-css-url-encoding-shift-jis.html
85438
85439         For some reason, I didn't see the failure locally, but bots complain.
85440
85441         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
85442         Register "shift-jis" (with dash instead of underscore). At least Firefox supports it.
85443
85444 2010-08-05  Ben Murdoch  <benm@google.com>
85445
85446         Reviewed by Simon Fraser.
85447
85448         Form button input elements lacking text in some cases after switching from
85449         visibility:collapse to visibility:visible
85450         https://bugs.webkit.org/show_bug.cgi?id=38050
85451         
85452         A relayout is required after toggling visibility from collapse to another value.
85453
85454         Test: fast/css/visibility-collapse-form-buttons.html
85455
85456         * rendering/style/RenderStyle.cpp:
85457         (WebCore::RenderStyle::diff): If we're toggling from visibility:collapse to another
85458             visibility value (or vice versa) then we need to trigger a relayout.
85459
85460 2010-08-05  Alexey Proskuryakov  <ap@apple.com>
85461
85462         Reviewed by Darin Adler.
85463
85464         https://bugs.webkit.org/show_bug.cgi?id=43554
85465         Way too many encoding aliases are treated as valid
85466
85467         <rdar://problem/7863399> Garbage characters displayed in some yesky.com pages.
85468
85469         <rdar://problem/7859068> Garbage characters displayed for most text at ceping.zhaopin.com
85470
85471         Test: http/tests/misc/bad-charset-alias.html
85472
85473         * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForCSSCharset):
85474         Fix encoding name length computation. Previously, a trailing quote was ignored by
85475         TextEncodingRegistry.
85476         
85477         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
85478         Added dashes to alias names that didn't have them. Added aliases prompted by regression tests.
85479
85480         * platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::registerEncodingNames):
85481         Don't register 8859-1, other browsers do not support this encoding name.
85482
85483         * platform/text/TextEncoding.cpp: (WebCore::Latin1Encoding):
85484         "Latin-1" is not a real encoding name, it's not known to Firefox or IE.
85485
85486         * platform/text/TextEncodingRegistry.cpp:
85487         (WebCore::TextEncodingNameHash::equal): Changed to no longer ignore non-alphanumeric characters.
85488         There is a good chance that we'll be missing support for some necessary alias names, but other
85489         browsers don't ignore any characters when matching names.
85490         (WebCore::TextEncodingNameHash::hash): Ditto.
85491         (WebCore::checkExistingName): Re-formatted a line.
85492         (WebCore::isUndesiredAlias): Added a filter to reject "8859_1" and any names containing commas.
85493         (WebCore::addToTextEncodingNameMap): Used it.
85494         (WebCore::atomicCanonicalTextEncodingName): Changed to no longer ignore non-alphanumeric characters.
85495
85496 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
85497
85498         Reviewed by Laszlo Gombos.
85499
85500         [Qt] Temporary files should not be created in the current directory
85501         https://bugs.webkit.org/show_bug.cgi?id=43562
85502
85503         Don't create temporary files in the current directory, use QDir::tempPath()
85504         instead, as suggested by the QTemporaryFile documentation.
85505
85506         * platform/qt/FileSystemQt.cpp:
85507         (WebCore::openTemporaryFile):
85508
85509 2010-08-05  François Sausset  <sausset@gmail.com>
85510
85511         Reviewed by Kenneth Rohde Christiansen.
85512
85513         Make STIX font the default one to render MathML
85514         https://bugs.webkit.org/show_bug.cgi?id=41961
85515
85516         * css/mathml.css:
85517         (math):
85518
85519 2010-08-05  Cosmin Truta  <ctruta@chromium.org>
85520
85521         Reviewed by Eric Seidel.
85522
85523         Apply a stylistic fix to the patch 62640.
85524         https://bug-41175-attachments.webkit.org/attachment.cgi?id=62640
85525         https://bugs.webkit.org/show_bug.cgi?id=41175
85526
85527         * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
85528         (getImageData):
85529
85530 2010-08-05  Patrick Gansterer  <paroga@paroga.com>
85531
85532         Reviewed by Adam Roben.
85533
85534         Make SearchPopupMenuWin more portable
85535         https://bugs.webkit.org/show_bug.cgi?id=43527
85536
85537         Add #if PLATFORM(CF) around CoreFoundation code.
85538
85539         * platform/win/SearchPopupMenuWin.cpp:
85540         (WebCore::SearchPopupMenuWin::enabled):
85541         (WebCore::SearchPopupMenuWin::saveRecentSearches):
85542         (WebCore::SearchPopupMenuWin::loadRecentSearches):
85543
85544 2010-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
85545
85546         Unreviewed, rolling out r63653.
85547         http://trac.webkit.org/changeset/63653
85548         https://bugs.webkit.org/show_bug.cgi?id=43592
85549
85550         regressed multiple background-images (Requested by smfr on
85551         #webkit).
85552
85553         * manual-tests/css3-background-layer-count.html: Removed.
85554         * rendering/style/FillLayer.cpp:
85555         (WebCore::FillLayer::fillUnsetProperties):
85556         (WebCore::FillLayer::cullEmptyLayers):
85557         * rendering/style/RenderStyle.h:
85558         (WebCore::InheritedFlags::adjustBackgroundLayers):
85559         (WebCore::InheritedFlags::adjustMaskLayers):
85560
85561 2010-08-05  Mark Rowe  <mrowe@apple.com>
85562
85563         Reviewed by Jon Honeycutt.
85564
85565         Fix some leaks seen on the buildbot.
85566
85567         * platform/graphics/cg/GraphicsContext3DCG.cpp:
85568         (WebCore::GraphicsContext3D::paintToCanvas): Adopt the newly-created CoreGraphics objects rather than sharing ownership
85569         and over-incrementing their reference count. Also cleaned up the bizarre wrapping used for function arguments while I was
85570         touching this code.
85571
85572 2010-08-05  James Robinson  <jamesr@chromium.org>
85573
85574         Rubber stamped by Eric Seidel.
85575
85576         [SVG] SVGPathSeg.cpp needs an #if ENABLE(SVG) guard
85577         https://bugs.webkit.org/show_bug.cgi?id=43599
85578
85579         Matches the rest of the .cpp files in this directory.
85580
85581         * svg/SVGPathSeg.cpp:
85582
85583 2010-08-05  Erik Arvidsson  <arv@chromium.org>
85584
85585         Reviewed by Kent Tamura.
85586
85587         Calling setCustomValidity should trigger a layout
85588         https://bugs.webkit.org/show_bug.cgi?id=43582
85589
85590         Test: fast/forms/setCustomValidity.html
85591
85592         * html/ValidityState.cpp:
85593         (WebCore::ValidityState::setCustomErrorMessage): Call setNeedsValidityCheck to tell the system that the validity might have changed.
85594         * html/ValidityState.h:
85595
85596 2010-08-05  Sam Weinig  <sam@webkit.org>
85597
85598         Reviewed by Anders Carlsson.
85599
85600         Add ability to get a JSValueRef for a node handle and a world
85601         https://bugs.webkit.org/show_bug.cgi?id=43591
85602
85603         * WebCore.exp.in: Add exports.
85604
85605 2010-08-05  Gavin Barraclough  <barraclough@apple.com>
85606
85607         Rubber stamped by Sam Weinig
85608
85609         Bug 43594 - Add string forwards to Forward.h
85610         This allows us to remove forward declarations for these classes from
85611         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
85612
85613         * WebCore.xcodeproj/project.pbxproj:
85614         * accessibility/AXObjectCache.h:
85615         * accessibility/AccessibilityARIAGrid.h:
85616         * accessibility/AccessibilityListBoxOption.h:
85617         * accessibility/AccessibilityObject.h:
85618         * accessibility/AccessibilityRenderObject.h:
85619         * accessibility/AccessibilityTable.h:
85620         * bindings/cpp/WebDOMCString.h:
85621         * bindings/cpp/WebDOMString.h:
85622         * bindings/gobject/ConvertToUTF8String.h:
85623         * bindings/js/DOMWrapperWorld.h:
85624         * bindings/js/JSDOMBinding.h:
85625         * bindings/js/JSDOMWindowBase.h:
85626         * bindings/js/JSMessagePortCustom.h:
85627         * bindings/js/JavaScriptCallFrame.h:
85628         * bindings/js/ScriptController.h:
85629         * bindings/js/ScriptProfile.h:
85630         * bindings/js/ScriptSourceProvider.h:
85631         * bindings/js/ScriptString.h:
85632         * bindings/js/WorkerScriptController.h:
85633         * bindings/objc/DOMImplementationFront.h:
85634         * bindings/v8/ScheduledAction.h:
85635         * bindings/v8/ScriptController.h:
85636         * bindings/v8/V8DOMWindowShell.h:
85637         * bindings/v8/V8Proxy.h:
85638         * bindings/v8/V8Utilities.h:
85639         * bindings/v8/custom/V8CustomXPathNSResolver.h:
85640         * bridge/c/c_utility.h:
85641         * css/CSSFontSelector.h:
85642         * css/CSSHelper.h:
85643         * css/CSSOMUtils.h:
85644         * css/CSSPrimitiveValue.h:
85645         * css/MediaList.h:
85646         * css/StyleBase.h:
85647         * css/StyleSheetList.h:
85648         * css/WebKitCSSKeyframesRule.h:
85649         * dom/CheckedRadioButtons.h:
85650         * dom/DOMImplementation.h:
85651         * dom/DocumentMarker.h:
85652         * dom/DynamicNodeList.h:
85653         * dom/EventTarget.h:
85654         * dom/MessagePort.h:
85655         * dom/MessagePortChannel.h:
85656         * dom/NameNodeList.h:
85657         * dom/Node.h:
85658         * dom/NodeList.h:
85659         * dom/OptionGroupElement.h:
85660         * dom/ScriptExecutionContext.h:
85661         * dom/SelectElement.h:
85662         * dom/ViewportArguments.h:
85663         * dom/make_names.pl:
85664         * editing/HTMLInterchange.h:
85665         * editing/htmlediting.h:
85666         * editing/markup.h:
85667         * html/CollectionCache.h:
85668         * html/DOMFormData.h:
85669         * html/DataGridColumnList.h:
85670         * html/DateComponents.h:
85671         * html/FileStream.h:
85672         * html/FileStreamProxy.h:
85673         * html/FormDataList.h:
85674         (WebCore::FormDataList::appendData):
85675         * html/HTMLCollection.h:
85676         * html/HTMLElementStack.h:
85677         * html/HTMLFormattingElementList.h:
85678         * html/HTMLParserQuirks.h:
85679         * html/HTMLQuoteElement.h:
85680         * html/HTMLScriptRunnerHost.h:
85681         * html/StepRange.h:
85682         * html/canvas/CanvasGradient.h:
85683         * html/canvas/CanvasNumberArray.h:
85684         * html/canvas/CanvasPattern.h:
85685         * inspector/InjectedScript.h:
85686         * inspector/InspectorCSSStore.h:
85687         * inspector/InspectorClient.h:
85688         * inspector/InspectorFrontendClient.h:
85689         * inspector/InspectorValues.h:
85690         * inspector/ScriptDebugListener.h:
85691         * loader/CachedResourceClient.h:
85692         * loader/CrossOriginAccessControl.h:
85693         * loader/DocumentThreadableLoader.h:
85694         * loader/FrameLoaderClient.h:
85695         * loader/RedirectScheduler.h:
85696         * loader/SubframeLoader.h:
85697         * loader/appcache/DOMApplicationCache.h:
85698         * loader/archive/ArchiveFactory.h:
85699         * loader/icon/IconDatabaseClient.h:
85700         * notifications/NotificationPresenter.h:
85701         * page/Chrome.h:
85702         * page/ChromeClient.h:
85703         * page/Console.h:
85704         * page/ContextMenuClient.h:
85705         * page/DOMSelection.h:
85706         * page/EditorClient.h:
85707         * page/EventHandler.h:
85708         * page/FrameView.h:
85709         * page/GeolocationPositionCache.h:
85710         * page/History.h:
85711         * page/Location.h:
85712         * page/Navigator.h:
85713         * page/NavigatorBase.h:
85714         * page/PluginHalterClient.h:
85715         * page/PrintContext.h:
85716         * page/SpeechInput.h:
85717         * page/SpeechInputListener.h:
85718         * page/animation/AnimationController.h:
85719         * platform/CookieJar.h:
85720         * platform/CrossThreadCopier.h:
85721         * platform/DragImage.h:
85722         * platform/FileSystem.h:
85723         * platform/Language.h:
85724         * platform/Length.h:
85725         * platform/LinkHash.h:
85726         * platform/LocalizationStrategy.h:
85727         * platform/LocalizedStrings.h:
85728         * platform/Logging.h:
85729         * platform/Pasteboard.h:
85730         * platform/PopupMenuClient.h:
85731         * platform/SearchPopupMenu.h:
85732         * platform/Widget.h:
85733         * platform/cf/BinaryPropertyList.h:
85734         * platform/chromium/ChromiumBridge.h:
85735         * platform/chromium/ClipboardUtilitiesChromium.h:
85736         * platform/cocoa/KeyEventCocoa.h:
85737         * platform/graphics/Color.h:
85738         * platform/graphics/FontCache.h:
85739         * platform/graphics/FontData.h:
85740         * platform/graphics/FontSelector.h:
85741         * platform/graphics/GraphicsTypes.h:
85742         * platform/graphics/Icon.h:
85743         * platform/graphics/ImageBuffer.h:
85744         * platform/graphics/ImageSource.h:
85745         * platform/graphics/MediaPlayer.h:
85746         * platform/graphics/MediaPlayerPrivate.h:
85747         * platform/graphics/Path.h:
85748         * platform/graphics/StringTruncator.h:
85749         * platform/graphics/cairo/FontCustomPlatformData.h:
85750         * platform/graphics/cairo/FontPlatformData.h:
85751         * platform/graphics/cg/FontPlatformData.h:
85752         * platform/graphics/cg/ImageSourceCG.h:
85753         * platform/graphics/chromium/FontCustomPlatformData.h:
85754         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
85755         * platform/graphics/chromium/FontPlatformDataLinux.h:
85756         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
85757         * platform/graphics/haiku/FontCustomPlatformData.h:
85758         * platform/graphics/mac/FontCustomPlatformData.h:
85759         * platform/graphics/mac/FontPlatformData.h:
85760         * platform/graphics/qt/FontCustomPlatformData.h:
85761         * platform/graphics/qt/FontPlatformData.h:
85762         * platform/graphics/win/FontCustomPlatformData.h:
85763         * platform/graphics/win/FontCustomPlatformDataCairo.h:
85764         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
85765         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
85766         * platform/graphics/wince/FontPlatformData.h:
85767         * platform/graphics/wince/MediaPlayerPrivateWince.h:
85768         * platform/graphics/wince/MediaPlayerProxy.h:
85769         * platform/graphics/wx/FontCustomPlatformData.h:
85770         * platform/graphics/wx/FontPlatformData.h:
85771         * platform/mac/PasteboardHelper.h:
85772         * platform/network/DNS.h:
85773         * platform/network/FormData.h:
85774         * platform/network/FormDataBuilder.h:
85775         * platform/network/HTTPParsers.h:
85776         * platform/text/Hyphenation.h:
85777         * platform/text/LineEnding.h:
85778         * platform/text/TextCodec.h:
85779         * platform/text/TextEncoding.h:
85780         * platform/text/TextStream.h:
85781         * platform/win/BString.h:
85782         * platform/win/ClipboardUtilitiesWin.h:
85783         * platform/win/WCDataObject.h:
85784         * platform/win/WebCoreTextRenderer.h:
85785         * plugins/DOMMimeType.h:
85786         * plugins/DOMMimeTypeArray.h:
85787         * plugins/DOMPlugin.h:
85788         * plugins/DOMPluginArray.h:
85789         * rendering/CounterNode.h:
85790         * rendering/HitTestResult.h:
85791         * rendering/RenderObjectChildList.h:
85792         * rendering/RenderText.h:
85793         * rendering/RenderTreeAsText.h:
85794         * rendering/TextControlInnerElements.h:
85795         * rendering/style/ContentData.h:
85796         * rendering/style/RenderStyle.h:
85797         * storage/DatabaseAuthorizer.h:
85798         * storage/DatabaseTrackerClient.h:
85799         * storage/SQLTransaction.h:
85800         * storage/SQLTransactionSync.h:
85801         * storage/Storage.h:
85802         * storage/chromium/DatabaseObserver.h:
85803         * svg/SVGAnimatedTemplate.h:
85804         * svg/SVGDocumentExtensions.h:
85805         * svg/SVGGlyphElement.h:
85806         * svg/SVGHKernElement.h:
85807         * svg/SVGNumberList.h:
85808         * svg/SVGPointList.h:
85809         * svg/SVGPreserveAspectRatio.h:
85810         * svg/SVGStylable.h:
85811         * svg/SVGTests.h:
85812         * svg/SVGTransformList.h:
85813         * svg/SVGTransformable.h:
85814         * svg/SVGVKernElement.h:
85815         * websockets/ThreadableWebSocketChannel.h:
85816         * websockets/ThreadableWebSocketChannelClientWrapper.h:
85817         * websockets/WebSocket.h:
85818         * websockets/WebSocketChannel.h:
85819         * websockets/WebSocketHandshakeResponse.h:
85820         * wml/WMLErrorHandling.h:
85821         * wml/WMLPageState.h:
85822         * wml/WMLVariables.h:
85823         * workers/DefaultSharedWorkerRepository.h:
85824         * workers/SharedWorkerRepository.h:
85825         * workers/Worker.h:
85826         * workers/WorkerContextProxy.h:
85827         * workers/WorkerLoaderProxy.h:
85828         * workers/WorkerLocation.h:
85829         * workers/WorkerMessagingProxy.h:
85830         * workers/WorkerReportingProxy.h:
85831         * workers/WorkerThread.h:
85832         * xml/DOMParser.h:
85833         * xml/XMLHttpRequestUpload.h:
85834         * xml/XPathEvaluator.h:
85835         * xml/XPathExpression.h:
85836         * xml/XPathNSResolver.h:
85837         * xml/XPathResult.h:
85838         * xml/XPathUtil.h:
85839
85840 2010-08-05  Adam Barth  <abarth@webkit.org>
85841
85842         Reviewed by Eric Seidel.
85843
85844         U+0000 is turned to U+FFFD (replacement character)
85845         https://bugs.webkit.org/show_bug.cgi?id=42112
85846
85847         This patch introduces an intentional parsing difference from the HTML5
85848         parsing specificiation.  The spec requires us to convert NULL
85849         characters to U+FFFD, but doing so causes compatibility issues with a
85850         number of sites, including US Bank.
85851
85852         In this patch, we strip the null characters instead in certain cases.
85853         Firefox has made a corresponding change.  After gathering compatability
85854         data, we hope to convince the HTML WG to adopt this change.
85855
85856         Tests: fast/tokenizer/null-in-text.html
85857                fast/tokenizer/null-xss.html
85858
85859         * html/HTMLTokenizer.cpp:
85860         (WebCore::HTMLTokenizer::HTMLTokenizer):
85861         (WebCore::HTMLTokenizer::reset):
85862         * html/HTMLTokenizer.h:
85863         (WebCore::HTMLTokenizer::setSkipLeadingNewLineForListing):
85864         (WebCore::HTMLTokenizer::forceNullCharacterReplacement):
85865         (WebCore::HTMLTokenizer::setForceNullCharacterReplacement):
85866         (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
85867         (WebCore::HTMLTokenizer::InputStreamPreprocessor::InputStreamPreprocessor):
85868         (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
85869         * html/HTMLTreeBuilder.cpp:
85870         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
85871         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
85872         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
85873
85874 2010-08-05  Andy Estes  <aestes@apple.com>
85875
85876         Reviewed by David Kilzer.
85877
85878         Rename iOS-related OS and PLATFORM macros.
85879         https://bugs.webkit.org/show_bug.cgi?id=43493
85880
85881         Rename WTF_OS_IPHONE_OS to WTF_OS_IOS, WTF_PLATFORM_IPHONE to
85882         WTF_PLATFORM_IOS, and WTF_PLATFORM_IPHONE_SIMULATOR to
85883         WTF_PLATFORM_IOS_SIMULATOR.
85884
85885         * platform/cocoa/KeyEventCocoa.mm:
85886         * platform/iphone/KeyEventIPhone.mm:
85887         * platform/network/Credential.h:
85888
85889 2010-08-05  Anders Carlsson  <andersca@apple.com>
85890
85891         Reviewed by Sam Weinig.
85892
85893         Use the visited link provider for visited links
85894         https://bugs.webkit.org/show_bug.cgi?id=43583
85895
85896         Export Page::visitedStateChanged and Page::allvisitedStateChanged.
85897
85898         * WebCore.exp.in:
85899
85900 2010-08-05  Eric Seidel  <eric@webkit.org>
85901
85902         Reviewed by Nikolas Zimmermann.
85903
85904         Touching SVGNames should only rebuild hundreds of files, not thousands
85905         https://bugs.webkit.org/show_bug.cgi?id=43308
85906
85907         Remove SVGNames.h include from several core SVG header files
85908         which do not need to include it.
85909
85910         One of them, SVGPathSeg.h, required creation of an SVGPathSeg.cpp.
85911         A bunch of SVGPathSeg* could remove PlatformString.h includes if
85912         we moved their toString() methods into the .cpp files.
85913
85914         I re-indented on header to stop check-webkit-style from complaining.
85915         I removed a couple mode lines I saw, since my understanding from
85916         previous webkit-dev threads is that we plan to remove those all.
85917
85918         No functional change, thus no tests.
85919
85920         * Android.mk:
85921         * CMakeLists.txt:
85922         * GNUmakefile.am:
85923         * WebCore.gypi:
85924         * WebCore.pro:
85925         * WebCore.xcodeproj/project.pbxproj:
85926         * svg/SVGAllInOne.cpp:
85927         * svg/SVGAngle.h:
85928         * svg/SVGPathSeg.cpp: Added.
85929         (WebCore::SVGPathSeg::~SVGPathSeg):
85930         (WebCore::SVGPathSeg::pathSegType):
85931         (WebCore::SVGPathSeg::pathSegTypeAsLetter):
85932         (WebCore::SVGPathSeg::toString):
85933         (WebCore::SVGPathSeg::associatedAttributeName):
85934         (WebCore::SVGPathSegSingleCoord::toString):
85935         * svg/SVGPathSeg.h:
85936         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
85937         * svg/SVGPathSegArc.cpp:
85938         (WebCore::SVGPathSegArc::toString):
85939         * svg/SVGPathSegArc.h:
85940         (WebCore::SVGPathSegArc::SVGPathSegArc):
85941         * svg/SVGPathSegClosePath.h:
85942         (WebCore::SVGPathSegClosePath::create):
85943         (WebCore::SVGPathSegClosePath::pathSegType):
85944         (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
85945         (WebCore::SVGPathSegClosePath::toString):
85946         * svg/SVGPathSegCurvetoCubic.h:
85947         * svg/SVGPathSegCurvetoCubicSmooth.h:
85948         * svg/SVGPathSegCurvetoQuadratic.h:
85949         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
85950         * svg/SVGPathSegLineto.h:
85951         * svg/SVGPathSegLinetoHorizontal.h:
85952         * svg/SVGPathSegLinetoVertical.h:
85953         * svg/SVGPathSegMoveto.h:
85954         * svg/SVGTransform.h:
85955
85956 2010-08-05  Dirk Schulze  <krit@webkit.org>
85957
85958         Unreviewed sort of Xcode project file.
85959
85960         * WebCore.xcodeproj/project.pbxproj:
85961
85962 2010-08-05  Adam Barth  <abarth@webkit.org>
85963
85964         Actually make HTMLEntityNames.json valid JSON.
85965
85966         * html/HTMLEntityNames.json:
85967
85968 2010-08-05  Beth Dakin  <bdakin@apple.com>
85969
85970         Reviewed by Kenneth Rohde Christiansen.
85971
85972         Fix for https://bugs.webkit.org/show_bug.cgi?id=43516 REGRESSION: 
85973         Huge number of memory leaks after enabling MathML
85974         -and corresponding-
85975         <rdar://problem/8274123>
85976
85977         Destroy the old children in 
85978         RenderMathMLOperator::updateFromElement() instead of just removing 
85979         them since just removing them will cause them to leak.
85980         * mathml/RenderMathMLOperator.cpp:
85981         (WebCore::RenderMathMLOperator::updateFromElement):
85982
85983 2010-08-05  Tony Chang  <tony@chromium.org>
85984
85985         Reviewed by David Hyatt.
85986
85987         Fix a crash when a hidden iframe with a custom scrollbar finishes loading an image.
85988         https://bugs.webkit.org/show_bug.cgi?id=42724
85989
85990         Test: scrollbars/hidden-iframe-scrollbar-crash2.html
85991
85992         * page/FrameView.cpp:
85993         (WebCore::FrameView::createScrollbar):
85994         * rendering/RenderScrollbar.cpp:
85995         (WebCore::RenderScrollbar::createCustomScrollbar): Pass in Frame
85996         (WebCore::RenderScrollbar::RenderScrollbar): Pass in Frame
85997         (WebCore::RenderScrollbar::owningRenderer): Use the frame to get the RenderBox
85998         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
85999         (WebCore::RenderScrollbar::updateScrollbarParts):
86000         (WebCore::RenderScrollbar::updateScrollbarPart):
86001         * rendering/RenderScrollbar.h:
86002         * rendering/RenderScrollbarPart.cpp:
86003         (WebCore::RenderScrollbarPart::computeScrollbarWidth): null check
86004         (WebCore::RenderScrollbarPart::computeScrollbarHeight): null check
86005
86006 2010-08-05  Yong Li  <yoli@rim.com>
86007
86008         Reviewed by Adam Treat.
86009
86010         Fix the problem that down-sampling code doesn't work
86011         for some GIF's. GIF reader can call setSize() multiple times.
86012         We should clear the scaling maps before adding new entries.
86013         Also add a fast path to check if the size has changed since last time.
86014
86015         https://bugs.webkit.org/show_bug.cgi?id=43501
86016
86017         * platform/image-decoders/ImageDecoder.cpp:
86018         (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
86019         * platform/image-decoders/gif/GIFImageDecoder.cpp:
86020         (WebCore::GIFImageDecoder::setSize):
86021
86022 2010-08-05  Ilya Tikhonovsky  <loislo@chromium.org>
86023
86024         Reviewed by Yury Semikhatsky.
86025
86026         WebInspector: In the current implementation of inspector agents we're calling
86027         did methods manually. That is error prone and is bad from protocol point of view.
86028         It would be better to call did methods automatically from the corresponding methods
86029         of InspectorBackendDispatcher and report the results. As far as our protocol is
86030         statefull this trick will keep it in the consistent state.
86031         https://bugs.webkit.org/show_bug.cgi?id=43489
86032
86033         * inspector/CodeGeneratorInspector.pm:
86034         * inspector/Inspector.idl:
86035         * inspector/InspectorApplicationCacheAgent.cpp:
86036         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
86037         * inspector/InspectorApplicationCacheAgent.h:
86038         * inspector/InspectorBackend.cpp:
86039         (WebCore::InspectorBackend::getProfilerLogLines):
86040         (WebCore::InspectorBackend::setInjectedScriptSource):
86041         (WebCore::InspectorBackend::dispatchOnInjectedScript):
86042         (WebCore::InspectorBackend::clearConsoleMessages):
86043         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
86044         (WebCore::InspectorBackend::getDatabaseTableNames):
86045         * inspector/InspectorBackend.h:
86046         * inspector/InspectorCSSStore.cpp:
86047         (WebCore::InspectorCSSStore::inspectorStyleSheet):
86048         * inspector/InspectorCSSStore.h:
86049         * inspector/InspectorController.cpp:
86050         (WebCore::InspectorController::InspectorController):
86051         (WebCore::InspectorController::getCookies):
86052         (WebCore::InspectorController::getDOMStorageEntries):
86053         (WebCore::InspectorController::setDOMStorageItem):
86054         (WebCore::InspectorController::removeDOMStorageItem):
86055         (WebCore::InspectorController::getProfileHeaders):
86056         (WebCore::InspectorController::getProfile):
86057         (WebCore::InspectorController::editScriptSource):
86058         (WebCore::InspectorController::getScriptSource):
86059         (WebCore::InspectorController::setBreakpoint):
86060         (WebCore::InspectorController::getResourceContent):
86061         * inspector/InspectorController.h:
86062         (WebCore::InspectorController::inspectorClient):
86063         * inspector/InspectorDOMAgent.cpp:
86064         (WebCore::InspectorDOMAgent::getChildNodes):
86065         (WebCore::InspectorDOMAgent::setAttribute):
86066         (WebCore::InspectorDOMAgent::removeAttribute):
86067         (WebCore::InspectorDOMAgent::removeNode):
86068         (WebCore::InspectorDOMAgent::changeTagName):
86069         (WebCore::InspectorDOMAgent::getOuterHTML):
86070         (WebCore::InspectorDOMAgent::setOuterHTML):
86071         (WebCore::InspectorDOMAgent::setTextNodeValue):
86072         (WebCore::InspectorDOMAgent::getEventListenersForNode):
86073         (WebCore::InspectorDOMAgent::getStyles):
86074         (WebCore::InspectorDOMAgent::getAllStyles):
86075         (WebCore::InspectorDOMAgent::getStyleSheet):
86076         (WebCore::InspectorDOMAgent::getRuleRanges):
86077         (WebCore::InspectorDOMAgent::getInlineStyle):
86078         (WebCore::InspectorDOMAgent::getComputedStyle):
86079         (WebCore::InspectorDOMAgent::applyStyleText):
86080         (WebCore::InspectorDOMAgent::setStyleText):
86081         (WebCore::InspectorDOMAgent::setStyleProperty):
86082         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
86083         (WebCore::InspectorDOMAgent::setRuleSelector):
86084         (WebCore::InspectorDOMAgent::addRule):
86085         (WebCore::InspectorDOMAgent::buildObjectForRule):
86086         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
86087         * inspector/InspectorDOMAgent.h:
86088         * inspector/InspectorValues.cpp:
86089         (WebCore::InspectorValue::asNumber):
86090         (WebCore::InspectorBasicValue::asNumber):
86091         * inspector/InspectorValues.h:
86092         * inspector/front-end/Callback.js:
86093         (WebInspector.Callback.prototype.processCallback):
86094         (WebInspector.Callback.prototype.removeCallbackEntry):
86095         * inspector/front-end/ElementsPanel.js:
86096         (WebInspector.ElementsPanel.prototype.reset):
86097         * inspector/front-end/inspector.js:
86098         (WebInspector.reportProtocolError):
86099
86100 2010-08-04  Kenneth Russell  <kbr@google.com>
86101
86102         Reviewed by Dimitri Glazkov.
86103
86104         Style cleanups in WebGL
86105         https://bugs.webkit.org/show_bug.cgi?id=38761
86106
86107         Cleaned up all style violations in WebGL-related files reported by
86108         check-webkit-style. No logic or other changes. Built WebKit and
86109         Chromium and ran WebGL layout tests.
86110
86111         * html/canvas/ArrayBuffer.cpp:
86112         (WebCore::ArrayBuffer::ArrayBuffer):
86113         (WebCore::ArrayBuffer::data):
86114         (WebCore::ArrayBuffer::byteLength):
86115         (WebCore::ArrayBuffer::~ArrayBuffer):
86116         (WebCore::ArrayBuffer::tryAllocate):
86117         * html/canvas/ArrayBufferView.cpp:
86118         (WebCore::ArrayBufferView::setImpl):
86119         * html/canvas/ArrayBufferView.h:
86120         * html/canvas/TypedArrayBase.h:
86121         * html/canvas/WebGLBuffer.cpp:
86122         (WebCore::WebGLBuffer::deleteObjectImpl):
86123         (WebCore::WebGLBuffer::associateBufferData):
86124         * html/canvas/WebGLBuffer.h:
86125         (WebCore::WebGLBuffer::~WebGLBuffer):
86126         (WebCore::WebGLBuffer::elementArrayBuffer):
86127         (WebCore::WebGLBuffer::getTarget):
86128         (WebCore::WebGLBuffer::isBuffer):
86129         * html/canvas/WebGLFramebuffer.cpp:
86130         (WebCore::WebGLFramebuffer::deleteObjectImpl):
86131         * html/canvas/WebGLFramebuffer.h:
86132         (WebCore::WebGLFramebuffer::~WebGLFramebuffer):
86133         (WebCore::WebGLFramebuffer::isDepthAttached):
86134         (WebCore::WebGLFramebuffer::isStencilAttached):
86135         (WebCore::WebGLFramebuffer::isDepthStencilAttached):
86136         (WebCore::WebGLFramebuffer::isFramebuffer):
86137         * html/canvas/WebGLGetInfo.cpp:
86138         * html/canvas/WebGLGetInfo.h:
86139         * html/canvas/WebGLObject.cpp:
86140         (WebCore::WebGLObject::deleteObject):
86141         * html/canvas/WebGLObject.h:
86142         (WebCore::WebGLObject::object):
86143         (WebCore::WebGLObject::detachContext):
86144         (WebCore::WebGLObject::context):
86145         (WebCore::WebGLObject::isBuffer):
86146         (WebCore::WebGLObject::isFramebuffer):
86147         (WebCore::WebGLObject::isProgram):
86148         (WebCore::WebGLObject::isRenderbuffer):
86149         (WebCore::WebGLObject::isShader):
86150         (WebCore::WebGLObject::isTexture):
86151         * html/canvas/WebGLProgram.cpp:
86152         (WebCore::WebGLProgram::deleteObjectImpl):
86153         * html/canvas/WebGLProgram.h:
86154         (WebCore::WebGLProgram::~WebGLProgram):
86155         (WebCore::WebGLProgram::isLinkFailureFlagSet):
86156         (WebCore::WebGLProgram::setLinkFailureFlag):
86157         (WebCore::WebGLProgram::isProgram):
86158         * html/canvas/WebGLRenderbuffer.cpp:
86159         (WebCore::WebGLRenderbuffer::deleteObjectImpl):
86160         * html/canvas/WebGLRenderbuffer.h:
86161         (WebCore::WebGLRenderbuffer::~WebGLRenderbuffer):
86162         (WebCore::WebGLRenderbuffer::setInternalFormat):
86163         (WebCore::WebGLRenderbuffer::getInternalFormat):
86164         (WebCore::WebGLRenderbuffer::isInitialized):
86165         (WebCore::WebGLRenderbuffer::setInitialized):
86166         (WebCore::WebGLRenderbuffer::isRenderbuffer):
86167         * html/canvas/WebGLRenderingContext.cpp:
86168         (WebCore::WebGLRenderingContext::beginPaint):
86169         (WebCore::WebGLRenderingContext::blendEquation):
86170         (WebCore::WebGLRenderingContext::getActiveAttrib):
86171         (WebCore::WebGLRenderingContext::getActiveUniform):
86172         (WebCore::WebGLRenderingContext::getBufferParameter):
86173         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
86174         (WebCore::WebGLRenderingContext::vertexAttribPointer):
86175         * html/canvas/WebGLRenderingContext.h:
86176         (WebCore::WebGLRenderingContext::is3d):
86177         (WebCore::WebGLRenderingContext::isAccelerated):
86178         (WebCore::WebGLRenderingContext::graphicsContext3D):
86179         (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
86180         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
86181         (WebCore::WebGLRenderingContext::VertexAttribState::initValue):
86182         * html/canvas/WebGLShader.cpp:
86183         (WebCore::WebGLShader::deleteObjectImpl):
86184         * html/canvas/WebGLShader.h:
86185         (WebCore::WebGLShader::~WebGLShader):
86186         (WebCore::WebGLShader::getType):
86187         (WebCore::WebGLShader::isShader):
86188         * html/canvas/WebGLTexture.cpp:
86189         (WebCore::WebGLTexture::deleteObjectImpl):
86190         * html/canvas/WebGLTexture.h:
86191         (WebCore::WebGLTexture::~WebGLTexture):
86192         (WebCore::WebGLTexture::isCubeMapRWrapModeInitialized):
86193         (WebCore::WebGLTexture::setCubeMapRWrapModeInitialized):
86194         (WebCore::WebGLTexture::isTexture):
86195         (WebCore::WebGLTexture::LevelInfo::LevelInfo):
86196         (WebCore::WebGLTexture::LevelInfo::setInfo):
86197         * platform/graphics/GraphicsContext3D.h:
86198         (WebCore::GraphicsContext3D::):
86199         (WebCore::GraphicsContext3D::Attributes::Attributes):
86200         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
86201         (WebCore::GraphicsContext3D::platformTexture):
86202         (WebCore::GraphicsContext3D::platformLayer):
86203
86204 2010-08-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
86205
86206         Reviewed by Simon Hausmann.
86207
86208         Make the viewport meta tag parser support the Android
86209         target-densitydpi extension.
86210         http://webkit.org/b/43492
86211
86212         http://developer.android.com/reference/android/webkit/WebView.html
86213         Section 'Building web pages to support different screen densities'
86214
86215         * dom/ViewportArguments.cpp:
86216         (WebCore::setViewportFeature):
86217         (WebCore::viewportErrorMessageTemplate):
86218         * dom/ViewportArguments.h:
86219         (WebCore::):
86220         (WebCore::ViewportArguments::ViewportArguments):
86221         (WebCore::ViewportArguments::hasCustomArgument):
86222
86223 2010-08-05  Jian Li  <jianli@chromium.org>
86224  
86225         Reviewed by David Levin.
86226
86227         Unify blob related feature defines to ENABLE(BLOB).
86228         https://bugs.webkit.org/show_bug.cgi?id=43081
86229
86230         * Configurations/FeatureDefines.xcconfig:
86231         * GNUmakefile.am:
86232         * WebCore.pri:
86233         * bindings/js/JSEventTarget.cpp:
86234         (WebCore::toJS):
86235         * bindings/v8/V8DOMWrapper.cpp:
86236         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
86237         * dom/EventTarget.cpp:
86238         * dom/EventTarget.h:
86239         * dom/ExceptionCode.h:
86240         (WebCore::):
86241         * dom/ScriptExecutionContext.cpp:
86242         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
86243         * dom/ScriptExecutionContext.h:
86244         * html/Blob.cpp:
86245         * html/Blob.h:
86246         * html/Blob.idl:
86247         * html/FileError.h:
86248         * html/FileError.idl:
86249         * html/FileReader.cpp:
86250         * html/FileReader.h:
86251         * html/FileReader.idl:
86252         * html/FileStream.cpp:
86253         (WebCore::FileStream::openForRead):
86254         * html/FileStream.h:
86255         * html/FileStreamClient.h:
86256         * html/FileStreamProxy.cpp:
86257         * html/FileStreamProxy.h:
86258         * html/FileThread.cpp:
86259         * html/FileThread.h:
86260         * page/DOMWindow.idl:
86261         * platform/BlobItem.cpp:
86262         (WebCore::getFileSnapshotModificationTime):
86263         (WebCore::DataBlobItem::slice):
86264         (WebCore::FileBlobItem::slice):
86265         * platform/BlobItem.h:
86266         * platform/network/FormData.cpp:
86267         (WebCore::FormData::deepCopy):
86268         (WebCore::FormData::appendFile):
86269         (WebCore::FormData::appendItem):
86270         (WebCore::FormData::appendKeyValuePairItems):
86271         * platform/network/FormData.h:
86272         (WebCore::operator==):
86273         * platform/network/mac/FormDataStreamMac.mm:
86274         (WebCore::closeCurrentStream):
86275         (WebCore::advanceCurrentStream):
86276         (WebCore::formCreate):
86277         (WebCore::formRead):
86278         (WebCore::setHTTPBody):
86279
86280 2010-08-05  Xan Lopez  <xlopez@igalia.com>
86281
86282         Reviewed by Gustavo Noronha.
86283
86284         When trying to wrap a Node we know is an Element fallback to a
86285         simple Element wrapper in the worst case, not to Node.
86286
86287         * bindings/gobject/WebKitDOMBinding.cpp:
86288         (WebKit::createWrapper):
86289
86290 2010-08-05  François Sausset  <sausset@gmail.com>
86291
86292         Reviewed by Kenneth Rohde Christiansen.
86293
86294         Implement basic values of MathML mathvariant attribute
86295         https://bugs.webkit.org/show_bug.cgi?id=43481
86296
86297         Test: mathml/presentation/attributes.xhtml
86298
86299         * css/mathml.css:
86300         (math[mathvariant="normal"], mstyle[mathvariant="normal"], mo[mathvariant="normal"], mn[mathvariant="normal"], mi[mathvariant="normal"], mtext[mathvariant="normal"], mspace[mathvariant="normal"], ms[mathvariant="normal"]):
86301         (math[mathvariant="bold"], mstyle[mathvariant="bold"], mo[mathvariant="bold"], mn[mathvariant="bold"], mi[mathvariant="bold"], mtext[mathvariant="bold"], mspace[mathvariant="bold"], ms[mathvariant="bold"]):
86302         (math[mathvariant="italic"], mstyle[mathvariant="italic"], mo[mathvariant="italic"], mn[mathvariant="italic"], mi[mathvariant="italic"], mtext[mathvariant="italic"], mspace[mathvariant="italic"], ms[mathvariant="italic"]):
86303         (math[mathvariant="bold-italic"], mstyle[mathvariant="bold-italic"], mo[mathvariant="bold-italic"], mn[mathvariant="bold-italic"], mi[mathvariant="bold-italic"], mtext[mathvariant="bold-italic"], mspace[mathvariant="bold-italic"], ms[mathvariant="bold-italic"]):
86304         * mathml/mathattrs.in:
86305
86306 2010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86307
86308         Reviewed by Pavel Feldman.
86309
86310         Web Inspector: inspected page crashes when there is a cyclic reference in Object prototype
86311         https://bugs.webkit.org/show_bug.cgi?id=43558
86312
86313         Test: inspector/debugger-cyclic-ref.html
86314
86315         * bindings/v8/ScriptValue.cpp:
86316         (WebCore::v8ToInspectorValue):
86317
86318 2010-08-05  Satish Sampath  <satish@chromium.org>
86319
86320         Reviewed by Jeremy Orlow.
86321
86322         Fix rendering of speech button and enable layout tests
86323         https://bugs.webkit.org/show_bug.cgi?id=43425
86324
86325         Rewrote the speech button rendering code to match how the spin buttons (for input type=number)
86326         are implemented as the previous implementation did not work well on many platforms.
86327
86328         * rendering/RenderTextControlSingleLine.cpp:
86329         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
86330         (WebCore::RenderTextControlSingleLine::layout):
86331         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
86332         (WebCore::RenderTextControlSingleLine::styleDidChange):
86333         (WebCore::RenderTextControlSingleLine::hasControlClip):
86334         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
86335         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
86336         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
86337         (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
86338         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
86339         * rendering/RenderTextControlSingleLine.h:
86340         * rendering/TextControlInnerElements.cpp:
86341         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
86342         (WebCore::InputFieldSpeechButtonElement::create):
86343         * rendering/TextControlInnerElements.h:
86344
86345 2010-08-05  Andrey Kosyakov  <caseq@chromium.org>
86346
86347         Reviewed by Pavel Feldman.
86348
86349         Web Inspector: Separated WebInspector extension API injection logic from other scripts that inspector injects.
86350         Enabled injection of the API scripts even if inspector is disabled for inspector front-end page.
86351         https://bugs.webkit.org/show_bug.cgi?id=43344
86352
86353         * inspector/InspectorController.cpp:
86354         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
86355         (WebCore::InspectorController::setInspectorExtensionAPI):
86356         * inspector/InspectorController.h:
86357         * inspector/InspectorFrontendHost.cpp:
86358         (WebCore::InspectorFrontendHost::setExtensionAPI):
86359
86360 2010-08-05  Charles Wei  <charles.wei@torchmobile.com.cn>
86361
86362         Reviewed by George Staikos.
86363
86364         <noscript> is working the other way around in some cases with xhtmlmp enabled
86365         https://bugs.webkit.org/show_bug.cgi?id=43469
86366
86367         Test: fast/xhtmlmp/noscript-basic.xhtml
86368
86369         * dom/Document.cpp:
86370         (WebCore::Document::Document):
86371
86372 2010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86373
86374         Unreviewed. Fix Win compilation.
86375
86376         * bindings/js/JSBindingsAllInOne.cpp:
86377
86378 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
86379
86380         Reviewed by Tor Arne Vestbø.
86381
86382         [Qt] Clean up the input method handling
86383         https://bugs.webkit.org/show_bug.cgi?id=43545
86384
86385         Changed input method hint interface to be more efficient by setting
86386         all hints in one shot, like in QWidget.
86387
86388         * platform/qt/QWebPageClient.h:
86389
86390 2010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86391
86392         Reviewed by Pavel Feldman.
86393
86394         Web Inspector: remove mutator methods from ScriptObject and remove ScriptArray.
86395         We shouldn't modify JS objects from InspectorController, InspectorValues
86396         should be used instead.
86397         https://bugs.webkit.org/show_bug.cgi?id=43546
86398
86399         * GNUmakefile.am:
86400         * WebCore.gypi:
86401         * WebCore.pro:
86402         * WebCore.vcproj/WebCore.vcproj:
86403         * WebCore.xcodeproj/project.pbxproj:
86404         * bindings/js/ScriptArray.cpp: Removed.
86405         * bindings/js/ScriptArray.h: Removed.
86406         * bindings/js/ScriptCallStack.h:
86407         * bindings/js/ScriptObject.cpp:
86408         * bindings/js/ScriptObject.h:
86409         * bindings/v8/ScriptArray.cpp: Removed.
86410         * bindings/v8/ScriptArray.h: Removed.
86411         * bindings/v8/ScriptCallStack.h:
86412         * bindings/v8/ScriptObject.cpp:
86413         * bindings/v8/ScriptObject.h:
86414
86415 2010-08-05  Ned Holbrook  <nholbrook@apple.com>
86416
86417         Reviewed by Darin Adler.
86418
86419         ~5% complex layout performance improvement.
86420         https://bugs.webkit.org/show_bug.cgi?id=43436
86421
86422         * platform/graphics/mac/ComplexTextController.h:
86423         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
86424         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Use Vector rather than CFMutableData.
86425         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText): Ditto.
86426         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Avoid typesetter allocation unless using typesetter options.
86427
86428 2010-08-05  Steve Block  <steveblock@google.com>
86429
86430         Reviewed by Jeremy Orlow.
86431
86432         targetReferenceFromResource() in SVGResources.cpp is missing an ENABLE(FILTERS) guard
86433         https://bugs.webkit.org/show_bug.cgi?id=43550
86434
86435         Also updates an existing ENABLE(FILTERS) guard to avoid a compiler
86436         warning 'case FilterResourceType not handled in switch' when FILTERS
86437         is not enabled.
86438
86439         No new tests, build fix only.
86440
86441         * rendering/SVGResources.cpp:
86442         (WebCore::targetReferenceFromResource):
86443         (WebCore::SVGResources::resourceDestroyed):
86444
86445 2010-08-05  Victoria Kirst  <vrk@google.com>
86446
86447         Reviewed by David Levin.
86448
86449         Added logic to use glMapTexSubImage2D to write video layer to GPU
86450         texture. Also fixes CPU usage problem from previous patch.
86451         https://bugs.webkit.org/show_bug.cgi?id=43101
86452
86453         No change in user-visible functionality (since it isn't turned on),
86454         so no new tests.
86455
86456         * platform/graphics/chromium/VideoLayerChromium.cpp:
86457         (WebCore::VideoLayerChromium::VideoLayerChromium):
86458         (WebCore::VideoLayerChromium::updateTextureContents):
86459         (WebCore::VideoLayerChromium::createTextureRect):
86460         (WebCore::VideoLayerChromium::updateTextureRect):
86461         (WebCore::VideoLayerChromium::updateCompleted):
86462         * platform/graphics/chromium/VideoLayerChromium.h:
86463
86464 2010-08-05  Zoltan Horvath  <zoltan@webkit.org>
86465
86466         Reviewed by Simon Hausmann.
86467
86468         Allow custom memory allocation control for ClipperData struct
86469         https://bugs.webkit.org/show_bug.cgi?id=43337
86470
86471         Inherits the following class from FastAllocBase because it is
86472         instantiated by 'new':                                     
86473
86474         class name         - instantiated at: WebCore/'location'
86475         RenderLayerBacking - rendering/RenderSVGResourceClipper.cpp:165
86476
86477         * rendering/RenderSVGResourceClipper.h:
86478
86479 2010-08-05  Zoltan Horvath  <zoltan@webkit.org>
86480
86481         Reviewed by Simon Hausmann.
86482
86483         Allow custom memory allocation control for DoctypeData class
86484         https://bugs.webkit.org/show_bug.cgi?id=43343
86485
86486         Inherits the following class from Noncopyable because it is
86487         instantiated by 'new' and no need to be copyable:
86488
86489         class name  - instantiated at: WebCore/'location'
86490         DoctypeData - html/HTMLToken.h:113
86491
86492         * html/HTMLToken.h:
86493
86494 2010-08-05  François Sausset  <sausset@gmail.com>
86495
86496         Reviewed by Darin Adler.
86497
86498         Small style adjustments for MathML merror element.
86499         https://bugs.webkit.org/show_bug.cgi?id=43432
86500
86501         * css/mathml.css:
86502         (merror):
86503
86504 2010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86505
86506         Reviewed by Pavel Feldman.
86507
86508         Web Inspector: forbid InspectorController to create script objects directly in the frontend
86509         https://bugs.webkit.org/show_bug.cgi?id=43541
86510
86511         Cookie and AppCache data are now serialized into InspectorValues instead of
86512         ScriptObjects. These were last usages of InspectorFrontend::newScript{Object,Array}
86513         so we can remove them now and use only InspectorValues to pass data to the inspector
86514         frontend.
86515
86516         * inspector/Inspector.idl:
86517         * inspector/InspectorApplicationCacheAgent.cpp:
86518         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
86519         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
86520         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
86521         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
86522         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
86523         * inspector/InspectorApplicationCacheAgent.h:
86524         * inspector/InspectorController.cpp:
86525         (WebCore::InspectorController::connectFrontend):
86526         (WebCore::InspectorController::getCookies):
86527         (WebCore::InspectorController::buildArrayForCookies):
86528         (WebCore::InspectorController::buildObjectForCookie):
86529         * inspector/InspectorController.h:
86530         * inspector/InspectorFrontend.cpp:
86531         (WebCore::InspectorFrontend::setRecordingProfile):
86532         * inspector/InspectorFrontend.h:
86533
86534 2010-08-05  Mario Sanchez Prada  <msanchez@igalia.com>
86535
86536         Reviewed by Xan Lopez.
86537
86538         [GTK] Extra check needed at AccessibilityObject::visiblePositionRangeForRange
86539         https://bugs.webkit.org/show_bug.cgi?id=43418
86540
86541         Ensure the renderer is a RenderText before calling toRenderText()
86542
86543         Also, simplified code a bit to avoid so many nested if's in that
86544         part of the code, while keeping the same logic.
86545
86546         * accessibility/AccessibilityObject.cpp:
86547         (WebCore::AccessibilityObject::visiblePositionRangeForRange):
86548
86549 2010-08-05  Kwang Yul Seo  <skyul@company100.net>
86550
86551         Reviewed by Kent Tamura.
86552
86553         [BREWMP] Define htonl, htons, ntohl and ntohs
86554         https://bugs.webkit.org/show_bug.cgi?id=43397
86555
86556         In BREWMP, AEEStdLib.h provides macros for byte order conversion: HTONL, HTONS, NTOHL and NTOHS.
86557         Use these macros to define htonl, htons, ntohl and ntohs used by WOFFFileFormat.cpp.
86558
86559         * platform/graphics/WOFFFileFormat.cpp:
86560
86561 2010-08-04  Zoltan Herczeg  <zherczeg@webkit.org>
86562
86563         Reviewed by Nikolas Zimmermann.
86564
86565         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
86566         https://bugs.webkit.org/show_bug.cgi?id=42244
86567
86568         Implementing svgAttributeChanged for SVGFESpotLightElement object.
86569         Furthermore, invalidateFilter has been moved to SVGFilterElement, and
86570         it is a static function now.
86571
86572         Tests: svg/dynamic-updates/SVGFESpotLightElement-dom-limitingConeAngle-attr.html
86573                svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtX-attr.html
86574                svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtY-attr.html
86575                svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtZ-attr.html
86576                svg/dynamic-updates/SVGFESpotLightElement-dom-specularExponent-attr.html
86577                svg/dynamic-updates/SVGFESpotLightElement-dom-x-attr.html
86578                svg/dynamic-updates/SVGFESpotLightElement-dom-y-attr.html
86579                svg/dynamic-updates/SVGFESpotLightElement-dom-z-attr.html
86580                svg/dynamic-updates/SVGFESpotLightElement-svgdom-limitingConeAngle-prop.html
86581                svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtX-prop.html
86582                svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtY-prop.html
86583                svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtZ-prop.html
86584                svg/dynamic-updates/SVGFESpotLightElement-svgdom-specularExponent-prop.html
86585                svg/dynamic-updates/SVGFESpotLightElement-svgdom-x-prop.html
86586                svg/dynamic-updates/SVGFESpotLightElement-svgdom-y-prop.html
86587                svg/dynamic-updates/SVGFESpotLightElement-svgdom-z-prop.html
86588
86589         * svg/SVGFEDiffuseLightingElement.cpp:
86590         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
86591         * svg/SVGFELightElement.cpp:
86592         (WebCore::SVGFELightElement::svgAttributeChanged):
86593         (WebCore::SVGFELightElement::childrenChanged):
86594         * svg/SVGFELightElement.h:
86595         * svg/SVGFEOffsetElement.cpp:
86596         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
86597         * svg/SVGFESpecularLightingElement.cpp:
86598         * svg/SVGFilterElement.h:
86599         (WebCore::SVGFilterElement::invalidateFilter):
86600         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
86601         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
86602         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
86603         * svg/SVGFilterPrimitiveStandardAttributes.h:
86604
86605 2010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86606
86607         Reviewed by Pavel Feldman.
86608
86609         Web Inspector: serialize DOM storage items to InspectorValues
86610         https://bugs.webkit.org/show_bug.cgi?id=43486
86611
86612         * inspector/Inspector.idl:
86613         * inspector/InspectorController.cpp:
86614         (WebCore::InspectorController::populateScriptObjects):
86615         (WebCore::InspectorController::didUseDOMStorage):
86616         (WebCore::InspectorController::selectDOMStorage):
86617         (WebCore::InspectorController::getDOMStorageEntries):
86618         (WebCore::InspectorController::setDOMStorageItem):
86619         (WebCore::InspectorController::removeDOMStorageItem):
86620         * inspector/InspectorDOMStorageResource.cpp:
86621         (WebCore::InspectorDOMStorageResource::bind):
86622         * inspector/InspectorDOMStorageResource.h:
86623         * inspector/InspectorFrontend.cpp:
86624         * inspector/InspectorFrontend.h:
86625
86626 2010-08-04  Eric Seidel  <eric@webkit.org>
86627
86628         Reviewed by Adam Barth.
86629
86630         Enable HTML5 tree builder
86631         https://bugs.webkit.org/show_bug.cgi?id=42804
86632
86633         Months of work into a single line code change.
86634         Geez.  Should have thought of this sooner.
86635
86636         * html/HTMLTreeBuilder.cpp:
86637         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
86638
86639 2010-08-04  Kent Tamura  <tkent@chromium.org>
86640
86641         Reviewed by Darin Adler.
86642
86643         Spin-button behavior improvement for out-of-range values
86644         https://bugs.webkit.org/show_bug.cgi?id=43463
86645
86646         If the current value is smaller than the minimum value, the up
86647         button should change the value to the minimum value. If the
86648         current value is larger than the maximum value, the down button
86649         should change the value to the maximum value.
86650
86651         Test: fast/forms/input-number-outofrange.html
86652
86653         * html/HTMLInputElement.cpp:
86654         (WebCore::HTMLInputElement::stepUpFromRenderer):
86655
86656 2010-08-04  Antonio Gomes  <tonikitoo@webkit.org>
86657
86658         Reviewed by Daniel Bates.
86659
86660         Remove superfluous non-negative checks in HitTestResult:padding{Width|Height}
86661         https://bugs.webkit.org/show_bug.cgi?id=43534
86662
86663         As pointed out by Steve Block in https://bugs.webkit.org/show_bug.cgi?id=40197#c54 ,
86664         the non-negative checks present in both paddingWidth and paddingHeight methods of
86665         HitTestResults class are superflous, after we changed the rect based hit testing logic
86666         of invalid padding from IntSize(-1, -1) to IntSize(0, 0). Patch addresses this issue.
86667
86668         No new tests needed.
86669
86670         * rendering/HitTestResult.h:
86671         (WebCore::HitTestResult::paddingWidth):
86672         (WebCore::HitTestResult::paddingHeight):
86673
86674 2010-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
86675
86676         Unreviewed, rolling out r64674.
86677         http://trac.webkit.org/changeset/64674
86678         https://bugs.webkit.org/show_bug.cgi?id=43532
86679
86680         Doesn't work with HTML5 tree builder (Requested by tonyg-cr on
86681         #webkit).
86682
86683         * html/HTMLDocumentParser.cpp:
86684         (WebCore::HTMLDocumentParser::attemptToEnd):
86685         (WebCore::HTMLDocumentParser::endIfDelayed):
86686         * html/HTMLDocumentParser.h:
86687         * html/HTMLScriptRunner.cpp:
86688         (WebCore::HTMLScriptRunner::requestScript):
86689         (WebCore::HTMLScriptRunner::runScript):
86690         * html/HTMLScriptRunner.h:
86691
86692 2010-08-04  Adam Barth  <abarth@webkit.org>
86693
86694         Reviewed by Eric Seidel.
86695
86696         fast/parser/residual-style-hang.html hangs
86697         https://bugs.webkit.org/show_bug.cgi?id=42950
86698
86699         We need to cap the iteration of the adoption agency algorithm to
86700         prevent this hang.  The legacy tree builder does this as well.
86701
86702         * html/HTMLTreeBuilder.cpp:
86703         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
86704
86705 2010-08-04  Adam Barth  <abarth@webkit.org>
86706
86707         Reviewed by Eric Seidel.
86708
86709         Pick up spec change w.r.t. figcaption and summary
86710         https://bugs.webkit.org/show_bug.cgi?id=43075
86711
86712         * html/HTMLTreeBuilder.cpp:
86713         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
86714
86715 2010-08-04  Adam Barth  <abarth@webkit.org>
86716
86717         Reviewed by Eric Seidel.
86718
86719         Pick up spec change w.r.t. replacement character and <frameset>
86720         https://bugs.webkit.org/show_bug.cgi?id=43073
86721
86722         Apparently this fixes parsing for some home router configuration pages.
86723
86724         * html/HTMLTreeBuilder.cpp:
86725         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
86726
86727 2010-08-04  Gavin Barraclough  <barraclough@apple.com>
86728
86729         Reviewed by Sam Weinig.
86730
86731         Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
86732         (add forwarding headers)
86733
86734         * ForwardingHeaders/wtf/Bitmap.h: Added.
86735         * ForwardingHeaders/wtf/PageReservation.h: Added.
86736
86737 2010-08-04  Zhenyao Mo  <zmo@google.com>
86738
86739         Reviewed by Adam Barth.
86740
86741         getAttachedShaders takes wrong parameter type in WebGLRenderingContext.idl
86742         https://bugs.webkit.org/show_bug.cgi?id=43517
86743
86744         * html/canvas/WebGLRenderingContext.idl: Fix the wrong parameter type in getAttachedShaders().
86745
86746 2010-08-04  Kenneth Russell  <kbr@google.com>
86747
86748         Reviewed by Dimitri Glazkov.
86749
86750         Rename CanvasObject to WebGLObject
86751         https://bugs.webkit.org/show_bug.cgi?id=31564
86752
86753         Renamed CanvasObject to WebGLObject using do-webcore-rename script.
86754         Because it seems the new convention is to not check in the changes
86755         made to this script, only checking in its effects. No new tests;
86756         built and ran WebGL in Safari and Chromium to test.
86757
86758         * Android.mk:
86759         * WebCore.gypi:
86760         * WebCore.pro:
86761         * WebCore.xcodeproj/project.pbxproj:
86762         * html/canvas/CanvasObject.cpp: Removed.
86763         * html/canvas/CanvasObject.h: Removed.
86764         * html/canvas/CanvasRenderingContext.h:
86765         * html/canvas/WebGLBuffer.cpp:
86766         (WebCore::WebGLBuffer::WebGLBuffer):
86767         * html/canvas/WebGLBuffer.h:
86768         * html/canvas/WebGLFramebuffer.cpp:
86769         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
86770         (WebCore::WebGLFramebuffer::setAttachment):
86771         (WebCore::WebGLFramebuffer::onAttachedObjectChange):
86772         (WebCore::WebGLFramebuffer::isUninitialized):
86773         (WebCore::WebGLFramebuffer::setInitialized):
86774         * html/canvas/WebGLFramebuffer.h:
86775         * html/canvas/WebGLObject.cpp: Copied from WebCore/html/canvas/CanvasObject.cpp.
86776         (WebCore::WebGLObject::WebGLObject):
86777         (WebCore::WebGLObject::~WebGLObject):
86778         (WebCore::WebGLObject::setObject):
86779         (WebCore::WebGLObject::deleteObject):
86780         * html/canvas/WebGLObject.h: Copied from WebCore/html/canvas/CanvasObject.h.
86781         * html/canvas/WebGLProgram.cpp:
86782         (WebCore::WebGLProgram::WebGLProgram):
86783         * html/canvas/WebGLProgram.h:
86784         * html/canvas/WebGLRenderbuffer.cpp:
86785         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
86786         * html/canvas/WebGLRenderbuffer.h:
86787         * html/canvas/WebGLRenderingContext.cpp:
86788         (WebCore::objectOrZero):
86789         (WebCore::WebGLRenderingContext::validateWebGLObject):
86790         (WebCore::WebGLRenderingContext::removeObject):
86791         (WebCore::WebGLRenderingContext::addObject):
86792         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
86793         (WebCore::WebGLRenderingContext::findTexture):
86794         (WebCore::WebGLRenderingContext::findRenderbuffer):
86795         (WebCore::WebGLRenderingContext::findBuffer):
86796         (WebCore::WebGLRenderingContext::findShader):
86797         * html/canvas/WebGLRenderingContext.h:
86798         * html/canvas/WebGLShader.cpp:
86799         (WebCore::WebGLShader::WebGLShader):
86800         * html/canvas/WebGLShader.h:
86801         * html/canvas/WebGLTexture.cpp:
86802         (WebCore::WebGLTexture::WebGLTexture):
86803         * html/canvas/WebGLTexture.h:
86804         * html/canvas/WebGLUniformLocation.h:
86805         * platform/graphics/mac/GraphicsContext3DMac.mm:
86806         * platform/graphics/qt/GraphicsContext3DQt.cpp:
86807
86808 2010-08-04  Dan Bernstein  <mitz@apple.com>
86809
86810         Build fix.
86811
86812         * platform/text/mac/HyphenationMac.mm:
86813         (WebCore::lastHyphenLocation):
86814
86815 2010-08-04  Dan Bernstein  <mitz@apple.com>
86816
86817         Release build fix.
86818
86819         * platform/text/mac/HyphenationMac.mm:
86820         (WebCore::lastHyphenLocation):
86821
86822 2010-08-04  Mark Rowe  <mrowe@apple.com>
86823
86824         Reviewed by Sam Weinig.
86825
86826         Don't leak FontDescription objects inside MathML.
86827
86828         * mathml/RenderMathMLOperator.cpp:
86829         (WebCore::RenderMathMLOperator::updateFromElement): Don't unnecessarily allocate the FontDescription on the heap.
86830         (WebCore::RenderMathMLOperator::createStackableStyle): Ditto.
86831
86832 2010-08-04  Kenneth Russell  <kbr@google.com>
86833
86834         Reviewed by Dimitri Glazkov.
86835
86836         Add ANGLE dependency for Chromium WebCore build
86837         https://bugs.webkit.org/show_bug.cgi?id=43508
86838
86839         No new tests. Built modified version of patch from bug 42405 in
86840         Chromium to test.
86841
86842         * WebCore.gyp/WebCore.gyp:
86843
86844 2010-08-04  Dan Bernstein  <mitz@apple.com>
86845
86846         Allow the language for hyphenation to be specified
86847         https://bugs.webkit.org/show_bug.cgi?id=43467
86848
86849         Test: fast/text/hyphenate-locale.html
86850
86851         Added a -webkit-hyphenate-locale property whose value can be either auto or a locale identifier
86852         string. The initial value is auto and the property is inherited. When the value is a locale
86853         identifier, hyphenation should follow the rules for the specified locale.
86854
86855         * WebCore.xcodeproj/project.pbxproj: Added AtomicStringKeyedMRUCache.h.
86856         * css/CSSComputedStyleDeclaration.cpp:
86857         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle -webkit-hyphenate-locale.
86858         Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
86859         * css/CSSParser.cpp:
86860         (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-locale.
86861         * css/CSSPropertyNames.in: Added -webkit-hyphenate-locale.
86862         * css/CSSStyleSelector.cpp:
86863         (WebCore::CSSStyleSelector::applyProperty): Apply the -webkit-hyphenate-locale property to the
86864         RenderStyle. Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
86865         * platform/text/AtomicStringKeyedMRUCache.h: Added.
86866         (WebCore::AtomicStringKeyedMRUCache::get):
86867         * platform/text/Hyphenation.cpp:
86868         (WebCore::canHyphenate): Added an implementation that returns false.
86869         (WebCore::lastHyphenLocation): Now asserts that it is not called, because it is an error to call
86870         this function if canHyphenate() returned false.
86871         * platform/text/Hyphenation.h:
86872         Added canHyphenate(). Returns true if hyphenation is possible for the given locale identifier.
86873         * platform/text/android/HyphenationAndroid.cpp:
86874         (WebCore::canHyphenate): Added an implementation that returns true and a FIXME.
86875         (WebCore::lastHyphenLocation): Added unused localeIdentifier parameter.
86876         * platform/text/cf/HyphenationCF.cpp:
86877         (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForNullKey): Returns
86878         the CFLocaleRef for the current search locale.
86879         (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForKey): Returns a
86880         CFLocaleRef for the locale identifier.
86881         (WebCore::canHyphenate): Added. Returns true.
86882         (WebCore::lastHyphenLocation): Added localeIdentifier parameter, used to pass a CFLocaleRef to
86883         the hyphenation function.
86884         * platform/text/mac/HyphenationMac.mm:
86885         (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForNullKey): Returns whether the current
86886         search locale is english.
86887         (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForKey): Returns whether the locale identifier
86888         string identifies locale with the English language.
86889         (WebCore::canHyphenate): Added. Returns true if the locale language is English.
86890         (WebCore::lastHyphenLocation): Added localeIdentifier parameter and an assertion that its language
86891         is English.
86892         * rendering/RenderBlockLineLayout.cpp:
86893         (WebCore::tryHyphenating): Added a locale identifier parameter, which is passed down to
86894         lastHyphenLocation(). Added 1 to the value passed for the beforeIndex parameter to lastHyphenLocation(),
86895         because the latter only returns values smaller than that index. The Mac implementation could
86896         return a value equal to beforeIndex, but that is fixed in the WebKitSystemInterface part of this patch.
86897         (WebCore::RenderBlock::findNextLineBreak): Only set canHyphenate to true if hyphenation is possible
86898         for the specified hyphenation locale. Pass the hyphenation locale to tryHyphenating().
86899         * rendering/style/RenderStyle.cpp:
86900         (WebCore::RenderStyle::diff): Compare hyphenation locales.
86901         (WebCore::RenderStyle::hyphenString): Updated for the renaming of hyphenateCharacter() to
86902         hyphenationString().
86903         * rendering/style/RenderStyle.h:
86904         (WebCore::InheritedFlags::hyphenationString): Renamed hyphenateCharacter() to this.
86905         (WebCore::InheritedFlags::hyphenationLocale): Added this accessor.
86906         (WebCore::InheritedFlags::setHyphenationString): Renamed setHyphenateCharacter() to this.
86907         (WebCore::InheritedFlags::setHyphenationLocale): Added this accessor.
86908         (WebCore::InheritedFlags::initialHyphenationString): Renamed initialHyphenateCharacter() to this.
86909         (WebCore::InheritedFlags::initialHyphenateLocale): Added. Returns the null atom, which represents a
86910         value of auto.
86911         * rendering/style/StyleRareInheritedData.cpp:
86912         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Copy the hyphenation locale. Updated for
86913         rename.
86914         (WebCore::StyleRareInheritedData::operator==): Compare the hyphenation locales. Updated for rename.
86915         * rendering/style/StyleRareInheritedData.h:
86916
86917 2010-08-04  Tony Gentilcore  <tonyg@chromium.org>
86918
86919         Reviewed by Eric Seidel.
86920
86921         Support <script defer> as specified by HTML5
86922         https://bugs.webkit.org/show_bug.cgi?id=40934
86923
86924         See: http://dev.w3.org/html5/spec/Overview.html#the-end
86925
86926         Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
86927                fast/dom/HTMLScriptElement/defer-double-write.html
86928                fast/dom/HTMLScriptElement/defer-inline-script.html
86929                fast/dom/HTMLScriptElement/defer-onbeforeload.html
86930                fast/dom/HTMLScriptElement/defer-script-invalid-url.html
86931                http/tests/misc/script-defer-after-slow-stylesheet.html
86932                http/tests/misc/script-defer-write-slow-stylesheet.html
86933                http/tests/misc/script-defer.html
86934
86935         * html/HTMLDocumentParser.cpp:
86936         (WebCore::HTMLDocumentParser::attemptToEnd):
86937         (WebCore::HTMLDocumentParser::endIfDelayed):
86938         (WebCore::HTMLDocumentParser::executeScriptsWaitingForParsingAndEnd):
86939         * html/HTMLDocumentParser.h:
86940         * html/HTMLScriptRunner.cpp:
86941         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
86942         (WebCore::HTMLScriptRunner::requestScript):
86943         (WebCore::HTMLScriptRunner::requestParsingBlockingScript):
86944         (WebCore::HTMLScriptRunner::requestDeferredScript):
86945         (WebCore::HTMLScriptRunner::runScript):
86946         * html/HTMLScriptRunner.h:
86947         (WebCore::HTMLScriptRunner::PendingScript::PendingScript):
86948         (WebCore::HTMLScriptRunner::PendingScript::operator=):
86949
86950 2010-08-04  Kevin Ollivier  <kevino@theolliviers.com>
86951
86952         [wx] Build fix for gcc not importing all symbols from convenience libraries.
86953         Works on 10.6 only for Mac until the build system is reworked.
86954
86955         * bindings/scripts/CodeGeneratorCPP.pm: Add conditionals in impl. to header as well.
86956         * wscript: 
86957
86958 2010-08-04  Kevin Ollivier  <kevino@theolliviers.com>
86959
86960         [wx] Build fix. Enclose PlatformStrategy methods in USE(PLATFORM_STRATEGIES).
86961         
86962         * platform/LocalizedStrings.cpp:
86963
86964 2010-08-04  François Sausset  <sausset@gmail.com>
86965
86966         Reviewed by Kenneth Rohde Christiansen.
86967
86968         Remove unnecessary calls to setStyle() in MathML code that made RenderLayer crash.
86969         https://bugs.webkit.org/show_bug.cgi?id=42894
86970
86971         Test: mathml/presentation/style.xhtml
86972
86973         * mathml/MathMLInlineContainerElement.cpp:
86974         (WebCore::MathMLInlineContainerElement::createRenderer):
86975         * mathml/MathMLMathElement.cpp:
86976         (WebCore::MathMLMathElement::createRenderer):
86977         * mathml/MathMLTextElement.cpp:
86978         (WebCore::MathMLTextElement::createRenderer):
86979
86980 2010-08-03  Kenneth Russell  <kbr@google.com>
86981
86982         Reviewed by Nate Chapin.
86983
86984         Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
86985         https://bugs.webkit.org/show_bug.cgi?id=43221
86986
86987         Added a helper function to extract the contents of WebGL objects
86988         to reduce duplicated code and fix a couple of potential crashes
86989         introduced in the previous refactoring.
86990
86991         No new tests; ran existing WebGL tests.
86992
86993         * html/canvas/WebGLRenderingContext.cpp:
86994         (WebCore::WebGLRenderingContext::attachShader):
86995         (WebCore::WebGLRenderingContext::bindAttribLocation):
86996         (WebCore::WebGLRenderingContext::bindBuffer):
86997         (WebCore::WebGLRenderingContext::bindFramebuffer):
86998         (WebCore::WebGLRenderingContext::bindRenderbuffer):
86999         (WebCore::WebGLRenderingContext::bindTexture):
87000         (WebCore::WebGLRenderingContext::compileShader):
87001         (WebCore::WebGLRenderingContext::detachShader):
87002         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
87003         (WebCore::WebGLRenderingContext::framebufferTexture2D):
87004         (WebCore::WebGLRenderingContext::getActiveAttrib):
87005         (WebCore::WebGLRenderingContext::getActiveUniform):
87006         (WebCore::WebGLRenderingContext::getAttachedShaders):
87007         (WebCore::WebGLRenderingContext::getAttribLocation):
87008         (WebCore::WebGLRenderingContext::getProgramParameter):
87009         (WebCore::WebGLRenderingContext::getProgramInfoLog):
87010         (WebCore::WebGLRenderingContext::getShaderParameter):
87011         (WebCore::WebGLRenderingContext::getShaderInfoLog):
87012         (WebCore::WebGLRenderingContext::getShaderSource):
87013         (WebCore::WebGLRenderingContext::getUniform):
87014         (WebCore::WebGLRenderingContext::getUniformLocation):
87015         (WebCore::WebGLRenderingContext::linkProgram):
87016         (WebCore::WebGLRenderingContext::shaderSource):
87017         (WebCore::WebGLRenderingContext::useProgram):
87018         (WebCore::WebGLRenderingContext::validateProgram):
87019         (WebCore::WebGLRenderingContext::handleNPOTTextures):
87020         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
87021
87022 2010-08-04  Mario Sanchez Prada  <msanchez@igalia.com>
87023
87024         Reviewed by Jeremy Orlow.
87025
87026         [Gtk] Make sure DRT return the right AXTitle for controls
87027         https://bugs.webkit.org/show_bug.cgi?id=39997
87028
87029         Fallback to the text under the given element as its name in case
87030         it's a control element and has no associated label for it.
87031
87032         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
87033         (webkit_accessible_get_name):
87034
87035 2010-08-02  Kenneth Russell  <kbr@google.com>
87036
87037         Reviewed by Dimitri Glazkov.
87038
87039         Port Chromium's accelerated compositing to Mac OS X
87040         https://bugs.webkit.org/show_bug.cgi?id=43398
87041
87042         No new tests. Tested manually with CSS 3D and WebGL tests.
87043
87044         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
87045         (WebCore::clearBorderColor):
87046         (WebCore::clearLayerBackgroundColor):
87047          - Fixed compilation problems with gcc.
87048         * platform/graphics/chromium/ImageLayerChromium.cpp:
87049         (WebCore::ImageLayerChromium::updateTextureContents):
87050          - Added Core Graphics port.
87051         * platform/graphics/chromium/LayerChromium.cpp:
87052         (WebCore::LayerChromium::LayerChromium):
87053          - Fixed compilation problems with gcc related to initialization
87054            order of members.
87055         (WebCore::LayerChromium::updateTextureContents):
87056         (WebCore::LayerChromium::updateTextureRect):
87057          - Ported to Core Graphics, adjusting for lower-left coordinate
87058            system origin.
87059         * platform/graphics/chromium/LayerRendererChromium.cpp:
87060         (WebCore::LayerRendererChromium::LayerRendererChromium):
87061          - Fixed compilation problems with gcc related to initialization
87062            order of members.
87063         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
87064          - Ported to Core Graphics.
87065         (WebCore::LayerRendererChromium::drawLayers):
87066          - Added more debug-only error calls during drawing phase.
87067            Adjusted scrolling and incremental updating code for Core
87068            Graphics' lower-left coordinate system origin.
87069         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
87070          - Removed color channel swizzling in Core Graphics port. Fixed
87071            preexisting bug in initialization check of m_rootLayerTextureId.
87072         * platform/graphics/chromium/LayerRendererChromium.h:
87073          - Added needed data members for Core Graphics port.
87074
87075 2010-08-04  Yury Semikhatsky  <yurys@chromium.org>
87076
87077         Reviewed by Pavel Feldman.
87078
87079         Web Inspector: use InspectorValue to push dispatch results from the injected script
87080         https://bugs.webkit.org/show_bug.cgi?id=43483
87081
87082         * bindings/js/JSInjectedScriptHostCustom.cpp:
87083         (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
87084         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
87085         (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
87086         * inspector/InjectedScript.cpp:
87087         (WebCore::InjectedScript::dispatch):
87088         * inspector/InjectedScript.h:
87089         * inspector/InjectedScriptHost.cpp:
87090         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
87091         (WebCore::InjectedScriptHost::remoteFrontend):
87092         * inspector/InjectedScriptHost.h:
87093         * inspector/Inspector.idl:
87094         * inspector/InspectorBackend.cpp:
87095         (WebCore::InspectorBackend::dispatchOnInjectedScript):
87096         * inspector/InspectorController.cpp:
87097         (WebCore::InspectorController::didContinue):
87098         * inspector/InspectorFrontend.cpp:
87099         * inspector/InspectorFrontend.h:
87100
87101 2010-08-04  Abhishek Arya  <inferno@chromium.org>
87102
87103         Unreviewed. Put missing equivalent js bindings check.
87104
87105         Forgot putting js bindings check in http://trac.webkit.org/changeset/64647. This fixes the qt crash.
87106
87107         * bindings/js/JSDesktopNotificationsCustom.cpp:
87108         (WebCore::JSNotificationCenter::requestPermission):
87109
87110 2010-08-04  Yury Semikhatsky  <yurys@chromium.org>
87111
87112         Reviewed by Pavel Feldman.
87113
87114         Web Inspector: serialize database resources to InspectorValues
87115         https://bugs.webkit.org/show_bug.cgi?id=43482
87116
87117         * inspector/Inspector.idl:
87118         * inspector/InspectorBackend.cpp:
87119         (WebCore::InspectorBackend::getDatabaseTableNames):
87120         * inspector/InspectorController.cpp:
87121         (WebCore::InspectorController::populateScriptObjects):
87122         (WebCore::InspectorController::selectDatabase):
87123         (WebCore::InspectorController::didOpenDatabase):
87124         * inspector/InspectorController.h:
87125         * inspector/InspectorDatabaseResource.cpp:
87126         (WebCore::InspectorDatabaseResource::create):
87127         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
87128         (WebCore::InspectorDatabaseResource::bind):
87129         * inspector/InspectorDatabaseResource.h:
87130         * inspector/InspectorFrontend.cpp:
87131         * inspector/InspectorFrontend.h:
87132         * storage/Database.cpp:
87133         (WebCore::Database::openDatabase):
87134
87135 2010-08-03  Abhishek Arya  <inferno@chromium.org>
87136
87137         Reviewed by Alexey Proskuryakov.
87138
87139         Null the script execution context when disconnecting frame in notifications.
87140         Make sure that script execution context is valid in notification requestPermission.
87141         https://bugs.webkit.org/show_bug.cgi?id=43295
87142
87143         Tests: fast/notifications/notifications-document-close-crash.html
87144
87145         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
87146         (WebCore::V8NotificationCenter::requestPermissionCallback):
87147         * notifications/NotificationCenter.cpp:
87148         (WebCore::NotificationCenter::disconnectFrame):
87149
87150 2010-08-03  Adam Roben  <aroben@apple.com>
87151
87152         Turn on PLATFORM_STRATEGIES on Windows
87153
87154         Fixes <http://webkit.org/b/43431>.
87155
87156         Reviewed by Anders Carlsson.
87157
87158         * WebCore.vcproj/WebCore.vcproj: Added LocalizedStrings.cpp,
87159         PlatformStrategies.h, LocalizationStrategy.h, PluginStrategy.h, and
87160         VisitedLinkStrategy.h. Removed PluginDataWin.cpp
87161
87162         * platform/LocalizedStrings.cpp: Wrapped Mac-only functions in
87163         PLATFORM(MAC) guards.
87164
87165         (WebCore::uploadFileText):
87166         (WebCore::allFilesText):
87167         Added these Windows-only functions.
87168
87169         * plugins/win/PluginDataWin.cpp: Removed.
87170
87171 2010-08-04  Yury Semikhatsky  <yurys@chromium.org>
87172
87173         Reviewed by Pavel Feldman.
87174
87175         Web Inspector: serialize CPU profiles to InspectorValues instead of
87176         using JS wrappers.
87177         https://bugs.webkit.org/show_bug.cgi?id=43475
87178
87179         * Android.jscbindings.mk:
87180         * CMakeLists.txt:
87181         * GNUmakefile.am:
87182         * WebCore.pro:
87183         * WebCore.vcproj/WebCore.vcproj:
87184         * WebCore.xcodeproj/project.pbxproj:
87185         * bindings/js/ScriptProfile.h:
87186         * bindings/js/ScriptProfiler.cpp:
87187         (WebCore::ScriptProfiler::stop):
87188         * bindings/scripts/CodeGeneratorJS.pm:
87189         * bindings/v8/ScriptProfile.cpp:
87190         (WebCore::buildInspectorObjectFor):
87191         (WebCore::ScriptProfile::buildInspectorObjectForHead):
87192         * bindings/v8/ScriptProfile.h:
87193         * inspector/Inspector.idl:
87194         * inspector/InspectorController.cpp:
87195         (WebCore::InspectorController::addProfile):
87196         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
87197         (WebCore::InspectorController::getProfileHeaders):
87198         (WebCore::InspectorController::getProfile):
87199         (WebCore::InspectorController::createProfileHeader):
87200         * inspector/InspectorController.h:
87201         * inspector/InspectorFrontend.cpp:
87202         * inspector/InspectorFrontend.h:
87203
87204 2010-08-04  Andreas Kling  <andreas.kling@nokia.com>
87205
87206         Reviewed by Simon Hausmann.
87207
87208         [Qt] Use a QImage for the stroke applier scratch context
87209
87210         This avoids leaking a server-side resource on some graphics systems.
87211
87212         * platform/graphics/qt/PathQt.cpp:
87213         (WebCore::scratchContext):
87214
87215 2010-08-03  Ben Murdoch  <benm@google.com>
87216
87217         Reviewed by Darin Adler.
87218
87219         HTML5 parser may cause onload not to fire
87220         https://bugs.webkit.org/show_bug.cgi?id=43423
87221
87222         If a complex page causes the HTML parser to yield,
87223         then when parsing continues again and eventually
87224         finishes, we are missing a call to endIfDelayed(). This
87225         results in onload never being called.
87226
87227         Not for lack of trying, but it seems almost
87228         impossible to write a reliable test for this bug,
87229         due to the highly timing-dependent nature of the
87230         bug. The link above contains further discussion and
87231         attempts at writing a test.
87232         
87233         * html/HTMLDocumentParser.cpp:
87234         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
87235         Add a call to endIfDelayed() after pumping the tokenizer
87236         post the parser yielding to ensure that the parsing step
87237         is completed properly and the onload event fires.
87238
87239 2010-08-04  Dirk Schulze  <krit@webkit.org>
87240
87241         Unreviewed sort of Xcode project file.
87242
87243         * WebCore.xcodeproj/project.pbxproj:
87244
87245 2010-08-03  Darin Adler  <darin@apple.com>
87246
87247         Reviewed by Dan Bernstein.
87248
87249         System color changes are not applied properly
87250         https://bugs.webkit.org/show_bug.cgi?id=43468
87251
87252         * manual-tests/system-color-change.html: Added.
87253
87254         * rendering/RenderTheme.cpp:
87255         (WebCore::RenderTheme::platformColorsDidChange): Added a call to
87256         Page::setNeedsReapplyStyles, so all frames of all pages will recompute
87257         in case they use system colors. It's rare for these colors to change,
87258         so OK to do a little extra style computation.
87259
87260 2010-08-04  Nikolas Zimmermann  <nzimmermann@rim.com>
87261
87262         Not reviewed. Revert changed license in SVGFEOffsetElement.h, thanks Gabor for noticing.
87263
87264         * svg/SVGFEOffsetElement.h:
87265
87266 2010-08-03  Alexey Proskuryakov  <ap@apple.com>
87267
87268         Reviewed by Sam Weinig.
87269
87270         https://bugs.webkit.org/show_bug.cgi?id=42939
87271         WebEditorClient::didBeginEditing is never called in WebKit2
87272
87273         * page/FocusController.cpp: (WebCore::FocusController::setFocused): Focusing a page without
87274         a focused frame makes little sense, so WebKit used to focus a frame first when its view
87275         became first responder. For viewless frames, WebKit cannot know what to focus. The assumption
87276         here is that in all cases with null m_focusedFrame, it's the main frame that needs to be focused.
87277
87278 2010-08-03  Gavin Barraclough  <barraclough@apple.com>
87279
87280         Build fix following r64624.
87281
87282         * ForwardingHeaders/wtf/BitMap.h: Added.
87283
87284 2010-08-03  Kent Tamura  <tkent@chromium.org>
87285
87286         Reviewed by Ojan Vafai.
87287
87288         <input type=number> UI: Support wheel events
87289         https://bugs.webkit.org/show_bug.cgi?id=42441
87290
87291         Test: fast/forms/input-number-wheel.html
87292
87293         * html/HTMLInputElement.cpp:
87294         (WebCore::HTMLInputElement::defaultEventHandler):
87295          Call stepUpFromRenderer() for wheelDeltaY.
87296
87297 2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
87298
87299         Reviewed by David Kilzer.
87300
87301         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
87302         https://bugs.webkit.org/show_bug.cgi?id=40627
87303
87304         Part 6 - LayoutTest and Cleanup
87305
87306         Test: http/tests/appcache/origin-quota.html
87307
87308         * loader/appcache/ApplicationCacheGroup.cpp:
87309         (WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback): made synchronous, as asynchronously the cache group was deleted too soon.
87310         * loader/appcache/ApplicationCacheStorage.cpp:
87311         (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): all storing operations should force the database to be created if needed.
87312
87313 2010-08-03  Ryosuke Niwa  <rniwa@webkit.org>
87314
87315         Reviewed by Eric Seidel.
87316
87317         extractAndNegateTextDecorationStyle and maxRangeOffset in ApplyStyleCommand.cpp should be deleted
87318         https://bugs.webkit.org/show_bug.cgi?id=43437
87319
87320         Removed extractAndNegateTextDecorationStyle because we never push down text decorations added by CSS rules
87321         as discussed on the bug 27809. Also removed pushDownTextDecorationStyleAtBoundaries because it only existed
87322         to encapsulate the complexity of calling pushDownTextDecorationStyleAroundNode first with forceNegate = false
87323         (calling pushDownTextDecorationStyleAroundNode) and again with forceNegate = true (calling extractAndNegateTextDecorationStyle)
87324         after updating layout but neither the layout update nor the second call to pushDownTextDecorationStyleAroundNode
87325         is needed after the removal of extractAndNegateTextDecorationStyle.
87326
87327         Also replaced maxRangeOffset by lastOffsetForEditing as FIXME (added by r48235) indicated.
87328
87329         No new tests added since this is a clean up.
87330
87331         * editing/ApplyStyleCommand.cpp:
87332         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): No longer takes forceNegate as an argument.
87333         (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode directly.
87334         * editing/ApplyStyleCommand.h:
87335
87336 2010-08-03  Ryosuke Niwa  <rniwa@webkit.org>
87337
87338         Reviewed by Ojan Vafai.
87339
87340         Extract a function that serializes nodes from the range version of createMarkup
87341         https://bugs.webkit.org/show_bug.cgi?id=43405
87342
87343         Extracted serializeNodes that serializes nodes from createMarkup.
87344         No new tests added since this is a clean up.
87345
87346         * editing/markup.cpp:
87347         (WebCore::serializeNodes): Added.
87348         (WebCore::createMarkup): Calls serializeNodes.
87349
87350 2010-08-03  Brian Weinstein  <bweinstein@apple.com>
87351
87352         Fix the build by adding the needed MathML source files to WebCore's vcproj.
87353         Also, Visual Studio did some drive-by resorting of the vcproj, the added
87354         MathML files are the only important change.
87355
87356         * WebCore.vcproj/WebCore.vcproj:
87357
87358 2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
87359
87360         Reviewed by Nate Chapin.
87361
87362         Web Inspector: Missing ApplicationCache InspectorBackend Stub
87363         https://bugs.webkit.org/show_bug.cgi?id=43265
87364
87365         Registered "getApplicationCaches".
87366
87367         * inspector/front-end/InspectorBackendStub.js:
87368         (WebInspector.InspectorBackendStub): 
87369
87370 2010-08-03  Brian Weinstein  <bweinstein@apple.com>
87371
87372         Fix the Windows build by adding WebCore/mathml to the list of paths to look for header
87373         files.
87374
87375         * WebCore.vcproj/WebCoreCommon.vsprops:
87376
87377 2010-08-03  Mark Rowe  <mrowe@apple.com>
87378
87379         Fix the i386 build with a static_cast hammer.
87380
87381         * mathml/RenderMathMLFraction.cpp:
87382         (WebCore::RenderMathMLFraction::layout):
87383
87384 2010-08-03  Beth Dakin  <bdakin@apple.com>
87385
87386         Speculative build fix for Leopard.
87387
87388         * mathml/RenderMathMLOperator.cpp:
87389         * mathml/RenderMathMLRoot.cpp:
87390         (WebCore::RenderMathMLRoot::paint):
87391         (WebCore::RenderMathMLRoot::layout):
87392         * mathml/RenderMathMLSquareRoot.cpp:
87393         (WebCore::RenderMathMLSquareRoot::paint):
87394         * mathml/RenderMathMLSubSup.cpp:
87395
87396 2010-08-03  Beth Dakin  <bdakin@apple.com>
87397
87398         Speculative build fix.
87399
87400         * css/mathml.css:
87401         (mi):
87402         (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
87403         (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
87404         (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
87405
87406 2010-08-03  Geoffrey Garen  <ggaren@apple.com>
87407
87408         Reviewed by Mark Rowe.
87409
87410         https://bugs.webkit.org/show_bug.cgi?id=43444
87411         PLATFORM(CF) is false on Windows in JavaScriptCore
87412
87413         Moved some PLATFORM(WIN) #defines down into JavaScriptCore.
87414
87415         * config.h: Moved WTF_PLATFORM_CF 1 and WTF_USE_PTHREADS 0 to wtf/Platform.h.
87416         Removed #undef WTF_USE_WININET because wtf/Platform.h no longer #defines it.
87417
87418 2010-08-03  Alex Milowski  <alex@milowski.com>
87419
87420         Reviewed by Beth Dakin.
87421
87422         Changed the ENABLE_MATHML value to enable MathML by default.
87423
87424         * Configurations/FeatureDefines.xcconfig:
87425
87426 2010-07-30  Stephen White  <senorblanco@chromium.org>
87427
87428         Reviewed by Ojan Vafai.
87429
87430         Move PlatformContextSkia and NativeImageSkia into the WebCore namespace.
87431         https://bugs.webkit.org/show_bug.cgi?id=43272
87432
87433         One wrinkle is that PlatformContext and NativeImagePtr are 
87434         typedef'ed outside outside the WebCore namespace block, so the
87435         PlatformContextSkia and NativeImageSkia have to be forward-declared 
87436         explicitly within that namespace.  Another solution might be to move
87437         those declarations into the WebCore namespace block below, but that
87438         would affect platforms other than Skia, so I leave it to the reviewer
87439         to decide.
87440
87441         Test:  if it compiles, you're happy.
87442
87443         * platform/graphics/GraphicsContext.h:
87444         * platform/graphics/Image.h:
87445         * platform/graphics/ImageSource.h:
87446         * platform/graphics/skia/NativeImageSkia.cpp:
87447         (WebCore::NativeImageSkia::hasResizedBitmap):
87448         (WebCore::NativeImageSkia::shouldCacheResampling):
87449         * platform/graphics/skia/NativeImageSkia.h:
87450         * platform/graphics/skia/PlatformContextSkia.cpp:
87451         (WebCore::PlatformContextSkia::State::State):
87452         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
87453         (WebCore::PlatformContextSkia::drawRect):
87454         (WebCore::PlatformContextSkia::setupPaintForStroking):
87455         (WebCore::PlatformContextSkia::getStrokeStyle):
87456         (WebCore::PlatformContextSkia::setStrokeStyle):
87457         (WebCore::PlatformContextSkia::setTextDrawingMode):
87458         (WebCore::PlatformContextSkia::interpolationQuality):
87459         (WebCore::PlatformContextSkia::setInterpolationQuality):
87460         (WebCore::PlatformContextSkia::getImageResamplingHint):
87461         (WebCore::PlatformContextSkia::setImageResamplingHint):
87462         (WebCore::PlatformContextSkia::clearImageResamplingHint):
87463         (WebCore::PlatformContextSkia::applyClipFromImage):
87464         (WebCore::PlatformContextSkia::setGLES2Context):
87465         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
87466         (WebCore::PlatformContextSkia::prepareForHardwareDraw):
87467         (WebCore::PlatformContextSkia::syncSoftwareCanvas):
87468         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
87469         * platform/graphics/skia/PlatformContextSkia.h:
87470         (WebCore::PlatformContextSkia::gpuCanvas):
87471         * platform/graphics/skia/SkiaFontWin.cpp:
87472         (WebCore::windowsCanHandleDrawTextShadow):
87473         (WebCore::paintSkiaText):
87474         * platform/graphics/skia/SkiaFontWin.h:
87475
87476 2010-08-03  Adam Roben  <aroben@apple.com>
87477
87478         Rename LocalizedStringsMac.mm to LocalizedStrings.cpp
87479
87480         LocalizedStringsMac.mm should be usable by other ports
87481         https://bugs.webkit.org/show_bug.cgi?id=43441
87482
87483         Reviewed by Anders Carlsson.
87484
87485         * WebCore.xcodeproj/project.pbxproj: Updated the file's name and path.
87486
87487         * platform/LocalizedStrings.cpp: Renamed from
87488         WebCore/platform/mac/LocalizedStringsMac.mm. Changed #imports to
87489         #includes.
87490
87491 2010-08-03  James Robinson  <jamesr@chromium.org>
87492
87493         Reviewed by Darin Fisher.
87494
87495         Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
87496         https://bugs.webkit.org/show_bug.cgi?id=43221
87497
87498         Changes the GraphicsContext3D API to use Platform3DObjects instead of WebGLFoo* types like WebGLTexture.
87499         WebGLRenderingContext still uses WebGLFoo types and converts to Platform3DObjects internally.  Other
87500         consumers of the GraphicsContext3D can use the Platform3DObject APIs directly without any ties to WebGL.
87501
87502         The majority of this change is purely mechanical.  The less obvious changes are:
87503         - move all null checking on WebGLFoo types to WebGLRenderingContext, instead of mixing them
87504           between WebGLRenderingContext and the various port-specific implementations of GraphicsContext3D
87505         - add a GraphicsContext3D getter to CanvasRenderingContext.  This is needed for the readback
87506           path on Chromium/mac.  It may be possible to remove this, but I would prefer to do that
87507           in a follow-up patch to minimize churn.
87508         - move some texture cube map logic that existed only in the Chromium port of GC3D to
87509           WebGLRenderingContext behind #if PLATFORM(CHROMIUM). I think this logic should either
87510           exist for all ports or exist for none, but again I would rather change the behavior
87511           in a different patch from this one.
87512
87513         * html/canvas/CanvasRenderingContext.h:
87514         (WebCore::CanvasRenderingContext::graphicsContext3D):
87515         * html/canvas/WebGLProgram.cpp:
87516         (WebCore::WebGLProgram::cacheActiveAttribLocations):
87517         * html/canvas/WebGLRenderingContext.cpp:
87518         (WebCore::WebGLRenderingContext::attachShader):
87519         (WebCore::WebGLRenderingContext::bindAttribLocation):
87520         (WebCore::WebGLRenderingContext::bindBuffer):
87521         (WebCore::WebGLRenderingContext::bindFramebuffer):
87522         (WebCore::WebGLRenderingContext::bindRenderbuffer):
87523         (WebCore::WebGLRenderingContext::bindTexture):
87524         (WebCore::WebGLRenderingContext::compileShader):
87525         (WebCore::WebGLRenderingContext::detachShader):
87526         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
87527         (WebCore::WebGLRenderingContext::framebufferTexture2D):
87528         (WebCore::WebGLRenderingContext::getActiveAttrib):
87529         (WebCore::WebGLRenderingContext::getActiveUniform):
87530         (WebCore::WebGLRenderingContext::getAttachedShaders):
87531         (WebCore::WebGLRenderingContext::getAttribLocation):
87532         (WebCore::WebGLRenderingContext::getProgramParameter):
87533         (WebCore::WebGLRenderingContext::getProgramInfoLog):
87534         (WebCore::WebGLRenderingContext::getShaderParameter):
87535         (WebCore::WebGLRenderingContext::getShaderInfoLog):
87536         (WebCore::WebGLRenderingContext::getShaderSource):
87537         (WebCore::WebGLRenderingContext::getUniform):
87538         (WebCore::WebGLRenderingContext::getUniformLocation):
87539         (WebCore::WebGLRenderingContext::isBuffer):
87540         (WebCore::WebGLRenderingContext::isFramebuffer):
87541         (WebCore::WebGLRenderingContext::isProgram):
87542         (WebCore::WebGLRenderingContext::isRenderbuffer):
87543         (WebCore::WebGLRenderingContext::isShader):
87544         (WebCore::WebGLRenderingContext::isTexture):
87545         (WebCore::WebGLRenderingContext::linkProgram):
87546         (WebCore::WebGLRenderingContext::shaderSource):
87547         (WebCore::WebGLRenderingContext::useProgram):
87548         (WebCore::WebGLRenderingContext::validateProgram):
87549         (WebCore::WebGLRenderingContext::handleNPOTTextures):
87550         (WebCore::WebGLRenderingContext::createFallbackBlackTextures1x1):
87551         (WebCore::WebGLRenderingContext::initVertexAttrib0):
87552         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
87553         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
87554         * html/canvas/WebGLRenderingContext.h:
87555         (WebCore::WebGLRenderingContext::graphicsContext3D):
87556         * platform/graphics/GraphicsContext3D.h:
87557         * platform/graphics/mac/GraphicsContext3DMac.mm:
87558         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
87559         (WebCore::GraphicsContext3D::beginPaint):
87560         (WebCore::GraphicsContext3D::attachShader):
87561         (WebCore::GraphicsContext3D::bindAttribLocation):
87562         (WebCore::GraphicsContext3D::bindBuffer):
87563         (WebCore::GraphicsContext3D::bindFramebuffer):
87564         (WebCore::GraphicsContext3D::bindRenderbuffer):
87565         (WebCore::GraphicsContext3D::bindTexture):
87566         (WebCore::GraphicsContext3D::compileShader):
87567         (WebCore::GraphicsContext3D::detachShader):
87568         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
87569         (WebCore::GraphicsContext3D::framebufferTexture2D):
87570         (WebCore::GraphicsContext3D::getActiveAttrib):
87571         (WebCore::GraphicsContext3D::getActiveUniform):
87572         (WebCore::GraphicsContext3D::getAttachedShaders):
87573         (WebCore::GraphicsContext3D::getAttribLocation):
87574         (WebCore::GraphicsContext3D::isBuffer):
87575         (WebCore::GraphicsContext3D::isFramebuffer):
87576         (WebCore::GraphicsContext3D::isProgram):
87577         (WebCore::GraphicsContext3D::isRenderbuffer):
87578         (WebCore::GraphicsContext3D::isShader):
87579         (WebCore::GraphicsContext3D::isTexture):
87580         (WebCore::GraphicsContext3D::linkProgram):
87581         (WebCore::GraphicsContext3D::shaderSource):
87582         (WebCore::GraphicsContext3D::useProgram):
87583         (WebCore::GraphicsContext3D::validateProgram):
87584         (WebCore::GraphicsContext3D::getProgramiv):
87585         (WebCore::GraphicsContext3D::getProgramInfoLog):
87586         (WebCore::GraphicsContext3D::getShaderiv):
87587         (WebCore::GraphicsContext3D::getShaderInfoLog):
87588         (WebCore::GraphicsContext3D::getShaderSource):
87589         (WebCore::GraphicsContext3D::getUniformfv):
87590         (WebCore::GraphicsContext3D::getUniformiv):
87591         (WebCore::GraphicsContext3D::getUniformLocation):
87592         * platform/graphics/qt/GraphicsContext3DQt.cpp:
87593         (WebCore::GraphicsContext3D::beginPaint):
87594         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
87595         (WebCore::GraphicsContext3D::attachShader):
87596         (WebCore::GraphicsContext3D::bindAttribLocation):
87597         (WebCore::GraphicsContext3D::bindBuffer):
87598         (WebCore::GraphicsContext3D::bindFramebuffer):
87599         (WebCore::GraphicsContext3D::bindRenderbuffer):
87600         (WebCore::GraphicsContext3D::bindTexture):
87601         (WebCore::GraphicsContext3D::compileShader):
87602         (WebCore::GraphicsContext3D::detachShader):
87603         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
87604         (WebCore::GraphicsContext3D::framebufferTexture2D):
87605         (WebCore::GraphicsContext3D::getActiveAttrib):
87606         (WebCore::GraphicsContext3D::getActiveUniform):
87607         (WebCore::GraphicsContext3D::getAttribLocation):
87608         (WebCore::GraphicsContext3D::isBuffer):
87609         (WebCore::GraphicsContext3D::isFramebuffer):
87610         (WebCore::GraphicsContext3D::isProgram):
87611         (WebCore::GraphicsContext3D::isRenderbuffer):
87612         (WebCore::GraphicsContext3D::isShader):
87613         (WebCore::GraphicsContext3D::isTexture):
87614         (WebCore::GraphicsContext3D::linkProgram):
87615         (WebCore::GraphicsContext3D::shaderSource):
87616         (WebCore::GraphicsContext3D::useProgram):
87617         (WebCore::GraphicsContext3D::validateProgram):
87618         (WebCore::GraphicsContext3D::getProgramiv):
87619         (WebCore::GraphicsContext3D::getProgramInfoLog):
87620         (WebCore::GraphicsContext3D::getShaderiv):
87621         (WebCore::GraphicsContext3D::getShaderInfoLog):
87622         (WebCore::GraphicsContext3D::getShaderSource):
87623         (WebCore::GraphicsContext3D::getUniformfv):
87624         (WebCore::GraphicsContext3D::getUniformiv):
87625         (WebCore::GraphicsContext3D::getUniformLocation):
87626
87627 2010-08-03  Xan Lopez  <xlopez@igalia.com>
87628
87629         Reviewed by Gustavo Noronha.
87630
87631         [GTK] Fix DOM event dispatch
87632         https://bugs.webkit.org/show_bug.cgi?id=40847
87633
87634         Bind UI and Mouse events and add ad-hoc kit method for WebCore
87635         Events.
87636
87637         * GNUmakefile.am:
87638         * bindings/gobject/WebKitDOMBinding.cpp:
87639         (WebKit::kit):
87640         * bindings/gobject/WebKitDOMBinding.h:
87641         * bindings/gobject/WebKitDOMEventTarget.cpp:
87642         (WebKit::core):
87643         * bindings/gobject/WebKitDOMEventTargetPrivate.h: Added.
87644         * bindings/scripts/CodeGeneratorGObject.pm:
87645
87646 2010-08-03  Nikolas Zimmermann  <nzimmermann@rim.com>
87647
87648         Reviewed by Eric Seidel.
87649
87650         Cleanup all of svg/ code
87651         https://bugs.webkit.org/show_bug.cgi?id=43311
87652
87653         Unify the license header in all files in svg/, to use the same template as most WebCore files use.
87654         Unified email adress style, etc. all generated with a perl script attached to bug 43311.
87655
87656         * svg/...: Updated header template in all files, in the svg/ subdirectory.
87657
87658 2010-08-03  Andrei Popescu  <andreip@google.com>
87659
87660         Reviewed by Jeremy Orlow.
87661
87662         [IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
87663         https://bugs.webkit.org/show_bug.cgi?id=43420
87664
87665         Renaming IDBObjectStoreRequest to IDBObjectStore.
87666
87667         No new tests needed, just refactoring.
87668
87669         * Android.derived.jscbindings.mk:
87670         * Android.derived.v8bindings.mk:
87671         * Android.mk:
87672         * CMakeLists.txt:
87673         * DerivedSources.cpp:
87674         * DerivedSources.make:
87675         * GNUmakefile.am:
87676         * WebCore.gypi:
87677         * WebCore.pri:
87678         * WebCore.pro:
87679         * WebCore.vcproj/WebCore.vcproj:
87680         * WebCore.xcodeproj/project.pbxproj:
87681         * bindings/js/JSIDBAnyCustom.cpp:
87682         (WebCore::toJS):
87683         * bindings/v8/custom/V8IDBAnyCustom.cpp:
87684         (WebCore::toV8):
87685         * storage/IDBAny.cpp:
87686         (WebCore::IDBAny::idbObjectStore):
87687         (WebCore::IDBAny::set):
87688         * storage/IDBAny.h:
87689         (WebCore::IDBAny::):
87690         * storage/IDBCallbacks.h:
87691         * storage/IDBDatabase.cpp:
87692         (WebCore::IDBDatabase::objectStore):
87693         * storage/IDBDatabase.h:
87694         * storage/IDBDatabaseBackendImpl.cpp:
87695         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
87696         (WebCore::IDBDatabaseBackendImpl::objectStore):
87697         * storage/IDBDatabaseBackendImpl.h:
87698         * storage/IDBDatabaseBackendInterface.h:
87699         * storage/IDBObjectStore.cpp: Added.
87700         (WebCore::IDBObjectStore::IDBObjectStore):
87701         (WebCore::IDBObjectStore::name):
87702         (WebCore::IDBObjectStore::keyPath):
87703         (WebCore::IDBObjectStore::indexNames):
87704         (WebCore::IDBObjectStore::get):
87705         (WebCore::IDBObjectStore::add):
87706         (WebCore::IDBObjectStore::put):
87707         (WebCore::IDBObjectStore::remove):
87708         (WebCore::IDBObjectStore::createIndex):
87709         (WebCore::IDBObjectStore::index):
87710         (WebCore::IDBObjectStore::removeIndex):
87711         * storage/IDBObjectStore.h:
87712         (WebCore::IDBObjectStore::create):
87713         (WebCore::IDBObjectStore::~IDBObjectStore):
87714         * storage/IDBObjectStore.idl: Added.
87715         * storage/IDBObjectStoreBackendImpl.cpp: Added.
87716         (WebCore::IDBObjectStoreBackendImpl::~IDBObjectStoreBackendImpl):
87717         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
87718         (WebCore::IDBObjectStoreBackendImpl::indexNames):
87719         (WebCore::IDBObjectStoreBackendImpl::get):
87720         (WebCore::IDBObjectStoreBackendImpl::put):
87721         (WebCore::IDBObjectStoreBackendImpl::remove):
87722         (WebCore::IDBObjectStoreBackendImpl::createIndex):
87723         (WebCore::IDBObjectStoreBackendImpl::index):
87724         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
87725         * storage/IDBObjectStoreBackendImpl.h: Added.
87726         (WebCore::IDBObjectStoreBackendImpl::create):
87727         (WebCore::IDBObjectStoreBackendImpl::name):
87728         (WebCore::IDBObjectStoreBackendImpl::keyPath):
87729         * storage/IDBObjectStoreBackendInterface.h: Added.
87730         (WebCore::IDBObjectStoreBackendInterface::~IDBObjectStoreBackendInterface):
87731         * storage/IDBObjectStoreImpl.cpp: Removed.
87732         * storage/IDBObjectStoreImpl.h: Removed.
87733         * storage/IDBObjectStoreRequest.cpp: Removed.
87734         * storage/IDBObjectStoreRequest.h: Removed.
87735         * storage/IDBObjectStoreRequest.idl: Removed.
87736         * storage/IDBRequest.cpp:
87737         (WebCore::IDBRequest::onSuccess):
87738         * storage/IDBRequest.h:
87739
87740 2010-08-03  Martin Robinson  <mrobinson@igalia.com>
87741
87742         Reviewed by Ojan Vafai.
87743
87744         [GTK] Incorrect keyIdentifier for print screen key events
87745         https://bugs.webkit.org/show_bug.cgi?id=43422
87746
87747         Produce the correct keyIdentifier for GDK_Print (print screen).
87748
87749         * platform/gtk/KeyEventGtk.cpp:
87750         (WebCore::keyIdentifierForGdkKeyCode):
87751
87752 2010-08-03  Anton Muhin  <antonm@chromium.org>
87753
87754         Reviewed by David Levin.
87755
87756         [v8] Get current memory usage and make it available on stack before crashing due to out of memory
87757         https://bugs.webkit.org/show_bug.cgi?id=43426
87758
87759         That should allow us to diagnose the cases when the process just ran out of memory
87760         and hence V8 failed to allocate more OS pages.
87761
87762         * bindings/v8/V8DOMWindowShell.cpp:
87763         (WebCore::reportFatalErrorInV8):
87764
87765 2010-08-03  Leandro Pereira  <leandro@profusion.mobi>
87766
87767         Reviewed by Kenneth Rohde Christiansen.
87768
87769         [EFL] Implement HTML5 slider theme (using the scrollbar theme as base).
87770         https://bugs.webkit.org/show_bug.cgi?id=43430
87771
87772         EFL port does not yet support automated tests.
87773
87774         * platform/efl/RenderThemeEfl.cpp:
87775         (WebCore::RenderThemeEfl::paintThemePart):
87776         (WebCore::RenderThemeEfl::edjeGroupFromFormType): Add Edje groups
87777         for both vertical and horizontal sliders.
87778         (WebCore::supportsFocus): Add sliders as focusable elements.
87779         (WebCore::RenderThemeEfl::paintSliderTrack): Implement.
87780         (WebCore::RenderThemeEfl::adjustSliderTrackStyle): Implement.
87781         (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Use
87782         adjustSliderTrackStyle() implementation.
87783         (WebCore::RenderThemeEfl::paintSliderThumb): Use paintSliderTrack()
87784         implementation().
87785         * platform/efl/RenderThemeEfl.h: Add SliderVertical and
87786         * SliderHorizontal.
87787         (WebCore::): Added prototypes for adjustSlider*/paintSlider*.
87788
87789 2010-08-03  Alexander Pavlov  <apavlov@chromium.org>
87790
87791         Reviewed by Joseph Pecoraro.
87792
87793         Web Inspector: incorrect absolute protocol-less URLs in tooltips of links in the ElementsTreeOutline
87794         https://bugs.webkit.org/show_bug.cgi?id=43246
87795
87796         * inspector/front-end/inspector.js:
87797         (WebInspector.completeURL):
87798
87799 2010-08-03  Adam Roben  <aroben@apple.com>
87800
87801         Compile out two Mac-only localized strings on non-Mac platforms
87802
87803         Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
87804         AXARIAContentGroupText should only be compiled on Mac
87805
87806         Reviewed by Anders Carlsson.
87807
87808         * platform/LocalizationStrategy.h:
87809         * platform/LocalizedStrings.h:
87810         Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
87811         PLATFORM(MAC).
87812
87813 2010-08-03  Kevin Ollivier  <kevino@theolliviers.com>
87814
87815         [wx] Build fix, don't build some DOM bindings we don't use.
87816
87817         * wscript:
87818
87819 2010-08-03  Martin Robinson  <mrobinson@igalia.com>
87820
87821         Reviewed by Gustavo Noronha Silva.
87822
87823         [GTK] Remove a memory leak from CusorGtk.cpp
87824         https://bugs.webkit.org/show_bug.cgi?id=43424
87825
87826         * platform/gtk/CursorGtk.cpp:
87827         (WebCore::createNamedCursor):
87828         (WebCore::createCustomCursor):
87829         (WebCore::Cursor::ensurePlatformCursor):
87830         * platform/gtk/KeyEventGtk.cpp:
87831         (WebCore::keyIdentifierForGdkKeyCode):
87832
87833 2010-08-03  Pavel Feldman  <pfeldman@chromium.org>
87834
87835         Not reviewed: speculative chromium tests fix.
87836
87837         * inspector/front-end/ExtensionServer.js:
87838         * inspector/front-end/inspector.js:
87839         (WebInspector.loaded):
87840
87841 2010-08-03  Csaba Osztrogonác  <ossy@webkit.org>
87842
87843         Reviewed by Antonio Gomes.
87844
87845         Fix warning in WebCore/rendering/RenderBoxModelObject.cpp
87846         https://bugs.webkit.org/show_bug.cgi?id=43412
87847
87848         * rendering/RenderBoxModelObject.cpp:
87849         (WebCore::RenderBoxModelObject::clipBorderSidePolygon): Remove useless assignment.
87850
87851 2010-08-03  Xan Lopez  <xlopez@igalia.com>
87852
87853         Reviewed by Gustavo Noronha.
87854
87855         Make string parameters be 'const char*' instead of just 'char*'.
87856
87857         * bindings/scripts/CodeGeneratorGObject.pm:
87858
87859 2010-08-03  Xan Lopez  <xlopez@igalia.com>
87860
87861         Reviewed by Gustavo Noronha.
87862
87863         Get rid of extra spaces in the type strings.
87864
87865         * bindings/scripts/CodeGeneratorGObject.pm:
87866
87867 2010-08-03  Csaba Osztrogonác  <ossy@webkit.org>
87868
87869         Reviewed by Adam Roben.
87870
87871         Fix warning in WebCore/plugins/win/PluginMessageThrottlerWin.cpp
87872         https://bugs.webkit.org/show_bug.cgi?id=43413
87873
87874         * plugins/win/PluginMessageThrottlerWin.cpp:
87875         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Modify initialization order.
87876
87877 2010-08-03  Yury Semikhatsky  <yurys@chromium.org>
87878
87879         Reviewed by Pavel Feldman.
87880
87881         Web Inspector: use InspectorValue to push resource data to the frontend
87882         https://bugs.webkit.org/show_bug.cgi?id=43414
87883
87884         * inspector/Inspector.idl:
87885         * inspector/InspectorController.cpp:
87886         (WebCore::InspectorController::disconnectFrontend): destroy remote frontend object along with the old inspector frontend
87887         (WebCore::InspectorController::populateScriptObjects):
87888         (WebCore::InspectorController::didCommitLoad):
87889         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
87890         (WebCore::InspectorController::identifierForInitialRequest):
87891         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
87892         (WebCore::InspectorController::mainResourceFiredLoadEvent):
87893         (WebCore::InspectorController::willSendRequest):
87894         (WebCore::InspectorController::didReceiveResponse):
87895         (WebCore::InspectorController::didReceiveContentLength):
87896         (WebCore::InspectorController::didFinishLoading):
87897         (WebCore::InspectorController::didFailLoading):
87898         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
87899         (WebCore::InspectorController::scriptImported):
87900         * inspector/InspectorFrontend.cpp:
87901         * inspector/InspectorFrontend.h:
87902         * inspector/InspectorResource.cpp:
87903         (WebCore::buildHeadersObject):
87904         (WebCore::buildObjectForTiming):
87905         (WebCore::InspectorResource::updateScriptObject):
87906         * inspector/InspectorResource.h:
87907         * inspector/front-end/inspector.js:
87908         (WebInspector.updateResource):
87909
87910 2010-08-03  Sheriff Bot  <webkit.review.bot@gmail.com>
87911
87912         Unreviewed, rolling out r64539.
87913         http://trac.webkit.org/changeset/64539
87914         https://bugs.webkit.org/show_bug.cgi?id=43409
87915
87916         Accidently changed licenses in some files (Requested by
87917         WildFox on #webkit).
87918
87919         * svg/...:
87920     
87921 2010-08-03  Andrei Popescu  <andreip@google.com>
87922
87923         Unreviewed, build fix.
87924
87925         [IndexedDB] Chromium build is broken due to typo in WebCore.gypi:3501
87926         https://bugs.webkit.org/show_bug.cgi?id=43408
87927
87928         Add missing ' in WebCore.gypi:3501.
87929
87930         * WebCore.gypi:
87931
87932 2010-07-30  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
87933
87934         Reviewed by Jeremy Orlow.
87935
87936         Rename IDBDatabaseRequest to IDBDatabase
87937         https://bugs.webkit.org/show_bug.cgi?id=43250
87938
87939         No new tests, just refactoring.
87940
87941         * Android.derived.jscbindings.mk:
87942         * Android.derived.v8bindings.mk:
87943         * Android.mk:
87944         * CMakeLists.txt:
87945         * DerivedSources.cpp:
87946         * DerivedSources.make:
87947         * GNUmakefile.am:
87948         * WebCore.gypi:
87949         * WebCore.pri:
87950         * WebCore.pro:
87951         * WebCore.vcproj/WebCore.vcproj:
87952         * WebCore.vcproj/WebCore.vcproj~: Added.
87953         * WebCore.xcodeproj/project.pbxproj:
87954         * WebCore.xcodeproj/project.pbxproj~: Added.
87955         * bindings/js/JSIDBAnyCustom.cpp:
87956         (WebCore::toJS):
87957         * bindings/v8/custom/V8IDBAnyCustom.cpp:
87958         (WebCore::toV8):
87959         * storage/IDBAny.cpp:
87960         (WebCore::IDBAny::idbDatabase):
87961         (WebCore::IDBAny::set):
87962         * storage/IDBAny.h:
87963         (WebCore::IDBAny::):
87964         * storage/IDBCallbacks.h:
87965         * storage/IDBDatabase.cpp: Added.
87966         (WebCore::IDBDatabase::IDBDatabase):
87967         (WebCore::IDBDatabase::~IDBDatabase):
87968         (WebCore::IDBDatabase::createObjectStore):
87969         (WebCore::IDBDatabase::objectStore):
87970         (WebCore::IDBDatabase::removeObjectStore):
87971         * storage/IDBDatabase.h:
87972         (WebCore::IDBDatabase::create):
87973         (WebCore::IDBDatabase::name):
87974         (WebCore::IDBDatabase::description):
87975         (WebCore::IDBDatabase::version):
87976         (WebCore::IDBDatabase::objectStores):
87977         * storage/IDBDatabase.idl: Added.
87978         * storage/IDBDatabaseBackendImpl.cpp: Added.
87979         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
87980         (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
87981         (WebCore::IDBDatabaseBackendImpl::objectStores):
87982         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
87983         (WebCore::IDBDatabaseBackendImpl::objectStore):
87984         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
87985         * storage/IDBDatabaseBackendImpl.h: Added.
87986         (WebCore::IDBDatabaseBackendImpl::create):
87987         (WebCore::IDBDatabaseBackendImpl::name):
87988         (WebCore::IDBDatabaseBackendImpl::description):
87989         (WebCore::IDBDatabaseBackendImpl::version):
87990         * storage/IDBDatabaseBackendInterface.h: Added.
87991         (WebCore::IDBDatabaseBackendInterface::~IDBDatabaseBackendInterface):
87992         * storage/IDBDatabaseImpl.cpp: Removed.
87993         * storage/IDBDatabaseImpl.h: Removed.
87994         * storage/IDBDatabaseRequest.cpp: Removed.
87995         * storage/IDBDatabaseRequest.h: Removed.
87996         * storage/IDBDatabaseRequest.idl: Removed.
87997         * storage/IDBFactoryBackendImpl.cpp:
87998         (WebCore::IDBFactoryBackendImpl::open):
87999         * storage/IDBFactoryBackendImpl.h:
88000         * storage/IDBRequest.cpp:
88001         (WebCore::IDBRequest::onSuccess):
88002         * storage/IDBRequest.h:
88003
88004 2010-08-03  Satish Sampath  <satish@chromium.org>
88005
88006         Reviewed by Kent Tamura.
88007
88008         Initiate speech input requests on click event
88009         https://bugs.webkit.org/show_bug.cgi?id=43352
88010
88011         * rendering/TextControlInnerElements.cpp:
88012         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
88013
88014 2010-08-02  Yury Semikhatsky  <yurys@chromium.org>
88015
88016         Reviewed by Pavel Feldman.
88017
88018         Web Inspector: debugger code should serialize call frames to InspectorObjects instead of SerializedScriptValues.
88019         https://bugs.webkit.org/show_bug.cgi?id=43339
88020
88021         No new tests. Refactoring.
88022
88023         * inspector/InjectedScript.cpp:
88024         (WebCore::InjectedScript::callFrames):
88025         * inspector/InjectedScript.h:
88026         * inspector/Inspector.idl:
88027         * inspector/InspectorController.cpp:
88028         (WebCore::InspectorController::editScriptSource):
88029         (WebCore::InspectorController::getScriptSource):
88030         (WebCore::InspectorController::currentCallFrames):
88031         (WebCore::InspectorController::didPause):
88032         * inspector/InspectorController.h:
88033         * inspector/front-end/InspectorBackendStub.js:
88034         (WebInspector.InspectorBackendStub):
88035
88036 2010-08-03  Nikolas Zimmermann  <nzimmermann@rim.com>
88037
88038         Reviewed by Dirk Schulze.
88039
88040         Cleanup all of svg/ code
88041         https://bugs.webkit.org/show_bug.cgi?id=43311
88042
88043         Unify the license header in all files in svg/, to use the same template as most WebCore files use.
88044         Unified email adress style, etc. all generated with a perl script attached to bug 43311.i
88045
88046         * svg/...: Updated header template in all files, in the svg/ subdirectory.
88047
88048 2010-08-03  Dumitru Daniliuc  <dumi@chromium.org>
88049
88050         Reviewed by Adam Barth.
88051
88052         Turn all callbacks into ActiveDOMObjects and create callbacks in the correct context.
88053         https://bugs.webkit.org/show_bug.cgi?id=40112
88054
88055         Test: http/tests/storage/callbacks-are-called-in-correct-context.html
88056
88057         * CMakeLists.txt: Added new files.
88058         * DerivedSources.make:
88059         * GNUmakefile.am:
88060         * WebCore.gypi:
88061         * WebCore.pro:
88062         * WebCore.vcproj/WebCore.vcproj:
88063         * WebCore.xcodeproj/project.pbxproj:
88064
88065         * bindings/generic/ActiveDOMCallback.cpp: Added. The base class
88066         for all callbacks, that behaves like an ActiveDOMObject.
88067         (WebCore::DestroyOnContextThreadTask::create):
88068         (WebCore::DestroyOnContextThreadTask::performTask):
88069         (WebCore::DestroyOnContextThreadTask::DestroyOnContextThreadTask):
88070         (WebCore::ActiveDOMObjectCallbackImpl::ActiveDOMObjectCallbackImpl):
88071         (WebCore::ActiveDOMObjectCallbackImpl::contextDestroyed):
88072         (WebCore::ActiveDOMObjectCallbackImpl::canSuspend):
88073         (WebCore::ActiveDOMObjectCallbackImpl::suspend):
88074         (WebCore::ActiveDOMObjectCallbackImpl::resume):
88075         (WebCore::ActiveDOMObjectCallbackImpl::stop):
88076         (WebCore::ActiveDOMObjectCallbackImpl::canInvokeCallback):
88077         (WebCore::ActiveDOMObjectCallbackImpl::scriptExecutionContext):
88078         (WebCore::ActiveDOMObjectCallbackImpl::mutex):
88079         (WebCore::destroyOnContextThread):
88080         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
88081         (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
88082         (WebCore::ActiveDOMCallback::canInvokeCallback):
88083         (WebCore::ActiveDOMCallback::scriptExecutionContext):
88084         * bindings/generic/ActiveDOMCallback.h: Added.
88085
88086         * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Pass the
88087         right ScriptExecutionContext to the JSC callbacks.
88088         (WebCore::JSSQLStatementErrorCallback::handleEvent):
88089         * bindings/js/JSSQLTransactionCustom.cpp:
88090         (WebCore::JSSQLTransaction::executeSql):
88091
88092         * bindings/scripts/CodeGeneratorJS.pm: Make all callbacks inherit
88093         from ActiveDOMCallback, and make them use the right
88094         ScriptExecutionContext.
88095         * bindings/scripts/CodeGeneratorV8.pm:
88096
88097         * bindings/scripts/test/JS/JSTestCallback.cpp: Update the
88098         expectations for the code generated by CodeGenerator{JS|V8}.pm.
88099         (WebCore::JSTestCallback::JSTestCallback):
88100         (WebCore::JSTestCallback::~JSTestCallback):
88101         (WebCore::JSTestCallback::callbackWithClass1Param):
88102         (WebCore::JSTestCallback::callbackWithClass2Param):
88103         * bindings/scripts/test/JS/JSTestCallback.h:
88104         * bindings/scripts/test/V8/V8TestCallback.cpp:
88105         (WebCore::V8TestCallback::V8TestCallback):
88106         (WebCore::V8TestCallback::callbackWithClass1Param):
88107         (WebCore::V8TestCallback::callbackWithClass2Param):
88108         * bindings/scripts/test/V8/V8TestCallback.h:
88109         (WebCore::V8TestCallback::create):
88110         * bindings/scripts/test/V8/V8TestObj.cpp:
88111         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
88112         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
88113         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
88114
88115         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Pass
88116         the right ScriptExecutionContext to the V8 callbacks.
88117         (WebCore::V8SQLStatementErrorCallback::handleEvent):
88118         * bindings/v8/custom/V8DOMWindowCustom.cpp:
88119         (WebCore::V8DOMWindow::openDatabaseCallback):
88120         * bindings/v8/custom/V8DatabaseCustom.cpp:
88121         (WebCore::V8Database::changeVersionCallback):
88122         (WebCore::createTransaction):
88123         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
88124         (WebCore::V8DatabaseSync::changeVersionCallback):
88125         (WebCore::createTransaction):
88126         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
88127         (WebCore::V8SQLTransaction::executeSqlCallback):
88128         * bindings/v8/custom/V8WorkerContextCustom.cpp:
88129         (WebCore::V8WorkerContext::openDatabaseCallback):
88130         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
88131
88132         * dom/ActiveDOMObject.cpp: Simplify the code.
88133         (WebCore::ActiveDOMObject::ActiveDOMObject):
88134         (WebCore::ActiveDOMObject::~ActiveDOMObject):
88135
88136         * storage/Database.cpp: CallbackClass::handleEvent() doesn't take
88137         a ScriptExecutionContext anymore.
88138         (WebCore::DatabaseCreationCallbackTask::performTask):
88139         * storage/DatabaseCallback.h:
88140         * storage/DatabaseSync.cpp:
88141         (WebCore::DatabaseSync::openDatabaseSync):
88142         * storage/EntryCallback.h:
88143         * storage/ErrorCallback.h:
88144         * storage/FileSystemCallback.h:
88145         * storage/MetadataCallback.h:
88146         * storage/SQLStatement.cpp:
88147         (WebCore::SQLStatement::performCallback):
88148         * storage/SQLStatementCallback.h:
88149         * storage/SQLStatementErrorCallback.h:
88150         * storage/SQLTransaction.cpp:
88151         (WebCore::SQLTransaction::deliverTransactionCallback):
88152         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
88153         * storage/SQLTransactionCallback.h:
88154         * storage/SQLTransactionErrorCallback.h:
88155         * storage/SQLTransactionSync.cpp:
88156         (WebCore::SQLTransactionSync::execute):
88157         * storage/SQLTransactionSyncCallback.h:
88158
88159 2010-08-02  Ilya Tikhonovsky  <loislo@chromium.org>
88160
88161         Reviewed by Yury Semikhatsky.
88162
88163         WebInspector: Trivial InspectorBackend functions were removed.
88164         And now it is   bit simpler to change Inspector API because we have
88165         less number of abstraction layers.
88166         https://bugs.webkit.org/show_bug.cgi?id=43402
88167
88168         * inspector/CodeGeneratorInspector.pm:
88169         * inspector/Inspector.idl:
88170         * inspector/InspectorBackend.cpp:
88171         (WebCore::InspectorBackend::clearConsoleMessages):
88172         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
88173         (WebCore::InspectorBackend::inspectorFrontend):
88174         (WebCore::InspectorBackend::remoteFrontend):
88175         * inspector/InspectorBackend.h:
88176         (WebCore::InspectorBackend::inspectorDOMAgent):
88177         (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
88178         * inspector/InspectorController.h:
88179
88180 2010-08-03  Alexey Proskuryakov  <ap@apple.com>
88181
88182         Unreviewed (emergency test fix).
88183
88184         REGRESSION (r64518): Most regression tests fail on ASSERT(shouldTrackVisitedLinks)
88185         on Snow Leopard.
88186
88187         Platforms that use strategies now use a different code path than others, and that code path
88188         lacks necessary checks. We don't have a Snow Leopard debug buildbot.
88189
88190         * page/PageGroup.cpp: (WebCore::PageGroup::addVisitedLinkHash): The private version of
88191         addVisitedLink() must not be called when we're not tracking visited links.
88192
88193 2010-08-02  Pavel Feldman  <pfeldman@chromium.org>
88194
88195         Reviewed by Yury Semikhatsky.
88196
88197         Chromium DevTools: Get rid of DevTools RPC.
88198
88199         https://bugs.webkit.org/show_bug.cgi?id=43335
88200
88201         * bindings/js/ScriptProfiler.h:
88202         (WebCore::ScriptProfiler::getProfilerLogLines):
88203         * bindings/v8/ScriptProfiler.cpp:
88204         (WebCore::ScriptProfiler::getProfilerLogLines):
88205         * bindings/v8/ScriptProfiler.h:
88206         * inspector/Inspector.idl:
88207         * inspector/InspectorBackend.cpp:
88208         (WebCore::InspectorBackend::takeHeapSnapshot):
88209         (WebCore::InspectorBackend::getProfilerLogLines):
88210         * inspector/InspectorBackend.h:
88211         * inspector/InspectorController.cpp:
88212         (WebCore::InspectorController::disableProfiler):
88213         * inspector/InspectorController.h:
88214         * inspector/InspectorFrontend.h:
88215         * inspector/front-end/InspectorBackendStub.js:
88216         (WebInspector.InspectorBackendStub):
88217
88218 2010-08-02  Dan Bernstein  <mitz@apple.com>
88219
88220         Rubber-stamped by Sam Weinig.
88221
88222         Removed temporary build rule introduced in r62594.
88223
88224         * DerivedSources.make:
88225
88226 2010-08-02  Pavel Feldman  <pfeldman@chromium.org>
88227
88228         Not reviewed. Rolling out r64525 for breaking chromium tests.
88229
88230         * bindings/v8/V8Proxy.cpp:
88231         (WebCore::V8Proxy::retrieve):
88232
88233 2010-08-02  Kevin Ollivier  <kevino@theolliviers.com>
88234
88235         [wx] Build fix, add stubs for FontCustomPlatformData to compile code that uses them.
88236
88237         * css/CSSFontFaceSource.cpp:
88238         * platform/graphics/wx/FontCustomPlatformData.cpp: Added.
88239         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
88240         (WebCore::FontCustomPlatformData::fontPlatformData):
88241         (WebCore::createFontCustomPlatformData):
88242         (WebCore::FontCustomPlatformData::supportsFormat):
88243         * platform/graphics/wx/FontCustomPlatformData.h: Added.
88244         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
88245         * wscript:
88246
88247 2010-08-02  Brady Eidson  <beidson@apple.com>
88248
88249         Reviewed by NOBODY (Build fix, forgot to svn add this file)
88250
88251         * platform/VisitedLinkStrategy.h: Added.
88252         (WebCore::VisitedLinkStrategy::~VisitedLinkStrategy):
88253
88254 2010-08-02  Martin Robinson  <mrobinson@igalia.com>
88255
88256         Reviewed by Gustavo Noronha Silva.
88257
88258         [GTK] WebKit2 requires lazy cursor support
88259         https://bugs.webkit.org/show_bug.cgi?id=43053
88260
88261         Add lazy cursor support for GTK+. Lazy cursor support is used on some
88262         WebKit2 ports to support changing the cursor.
88263
88264         No new tests, as this should not change functionality.
88265
88266         * platform/Cursor.h: Changed the m_platformCursor member to be a GRefPtr.
88267         This simplifies the logic a great deal.
88268         * platform/gtk/CursorGtk.cpp:
88269         (WebCore::createNamedCursor): Added, adapted from existing code.
88270         (WebCore::createCustomCursor): Added, adapted from existing code.
88271         (WebCore::Cursor::ensurePlatformCursor): Added.
88272         (WebCore::Cursor::Cursor): Added.
88273         (WebCore::Cursor::operator=): Added.
88274         (WebCore::Cursor::~Cursor): Added.
88275         * platform/gtk/WidgetGtk.cpp:
88276         (WebCore::Widget::setCursor): Call platformCusor now to get the actual GdkCursor.
88277
88278 2010-08-02  Rajiv Makhijani  <rajivmakhijani@chromium.org>
88279
88280         Reviewed by Adam Barth. 
88281
88282         Committed by Dirk Pranke.
88283
88284         Bug 38705 - [v8] chromium fails http/tests/sandbox-inherit-to-initial-document-2
88285         https://bugs.webkit.org/show_bug.cgi?id=38705
88286
88287         WebCore::V8Proxy::retrieve(Frame* frame) calls WebCore::ScriptController::canExecuteScripts
88288         and returns 0 if canExecuteScripts is false. It should return the proxy regardless
88289         of whether the frame can execute scripts.
88290
88291         * bindings/v8/V8Proxy.cpp:
88292         (WebCore::V8Proxy::retrieve): Removed canExecuteScripts check.
88293
88294 2010-08-02  Brady Eidson  <beidson@apple.com>
88295
88296         Reviewed by Anders Carlsson.
88297
88298         Add VisitedLinkStrategy for each platform to implement
88299         https://bugs.webkit.org/show_bug.cgi?id=43393
88300
88301         No new tests. (No change in behavior)
88302
88303         * WebCore.exp.in:
88304         * WebCore.xcodeproj/project.pbxproj:
88305         
88306         * css/CSSStyleSelector.cpp:
88307         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Use VisitedLinkStrategy if it's enabled.
88308         
88309         * loader/HistoryController.cpp:
88310         (WebCore::addVisitedLink): Choose VisitedLinkStrategy if it's enabled, else fallback to PageGroup.
88311         (WebCore::HistoryController::updateForStandardLoad): Use addVisitedLink helper.
88312         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
88313         (WebCore::HistoryController::updateForClientRedirect): Ditto.
88314         (WebCore::HistoryController::updateForSameDocumentNavigation): Ditto.
88315         
88316         * platform/PlatformStrategies.h:
88317         (WebCore::PlatformStrategies::visitedLinkStrategy):
88318         (WebCore::PlatformStrategies::PlatformStrategies):
88319
88320 2010-08-02  Chris Fleizach  <cfleizach@apple.com>
88321
88322         Unreviewed, rolling out r64471.
88323         http://trac.webkit.org/changeset/64471
88324         https://bugs.webkit.org/show_bug.cgi?id=43005
88325
88326         Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
88327         until further discussion
88328
88329         * Android.derived.v8bindings.mk:
88330         * Android.jscbindings.mk:
88331         * DerivedSources.cpp:
88332         * DerivedSources.make:
88333         * GNUmakefile.am:
88334         * WebCore.gypi:
88335         * WebCore.pri:
88336         * WebCore.pro:
88337         * WebCore.vcproj/WebCore.vcproj:
88338         * WebCore.xcodeproj/project.pbxproj:
88339         * accessibility/AXObjectCache.h:
88340         (WebCore::AXObjectCache::):
88341         * accessibility/Accessibility.cpp: Removed.
88342         * accessibility/Accessibility.h: Removed.
88343         * accessibility/Accessibility.idl: Removed.
88344         * accessibility/AccessibilityObject.h:
88345         * accessibility/ScreenReader.cpp: Removed.
88346         * accessibility/ScreenReader.h: Removed.
88347         * accessibility/ScreenReader.idl: Removed.
88348         * accessibility/mac/AXObjectCacheMac.mm:
88349         (WebCore::AXObjectCache::postPlatformNotification):
88350         * accessibility/mac/AccessibilityObjectMac.mm:
88351         * page/Navigator.cpp:
88352         (WebCore::Navigator::disconnectFrame):
88353         (WebCore::Navigator::mimeTypes):
88354         * page/Navigator.h:
88355         * page/Navigator.idl:
88356
88357 2010-08-02  Ryosuke Niwa  <rniwa@webkit.org>
88358
88359         Reviewed by Eric Seidel.
88360
88361         Range::create should not be calling deprecatedEditingOffset and node on start and end
88362         https://bugs.webkit.org/show_bug.cgi?id=43385
88363
88364         Replaced node() and deprecatedEditingOffset() by containerNode() and computeOffsetInContainerNode().
88365
88366         No new tests added since this does not change the behavior.
88367
88368         * dom/Range.cpp:
88369         (WebCore::Range::create):
88370
88371 2010-08-02  Chris Fleizach  <cfleizach@apple.com>
88372
88373         Unreviewed, rolling out r64472.
88374         http://trac.webkit.org/changeset/64472
88375         https://bugs.webkit.org/show_bug.cgi?id=43005
88376
88377         Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
88378         until further discussion
88379
88380         * WebCore.vcproj/WebCore.vcproj:
88381
88382 2010-08-02  Chris Fleizach  <cfleizach@apple.com>
88383
88384         Unreviewed, rolling out r64476.
88385         http://trac.webkit.org/changeset/64476
88386
88387         Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
88388         until further discussion
88389
88390         * WebCore.vcproj/WebCore.vcproj:
88391
88392 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
88393
88394         Reviewed by Darin Fisher.
88395
88396         PopupMenu refactoring in preparation to WebKit2
88397         https://bugs.webkit.org/show_bug.cgi?id=42592
88398
88399         Classes PopupMenu and SearchPopupMenu have been made pure virtual.
88400
88401         * platform/PopupMenu.h:
88402         (WebCore::PopupMenu::~PopupMenu):
88403         * platform/SearchPopupMenu.h:
88404         (WebCore::SearchPopupMenu::~SearchPopupMenu):
88405
88406         Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
88407         the new pure virtual PopupMenu and SearchPopupMenu.
88408
88409         * rendering/RenderMenuList.cpp:
88410         (WebCore::RenderMenuList::adjustInnerStyle):
88411         (WebCore::RenderMenuList::showPopup):
88412         * rendering/RenderMenuList.h:
88413         * rendering/RenderTextControlSingleLine.cpp:
88414         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
88415         (WebCore::RenderTextControlSingleLine::addSearchResult):
88416         (WebCore::RenderTextControlSingleLine::showPopup):
88417         (WebCore::RenderTextControlSingleLine::hidePopup):
88418         (WebCore::RenderTextControlSingleLine::updateFromElement):
88419         (WebCore::RenderTextControlSingleLine::valueChanged):
88420         * rendering/RenderTextControlSingleLine.h:
88421
88422         Chrome and ChromeClient were made responsible for providing instances of classes
88423         PopupMenu and SearchPopupMenu to its users.
88424
88425         * loader/EmptyClients.h:
88426         (WebCore::EmptyPopupMenu::show):
88427         (WebCore::EmptyPopupMenu::hide):
88428         (WebCore::EmptyPopupMenu::updateFromElement):
88429         (WebCore::EmptyPopupMenu::disconnectClient):
88430         (WebCore::EmptySearchPopupMenu::popupMenu):
88431         (WebCore::EmptySearchPopupMenu::saveRecentSearches):
88432         (WebCore::EmptySearchPopupMenu::loadRecentSearches):
88433         (WebCore::EmptySearchPopupMenu::enabled):
88434         (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
88435         (WebCore::EmptyChromeClient::createPopupMenu):
88436         (WebCore::EmptyChromeClient::createSearchPopupMenu):
88437         * page/Chrome.cpp:
88438         (WebCore::Chrome::selectItemWritingDirectionIsNatural):
88439         (WebCore::Chrome::createPopupMenu):
88440         (WebCore::Chrome::createSearchPopupMenu):
88441         * page/Chrome.h:
88442         * page/ChromeClient.h:
88443
88444         Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
88445         in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
88446         Each of new the files contain the concrete classes that inherit form PopupMenu or
88447         SearchPopupMenu and are specific for the corresponding platform.
88448
88449         brew:
88450
88451         * platform/brew/PopupMenuBrew.cpp:
88452         (WebCore::PopupMenuBrew::PopupMenuBrew):
88453         (WebCore::PopupMenuBrew::~PopupMenuBrew):
88454         (WebCore::PopupMenuBrew::disconnectClient):
88455         (WebCore::PopupMenuBrew::show):
88456         (WebCore::PopupMenuBrew::hide):
88457         (WebCore::PopupMenuBrew::updateFromElement):
88458         * platform/brew/PopupMenuBrew.h: Added.
88459         (WebCore::PopupMenuBrew::client):
88460         * platform/brew/SearchPopupMenuBrew.cpp:
88461         (WebCore::SearchPopupMenuBrew::saveRecentSearches):
88462         (WebCore::SearchPopupMenuBrew::loadRecentSearches):
88463         (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
88464         (WebCore::SearchPopupMenuBrew::enabled):
88465         (WebCore::SearchPopupMenuBrew::popupMenu):
88466         * platform/brew/SearchPopupMenuBrew.h: Added.
88467
88468         chromium:
88469
88470         * WebCore.gypi:
88471         * platform/chromium/PopupMenuChromium.cpp:
88472         (WebCore::PopupMenuChromium::PopupMenuChromium):
88473         (WebCore::PopupMenuChromium::~PopupMenuChromium):
88474         (WebCore::PopupMenuChromium::show):
88475         (WebCore::PopupMenuChromium::hide):
88476         (WebCore::PopupMenuChromium::updateFromElement):
88477         (WebCore::PopupMenuChromium::disconnectClient):
88478         * platform/chromium/PopupMenuChromium.h:
88479         (WebCore::PopupMenuChromium::client):
88480         * platform/chromium/SearchPopupMenuChromium.cpp:
88481         (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
88482         (WebCore::SearchPopupMenuChromium::popupMenu):
88483         (WebCore::SearchPopupMenuChromium::enabled):
88484         (WebCore::SearchPopupMenuChromium::saveRecentSearches):
88485         (WebCore::SearchPopupMenuChromium::loadRecentSearches):
88486         * platform/chromium/SearchPopupMenuChromium.h: Added.
88487
88488         efl:
88489
88490         * platform/efl/PopupMenuEfl.cpp:
88491         (WebCore::PopupMenuEfl::PopupMenuEfl):
88492         (WebCore::PopupMenuEfl::~PopupMenuEfl):
88493         (WebCore::PopupMenuEfl::show):
88494         (WebCore::PopupMenuEfl::hide):
88495         (WebCore::PopupMenuEfl::updateFromElement):
88496         (WebCore::PopupMenuEfl::disconnectClient):
88497         * platform/efl/PopupMenuEfl.h: Added.
88498         (WebCore::PopupMenuEfl::client):
88499         * platform/efl/SearchPopupMenuEfl.cpp:
88500         (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
88501         (WebCore::SearchPopupMenuEfl::popupMenu):
88502         (WebCore::SearchPopupMenuEfl::saveRecentSearches):
88503         (WebCore::SearchPopupMenuEfl::loadRecentSearches):
88504         (WebCore::SearchPopupMenuEfl::enabled):
88505         * platform/efl/SearchPopupMenuEfl.h: Added.
88506
88507         gtk:
88508
88509         * GNUmakefile.am:
88510         * platform/gtk/PopupMenuGtk.cpp:
88511         (WebCore::PopupMenuGtk::PopupMenuGtk):
88512         (WebCore::PopupMenuGtk::~PopupMenuGtk):
88513         (WebCore::PopupMenuGtk::show):
88514         (WebCore::PopupMenuGtk::hide):
88515         (WebCore::PopupMenuGtk::updateFromElement):
88516         (WebCore::PopupMenuGtk::disconnectClient):
88517         (WebCore::PopupMenuGtk::menuItemActivated):
88518         (WebCore::PopupMenuGtk::menuUnmapped):
88519         (WebCore::PopupMenuGtk::menuPositionFunction):
88520         (WebCore::PopupMenuGtk::menuRemoveItem):
88521         * platform/gtk/PopupMenuGtk.h: Added.
88522         (WebCore::PopupMenuGtk::client):
88523         * platform/gtk/SearchPopupMenuGtk.cpp:
88524         (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
88525         (WebCore::SearchPopupMenuGtk::popupMenu):
88526         (WebCore::SearchPopupMenuGtk::saveRecentSearches):
88527         (WebCore::SearchPopupMenuGtk::loadRecentSearches):
88528         (WebCore::SearchPopupMenuGtk::enabled):
88529         * platform/gtk/SearchPopupMenuGtk.h: Added.
88530
88531         haiku:
88532
88533         * platform/haiku/PopupMenuHaiku.cpp:
88534         (WebCore::HaikuPopup::HaikuPopup):
88535         (WebCore::HaikuPopup::~HaikuPopup):
88536         (WebCore::PopupMenuHaiku::PopupMenuHaiku):
88537         (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
88538         (WebCore::PopupMenuHaiku::disconnectClient):
88539         (WebCore::PopupMenuHaiku::show):
88540         (WebCore::PopupMenuHaiku::hide):
88541         (WebCore::PopupMenuHaiku::updateFromElement):
88542         * platform/haiku/PopupMenuHaiku.h: Added.
88543         (WebCore::PopupMenuHaiku::disconnectClient):
88544         (WebCore::PopupMenuHaiku::client):
88545         * platform/haiku/SearchPopupMenuHaiku.cpp:
88546         (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
88547         (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
88548         (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
88549         (WebCore::SearchPopupMenuHaiku::enabled):
88550         (WebCore::SearchPopupMenuHaiku::popupMenu):
88551         * platform/haiku/SearchPopupMenuHaiku.h: Added.
88552
88553         mac:
88554
88555         * WebCore.exp.in:
88556         * WebCore.xcodeproj/project.pbxproj:
88557         * platform/mac/PopupMenuMac.h: Added.
88558         (WebCore::PopupMenuMac::disconnectClient):
88559         (WebCore::PopupMenuMac::client):
88560         * platform/mac/PopupMenuMac.mm:
88561         (WebCore::PopupMenuMac::PopupMenuMac):
88562         (WebCore::PopupMenuMac::~PopupMenuMac):
88563         (WebCore::PopupMenuMac::clear):
88564         (WebCore::PopupMenuMac::populate):
88565         (WebCore::PopupMenuMac::show):
88566         (WebCore::PopupMenuMac::hide):
88567         (WebCore::PopupMenuMac::updateFromElement):
88568         (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
88569         * platform/mac/SearchPopupMenuMac.h: Added.
88570         * platform/mac/SearchPopupMenuMac.mm:
88571         (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
88572         (WebCore::SearchPopupMenuMac::popupMenu):
88573         (WebCore::SearchPopupMenuMac::enabled):
88574         (WebCore::SearchPopupMenuMac::saveRecentSearches):
88575         (WebCore::SearchPopupMenuMac::loadRecentSearches):
88576
88577         qt:
88578
88579         * WebCore.pro:
88580         * platform/qt/PopupMenuQt.cpp:
88581         (WebCore::PopupMenuQt::PopupMenuQt):
88582         (WebCore::PopupMenuQt::~PopupMenuQt):
88583         (WebCore::PopupMenuQt::disconnectClient):
88584         (WebCore::PopupMenuQt::show):
88585         (WebCore::PopupMenuQt::hide):
88586         (WebCore::PopupMenuQt::updateFromElement):
88587         * platform/qt/PopupMenuQt.h: Added.
88588         * platform/qt/QtAbstractWebPopup.h:
88589         * platform/qt/SearchPopupMenuQt.cpp:
88590         (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
88591         (WebCore::SearchPopupMenuQt::popupMenu):
88592         (WebCore::SearchPopupMenuQt::saveRecentSearches):
88593         (WebCore::SearchPopupMenuQt::loadRecentSearches):
88594         (WebCore::SearchPopupMenuQt::enabled):
88595         * platform/qt/SearchPopupMenuQt.h: Added.
88596
88597         win:
88598
88599         * WebCore.vcproj/WebCore.vcproj:
88600         * platform/win/PopupMenuWin.cpp:
88601         (WebCore::PopupMenuWin::PopupMenuWin):
88602         (WebCore::PopupMenuWin::~PopupMenuWin):
88603         (WebCore::PopupMenuWin::disconnectClient):
88604         (WebCore::PopupMenuWin::popupClassName):
88605         (WebCore::PopupMenuWin::show):
88606         (WebCore::PopupMenuWin::hide):
88607         (WebCore::PopupMenuWin::calculatePositionAndSize):
88608         (WebCore::PopupMenuWin::setFocusedIndex):
88609         (WebCore::PopupMenuWin::visibleItems):
88610         (WebCore::PopupMenuWin::listIndexAtPoint):
88611         (WebCore::PopupMenuWin::focusedIndex):
88612         (WebCore::PopupMenuWin::focusFirst):
88613         (WebCore::PopupMenuWin::focusLast):
88614         (WebCore::PopupMenuWin::down):
88615         (WebCore::PopupMenuWin::up):
88616         (WebCore::PopupMenuWin::invalidateItem):
88617         (WebCore::PopupMenuWin::clientRect):
88618         (WebCore::PopupMenuWin::incrementWheelDelta):
88619         (WebCore::PopupMenuWin::reduceWheelDelta):
88620         (WebCore::PopupMenuWin::scrollToRevealSelection):
88621         (WebCore::PopupMenuWin::updateFromElement):
88622         (WebCore::PopupMenuWin::paint):
88623         (WebCore::PopupMenuWin::valueChanged):
88624         (WebCore::PopupMenuWin::invalidateScrollbarRect):
88625         (WebCore::PopupMenuWin::registerClass):
88626         (WebCore::PopupMenuWin::PopupMenuWndProc):
88627         (WebCore::PopupMenuWin::wndProc):
88628         * platform/win/PopupMenuWin.h: Added.
88629         (WebCore::PopupMenuWin::client):
88630         (WebCore::PopupMenuWin::scrollbar):
88631         (WebCore::PopupMenuWin::itemHeight):
88632         (WebCore::PopupMenuWin::windowRect):
88633         (WebCore::PopupMenuWin::popupHandle):
88634         (WebCore::PopupMenuWin::setWasClicked):
88635         (WebCore::PopupMenuWin::wasClicked):
88636         (WebCore::PopupMenuWin::setScrollOffset):
88637         (WebCore::PopupMenuWin::scrollOffset):
88638         (WebCore::PopupMenuWin::wheelDelta):
88639         (WebCore::PopupMenuWin::scrollbarCapturingMouse):
88640         (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
88641         * platform/win/SearchPopupMenuWin.cpp:
88642         (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
88643         (WebCore::SearchPopupMenuWin::popupMenu):
88644         (WebCore::SearchPopupMenuWin::enabled):
88645         (WebCore::SearchPopupMenuWin::saveRecentSearches):
88646         (WebCore::SearchPopupMenuWin::loadRecentSearches):
88647         * platform/win/SearchPopupMenuWin.h: Added.
88648
88649         wx:
88650
88651         * platform/wx/PopupMenuWx.cpp:
88652         (WebCore::PopupMenuWx::PopupMenuWx):
88653         (WebCore::PopupMenuWx::~PopupMenuWx):
88654         (WebCore::PopupMenuWx::disconnectClient):
88655         (WebCore::PopupMenuWx::show):
88656         (WebCore::PopupMenuWx::OnMenuItemSelected):
88657         (WebCore::PopupMenuWx::hide):
88658         (WebCore::PopupMenuWx::updateFromElement):
88659         * platform/wx/PopupMenuWx.h: Added.
88660         (WebCore::PopupMenuWx::client):
88661         * platform/wx/SearchPopupMenuWx.cpp:
88662         (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
88663         (WebCore::SearchPopupMenuWx::saveRecentSearches):
88664         (WebCore::SearchPopupMenuWx::loadRecentSearches):
88665         (WebCore::SearchPopupMenuWx::enabled):
88666         (WebCore::SearchPopupMenuWx::popupMenu):
88667         * platform/wx/SearchPopupMenuWx.h: Added.
88668
88669
88670
88671 2010-08-02  Martin Robinson  <mrobinson@igalia.com>
88672
88673         Reviewed by Xan Lopez.
88674
88675         [GTK] Use GdkPixbuf for ImageBuffer::toDataURL
88676         https://bugs.webkit.org/show_bug.cgi?id=43088
88677
88678         Implement ImageBuffer::toDataURL with GdkPixbuf instead of Cairo. This
88679         allows the method to support a larger variety of image types.
88680
88681         * GNUmakefile.am: Add new files to the source list.
88682         * platform/MIMETypeRegistry.cpp: 
88683         (WebCore::initializeSupportedImageMIMETypesForEncoding):
88684         Add the list of image types supported by GTK.
88685         * platform/graphics/cairo/ImageBufferCairo.cpp:
88686         * platform/graphics/gtk/CairoUtilities.cpp: Added.
88687         (getCairoSurfacePixel): Move this method from ImageGtk.cpp.
88688         (getGdkPixbufPixel): Move this method from ImageGtk.cpp.
88689         (cairoImageSurfaceToGdkPixbuf): Move this method from ImageGtk.cpp.
88690         * platform/graphics/gtk/CairoUtilities.h: Added.
88691         * platform/graphics/gtk/ImageBufferGtk.cpp: Added.
88692         (WebCore::ImageBuffer::toDataURL): Use GdkPixbuf to do the conversion to a data url.
88693         * platform/graphics/gtk/ImageGtk.cpp:
88694         (WebCore::BitmapImage::getGdkPixbuf): Use the new helper method in CairoUtilities.h.
88695
88696 2010-08-02  Xan Lopez  <xlopez@igalia.com>
88697
88698         Reviewed by Gustavo Noronha.
88699
88700         [GTK] Add support for the Audio element in the DOM bindings
88701         https://bugs.webkit.org/show_bug.cgi?id=43313
88702
88703         The IDL definition of some HTMLMediaElement methods does not match
88704         the C++ implementation API, take this fact into account when
88705         generating the bindings.
88706
88707         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
88708         (WebKit::createAudioWrapper):
88709         (WebKit::createHTMLElementWrapper):
88710         * bindings/scripts/CodeGeneratorGObject.pm:
88711
88712 2010-08-02  Anders Carlsson  <andersca@apple.com>
88713
88714         Reviewed by Sam Weinig.
88715
88716         Fix plug-in test failures and remove tests from the Skipped list
88717         https://bugs.webkit.org/show_bug.cgi?id=43389
88718
88719         * WebCore.exp.in:
88720         Export FrameLoader::cancelledError.
88721
88722 2010-08-02  Brady Eidson  <beidson@apple.com>
88723
88724         Reviewed by Anders Carlsson.
88725
88726         Basic WK2 visited link coloring
88727         https://bugs.webkit.org/show_bug.cgi?id=43377
88728
88729         No new tests. (No change in behavior)
88730
88731         * WebCore.exp.in:
88732         
88733         * page/PageGroup.cpp:
88734         (WebCore::PageGroup::addVisitedLinkHash):
88735         * page/PageGroup.h:
88736
88737 2010-08-02  Martin Robinson  <mrobinson@igalia.com>
88738
88739         Reviewed by Xan Lopez.
88740
88741         [GTK] Style cleanup for CairoPath.h
88742         https://bugs.webkit.org/show_bug.cgi?id=43133
88743
88744         Turn CairoPath into a class, as it has a constructor and destructor.
88745         Change raw member access to use the new accessor.
88746
88747         No new tests as functionality has not changed.
88748
88749         * platform/graphics/cairo/CairoPath.h: Cleanup and indentation fix.
88750         (WebCore::CairoPath::CairoPath):
88751         (WebCore::CairoPath::~CairoPath):
88752         (WebCore::CairoPath::context):
88753         * platform/graphics/cairo/GraphicsContextCairo.cpp:
88754         (WebCore::GraphicsContext::addPath): Convert raw member access to accessor access.
88755         (WebCore::GraphicsContext::clip): Ditto.
88756         * platform/graphics/cairo/PathCairo.cpp:
88757         (WebCore::Path::Path): Ditto.
88758         (WebCore::Path::operator=): Ditto.
88759         (WebCore::Path::clear): Ditto.
88760         (WebCore::Path::isEmpty): Ditto.
88761         (WebCore::Path::currentPoint): Ditto.
88762         (WebCore::Path::translate): Ditto.
88763         (WebCore::Path::moveTo): Ditto.
88764         (WebCore::Path::addLineTo): Ditto.
88765         (WebCore::Path::addRect): Ditto.
88766         (WebCore::Path::addQuadCurveTo): Ditto.
88767         (WebCore::Path::addBezierCurveTo): Ditto.
88768         (WebCore::Path::addArc): Ditto.
88769         (WebCore::Path::addArcTo): Ditto.
88770         (WebCore::Path::addEllipse): Ditto.
88771         (WebCore::Path::closeSubpath): Ditto.
88772         (WebCore::Path::boundingRect): Ditto.
88773         (WebCore::Path::strokeBoundingRect): Ditto.
88774         (WebCore::Path::contains): Ditto.
88775         (WebCore::Path::strokeContains): Ditto.
88776         (WebCore::Path::apply): Ditto.
88777         (WebCore::Path::transform): Ditto.
88778         (WebCore::Path::debugString): Ditto.
88779
88780 2010-07-20  Ojan Vafai  <ojan@chromium.org>
88781
88782         Reviewed by Eric Seidel.
88783
88784         focusing the body of a contentEditable iframe resets the selection
88785         https://bugs.webkit.org/show_bug.cgi?id=42645
88786         
88787         The selection shouldn't be reset to the beginning of the rootEditableElement
88788         if it is already inside the rootEditableElement.
88789
88790         Test: editing/selection/focus-contenteditable-iframe.html
88791
88792         * dom/Element.cpp:
88793         (WebCore::Element::updateFocusAppearance):
88794
88795 2010-07-20  Ojan Vafai  <ojan@chromium.org>
88796
88797         Reviewed by Eric Seidel.
88798
88799         focusing an unfocused contentEditable element should place the cursor at the beginning
88800         https://bugs.webkit.org/show_bug.cgi?id=42646
88801
88802         r14666 made this change for the body and html elements, but not for all contentEditable 
88803         elements. Doing this for all contentEditable elements matches all other browsers.
88804
88805         * dom/Element.cpp:
88806         (WebCore::Element::updateFocusAppearance):
88807
88808 2010-08-02  Ryosuke Niwa  <rniwa@webkit.org>
88809
88810         Reviewed by Kent Tamura.
88811
88812         Group functions used in createMarkup (range version) into a class so they are easier to understand
88813         https://bugs.webkit.org/show_bug.cgi?id=43227
88814
88815         Added MarkupAccumulatorWrapper to group getStartMarkup, getEndMarkup, joinMarkups, and addStyleMarkup.
88816         MarkupAccumulatorWrapper is intended to be merged with MarkupAccumulator in the future.
88817
88818         No new tests added since this is a clean up.
88819
88820         * editing/markup.cpp:
88821         (WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Added.
88822         (WebCore::MarkupAccumulatorWrapper::insertString): Added.
88823         (WebCore::MarkupAccumulatorWrapper::insertOpenTag): Added.
88824         (WebCore::MarkupAccumulatorWrapper::insertEndTag): Added.
88825         (WebCore::MarkupAccumulatorWrapper::wrapWithNode): Added.
88826         (WebCore::MarkupAccumulatorWrapper::wrapWithStyleNode): Added.
88827         (WebCore::MarkupAccumulatorWrapper::takeResults): Added.
88828         (WebCore::createMarkup): Uses MarkupAccumulatorWrapper.
88829
88830 2010-08-02  Brian Weinstein  <bweinstein@apple.com>
88831
88832         Add a missing </File> tag to WebCore.vcproj.
88833
88834         * WebCore.vcproj/WebCore.vcproj:
88835
88836 2010-08-02  Mario Sanchez Prada  <msanchez@igalia.com>
88837
88838         Reviewed by Chris Fleizach.
88839
88840         [GTK] Implement support for get_character_extents and get_range_extents
88841         https://bugs.webkit.org/show_bug.cgi?id=25677
88842
88843         Implement get_range_extents() and modify get_character_extents()
88844         to properly work after "The Great Flattening" occurred in the ATK
88845         objects hierarchy, some months ago.
88846
88847         In the case of the GTK port, not just the text controls should be
88848         considered when it comes to these functions but also those
88849         composite objects that would also allow to work with text ranges,
88850         such as headings and links. To take care of this, a new function
88851         AccessibilityObject::allowsTextRanges() was defined with a default
88852         implementation in the header file and an specific one for GTK in
88853         AccessibilityObjectAtk.cpp.
88854
88855         Based on a previous patch by Joanmarie Diggs.
88856
88857         * accessibility/AccessibilityObject.cpp:
88858         (WebCore::AccessibilityObject::visiblePositionRangeForRange):
88859         * accessibility/AccessibilityObject.h:
88860         (WebCore::AccessibilityObject::allowsTextRanges): New
88861         * accessibility/AccessibilityRenderObject.cpp:
88862         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
88863         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
88864         * accessibility/gtk/AccessibilityObjectAtk.cpp:
88865         (WebCore::AccessibilityObject::allowsTextRanges): New
88866         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
88867         (textExtents):
88868         (webkit_accessible_text_get_character_extents):
88869         (webkit_accessible_text_get_range_extents):
88870         (atk_text_interface_init):
88871
88872 2010-08-02  Chris Fleizach  <cfleizach@apple.com>
88873
88874         AX: Support methods for web apps to interact with the native accessibility APIs
88875         https://bugs.webkit.org/show_bug.cgi?id=43005
88876
88877         Fix for windows build. No review.
88878
88879         * WebCore.vcproj/WebCore.vcproj:
88880
88881 2010-08-02  Chris Fleizach  <cfleizach@apple.com>
88882
88883         Reviewed by David Kilzer.
88884
88885         AX: Support methods for web apps to interact with the native accessibility APIs
88886         https://bugs.webkit.org/show_bug.cgi?id=43005
88887
88888         Adds a new "accessibility" object that hangs off of "window.navigator".
88889         This accessibility object will allow web apps to interact with native accessibility APIs
88890         to provide a richer experience (for screen reader users primarily).
88891
88892         Test: platform/mac/accessibility/js-accessibility.html
88893
88894         * Android.derived.v8bindings.mk:
88895         * Android.jscbindings.mk:
88896         * DerivedSources.cpp:
88897         * DerivedSources.make:
88898         * GNUmakefile.am:
88899         * WebCore.gypi:
88900         * WebCore.pri:
88901         * WebCore.pro:
88902         * WebCore.vcproj/WebCore.vcproj:
88903         * WebCore.xcodeproj/project.pbxproj:
88904         * accessibility/AXObjectCache.h:
88905         (WebCore::AXObjectCache::):
88906         * accessibility/Accessibility.cpp: Added.
88907         (WebCore::Accessibility::Accessibility):
88908         (WebCore::Accessibility::~Accessibility):
88909         (WebCore::Accessibility::disconnectFrame):
88910         (WebCore::Accessibility::screenChanged):
88911         (WebCore::Accessibility::elementsChanged):
88912         (WebCore::Accessibility::screenReader):
88913         * accessibility/Accessibility.h: Added.
88914         (WebCore::Accessibility::create):
88915         * accessibility/Accessibility.idl: Added.
88916         * accessibility/AccessibilityObject.h:
88917         (WebCore::AccessibilityObject::isScreenReaderRunning):
88918         (WebCore::AccessibilityObject::screenReaderFocusedElement):
88919         (WebCore::AccessibilityObject::screenReaderVersion):
88920         * accessibility/ScreenReader.cpp: Added.
88921         (WebCore::ScreenReader::ScreenReader):
88922         (WebCore::ScreenReader::~ScreenReader):
88923         (WebCore::ScreenReader::disconnectFrame):
88924         (WebCore::ScreenReader::active):
88925         (WebCore::ScreenReader::activeElement):
88926         (WebCore::ScreenReader::version):
88927         * accessibility/ScreenReader.h: Added.
88928         (WebCore::ScreenReader::create):
88929         * accessibility/ScreenReader.idl: Added.
88930         * accessibility/mac/AXObjectCacheMac.mm:
88931         (WebCore::AXObjectCache::postPlatformNotification):
88932         * accessibility/mac/AccessibilityObjectMac.mm:
88933         (WebCore::AccessibilityObject::isScreenReaderRunning):
88934         (WebCore::AccessibilityObject::screenReaderFocusedElement):
88935         (WebCore::AccessibilityObject::screenReaderVersion):
88936         * page/Navigator.cpp:
88937         (WebCore::Navigator::disconnectFrame):
88938         (WebCore::Navigator::accessibility):
88939         * page/Navigator.h:
88940         * page/Navigator.idl:
88941
88942 2010-08-02  Martin Robinson  <mrobinson@igalia.com>
88943
88944         Reviewed by Xan Lopez.
88945
88946         [Gtk] DOM listeners get wrong keycodes for some keys
88947         https://bugs.webkit.org/show_bug.cgi?id=35170
88948
88949         Emit the proper DOM keyCode for the print screen, keypad insert,
88950         and keypad delete keys.
88951
88952         * platform/gtk/KeyEventGtk.cpp:
88953         (WebCore::windowsKeyCodeForKeyEvent): Fix mapping between GDK key codes
88954         and Windows key codes.
88955
88956 2010-08-02  Dirk Schulze  <krit@webkit.org>
88957
88958         Unreviewed sort of Xcode project file.
88959
88960         * WebCore.xcodeproj/project.pbxproj:
88961
88962 2010-08-02  Kristian Monsen  <kristianm@google.com>
88963
88964         Reviewed by Steve Block.
88965
88966         Compile fix for Android, adding guards around filter specific code.
88967         https://bugs.webkit.org/show_bug.cgi?id=43338
88968         This CL introduced the code:
88969         http://trac.webkit.org/changeset/64196
88970
88971         Compile fix only, no new tests.
88972
88973         * rendering/SVGResourcesCycleSolver.cpp:
88974         (WebCore::SVGResourcesCycleSolver::breakCycle):
88975
88976 2010-08-02  Kristian Monsen  <kristianm@google.com>
88977
88978         Reviewed by Steve Block.
88979
88980         Compile fix for Android, guard inspector code with ENABLE(INSPECTOR).
88981         https://bugs.webkit.org/show_bug.cgi?id=43345
88982         Code introduced in this CL:
88983         http://trac.webkit.org/changeset/63891
88984
88985         No new tests, just a compile fix.
88986
88987         * bindings/v8/ScriptValue.cpp:
88988
88989 2010-08-02  Jeremy Orlow  <jorlow@chromium.org>
88990
88991         Speculative revert of 64425 due to Chromium instability
88992         https://bugs.webkit.org/show_bug.cgi?id=43347
88993
88994         * GNUmakefile.am:
88995         * WebCore.exp.in:
88996         * WebCore.gypi:
88997         * WebCore.pro:
88998         * WebCore.vcproj/WebCore.vcproj:
88999         * WebCore.xcodeproj/project.pbxproj:
89000         * loader/EmptyClients.h:
89001         * page/Chrome.cpp:
89002         * page/Chrome.h:
89003         * page/ChromeClient.h:
89004         * platform/PopupMenu.h:
89005         (WebCore::PopupMenu::create):
89006         (WebCore::PopupMenu::disconnectClient):
89007         (WebCore::PopupMenu::client):
89008         (WebCore::PopupMenu::scrollbar):
89009         (WebCore::PopupMenu::itemHeight):
89010         (WebCore::PopupMenu::windowRect):
89011         (WebCore::PopupMenu::popupHandle):
89012         (WebCore::PopupMenu::setWasClicked):
89013         (WebCore::PopupMenu::wasClicked):
89014         (WebCore::PopupMenu::setScrollOffset):
89015         (WebCore::PopupMenu::scrollOffset):
89016         (WebCore::PopupMenu::wheelDelta):
89017         (WebCore::PopupMenu::scrollbarCapturingMouse):
89018         (WebCore::PopupMenu::setScrollbarCapturingMouse):
89019         (WebCore::PopupMenu::isActive):
89020         (WebCore::PopupMenu::scrollbarCornerPresent):
89021         * platform/SearchPopupMenu.h:
89022         (WebCore::SearchPopupMenu::create):
89023         * platform/brew/PopupMenuBrew.cpp:
89024         (WebCore::PopupMenu::PopupMenu):
89025         (WebCore::PopupMenu::~PopupMenu):
89026         (WebCore::PopupMenu::show):
89027         (WebCore::PopupMenu::hide):
89028         (WebCore::PopupMenu::updateFromElement):
89029         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89030         * platform/brew/PopupMenuBrew.h: Removed.
89031         * platform/brew/SearchPopupMenuBrew.cpp:
89032         (WebCore::SearchPopupMenu::saveRecentSearches):
89033         (WebCore::SearchPopupMenu::loadRecentSearches):
89034         (WebCore::SearchPopupMenu::SearchPopupMenu):
89035         (WebCore::SearchPopupMenu::enabled):
89036         * platform/brew/SearchPopupMenuBrew.h: Removed.
89037         * platform/chromium/PopupMenuChromium.cpp:
89038         (WebCore::PopupMenu::PopupMenu):
89039         (WebCore::PopupMenu::~PopupMenu):
89040         (WebCore::PopupMenu::show):
89041         (WebCore::PopupMenu::hide):
89042         (WebCore::PopupMenu::updateFromElement):
89043         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89044         * platform/chromium/PopupMenuChromium.h:
89045         * platform/chromium/SearchPopupMenuChromium.cpp:
89046         (WebCore::SearchPopupMenu::SearchPopupMenu):
89047         (WebCore::SearchPopupMenu::enabled):
89048         (WebCore::SearchPopupMenu::saveRecentSearches):
89049         (WebCore::SearchPopupMenu::loadRecentSearches):
89050         * platform/chromium/SearchPopupMenuChromium.h: Removed.
89051         * platform/efl/PopupMenuEfl.cpp:
89052         (WebCore::PopupMenu::PopupMenu):
89053         (WebCore::PopupMenu::~PopupMenu):
89054         (WebCore::PopupMenu::show):
89055         (WebCore::PopupMenu::hide):
89056         (WebCore::PopupMenu::updateFromElement):
89057         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89058         * platform/efl/PopupMenuEfl.h: Removed.
89059         * platform/efl/SearchPopupMenuEfl.cpp:
89060         (WebCore::SearchPopupMenu::SearchPopupMenu):
89061         (WebCore::SearchPopupMenu::saveRecentSearches):
89062         (WebCore::SearchPopupMenu::loadRecentSearches):
89063         (WebCore::SearchPopupMenu::enabled):
89064         * platform/efl/SearchPopupMenuEfl.h: Removed.
89065         * platform/gtk/PopupMenuGtk.cpp:
89066         (WebCore::PopupMenu::PopupMenu):
89067         (WebCore::PopupMenu::~PopupMenu):
89068         (WebCore::PopupMenu::show):
89069         (WebCore::PopupMenu::hide):
89070         (WebCore::PopupMenu::updateFromElement):
89071         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89072         (WebCore::PopupMenu::menuItemActivated):
89073         (WebCore::PopupMenu::menuUnmapped):
89074         (WebCore::PopupMenu::menuPositionFunction):
89075         (WebCore::PopupMenu::menuRemoveItem):
89076         * platform/gtk/PopupMenuGtk.h: Removed.
89077         * platform/gtk/SearchPopupMenuGtk.cpp:
89078         (WebCore::SearchPopupMenu::SearchPopupMenu):
89079         (WebCore::SearchPopupMenu::saveRecentSearches):
89080         (WebCore::SearchPopupMenu::loadRecentSearches):
89081         (WebCore::SearchPopupMenu::enabled):
89082         * platform/gtk/SearchPopupMenuGtk.h: Removed.
89083         * platform/haiku/PopupMenuHaiku.cpp:
89084         (WebCore::PopupMenuHaiku::PopupMenuHaiku):
89085         (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
89086         (WebCore::PopupMenu::PopupMenu):
89087         (WebCore::PopupMenu::~PopupMenu):
89088         (WebCore::PopupMenu::show):
89089         (WebCore::PopupMenu::hide):
89090         (WebCore::PopupMenu::updateFromElement):
89091         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89092         * platform/haiku/PopupMenuHaiku.h: Removed.
89093         * platform/haiku/SearchPopupMenuHaiku.cpp:
89094         (WebCore::SearchPopupMenu::SearchPopupMenu):
89095         (WebCore::SearchPopupMenu::saveRecentSearches):
89096         (WebCore::SearchPopupMenu::loadRecentSearches):
89097         (WebCore::SearchPopupMenu::enabled):
89098         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
89099         * platform/mac/PopupMenuMac.h: Removed.
89100         * platform/mac/PopupMenuMac.mm:
89101         (WebCore::PopupMenu::PopupMenu):
89102         (WebCore::PopupMenu::~PopupMenu):
89103         (WebCore::PopupMenu::clear):
89104         (WebCore::PopupMenu::populate):
89105         (WebCore::PopupMenu::show):
89106         (WebCore::PopupMenu::hide):
89107         (WebCore::PopupMenu::updateFromElement):
89108         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89109         * platform/mac/SearchPopupMenuMac.h: Removed.
89110         * platform/mac/SearchPopupMenuMac.mm:
89111         (WebCore::SearchPopupMenu::SearchPopupMenu):
89112         (WebCore::SearchPopupMenu::enabled):
89113         (WebCore::SearchPopupMenu::saveRecentSearches):
89114         (WebCore::SearchPopupMenu::loadRecentSearches):
89115         * platform/qt/PopupMenuQt.cpp:
89116         (WebCore::PopupMenu::PopupMenu):
89117         (WebCore::PopupMenu::~PopupMenu):
89118         (WebCore::PopupMenu::show):
89119         (WebCore::PopupMenu::hide):
89120         (WebCore::PopupMenu::updateFromElement):
89121         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89122         * platform/qt/PopupMenuQt.h: Removed.
89123         * platform/qt/QtAbstractWebPopup.h:
89124         * platform/qt/SearchPopupMenuQt.cpp:
89125         (WebCore::SearchPopupMenu::SearchPopupMenu):
89126         (WebCore::SearchPopupMenu::saveRecentSearches):
89127         (WebCore::SearchPopupMenu::loadRecentSearches):
89128         (WebCore::SearchPopupMenu::enabled):
89129         * platform/qt/SearchPopupMenuQt.h: Removed.
89130         * platform/win/PopupMenuWin.cpp:
89131         (WebCore::PopupMenu::PopupMenu):
89132         (WebCore::PopupMenu::~PopupMenu):
89133         (WebCore::PopupMenu::popupClassName):
89134         (WebCore::PopupMenu::show):
89135         (WebCore::PopupMenu::hide):
89136         (WebCore::PopupMenu::calculatePositionAndSize):
89137         (WebCore::PopupMenu::setFocusedIndex):
89138         (WebCore::PopupMenu::visibleItems):
89139         (WebCore::PopupMenu::listIndexAtPoint):
89140         (WebCore::PopupMenu::focusedIndex):
89141         (WebCore::PopupMenu::focusFirst):
89142         (WebCore::PopupMenu::focusLast):
89143         (WebCore::PopupMenu::down):
89144         (WebCore::PopupMenu::up):
89145         (WebCore::PopupMenu::invalidateItem):
89146         (WebCore::PopupMenu::clientRect):
89147         (WebCore::PopupMenu::incrementWheelDelta):
89148         (WebCore::PopupMenu::reduceWheelDelta):
89149         (WebCore::PopupMenu::scrollToRevealSelection):
89150         (WebCore::PopupMenu::updateFromElement):
89151         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89152         (WebCore::PopupMenu::paint):
89153         (WebCore::PopupMenu::valueChanged):
89154         (WebCore::PopupMenu::invalidateScrollbarRect):
89155         (WebCore::PopupMenu::registerClass):
89156         (WebCore::PopupMenu::PopupMenuWndProc):
89157         (WebCore::PopupMenu::wndProc):
89158         * platform/win/PopupMenuWin.h: Removed.
89159         * platform/win/SearchPopupMenuWin.cpp:
89160         (WebCore::SearchPopupMenu::SearchPopupMenu):
89161         (WebCore::SearchPopupMenu::enabled):
89162         (WebCore::SearchPopupMenu::saveRecentSearches):
89163         (WebCore::SearchPopupMenu::loadRecentSearches):
89164         * platform/win/SearchPopupMenuWin.h: Removed.
89165         * platform/wx/PopupMenuWx.cpp:
89166         (WebCore::PopupMenu::PopupMenu):
89167         (WebCore::PopupMenu::~PopupMenu):
89168         (WebCore::PopupMenu::show):
89169         (WebCore::PopupMenu::OnMenuItemSelected):
89170         (WebCore::PopupMenu::hide):
89171         (WebCore::PopupMenu::updateFromElement):
89172         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89173         * platform/wx/PopupMenuWx.h: Removed.
89174         * platform/wx/SearchPopupMenuWx.cpp:
89175         (WebCore::SearchPopupMenu::SearchPopupMenu):
89176         (WebCore::SearchPopupMenu::saveRecentSearches):
89177         (WebCore::SearchPopupMenu::loadRecentSearches):
89178         (WebCore::SearchPopupMenu::enabled):
89179         * platform/wx/SearchPopupMenuWx.h: Removed.
89180         * rendering/RenderMenuList.cpp:
89181         (WebCore::RenderMenuList::adjustInnerStyle):
89182         (WebCore::RenderMenuList::showPopup):
89183         * rendering/RenderMenuList.h:
89184         * rendering/RenderTextControlSingleLine.cpp:
89185         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
89186         (WebCore::RenderTextControlSingleLine::addSearchResult):
89187         (WebCore::RenderTextControlSingleLine::showPopup):
89188         (WebCore::RenderTextControlSingleLine::hidePopup):
89189         (WebCore::RenderTextControlSingleLine::updateFromElement):
89190         (WebCore::RenderTextControlSingleLine::valueChanged):
89191         * rendering/RenderTextControlSingleLine.h:
89192
89193 2010-08-02  Markus Goetz  <Markus.Goetz@nokia.com>
89194
89195         Reviewed by Kenneth Rohde Christiansen.
89196
89197         [Qt] Do not link to SharedBufferCF.cpp
89198         The Qt port does not need this file.
89199         We plan to implement the platformData()
89200         for SharedBuffer at some point soon.
89201         https://bugs.webkit.org/show_bug.cgi?id=43242
89202
89203         * WebCore.pro:
89204         * platform/SharedBuffer.cpp:
89205
89206 2010-08-02  Balazs Kelemen  <kb@inf.u-szeged.hu>
89207
89208         Reviewed by Simon Hausmann.
89209
89210         [Qt] Generate forwarding headers for WebKit2
89211
89212         https://bugs.webkit.org/show_bug.cgi?id=43336
89213
89214         * WebCore.pri: Removed header copying logic.
89215         * WebCore.pro: Add include paths for WebKit2.
89216
89217 2010-08-02  Andrey Kosyakov  <caseq@chromium.org>
89218
89219         Reviewed by Pavel Feldman.
89220
89221         Web Inspector: adding experimental support for WebInspector extensions API.
89222         https://bugs.webkit.org/show_bug.cgi?id=40425
89223
89224         Tests: inspector/extensions-api.html
89225                inspector/extensions.html
89226
89227         * WebCore.gypi:
89228         * WebCore.vcproj/WebCore.vcproj:
89229         * inspector/InspectorController.cpp:
89230         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
89231         (WebCore::InspectorController::didCommitLoad):
89232         * inspector/InspectorFrontendHost.cpp:
89233         (WebCore::InspectorFrontendHost::setExtensionAPI):
89234         * inspector/InspectorFrontendHost.h:
89235         * inspector/InspectorFrontendHost.idl:
89236         * inspector/front-end/ElementsPanel.js:
89237         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
89238         (WebInspector.ElementsPanel):
89239         * inspector/front-end/ExtensionAPI.js: Added. An API implementation that gets injected into the extension context.
89240         (injectedExtensionAPI):
89241         (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
89242         (injectedExtensionAPI.EventSinkImpl.prototype.removeListener):
89243         (injectedExtensionAPI.EventSinkImpl.prototype._fire):
89244         (injectedExtensionAPI.EventSink):
89245         (injectedExtensionAPI.InspectorExtensionAPI):
89246         (injectedExtensionAPI.InspectorExtensionAPI.prototype.log):
89247         (injectedExtensionAPI.Resources.prototype.getAll):
89248         (injectedExtensionAPI.Resources.prototype.get return):
89249         (injectedExtensionAPI.Resources.prototype):
89250         (injectedExtensionAPI.Panels):
89251         (injectedExtensionAPI.Panels.prototype.create.callbackWrapper):
89252         (injectedExtensionAPI.Panels.prototype.create):
89253         (injectedExtensionAPI.PanelImpl):
89254         (injectedExtensionAPI.PanelImpl.prototype.createSidebarPane.callbackWrapper):
89255         (injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
89256         (injectedExtensionAPI.ExtensionPanel):
89257         (injectedExtensionAPI.ExtensionSidebarPaneImpl):
89258         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
89259         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpanded):
89260         (injectedExtensionAPI.InspectedWindow):
89261         (injectedExtensionAPI.InspectedWindow.prototype.reload):
89262         (injectedExtensionAPI.InspectedWindow.prototype.evaluate):
89263         (injectedExtensionAPI.ExtensionServerClient.prototype.sendRequest):
89264         (injectedExtensionAPI.ExtensionServerClient.prototype.registerHandler):
89265         (injectedExtensionAPI.ExtensionServerClient.prototype.nextObjectId):
89266         (injectedExtensionAPI.ExtensionServerClient.prototype._registerCallback):
89267         (injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
89268         (injectedExtensionAPI.ExtensionServerClient.prototype._onMessage):
89269         (injectedExtensionAPI.expandURL):
89270         (injectedExtensionAPI.):
89271         * inspector/front-end/ExtensionPanel.js: Added. A class that provides WebInspector's Panel interface to the inspector, hosts extension panel within an IFrame and proxies Panel callbacks to the extension.
89272         (WebInspector.ExtensionPanel):
89273         (WebInspector.ExtensionPanel.prototype.get defaultFocusedElement):
89274         (WebInspector.ExtensionPanel.prototype.updateMainViewWidth):
89275         (WebInspector.ExtensionPanel.prototype.searchCanceled):
89276         (WebInspector.ExtensionPanel.prototype.performSearch):
89277         (WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
89278         (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
89279         (WebInspector.ExtensionPanel.prototype._addStyleRule):
89280         * inspector/front-end/ExtensionRegistryStub.js: Added. A stub for ExtensionRegistry class that is meant to provide a list of extensions. Actual implementations may be browser-specfic.
89281         (.WebInspector.InspectorExtensionRegistryStub):
89282         (.WebInspector.InspectorExtensionRegistryStub.prototype.getExtensionsAsync):
89283         * inspector/front-end/ExtensionServer.js: Added. Communicates with ExtensionAPI via DOM messaging and proxies requests to WebInspector classes.
89284         (WebInspector.ExtensionServer):
89285         (WebInspector.ExtensionServer.prototype.notifyPanelShown):
89286         (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
89287         (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
89288         (WebInspector.ExtensionServer.prototype.notifySearchAction):
89289         (WebInspector.ExtensionServer.prototype.notifyInspectedPageLoaded):
89290         (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
89291         (WebInspector.ExtensionServer.prototype.notifyInspectorReset):
89292         (WebInspector.ExtensionServer.prototype._convertResource):
89293         (WebInspector.ExtensionServer.prototype._postNotification):
89294         (WebInspector.ExtensionServer.prototype._onSubscribe):
89295         (WebInspector.ExtensionServer.prototype._onUnsubscribe):
89296         (WebInspector.ExtensionServer.prototype._onCreatePanel):
89297         (WebInspector.ExtensionServer.prototype._onCreateSidebar):
89298         (WebInspector.ExtensionServer.prototype._createClientIframe):
89299         (WebInspector.ExtensionServer.prototype._onSetSidebarHeight):
89300         (WebInspector.ExtensionServer.prototype._onSetSidebarExpansion):
89301         (WebInspector.ExtensionServer.prototype._onLog):
89302         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
89303         (WebInspector.ExtensionServer.prototype._onRevealAndSelect):
89304         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
89305         (WebInspector.ExtensionServer.prototype._dispatchCallback):
89306         (WebInspector.ExtensionServer.prototype._onGetResources):
89307         (WebInspector.ExtensionServer.prototype.initExtensions):
89308         (WebInspector.ExtensionServer.prototype._addExtensions):
89309         (WebInspector.ExtensionServer.prototype._onWindowMessage):
89310         (WebInspector.ExtensionServer.prototype._onmessage):
89311         (WebInspector.ExtensionServer.prototype._registerHandler):
89312         (WebInspector.ExtensionStatus):
89313         (WebInspector.addExtensions):
89314         * inspector/front-end/InjectedScript.js:
89315         (injectedScriptConstructor):
89316         * inspector/front-end/InjectedScriptAccess.js:
89317         * inspector/front-end/InspectorFrontendHostStub.js:
89318         (.WebInspector.InspectorFrontendHostStub.prototype.setExtensionAPI):
89319         (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
89320         * inspector/front-end/WebKit.qrc:
89321         * inspector/front-end/inspector.html:
89322         * inspector/front-end/inspector.js:
89323         (WebInspector.loaded):
89324         (WebInspector.updateResource):
89325         (WebInspector.reset):
89326         (WebInspector.inspectedURLChanged):
89327         (WebInspector.didCommitLoad):
89328
89329 2010-08-02  Ilya Tikhonovsky  <loislo@chromium.org>
89330
89331         Reviewed by Yury Semikhatsky.
89332
89333         WebInspector: Inspector is not working when it is loaded as html page.
89334         https://bugs.webkit.org/show_bug.cgi?id=43334
89335
89336         * inspector/front-end/InspectorFrontendHostStub.js:
89337         (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
89338         (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
89339
89340 2010-08-01  Nikolas Zimmermann  <nzimmermann@rim.com>
89341
89342         Reviewed by Dirk Schulze.
89343
89344         SVG gradients do not update when scripted via xlink
89345         https://bugs.webkit.org/show_bug.cgi?id=42953
89346
89347         Unify cycle detection logic for chainable (through xlink:href) and ordinary resources.
89348         All operate on the render tree now, instead of falling back to the DOM tree for xlink:href queries.
89349
89350         When linking resources, register as regular client, so the regular update mechanisms work as expected.
89351         <linearGradient id="foo"><stop../> </linearGradient>
89352         <linearGradient id="bar" xlink:href="#foo"/>
89353         <rect fill="url(#bar)"/>
89354
89355         Without that the rect won't receive invalidation notifications, as foo <-> bar had no connection.
89356         Fixes the last outstanding class of invalidations. Also speeds up the cycle detetion, when using chained resources,
89357         as no SVG DOM queries have to be executed anymore.
89358
89359         Test: svg/custom/js-update-stop-linked-gradient.svg
89360
89361         * rendering/RenderSVGResourceContainer.cpp:
89362         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
89363         (WebCore::linkedResourceForContainer):
89364         * rendering/SVGResources.cpp:
89365         (WebCore::SVGResources::SVGResources):
89366         (WebCore::chainableResourceTags):
89367         (WebCore::targetReferenceFromResource):
89368         (WebCore::registerPendingResource):
89369         (WebCore::SVGResources::buildCachedResources):
89370         (WebCore::SVGResources::invalidateClient):
89371         (WebCore::SVGResources::resourceDestroyed):
89372         (WebCore::SVGResources::buildSetOfResources):
89373         (WebCore::SVGResources::setLinkedResource):
89374         (WebCore::SVGResources::resetLinkedResource):
89375         (WebCore::SVGResources::dump):
89376         * rendering/SVGResources.h:
89377         (WebCore::SVGResources::linkedResource):
89378         * rendering/SVGResourcesCycleSolver.cpp:
89379         (WebCore::SVGResourcesCycleSolver::resolveCycles):
89380         (WebCore::SVGResourcesCycleSolver::breakCycle):
89381         * rendering/SVGResourcesCycleSolver.h:
89382         * svg/SVGFilterElement.cpp:
89383         (WebCore::SVGFilterElement::SVGFilterElement):
89384         * svg/SVGFilterElement.h:
89385         * svg/SVGGradientElement.cpp:
89386         (WebCore::SVGGradientElement::SVGGradientElement):
89387         * svg/SVGGradientElement.h:
89388         * svg/SVGLinearGradientElement.cpp:
89389         (WebCore::SVGLinearGradientElement::collectGradientProperties):
89390         * svg/SVGPatternElement.cpp:
89391         (WebCore::SVGPatternElement::SVGPatternElement):
89392         (WebCore::SVGPatternElement::collectPatternProperties):
89393         * svg/SVGPatternElement.h:
89394         * svg/SVGRadialGradientElement.cpp:
89395         (WebCore::SVGRadialGradientElement::collectGradientProperties):
89396
89397 2010-07-31  Dan Bernstein  <mitz@apple.com>
89398
89399         Try to fix the Windows build when zlib is not available.
89400
89401         * platform/graphics/WOFFFileFormat.cpp:
89402
89403 2010-07-31  Dan Bernstein  <mitz@apple.com>
89404
89405         Try to fix the Windows build when zlib is not available.
89406
89407         * platform/graphics/WOFFFileFormat.cpp:
89408
89409 2010-07-31  Dan Bernstein  <mitz@apple.com>
89410
89411         Try to fix the Windows build when zlib is not available.
89412
89413         * platform/graphics/WOFFFileFormat.cpp:
89414
89415 2010-07-31  Dan Bernstein  <mitz@apple.com>
89416
89417         Fix typo in attempted build fix.
89418
89419         * platform/graphics/WOFFFileFormat.cpp:
89420
89421 2010-07-31  Dan Bernstein  <mitz@apple.com>
89422
89423         Try to fix the Windows build when zlib is not available.
89424
89425         * platform/graphics/WOFFFileFormat.cpp:
89426
89427 2010-07-31  Dan Bernstein  <mitz@apple.com>
89428
89429         Reviewed by Darin Adler.
89430
89431         <rdar://problem/8234766> Add WOFF support for @font-face
89432         https://bugs.webkit.org/show_bug.cgi?id=31302
89433
89434         * WebCore.vcproj/WebCore.vcproj: Added WOFFFileFormat.{cpp,h}.
89435         * WebCore.vcproj/WebCoreCommon.vsprops: Added $(WebKitLibraries)\include\zlib to the header search path.
89436         * WebCore.xcodeproj/project.pbxproj: Added WOFFFileFormat.{cpp,h} and linking against libz.
89437         * css/CSSFontFaceSrcValue.cpp:
89438         (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Replaced hard-coded list of supported formats with
89439         call to FontCustomPlatformData::supportsFormat().
89440         * platform/graphics/WOFFFileFormat.cpp: Added.
89441         (WebCore::isWOFF): Checks if the buffer has the WOFF signature.
89442         (WebCore::convertWOFFToSfnt): Extracts the sfnt payload of a WOFF package.
89443         * platform/graphics/WOFFFileFormat.h: Added.
89444         * platform/graphics/cairo/FontCustomPlatformData.cpp:
89445         (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
89446         * platform/graphics/cairo/FontCustomPlatformData.h:
89447         * platform/graphics/chromium/FontCustomPlatformData.cpp:
89448         (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype,
89449         and also for woff if the OpenType sanitizer is enabled.
89450         * platform/graphics/chromium/FontCustomPlatformData.h:
89451         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
89452         (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns false.
89453         * platform/graphics/haiku/FontCustomPlatformData.cpp:
89454         (WebCore::FontCustomPlatformData::supportsFormat): Ditto.
89455         * platform/graphics/haiku/FontCustomPlatformData.h:
89456         * platform/graphics/mac/FontCustomPlatformData.cpp:
89457         (WebCore::freeSfntData):
89458         (WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
89459         (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
89460         * platform/graphics/mac/FontCustomPlatformData.h:
89461         * platform/graphics/qt/FontCustomPlatformData.h:
89462         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
89463         (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
89464         * platform/graphics/win/FontCustomPlatformData.cpp:
89465         (WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
89466         (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
89467         * platform/graphics/win/FontCustomPlatformData.h:
89468         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
89469         (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
89470         * platform/graphics/win/FontCustomPlatformDataCairo.h:
89471         * platform/graphics/wince/FontCustomPlatformData.cpp:
89472         (WebCore::FontCustomPlatformData::supportsFormat): Ditto.
89473         * platform/graphics/wince/FontCustomPlatformData.h:
89474
89475 2010-07-31  Ryosuke Niwa  <rniwa@webkit.org>
89476
89477         Reviewed by Ojan Vafai.
89478
89479         SplitElementCommand shouldn't be duplicating id attribute
89480         https://bugs.webkit.org/show_bug.cgi?id=27156
89481
89482         Modified SplitElementCommand to delete the id attribute from the second element when splitting an element.
89483         Since this causes WebKit not to merge split elements, added shouldSplitElement to ApplyStyleCommand which
89484         determines the necessity of splitting the element.
89485
89486         To share code between shouldSplitElement and removeInlineStyleFromElement (extracted from applyInlineStyle)
89487         dontRemove was added as the 3rd argument to removeHTMLFontStyle, removeHTMLBidiEmbeddingStyle, and removeCSSStyle.
89488
89489         Test: editing/style/split-element-id-duplication.html
89490
89491         * editing/ApplyStyleCommand.cpp:
89492         (WebCore::ApplyStyleCommand::applyBlockStyle): Added 3rd argument for removeCSSStyle.
89493         (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitElement.
89494         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Extracted from removeInlineStyle.
89495         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Inline helper for removeInlineStyleFromElement.
89496         (WebCore::ApplyStyleCommand::removeHTMLFontStyle): Added dontRemove.
89497         (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added dontRemove.
89498         (WebCore::ApplyStyleCommand::removeCSSStyle): Added dontRemove.
89499         (WebCore::ApplyStyleCommand::removeInlineStyle): Calls removeInlineStyleFromElement.
89500         (WebCore::ApplyStyleCommand::splitTextElementAtStart): Removed the call to splitTextAtStart.
89501         Branching is now done in applyInlineStyle.
89502         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto for splitTextAtEnd.
89503         (WebCore::ApplyStyleCommand::shouldSplitElement): Added.
89504         * editing/ApplyStyleCommand.h:
89505         * editing/SplitElementCommand.cpp:
89506         (WebCore::SplitElementCommand::executeApply): Deletes the id attribute from the second element.
89507         (WebCore::SplitElementCommand::doUnapply): Recovers the id attribute of the second element.
89508
89509 2010-07-31  Luiz Agostini  <luiz.agostini@openbossa.org>
89510
89511         Build fix: Windows.
89512
89513         * platform/win/PopupMenuWin.h:
89514
89515 2010-07-31  Luiz Agostini  <luiz.agostini@openbossa.org>
89516
89517         Windows build fix.
89518
89519         * platform/win/PopupMenuWin.cpp:
89520         (WebCore::PopupMenuWin::PopupMenuWndProc):
89521
89522 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
89523
89524         Reviewed by Darin Fisher.
89525
89526         PopupMenu refactoring in preparation to WebKit2
89527         https://bugs.webkit.org/show_bug.cgi?id=42592
89528
89529         Classes PopupMenu and SearchPopupMenu have been made pure virtual.
89530
89531         * platform/PopupMenu.h:
89532         (WebCore::PopupMenu::~PopupMenu):
89533         * platform/SearchPopupMenu.h:
89534         (WebCore::SearchPopupMenu::~SearchPopupMenu):
89535
89536         Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
89537         the new pure virtual PopupMenu and SearchPopupMenu.
89538
89539         * rendering/RenderMenuList.cpp:
89540         (WebCore::RenderMenuList::adjustInnerStyle):
89541         (WebCore::RenderMenuList::showPopup):
89542         * rendering/RenderMenuList.h:
89543         * rendering/RenderTextControlSingleLine.cpp:
89544         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
89545         (WebCore::RenderTextControlSingleLine::addSearchResult):
89546         (WebCore::RenderTextControlSingleLine::showPopup):
89547         (WebCore::RenderTextControlSingleLine::hidePopup):
89548         (WebCore::RenderTextControlSingleLine::updateFromElement):
89549         (WebCore::RenderTextControlSingleLine::valueChanged):
89550         * rendering/RenderTextControlSingleLine.h:
89551
89552         Chrome and ChromeClient were made responsible for providing instances of classes
89553         PopupMenu and SearchPopupMenu to its users.
89554
89555         * loader/EmptyClients.h:
89556         (WebCore::EmptyPopupMenu::show):
89557         (WebCore::EmptyPopupMenu::hide):
89558         (WebCore::EmptyPopupMenu::updateFromElement):
89559         (WebCore::EmptyPopupMenu::disconnectClient):
89560         (WebCore::EmptySearchPopupMenu::popupMenu):
89561         (WebCore::EmptySearchPopupMenu::saveRecentSearches):
89562         (WebCore::EmptySearchPopupMenu::loadRecentSearches):
89563         (WebCore::EmptySearchPopupMenu::enabled):
89564         (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
89565         (WebCore::EmptyChromeClient::createPopupMenu):
89566         (WebCore::EmptyChromeClient::createSearchPopupMenu):
89567         * page/Chrome.cpp:
89568         (WebCore::Chrome::selectItemWritingDirectionIsNatural):
89569         (WebCore::Chrome::createPopupMenu):
89570         (WebCore::Chrome::createSearchPopupMenu):
89571         * page/Chrome.h:
89572         * page/ChromeClient.h:
89573
89574         Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
89575         in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
89576         Each of new the files contain the concrete classes that inherit form PopupMenu or
89577         SearchPopupMenu and are specific for the corresponding platform.
89578
89579         brew:
89580
89581         * platform/brew/PopupMenuBrew.cpp:
89582         (WebCore::PopupMenuBrew::PopupMenuBrew):
89583         (WebCore::PopupMenuBrew::~PopupMenuBrew):
89584         (WebCore::PopupMenuBrew::disconnectClient):
89585         (WebCore::PopupMenuBrew::show):
89586         (WebCore::PopupMenuBrew::hide):
89587         (WebCore::PopupMenuBrew::updateFromElement):
89588         * platform/brew/PopupMenuBrew.h: Added.
89589         (WebCore::PopupMenuBrew::client):
89590         * platform/brew/SearchPopupMenuBrew.cpp:
89591         (WebCore::SearchPopupMenuBrew::saveRecentSearches):
89592         (WebCore::SearchPopupMenuBrew::loadRecentSearches):
89593         (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
89594         (WebCore::SearchPopupMenuBrew::enabled):
89595         (WebCore::SearchPopupMenuBrew::popupMenu):
89596         * platform/brew/SearchPopupMenuBrew.h: Added.
89597
89598         chromium:
89599
89600         * WebCore.gypi:
89601         * platform/chromium/PopupMenuChromium.cpp:
89602         (WebCore::PopupMenuChromium::PopupMenuChromium):
89603         (WebCore::PopupMenuChromium::~PopupMenuChromium):
89604         (WebCore::PopupMenuChromium::show):
89605         (WebCore::PopupMenuChromium::hide):
89606         (WebCore::PopupMenuChromium::updateFromElement):
89607         (WebCore::PopupMenuChromium::disconnectClient):
89608         * platform/chromium/PopupMenuChromium.h:
89609         (WebCore::PopupMenuChromium::client):
89610         * platform/chromium/SearchPopupMenuChromium.cpp:
89611         (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
89612         (WebCore::SearchPopupMenuChromium::popupMenu):
89613         (WebCore::SearchPopupMenuChromium::enabled):
89614         (WebCore::SearchPopupMenuChromium::saveRecentSearches):
89615         (WebCore::SearchPopupMenuChromium::loadRecentSearches):
89616         * platform/chromium/SearchPopupMenuChromium.h: Added.
89617
89618         efl:
89619
89620         * platform/efl/PopupMenuEfl.cpp:
89621         (WebCore::PopupMenuEfl::PopupMenuEfl):
89622         (WebCore::PopupMenuEfl::~PopupMenuEfl):
89623         (WebCore::PopupMenuEfl::show):
89624         (WebCore::PopupMenuEfl::hide):
89625         (WebCore::PopupMenuEfl::updateFromElement):
89626         (WebCore::PopupMenuEfl::disconnectClient):
89627         * platform/efl/PopupMenuEfl.h: Added.
89628         (WebCore::PopupMenuEfl::client):
89629         * platform/efl/SearchPopupMenuEfl.cpp:
89630         (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
89631         (WebCore::SearchPopupMenuEfl::popupMenu):
89632         (WebCore::SearchPopupMenuEfl::saveRecentSearches):
89633         (WebCore::SearchPopupMenuEfl::loadRecentSearches):
89634         (WebCore::SearchPopupMenuEfl::enabled):
89635         * platform/efl/SearchPopupMenuEfl.h: Added.
89636
89637         gtk:
89638
89639         * GNUmakefile.am:
89640         * platform/gtk/PopupMenuGtk.cpp:
89641         (WebCore::PopupMenuGtk::PopupMenuGtk):
89642         (WebCore::PopupMenuGtk::~PopupMenuGtk):
89643         (WebCore::PopupMenuGtk::show):
89644         (WebCore::PopupMenuGtk::hide):
89645         (WebCore::PopupMenuGtk::updateFromElement):
89646         (WebCore::PopupMenuGtk::disconnectClient):
89647         (WebCore::PopupMenuGtk::menuItemActivated):
89648         (WebCore::PopupMenuGtk::menuUnmapped):
89649         (WebCore::PopupMenuGtk::menuPositionFunction):
89650         (WebCore::PopupMenuGtk::menuRemoveItem):
89651         * platform/gtk/PopupMenuGtk.h: Added.
89652         (WebCore::PopupMenuGtk::client):
89653         * platform/gtk/SearchPopupMenuGtk.cpp:
89654         (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
89655         (WebCore::SearchPopupMenuGtk::popupMenu):
89656         (WebCore::SearchPopupMenuGtk::saveRecentSearches):
89657         (WebCore::SearchPopupMenuGtk::loadRecentSearches):
89658         (WebCore::SearchPopupMenuGtk::enabled):
89659         * platform/gtk/SearchPopupMenuGtk.h: Added.
89660
89661         haiku:
89662
89663         * platform/haiku/PopupMenuHaiku.cpp:
89664         (WebCore::HaikuPopup::HaikuPopup):
89665         (WebCore::HaikuPopup::~HaikuPopup):
89666         (WebCore::PopupMenuHaiku::PopupMenuHaiku):
89667         (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
89668         (WebCore::PopupMenuHaiku::disconnectClient):
89669         (WebCore::PopupMenuHaiku::show):
89670         (WebCore::PopupMenuHaiku::hide):
89671         (WebCore::PopupMenuHaiku::updateFromElement):
89672         * platform/haiku/PopupMenuHaiku.h: Added.
89673         (WebCore::PopupMenuHaiku::disconnectClient):
89674         (WebCore::PopupMenuHaiku::client):
89675         * platform/haiku/SearchPopupMenuHaiku.cpp:
89676         (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
89677         (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
89678         (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
89679         (WebCore::SearchPopupMenuHaiku::enabled):
89680         (WebCore::SearchPopupMenuHaiku::popupMenu):
89681         * platform/haiku/SearchPopupMenuHaiku.h: Added.
89682
89683         mac:
89684
89685         * WebCore.exp.in:
89686         * WebCore.xcodeproj/project.pbxproj:
89687         * platform/mac/PopupMenuMac.h: Added.
89688         (WebCore::PopupMenuMac::disconnectClient):
89689         (WebCore::PopupMenuMac::client):
89690         * platform/mac/PopupMenuMac.mm:
89691         (WebCore::PopupMenuMac::PopupMenuMac):
89692         (WebCore::PopupMenuMac::~PopupMenuMac):
89693         (WebCore::PopupMenuMac::clear):
89694         (WebCore::PopupMenuMac::populate):
89695         (WebCore::PopupMenuMac::show):
89696         (WebCore::PopupMenuMac::hide):
89697         (WebCore::PopupMenuMac::updateFromElement):
89698         (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
89699         * platform/mac/SearchPopupMenuMac.h: Added.
89700         * platform/mac/SearchPopupMenuMac.mm:
89701         (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
89702         (WebCore::SearchPopupMenuMac::popupMenu):
89703         (WebCore::SearchPopupMenuMac::enabled):
89704         (WebCore::SearchPopupMenuMac::saveRecentSearches):
89705         (WebCore::SearchPopupMenuMac::loadRecentSearches):
89706
89707         qt:
89708
89709         * WebCore.pro:
89710         * platform/qt/PopupMenuQt.cpp:
89711         (WebCore::PopupMenuQt::PopupMenuQt):
89712         (WebCore::PopupMenuQt::~PopupMenuQt):
89713         (WebCore::PopupMenuQt::disconnectClient):
89714         (WebCore::PopupMenuQt::show):
89715         (WebCore::PopupMenuQt::hide):
89716         (WebCore::PopupMenuQt::updateFromElement):
89717         * platform/qt/PopupMenuQt.h: Added.
89718         * platform/qt/QtAbstractWebPopup.h:
89719         * platform/qt/SearchPopupMenuQt.cpp:
89720         (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
89721         (WebCore::SearchPopupMenuQt::popupMenu):
89722         (WebCore::SearchPopupMenuQt::saveRecentSearches):
89723         (WebCore::SearchPopupMenuQt::loadRecentSearches):
89724         (WebCore::SearchPopupMenuQt::enabled):
89725         * platform/qt/SearchPopupMenuQt.h: Added.
89726
89727         win:
89728
89729         * WebCore.vcproj/WebCore.vcproj:
89730         * platform/win/PopupMenuWin.cpp:
89731         (WebCore::PopupMenuWin::PopupMenuWin):
89732         (WebCore::PopupMenuWin::~PopupMenuWin):
89733         (WebCore::PopupMenuWin::disconnectClient):
89734         (WebCore::PopupMenuWin::popupClassName):
89735         (WebCore::PopupMenuWin::show):
89736         (WebCore::PopupMenuWin::hide):
89737         (WebCore::PopupMenuWin::calculatePositionAndSize):
89738         (WebCore::PopupMenuWin::setFocusedIndex):
89739         (WebCore::PopupMenuWin::visibleItems):
89740         (WebCore::PopupMenuWin::listIndexAtPoint):
89741         (WebCore::PopupMenuWin::focusedIndex):
89742         (WebCore::PopupMenuWin::focusFirst):
89743         (WebCore::PopupMenuWin::focusLast):
89744         (WebCore::PopupMenuWin::down):
89745         (WebCore::PopupMenuWin::up):
89746         (WebCore::PopupMenuWin::invalidateItem):
89747         (WebCore::PopupMenuWin::clientRect):
89748         (WebCore::PopupMenuWin::incrementWheelDelta):
89749         (WebCore::PopupMenuWin::reduceWheelDelta):
89750         (WebCore::PopupMenuWin::scrollToRevealSelection):
89751         (WebCore::PopupMenuWin::updateFromElement):
89752         (WebCore::PopupMenuWin::paint):
89753         (WebCore::PopupMenuWin::valueChanged):
89754         (WebCore::PopupMenuWin::invalidateScrollbarRect):
89755         (WebCore::PopupMenuWin::registerClass):
89756         (WebCore::PopupMenuWin::PopupMenuWndProc):
89757         (WebCore::PopupMenuWin::wndProc):
89758         * platform/win/PopupMenuWin.h: Added.
89759         (WebCore::PopupMenuWin::client):
89760         (WebCore::PopupMenuWin::scrollbar):
89761         (WebCore::PopupMenuWin::itemHeight):
89762         (WebCore::PopupMenuWin::windowRect):
89763         (WebCore::PopupMenuWin::popupHandle):
89764         (WebCore::PopupMenuWin::setWasClicked):
89765         (WebCore::PopupMenuWin::wasClicked):
89766         (WebCore::PopupMenuWin::setScrollOffset):
89767         (WebCore::PopupMenuWin::scrollOffset):
89768         (WebCore::PopupMenuWin::wheelDelta):
89769         (WebCore::PopupMenuWin::scrollbarCapturingMouse):
89770         (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
89771         * platform/win/SearchPopupMenuWin.cpp:
89772         (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
89773         (WebCore::SearchPopupMenuWin::popupMenu):
89774         (WebCore::SearchPopupMenuWin::enabled):
89775         (WebCore::SearchPopupMenuWin::saveRecentSearches):
89776         (WebCore::SearchPopupMenuWin::loadRecentSearches):
89777         * platform/win/SearchPopupMenuWin.h: Added.
89778
89779         wx:
89780
89781         * platform/wx/PopupMenuWx.cpp:
89782         (WebCore::PopupMenuWx::PopupMenuWx):
89783         (WebCore::PopupMenuWx::~PopupMenuWx):
89784         (WebCore::PopupMenuWx::disconnectClient):
89785         (WebCore::PopupMenuWx::show):
89786         (WebCore::PopupMenuWx::OnMenuItemSelected):
89787         (WebCore::PopupMenuWx::hide):
89788         (WebCore::PopupMenuWx::updateFromElement):
89789         * platform/wx/PopupMenuWx.h: Added.
89790         (WebCore::PopupMenuWx::client):
89791         * platform/wx/SearchPopupMenuWx.cpp:
89792         (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
89793         (WebCore::SearchPopupMenuWx::saveRecentSearches):
89794         (WebCore::SearchPopupMenuWx::loadRecentSearches):
89795         (WebCore::SearchPopupMenuWx::enabled):
89796         (WebCore::SearchPopupMenuWx::popupMenu):
89797         * platform/wx/SearchPopupMenuWx.h: Added.
89798
89799
89800
89801 2010-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
89802
89803         Unreviewed, rolling out r64422.
89804         http://trac.webkit.org/changeset/64422
89805         https://bugs.webkit.org/show_bug.cgi?id=43304
89806
89807         Build fixes are needed for Snow Leopard and Windows.
89808         (Requested by lca on #webkit).
89809
89810         * GNUmakefile.am:
89811         * WebCore.exp.in:
89812         * WebCore.gypi:
89813         * WebCore.pro:
89814         * WebCore.vcproj/WebCore.vcproj:
89815         * WebCore.xcodeproj/project.pbxproj:
89816         * loader/EmptyClients.h:
89817         * page/Chrome.cpp:
89818         * page/Chrome.h:
89819         * page/ChromeClient.h:
89820         * platform/PopupMenu.h:
89821         (WebCore::PopupMenu::create):
89822         (WebCore::PopupMenu::disconnectClient):
89823         (WebCore::PopupMenu::client):
89824         (WebCore::PopupMenu::scrollbar):
89825         (WebCore::PopupMenu::itemHeight):
89826         (WebCore::PopupMenu::windowRect):
89827         (WebCore::PopupMenu::popupHandle):
89828         (WebCore::PopupMenu::setWasClicked):
89829         (WebCore::PopupMenu::wasClicked):
89830         (WebCore::PopupMenu::setScrollOffset):
89831         (WebCore::PopupMenu::scrollOffset):
89832         (WebCore::PopupMenu::wheelDelta):
89833         (WebCore::PopupMenu::scrollbarCapturingMouse):
89834         (WebCore::PopupMenu::setScrollbarCapturingMouse):
89835         (WebCore::PopupMenu::isActive):
89836         (WebCore::PopupMenu::scrollbarCornerPresent):
89837         * platform/SearchPopupMenu.h:
89838         (WebCore::SearchPopupMenu::create):
89839         * platform/brew/PopupMenuBrew.cpp:
89840         (WebCore::PopupMenu::PopupMenu):
89841         (WebCore::PopupMenu::~PopupMenu):
89842         (WebCore::PopupMenu::show):
89843         (WebCore::PopupMenu::hide):
89844         (WebCore::PopupMenu::updateFromElement):
89845         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89846         * platform/brew/PopupMenuBrew.h: Removed.
89847         * platform/brew/SearchPopupMenuBrew.cpp:
89848         (WebCore::SearchPopupMenu::saveRecentSearches):
89849         (WebCore::SearchPopupMenu::loadRecentSearches):
89850         (WebCore::SearchPopupMenu::SearchPopupMenu):
89851         (WebCore::SearchPopupMenu::enabled):
89852         * platform/brew/SearchPopupMenuBrew.h: Removed.
89853         * platform/chromium/PopupMenuChromium.cpp:
89854         (WebCore::PopupMenu::PopupMenu):
89855         (WebCore::PopupMenu::~PopupMenu):
89856         (WebCore::PopupMenu::show):
89857         (WebCore::PopupMenu::hide):
89858         (WebCore::PopupMenu::updateFromElement):
89859         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89860         * platform/chromium/PopupMenuChromium.h:
89861         * platform/chromium/SearchPopupMenuChromium.cpp:
89862         (WebCore::SearchPopupMenu::SearchPopupMenu):
89863         (WebCore::SearchPopupMenu::enabled):
89864         (WebCore::SearchPopupMenu::saveRecentSearches):
89865         (WebCore::SearchPopupMenu::loadRecentSearches):
89866         * platform/chromium/SearchPopupMenuChromium.h: Removed.
89867         * platform/efl/PopupMenuEfl.cpp:
89868         (WebCore::PopupMenu::PopupMenu):
89869         (WebCore::PopupMenu::~PopupMenu):
89870         (WebCore::PopupMenu::show):
89871         (WebCore::PopupMenu::hide):
89872         (WebCore::PopupMenu::updateFromElement):
89873         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89874         * platform/efl/PopupMenuEfl.h: Removed.
89875         * platform/efl/SearchPopupMenuEfl.cpp:
89876         (WebCore::SearchPopupMenu::SearchPopupMenu):
89877         (WebCore::SearchPopupMenu::saveRecentSearches):
89878         (WebCore::SearchPopupMenu::loadRecentSearches):
89879         (WebCore::SearchPopupMenu::enabled):
89880         * platform/efl/SearchPopupMenuEfl.h: Removed.
89881         * platform/gtk/PopupMenuGtk.cpp:
89882         (WebCore::PopupMenu::PopupMenu):
89883         (WebCore::PopupMenu::~PopupMenu):
89884         (WebCore::PopupMenu::show):
89885         (WebCore::PopupMenu::hide):
89886         (WebCore::PopupMenu::updateFromElement):
89887         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89888         (WebCore::PopupMenu::menuItemActivated):
89889         (WebCore::PopupMenu::menuUnmapped):
89890         (WebCore::PopupMenu::menuPositionFunction):
89891         (WebCore::PopupMenu::menuRemoveItem):
89892         * platform/gtk/PopupMenuGtk.h: Removed.
89893         * platform/gtk/SearchPopupMenuGtk.cpp:
89894         (WebCore::SearchPopupMenu::SearchPopupMenu):
89895         (WebCore::SearchPopupMenu::saveRecentSearches):
89896         (WebCore::SearchPopupMenu::loadRecentSearches):
89897         (WebCore::SearchPopupMenu::enabled):
89898         * platform/gtk/SearchPopupMenuGtk.h: Removed.
89899         * platform/haiku/PopupMenuHaiku.cpp:
89900         (WebCore::PopupMenuHaiku::PopupMenuHaiku):
89901         (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
89902         (WebCore::PopupMenu::PopupMenu):
89903         (WebCore::PopupMenu::~PopupMenu):
89904         (WebCore::PopupMenu::show):
89905         (WebCore::PopupMenu::hide):
89906         (WebCore::PopupMenu::updateFromElement):
89907         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89908         * platform/haiku/PopupMenuHaiku.h: Removed.
89909         * platform/haiku/SearchPopupMenuHaiku.cpp:
89910         (WebCore::SearchPopupMenu::SearchPopupMenu):
89911         (WebCore::SearchPopupMenu::saveRecentSearches):
89912         (WebCore::SearchPopupMenu::loadRecentSearches):
89913         (WebCore::SearchPopupMenu::enabled):
89914         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
89915         * platform/mac/PopupMenuMac.h: Removed.
89916         * platform/mac/PopupMenuMac.mm:
89917         (WebCore::PopupMenu::PopupMenu):
89918         (WebCore::PopupMenu::~PopupMenu):
89919         (WebCore::PopupMenu::clear):
89920         (WebCore::PopupMenu::populate):
89921         (WebCore::PopupMenu::show):
89922         (WebCore::PopupMenu::hide):
89923         (WebCore::PopupMenu::updateFromElement):
89924         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89925         * platform/mac/SearchPopupMenuMac.h: Removed.
89926         * platform/mac/SearchPopupMenuMac.mm:
89927         (WebCore::SearchPopupMenu::SearchPopupMenu):
89928         (WebCore::SearchPopupMenu::enabled):
89929         (WebCore::SearchPopupMenu::saveRecentSearches):
89930         (WebCore::SearchPopupMenu::loadRecentSearches):
89931         * platform/qt/PopupMenuQt.cpp:
89932         (WebCore::PopupMenu::PopupMenu):
89933         (WebCore::PopupMenu::~PopupMenu):
89934         (WebCore::PopupMenu::show):
89935         (WebCore::PopupMenu::hide):
89936         (WebCore::PopupMenu::updateFromElement):
89937         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89938         * platform/qt/PopupMenuQt.h: Removed.
89939         * platform/qt/QtAbstractWebPopup.h:
89940         * platform/qt/SearchPopupMenuQt.cpp:
89941         (WebCore::SearchPopupMenu::SearchPopupMenu):
89942         (WebCore::SearchPopupMenu::saveRecentSearches):
89943         (WebCore::SearchPopupMenu::loadRecentSearches):
89944         (WebCore::SearchPopupMenu::enabled):
89945         * platform/qt/SearchPopupMenuQt.h: Removed.
89946         * platform/win/PopupMenuWin.cpp:
89947         (WebCore::PopupMenu::PopupMenu):
89948         (WebCore::PopupMenu::~PopupMenu):
89949         (WebCore::PopupMenu::popupClassName):
89950         (WebCore::PopupMenu::show):
89951         (WebCore::PopupMenu::hide):
89952         (WebCore::PopupMenu::calculatePositionAndSize):
89953         (WebCore::PopupMenu::setFocusedIndex):
89954         (WebCore::PopupMenu::visibleItems):
89955         (WebCore::PopupMenu::listIndexAtPoint):
89956         (WebCore::PopupMenu::focusedIndex):
89957         (WebCore::PopupMenu::focusFirst):
89958         (WebCore::PopupMenu::focusLast):
89959         (WebCore::PopupMenu::down):
89960         (WebCore::PopupMenu::up):
89961         (WebCore::PopupMenu::invalidateItem):
89962         (WebCore::PopupMenu::clientRect):
89963         (WebCore::PopupMenu::incrementWheelDelta):
89964         (WebCore::PopupMenu::reduceWheelDelta):
89965         (WebCore::PopupMenu::scrollToRevealSelection):
89966         (WebCore::PopupMenu::updateFromElement):
89967         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89968         (WebCore::PopupMenu::paint):
89969         (WebCore::PopupMenu::valueChanged):
89970         (WebCore::PopupMenu::invalidateScrollbarRect):
89971         (WebCore::PopupMenu::registerClass):
89972         (WebCore::PopupMenu::PopupMenuWndProc):
89973         (WebCore::PopupMenu::wndProc):
89974         * platform/win/PopupMenuWin.h: Removed.
89975         * platform/win/SearchPopupMenuWin.cpp:
89976         (WebCore::SearchPopupMenu::SearchPopupMenu):
89977         (WebCore::SearchPopupMenu::enabled):
89978         (WebCore::SearchPopupMenu::saveRecentSearches):
89979         (WebCore::SearchPopupMenu::loadRecentSearches):
89980         * platform/win/SearchPopupMenuWin.h: Removed.
89981         * platform/wx/PopupMenuWx.cpp:
89982         (WebCore::PopupMenu::PopupMenu):
89983         (WebCore::PopupMenu::~PopupMenu):
89984         (WebCore::PopupMenu::show):
89985         (WebCore::PopupMenu::OnMenuItemSelected):
89986         (WebCore::PopupMenu::hide):
89987         (WebCore::PopupMenu::updateFromElement):
89988         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89989         * platform/wx/PopupMenuWx.h: Removed.
89990         * platform/wx/SearchPopupMenuWx.cpp:
89991         (WebCore::SearchPopupMenu::SearchPopupMenu):
89992         (WebCore::SearchPopupMenu::saveRecentSearches):
89993         (WebCore::SearchPopupMenu::loadRecentSearches):
89994         (WebCore::SearchPopupMenu::enabled):
89995         * platform/wx/SearchPopupMenuWx.h: Removed.
89996         * rendering/RenderMenuList.cpp:
89997         (WebCore::RenderMenuList::adjustInnerStyle):
89998         (WebCore::RenderMenuList::showPopup):
89999         * rendering/RenderMenuList.h:
90000         * rendering/RenderTextControlSingleLine.cpp:
90001         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
90002         (WebCore::RenderTextControlSingleLine::addSearchResult):
90003         (WebCore::RenderTextControlSingleLine::showPopup):
90004         (WebCore::RenderTextControlSingleLine::hidePopup):
90005         (WebCore::RenderTextControlSingleLine::updateFromElement):
90006         (WebCore::RenderTextControlSingleLine::valueChanged):
90007         * rendering/RenderTextControlSingleLine.h:
90008
90009 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
90010
90011         Reviewed by Darin Fisher.
90012
90013         PopupMenu refactoring in preparation to WebKit2
90014         https://bugs.webkit.org/show_bug.cgi?id=42592
90015
90016         Classes PopupMenu and SearchPopupMenu have been made pure virtual.
90017
90018         * platform/PopupMenu.h:
90019         (WebCore::PopupMenu::~PopupMenu):
90020         * platform/SearchPopupMenu.h:
90021         (WebCore::SearchPopupMenu::~SearchPopupMenu):
90022
90023         Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
90024         the new pure virtual PopupMenu and SearchPopupMenu.
90025
90026         * rendering/RenderMenuList.cpp:
90027         (WebCore::RenderMenuList::adjustInnerStyle):
90028         (WebCore::RenderMenuList::showPopup):
90029         * rendering/RenderMenuList.h:
90030         * rendering/RenderTextControlSingleLine.cpp:
90031         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
90032         (WebCore::RenderTextControlSingleLine::addSearchResult):
90033         (WebCore::RenderTextControlSingleLine::showPopup):
90034         (WebCore::RenderTextControlSingleLine::hidePopup):
90035         (WebCore::RenderTextControlSingleLine::updateFromElement):
90036         (WebCore::RenderTextControlSingleLine::valueChanged):
90037         * rendering/RenderTextControlSingleLine.h:
90038
90039         Chrome and ChromeClient were made responsible for providing instances of classes
90040         PopupMenu and SearchPopupMenu to its users.
90041
90042         * loader/EmptyClients.h:
90043         (WebCore::EmptyPopupMenu::show):
90044         (WebCore::EmptyPopupMenu::hide):
90045         (WebCore::EmptyPopupMenu::updateFromElement):
90046         (WebCore::EmptyPopupMenu::disconnectClient):
90047         (WebCore::EmptySearchPopupMenu::popupMenu):
90048         (WebCore::EmptySearchPopupMenu::saveRecentSearches):
90049         (WebCore::EmptySearchPopupMenu::loadRecentSearches):
90050         (WebCore::EmptySearchPopupMenu::enabled):
90051         (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
90052         (WebCore::EmptyChromeClient::createPopupMenu):
90053         (WebCore::EmptyChromeClient::createSearchPopupMenu):
90054         * page/Chrome.cpp:
90055         (WebCore::Chrome::selectItemWritingDirectionIsNatural):
90056         (WebCore::Chrome::createPopupMenu):
90057         (WebCore::Chrome::createSearchPopupMenu):
90058         * page/Chrome.h:
90059         * page/ChromeClient.h:
90060
90061         Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
90062         in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
90063         Each of new the files contain the concrete classes that inherit form PopupMenu or
90064         SearchPopupMenu and are specific for the corresponding platform.
90065
90066         brew:
90067
90068         * platform/brew/PopupMenuBrew.cpp:
90069         (WebCore::PopupMenuBrew::PopupMenuBrew):
90070         (WebCore::PopupMenuBrew::~PopupMenuBrew):
90071         (WebCore::PopupMenuBrew::disconnectClient):
90072         (WebCore::PopupMenuBrew::show):
90073         (WebCore::PopupMenuBrew::hide):
90074         (WebCore::PopupMenuBrew::updateFromElement):
90075         * platform/brew/PopupMenuBrew.h: Added.
90076         (WebCore::PopupMenuBrew::client):
90077         * platform/brew/SearchPopupMenuBrew.cpp:
90078         (WebCore::SearchPopupMenuBrew::saveRecentSearches):
90079         (WebCore::SearchPopupMenuBrew::loadRecentSearches):
90080         (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
90081         (WebCore::SearchPopupMenuBrew::enabled):
90082         (WebCore::SearchPopupMenuBrew::popupMenu):
90083         * platform/brew/SearchPopupMenuBrew.h: Added.
90084
90085         chromium:
90086
90087         * WebCore.gypi:
90088         * platform/chromium/PopupMenuChromium.cpp:
90089         (WebCore::PopupMenuChromium::PopupMenuChromium):
90090         (WebCore::PopupMenuChromium::~PopupMenuChromium):
90091         (WebCore::PopupMenuChromium::show):
90092         (WebCore::PopupMenuChromium::hide):
90093         (WebCore::PopupMenuChromium::updateFromElement):
90094         (WebCore::PopupMenuChromium::disconnectClient):
90095         * platform/chromium/PopupMenuChromium.h:
90096         (WebCore::PopupMenuChromium::client):
90097         * platform/chromium/SearchPopupMenuChromium.cpp:
90098         (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
90099         (WebCore::SearchPopupMenuChromium::popupMenu):
90100         (WebCore::SearchPopupMenuChromium::enabled):
90101         (WebCore::SearchPopupMenuChromium::saveRecentSearches):
90102         (WebCore::SearchPopupMenuChromium::loadRecentSearches):
90103         * platform/chromium/SearchPopupMenuChromium.h: Added.
90104
90105         efl:
90106
90107         * platform/efl/PopupMenuEfl.cpp:
90108         (WebCore::PopupMenuEfl::PopupMenuEfl):
90109         (WebCore::PopupMenuEfl::~PopupMenuEfl):
90110         (WebCore::PopupMenuEfl::show):
90111         (WebCore::PopupMenuEfl::hide):
90112         (WebCore::PopupMenuEfl::updateFromElement):
90113         (WebCore::PopupMenuEfl::disconnectClient):
90114         * platform/efl/PopupMenuEfl.h: Added.
90115         (WebCore::PopupMenuEfl::client):
90116         * platform/efl/SearchPopupMenuEfl.cpp:
90117         (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
90118         (WebCore::SearchPopupMenuEfl::popupMenu):
90119         (WebCore::SearchPopupMenuEfl::saveRecentSearches):
90120         (WebCore::SearchPopupMenuEfl::loadRecentSearches):
90121         (WebCore::SearchPopupMenuEfl::enabled):
90122         * platform/efl/SearchPopupMenuEfl.h: Added.
90123
90124         gtk:
90125
90126         * GNUmakefile.am:
90127         * platform/gtk/PopupMenuGtk.cpp:
90128         (WebCore::PopupMenuGtk::PopupMenuGtk):
90129         (WebCore::PopupMenuGtk::~PopupMenuGtk):
90130         (WebCore::PopupMenuGtk::show):
90131         (WebCore::PopupMenuGtk::hide):
90132         (WebCore::PopupMenuGtk::updateFromElement):
90133         (WebCore::PopupMenuGtk::disconnectClient):
90134         (WebCore::PopupMenuGtk::menuItemActivated):
90135         (WebCore::PopupMenuGtk::menuUnmapped):
90136         (WebCore::PopupMenuGtk::menuPositionFunction):
90137         (WebCore::PopupMenuGtk::menuRemoveItem):
90138         * platform/gtk/PopupMenuGtk.h: Added.
90139         (WebCore::PopupMenuGtk::client):
90140         * platform/gtk/SearchPopupMenuGtk.cpp:
90141         (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
90142         (WebCore::SearchPopupMenuGtk::popupMenu):
90143         (WebCore::SearchPopupMenuGtk::saveRecentSearches):
90144         (WebCore::SearchPopupMenuGtk::loadRecentSearches):
90145         (WebCore::SearchPopupMenuGtk::enabled):
90146         * platform/gtk/SearchPopupMenuGtk.h: Added.
90147
90148         haiku:
90149
90150         * platform/haiku/PopupMenuHaiku.cpp:
90151         (WebCore::HaikuPopup::HaikuPopup):
90152         (WebCore::HaikuPopup::~HaikuPopup):
90153         (WebCore::PopupMenuHaiku::PopupMenuHaiku):
90154         (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
90155         (WebCore::PopupMenuHaiku::disconnectClient):
90156         (WebCore::PopupMenuHaiku::show):
90157         (WebCore::PopupMenuHaiku::hide):
90158         (WebCore::PopupMenuHaiku::updateFromElement):
90159         * platform/haiku/PopupMenuHaiku.h: Added.
90160         (WebCore::PopupMenuHaiku::disconnectClient):
90161         (WebCore::PopupMenuHaiku::client):
90162         * platform/haiku/SearchPopupMenuHaiku.cpp:
90163         (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
90164         (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
90165         (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
90166         (WebCore::SearchPopupMenuHaiku::enabled):
90167         (WebCore::SearchPopupMenuHaiku::popupMenu):
90168         * platform/haiku/SearchPopupMenuHaiku.h: Added.
90169
90170         mac:
90171
90172         * WebCore.exp.in:
90173         * WebCore.xcodeproj/project.pbxproj:
90174         * platform/mac/PopupMenuMac.h: Added.
90175         (WebCore::PopupMenuMac::disconnectClient):
90176         (WebCore::PopupMenuMac::client):
90177         * platform/mac/PopupMenuMac.mm:
90178         (WebCore::PopupMenuMac::PopupMenuMac):
90179         (WebCore::PopupMenuMac::~PopupMenuMac):
90180         (WebCore::PopupMenuMac::clear):
90181         (WebCore::PopupMenuMac::populate):
90182         (WebCore::PopupMenuMac::show):
90183         (WebCore::PopupMenuMac::hide):
90184         (WebCore::PopupMenuMac::updateFromElement):
90185         (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
90186         * platform/mac/SearchPopupMenuMac.h: Added.
90187         * platform/mac/SearchPopupMenuMac.mm:
90188         (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
90189         (WebCore::SearchPopupMenuMac::popupMenu):
90190         (WebCore::SearchPopupMenuMac::enabled):
90191         (WebCore::SearchPopupMenuMac::saveRecentSearches):
90192         (WebCore::SearchPopupMenuMac::loadRecentSearches):
90193
90194         qt:
90195
90196         * WebCore.pro:
90197         * platform/qt/PopupMenuQt.cpp:
90198         (WebCore::PopupMenuQt::PopupMenuQt):
90199         (WebCore::PopupMenuQt::~PopupMenuQt):
90200         (WebCore::PopupMenuQt::disconnectClient):
90201         (WebCore::PopupMenuQt::show):
90202         (WebCore::PopupMenuQt::hide):
90203         (WebCore::PopupMenuQt::updateFromElement):
90204         * platform/qt/PopupMenuQt.h: Added.
90205         * platform/qt/QtAbstractWebPopup.h:
90206         * platform/qt/SearchPopupMenuQt.cpp:
90207         (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
90208         (WebCore::SearchPopupMenuQt::popupMenu):
90209         (WebCore::SearchPopupMenuQt::saveRecentSearches):
90210         (WebCore::SearchPopupMenuQt::loadRecentSearches):
90211         (WebCore::SearchPopupMenuQt::enabled):
90212         * platform/qt/SearchPopupMenuQt.h: Added.
90213
90214         win:
90215
90216         * WebCore.vcproj/WebCore.vcproj:
90217         * platform/win/PopupMenuWin.cpp:
90218         (WebCore::PopupMenuWin::PopupMenuWin):
90219         (WebCore::PopupMenuWin::~PopupMenuWin):
90220         (WebCore::PopupMenuWin::disconnectClient):
90221         (WebCore::PopupMenuWin::popupClassName):
90222         (WebCore::PopupMenuWin::show):
90223         (WebCore::PopupMenuWin::hide):
90224         (WebCore::PopupMenuWin::calculatePositionAndSize):
90225         (WebCore::PopupMenuWin::setFocusedIndex):
90226         (WebCore::PopupMenuWin::visibleItems):
90227         (WebCore::PopupMenuWin::listIndexAtPoint):
90228         (WebCore::PopupMenuWin::focusedIndex):
90229         (WebCore::PopupMenuWin::focusFirst):
90230         (WebCore::PopupMenuWin::focusLast):
90231         (WebCore::PopupMenuWin::down):
90232         (WebCore::PopupMenuWin::up):
90233         (WebCore::PopupMenuWin::invalidateItem):
90234         (WebCore::PopupMenuWin::clientRect):
90235         (WebCore::PopupMenuWin::incrementWheelDelta):
90236         (WebCore::PopupMenuWin::reduceWheelDelta):
90237         (WebCore::PopupMenuWin::scrollToRevealSelection):
90238         (WebCore::PopupMenuWin::updateFromElement):
90239         (WebCore::PopupMenuWin::paint):
90240         (WebCore::PopupMenuWin::valueChanged):
90241         (WebCore::PopupMenuWin::invalidateScrollbarRect):
90242         (WebCore::PopupMenuWin::registerClass):
90243         (WebCore::PopupMenuWin::PopupMenuWndProc):
90244         (WebCore::PopupMenuWin::wndProc):
90245         * platform/win/PopupMenuWin.h: Added.
90246         (WebCore::PopupMenuWin::client):
90247         (WebCore::PopupMenuWin::scrollbar):
90248         (WebCore::PopupMenuWin::itemHeight):
90249         (WebCore::PopupMenuWin::windowRect):
90250         (WebCore::PopupMenuWin::popupHandle):
90251         (WebCore::PopupMenuWin::setWasClicked):
90252         (WebCore::PopupMenuWin::wasClicked):
90253         (WebCore::PopupMenuWin::setScrollOffset):
90254         (WebCore::PopupMenuWin::scrollOffset):
90255         (WebCore::PopupMenuWin::wheelDelta):
90256         (WebCore::PopupMenuWin::scrollbarCapturingMouse):
90257         (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
90258         * platform/win/SearchPopupMenuWin.cpp:
90259         (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
90260         (WebCore::SearchPopupMenuWin::popupMenu):
90261         (WebCore::SearchPopupMenuWin::enabled):
90262         (WebCore::SearchPopupMenuWin::saveRecentSearches):
90263         (WebCore::SearchPopupMenuWin::loadRecentSearches):
90264         * platform/win/SearchPopupMenuWin.h: Added.
90265
90266         wx:
90267
90268         * platform/wx/PopupMenuWx.cpp:
90269         (WebCore::PopupMenuWx::PopupMenuWx):
90270         (WebCore::PopupMenuWx::~PopupMenuWx):
90271         (WebCore::PopupMenuWx::disconnectClient):
90272         (WebCore::PopupMenuWx::show):
90273         (WebCore::PopupMenuWx::OnMenuItemSelected):
90274         (WebCore::PopupMenuWx::hide):
90275         (WebCore::PopupMenuWx::updateFromElement):
90276         * platform/wx/PopupMenuWx.h: Added.
90277         (WebCore::PopupMenuWx::client):
90278         * platform/wx/SearchPopupMenuWx.cpp:
90279         (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
90280         (WebCore::SearchPopupMenuWx::saveRecentSearches):
90281         (WebCore::SearchPopupMenuWx::loadRecentSearches):
90282         (WebCore::SearchPopupMenuWx::enabled):
90283         (WebCore::SearchPopupMenuWx::popupMenu):
90284         * platform/wx/SearchPopupMenuWx.h: Added.
90285
90286
90287
90288 2010-07-31  David Kilzer  <ddkilzer@apple.com>
90289
90290         <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
90291
90292         Reviewed by Darin Adler.
90293
90294         * Configurations/WebCore.xcconfig: Extracted
90295         PRODUCTION_FRAMEWORKS_DIR variable.
90296
90297 2010-07-31  Nikolas Zimmermann  <nzimmermann@rim.com>
90298
90299         Reviewed by Dirk Schulze.
90300
90301         HTMLStyleElement/SVGStyleElement need to share more code
90302         https://bugs.webkit.org/show_bug.cgi?id=43293
90303
90304         Simplify HTMLStyleElement/SVGStyleElement. They look identically now, as all code is shared in StyleElement.
90305         Doesn't affect any tests.
90306
90307         * dom/StyleElement.cpp:
90308         (WebCore::StyleElement::StyleElement): Take createdByParser & Document arguments, to share the line number extraction logic. Store it in m_lineNumber.
90309         (WebCore::StyleElement::insertedIntoDocument): Moved addStyleSheetCandidateNode here, to share code between HTML/SVGStyleElement.
90310         (WebCore::StyleElement::removedFromDocument): Same for removeStyleSheetCandidateNode.
90311         (WebCore::StyleElement::childrenChanged): Introduced new helper function.
90312         (WebCore::StyleElement::finishParsingChildren): Ditto.
90313         (WebCore::StyleElement::process): Use stored m_lineNumber, avoids a parameter.
90314         (WebCore::StyleElement::createSheet): No need to call the virtual setLoading() function, just store m_loading in StyleElement, and set it from here.
90315         (WebCore::StyleElement::isLoading): Introduced new helper function.
90316         (WebCore::StyleElement::sheetLoaded): Ditto.
90317         * dom/StyleElement.h:
90318         * html/HTMLStyleElement.cpp:
90319         (WebCore::HTMLStyleElement::HTMLStyleElement): Pass Document & createdByParser arguments to StyleElement.
90320         (WebCore::HTMLStyleElement::finishParsingChildren): Delegate work to StyleElement.
90321         (WebCore::HTMLStyleElement::insertedIntoDocument): Ditto.
90322         (WebCore::HTMLStyleElement::removedFromDocument): Ditto.
90323         (WebCore::HTMLStyleElement::childrenChanged): Ditto.
90324         * html/HTMLStyleElement.h:
90325         (WebCore::HTMLStyleElement::isLoading): Ditto.
90326         (WebCore::HTMLStyleElement::sheetLoaded): Ditto.
90327         * svg/SVGStyleElement.cpp:
90328         (WebCore::SVGStyleElement::SVGStyleElement): Pass Document & createdByParser arguments to StyleElement.
90329         (WebCore::SVGStyleElement::finishParsingChildren): Delegate work to StyleElement.
90330         (WebCore::SVGStyleElement::insertedIntoDocument): Ditto.
90331         (WebCore::SVGStyleElement::removedFromDocument): Ditto.
90332         (WebCore::SVGStyleElement::childrenChanged): Ditto.
90333         * svg/SVGStyleElement.h:
90334         (WebCore::SVGStyleElement::isLoading): Ditto.
90335         (WebCore::SVGStyleElement::sheetLoaded): Ditto.
90336
90337 2010-07-31  Kinuko Yasuda  <kinuko@chromium.org>
90338
90339         Unreviewed.  Attempt to fix release build failure.
90340
90341         Having 'fail:' label without goto statement generates a compiler
90342         warning that causes a build failure in release build.
90343
90344         * bindings/scripts/CodeGeneratorV8.pm:
90345
90346 2010-07-31  Kinuko Yasuda  <kinuko@chromium.org>
90347
90348         Reviewed by Nikolas Zimmermann.
90349
90350         Fix 'bool' in bindings/scripts/test/TestObj.
90351
90352         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
90353         (WebDOMTestObj::CREATE):
90354         (WebDOMTestObj::setCREATE):
90355         * bindings/scripts/test/CPP/WebDOMTestObj.h:
90356         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
90357         (webkit_dom_test_obj_get_create):
90358         (webkit_dom_test_obj_set_create):
90359         (webkit_dom_test_obj_set_property):
90360         (webkit_dom_test_obj_get_property):
90361         (webkit_dom_test_obj_class_init):
90362         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
90363         * bindings/scripts/test/JS/JSTestObj.cpp:
90364         (WebCore::jsTestObjCreate):
90365         (WebCore::setJSTestObjCreate):
90366         * bindings/scripts/test/ObjC/DOMTestObj.h:
90367         * bindings/scripts/test/ObjC/DOMTestObj.mm:
90368         (-[DOMTestObj CREATE]):
90369         (-[DOMTestObj setCREATE:]):
90370         * bindings/scripts/test/TestObj.idl:
90371         * bindings/scripts/test/V8/V8TestObj.cpp:
90372         (WebCore::TestObjInternal::CREATEAttrGetter):
90373         (WebCore::TestObjInternal::CREATEAttrSetter):
90374
90375 2010-07-30  Kinuko Yasuda  <kinuko@chromium.org>
90376
90377         Reviewed by Dumitru Daniliuc.
90378
90379         Add idl and mock implementation for HTML5 FileSystem API
90380         https://bugs.webkit.org/show_bug.cgi?id=43134
90381
90382         Add idl for: FileSystem (as DOMFileSystem), Entry, Flags, Metadata,
90383         FileSystemCallback, EntryCallback and ErrorCallback.
90384         http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
90385
90386         They are added only for Mac and chromium.
90387
90388         Tests will be added when we expose the entry point and add implementation.
90389
90390         * DerivedSources.make:
90391         * WebCore.gypi:
90392         * WebCore.xcodeproj/project.pbxproj:
90393
90394         * storage/DOMFileSystem.cpp: Added.
90395         * storage/DOMFileSystem.h: Added.
90396         * storage/DOMFileSystem.idl: Added.
90397         * storage/Entry.cpp: Added.
90398         * storage/Entry.h: Added.
90399         * storage/Entry.idl: Added.
90400         * storage/EntryCallback.h: Added.
90401         * storage/EntryCallback.idl: Added.
90402         * storage/ErrorCallback.h: Added.
90403         * storage/ErrorCallback.idl: Added.
90404         * storage/FileSystemCallback.h: Added.
90405         * storage/FileSystemCallback.idl: Added.
90406         * storage/Flags.h: Added.
90407         * storage/Flags.idl: Added.
90408         * storage/Metadata.h: Added.
90409         * storage/Metadata.idl: Added.
90410         * storage/MetadataCallback.h: Added.
90411         * storage/MetadataCallback.idl: Added.
90412
90413         * bindings/scripts/CodeGenerator.pm: Added special case handlings for generating setter/getter names for CREATE/EXCLUSIVE attributes in Flags.idl.
90414
90415         * bindings/scripts/test/TestObj.idl: Updated.
90416         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
90417         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
90418         * bindings/scripts/test/CPP/WebDOMTestObj.h: Updated.
90419         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated.
90420         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Updated.
90421         * bindings/scripts/test/JS/JSTestObj.cpp: Updated.
90422         * bindings/scripts/test/JS/JSTestObj.h: Updated.
90423         * bindings/scripts/test/ObjC/DOMTestObj.h: Updated.
90424         * bindings/scripts/test/ObjC/DOMTestObj.mm: Updated.
90425
90426 2010-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
90427
90428         Unreviewed, rolling out r64408.
90429         http://trac.webkit.org/changeset/64408
90430         https://bugs.webkit.org/show_bug.cgi?id=43292
90431
90432         Causing failed tests on Chromium canaries due to wrong history
90433         item counts (Requested by atwilson on #webkit).
90434
90435         * loader/RedirectScheduler.cpp:
90436         (WebCore::RedirectScheduler::scheduleRedirect):
90437         (WebCore::RedirectScheduler::mustLockBackForwardList):
90438         (WebCore::RedirectScheduler::scheduleLocationChange):
90439         (WebCore::RedirectScheduler::scheduleFormSubmission):
90440         * loader/RedirectScheduler.h:
90441
90442 2010-07-30  Dan Bernstein  <mitz@apple.com>
90443
90444         Reviewed by Darin Adler.
90445
90446         <rdar://problem/8257783> Short documents may print a second blank page
90447         https://bugs.webkit.org/show_bug.cgi?id=43271
90448
90449         Test: printing/stretch-to-view-height.html
90450
90451         * WebCore.exp.in: Export Frame::forceLayoutForPagination(), replacing forceLayoutWithPageWidthRange().
90452         * page/Frame.cpp:
90453         (WebCore::Frame::setPrinting): Now takes a page width and height and a maximum shrink factor and passes
90454         them down to forceLayoutForPagination().
90455         * page/Frame.h:
90456         (WebCore::Frame::):
90457         * page/FrameView.cpp:
90458         (WebCore::FrameView::reset): Initialize m_pageHeight.
90459         (WebCore::FrameView::forceLayoutForPagination): Renamed forceLayoutWithPageWidthRange() to this and
90460         changed it to take a page width and height and a maximum shrink factor. Sets m_pageHeight, which is
90461         queried by RenderBox::calcHeight() during layout. If the given pageHeight is 0, m_pageHeight is set
90462         to the visible height, retaining the behavior before this change.
90463         * page/FrameView.h:
90464         (WebCore::FrameView::pageHeight): Added this accessor.
90465         * page/PrintContext.cpp:
90466         (WebCore::PrintContext::begin): Added a height parameter, used when calling setPrinting().
90467         (WebCore::PrintContext::end): Updated for setPrinting() changes.
90468         (WebCore::PrintContext::pageNumberForElement): Account for shrink-to-fit.
90469         (WebCore::PrintContext::pageProperty): Pass 0 for the height, retaining current behavior.
90470         (WebCore::PrintContext::numberOfPages): Account for shrink-to-fit.
90471         (WebCore::PrintContext::spoolAllPagesWithBoundaries): Pass the page width to begin().
90472         * page/PrintContext.h:
90473         * rendering/RenderBox.cpp:
90474         (WebCore::RenderBox::calcHeight): When printing, use FrameView::pageHeight() as the basis for
90475         viewport-relative heights.
90476
90477 2010-07-30  Mihai Parparita  <mihaip@chromium.org>
90478
90479         Reviewed by Darin Fisher.
90480
90481         Session history should skip over JS redirects
90482         https://bugs.webkit.org/show_bug.cgi?id=42861
90483         
90484         Lock the back/forward list for location changes that happen before the 
90485         onload event fires that are not the result of user gestures.
90486
90487         Test: fast/history/gesture-before-onload.html and updated expectations 
90488         for http/tests/history tests that used to fail.
90489
90490         * loader/RedirectScheduler.cpp:
90491         (WebCore::RedirectScheduler::scheduleRedirect):
90492         (WebCore::RedirectScheduler::mustLockBackForwardList):
90493         (WebCore::RedirectScheduler::scheduleLocationChange):
90494         (WebCore::RedirectScheduler::scheduleFormSubmission):
90495         * loader/RedirectScheduler.h:
90496
90497 2010-07-30  Matthew Delaney  <mdelaney@apple.com>
90498
90499         Reviewed by Darin Adler.
90500
90501         ctx.clearRect improperly clears shadow
90502         https://bugs.webkit.org/show_bug.cgi?id=43213
90503
90504         Tests: canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html
90505                canvas/philip/tests/2d.clearRect+fillRect.alpha0.html
90506                canvas/philip/tests/2d.clearRect+fillRect.basic.html
90507
90508         * html/canvas/CanvasRenderingContext2D.cpp:
90509         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
90510         Added a new method to wipe out all context attributes to their defaults.
90511         (WebCore::CanvasRenderingContext2D::clearRect):
90512         Updated clearRect to ignore shadow, alpha, and global composite attributes
90513         when clearing the input rect to match the canvas spec.
90514         * html/canvas/CanvasRenderingContext2D.h:
90515
90516 2010-07-30  Kinuko Yasuda  <kinuko@chromium.org>
90517
90518         Reviewed by Jian Li.
90519
90520         Decouple FileThread from FileStream to support generic file-related async tasks
90521         https://bugs.webkit.org/show_bug.cgi?id=43135
90522
90523         No new tests as this doesn't change any functionality.
90524
90525         * html/FileThread.cpp:
90526         (WebCore::FileThread::stop):
90527         (WebCore::SameInstancePredicate::SameFilePredicate):
90528         (WebCore::SameInstancePredicate::operator()):
90529         (WebCore::FileThread::unscheduleTasksInternal):
90530         * html/FileThread.h:
90531         (WebCore::FileThread::create):
90532         (WebCore::FileThread::Task::instance):
90533         (WebCore::FileThread::Task::Task):
90534         * html/FileThreadTask.h: Changed all templates to take any type as a callee instance.
90535         (WebCore::createFileThreadTask):
90536
90537 2010-07-30  Darin Fisher  <darin@chromium.org>
90538
90539         Reviewed by Darin Adler.
90540
90541         Eliminate BackForwardList::pushStateItem
90542         https://bugs.webkit.org/show_bug.cgi?id=43282
90543
90544         The layout test was previously disabled because of the assertion being
90545         hit in BackForwardList::pushStateItem.  That assertion revealed the need
90546         for this patch.
90547
90548         Test: fast/loader/stateobjects/pushstate-in-iframe.html
90549
90550         * history/BackForwardList.h:
90551         * history/BackForwardListChromium.cpp:
90552         * history/BackForwardListImpl.cpp:
90553         * history/BackForwardListImpl.h:
90554
90555         * loader/HistoryController.cpp: Move the logic, of adding a null state
90556         object to the HistoryItem that was previously the current HistoryItem, to
90557         HistoryController::pushState from BackForwardList::pushStateItem.  The
90558         BackForwardList was the wrong place for that logic since it lacked convenient
90559         access to the target HistoryItem.  It is just given the top-most HistoryItem
90560         corresponding to the new navigation.
90561
90562         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
90563         (WebCore::HistoryController::pushState):
90564
90565 2010-07-30  Luiz Agostini  <luiz.agostini@openbossa.org>
90566
90567         Reviewed by Simon Fraser.
90568
90569         Enabling view modes to all platforms
90570         https://bugs.webkit.org/show_bug.cgi?id=37505
90571
90572         View mode media feature implementation as specified in http://www.w3.org/TR/view-mode.
90573
90574         The view mode media feature layout tests are stil skipped for all platforms except Qt
90575         because of the lack of support of LayoutTestController in those platforms.
90576
90577         Test: fast/media/view-mode-media-feature.html
90578
90579         * css/MediaFeatureNames.h:
90580         * css/MediaQueryEvaluator.cpp:
90581         (WebCore::view_modeMediaFeatureEval):
90582         * page/ChromeClient.h:
90583         * page/Page.cpp:
90584         (WebCore::Page::Page):
90585         (WebCore::createViewModesSet):
90586         (WebCore::Page::setViewMode):
90587         * page/Page.h:
90588         (WebCore::Page::viewMode):
90589
90590 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90591
90592         Reviewed by David Kilzer.
90593
90594         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90595         https://bugs.webkit.org/show_bug.cgi?id=40627
90596
90597         Part 4 - Client Notification when the Quota is Reached
90598
90599         Notify the WebKit client when the per-origin quota is reached
90600         via a delegate method reachedApplicationCacheOriginQuota.
90601
90602           Call the delegate method when the quota is reached.
90603
90604         * loader/appcache/ApplicationCacheGroup.cpp:
90605         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
90606         (WebCore::ApplicationCacheGroup::didFinishLoading):
90607         (WebCore::ApplicationCacheGroup::didReachOriginQuota):
90608         (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
90609         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
90610         (WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback):
90611         * loader/appcache/ApplicationCacheGroup.h:
90612
90613           Some minor refactoring to access more quota information
90614           without repeating code. Such as origin usage, and creating
90615           an origin record.
90616
90617         * loader/appcache/ApplicationCacheStorage.cpp:
90618         (WebCore::ApplicationCacheStorage::usageForOrigin):
90619         (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin):
90620         (WebCore::ApplicationCacheStorage::store):
90621         (WebCore::ApplicationCacheStorage::ensureOriginRecord):
90622         * loader/appcache/ApplicationCacheStorage.h:
90623
90624           Boilerplate. Exports and definition of the delegate method.
90625
90626         * WebCore.OfflineWebApplications.exp:
90627         * loader/EmptyClients.h:
90628         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
90629         * page/ChromeClient.h:
90630
90631 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90632
90633         Reviewed by David Kilzer.
90634
90635         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90636         https://bugs.webkit.org/show_bug.cgi?id=40627
90637
90638         Part 3 - Refactor storeNewestCache to allow Failure Reason Output
90639
90640         Storing can result in an error in a number of reasons. Previously
90641         the reasons were global and binary and could be determined by
90642         checking ApplicationCacheStorage state. Now, with per-origin quotas
90643         a per-origin quota can cause a failure that is not in global state.
90644         Current failure reasons are:
90645
90646           OriginQuotaReached = per-origin quota reached, no storage is allowed.
90647           TotalQuotaReached  = database quota reached, no storage is allowed.
90648           DiskOrOperationFailure = SQL error such as failed prepare or query. Not expected to happen.
90649
90650         This part provides an implementation of storeNewestCache for those
90651         that care about the failure reason, and not just if it succeeded
90652         or not. This moves the final origin quota check into the transaction.
90653
90654         * loader/appcache/ApplicationCache.h: style fix for forwarding headers.
90655         * loader/appcache/ApplicationCacheGroup.cpp:
90656         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): move origin quota check into storeNewestCache's SQL transaction.
90657         * loader/appcache/ApplicationCacheStorage.cpp:
90658         (WebCore::ApplicationCacheStorage::storeNewestCache): old implementation calls the new implementation ignoring failure reason.
90659         (WebCore::ApplicationCacheStorage::storeNewestCache): new implementation provides a failure reason in case of failure.
90660         * loader/appcache/ApplicationCacheStorage.h:
90661         (WebCore::ApplicationCacheStorage::): added FailureReason enum and storeNewestCache allowing it.
90662
90663 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90664
90665         Reviewed by David Kilzer.
90666
90667         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90668         https://bugs.webkit.org/show_bug.cgi?id=40627
90669
90670         Part 2 - Update Schema and enforce Per-Origin Quotas
90671
90672         Added an "Origins" table to the application cache databases.
90673         This, like the Database's Origins table, is a list of origin
90674         and quota pairs. Origins records are added as soon as they are
90675         needed, and deleted only when the ApplicationCacheStorage is
90676         emptied. This means Origins records persist even after all
90677         caches for that origin may be deleted. The "CacheGroups" table
90678         now has a foreign key column "origin" which relates to the
90679         "Origins" table.
90680
90681         To enforce the quotas, remaining quota space is checked at
90682         the start of update as an estimate and at the end before
90683         inserting. Currently, reaching the quota limit will simply
90684         cause an update error. A later part will provide a
90685         notification to the client to allow an action, and refactor
90686         the final quota limit check into a transaction.
90687
90688           Respect the quota during the update process. And cause
90689           the update process to fail when the quota is reached.
90690
90691         * loader/appcache/ApplicationCacheGroup.cpp: added loading counter, counts bytes as they load
90692         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
90693         (WebCore::ApplicationCacheGroup::didReceiveData):
90694         (WebCore::ApplicationCacheGroup::didFinishLoading):
90695         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
90696         * loader/appcache/ApplicationCacheGroup.h: added security origin, based on the manifest URL
90697         (WebCore::ApplicationCacheGroup::origin): accessor
90698
90699           Updates the schema of the database tables as described
90700           above. Handle other SQL operations such as checking the
90701           remaining space and inserting and deleting Origins records.
90702
90703         * loader/appcache/ApplicationCacheStorage.cpp:
90704         (WebCore::ApplicationCacheStorage::quotaForOrigin): query for the quota of an origin, may return the default origin quota if it didn't exist.
90705         (WebCore::ApplicationCacheStorage::remainingSizeForOriginExcludingCache): calculate the remaining size in a quota for an origin, possibly excluding a cache.
90706         (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): persistent update.
90707         (WebCore::ApplicationCacheStorage::openDatabase): updated schema for CachesGroups, added new table Origins.
90708         (WebCore::ApplicationCacheStorage::empty): wipe Origins table as well.
90709         (WebCore::ApplicationCacheStorage::unknownQuota): constant to mean unknown quota
90710
90711 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90712
90713         Reviewed by David Kilzer.
90714
90715         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90716         https://bugs.webkit.org/show_bug.cgi?id=40627
90717
90718         Part 1 - Add Total and Per-Origin Quota Preferences.
90719
90720         Allow the application cache total size to be a preference, and
90721         add a new preference for the default per-origin quota.
90722
90723           Handle the per-origin quota in the global cacheStorage() object.
90724           The per-origin quota will be used in a later part, this just
90725           handles interaction with it from a client.
90726
90727         * loader/appcache/ApplicationCacheStorage.cpp:
90728         (WebCore::ApplicationCacheStorage::setDefaultOriginQuota): setter
90729         (WebCore::ApplicationCacheStorage::ApplicationCacheStorage): default to "noQuota" on construction
90730         * loader/appcache/ApplicationCacheStorage.h: 
90731         (WebCore::ApplicationCacheStorage::noQuota): constant to mean unlimited storage
90732         (WebCore::ApplicationCacheStorage::defaultOriginQuota): accessor
90733
90734           Move around some exports around for Offline Web Applications.
90735
90736         * WebCore.exp.in: Added OFFLINE_WEB_APPLICATIONS exports.
90737
90738 2010-07-30  Andy Estes  <aestes@apple.com>
90739
90740         Reviewed by David Kilzer.
90741
90742         Add Xcode support for compiling WebKit against iOS SDKs.
90743         https://bugs.webkit.org/show_bug.cgi?id=42796
90744         
90745         * Configurations/Base.xcconfig:
90746         * Configurations/DebugRelease.xcconfig:
90747         * Configurations/FeatureDefines.xcconfig:
90748         * Configurations/Version.xcconfig:
90749         * Configurations/WebCore.xcconfig:
90750
90751 2010-07-30  James Robinson  <jamesr@chromium.org>
90752
90753         Compile fix: fix a typo in forward declaration, add EmptyClients impl.
90754
90755         * loader/EmptyClients.h:
90756         (WebCore::EmptyChromeClient::getOnscreenGLES2Context):
90757         (WebCore::EmptyChromeClient::getOffscreenGLES2Context):
90758         * page/ChromeClient.h:
90759
90760 2010-07-30  James Robinson  <jamesr@chromium.org>
90761
90762         Reviewed by Darin Fisher.
90763
90764         Move GLES2 context manipulation to ChromeClient.h and put it behind the right #if guard
90765         https://bugs.webkit.org/show_bug.cgi?id=43281
90766
90767         These calls were initially put in ChromeClientChromium, but they aren't chromium specific.
90768         In theory any port that could create the proper OpenGL ES 2 contexts could implement
90769         these functions.  Also moves the calls to be behind the correct #if guard.
90770
90771         * page/ChromeClient.h:
90772         * page/chromium/ChromeClientChromium.h:
90773
90774 2010-07-30  Dumitru Daniliuc  <dumi@chromium.org>
90775
90776         Reviewed by David Levin.
90777
90778         Interrupt all DB operations when the worker is terminating.
90779         https://bugs.webkit.org/show_bug.cgi?id=42843
90780
90781         Tests: fast/workers/storage/interrupt-database-sync.html
90782                fast/workers/storage/interrupt-database.html
90783
90784         * bindings/js/JSCustomVoidCallback.cpp:
90785         (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
90786         destructor is called on the context thread, delete m_data directly
90787         instead of posting a task to do that. We need to do that to make
90788         sure that all JS objects are destroyed before
90789         WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
90790         WorkerContext::clearScript().
90791
90792         * bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
90793         all auto-generated callbacks.
90794
90795         * bindings/scripts/test/JS/JSTestCallback.cpp:
90796         (WebCore::JSTestCallback::~JSTestCallback): Updated the
90797         expectations for run-bindings-tests.
90798
90799         * platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
90800         all DB operations in progress, unless the database was closed or
90801         is being closed. Unlike sqlite3_interrupt(),
90802         SQLiteDatabase::interrupt() is sticky: once it's called, trying to
90803         run any statement on that database will fail with a
90804         SQLITE_INTERRUPT error code.
90805         (WebCore::SQLiteDatabase::SQLiteDatabase):
90806         (WebCore::SQLiteDatabase::close):
90807         (WebCore::SQLiteDatabase::interrupt):
90808         (WebCore::SQLiteDatabase::isInterrupted):
90809
90810         * platform/sql/SQLiteDatabase.h: Added a mutex that can used by
90811         SQLiteStatement to check if the database was interrupted.
90812         (WebCore::SQLiteDatabase::databaseMutex):
90813
90814         * platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
90815         to check if the database was interrupted, before trying to prepare
90816         or run the statement. The other methods don't need to hold on to
90817         the DB lock while running, because they're fast, so we don't need
90818         to interrupt them.
90819         (WebCore::SQLiteStatement::prepare):
90820         (WebCore::SQLiteStatement::step):
90821
90822         * storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
90823         and isInterrupted() visible to WebSQLDatabases classes.
90824         (WebCore::AbstractDatabase::interrupt):
90825         (WebCore::AbstractDatabase::isInterrupted):
90826         * storage/AbstractDatabase.h:
90827
90828         * storage/DatabaseTracker.cpp: Added a method to interrupt all
90829         databases in a given context.
90830         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
90831         * storage/DatabaseTracker.h:
90832
90833         * storage/SQLStatement.cpp: Changed the exception/error reported
90834         when a statement is interrupted.
90835         (WebCore::SQLStatement::execute):
90836         * storage/SQLStatementSync.cpp:
90837         (WebCore::SQLStatementSync::execute):
90838
90839         * storage/SQLTransaction.cpp: Changed the code to release the
90840         callback objects as soon as they're not needed.
90841         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
90842         Changed this method to not schedule the next transaction step when
90843         the database is interrupted.
90844         (WebCore::SQLTransaction::performNextStep):
90845         (WebCore::SQLTransaction::performPendingCallback):
90846         (WebCore::SQLTransaction::deliverTransactionCallback):
90847         (WebCore::SQLTransaction::postflightAndCommit):
90848         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
90849         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
90850         * storage/SQLTransaction.h:
90851
90852         * storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
90853         interrupt all databases in a given context.
90854         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
90855
90856         * workers/WorkerThread.cpp:
90857         (WebCore::WorkerThread::stop): Added a call to
90858         DatabaseTracker::interruptAllDatabasesForContext().
90859
90860 2010-07-30  Simon Fraser  <simon.fraser@apple.com>
90861
90862         Reviewed by Darin Adler.
90863
90864         connect-compositing-iframe2.html test sometimes shows blank iframe content
90865         https://bugs.webkit.org/show_bug.cgi?id=42046
90866
90867         Hooking up compositing iframes requires setNeedsStyleRecalc(SyntheticStyleChange) to
90868         always result in a call to RenderLayer::styleChanged(). However, the semantics of 
90869         setNeedsStyleRecalc() was that each call would overwrite the existing styleChangeType,
90870         allowing a "lesser" style change to override a "greater" one. In the test content,
90871         SyntheticStyleChange was being replaced by FullStyleChange when the classname changed.
90872         This resulted in RenderLayer::styleChanged() not being called.
90873         
90874         Fix by changing the behavior of setNeedsStyleRecalc() to only touch the style change
90875         type if a "lesser" change is being replaced with a "greater" one. This required adding
90876         a new clearNeedsStyleRecalc() method to reset the style change type to NoStyleChange.
90877         
90878         In addition, in Node::setNeedsStyleRecalc(), only propagate the childNeedsStyleRecalc
90879         up the parent change if the node was not already needing recalc. In order to fix issues
90880         with attaching, this required new call to clearNeedsStyleRecalc() at the end of attach().
90881
90882         * manual-tests/compositing/missing-iframe-contents.html: Added.
90883         * manual-tests/compositing/resources/composited-subframe.html: Copied from LayoutTests/compositing/iframes/resources/composited-subframe.html.
90884
90885         * dom/Document.cpp:
90886         (WebCore::Document::recalcStyle): Call clearNeedsStyleRecalc().
90887         * dom/Element.cpp:
90888         (WebCore::Element::recalcStyle): Call clearNeedsStyleRecalc().
90889
90890         * dom/Node.h:
90891         (WebCore::Node::clearNeedsStyleRecalc): New method.
90892         * dom/Node.cpp:
90893         (WebCore::Node::setNeedsStyleRecalc): Only call setStyleChange() if the change type
90894         is greater than the current change type.
90895         (WebCore::Node::attach): After attaching, we can call clearNeedsStyleRecalc().
90896
90897         * dom/Text.cpp:
90898         (WebCore::Text::recalcStyle): Call clearNeedsStyleRecalc().
90899         * html/HTMLFrameSetElement.cpp:
90900         (WebCore::HTMLFrameSetElement::recalcStyle): Call clearNeedsStyleRecalc().
90901
90902 2010-07-30  W. James MacLean  <wjmaclean@google.com>
90903
90904         Reviewed by Nikolas Zimmermann.
90905
90906         SVG - numeric overflow for very large elements
90907         https://bugs.webkit.org/show_bug.cgi?id=25645
90908
90909         Two of the expected test outputs were incorrect now that parsing of large values
90910         is handled correctly.
90911         - Revised FloatRect to remove bad float-to-int conversions in enclosingIntRect()
90912         - Revised _parseNumber to do right-to-left float-based parsing of input value
90913
90914         Test: svg/custom/massive-coordinates.svg
90915
90916         * platform/graphics/FloatRect.cpp:
90917         (WebCore::safeFloatToInt):
90918         (WebCore::enclosingIntRect):
90919         * svg/SVGParserUtilities.cpp:
90920         (WebCore::_parseNumber):
90921
90922 2010-07-30  James Robinson  <jamesr@chromium.org>
90923
90924         Reviewed by Darin Fisher.
90925
90926         [chromium] Make the GLES2 texture map generic and teach ImageSkia and ImageBufferSkia about GLES2
90927         https://bugs.webkit.org/show_bug.cgi?id=43218
90928
90929         This makes the GLES2Canvas' TextureHashMap key on void* instead of NativeImagePtr
90930         to make it easier to use with other backends.  It also teaches ImageSkia how
90931         to draw to a GLES2Canvas instead of a skia buffer.
90932
90933         No change in functionality (yet), no new tests.
90934
90935         * platform/graphics/chromium/GLES2Canvas.cpp:
90936         (WebCore::GLES2Canvas::GLES2Canvas):
90937         (WebCore::GLES2Canvas::createTexture):
90938         (WebCore::GLES2Canvas::getTexture):
90939         * platform/graphics/chromium/GLES2Canvas.h:
90940         * platform/graphics/skia/ImageBufferSkia.cpp:
90941         (WebCore::ImageBuffer::getUnmultipliedImageData):
90942         (WebCore::ImageBuffer::getPremultipliedImageData):
90943         * platform/graphics/skia/ImageSkia.cpp:
90944         (WebCore::drawBitmapGLES2):
90945         (WebCore::BitmapImage::draw):
90946         (WebCore::BitmapImageSingleFrameSkia::draw):
90947
90948 2010-07-30  Yong Li  <yoli@rim.com>
90949
90950         Reviewed by Darin Adler.
90951
90952         Implement SVGScriptElement::shouldExecuteAsJavaScript() otherwise
90953         SVGScriptElement cannot run when XHTMLMP is enabled.
90954         https://bugs.webkit.org/show_bug.cgi?id=43267
90955
90956         No test needed, because it fails all SVG <script> tests when XHTMLMP is on.
90957
90958         * svg/SVGScriptElement.cpp:
90959         (WebCore::SVGScriptElement::shouldExecuteAsJavaScript):
90960         * svg/SVGScriptElement.h:
90961
90962 2010-07-30  Chris Fleizach  <cfleizach@apple.com>
90963
90964         Reviewed by Darin Adler.
90965
90966         Style errors in Navigator.h
90967         https://bugs.webkit.org/show_bug.cgi?id=43262
90968
90969         Fixing style changes. No new tests.
90970
90971         * page/Navigator.h:
90972         (WebCore::Navigator::create):
90973         (WebCore::Navigator::frame):
90974         (WebCore::Navigator::optionalGeolocation):
90975
90976 2010-07-27  Darin Fisher  <darin@chromium.org>
90977
90978         Reviewed by Brady Eidson.
90979
90980         History.pushState() + navigation operates on top frame when called from
90981         nested context
90982         https://bugs.webkit.org/show_bug.cgi?id=43080
90983
90984         Test: fast/loader/stateobjects/pushstate-in-iframe.html
90985
90986         * loader/HistoryController.cpp:
90987         (WebCore::HistoryController::pushState): createTreeItem should be
90988         called on the top-most HistoryController so that we properly clone
90989         the HistoryItem tree starting at the root node.
90990
90991 2010-07-30  fsamuel@chromium.org  <fsamuel@chromium.org>
90992
90993         Reviewed by Dimitri Glazkov.
90994
90995         Expand SVG Attribute Macros
90996         https://bugs.webkit.org/show_bug.cgi?id=43254
90997
90998         Expanded SVG Attribute Macros to reduce debugging headache.
90999
91000         No change in behavior, so no new tests.
91001
91002         * rendering/style/SVGRenderStyle.h: Expanded and removed references to SVG_RS_DEFINE_ATTRIBUTE* macros.
91003         * rendering/style/SVGRenderStyleDefs.h: Removed definitons for expanded macros.
91004
91005 2010-07-30  Kinuko Yasuda  <kinuko@chromium.org>
91006
91007         Reviewed by Dumitru Daniliuc.
91008
91009         Add callback arguments support to binding code generator scripts
91010         https://bugs.webkit.org/show_bug.cgi?id=43130
91011
91012         Tests: bindings/scripts/test/TestObj.idl
91013
91014         * bindings/scripts/CodeGeneratorJS.pm:
91015         * bindings/scripts/CodeGeneratorV8.pm:
91016
91017         * bindings/scripts/test/JS/JSTestObj.cpp:
91018         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
91019         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
91020         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
91021         * bindings/scripts/test/JS/JSTestObj.h:
91022         * bindings/scripts/test/TestObj.idl:
91023         * bindings/scripts/test/V8/V8TestObj.cpp:
91024         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
91025         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
91026         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
91027         (WebCore::ConfigureV8TestObjTemplate):
91028
91029 2010-07-30  Anders Carlsson  <andersca@apple.com>
91030
91031         Reviewed by Sam Weinig.
91032
91033         Implement NPN_InvokeDefault
91034         https://bugs.webkit.org/show_bug.cgi?id=43266
91035
91036         * bindings/js/JSPluginElementFunctions.cpp:
91037         (WebCore::isPluginElement):
91038         Add convenience function.
91039
91040         (WebCore::pluginInstance):
91041         Call isPluginElement.
91042
91043         (WebCore::pluginScriptObjectFromPluginViewBase):
91044         Given an JSHTMLElement, ask the PluginViewBase for the scriptable object.
91045
91046         (WebCore::pluginScriptObject):
91047         Call isPluginElement. Call pluginScriptObjectFromPluginViewBase.
91048
91049         (WebCore::callPlugin):
91050         Get the script object, assemble the arguments and call "call" directly.
91051
91052         (WebCore::runtimeObjectGetCallData):
91053         Try to get the script object from the PluginViewBase first.
91054
91055         * plugins/PluginViewBase.h:
91056         (WebCore::PluginViewBase::scriptObject):
91057         Remove ExecState parameter.
91058
91059 2010-07-30  Adam Roben  <aroben@apple.com>
91060
91061         Roll our r64361 and r64363
91062
91063         We can't make these changes until QuartzCore.lib is included in
91064         WebKitSupportLibrary.
91065
91066 2010-07-30  Adam Roben  <aroben@apple.com>
91067
91068         Remove uses of CACFContextRef and CARender* from WebCore
91069
91070         These types are now wrapped in a WKCACFContext type exported by
91071         WebKitSystemInterface.
91072
91073         Fixes <http://webkit.org/b/43244>.
91074
91075         Reviewed by Sam Weinig.
91076
91077         * platform/graphics/win/WKCACFContextFlusher.cpp:
91078         (WebCore::WKCACFContextFlusher::addContext):
91079         (WebCore::WKCACFContextFlusher::removeContext):
91080         (WebCore::WKCACFContextFlusher::flushAllContexts):
91081         * platform/graphics/win/WKCACFContextFlusher.h:
91082         Changed to use WKCACFContext. We don't retain/release the context when
91083         putting it into/taking it out of the set. WKCACFContext is not a
91084         ref-counted type, so we can't retain/release it, but the
91085         retain/release was also unnecessary as WKCACFLayerRenderer calls
91086         removeContext before the context is destroyed.
91087
91088         * platform/graphics/win/WKCACFLayer.cpp:
91089         (WebCore::WKCACFLayer::becomeRootLayerForContext):
91090         * platform/graphics/win/WKCACFLayer.h:
91091         Changed to use WKCACFContext.
91092
91093         * platform/graphics/win/WKCACFLayerRenderer.cpp:
91094         (WebCore::WKCACFLayerRenderer::didFlushContext):
91095         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
91096         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
91097         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
91098         (WebCore::WKCACFLayerRenderer::createRenderer):
91099         (WebCore::WKCACFLayerRenderer::destroyRenderer):
91100         (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
91101         CGSRegion with WebKitSystemInterface functions/types.
91102         (WebCore::WKCACFLayerRenderer::resetDevice):
91103         * platform/graphics/win/WKCACFLayerRenderer.h:
91104         Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
91105         with a single WKCACFContext, which wraps all three. We hold a bare
91106         pointer to it and destroy it in our destructor.
91107
91108 2010-07-30  Adam Roben  <aroben@apple.com>
91109
91110         Remove knowledge of WKCACFContextFlusher from WKCACFLayer
91111
91112         Fixes <http://webkit.org/b/43248> WKCACFLayer shouldn't know about
91113         WKCACFContextFlusher
91114
91115         Reviewed by Sam Weinig.
91116
91117         * platform/graphics/win/WKCACFLayer.cpp:
91118         (WebCore::WKCACFLayer::setNeedsCommit): Don't bother calling to
91119         WKCACFContextFlusher. Our root layer will do this for us.
91120
91121         * platform/graphics/win/WKCACFLayerRenderer.cpp:
91122         (WebCore::WKCACFRootLayer::setNeedsRender): Changed to call the new
91123         layerTreeDidChange function.
91124         (WebCore::WKCACFLayerRenderer::layerTreeDidChange): Added. Tells
91125         WKCACFContextFlusher that the context has changed, and schedules a
91126         render.
91127
91128         * platform/graphics/win/WKCACFLayerRenderer.h: Added
91129         layerTreeDidChange.
91130
91131 2010-07-29  Jeremy Orlow  <jorlow@chromium.org>
91132
91133         Reviewed by Steve Block.
91134
91135         Rename all the IDBIndex classses to match the latest conventions
91136         https://bugs.webkit.org/show_bug.cgi?id=43190
91137
91138         No functionality has changed.
91139
91140         IDBIndexRequest -> IDBIndex in the spec.  So that's the first change.
91141         IDBIndex was the name of our interface class though, so we need to rename
91142         it to get it out of the way.  While we're at it, we might as well clean
91143         up the naming in general to make things more clear.  In the future, we're
91144         going to need another layer (yes, yuck) which will be shared by the async
91145         and sync classes which will do caching and other optimizations.  That will
91146         then connect to the backend.  We also added "Interface" to make it more
91147         clear that's what the file/class is.
91148
91149         Existing layout tests are enough since nothing should change as far as JavaScript can see.
91150
91151         * Android.derived.jscbindings.mk:
91152         * Android.derived.v8bindings.mk:
91153         * Android.mk:
91154         * CMakeLists.txt:
91155         * DerivedSources.cpp:
91156         * DerivedSources.make:
91157         * GNUmakefile.am:
91158         * WebCore.gypi:
91159         * WebCore.pri:
91160         * WebCore.pro:
91161         * WebCore.xcodeproj/project.pbxproj:
91162         * bindings/js/JSIDBAnyCustom.cpp:
91163         (WebCore::toJS):
91164         * bindings/v8/custom/V8IDBAnyCustom.cpp:
91165         (WebCore::toV8):
91166         * storage/IDBAny.cpp:
91167         (WebCore::IDBAny::idbIndex):
91168         (WebCore::IDBAny::set):
91169         * storage/IDBAny.h:
91170         (WebCore::IDBAny::):
91171         * storage/IDBCallbacks.h:
91172         * storage/IDBIndex.cpp: Added.
91173         (WebCore::IDBIndex::IDBIndex):
91174         (WebCore::IDBIndex::~IDBIndex):
91175         * storage/IDBIndex.h:
91176         (WebCore::IDBIndex::create):
91177         (WebCore::IDBIndex::name):
91178         (WebCore::IDBIndex::keyPath):
91179         (WebCore::IDBIndex::unique):
91180         * storage/IDBIndex.idl: Added.
91181         * storage/IDBIndexBackendImpl.cpp: Added.
91182         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
91183         (WebCore::IDBIndexBackendImpl::~IDBIndexBackendImpl):
91184         * storage/IDBIndexBackendImpl.h: Added.
91185         (WebCore::IDBIndexBackendImpl::create):
91186         (WebCore::IDBIndexBackendImpl::name):
91187         (WebCore::IDBIndexBackendImpl::keyPath):
91188         (WebCore::IDBIndexBackendImpl::unique):
91189         * storage/IDBIndexBackendInterface.h: Added.
91190         (WebCore::IDBIndexBackendInterface::~IDBIndexBackendInterface):
91191         * storage/IDBIndexImpl.cpp: Removed.
91192         * storage/IDBIndexImpl.h: Removed.
91193         * storage/IDBIndexRequest.cpp: Removed.
91194         * storage/IDBIndexRequest.h: Removed.
91195         * storage/IDBIndexRequest.idl: Removed.
91196         * storage/IDBObjectStore.h:
91197         * storage/IDBObjectStoreImpl.cpp:
91198         (WebCore::IDBObjectStoreImpl::createIndex):
91199         (WebCore::IDBObjectStoreImpl::index):
91200         * storage/IDBObjectStoreImpl.h:
91201         * storage/IDBObjectStoreRequest.cpp:
91202         (WebCore::IDBObjectStoreRequest::index):
91203         * storage/IDBObjectStoreRequest.h:
91204         * storage/IDBObjectStoreRequest.idl:
91205         * storage/IDBRequest.cpp:
91206         (WebCore::IDBRequest::onSuccess):
91207         * storage/IDBRequest.h:
91208
91209 2010-07-30  Rafael Antognolli  <antognolli@profusion.mobi>
91210
91211         Reviewed by Antonio Gomes.
91212
91213         [EFL] Add library version and soname to EFL generated libraries and binary.
91214         https://bugs.webkit.org/show_bug.cgi?id=43212
91215
91216         Add version and soname to libwebcore.so in case of linking as shared
91217         library.
91218
91219         No new feature, so no new tests.
91220
91221         * CMakeLists.txt:
91222
91223 2010-07-30  Steve Block  <steveblock@google.com>
91224
91225         Reviewed by Steve Block.
91226
91227         Add LayoutTestController methods to test DeviceOrientation
91228         https://bugs.webkit.org/show_bug.cgi?id=39589
91229
91230         This patch does not hook up the new LayoutTestController method to WebKit
91231         for any platform. This will be done in later patches.
91232         https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
91233
91234         Test: fast/dom/DeviceOrientation/basic-operation.html
91235
91236         * Android.mk:
91237         * CMakeLists.txt:
91238         * GNUmakefile.am:
91239         * WebCore.exp.in:
91240         * WebCore.gypi:
91241         * WebCore.pro:
91242         * WebCore.vcproj/WebCore.vcproj:
91243         * WebCore.xcodeproj/project.pbxproj:
91244         * dom/DeviceOrientationClient.h:
91245         (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
91246         * dom/DeviceOrientationController.cpp:
91247         (WebCore::DeviceOrientationController::DeviceOrientationController):
91248         * dom/DeviceOrientationEvent.cpp:
91249         * platform/mock/DeviceOrientationClientMock.cpp: Added.
91250         (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
91251         (WebCore::DeviceOrientationClientMock::setController):
91252         (WebCore::DeviceOrientationClientMock::startUpdating):
91253         (WebCore::DeviceOrientationClientMock::stopUpdating):
91254         (WebCore::DeviceOrientationClientMock::setOrientation):
91255         (WebCore::DeviceOrientationClientMock::timerFired):
91256         * platform/mock/DeviceOrientationClientMock.h: Added.
91257         (WebCore::DeviceOrientationClientMock::lastOrientation):
91258
91259 2010-07-30  Satish Sampath  <satish@chromium.org>
91260
91261         Reviewed by Jeremy Orlow.
91262
91263         Add a mock in WebCore for testing speech input
91264         https://bugs.webkit.org/show_bug.cgi?id=42603
91265
91266         Layout tests will be added in a subsequent patch using this mock.
91267
91268         * Android.mk:
91269         * GNUmakefile.am:
91270         * WebCore.gypi:
91271         * WebCore.pro:
91272         * WebCore.vcproj/WebCore.vcproj:
91273         * WebCore.xcodeproj/project.pbxproj:
91274         * platform/mock/SpeechInputClientMock.cpp: Added.
91275         (WebCore::SpeechInputClientMock::SpeechInputClientMock):
91276         (WebCore::SpeechInputClientMock::startRecognition):
91277         (WebCore::SpeechInputClientMock::stopRecording):
91278         (WebCore::SpeechInputClientMock::cancelRecognition):
91279         (WebCore::SpeechInputClientMock::setRecognitionResult):
91280         (WebCore::SpeechInputClientMock::timerFired):
91281         * platform/mock/SpeechInputClientMock.h: Added.
91282
91283 2010-07-30  Nikolas Zimmermann  <nzimmermann@rim.com>
91284
91285         Reviewed by Dirk Schulze.
91286
91287         Optimize SVGResources memory usage
91288         https://bugs.webkit.org/show_bug.cgi?id=43236
91289
91290         Instead of storing pointers to all possible resources that could be applied to an element, group them in three categories:
91291         clipper/filter/masker, marker-start/marker-mid/marker-end, and fill/stroke.
91292
91293         Only build the cached resources data for elements where the properties can be applied to. Maintain a static list of tagnames
91294         for each of the three categories, to avoid doing unncessary work.
91295
91296         Doesn't affect any tests.
91297
91298         * rendering/SVGResources.cpp:
91299         (WebCore::SVGResources::SVGResources):
91300         (WebCore::clipperFilterMaskerTags):
91301         (WebCore::markerTags):
91302         (WebCore::fillAndStrokeTags):
91303         (WebCore::SVGResources::buildCachedResources):
91304         (WebCore::SVGResources::invalidateClient):
91305         (WebCore::SVGResources::resourceDestroyed):
91306         (WebCore::SVGResources::buildSetOfResources):
91307         (WebCore::SVGResources::setClipper):
91308         (WebCore::SVGResources::resetClipper):
91309         (WebCore::SVGResources::setFilter):
91310         (WebCore::SVGResources::resetFilter):
91311         (WebCore::SVGResources::setMarkerStart):
91312         (WebCore::SVGResources::resetMarkerStart):
91313         (WebCore::SVGResources::setMarkerMid):
91314         (WebCore::SVGResources::resetMarkerMid):
91315         (WebCore::SVGResources::setMarkerEnd):
91316         (WebCore::SVGResources::resetMarkerEnd):
91317         (WebCore::SVGResources::setMasker):
91318         (WebCore::SVGResources::resetMasker):
91319         (WebCore::SVGResources::setFill):
91320         (WebCore::SVGResources::resetFill):
91321         (WebCore::SVGResources::setStroke):
91322         (WebCore::SVGResources::resetStroke):
91323         (WebCore::SVGResources::dump):
91324         * rendering/SVGResources.h:
91325         (WebCore::SVGResources::clipper):
91326         (WebCore::SVGResources::filter):
91327         (WebCore::SVGResources::markerStart):
91328         (WebCore::SVGResources::markerMid):
91329         (WebCore::SVGResources::markerEnd):
91330         (WebCore::SVGResources::masker):
91331         (WebCore::SVGResources::fill):
91332         (WebCore::SVGResources::stroke):
91333         (WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):
91334         (WebCore::SVGResources::ClipperFilterMaskerData::create):
91335         (WebCore::SVGResources::MarkerData::MarkerData):
91336         (WebCore::SVGResources::MarkerData::create):
91337         (WebCore::SVGResources::FillStrokeData::FillStrokeData):
91338         (WebCore::SVGResources::FillStrokeData::create):
91339
91340 2010-07-26  Andrei Popescu  <andreip@google.com>
91341
91342         Reviewed by Jeremy Orlow.
91343
91344         [IndexedDB] IndexedDatabase should be called IDBFactory.
91345         https://bugs.webkit.org/show_bug.cgi?id=42967
91346
91347         Rename IndexedDatabase to IDBFactory to match the specification.
91348
91349         Also implement the following new naming convention:
91350         IDBFoo IDL interfaces are implemented using IDBFoo C++ classes.
91351         IDBFoo objects have pointers to IDBFooBackendInterface objects.
91352         IDBFooBackendInterface is implemented by IDBFooBackendImpl and
91353         IDBFooBackendProxy (for Chromium).
91354
91355         No new tests needed, just renaming.
91356
91357         * Android.derived.jscbindings.mk:
91358         * Android.derived.v8bindings.mk:
91359         * Android.mk:
91360         * CMakeLists.txt:
91361         * DerivedSources.cpp:
91362         * DerivedSources.make:
91363         * GNUmakefile.am:
91364         * WebCore.gyp/WebCore.gyp:
91365         * WebCore.gypi:
91366         * WebCore.pri:
91367         * WebCore.pro:
91368         * WebCore.xcodeproj/project.pbxproj:
91369         * bindings/js/JSIDBAnyCustom.cpp:
91370         (WebCore::toJS):
91371         * bindings/v8/custom/V8IDBAnyCustom.cpp:
91372         (WebCore::toV8):
91373         * page/DOMWindow.cpp:
91374         (WebCore::DOMWindow::clear):
91375         (WebCore::DOMWindow::indexedDB):
91376         * page/DOMWindow.h:
91377         * page/DOMWindow.idl:
91378         * page/PageGroup.cpp:
91379         (WebCore::PageGroup::idbFactory):
91380         * page/PageGroup.h:
91381         * platform/chromium/ChromiumBridge.h:
91382         * storage/IDBAny.cpp:
91383         (WebCore::IDBAny::idbFactory):
91384         (WebCore::IDBAny::set):
91385         * storage/IDBAny.h:
91386         (WebCore::IDBAny::):
91387         * storage/IDBDatabaseRequest.cpp:
91388         * storage/IDBFactory.cpp: Added.
91389         (WebCore::IDBFactory::IDBFactory):
91390         (WebCore::IDBFactory::~IDBFactory):
91391         (WebCore::IDBFactory::open):
91392         * storage/IDBFactory.h: Added.
91393         (WebCore::IDBFactory::create):
91394         * storage/IDBFactory.idl: Added.
91395         * storage/IDBFactoryBackendInterface.cpp: Added.
91396         (WebCore::IDBFactoryBackendInterface::create):
91397         * storage/IDBFactoryBackendInterface.h: Added.
91398         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
91399         * storage/IDBFactoryBackendImpl.cpp: Added.
91400         (WebCore::IDBFactoryBackendImpl::create):
91401         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
91402         (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
91403         (WebCore::IDBFactoryBackendImpl::open):
91404         * storage/IDBFactoryBackendImpl.h: Added.
91405         * storage/IDBKeyRange.cpp:
91406         (WebCore::IDBKeyRange::only):
91407         (WebCore::IDBKeyRange::leftBound):
91408         (WebCore::IDBKeyRange::rightBound):
91409         (WebCore::IDBKeyRange::bound):
91410         * storage/IDBKeyRange.h:
91411         * storage/IDBKeyRange.idl:
91412         * storage/IndexedDatabase.cpp: Removed.
91413         * storage/IndexedDatabase.h: Removed.
91414         * storage/IndexedDatabaseImpl.cpp: Removed.
91415         * storage/IndexedDatabaseImpl.h: Removed.
91416         * storage/IndexedDatabaseRequest.cpp: Removed.
91417         * storage/IndexedDatabaseRequest.h: Removed.
91418         * storage/IndexedDatabaseRequest.idl: Removed.
91419         * storage/chromium/IDBFactoryBackendInterface.cpp: Added.
91420         (WebCore::IDBFactoryBackendInterface::create):
91421         * storage/chromium/IndexedDatabase.cpp: Removed.
91422
91423 2010-07-29  Alexander Pavlov  <apavlov@chromium.org>
91424
91425         Reviewed by Pavel Feldman.
91426
91427         Web Inspector: Crash on refresh with a comment selected in the Elements panel
91428         https://bugs.webkit.org/show_bug.cgi?id=43183
91429
91430         * inspector/InspectorDOMAgent.cpp:
91431         (WebCore::InspectorDOMAgent::nodeForPath):
91432         * inspector/front-end/ElementsPanel.js:
91433         (WebInspector.ElementsPanel.prototype.reset):
91434
91435 2010-07-30  Renata Hodovan  <reni@inf.u-szeged.hu>
91436
91437         Reviewed by Nikolas Zimmermann.
91438
91439         feTurbulence is not implemented.
91440         https://bugs.webkit.org/show_bug.cgi?id=5864
91441
91442         This code is based on the previous implementation of
91443         Dirk Schulze, extended with some modification and optimization.
91444
91445         LayoutTests: Updating expected values for turbulence filter.
91446         svg/W3C-SVG-1.1/filters-turb-01-f.svg
91447
91448         * svg/SVGFETurbulenceElement.cpp:
91449         (WebCore::SVGFETurbulenceElement::build):
91450         * svg/graphics/filters/SVGFETurbulence.cpp:
91451         (WebCore::FETurbulence::FETurbulence):
91452         (WebCore::FETurbulence::create):
91453         (WebCore::FETurbulence::PaintingData::PaintingData):
91454         (WebCore::FETurbulence::PaintingData::random):
91455         (WebCore::smoothCurve):
91456         (WebCore::linearInterpolation):
91457         (WebCore::FETurbulence::initPaint):
91458         (WebCore::checkNoise):
91459         (WebCore::FETurbulence::noise2D):
91460         (WebCore::Noise::if):
91461         (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
91462         (WebCore::FETurbulence::apply):
91463         * svg/graphics/filters/SVGFETurbulence.h:
91464         (WebCore::):
91465
91466 2010-07-29  Martin Robinson  <mrobinson@igalia.com>
91467
91468         Reviewed by Dirk Schulze.
91469
91470         Cairo: Need to implement GraphicsContext::clipConvexPolygon()
91471         https://bugs.webkit.org/show_bug.cgi?id=41308
91472
91473         Implement clipConvexPolygon for Cairo ports and enable new path based
91474         borders for that port as well.
91475
91476         * platform/graphics/cairo/GraphicsContextCairo.cpp:
91477         (WebCore::addConvexPolygonToContext): Add this helper method.
91478         (WebCore::GraphicsContext::drawConvexPolygon): Use the new addConvexPolygonToContext helper.
91479         (WebCore::GraphicsContext::clipConvexPolygon): Implement this method.
91480         * rendering/RenderObject.h: Enable path based borders for Cairo.
91481
91482 2010-07-29  Ryosuke Niwa  <rniwa@webkit.org>
91483
91484         Reviewed by Darin Adler.
91485
91486         InsertOrderedList does not switch the list type properly when it has an inner list.
91487         https://bugs.webkit.org/show_bug.cgi?id=43166
91488
91489         The bug was caused by forcedCreateList was not set to true when the start and the end
91490         of the selection lies in the same list. Added selectionHasListOfType to fix this problem.
91491
91492         WebKit used not to convert the outer lists even when the list is fully selected.
91493         Corrected this behavior by converting the entire list at once when the list is fully selected.
91494         To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.
91495
91496         Tests: editing/execCommand/switch-list-type-with-inner-list.html
91497                editing/execCommand/switch-list-type-with-orphaned-li.html
91498
91499         * editing/InsertListCommand.cpp:
91500         (WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists.
91501         (WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi
91502         (WebCore::InsertListCommand::doApply): Calls selectionHasListOfType.
91503         (WebCore::InsertListCommand::doApplyForSingleParagraph): See above.
91504         (WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.
91505         * editing/InsertListCommand.h:
91506         * editing/htmlediting.cpp:
91507         (WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement.
91508         (WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.
91509
91510 2010-07-29  Martin Robinson  <mrobinson@igalia.com>
91511
91512         Reviewed by Dirk Schulze.
91513
91514         [Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
91515         https://bugs.webkit.org/show_bug.cgi?id=41732
91516
91517         Do not apply paths added to the Cairo GraphicsContext, until they are used.
91518         This prevents drawing routines such as fillRect from interacting with any
91519         path which callers are constructing on the GraphicsContext.
91520
91521          This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
91522          so tests for that issue will test this fix.
91523
91524         * platform/graphics/cairo/GraphicsContextCairo.cpp:
91525         (WebCore::appendPathToCairoContext): Added. A helper method which adds a path
91526         to a native Cairo context.
91527         (WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
91528         existing path first.
91529         (WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
91530         operates on a WebCore path.
91531         (WebCore::fillCurrentCairoPath): Added. Helper which fills the current cairo context path.
91532         (WebCore::strokeCurrentCairoPath): Added. Helper which strokes the current cairo context path.
91533         (WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
91534         was not called, because cairo_stroke implicitly clears the path.
91535         (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
91536         (WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
91537         and clear m_pendingPath, instead of relying on the pre-existing context path. Do the
91538         actual fill via the new helper.
91539         (WebCore::GraphicsContext::strokePath): Ditto.
91540         (WebCore::GraphicsContext::drawPath): Ditto.
91541         (WebCore::GraphicsContext::fillRect): Use the new fillCurrentCairoPath helper.
91542         (WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
91543         of addPath (which will blow away any path callers are building).
91544         (WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
91545         of addPath (which will blow away any path callers are building).
91546         (WebCore::GraphicsContext::strokeRect): Use the new strokeCurrentCairoPath helper.
91547         (WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
91548         (WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
91549         Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
91550         cairo context.
91551         (WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
91552         (WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
91553         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
91554
91555 2010-07-29  Sheriff Bot  <webkit.review.bot@gmail.com>
91556
91557         Unreviewed, rolling out r64313.
91558         http://trac.webkit.org/changeset/64313
91559         https://bugs.webkit.org/show_bug.cgi?id=43233
91560
91561         Some Chromium bots are not happy with it for some unknown
91562         reason. (Requested by dumi on #webkit).
91563
91564         * bindings/js/JSCustomVoidCallback.cpp:
91565         (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
91566         * bindings/scripts/CodeGeneratorJS.pm:
91567         * bindings/scripts/test/JS/JSTestCallback.cpp:
91568         (WebCore::JSTestCallback::~JSTestCallback):
91569         * platform/sql/SQLiteDatabase.cpp:
91570         (WebCore::SQLiteDatabase::SQLiteDatabase):
91571         (WebCore::SQLiteDatabase::close):
91572         (WebCore::SQLiteDatabase::lock):
91573         (WebCore::SQLiteDatabase::unlock):
91574         * platform/sql/SQLiteDatabase.h:
91575         * platform/sql/SQLiteStatement.cpp:
91576         (WebCore::SQLiteStatement::prepare):
91577         (WebCore::SQLiteStatement::step):
91578         * storage/AbstractDatabase.cpp:
91579         * storage/AbstractDatabase.h:
91580         * storage/DatabaseTracker.cpp:
91581         * storage/DatabaseTracker.h:
91582         * storage/SQLStatement.cpp:
91583         (WebCore::SQLStatement::execute):
91584         * storage/SQLStatementSync.cpp:
91585         (WebCore::SQLStatementSync::execute):
91586         * storage/SQLTransaction.cpp:
91587         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
91588         (WebCore::SQLTransaction::performNextStep):
91589         (WebCore::SQLTransaction::performPendingCallback):
91590         (WebCore::SQLTransaction::deliverTransactionCallback):
91591         (WebCore::SQLTransaction::postflightAndCommit):
91592         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
91593         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
91594         * storage/SQLTransaction.h:
91595         * storage/chromium/DatabaseTrackerChromium.cpp:
91596         * workers/WorkerThread.cpp:
91597         (WebCore::WorkerThread::stop):
91598
91599 2010-07-29  Martin Robinson  <mrobinson@igalia.com>
91600
91601         Unreviewed, rolling out r64318.
91602         http://trac.webkit.org/changeset/64318
91603         https://bugs.webkit.org/show_bug.cgi?id=41732
91604
91605         This change broke many tests.
91606
91607         * platform/graphics/cairo/GraphicsContextCairo.cpp:
91608         (WebCore::GraphicsContext::drawEllipse):
91609         (WebCore::GraphicsContext::drawConvexPolygon):
91610         (WebCore::GraphicsContext::fillPath):
91611         (WebCore::GraphicsContext::strokePath):
91612         (WebCore::GraphicsContext::drawPath):
91613         (WebCore::GraphicsContext::drawFocusRing):
91614         (WebCore::GraphicsContext::addInnerRoundedRectClip):
91615         (WebCore::GraphicsContext::beginPath):
91616         (WebCore::GraphicsContext::addPath):
91617         (WebCore::GraphicsContext::clipOut):
91618         (WebCore::GraphicsContext::fillRoundedRect):
91619         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
91620
91621 2010-07-29  Martin Robinson  <mrobinson@igalia.com>
91622
91623         Reviewed by Dirk Schulze.
91624
91625         [Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
91626         https://bugs.webkit.org/show_bug.cgi?id=41732
91627
91628         Do not apply paths added to the Cairo GraphicsContext, until they are used.
91629         This prevents drawing routines such as fillRect from interacting with any
91630         path which callers are constructing on the GraphicsContext.
91631
91632          This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
91633          so tests for that issue will test this fix.
91634
91635         * platform/graphics/cairo/GraphicsContextCairo.cpp:
91636         (WebCore::appendPathToCairoContext): Added. A helper method which adds a path
91637         to a native Cairo context.
91638         (WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
91639         existing path first.
91640         (WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
91641         operates on a WebCore path.
91642         (WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
91643         was not called, because cairo_stroke implicitly clears the path.
91644         (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
91645         (WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
91646         and clear m_pendingPath, instead of relying on the pre-existing context path.
91647         (WebCore::GraphicsContext::strokePath): Ditto.
91648         (WebCore::GraphicsContext::drawPath): Ditto.
91649         (WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
91650         of addPath (which will blow away any path callers are building).
91651         (WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
91652         of addPath (which will blow away any path callers are building).
91653         (WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
91654         (WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
91655         Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
91656         cairo context.
91657         (WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
91658         (WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
91659         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
91660
91661 2010-07-29  Martin Robinson  <mrobinson@igalia.com>
91662
91663         Reviewed by Dirk Schulze.
91664
91665         [Cairo] Remove setStrokeStyle workaround for InlineTextBoxes
91666         https://bugs.webkit.org/show_bug.cgi?id=43136
91667
91668         Remove workaround added in https://bugs.webkit.org/show_bug.cgi?id=15659
91669         to fix stroke style for InlineTextBox underlines.
91670
91671         No new tests as this should not change functionality.
91672
91673         * platform/graphics/cairo/GraphicsContextCairo.cpp:
91674         (WebCore::GraphicsContext::drawLineForText): Remove old workaround.
91675
91676 2010-07-28  Dumitru Daniliuc  <dumi@chromium.org>
91677
91678         Reviewed by David Levin.
91679
91680         Interrupt all DB operations when the worker is terminating.
91681         https://bugs.webkit.org/show_bug.cgi?id=42843
91682
91683         Tests: fast/workers/storage/interrupt-database-sync.html
91684                fast/workers/storage/interrupt-database.html
91685
91686         * bindings/js/JSCustomVoidCallback.cpp:
91687         (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
91688         destructor is called on the context thread, delete m_data directly
91689         instead of posting a task to do that. We need to do that to make
91690         sure that all JS objects are destroyed before
91691         WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
91692         WorkerContext::clearScript().
91693
91694         * bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
91695         all auto-generated callbacks.
91696
91697         * bindings/scripts/test/JS/JSTestCallback.cpp:
91698         (WebCore::JSTestCallback::~JSTestCallback): Updated the
91699         expectations for run-bindings-tests.
91700
91701         * platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
91702         all DB operations in progress, unless the database was closed or
91703         is being closed. Unlike sqlite3_interrupt(),
91704         SQLiteDatabase::interrupt() is sticky: once it's called, trying to
91705         run any statement on that database will fail with a
91706         SQLITE_INTERRUPT error code.
91707         (WebCore::SQLiteDatabase::SQLiteDatabase):
91708         (WebCore::SQLiteDatabase::close):
91709         (WebCore::SQLiteDatabase::interrupt):
91710         (WebCore::SQLiteDatabase::isInterrupted):
91711
91712         * platform/sql/SQLiteDatabase.h: Added a mutex that can used by
91713         SQLiteStatement to check if the database was interrupted.
91714         (WebCore::SQLiteDatabase::databaseMutex):
91715
91716         * platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
91717         to check if the database was interrupted, before trying to prepare
91718         or run the statement. The other methods don't need to hold on to
91719         the DB lock while running, because they're fast, so we don't need
91720         to interrupt them.
91721         (WebCore::SQLiteStatement::prepare):
91722         (WebCore::SQLiteStatement::step):
91723
91724         * storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
91725         and isInterrupted() visible to WebSQLDatabases classes.
91726         (WebCore::AbstractDatabase::interrupt):
91727         (WebCore::AbstractDatabase::isInterrupted):
91728         * storage/AbstractDatabase.h:
91729
91730         * storage/DatabaseTracker.cpp: Added a method to interrupt all
91731         databases in a given context.
91732         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
91733         * storage/DatabaseTracker.h:
91734
91735         * storage/SQLStatement.cpp: Changed the exception/error reported
91736         when a statement is interrupted.
91737         (WebCore::SQLStatement::execute):
91738         * storage/SQLStatementSync.cpp:
91739         (WebCore::SQLStatementSync::execute):
91740
91741         * storage/SQLTransaction.cpp: Changed the code to release the
91742         callback objects as soon as they're not needed.
91743         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
91744         Changed this method to not schedule the next transaction step when
91745         the database is interrupted.
91746         (WebCore::SQLTransaction::performNextStep):
91747         (WebCore::SQLTransaction::performPendingCallback):
91748         (WebCore::SQLTransaction::deliverTransactionCallback):
91749         (WebCore::SQLTransaction::postflightAndCommit):
91750         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
91751         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
91752         * storage/SQLTransaction.h:
91753
91754         * storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
91755         interrupt all databases in a given context.
91756         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
91757
91758         * workers/WorkerThread.cpp:
91759         (WebCore::WorkerThread::stop): Added a call to
91760         DatabaseTracker::interruptAllDatabasesForContext().
91761
91762 2010-07-29  Bernhard Bauer  <bauerb@chromium.org>
91763
91764         Reviewed by Darin Fisher.
91765
91766         Check if plugins are allowed before creating a Java applet.
91767         https://bugs.webkit.org/show_bug.cgi?id=43196
91768
91769         * loader/SubframeLoader.cpp:
91770         (WebCore::SubframeLoader::createJavaAppletWidget):
91771
91772 2010-07-29  James Robinson  <jamesr@chromium.org>
91773
91774         Reviewed by Simon Fraser.
91775
91776         Ask a canvas' rendering context if it is accelerated instead tying it directly to webgl
91777         https://bugs.webkit.org/show_bug.cgi?id=43206
91778
91779         This unifies the logic for whether a canvas is accelerated or not into one place
91780         and makes it easier to expand the logic in the future to, for example, cover some
91781         2d canvases.
91782
91783         Just a refactoring, no change in behavior so no new tests.
91784
91785         * html/canvas/CanvasRenderingContext.h:
91786         (WebCore::CanvasRenderingContext::isAccelerated):
91787         * html/canvas/WebGLRenderingContext.h:
91788         (WebCore::WebGLRenderingContext::isAccelerated):
91789         * rendering/RenderHTMLCanvas.cpp:
91790         (WebCore::RenderHTMLCanvas::requiresLayer):
91791         * rendering/RenderLayerCompositor.cpp:
91792         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
91793
91794 2010-07-29  Anders Carlsson  <andersca@apple.com>
91795
91796         Reviewed by Sam Weinig.
91797
91798         Implement NPN_Status
91799         https://bugs.webkit.org/show_bug.cgi?id=43205
91800
91801         * WebCore.exp.in:
91802         Export Chrome::setStatusText.
91803
91804 2010-07-29  Victor Wang  <victorw@chromium.org>
91805
91806         Unreviewed, rolling out r64270.
91807         http://trac.webkit.org/changeset/64270
91808         https://bugs.webkit.org/show_bug.cgi?id=39589
91809
91810         The patch breaks chromium webkit unittest
91811
91812         * WebCore.exp.in:
91813         * WebCore.xcodeproj/project.pbxproj:
91814         * dom/DeviceOrientationClient.h:
91815         (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
91816         * dom/DeviceOrientationController.cpp:
91817         (WebCore::DeviceOrientationController::DeviceOrientationController):
91818         * dom/DeviceOrientationEvent.cpp:
91819         * platform/mock/DeviceOrientationClientMock.cpp: Removed.
91820         * platform/mock/DeviceOrientationClientMock.h: Removed.
91821
91822 2010-07-29  Simon Fraser  <simon.fraser@apple.com>
91823
91824         Reviewed by Darin Adler.
91825
91826         Resizer control does not paint in otherwise empty compositing layer
91827         https://bugs.webkit.org/show_bug.cgi?id=42306
91828         
91829         Ensure that we create backing store for an empty element with resize: both,
91830         in order to render the resizer control.
91831
91832         Test: compositing/overflow/resize-painting.html
91833
91834         * rendering/RenderLayerBacking.h:
91835         * rendering/RenderLayerBacking.cpp:
91836         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Check for hasOverflowControls()
91837         earlier, before any child checks.
91838         (WebCore::RenderLayerBacking::hasNonCompositingDescendants): Renamed from hasNonCompositingContent()
91839         to clarify its purpose.
91840
91841 2010-07-29  Adam Roben  <aroben@apple.com>
91842
91843         Remove WKCACFLayer::Lanczos
91844
91845         This member is also unused.
91846
91847         Rubber-stamped in advance by John Sullivan.
91848
91849         * platform/graphics/win/WKCACFLayer.cpp:
91850         (WebCore::toCACFFilterType):
91851         (WebCore::fromCACFFilterType):
91852         * platform/graphics/win/WKCACFLayer.h:
91853         (WebCore::WKCACFLayer::):
91854
91855 2010-07-29  Adam Roben  <aroben@apple.com>
91856
91857         Remove some unused WKCACFLayer members
91858
91859         Fixes <http://webkit.org/b/43200> WKCACFLayer has some unused members
91860
91861         Reviewed by John Sullivan.
91862
91863         * platform/graphics/win/WKCACFLayer.h: Removed [set]ClearsContext,
91864         [set]Filters, and [set]SortsSublayers.
91865
91866 2010-07-28  Justin Schuh  <jschuh@chromium.org>
91867
91868         Reviewed by Nate Chapin.
91869
91870         Clear PluginData's page pointer on Page destruction
91871         https://bugs.webkit.org/show_bug.cgi?id=43147
91872
91873         Test: plugins/access-after-page-destroyed.html
91874
91875         * page/Page.cpp:
91876         (WebCore::Page::~Page):
91877
91878 2010-07-29  Simon Fraser  <simon.fraser@apple.com>
91879
91880         Reviewed by Darin Adler.
91881
91882         SHOULD NEVER BE REACHED assertion when switching tabs with composited content
91883         https://bugs.webkit.org/show_bug.cgi?id=43167
91884
91885         When the root layer becomes unattached (e.g. when switching tabs), don't return
91886         'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
91887         both allocates wasteful backing store, and causes an assertion when we try to
91888         paint the layer.
91889         
91890         Test: manual-tests/compositing/assert-on-tab-switch.html: Added.
91891         
91892         * rendering/RenderLayerBacking.cpp:
91893         (WebCore::RenderLayerBacking::paintingGoesToWindow):
91894
91895 2010-07-29  Simon Fraser  <simon.fraser@apple.com>
91896
91897         Reviewed by Pavel Feldman.
91898
91899         Crash when computing pseudo-style of a vanished scrollbar in inspector
91900         https://bugs.webkit.org/show_bug.cgi?id=42561
91901         
91902         When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
91903         otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
91904         to try to use m_owner to get pseudo style.
91905
91906         Test: scrollbars/overflow-custom-scrollbar-crash.html
91907
91908         * rendering/RenderLayer.cpp:
91909         (WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
91910         * rendering/RenderScrollbar.cpp:
91911         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
91912         * rendering/RenderScrollbar.h:
91913         (WebCore::RenderScrollbar::clearOwningRenderer): New method.
91914
91915 2010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>
91916
91917         Not reviewed. Fix release builds, by removing unused variables, that only served for ASSERTs that are no longer needed.
91918
91919         * rendering/SVGRenderSupport.cpp:
91920         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
91921         (WebCore::SVGRenderSupport::pointInClippingArea):
91922
91923 2010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>
91924
91925         Not reviewed. Fix build warning about unreachable code, seen on the windows slave.
91926
91927         * rendering/RenderSVGContainer.cpp:
91928         (WebCore::RenderSVGContainer::selfWillPaint):
91929         * rendering/RenderSVGRoot.cpp:
91930         (WebCore::RenderSVGRoot::selfWillPaint):
91931
91932 2010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>
91933
91934         Reviewed by Dirk Schulze.
91935
91936         WebKit shouldn't ignore resource cycles, but break them as Opera does
91937         https://bugs.webkit.org/show_bug.cgi?id=43031
91938
91939         mask images are not updated when render objects' bounds change
91940         https://bugs.webkit.org/show_bug.cgi?id=15124
91941
91942         SVG Gradients do not resize correctly
91943         https://bugs.webkit.org/show_bug.cgi?id=41902
91944
91945         svg/dynamic-updates: SVGMarkerElement markerHeight/Width tests are broken
91946         https://bugs.webkit.org/show_bug.cgi?id=42616
91947
91948         svg/dynamic-updates: SVGMaskElement tests are all broken
91949         https://bugs.webkit.org/show_bug.cgi?id=42617
91950
91951         Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
91952
91953         We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
91954         node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
91955         to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
91956
91957         Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
91958         Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
91959         from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
91960         which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
91961         objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
91962         phase begins.
91963
91964         Add destroy/styleDidChange/updateFromElement methods to all SVG renderers, in order to keep track of resource/client changes in the SVGResourcesCache.
91965         As side-effect the SVGResourcesCache now knows which RenderObject references which resource, and thus can handle client registration for a RenderSVGResourceContainer.
91966         The RenderSVGResourceContainer now holds a HashSet of RenderObjects, that's always up2date, and not related to the fact wheter a resources has already been used
91967         for painting. The old logic missed to register clients for a resource, when the resource was in an invalid state. Fixing that fixes the svg/dynamic-updates/SVGMaskElement* tests.
91968
91969         Rewrite all svg/custom/recursive-(filter|gradient|mask|pattern).svg tests to contain a reference image how it should be renderered. All 1:1 compatible with Opera now.
91970
91971         * rendering/RenderForeignObject.cpp:
91972         (WebCore::RenderForeignObject::layout): Grab selfNeedsLayout() before calling RenderBlock::layout(), otherwhise it's always false.
91973         * rendering/RenderPath.cpp: Don't look up resources manually, use SVGResourcesCache.
91974         (WebCore::RenderPath::fillContains): Remove constness, to avoid the need to pass around const RenderObjects* to the SVGResourcesCache.
91975         (WebCore::RenderPath::strokeContains): Ditto.
91976         (WebCore::RenderPath::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
91977         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Remove special client handling for markers, it's all unified now.
91978         (WebCore::RenderPath::styleWillChange): Only call setNeedsBoundariesUpdate when handling StyleDifferenceRepaint/Layout.
91979         * rendering/RenderPath.h:
91980         * rendering/RenderSVGBlock.cpp:
91981         (WebCore::RenderSVGBlock::destroy): Forward to SVGResourcesCache::clientDestroyed.
91982         (WebCore::RenderSVGBlock::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
91983         (WebCore::RenderSVGBlock::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
91984         * rendering/RenderSVGBlock.h:
91985         * rendering/RenderSVGContainer.cpp:
91986         (WebCore::RenderSVGContainer::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
91987         (WebCore::RenderSVGContainer::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
91988         * rendering/RenderSVGContainer.h:
91989         * rendering/RenderSVGGradientStop.cpp:
91990         (WebCore::RenderSVGGradientStop::styleDidChange): Rewrite, as invalidateResourceClients() is gone.
91991         * rendering/RenderSVGHiddenContainer.h: Make layout() protected, as RenderSVGResourceContainer overrides it.
91992         * rendering/RenderSVGImage.cpp:
91993         (WebCore::RenderSVGImage::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
91994         (WebCore::RenderSVGImage::destroy): Forward to SVGResourcesCache::clientDestroyed.
91995         (WebCore::RenderSVGImage::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
91996         (WebCore::RenderSVGImage::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
91997         (WebCore::RenderSVGImage::imageChanged): Don't look up resources manually, use SVGResourcesCache.
91998         * rendering/RenderSVGImage.h:
91999         * rendering/RenderSVGInline.cpp:
92000         (WebCore::RenderSVGInline::destroy): Forward to SVGResourcesCache::clientDestroyed.
92001         (WebCore::RenderSVGInline::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
92002         (WebCore::RenderSVGInline::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
92003         * rendering/RenderSVGInline.h:
92004         * rendering/RenderSVGModelObject.cpp:
92005         (WebCore::RenderSVGModelObject::destroy): Forward to SVGResourcesCache::clientDestroyed.
92006         (WebCore::RenderSVGModelObject::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
92007         (WebCore::RenderSVGModelObject::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
92008         * rendering/RenderSVGModelObject.h:
92009         * rendering/RenderSVGResource.cpp:
92010         (WebCore::RenderSVGResource::fillPaintingResource): Remove const from RenderObject parameter.
92011         (WebCore::RenderSVGResource::strokePaintingResource): Ditto.
92012         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): Early exit if we found the first parent resource.
92013         * rendering/RenderSVGResource.h:
92014         * rendering/RenderSVGResourceClipper.cpp:
92015         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): Early exit if m_clipper is empty.
92016         (WebCore::RenderSVGResourceClipper::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92017         (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
92018         (WebCore::RenderSVGResourceClipper::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92019         (WebCore::RenderSVGResourceClipper::createClipData): Don't look up resources manually, use SVGResourcesCache.
92020         (WebCore::RenderSVGResourceClipper::hitTestClipContent): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92021         * rendering/RenderSVGResourceClipper.h:
92022         * rendering/RenderSVGResourceContainer.cpp:
92023         (WebCore::svgExtensionsFromNode):
92024         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop registering resource from the constructor, delegate to styleDidChange.
92025         (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): Only deregister resource if it was ever registered.
92026         (WebCore::RenderSVGResourceContainer::layout): invalidateClients() here, to avoid the need for invalidateResourceClients() in the SVG DOM. Just call setNeedsLayout() from the SVG DOM.
92027         (WebCore::RenderSVGResourceContainer::destroy): Forward to SVGResourcesCache::resourceDestroyed.
92028         (WebCore::RenderSVGResourceContainer::styleDidChange): Register resource not in the constructor but when it first receives style.
92029         (WebCore::RenderSVGResourceContainer::idChanged): Don't duplicate code, use existing methods from SVGResourcesCache.
92030         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Add new helper function, to share code between all resources.
92031         (WebCore::RenderSVGResourceContainer::markClientForInvalidation): Ditto.
92032         (WebCore::RenderSVGResourceContainer::addClient): SVGResourcesCache now manages the list of clients. It calls addClient() for each RenderObject that uses this resource.
92033         (WebCore::RenderSVGResourceContainer::removeClient): SVGResourcesCache now manages the list of clients.
92034         (WebCore::RenderSVGResourceContainer::registerResource): New helper function sharing code between idChanged / styleDidChange.
92035         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): Add FIXME that the function is misplaced.
92036         * rendering/RenderSVGResourceContainer.h: Move most functions to the new RenderSVGResourceContainer.cpp file.
92037         * rendering/RenderSVGResourceFilter.cpp:
92038         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): Early exit if m_filter is empty.
92039         (WebCore::RenderSVGResourceFilter::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92040         (WebCore::RenderSVGResourceFilter::invalidateClient): Ditto.
92041         * rendering/RenderSVGResourceGradient.cpp:
92042         (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): Early exit if m_gradient is empty.
92043         (WebCore::RenderSVGResourceGradient::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92044         (WebCore::RenderSVGResourceGradient::invalidateClient): Ditto.
92045         * rendering/RenderSVGResourceMarker.cpp:
92046         (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): Now a no-op, markers are unified within the new client handling concept, no more special code needed.
92047         (WebCore::RenderSVGResourceMarker::layout): As RenderSVGResourceMarker skips the RenderSVGResourceContainer::layout() method, we also need to call invalidateClients() here.
92048         (WebCore::RenderSVGResourceMarker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92049         (WebCore::RenderSVGResourceMarker::invalidateClient): Ditto.
92050         (WebCore::RenderSVGResourceMarker::draw): Remove marker specific logic to catch circular references.
92051         * rendering/RenderSVGResourceMarker.h:
92052         * rendering/RenderSVGResourceMasker.cpp:
92053         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): Early exit if m_masker is empty.
92054         (WebCore::RenderSVGResourceMasker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92055         (WebCore::RenderSVGResourceMasker::invalidateClient): Ditto.
92056         (WebCore::RenderSVGResourceMasker::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92057         * rendering/RenderSVGResourceMasker.h:
92058         * rendering/RenderSVGResourcePattern.cpp:
92059         (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): Early exit if m_pattern is empty.
92060         (WebCore::RenderSVGResourcePattern::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92061         (WebCore::RenderSVGResourcePattern::invalidateClient): Ditto.
92062         (WebCore::RenderSVGResourcePattern::createTileImage): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92063         * rendering/RenderSVGResourcePattern.h:
92064         * rendering/RenderSVGRoot.cpp:
92065         (WebCore::RenderSVGRoot::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
92066         (WebCore::RenderSVGRoot::destroy): Forward to SVGResourcesCache::clientDestroyed.
92067         (WebCore::RenderSVGRoot::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
92068         (WebCore::RenderSVGRoot::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
92069         * rendering/RenderSVGRoot.h:
92070         * rendering/RenderSVGText.cpp:
92071         (WebCore::RenderSVGText::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
92072         * rendering/RenderSVGText.h:
92073         * rendering/SVGInlineTextBox.cpp:
92074         (WebCore::SVGInlineTextBox::acquirePaintingResource): Add RenderObject* parameter, don't assume the style comes from the InlineTextBox parent renderer.
92075         (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Pass the parent()->renderer() to acquirePaintingResource.
92076         (WebCore::SVGInlineTextBox::paintDecoration): Pass the decoration renderer to acquirePaintingResource.
92077         (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
92078         (WebCore::SVGInlineTextBox::paintText): When a selection pseudo style is used to paint the selection, swap styles in the SVGResourcesCache, to take the right resources when painting.
92079         * rendering/SVGInlineTextBox.h:
92080         * rendering/SVGRenderSupport.cpp:
92081         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Don't look up resources manually, use SVGResourcesCache.
92082         (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
92083         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
92084         (WebCore::SVGRenderSupport::pointInClippingArea): Remove const from RenderObject parameter. 
92085         * rendering/SVGRenderSupport.h:
92086         * rendering/SVGRenderTreeAsText.cpp:
92087         (WebCore::writeStyle): Add two const_cast now that fill/strokePaintingResource take RenderObject* parameters. This was the less intrusive approach, otherwhise more const_casts would be needed.
92088         (WebCore::writeResources): Add FIXME that we should dump the resources present in the SVGResourcesCache instead of manually looking them up from the SVGRenderStyle, to avoid dumping cycles.
92089         * rendering/SVGResourcesCache.cpp:
92090         (WebCore::SVGResourcesCache::clientStyleChanged): Use markForLayoutAndParentResourceInvalidation() instead of duplicating code.
92091         * rendering/SVGResourcesCycleSolver.cpp:
92092         (WebCore::setFollowLinkForChainableResource): Implemented stub method.
92093         * rendering/style/SVGRenderStyle.cpp:
92094         (WebCore::SVGRenderStyle::diff): Return StyleDifferenceLayout, not Repaint for stroke paint changes, otherwhise the cached boundaries are not correctly updated.
92095         * svg/SVGClipPathElement.cpp:
92096         (WebCore::SVGClipPathElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92097         (WebCore::SVGClipPathElement::childrenChanged): Ditto.
92098         * svg/SVGClipPathElement.h:
92099         (WebCore::SVGClipPathElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92100         * svg/SVGElement.cpp:
92101         (WebCore::SVGElement::insertedIntoDocument): Only execute buildPendingResource() logic, if needsPendingResourceHandling() returns true. Cleaned up code a bit, to deploy early returns.
92102         * svg/SVGElement.h:
92103         (WebCore::SVGElement::needsPendingResourceHandling): Return true (default). Only needed by SVGTextPathElement/SVGUseElement, and should be removed in future.
92104         * svg/SVGFilterElement.cpp:
92105         (WebCore::SVGFilterElement::SVGFilterElement): Initialize m_followLink=true.
92106         (WebCore::SVGFilterElement::setFilterRes): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92107         (WebCore::SVGFilterElement::svgAttributeChanged): Ditto.
92108         (WebCore::SVGFilterElement::childrenChanged): Ditto.
92109         * svg/SVGFilterElement.h:
92110         (WebCore::SVGFilterElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92111         (WebCore::SVGFilterElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
92112         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
92113         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): Don't use invalidateResourceClients(), it's a no-op as effects don't have a renderer -> use invalidateFilter().
92114         * svg/SVGFilterPrimitiveStandardAttributes.h:
92115         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92116         * svg/SVGGradientElement.cpp:
92117         (WebCore::SVGGradientElement::SVGGradientElement): Initialize m_followLink=true.
92118         (WebCore::SVGGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92119         (WebCore::SVGGradientElement::childrenChanged): Ditto.
92120         * svg/SVGGradientElement.h:
92121         (WebCore::SVGGradientElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92122         (WebCore::SVGGradientElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
92123         * svg/SVGLinearGradientElement.cpp:
92124         (WebCore::SVGLinearGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92125         (WebCore::SVGLinearGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
92126         * svg/SVGMarkerElement.cpp:
92127         (WebCore::SVGMarkerElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92128         (WebCore::SVGMarkerElement::childrenChanged): Ditto.
92129         (WebCore::SVGMarkerElement::setOrientToAuto): Ditto.
92130         (WebCore::SVGMarkerElement::setOrientToAngle): Ditto.
92131         * svg/SVGMarkerElement.h:
92132         (WebCore::SVGMarkerElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92133         * svg/SVGMaskElement.cpp:
92134         (WebCore::SVGMaskElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92135         (WebCore::SVGMaskElement::childrenChanged): Ditto.
92136         * svg/SVGMaskElement.h:
92137         (WebCore::SVGMaskElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92138         * svg/SVGPatternElement.cpp:
92139         (WebCore::SVGPatternElement::SVGPatternElement): Initialize m_followLink=true.
92140         (WebCore::SVGPatternElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92141         (WebCore::SVGPatternElement::childrenChanged): Ditto.
92142         (WebCore::SVGPatternElement::collectPatternProperties): Only follow xlink:href links if m_followLinks == true.
92143         * svg/SVGPatternElement.h:
92144         (WebCore::SVGPatternElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92145         (WebCore::SVGPatternElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
92146         * svg/SVGRadialGradientElement.cpp:
92147         (WebCore::SVGRadialGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92148         (WebCore::SVGRadialGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
92149         * svg/SVGStyledElement.cpp:
92150         (WebCore::SVGStyledElement::attach): Call updateFromElement upon attach(), needed by all resource renderers. Defaults to a no-op in RenderObject.h
92151         * svg/SVGStyledElement.h: Remove invalidateResourceClients(), it's not needed anymore.
92152
92153 2010-07-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
92154
92155         Reviewed by Kenneth Rohde Christiansen.
92156
92157         [EFL] Support to enable WML in WebKit EFL
92158         https://bugs.webkit.org/show_bug.cgi?id=43178
92159
92160         WebKit EFL cannot enable WML. WML files are added to CMakeLists.txt
92161         to enable WML in WebKit EFL.
92162
92163         * CMakeLists.txt: Support to enable WML.
92164
92165 2010-07-21 Grace Kloba  <klobag@gmail.com> , Antonio Gomes  <tonikitoo@webkit.org>
92166
92167         Reviewed by David Hyatt.
92168
92169         Enhance the hit testing to take a rectangle instead of a point
92170         https://bugs.webkit.org/show_bug.cgi?id=40197
92171
92172         The primary goal of this change is to provide mechanisms for more precise tap
92173         actions by the users on mobile devices.
92174
92175         Patch extends the hit testing system to work considering a rectangular area
92176         as input instead of a point, when applicable. For that, the HitTestResult class
92177         was modified to take a padding (IntSize). The padding specifies a fuzzy range for
92178         accepting input events in pixels coordinates for both vertical and horizontal
92179         orientations. In other words, it tells how much to expand the search rect
92180         around a supposed touch point.
92181
92182         If it is non-positive padding (e.g. (-1, -1), (5, -1), (0, 0)), hit testing will behavior
92183         as the current point based hit testing: methods are no-op'ed to not regress it performance-wise
92184         since it is the common behavior. When positive padding is provided, the HitTestResult class will
92185         keep record of all nodes that intersect the built up test area. The logic will continue searching
92186         when it finds a candidate until the hit test area is fully enclosed by the boundaries of a candidate.
92187         The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how
92188         to process them.
92189
92190         In order to expose the functionality, the patch:
92191
92192         - Adds a nodesFromRect method to the Document class, exposing the funcionality
92193         to the DOM. Method returns a NodeList with all nodes that intersect the given
92194         hit-tested area.
92195         - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
92196         parameter, defaulting to IntSize(-1, -1). The rect-based hit test is performed when a
92197         non-negative padding is passed in.
92198
92199         Test: fast/dom/nodesFromRect-basic.html
92200
92201         * WebCore.base.exp:
92202         * dom/Document.cpp:
92203         (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
92204         the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
92205         as input instead of a point, and returning a z-index ordered list of nodes (not elements)
92206         whose area intersect the hit test rect.
92207         * dom/Document.h: Ditto.
92208         * dom/Document.idl: Ditto.
92209         * page/EventHandler.cpp:
92210         (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
92211         method. Patch adds a additional IntSize parameter to work as the padding area, building up
92212         the hit test rect.
92213         * page/EventHandler.h: Ditto.
92214         * rendering/HitTestResult.cpp:
92215         (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
92216         padding IntSize as parameter. It can be (0,0).
92217         (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
92218         (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
92219         list node's of both objects get amended.
92220         (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
92221         hit nodes.
92222         * rendering/HitTestResult.h:
92223         (WebCore::HitTestResult::padding): Returns the padding as an IntSize.
92224         (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
92225         (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
92226         (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
92227         and padding.
92228         * rendering/RenderLayer.cpp:
92229         (WebCore::RenderLayer::hitTestLayer):
92230         (WebCore::RenderLayer::hitTestList):
92231         (WebCore::RenderLayer::hitTestChildLayerColumns):
92232         * rendering/EllipsisBox.cpp:
92233         (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
92234         Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
92235         instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
92236         that the common case (point based hit test) works as previously.
92237         * rendering/InlineFlowBox.cpp:
92238         (WebCore::InlineFlowBox::nodeAtPoint): Ditto.
92239         * rendering/InlineTextBox.cpp:
92240         (WebCore::InlineTextBox::nodeAtPoint): Ditto.
92241         * rendering/RenderBlock.cpp:
92242         (WebCore::RenderBlock::nodeAtPoint): Ditto.
92243         (WebCore::RenderBlock::hitTestColumns): Ditto.
92244         * rendering/RenderBox.cpp:
92245         (WebCore::RenderBox::nodeAtPoint): Ditto.
92246         * rendering/RenderImage.cpp:
92247         (WebCore::RenderImage::nodeAtPoint): Ditto.
92248         * rendering/RenderLineBoxList.cpp:
92249         (WebCore::RenderLineBoxList::hitTest):
92250         * rendering/RenderSVGRoot.cpp:
92251         (WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
92252         * rendering/RenderTable.cpp:
92253         (WebCore::RenderTable::nodeAtPoint): Ditto.
92254         * rendering/RenderTableSection.cpp:
92255         (WebCore::RenderTableSection::nodeAtPoint): Ditto.
92256         * rendering/RenderWidget.cpp:
92257         (WebCore::RenderWidget::nodeAtPoint): Ditto.
92258
92259 2010-07-29  Steve Block  <steveblock@google.com>
92260
92261         Reviewed by Jeremy Orlow.
92262
92263         Add LayoutTestController methods to test DeviceOrientation
92264         https://bugs.webkit.org/show_bug.cgi?id=39589
92265
92266         This patch does not hook up the new LayoutTestController method to WebKit
92267         for any platform. This will be done in later patches.
92268         https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
92269
92270         Test: fast/dom/DeviceOrientation/basic-operation.html
92271
92272         * WebCore/WebCore.exp.in:
92273         * WebCore.xcodeproj/project.pbxproj:
92274         * dom/DeviceOrientationClient.h:
92275         (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
92276         * dom/DeviceOrientationController.cpp:
92277         (WebCore::DeviceOrientationController::DeviceOrientationController):
92278         * dom/DeviceOrientationEvent.cpp:
92279         * platform/mock/DeviceOrientationClientMock.cpp: Added.
92280         (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
92281         (WebCore::DeviceOrientationClientMock::setController):
92282         (WebCore::DeviceOrientationClientMock::startUpdating):
92283         (WebCore::DeviceOrientationClientMock::stopUpdating):
92284         (WebCore::DeviceOrientationClientMock::setOrientation):
92285         (WebCore::DeviceOrientationClientMock::timerFired):
92286         * platform/mock/DeviceOrientationClientMock.h: Added.
92287         (WebCore::DeviceOrientationClientMock::lastOrientation):
92288
92289 2010-07-29  Satish Sampath  <satish@chromium.org>
92290
92291         Reviewed by Steve Block.
92292
92293         Runtime feature switch for speech input.
92294         https://bugs.webkit.org/show_bug.cgi?id=43146
92295
92296         Add a runtime feature switch that decides whether speech input attributes are available or not.
92297         Defaults to true.
92298
92299         * bindings/generic/RuntimeEnabledFeatures.cpp:
92300         * bindings/generic/RuntimeEnabledFeatures.h:
92301         (WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled):
92302         (WebCore::RuntimeEnabledFeatures::speechInputEnabled):
92303         (WebCore::RuntimeEnabledFeatures::speechEnabled):
92304         * html/HTMLInputElement.idl:
92305
92306 2010-07-27  Alexander Pavlov  <apavlov@chromium.org>
92307
92308         Reviewed by Pavel Feldman.
92309
92310         Inspector should display CDATA section data
92311         https://bugs.webkit.org/show_bug.cgi?id=16259
92312
92313         * inspector/InspectorDOMAgent.cpp:
92314         (WebCore::InspectorDOMAgent::buildObjectForNode):
92315         * inspector/front-end/ElementsTreeOutline.js:
92316         ():
92317
92318 2010-07-28  Kavita Kanetkar  <kkanetkar@chromium.org>
92319
92320         Reviewed by Pavel Feldman.
92321
92322         Web Inspector: Enable UI for chromium's appcache inspection.
92323         https://bugs.webkit.org/show_bug.cgi?id=43098
92324
92325         * inspector/front-end/Settings.js: Removed appCacheEnabled.
92326         * inspector/front-end/StoragePanel.js: Removed appCacheEnabled condition.
92327         (WebInspector.StoragePanel):
92328         (WebInspector.StoragePanel.prototype.reset):
92329         (WebInspector.StoragePanel.prototype.addApplicationCache):
92330
92331 2010-07-28  Bryan Gislason  <bgislason@rim.com>
92332
92333         Reviewed by Nate Chapin.
92334
92335         Minor compile errors in loadMediaPlayerProxyPlugin
92336         https://bugs.webkit.org/show_bug.cgi?id=43141
92337
92338         * WebCore/loader/SubframeLoader.cpp:
92339
92340 2010-07-28  Dominic Mazzoni  <dmazzoni@google.com>
92341
92342         Reviewed by Dimitri Glazkov.
92343
92344         Add a missing dependency.
92345         https://bugs.webkit.org/show_bug.cgi?id=43044
92346
92347         * css/CSSPrimitiveValueMappings.h:
92348
92349 2010-07-28  Alex Nicolaou  <anicolao@chromium.org>
92350
92351         Reviewed by Ojan Vafai.
92352
92353         Set incorrect but close expectations for mask-colorspace.svg on mac
92354         https://bugs.webkit.org/show_bug.cgi?id=43102
92355
92356         Blocks:
92357           [chromium] r63450 caused some svg mask tests to fail pixel tests
92358           https://bugs.webkit.org/show_bug.cgi?id=42403
92359
92360         ImageBufferCG.cpp uses CoreGraphics to do the transform of SVG masks
92361         into LinearRGB, but only for MAC which means not for CHROMIUM, so I
92362         have changed the #if to account for both platforms. I am assuming this
92363         isn't in for windows because it's missing in CG itself, but I didn't
92364         verify that.
92365
92366         * platform/graphics/cg/ImageBufferCG.cpp:
92367         (WebCore::ImageBuffer::ImageBuffer):
92368
92369 2010-07-28  Kent Tamura  <tkent@chromium.org>
92370
92371         Reviewed by Darin Fisher.
92372
92373         [Chromium] Improve read-only arrow button appearance
92374         https://bugs.webkit.org/show_bug.cgi?id=43108
92375
92376         No new tests. This is a fix for fast/forms/
92377         input-appearance-spinbutton-disabled-readonly.html
92378
92379         * platform/chromium/PlatformThemeChromiumGtk.cpp:
92380         (WebCore::PlatformThemeChromiumGtk::paintArrowButton):
92381         If the button has ReadOnlyState, paint the button as same as it is disabled.
92382
92383 2010-07-28  Tony Chang  <tony@chromium.org>
92384
92385         Reviewed by Ojan Vafai.
92386
92387         implement getData('text/html') for webkit win
92388         https://bugs.webkit.org/show_bug.cgi?id=37981
92389
92390         * platform/win/ClipboardUtilitiesWin.cpp:
92391         (WebCore::extractMarkupFromCFHTML):
92392         (WebCore::getCFHTML):
92393         (WebCore::fragmentFromCFHTML):
92394         (WebCore::fragmentFromHTML):
92395         * platform/win/ClipboardUtilitiesWin.h:
92396         * platform/win/ClipboardWin.cpp:
92397         (WebCore::):
92398         (WebCore::clipboardTypeFromMIMEType):
92399         (WebCore::ClipboardWin::getData):
92400
92401 2010-07-28  Adam Barth  <abarth@webkit.org>
92402
92403         Reviewed by Eric Seidel.
92404
92405         Update numbered header element closing to match recent spec change
92406         https://bugs.webkit.org/show_bug.cgi?id=43072
92407
92408         Pretty straightforward transcription of the spec change.
92409
92410         * html/HTMLElementStack.cpp:
92411         (WebCore::HTMLNames::isNumberedHeaderElement):
92412         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
92413         (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
92414         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
92415         * html/HTMLElementStack.h:
92416         * html/HTMLTreeBuilder.cpp:
92417         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
92418         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
92419
92420 2010-07-28  Anders Carlsson  <andersca@apple.com>
92421
92422         Reviewed by Sam Weinig.
92423
92424         Add support for calling NPObject methods
92425         https://bugs.webkit.org/show_bug.cgi?id=43145
92426
92427         * WebCore.exp.in:
92428         Export JSHTMLElement::s_info and pluginScriptObject.
92429
92430         * WebCore.xcodeproj/project.pbxproj:
92431         Make JSHTMLElement.h and JSPluginElementFunctions.h private headers.
92432
92433         * bindings/js/JSPluginElementFunctions.cpp:
92434         (WebCore::pluginScriptObject):
92435         * bindings/js/JSPluginElementFunctions.h:
92436         Make pluginScriptObject a public function.
92437
92438 2010-07-28  James Robinson  <jamesr@chromium.org>
92439
92440         Reviewed by Darin Fisher.
92441
92442         [chromium] Add a bool to Settings to control accelerated 2d canvas
92443         https://bugs.webkit.org/show_bug.cgi?id=43094
92444
92445         Currently this doesn't control anything, but it will soon.
92446
92447         * page/Settings.cpp:
92448         (WebCore::Settings::Settings):
92449         (WebCore::Settings::setAccelerated2dCanvasEnabled):
92450         * page/Settings.h:
92451         (WebCore::Settings::accelerated2dCanvasEnabled):
92452
92453 2010-07-28  Robin Dunn  <robin@alldunn.com>
92454
92455         Reviewed by Kevin Ollivier.
92456
92457         Add DOM bindings support for wx port.
92458
92459         * DerivedSources.make:
92460         * bindings/scripts/CodeGeneratorCPP.pm:
92461         * platform/graphics/wx/FontPlatformDataWx.cpp:
92462         (WebCore::FontPlatformData::FontPlatformData):
92463         * platform/wx/MouseEventWx.cpp:
92464         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
92465         * wscript:
92466
92467 2010-07-28  Stephen White  <senorblanco@chromium.org>
92468
92469         Reviewed by Darin Fisher.
92470
92471         Hook the GLES2 rendering path up to GraphicsContextSkia.
92472         https://bugs.webkit.org/show_bug.cgi?id=43119
92473         
92474         This connects the state-setting and drawing calls implemented in
92475         so far in GLES2Canvas, and calls PlatformContextSkia's
92476         prepareForSoftwareDraw() for all the non-accelerated paths.
92477
92478         * platform/graphics/skia/GraphicsContextSkia.cpp:
92479         (WebCore::GraphicsContext::addInnerRoundedRectClip):
92480         (WebCore::GraphicsContext::addPath):
92481         (WebCore::GraphicsContext::beginPath):
92482         (WebCore::GraphicsContext::clip):
92483         (WebCore::GraphicsContext::drawConvexPolygon):
92484         (WebCore::GraphicsContext::drawEllipse):
92485         (WebCore::GraphicsContext::drawFocusRing):
92486         (WebCore::GraphicsContext::drawLine):
92487         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
92488         (WebCore::GraphicsContext::drawLineForText):
92489         (WebCore::GraphicsContext::drawRect):
92490         (WebCore::GraphicsContext::fillPath):
92491         (WebCore::GraphicsContext::fillRoundedRect):
92492         (WebCore::GraphicsContext::strokeArc):
92493         (WebCore::GraphicsContext::strokePath):
92494         (WebCore::GraphicsContext::strokeRect):
92495         These calls are software-only; call preSoftwareDraw() for these.
92496         (WebCore::GraphicsContext::savePlatformState):
92497         (WebCore::GraphicsContext::restorePlatformState):
92498         (WebCore::GraphicsContext::setAlpha):
92499         (WebCore::GraphicsContext::setCompositeOperation):
92500         (WebCore::GraphicsContext::setPlatformFillColor):
92501         (WebCore::GraphicsContext::scale):
92502         (WebCore::GraphicsContext::rotate):
92503         (WebCore::GraphicsContext::translate):
92504         (WebCore::GraphicsContext::concatCTM):
92505         These ones set state on both Skia and GLES2Canvas.
92506         (WebCore::GraphicsContext::clearRect):
92507         (WebCore::GraphicsContext::fillRect):
92508         These ones have a GLES2 implementation; call through to it if PlatformContextSkia's useGPU() flag is set and the state permits.
92509         * platform/graphics/skia/PlatformContextSkia.cpp:
92510         (PlatformContextSkia::prepareForSoftwareDraw):
92511         (PlatformContextSkia::prepareForHardwareDraw):
92512         Rename preXXXDraw() -> prepareForXXXDraw().
92513         * platform/graphics/skia/PlatformContextSkia.h:
92514         (PlatformContextSkia::prepareForSoftwareDraw):
92515         (PlatformContextSkia::prepareForHardwareDraw):
92516         Rename preXXXDraw() -> prepareForXXXDraw().
92517
92518 2010-07-28  fsamuel@chromium.org  <fsamuel@chromium.org>
92519
92520         Reviewed by David Hyatt.
92521
92522         REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
92523         https://bugs.webkit.org/show_bug.cgi?id=42993
92524
92525         Fixed bug introduced by patch for bug 40775.
92526
92527         The new table rendering code did not take into account table layouts starting
92528         during a partial construction of the table render tree. As such,
92529         multiple layouts on the same table resulted in more columns being generated.
92530         This patch solves this issue.
92531
92532         * rendering/AutoTableLayout.cpp:
92533         (WebCore::AutoTableLayout::recalcColumn):
92534         * rendering/RenderTable.cpp:
92535         (WebCore::RenderTable::cellAbove):
92536         (WebCore::RenderTable::cellBelow):
92537         (WebCore::RenderTable::cellBefore):
92538         * rendering/RenderTableSection.cpp:
92539         (WebCore::RenderTableSection::ensureRows):
92540         (WebCore::RenderTableSection::addCell):
92541         (WebCore::RenderTableSection::setCellWidths):
92542         (WebCore::RenderTableSection::calcRowHeight):
92543         (WebCore::RenderTableSection::layoutRows):
92544         (WebCore::RenderTableSection::paintObject):
92545         (WebCore::RenderTableSection::appendColumn):
92546         (WebCore::RenderTableSection::splitColumn):
92547         * rendering/RenderTableSection.h:
92548         (WebCore::RenderTableSection::CellStruct::CellStruct):
92549
92550 2010-07-28  Tony Gentilcore  <tonyg@chromium.org>
92551
92552         Reviewed by Pavel Feldman.
92553
92554         Exclude DNS and SSL time from connect time
92555         https://bugs.webkit.org/show_bug.cgi?id=43083
92556
92557         The ResourceLoadTiming API's definition of the connect phase includes
92558         DNS and SSL time. However, the Web Timing spec wants just the TCP time.
92559         So this patch subtracts those phases out.
92560
92561         No new tests because ResourceLoadTiming fields are not populated by
92562         TestShell yet.
92563
92564         * page/Timing.cpp:
92565         (WebCore::Timing::connectStart):
92566         (WebCore::Timing::connectEnd):
92567
92568 2010-07-26  Steve Block  <steveblock@google.com>
92569
92570         Reviewed by Jeremy Orlow.
92571
92572         Page clients should be passed to Page constructor via structure of pointers
92573         https://bugs.webkit.org/show_bug.cgi?id=42834
92574
92575         No new tests, refactoring only.
92576
92577         * WebCore.exp.in:
92578         * page/Page.cpp:
92579         (WebCore::Page::Page):
92580         * page/Page.h:
92581         (WebCore::Page::PageClients::PageClients):
92582         * svg/graphics/SVGImage.cpp:
92583         (WebCore::SVGImage::dataChanged):
92584
92585 2010-07-28  Xianzhu Wang  <phnixwxz@gmail.com>
92586
92587         Reviewed by Dan Bernstein.
92588
92589         Line not wrapped at certain punctuations
92590         https://bugs.webkit.org/show_bug.cgi?id=37698
92591         Added a line breaking table for all printable ASCII chars to replace
92592         the original line breaking table for only '?'.
92593
92594         Test: fast/text/line-breaks-after-closing-punctuations.html
92595
92596         * rendering/break_lines.cpp:
92597         (WebCore::isBreakableSpace):
92598         (WebCore::):
92599         (WebCore::shouldBreakAfter):
92600         (WebCore::needsLineBreakIterator):
92601
92602 2010-07-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
92603
92604         Unreviewed build fix.
92605
92606         Fix EFL build with SHARED_CORE=ON after r64124.
92607
92608         * CMakeLists.txt:
92609
92610 2010-07-28  Jay Civelli  <jcivelli@chromium.org>
92611
92612         Reviewed by Kent Tamura.
92613
92614         [Chromium] The popup now layouts properly its rows by
92615         taking into account the label width.
92616         https://bugs.webkit.org/show_bug.cgi?id=42910
92617
92618         * platform/chromium/PopupMenuChromium.cpp:
92619         (WebCore::PopupListBox::layout):
92620
92621 2010-07-28  Pavel Feldman  <pfeldman@chromium.org>
92622
92623         Not reviewed: chromium tests fix.
92624         Chromium Dev Tools: [REGRESSION] Pause is not working.
92625
92626         https://bugs.webkit.org/show_bug.cgi?id=43118
92627
92628         * inspector/front-end/InspectorBackendStub.js:
92629
92630 2010-07-28  Ilya Tikhonovsky  <loislo@chromium.org>
92631
92632         Reviewed by Pavel Feldman.
92633
92634         WebInspector: Navigating to anchor prior to opening WebInspector
92635         makes resource have 'other' type.
92636         https://bugs.webkit.org/show_bug.cgi?id=43110
92637
92638         * inspector/InspectorResource.cpp:
92639         (WebCore::InspectorResource::type):
92640         (WebCore::InspectorResource::resourceData):
92641         * inspector/front-end/ResourceView.js:
92642         (WebInspector.ResourceView.prototype._innerSelectContentTab):
92643
92644 2010-07-28  Andreas Kling  <andreas.kling@nokia.com>
92645
92646         Reviewed by Kenneth Rohde Christiansen.
92647
92648         [Qt] putImageData(): Combine premultiplication and BGR->RGB
92649         https://bugs.webkit.org/show_bug.cgi?id=43114
92650
92651         Further optimized putImageData() by doing BGR->RGB inside the
92652         premultiplication routine.
92653
92654         * platform/graphics/qt/ImageBufferQt.cpp:
92655         (WebCore::premultiplyABGRtoARGB): Renamed from premultiply.
92656         (WebCore::putImageData):
92657
92658 2010-07-28  Andrei Popescu  <andreip@google.com>
92659
92660         Reviewed by Jeremy Orlow.
92661
92662         [IndexedDB] IDBKeyRange should be a runtime-enabled feature.
92663         https://bugs.webkit.org/show_bug.cgi?id=43116
92664
92665         IDBKeyRange should be enabled at runtime only when IndexedDB is also
92666         enabled.
92667
92668         No new tests needed, functionality not changed.
92669
92670         * bindings/generic/RuntimeEnabledFeatures.h:
92671         (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
92672         * page/DOMWindow.idl:
92673
92674 2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>
92675
92676         Not reviewed. Forgot to land GNUmakefile.am changes, broke build in r64196.
92677
92678         * GNUmakefile.am: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
92679
92680 2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>
92681
92682         Reviewed by Dirk Schulze.
92683
92684         SVGMaskElement/SVGForeignObjectElement should not inherit from SVGURIReference
92685         https://bugs.webkit.org/show_bug.cgi?id=43113
92686
92687         Remove wrong SVGURIReference inheritance for SVGMaskElement/SVGForeignObjectElement. Old copy/paste bug.
92688
92689         * svg/SVGForeignObjectElement.cpp:
92690         (WebCore::SVGForeignObjectElement::synchronizeProperty):
92691         * svg/SVGForeignObjectElement.h:
92692         * svg/SVGMaskElement.cpp:
92693         (WebCore::SVGMaskElement::SVGMaskElement):
92694         (WebCore::SVGMaskElement::parseMappedAttribute):
92695         (WebCore::SVGMaskElement::svgAttributeChanged):
92696         (WebCore::SVGMaskElement::synchronizeProperty):
92697         * svg/SVGMaskElement.h:
92698
92699 2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>
92700
92701         Reviewed by Dirk Schulze.
92702
92703         WebKit shouldn't ignore resource cycles, but break them as Opera does
92704         https://bugs.webkit.org/show_bug.cgi?id=43031
92705
92706         Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
92707
92708         We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
92709         node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
92710         to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
92711
92712         Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
92713         Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
92714         from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
92715         which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
92716         objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
92717         phase begins.
92718
92719         This is the first chunk, which just adds the new SVGResources/SVGResourcesCache/SVGResourcesCycleSolver files, and does minor cleanups.
92720         It's not yet glued in and doesn't affect any tests.
92721
92722         * Android.mk: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
92723         * CMakeLists.txt: Ditto.
92724         * WebCore.gypi: Ditto.
92725         * WebCore.pro: Ditto.
92726         * WebCore.vcproj/WebCore.vcproj: Ditto. 
92727         * WebCore.xcodeproj/project.pbxproj: Ditto.
92728         * rendering/RenderInline.h: Make styleDidChange protected, RenderSVGInline wants to override it.
92729         * rendering/RenderSVGAllInOne.cpp: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
92730         * rendering/RenderSVGHiddenContainer.h:
92731         (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): Make isSVGHiddenContainer() private and renderName() public.
92732         * rendering/RenderSVGResourceContainer.cpp: Added. Moved most methods from the header in the implementation file.
92733         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
92734         (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
92735         (WebCore::RenderSVGResourceContainer::idChanged):
92736         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
92737         (WebCore::RenderSVGResourceContainer::containsCyclicReference):
92738         * rendering/RenderSVGResourceContainer.h: Add stubs, that SVGResourcesCache uses - a follow-up patch will add the logic.
92739         (WebCore::RenderSVGResourceContainer::addClient):
92740         (WebCore::RenderSVGResourceContainer::removeClient):
92741         * rendering/SVGResources.cpp: Added. Holds a list of resources applyable to a RenderObject (fill/stroke, mask/markers/clipper/filter)
92742         (WebCore::paintingResourceFromSVGPaint): Helper function looking up a RenderSVGResource for a SVGPaint object.
92743         (WebCore::registerPendingResource): Helper function that register a RenderSVGResource as pending in the SVGDocumentExtensions. 
92744         (WebCore::SVGResources::buildCachedResources): Build a list of resources for a RenderObject/RenderStyle pair, handles pending resources, if needed.
92745         (WebCore::SVGResources::invalidateClient): Helper function that calls invalidateClient() on all resources.
92746         (WebCore::SVGResources::resourceDestroyed): Helper function that calls invalidateClients() on a certain resource, and nulls it.
92747         (WebCore::SVGResources::buildSetOfResources): Helper function that stashes all resources present in the SVGResources members in a HashSet, used in SVGResourcesCycleSolver.
92748         (WebCore::SVGResources::resetClipper): Helper methods nulling a resource.
92749         (WebCore::SVGResources::resetFilter): Ditto.
92750         (WebCore::SVGResources::resetMarkerStart): Ditto.
92751         (WebCore::SVGResources::resetMarkerMid): Ditto.
92752         (WebCore::SVGResources::resetMarkerEnd): Ditto.
92753         (WebCore::SVGResources::resetMasker): Ditto.
92754         (WebCore::SVGResources::resetFill): Ditto.
92755         (WebCore::SVGResources::resetStroke): Ditto.
92756         (WebCore::SVGResources::dump):
92757         * rendering/SVGResources.h: Added.
92758         (WebCore::SVGResources::clipper): Accesor of the cached m_foo variable.
92759         (WebCore::SVGResources::filter): Ditto.
92760         (WebCore::SVGResources::markerStart): Ditto.
92761         (WebCore::SVGResources::markerMid): Ditto.
92762         (WebCore::SVGResources::markerEnd): Ditto.
92763         (WebCore::SVGResources::masker): Ditto.
92764         (WebCore::SVGResources::fill): Ditto.
92765         (WebCore::SVGResources::stroke): Ditto.
92766         * rendering/SVGResourcesCache.cpp: Added. Holds a HashMap<RenderObject*, SVGResources*> and utility functions that update/invalidate the cache.
92767         (WebCore::SVGResourcesCache::SVGResourcesCache):
92768         (WebCore::SVGResourcesCache::~SVGResourcesCache):
92769         (WebCore::SVGResourcesCache::addResourcesFromRenderObject): Build a SVGResources object for a RenderObject and adds it to the cache, then detects & breaks cycles using SVGResourcesCycleSolver.
92770         (WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Remove a SVGResources object from the cache.
92771         (WebCore::resourcesCacheFromRenderObject): Helper function, retrieving a SVGResourcesCache method from a RenderObject.
92772         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Returns a SVGResources object from the cache.
92773         (WebCore::SVGResourcesCache::clientLayoutChanged): (static) Calls invalidateClient() on all resources that are used by the passed RenderObject.
92774         (WebCore::SVGResourcesCache::clientStyleChanged): (static) Updates the cache (calling removeResourceFromRenderObject/addResourcesFrom...) and invalidates resources in the ancestor chain.
92775         (WebCore::SVGResourcesCache::clientUpdatedFromElement): (static) Does the same, without invalidating the ancestor chain.
92776         (WebCore::SVGResourcesCache::clientDestroyed): (static) Calls removeResourcesFromRenderObject() on the SVGResourcesCache, for the given renderer.
92777         (WebCore::SVGResourcesCache::resourceDestroyed): (static) Updates all SVGResources objects in the cache, that refer to the given resource.
92778         * rendering/SVGResourcesCache.h: Added.
92779         * rendering/SVGResourcesCycleSolver.cpp: Added. Detects and breaks cyclic references, just the way Opera handles it. Break cycles as they are detected.
92780         (WebCore::SVGResourcesCycleSolver::SVGResourcesCycleSolver):
92781         (WebCore::SVGResourcesCycleSolver::~SVGResourcesCycleSolver):
92782         (WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Operates only on the render tree
92783         (WebCore::targetReferenceFromResource): Helper method for chainableResourceContainsCycles().
92784         (WebCore::setFollowLinkForChainableResource): Ditto.
92785         (WebCore::SVGResourcesCycleSolver::chainableResourceContainsCycles): Handles cycles for resources that are chainable through xlink:href (filter/gradient/pattern).
92786         (WebCore::SVGResourcesCycleSolver::resolveCycles): Main method executing the cycle breaking logic, utilizing (chainableResource)resourceContainsCycles.
92787         (WebCore::SVGResourcesCycleSolver::breakCycle): Nulls a resource in the given SVGResources* object, to avoid using an invalid resource while rendering/layouting.
92788         * rendering/SVGResourcesCycleSolver.h: Added.
92789         * svg/SVGDocumentExtensions.cpp:
92790         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Create SVGResourcesCache object once per SVGDocumentExtensions.
92791         * svg/SVGDocumentExtensions.h:
92792         (WebCore::SVGDocumentExtensions::resourcesCache): Expose accesor method for the SVGResourcesCache.
92793
92794 2010-07-28  Zoltan Herczeg  <zherczeg@webkit.org>
92795
92796         Reviewed by Nikolas Zimmermann.
92797
92798         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
92799         https://bugs.webkit.org/show_bug.cgi?id=42244
92800
92801         Implementing svgAttributeChanged for SVGFEOffsetElement object.
92802
92803         Tests: svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html
92804                svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html
92805                svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html
92806                svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html
92807                svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html
92808                svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html
92809
92810         * svg/SVGFEOffsetElement.cpp:
92811         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
92812         * svg/SVGFEOffsetElement.h:
92813
92814 2010-07-28  Zoltan Herczeg  <zherczeg@webkit.org>
92815
92816         Reviewed by Nikolas Zimmermann.
92817
92818         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
92819         https://bugs.webkit.org/show_bug.cgi?id=42244
92820
92821         Implementing svgAttributeChanged for SVGFEDiffuseLightingElement object.
92822
92823         Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
92824                svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
92825                svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
92826                svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
92827                svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
92828                svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
92829                svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
92830                svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html
92831
92832         * svg/SVGFEDiffuseLightingElement.cpp:
92833         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
92834         * svg/SVGFEDiffuseLightingElement.h:
92835
92836 2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>
92837
92838         Reviewed by Ojan Vafai.
92839
92840         Add FILE_SYSTEM build flag for FileSystem API
92841         https://bugs.webkit.org/show_bug.cgi?id=42915
92842
92843         * Configurations/FeatureDefines.xcconfig:
92844         * GNUmakefile.am:
92845         * WebCore.pri:
92846
92847 2010-07-26  Yuzo Fujishima  <yuzo@google.com>
92848
92849         Reviewed by Shinichiro Hamaji.
92850
92851         @page rules in media queries should be tested.
92852         https://bugs.webkit.org/show_bug.cgi?id=42971
92853
92854         * page/PrintContext.cpp:
92855         (WebCore::PrintContext::pageProperty): Fixed to properly begin
92856         printing. Added support for size property.
92857
92858 2010-07-27  James Hawkins  <jhawkins@chromium.org>
92859
92860         Reviewed by Darin Fisher.
92861
92862         Add itemIcon() method to the PopupMenuClient, used by Chrome AutoFill
92863         to display right-aligned credit card icons in the suggestions popup.
92864         https://bugs.webkit.org/show_bug.cgi?id=43076
92865
92866         No new tests as this is only used by the Chromium WebKit API.
92867
92868         * platform/PopupMenuClient.h:
92869         * platform/chromium/PopupMenuChromium.cpp:
92870         (WebCore::PopupListBox::paintRow):
92871         * rendering/RenderMenuList.cpp:
92872         (WebCore::RenderMenuList::itemIcon):
92873         * rendering/RenderMenuList.h:
92874         * rendering/RenderTextControlSingleLine.cpp:
92875         (WebCore::RenderTextControlSingleLine::itemIcon):
92876         * rendering/RenderTextControlSingleLine.h:
92877
92878 2010-07-27  Andreas Kling  <andreas.kling@nokia.com>
92879
92880         Reviewed by Kenneth Rohde Christiansen.
92881
92882         [Qt] putImageData(): Fast premultiply() if alpha == 255
92883
92884         * platform/graphics/qt/ImageBufferQt.cpp:
92885         (WebCore::premultiply): Do nothing for opaque pixels.
92886
92887 2010-07-27  Jian Li  <jianli@chromium.org>
92888
92889         Reviewed by David Levin.
92890
92891         Enhance FileThreadTask to support return type.
92892         https://bugs.webkit.org/show_bug.cgi?id=43078
92893
92894         This is needed to support synchronous calls of FileStream methods in
92895         addition to asynchronous calls via FileThreadTask.
92896
92897         * html/FileThreadTask.h:
92898         (WebCore::createFileThreadTask):
92899
92900 2010-07-27  James Robinson  <jamesr@chromium.org>
92901
92902         Reviewed by Darin Fisher.
92903
92904         [chromium] Let PlatformContextSkia draw to a GLES2Canvas in addition to an SkCanvas
92905         https://bugs.webkit.org/show_bug.cgi?id=43070
92906
92907         This adds a GLES2Canvas as drawing surface to PlatformContextSkia and lets callers
92908         issue draw commands to either.  The PlatformContextSkia keeps track of where
92909         rendering results are being accumulated and can blend the hardware and software
92910         backing stores into each other when necessary.
92911
92912         Still just plumbing, no functionality change.
92913
92914         * platform/graphics/chromium/GLES2Canvas.cpp:
92915         (WebCore::GLES2Canvas::GLES2Canvas):
92916         * platform/graphics/chromium/GLES2Canvas.h:
92917         * platform/graphics/skia/PlatformContextSkia.cpp:
92918         (PlatformContextSkia::PlatformContextSkia):
92919         (PlatformContextSkia::setGLES2Context):
92920         (PlatformContextSkia::preSoftwareDraw):
92921         (PlatformContextSkia::preHardwareDraw):
92922         (PlatformContextSkia::forceToSoftware):
92923         (PlatformContextSkia::uploadSoftwareToHardware):
92924         (PlatformContextSkia::readbackHardwareToSoftware):
92925         * platform/graphics/skia/PlatformContextSkia.h:
92926         (PlatformContextSkia::useGPU):
92927         (PlatformContextSkia::gpuCanvas):
92928         (PlatformContextSkia::preSoftwareDraw):
92929         (PlatformContextSkia::preHardwareDraw):
92930         (PlatformContextSkia::forceToSoftware):
92931         (PlatformContextSkia::):
92932
92933 2010-07-27  Simon Fraser  <simon.fraser@apple.com>
92934
92935         Reviewed by Darin Adler.
92936
92937         Incomplete repaint of some Safari extension content which falls into a composited iframe
92938         <rdar://problem/8235044>
92939         
92940         syncCompositingStateRecursive() bails if it thinks that a layout is pending, because
92941         the layout may update layers and make this sync obsolete. However, it only checked for an
92942         active layout timer. This ignores other sources of pending style changes and layouts, like
92943         the document's style recalc timer. So use needsLayout(), which does check this.
92944
92945         Unable to create a test because it depends on Safari extension behavior.
92946
92947         * page/FrameView.cpp:
92948         (WebCore::FrameView::syncCompositingStateRecursive):
92949
92950 2010-07-27  Andreas Kling  <andreas.kling@nokia.com>
92951
92952         Reviewed by Kenneth Rohde Christiansen.
92953
92954         [Qt] putImageData() optimizations
92955         https://bugs.webkit.org/show_bug.cgi?id=43059
92956
92957         - Single-pass premultiplication and BGR->RGB conversion
92958         - Use ARGB32PM for the temporary image so Qt calls the
92959           fast Source composition function
92960
92961         * platform/graphics/qt/ImageBufferQt.cpp:
92962         (WebCore::premultiply): Added (static inline)
92963         (WebCore::putImageData):
92964
92965 2010-07-27  Anders Carlsson  <andersca@apple.com>
92966
92967         Reviewed by Sam Weinig.
92968
92969         Expose interface for returning the plug-in script JSObject
92970         https://bugs.webkit.org/show_bug.cgi?id=43074
92971
92972         PluginViewBase::scriptObject should be a virtual function.
92973
92974         * plugins/PluginViewBase.h:
92975         (WebCore::PluginViewBase::scriptObject):
92976
92977 2010-07-27  Jian Li  <jianli@chromium.org>
92978
92979         Reviewed by David Levin.
92980
92981         Add ScriptExecutionContext argument to File/Blob constructors.
92982         https://bugs.webkit.org/show_bug.cgi?id=40587
92983
92984         Remove DragData::createClipboard and add Clipboard::create for it to be
92985         called directly in DragController. This is because we need to pass
92986         Frame pointer to Clipboard class and use it to get ScriptExecutionContext
92987         in order to construct File objects in Clipboard::files().
92988
92989         * bindings/js/SerializedScriptValue.cpp:
92990         (WebCore::DeserializingTreeWalker::convertIfTerminal):
92991         * bindings/v8/SerializedScriptValue.cpp:
92992         (WebCore::ZigZag::Reader::readBlob):
92993         (WebCore::ZigZag::Reader::readFile):
92994         (WebCore::ZigZag::Reader::readFileList):
92995         * dom/Clipboard.h:
92996         * editing/Editor.cpp:
92997         (WebCore::Editor::dispatchCPPEvent):
92998         * editing/Editor.h:
92999         * editing/android/EditorAndroid.cpp:
93000         (WebCore::Editor::newGeneralClipboard):
93001         * editing/brew/EditorBrew.cpp:
93002         (WebCore::Editor::newGeneralClipboard):
93003         * editing/chromium/EditorChromium.cpp:
93004         (WebCore::Editor::newGeneralClipboard):
93005         * editing/haiku/EditorHaiku.cpp:
93006         (WebCore::Editor::newGeneralClipboard):
93007         * editing/mac/EditorMac.mm:
93008         (WebCore::Editor::newGeneralClipboard):
93009         * editing/qt/EditorQt.cpp:
93010         (WebCore::Editor::newGeneralClipboard):
93011         * editing/wx/EditorWx.cpp:
93012         (WebCore::Editor::newGeneralClipboard):
93013         * html/Blob.cpp:
93014         (WebCore::Blob::Blob):
93015         (WebCore::Blob::slice):
93016         * html/Blob.h:
93017         (WebCore::Blob::create):
93018         * html/Blob.idl:
93019         * html/BlobBuilder.cpp:
93020         (WebCore::BlobBuilder::getBlob):
93021         * html/BlobBuilder.h:
93022         * html/BlobBuilder.idl:
93023         * html/File.cpp:
93024         (WebCore::File::File):
93025         * html/File.h:
93026         (WebCore::File::create):
93027         * html/HTMLInputElement.cpp:
93028         (WebCore::HTMLInputElement::appendFormData):
93029         (WebCore::HTMLInputElement::setFileListFromRenderer):
93030         * page/DragController.cpp:
93031         (WebCore::DragController::dragExited):
93032         (WebCore::DragController::performDrag):
93033         (WebCore::DragController::tryDHTMLDrag):
93034         * page/chromium/EventHandlerChromium.cpp:
93035         (WebCore::EventHandler::createDraggingClipboard):
93036         * page/gtk/EventHandlerGtk.cpp:
93037         (WebCore::EventHandler::createDraggingClipboard):
93038         * page/win/EventHandlerWin.cpp:
93039         (WebCore::EventHandler::createDraggingClipboard):
93040         * platform/DragData.h:
93041         * platform/android/ClipboardAndroid.cpp:
93042         (WebCore::Clipboard::create):
93043         * platform/android/DragDataAndroid.cpp:
93044         * platform/brew/ClipboardBrew.cpp:
93045         (WebCore::Clipboard::create):
93046         * platform/brew/DragDataBrew.cpp:
93047         * platform/chromium/ClipboardChromium.cpp:
93048         (WebCore::Clipboard::create):
93049         (WebCore::ClipboardChromium::ClipboardChromium):
93050         (WebCore::ClipboardChromium::create):
93051         (WebCore::ClipboardChromium::files):
93052         * platform/chromium/ClipboardChromium.h:
93053         * platform/chromium/DragDataChromium.cpp:
93054         * platform/efl/ClipboardEfl.cpp:
93055         (WebCore::Editor::newGeneralClipboard):
93056         (WebCore::Clipboard::create):
93057         * platform/efl/DragDataEfl.cpp:
93058         * platform/gtk/ClipboardGtk.cpp:
93059         (WebCore::Editor::newGeneralClipboard):
93060         (WebCore::Clipboard::create):
93061         (WebCore::ClipboardGtk::ClipboardGtk):
93062         (WebCore::ClipboardGtk::files):
93063         * platform/gtk/ClipboardGtk.h:
93064         (WebCore::ClipboardGtk::create):
93065         * platform/gtk/DragDataGtk.cpp:
93066         * platform/haiku/ClipboardHaiku.cpp:
93067         (WebCore::Clipboard::create):
93068         * platform/haiku/DragDataHaiku.cpp:
93069         * platform/mac/ClipboardMac.mm:
93070         (WebCore::Clipboard::create):
93071         (WebCore::ClipboardMac::files):
93072         * platform/mac/DragDataMac.mm:
93073         * platform/qt/ClipboardQt.cpp:
93074         (WebCore::Clipboard::create):
93075         * platform/qt/DragDataQt.cpp:
93076         * platform/win/ClipboardWin.cpp:
93077         (WebCore::Clipboard::create):
93078         (WebCore::ClipboardWin::ClipboardWin):
93079         (WebCore::ClipboardWin::files):
93080         * platform/win/ClipboardWin.h:
93081         (WebCore::ClipboardWin::create):
93082         * platform/win/DragDataWin.cpp:
93083         * platform/win/EditorWin.cpp:
93084         (WebCore::Editor::newGeneralClipboard):
93085         * platform/wince/DragDataWince.cpp:
93086         * platform/wince/EditorWince.cpp:
93087         (WebCore::Editor::newGeneralClipboard):
93088         * platform/wx/ClipboardWx.cpp:
93089         (WebCore::Clipboard::create):
93090         * platform/wx/DragDataWx.cpp:
93091
93092 2010-07-27  Dumitru Daniliuc  <dumi@chromium.org>
93093
93094         Reviewed by David Levin.
93095
93096         Move all WebSQLDatabases-specific code behind #if ENABLE(DATABASE).
93097         https://bugs.webkit.org/show_bug.cgi?id=43035
93098
93099         Make Chromium compile with ENABLE_DATABASE=0. The #ifdefs in
93100         DatabaseAuthorizer and ChromiumBridge are removed, because they're
93101         used by non-HTML5 DBs too (the classes in WebCore/platform/sql/),
93102         which are used by other features too. So they need to be compiled
93103         in even if HTML5 DBs are disabled.
93104
93105         * bindings/v8/custom/V8DOMWindowCustom.cpp:
93106         * page/DOMWindow.idl:
93107         * platform/chromium/ChromiumBridge.h:
93108         * storage/DatabaseAuthorizer.cpp:
93109         * storage/chromium/DatabaseObserver.h:
93110         * storage/chromium/DatabaseTrackerChromium.cpp:
93111         * storage/chromium/QuotaTracker.cpp:
93112         * storage/chromium/QuotaTracker.h:
93113         * storage/chromium/SQLTransactionClientChromium.cpp:
93114
93115 2010-07-27  Chris Fleizach  <cfleizach@apple.com>
93116
93117         Reviewed by David Kilzer.
93118
93119         AX: Misspellings not shown in AXAttributedStringForTextMarkerRange when selection is on word
93120         https://bugs.webkit.org/show_bug.cgi?id=41817
93121
93122         Change how misspelled words are identified for accessibility. No longer rely on the 
93123         cached markers in Document. Calculate on the fly, which is more accurate in a variety of 
93124         circumstances (like when selection has not moved across words, of if the cursor is in the middle
93125         of a misspelled word). 
93126
93127         Test: platform/mac/accessibility/attributed-string-includes-misspelled-with-selection.html
93128
93129         * accessibility/mac/AccessibilityObjectWrapper.mm:
93130         (AXAttributeStringSetSpelling):
93131         (AXAttributedStringAppendText):
93132         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
93133
93134 2010-07-27  Gavin Barraclough  <barraclough@apple.com>
93135
93136         Reviewed by Oliver Hunt.
93137
93138         Bug 42621 - Add a bump allocator for the YARR interpreter
93139
93140         The regex engine requires lifo allocation, however currently uses the general purpose
93141         malloc/free memory allocation.  A simple bump pointer allocator should provide a lower
93142         overhead allocation solution.
93143
93144         * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
93145
93146 2010-07-27  Pavel Feldman  <pfeldman@chromium.org>
93147
93148         Reviewed by Joseph Pecoraro.
93149
93150         Web Inspector: render network timing as gant chart in popover.
93151
93152         https://bugs.webkit.org/show_bug.cgi?id=43051
93153
93154         * inspector/InspectorResource.cpp:
93155         (WebCore::InspectorResource::buildObjectForTiming):
93156         * inspector/front-end/ResourcesPanel.js:
93157         (WebInspector.ResourcesPanel.prototype._showPopover):
93158         * inspector/front-end/inspector.css:
93159         (.resource-timing-row):
93160         (.resource-timing-bar):
93161         (.resource-timing-bar-title):
93162         * inspector/front-end/utilities.js:
93163
93164 2010-07-27  Victor Wang  <victorw@chromium.org>
93165
93166         Unreviewed, rolling out r64104.
93167         http://trac.webkit.org/changeset/64104
93168         https://bugs.webkit.org/show_bug.cgi?id=40768
93169
93170         The patch causes chromium webkit socket laytest crashes on
93171         windows randomly
93172
93173         * inspector/InspectorController.cpp:
93174         (WebCore::InspectorController::addResource):
93175         (WebCore::InspectorController::removeResource):
93176         * inspector/InspectorController.h:
93177         * inspector/InspectorResource.cpp:
93178         (WebCore::InspectorResource::InspectorResource):
93179         (WebCore::InspectorResource::updateScriptObject):
93180         (WebCore::InspectorResource::cachedResource):
93181         (WebCore::InspectorResource::type):
93182         (WebCore::InspectorResource::resourceData):
93183         * inspector/InspectorResource.h:
93184         (WebCore::InspectorResource::):
93185         (WebCore::InspectorResource::create):
93186         * inspector/front-end/Resource.js:
93187         (WebInspector.Resource.Type.toString):
93188         (WebInspector.Resource.prototype.set type):
93189         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
93190         * inspector/front-end/ResourceView.js:
93191         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
93192         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
93193         (WebInspector.ResourceView.prototype._refreshHeaders):
93194         * inspector/front-end/inspector.css:
93195         (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
93196         * inspector/front-end/inspector.js:
93197         (WebInspector.loaded):
93198         (WebInspector.updateResource):
93199         * websockets/WebSocketChannel.cpp:
93200         (WebCore::WebSocketChannel::WebSocketChannel):
93201         (WebCore::WebSocketChannel::disconnect):
93202         (WebCore::WebSocketChannel::didOpen):
93203         (WebCore::WebSocketChannel::didClose):
93204         (WebCore::WebSocketChannel::processBuffer):
93205         * websockets/WebSocketChannel.h:
93206
93207 2010-07-27  Andrei Popescu  <andreip@google.com>
93208
93209         Reviewed by Jeremy Orlow.
93210
93211         [IndexedDB] Key range methods belong to the IDBKeyRange interface
93212         https://bugs.webkit.org/show_bug.cgi?id=43052
93213
93214         Move the key range methods from the IndexedDatabaseRequest interface
93215         to the IDBKeyRange interface. Also add a global IDBKeyRange object
93216         that can be used to access the IDBKeyRange constants and factory methods. 
93217
93218         * page/DOMWindow.cpp:
93219         (WebCore::DOMWindow::clear):
93220         (WebCore::DOMWindow::iDBKeyRange):
93221         * page/DOMWindow.h:
93222         * page/DOMWindow.idl:
93223         * storage/IDBKeyRange.cpp:
93224         (WebCore::IDBKeyRange::only):
93225         (WebCore::IDBKeyRange::leftBound):
93226         (WebCore::IDBKeyRange::rightBound):
93227         (WebCore::IDBKeyRange::bound):
93228         * storage/IDBKeyRange.h:
93229         * storage/IDBKeyRange.idl:
93230         * storage/IndexedDatabaseRequest.cpp:
93231         * storage/IndexedDatabaseRequest.h:
93232         * storage/IndexedDatabaseRequest.idl:
93233
93234 2010-07-27  Chris Fleizach  <cfleizach@apple.com>
93235
93236         Reviewed by Darin Adler.
93237
93238         AX: consolidate parentObjectIfExists() and parentObject() code
93239         https://bugs.webkit.org/show_bug.cgi?id=42981
93240
93241         Consolidate duplicate code in parentObject and parentObjectIfExists
93242
93243         No tests. No functionality changed.
93244
93245         * accessibility/AccessibilityRenderObject.cpp:
93246         (WebCore::AccessibilityRenderObject::renderParentObject):
93247         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
93248         (WebCore::AccessibilityRenderObject::parentObject):
93249         * accessibility/AccessibilityRenderObject.h:
93250
93251 2010-07-27  Chris Fleizach  <cfleizach@apple.com>
93252
93253         Reviewed by Adam Barth.
93254
93255         AX: replace m_renderer->document->axObjectCache() with just axObjectCache()
93256         https://bugs.webkit.org/show_bug.cgi?id=42979
93257
93258         No new tests. Code cleanup only.
93259
93260         * accessibility/AccessibilityRenderObject.cpp:
93261         (WebCore::AccessibilityRenderObject::firstChild):
93262         (WebCore::AccessibilityRenderObject::lastChild):
93263         (WebCore::AccessibilityRenderObject::previousSibling):
93264         (WebCore::AccessibilityRenderObject::nextSibling):
93265         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
93266         (WebCore::AccessibilityRenderObject::parentObject):
93267         (WebCore::AccessibilityRenderObject::menuForMenuButton):
93268         (WebCore::AccessibilityRenderObject::menuButtonForMenu):
93269         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
93270         (WebCore::AccessibilityRenderObject::axObjectCache):
93271         (WebCore::AccessibilityRenderObject::contentChanged):
93272         (WebCore::AccessibilityRenderObject::addChildren):
93273
93274 2010-07-27  Pavel Podivilov  <podivilov@chromium.org>
93275
93276         Reviewed by Pavel Feldman.
93277
93278         Web Inspector: do not activate all breakpoints on page reload
93279         https://bugs.webkit.org/show_bug.cgi?id=41461
93280
93281         Test: inspector/debugger-breakpoints-not-activated-on-reload.html
93282
93283         * inspector/front-end/ScriptView.js:
93284         (WebInspector.ScriptView.prototype._addBreakpoint):
93285         * inspector/front-end/ScriptsPanel.js:
93286         (WebInspector.ScriptsPanel):
93287         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
93288         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
93289         * inspector/front-end/SourceView.js:
93290         (WebInspector.SourceView.prototype._addBreakpoint):
93291
93292 2010-07-27  Pranav Kedia  <pranavk@chromium.org>
93293
93294         Reviewed by Adam Barth.
93295
93296         Chrome browser Bug: Pause button stays when <audio> hits end
93297         https://bugs.webkit.org/show_bug.cgi?id=42677
93298
93299         The change is just in chromium media. Tested using media part of
93300         WebKit layout tests. The following test that was failing is passing.
93301         media/video-duration-known-after-eos.html -> unexpected pass
93302
93303         * rendering/RenderMediaControlsChromium.cpp:
93304         (WebCore::paintMediaPlayButton):
93305         Using mediaElement->canPlay() instead of mediaElement->paused() to
93306         paint the play/pause button.
93307
93308 2010-07-27  Steve Block  <steveblock@google.com>
93309
93310         Reviewed by Jeremy Orlow.
93311
93312         Client-based Geolocation does not pass enableHighAccuracy option to controller and client
93313         https://bugs.webkit.org/show_bug.cgi?id=40374
93314
93315         This change passes the enableHighAccuracy request option to the GeolocationController.
93316         The GeolocationController tracks whether this should be used by the client.
93317
93318         No new tests possible as the mock provider doesn't support this feature.
93319
93320         * page/Geolocation.cpp:
93321         (WebCore::Geolocation::setIsAllowed):
93322         (WebCore::Geolocation::startUpdating):
93323         * page/GeolocationController.cpp:
93324         (WebCore::GeolocationController::addObserver):
93325         (WebCore::GeolocationController::removeObserver):
93326         * page/GeolocationController.h:
93327         * page/GeolocationControllerClient.h:
93328
93329 2010-07-27  Ilya Tikhonovsky  <loislo@chromium.org>
93330
93331         Reviewed by Pavel Feldman.
93332
93333         WebInspector: Current implementation of message based inspector
93334         transport generated by CodeGeneratorInspector should be upstreamed
93335         from WebKit/chromium to WebCore.
93336         https://bugs.webkit.org/show_bug.cgi?id=42983
93337
93338         * Android.derived.v8bindings.mk:
93339         * CMakeLists.txt:
93340         * DerivedSources.cpp:
93341         * DerivedSources.make:
93342         * GNUmakefile.am:
93343         * WebCore.exp.in:
93344         * WebCore.gypi:
93345         * WebCore.pri:
93346         * WebCore.vcproj/WebCore.vcproj:
93347         * WebCore.xcodeproj/project.pbxproj:
93348         * bindings/js/ScriptObject.cpp:
93349         * bindings/js/ScriptObject.h:
93350         * bindings/v8/ScriptObject.cpp:
93351         * bindings/v8/ScriptObject.h:
93352         * inspector/CodeGeneratorInspector.pm:
93353         * inspector/InspectorBackend.idl: Removed.
93354         * inspector/InspectorFrontendClient.h:
93355         * inspector/InspectorFrontendClientLocal.cpp:
93356         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
93357         (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
93358         * inspector/InspectorFrontendClientLocal.h:
93359         * inspector/InspectorFrontendHost.cpp:
93360         (WebCore::InspectorFrontendHost::sendMessageToBackend):
93361         * inspector/InspectorFrontendHost.h:
93362         * inspector/InspectorFrontendHost.idl:
93363         * inspector/front-end/InspectorBackendStub.js:
93364         (.WebInspector.InspectorBackendStub):
93365         (.WebInspector.InspectorBackendStub.prototype._registerDelegate):
93366         (.WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
93367
93368 2010-07-27  Satish Sampath  <satish@chromium.org>
93369
93370         Reviewed by Kent Tamura.
93371
93372         Simplify speech input plumbing in webcore and webkit
93373         https://bugs.webkit.org/show_bug.cgi?id=43008
93374
93375         No new tests as functionality is not changed.
93376
93377         * GNUmakefile.am: Removed a header file.
93378         * WebCore.gypi:
93379         * WebCore.pro:
93380         * WebCore.vcproj/WebCore.vcproj:
93381         * WebCore.xcodeproj/project.pbxproj:
93382         * page/Page.cpp:
93383         (WebCore::Page::speechInput): Creates and returns SpeechInput when needed.
93384         * page/Page.h:
93385         * page/SpeechInput.cpp: Added methods to proxy and callbacks between input elements and WebKit
93386         (WebCore::SpeechInput::SpeechInput):
93387         (WebCore::SpeechInput::didCompleteRecording):
93388         (WebCore::SpeechInput::didCompleteRecognition):
93389         (WebCore::SpeechInput::setRecognitionResult):
93390         (WebCore::SpeechInput::startRecognition):
93391         (WebCore::SpeechInput::stopRecording):
93392         * page/SpeechInput.h:
93393         * page/SpeechInputClient.h:
93394         * page/SpeechInputClientListener.h: Removed.
93395         * page/SpeechInputListener.h:
93396         * rendering/TextControlInnerElements.cpp: Added one more callback.
93397         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
93398         (WebCore::InputFieldSpeechButtonElement::speechInput):
93399         (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
93400         * rendering/TextControlInnerElements.h:
93401
93402 2010-07-27  Kent Tamura  <tkent@chromium.org>
93403
93404         Reviewed by Ojan Vafai.
93405
93406         Add a runtime setting for interactive form validation.
93407         https://bugs.webkit.org/show_bug.cgi?id=40520
93408
93409         The interactive validation feature was disabled for non-strict
93410         modes by r61059 to avoid a compatibility issue. This removes the
93411         mode checking and introduce a runtime setting to enable/disable
93412         the feature instead.
93413         The default value is 'disable' and we'll remove the setting when
93414         the compatibility issue is resolved and interactive validation
93415         implementation is completed.
93416
93417         * html/HTMLFormElement.cpp:
93418         (WebCore::HTMLFormElement::validateInteractively):
93419         * page/Settings.cpp:
93420         (WebCore::Settings::Settings):
93421         * page/Settings.h:
93422         (WebCore::Settings::setInteractiveFormValidationEnabled):
93423         (WebCore::Settings::interactiveFormValidationEnabled):
93424
93425 2010-07-26  Gavin Barraclough  <barraclough@apple.com>
93426
93427         Reviewed by Oliver Hunt.
93428
93429         Bug 43009 - Abstract out page allocation from executable allocators
93430
93431         * ForwardingHeaders/wtf/PageAllocation.h: Added.
93432
93433 2010-07-26  Yuta Kitamura  <yutak@chromium.org>
93434
93435         Reviewed by Pavel Feldman.
93436
93437         Add WebSocket resource type to Web Inspector.
93438
93439         When a new WebSocket connection is established, a line for that connection
93440         will appear in Web Inspector's Resources tab. If the resource name is
93441         clicked, the details of handshake request and response will be shown.
93442
93443         Web Inspector: WebSocket in Resources tab
93444         https://bugs.webkit.org/show_bug.cgi?id=40768
93445
93446         * inspector/InspectorController.cpp:
93447         (WebCore::InspectorController::addResource): WebSocket resource does not
93448         have an associated loader, thus frame might be null. Need to check it.
93449         (WebCore::InspectorController::removeResource): Ditto.
93450         (WebCore::InspectorController::didCreateWebSocket):
93451         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
93452         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
93453         (WebCore::InspectorController::didCloseWebSocket):
93454         * inspector/InspectorController.h:
93455         * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
93456         because WebSocket does not have a loader and we need to allow null for
93457         these variables.
93458         (WebCore::createReadableStringFromBinary):
93459         (WebCore::InspectorResource::InspectorResource):
93460         (WebCore::InspectorResource::create): Factory function of
93461         regular (non-WebSocket) resources.
93462         (WebCore::InspectorResource::createWebSocket): Factory function of
93463         WebSocket resources.
93464         (WebCore::InspectorResource::updateWebSocketRequest):
93465         (WebCore::InspectorResource::updateWebSocketResponse):
93466         (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
93467         available when Frame::setDocument() is called. We cannot obtain documentURL
93468         during the constructor or updateRequest() function, because m_frame->document()
93469         is not available yet at that point and documentURL will contain a wrong URL.
93470         As far as I know, updateScriptObject() is the only place where we can safely
93471         obtain documentURL.
93472         (WebCore::InspectorResource::cachedResource):
93473         (WebCore::InspectorResource::type):
93474         (WebCore::InspectorResource::resourceData):
93475         * inspector/InspectorResource.h:
93476         (WebCore::InspectorResource::):
93477         (WebCore::InspectorResource::markWebSocket):
93478         * inspector/front-end/Resource.js:
93479         (WebInspector.Resource.Type.toString):
93480         (WebInspector.Resource.prototype.set type):
93481         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
93482         * inspector/front-end/ResourceView.js:
93483         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
93484         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
93485         (WebInspector.ResourceView.prototype._refreshHeaders):
93486         * inspector/front-end/inspector.css:
93487         (.resources-category-websockets, .resources-category-other):
93488         (.resources-category-websockets .resources-graph-bar):
93489         (.resources-category-websockets.resource-cached .resources-graph-bar):
93490         * inspector/front-end/inspector.js:
93491         (WebInspector.loaded):
93492         (WebInspector.updateResource):
93493         * websockets/WebSocketChannel.cpp:
93494         (WebCore::WebSocketChannel::WebSocketChannel):
93495         (WebCore::WebSocketChannel::disconnect):
93496         (WebCore::WebSocketChannel::didOpen):
93497         (WebCore::WebSocketChannel::didClose):
93498         (WebCore::WebSocketChannel::processBuffer):
93499         (WebCore::WebSocketChannel::identifier):
93500         * websockets/WebSocketChannel.h:
93501
93502 2010-07-26  Cosmin Truta  <ctruta@chromium.org>
93503
93504         Reviewed by Eric Seidel.
93505
93506         Some SVGs with empty <g> elements crash Chromium on Linux
93507         https://bugs.webkit.org/show_bug.cgi?id=41175
93508
93509         Redo the old fix using a different approach, to avoid regressing
93510         svg/batik/filters/filterRegions.svg with Chromium on Linux.
93511         Specifically, handle empty SkBitmap objects by exiting early upon
93512         encountering unconfigured (i.e. empty) bitmaps.
93513
93514         No new tests. This bug's old test (svg/filters/filter-empty-g.svg)
93515         and the above-mentioned regressed test are expected to pass.
93516
93517         * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
93518         (ImageBuffer::ImageBuffer): Undo the old fix.
93519         (getImageData): The new fix.
93520
93521 2010-07-26  Simon Fraser  <simon.fraser@apple.com>
93522
93523         Reviewed by Dan Bernstein.
93524
93525         Google image search results broken on pages with Flash
93526         https://bugs.webkit.org/show_bug.cgi?id=43014
93527
93528         The test for overflow added in r63452 is wrong in that it ignores the effects
93529         of positioning on overflow.
93530         
93531         The correct approach is to start by using RenderView's layoutOverflowRect as the largest bounds,
93532         then getting the oveflow rect via backgroundClipRect() relative to the root layer.
93533         
93534         Test: compositing/geometry/limit-layer-bounds-overflow-root.html
93535
93536         * rendering/RenderLayerBacking.cpp:
93537         (WebCore::layerOrAncestorIsTransformed):
93538         (WebCore::RenderLayerBacking::updateCompositedBounds):
93539
93540 2010-07-26  Anders Carlsson  <andersca@apple.com>
93541
93542         Reviewed by Sam Weinig.
93543
93544         Plug-in views should be able to return JSObjects directly
93545         https://bugs.webkit.org/show_bug.cgi?id=43019
93546
93547         * bindings/js/JSHTMLAppletElementCustom.cpp:
93548         (WebCore::JSHTMLAppletElement::putDelegate):
93549         (WebCore::JSHTMLAppletElement::getCallData):
93550         * bindings/js/JSHTMLEmbedElementCustom.cpp:
93551         (WebCore::JSHTMLEmbedElement::putDelegate):
93552         (WebCore::JSHTMLEmbedElement::getCallData):
93553         * bindings/js/JSHTMLObjectElementCustom.cpp:
93554         (WebCore::JSHTMLObjectElement::putDelegate):
93555         (WebCore::JSHTMLObjectElement::getCallData):
93556         runtimeObjectCustomPut and runtimeObjectGetCallData now take a JSHTMLElement instead of a HTMLElement.
93557
93558         * bindings/js/JSPluginElementFunctions.cpp:
93559         (WebCore::pluginScriptObject):
93560         First, ask the PluginViewBase for a JSObject and fall back to getting the JSObject from the instance.
93561
93562         (WebCore::runtimeObjectPropertyGetter):
93563         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
93564         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
93565         Call pluginScriptObject.
93566         
93567         (WebCore::runtimeObjectCustomPut):
93568         Change to take a JSHTMLElement. Call pluginScriptObject.
93569         
93570         (WebCore::runtimeObjectGetCallData):
93571         Change to take a JSHTMLElement.
93572
93573         * bridge/jsc/BridgeJSC.cpp:
93574         * bridge/jsc/BridgeJSC.h:
93575         (JSC::Bindings::Instance::createRuntimeObject):
93576         Change this to return a JSObject.
93577         
93578         * html/HTMLPlugInElement.cpp:
93579         (WebCore::HTMLPlugInElement::getInstance):
93580         Call pluginWidget.
93581
93582         (WebCore::HTMLPlugInElement::pluginWidget):
93583         Return the plug-in widget for this element.
93584
93585         * html/HTMLPlugInElement.h:
93586         * plugins/PluginViewBase.h:
93587         (WebCore::PluginViewBase::scriptObject):
93588         Add default implementation of scriptObject.
93589
93590 2010-07-26  Chris Fleizach  <cfleizach@apple.com>
93591
93592         Reviewed by Darin Adler.
93593
93594         AX: Safari does not support ARIA mixed checkboxes
93595         https://bugs.webkit.org/show_bug.cgi?id=43016
93596
93597         Test: platform/mac/accessibility/mixed-checkbox.html
93598
93599         * accessibility/AccessibilityObject.cpp:
93600         (WebCore::AccessibilityObject::checkboxOrRadioValue):
93601         * accessibility/AccessibilityObject.h:
93602         * accessibility/AccessibilityRenderObject.cpp:
93603         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
93604         (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
93605         * accessibility/AccessibilityRenderObject.h:
93606         * accessibility/mac/AccessibilityObjectWrapper.mm:
93607         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
93608
93609 2010-07-26  Shimeng (Simon) Wang  <swang@google.com>
93610
93611         Reviewed by Darin Adler.
93612
93613         Add auto hyphenation support for Android.
93614         https://bugs.webkit.org/show_bug.cgi?id=42800
93615
93616         * platform/text/android/HyphenationAndroid.cpp: Added.
93617         (WebCore::loadHyphenationDictionary):
93618         (WebCore::lastHyphenLocation):
93619
93620 2010-07-26  Sam Weinig  <sam@webkit.org>
93621
93622         Reviewed by Anders Carlsson.
93623
93624         Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
93625         Part of <rdar://problem/8152434>
93626         Add support for scrolling using the keyboard in WebKit2
93627
93628         Add a new export and make WindowsKeyboardCodes private.
93629
93630         * WebCore.exp.in:
93631         * WebCore.xcodeproj/project.pbxproj:
93632
93633 2010-07-26  Darin Adler  <darin@apple.com>
93634
93635         Reviewed by Eric Carlson.
93636
93637         Don't handle empty URL attributes specially in reflection, even in cases such as <img src="">
93638         https://bugs.webkit.org/show_bug.cgi?id=42087
93639
93640         * html/HTMLMediaElement.cpp:
93641         (WebCore::HTMLMediaElement::insertedIntoDocument): Check if the src attribute is empty
93642         by calling getAttribute instead of calling the src function. This keeps the behavior
93643         correct with the reflection change, and has a side benefit of being more efficient as
93644         well since there is no reason to resolve the URL.
93645         (WebCore::HTMLMediaElement::loadResource): Call getNonEmptyURLAttribute directly here
93646         instead of using the poster function.
93647         (WebCore::HTMLMediaElement::getPluginProxyParams): Ditto.
93648
93649         * html/HTMLMediaElement.h: Removed the poster virtual function. The code that gets the
93650         poster attribute is already video-specific and uses generic attribute fetching code, so
93651         we no longer need a virtual function. Removed the src function. Since this would give
93652         a different result from the JavaScript reflected src attribute, it's safer not to have
93653         it, and it was easy to convert all the callers.
93654
93655         * html/HTMLMediaElement.idl: Removed the NonEmpty extended attribute from the src
93656         attribute.
93657
93658         * html/HTMLSourceElement.cpp: Removed the src function for the same reason as above.
93659         * html/HTMLSourceElement.h: Ditto.
93660
93661         * html/HTMLSourceElement.idl: Removed the NonEmpty extended attribute from the src
93662         attribute.
93663
93664         * html/HTMLVideoElement.cpp:
93665         (WebCore::HTMLVideoElement::parseMappedAttribute): Removed code to update m_posterURL,
93666         which is no longer needed. Changed call site that used the poster() function to instead
93667         use getNonEmptyURLAttribute.
93668         (WebCore::HTMLVideoElement::updatePosterImage): Check if the poster attribute is empty
93669         by calling getAttribute instead of calling the poster function. This keeps the behavior
93670         correct with the reflection change, and has a side benefit of being more efficient as
93671         well since there is no reason to resolve the URL.
93672
93673         * html/HTMLVideoElement.h: Removed the poster function for the same reason we removed
93674         the src function above. Also removed now-unneeded m_posterURL data member.
93675
93676         * html/HTMLVideoElement.idl: Removed the NonEmpty extended attribute from the poster
93677         attribute.
93678
93679 2010-07-26  Chris Fleizach  <cfleizach@apple.com>
93680
93681         Reviewed by Darin Adler.
93682
93683         AX: remove intValue() hasIntValue() from AccessibilityObject
93684         https://bugs.webkit.org/show_bug.cgi?id=43006
93685
93686         These methods are very Mac centric. The mac centric code should be moved into the Mac wrapper.
93687
93688         No new tests, existing tests cover changes to logic.
93689
93690         * accessibility/AccessibilityObject.cpp:
93691         (WebCore::AccessibilityObject::checkboxOrRadioValue):
93692         * accessibility/AccessibilityObject.h:
93693         (WebCore::):
93694         * accessibility/AccessibilityRenderObject.cpp:
93695         (WebCore::AccessibilityRenderObject::selectedRadioButton):
93696         (WebCore::AccessibilityRenderObject::selectedTabItem):
93697         (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
93698         * accessibility/AccessibilityRenderObject.h:
93699         * accessibility/mac/AccessibilityObjectWrapper.mm:
93700         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
93701
93702 2010-07-26  Ryosuke Niwa  <rniwa@webkit.org>
93703
93704         Reviewed by Darin Adler.
93705
93706         Applying inline style to a text node whose parent is an inline editable root causes crash
93707         https://bugs.webkit.org/show_bug.cgi?id=39989
93708
93709         The crash was caused by splitTextElementAtStart and splitTextElementAtEnd assuming that the parent
93710         and the grandparent of the specified text node is editable.
93711
93712         Modified splitTextElementAtStart and splitTextElementAtEnd so that they call splitTextAtStart
93713         and splitTextAtEnd respectively when the grandparent is not editable.
93714
93715         Also modified SplitTextNodeContainingElement to exit early if the grandparent of m_text is not editable.
93716
93717         Test: editing/style/style-text-node-without-editable-parent.html
93718
93719         * editing/ApplyStyleCommand.cpp:
93720         (WebCore::ApplyStyleCommand::splitTextElementAtStart):
93721         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
93722         * editing/SplitTextNodeContainingElementCommand.cpp:
93723         (WebCore::SplitTextNodeContainingElementCommand::doApply):
93724
93725 2010-07-26  Simon Fraser  <simon.fraser@apple.com>
93726
93727         Reviewed by Anders Carlsson.
93728
93729         Gmail compose is upside-down after r64054
93730         https://bugs.webkit.org/show_bug.cgi?id=43000
93731         
93732         We need to call setGeometryOrientation() whenever the iframe compositing layer attachment changes,
93733         not just when requiresScrollLayer() returns false. This ensures that the orientation is updated
93734         correctly.
93735
93736         Test: compositing/iframes/iframe-content-flipping.html
93737
93738         * rendering/RenderLayerCompositor.cpp:
93739         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
93740
93741 2010-07-26  Justin Schuh  <jschuh@chromium.org>
93742
93743         Reviewed by Darin Fisher.
93744
93745         Check history state against origin before setting
93746         https://bugs.webkit.org/show_bug.cgi?id=42858
93747
93748         Tests: fast/loader/stateobjects/replacestate-base-illegal.html
93749                fast/loader/stateobjects/replacestate-base-legal.html
93750
93751         * page/History.cpp:
93752         (WebCore::History::urlForState):
93753         (WebCore::History::stateObjectAdded):
93754
93755 2010-07-26  Martin Robinson  <mrobinson@igalia.com>
93756
93757         Reviewed by Xan Lopez.
93758
93759         [GTK] Get rid of libgdom
93760         https://bugs.webkit.org/show_bug.cgi?id=42378
93761
93762         Remove all build steps for building GObject DOM bindings.
93763
93764         * GNUmakefile.am: Remove GObject DOM bindings build.
93765
93766 2010-07-26  Mark Rowe  <mrowe@apple.com>
93767
93768         Reviewed by Dan Bernstein.
93769
93770         <http://webkit.org/b/42990> REGRESSION (r63854): Safari RSS layout is broken due to changes in vendor prefix handling
93771
93772         In r63854 support for properties with the -khtml vendor prefix was removed. This breaks the layout of
93773         Safari's RSS interface, several Dashboard widgets that are included with Mac OS X, and at least one
93774         popular third-party Mac OS X application. This change will need to be revisited in a manner that has
93775         a clearer backwards-compatibility strategy. <http://webkit.org/b/42093> will be reopened to track that.
93776
93777         * css/CSSParser.cpp:
93778         (WebCore::cssPropertyID): Revert the WebCore change from r63854.
93779
93780 2010-07-26  Brady Eidson  <beidson@apple.com>
93781
93782         Reviewed by Sam Weinig.
93783
93784         Add ability for WK2 to register a scheme to always be displayed as an empty document
93785         https://bugs.webkit.org/show_bug.cgi?id=42995
93786
93787         No new tests. (Currently not possible to test in WebKit1 DRT, can be testing in future WK2 tester)
93788
93789         * WebCore.exp.in:
93790         
93791         * loader/MainResourceLoader.cpp:
93792         (WebCore::shouldLoadAsEmptyDocument):
93793         
93794         * platform/SchemeRegistry.cpp:
93795         (WebCore::emptyDocumentSchemes):
93796         (WebCore::SchemeRegistry::registerURLSchemeAsEmptyDocument):
93797         (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
93798         * platform/SchemeRegistry.h:
93799
93800 2010-07-26  Patrick Gansterer  <paroga@paroga.com>
93801
93802         Reviewed by Kent Tamura.
93803
93804         [WINCE] Port ClipboardUtilities to WinCE
93805         https://bugs.webkit.org/show_bug.cgi?id=42929
93806
93807         Make ClipboardUtilitiesWin more portable and remove the global namespace prefix
93808         from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
93809
93810         * platform/win/ClipboardUtilitiesWin.cpp:
93811         (WebCore::urlFromPath):
93812         (WebCore::getWebLocData):
93813         (WebCore::createGlobalData):
93814         (WebCore::getURL):
93815         (WebCore::getPlainText):
93816         (WebCore::fragmentFromHTML):
93817
93818 2010-07-26  Patrick Gansterer  <paroga@paroga.com>
93819
93820         Reviewed by Adam Roben.
93821
93822         [WINCE] Buildfix for BitmapImage.h
93823         https://bugs.webkit.org/show_bug.cgi?id=42931
93824
93825         Use AffineTransform insted of TransformationMatrix.
93826
93827         * platform/graphics/BitmapImage.h:
93828
93829 2010-07-26  Dirk Schulze  <krit@webkit.org>
93830
93831         Unreviewed sort of Xcode project file.
93832
93833         * WebCore.xcodeproj/project.pbxproj:
93834
93835 2010-07-26  David Kilzer  <ddkilzer@apple.com>
93836
93837         <http://webkit.org/b/42982> Streamline Inspector Source build phase script should use CONFIGURATION not BUILD_STYLE
93838         <rdar://problem/6341764>
93839
93840         Reviewed by Mark Rowe.
93841
93842         * WebCore.xcodeproj/project.pbxproj: Switched Streamline
93843         Inspector Source build phase script to use CONFIGURATION instead
93844         of BUILD_STYLE.
93845
93846 2010-07-23  Ojan Vafai  <ojan@chromium.org>
93847
93848         Reviewed by Darin Adler.
93849
93850         crash in insertParagraph in a contentEditable list
93851         https://bugs.webkit.org/show_bug.cgi?id=42919
93852
93853         Don't try to break out of a list item if the list it's in
93854         is the rootEditableElement.
93855
93856         * editing/CompositeEditCommand.cpp:
93857         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
93858
93859 2010-07-26  Marcus Bulach  <bulach@chromium.org>
93860
93861         Reviewed by Jeremy Orlow.
93862
93863         Moves IDBKeyRange to use IDBKey rather than SerializedScriptValue / IDBAny.
93864         https://bugs.webkit.org/show_bug.cgi?id=42583
93865
93866         Tests: existing storage/indexeddb/idb-keyrange.html must pass.
93867
93868         * storage/IDBKeyRange.cpp:
93869         (WebCore::IDBKeyRange::IDBKeyRange):
93870         * storage/IDBKeyRange.h:
93871         (WebCore::IDBKeyRange::create):
93872         (WebCore::IDBKeyRange::left):
93873         (WebCore::IDBKeyRange::right):
93874         * storage/IDBKeyRange.idl:
93875         * storage/IndexedDatabaseRequest.cpp:
93876         (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
93877         (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
93878         (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
93879         (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
93880         * storage/IndexedDatabaseRequest.h:
93881         * storage/IndexedDatabaseRequest.idl:
93882
93883 2010-07-26  Simon Fraser  <simon.fraser@apple.com>
93884
93885         Reviewed by Anders Carlsson.
93886
93887         Composited layers don't scroll in WebKit2
93888         https://bugs.webkit.org/show_bug.cgi?id=42771
93889
93890         Rename two methods on RenderLayerCompositor to make their use more clear, and call them
93891         when the FrameView gets resized and scrolled.
93892
93893         * page/FrameView.h:
93894         * page/FrameView.cpp:
93895         (WebCore::FrameView::setFrameRect): override so we know when the size of the FrameView changes, so that the
93896         RenderLayerCompositor can update its clipping layer.
93897         (WebCore::FrameView::scrollPositionChanged): Call compositor()->frameViewDidScroll().
93898
93899         * rendering/RenderLayerBacking.cpp:
93900         (WebCore::RenderLayerBacking::updateAfterWidgetResize): updateContentLayerOffset() was renamed.
93901
93902         * rendering/RenderLayerCompositor.h:
93903         * rendering/RenderLayerCompositor.cpp:
93904         (WebCore::RenderLayerCompositor::frameViewDidChangeSize): Renamed from updateContentLayerOffset().
93905         (WebCore::RenderLayerCompositor::frameViewDidScroll): Renamed from updateContentLayerScrollPosition().
93906         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Propagate compositing on Mac
93907         for any FrameView that doesn't have a native widget, which is the case with WebKit2.
93908         (WebCore::RenderLayerCompositor::requiresScrollLayer): New method to tell us whether we need to handle
93909         scrolling (and clipping) ourselves.
93910         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Do geometry flipping on the root platform
93911         layer only if we're not doing our own scrolling, and use the new requiresScrollLayer() method.
93912         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Send out the rootPlatformLayer(),
93913         so that it returns the clipping layer if we have one.
93914
93915 2010-07-26  Tony Gentilcore  <tonyg@chromium.org>
93916
93917         Reviewed by Darin Fisher.
93918
93919         Move DocumentLoadTiming struct to a new file
93920         https://bugs.webkit.org/show_bug.cgi?id=42917
93921
93922         Also makes DocumentLoadTiming Noncopyable.
93923
93924         No new tests because no new functionality.
93925
93926         * GNUmakefile.am:
93927         * WebCore.gypi:
93928         * WebCore.vcproj/WebCore.vcproj:
93929         * WebCore.xcodeproj/project.pbxproj:
93930         * loader/DocumentLoadTiming.h: Added.
93931         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
93932         * loader/DocumentLoader.h:
93933         * loader/FrameLoader.cpp:
93934         * loader/FrameLoaderTypes.h:
93935         * loader/MainResourceLoader.cpp:
93936         * page/Timing.cpp:
93937
93938 2010-07-26  Mark Rowe  <mrowe@apple.com>
93939
93940         Fix an #if in WebCore.exp.in to correctly detect whether SVG filters are enabled.
93941
93942         * WebCore.exp.in:
93943
93944 2010-07-26  Steve Block  <steveblock@google.com>
93945
93946         Reviewed by Jeremy Orlow.
93947
93948         DeviceOrientation event listeners should never be called synchronously from addEventListener()
93949         https://bugs.webkit.org/show_bug.cgi?id=42304
93950
93951         No new tests as there are currently no implementations to test. Tests will be
93952         added once LayoutTestController methods for providing a mock implementation are
93953         in place, see Bug 39589.
93954
93955         * dom/DeviceOrientationController.cpp:
93956         (WebCore::DeviceOrientationController::DeviceOrientationController):
93957         (WebCore::DeviceOrientationController::timerFired):
93958         (WebCore::DeviceOrientationController::addListener):
93959         (WebCore::DeviceOrientationController::removeListener):
93960         (WebCore::DeviceOrientationController::removeAllListeners):
93961         * dom/DeviceOrientationController.h:
93962
93963 2010-07-26  Andreas Kling  <andreas.kling@nokia.com>
93964
93965         Reviewed by Tor Arne Vestbø.
93966
93967         [Qt] Canvas: Optimize GraphicsContext::addPath()
93968
93969         Avoid "deep concatenating" the canvas path onto the GC path
93970         if the GC path has no elements.
93971
93972         * platform/graphics/qt/GraphicsContextQt.cpp:
93973         (WebCore::GraphicsContext::addPath):
93974
93975 2010-07-23  Stephen White  <senorblanco@chromium.org>
93976
93977         Reviewed by Darin Fisher.
93978
93979         Implement OpenGLES2 helper classes.
93980         https://bugs.webkit.org/show_bug.cgi?id=42905
93981
93982         GLES2Canvas and GLES2Texture are some simple OpenGLES2 helper classes
93983         for managing state, samplers and textures.
93984
93985         When this is hooked up, it will be covered by many layout tests.
93986
93987         * WebCore.gypi:
93988         Add new files to chromium build (contents are protected by #if's for now).
93989         * platform/graphics/chromium/GLES2Canvas.cpp: Added.
93990         (WebCore::affineTo3x3):
93991         (WebCore::GLES2Canvas::State::State):
93992         (WebCore::GLES2Canvas::GLES2Canvas):
93993         (WebCore::GLES2Canvas::~GLES2Canvas):
93994         (WebCore::GLES2Canvas::clearRect):
93995         (WebCore::GLES2Canvas::fillRect):
93996         (WebCore::GLES2Canvas::setFillColor):
93997         (WebCore::GLES2Canvas::setAlpha):
93998         (WebCore::GLES2Canvas::translate):
93999         (WebCore::GLES2Canvas::rotate):
94000         (WebCore::GLES2Canvas::scale):
94001         (WebCore::GLES2Canvas::concatCTM):
94002         (WebCore::GLES2Canvas::save):
94003         (WebCore::GLES2Canvas::restore):
94004         (WebCore::GLES2Canvas::drawTexturedRect):
94005         (WebCore::GLES2Canvas::setCompositeOperation):
94006         (WebCore::GLES2Canvas::applyCompositeOperator):
94007         (WebCore::GLES2Canvas::getQuadVertices):
94008         (WebCore::GLES2Canvas::getQuadIndices):
94009         (WebCore::loadShader):
94010         (WebCore::GLES2Canvas::getSimpleProgram):
94011         (WebCore::GLES2Canvas::getTexProgram):
94012         (WebCore::GLES2Canvas::createTexture):
94013         (WebCore::GLES2Canvas::getTexture):
94014         (WebCore::GLES2Canvas::checkGLError):
94015         * platform/graphics/chromium/GLES2Canvas.h: Added.
94016         (WebCore::GLES2Canvas::gles2Context):
94017         * platform/graphics/chromium/GLES2Texture.cpp: Added.
94018         (WebCore::GLES2Texture::GLES2Texture):
94019         (WebCore::GLES2Texture::~GLES2Texture):
94020         (WebCore::GLES2Texture::create):
94021         (WebCore::convertFormat):
94022         (WebCore::GLES2Texture::load):
94023         (WebCore::GLES2Texture::bind):
94024         * platform/graphics/chromium/GLES2Texture.h: Added.
94025         (WebCore::GLES2Texture::):
94026         (WebCore::GLES2Texture::format):
94027         (WebCore::GLES2Texture::width):
94028         (WebCore::GLES2Texture::height):
94029
94030
94031 2010-07-26  Jeremy Orlow  <jorlow@chromium.org>
94032
94033         Reviewed by Steve Block.
94034
94035         Fix IndexedDB release build on mac
94036         https://bugs.webkit.org/show_bug.cgi?id=42377
94037
94038         * storage/IDBDatabaseImpl.cpp:
94039         (WebCore::IDBDatabaseImpl::objectStore):
94040
94041 2010-07-26  Satish Sampath  <satish@chromium.org>
94042
94043         Reviewed by Steve Block.
94044
94045         Add WebKit plumbing to connect speech requests and callbacks between WebCore and the embedder.
94046         https://bugs.webkit.org/show_bug.cgi?id=42367
94047
94048         No new tests, the relevant LayoutTestController bindings will be added in the next patch.
94049
94050         * page/SpeechInput.cpp: renamed a method.
94051         * page/SpeechInput.h: renamed a method.
94052         * page/SpeechInputClient.h: added an extra method to optionally let users stop recording once they have spoken.
94053         * page/SpeechInputClientListener.h: renamed a method.
94054         * page/SpeechInputListener.h: renamed a method.
94055
94056 2010-07-26  Andreas Kling  <andreas.kling@nokia.com>
94057
94058         Reviewed by Kenneth Rohde Christiansen.
94059
94060         [Qt] getImageData(): Single-pass RGB->BGR and un-premultiplication
94061         https://bugs.webkit.org/show_bug.cgi?id=42945
94062
94063         Combine the two operations into a single loop over the pixel data.
94064         Yields a considerable FPS gain on http://www.semantix.gr/statue.html
94065
94066         * platform/graphics/qt/ImageBufferQt.cpp:
94067         (WebCore::getImageData):
94068
94069 2010-07-26  Pavel Feldman  <pfeldman@chromium.org>
94070
94071         Reviewed by Shinichiro Hamaji.
94072
94073         Web Inspector: make sure proxy objects are JSON-stringifiable.
94074
94075         https://bugs.webkit.org/show_bug.cgi?id=42961
94076
94077         * inspector/front-end/InjectedScript.js:
94078         (injectedScriptConstructor):
94079
94080 2010-07-26  Alexander Pavlov  <apavlov@chromium.org>
94081
94082         Reviewed by Joseph Pecoraro.
94083
94084         Inspector should remember resources sorting set by the user
94085         https://bugs.webkit.org/show_bug.cgi?id=19208
94086
94087         Sorting options both for time and size graphs are memorized in a single property,
94088         which makes them possible to retrieve in a single message (e.g. useful for remote debugging).
94089
94090         * inspector/front-end/ResourcesPanel.js:
94091         (WebInspector.ResourcesPanel.prototype.populateSidebar):
94092         (WebInspector.ResourcesPanel.prototype._settingsLoaded):
94093         (WebInspector.ResourcesPanel.prototype._loadSortOptions):
94094         (WebInspector.ResourcesPanel.prototype._loadSortOptionForGraph):
94095         (WebInspector.ResourcesPanel.prototype._graphSelected):
94096         (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
94097         (WebInspector.ResourcesPanel.prototype._selectedOptionNameForGraph):
94098         (WebInspector.ResourcesPanel.prototype._doChangeSortingFunction):
94099         * inspector/front-end/Settings.js:
94100         (WebInspector.populateApplicationSettings):
94101
94102 2010-07-25  Ryosuke Niwa  <rniwa@webkit.org>
94103
94104         Reviewed by Darin Adler.
94105
94106         Redo fails after text node is split by SplitTextNodeCommand
94107         https://bugs.webkit.org/show_bug.cgi?id=42941
94108
94109         The bug was caused by SplitTextNodeCommand not implementing doReapply.
94110         Implemented doReapply and added insertText1AndTrimText2 to share the code between doApply and doReapply.
94111
94112         Test: editing/undo/redo-split-text-node.html
94113               editing/undo/redo-split-text-node-with-removal.html
94114
94115         * editing/SplitTextNodeCommand.cpp:
94116         (WebCore::SplitTextNodeCommand::doApply): Calls executeApply.
94117         (WebCore::SplitTextNodeCommand::doUnapply): Don't delete m_text1, which is later used in doReapply.
94118         (WebCore::SplitTextNodeCommand::doReapply): Added.
94119         (WebCore::SplitTextNodeCommand::insertText1AndTrimText2): Added.
94120         * editing/SplitTextNodeCommand.h:
94121
94122 2010-07-23  Philippe Normand  <pnormand@igalia.com>
94123
94124         Reviewed by Eric Carlson.
94125
94126         [GTK] media/media-can-play-mpeg-audio.html fails
94127         https://bugs.webkit.org/show_bug.cgi?id=42895
94128
94129         Fixed advertizing of mp3, mpeg and mp4 mime-types in the player.
94130
94131         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
94132         (WebCore::mimeTypeCache):
94133
94134 2010-07-23  Philippe Normand  <pnormand@igalia.com>
94135
94136         Reviewed by Eric Carlson.
94137
94138         LayoutTests/media/media-document-audio-size.html failure
94139         https://bugs.webkit.org/show_bug.cgi?id=38376
94140
94141         Advertize audio/x-wav along with audio/wav when appropriate,
94142         otherwise WebKit attempts to use a plugin to play the media.
94143
94144         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
94145         (WebCore::mimeTypeCache):
94146
94147 2010-07-25  Ryosuke Niwa  <rniwa@webkit.org>
94148
94149         Reviewed by Kent Tamura.
94150
94151         splitTextAt*IfNeed and splitTextElementAt*IfNeed need to be cleaned up
94152         https://bugs.webkit.org/show_bug.cgi?id=42937
94153
94154         Isolated the code to decide whether or not text node should be split into isValidCaretPositionInTextNode.
94155         Moved the condition check out of *IfNeeded methods to applyRelativeFontStyleChange and applyInlineStyle.
94156
94157         No new tests added since this is a clean up.
94158
94159         * editing/ApplyStyleCommand.cpp:
94160         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Uses isValidCaretPositionInTextNode.
94161         (WebCore::ApplyStyleCommand::applyInlineStyle): Uses isValidCaretPositionInTextNode.
94162         (WebCore::ApplyStyleCommand::splitTextAtStart): Renamed from splitTextAtStartIfNeeded.
94163         (WebCore::ApplyStyleCommand::splitTextAtEnd): Renamed from splitTextAtEndIfNeeded.
94164         (WebCore::ApplyStyleCommand::splitTextElementAtStart): Renamed from splitTextElementAtStartIfNeeded.
94165         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Renamed from splitTextElementAtEndIfNeeded.
94166         (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): Returns true if the position lies within a text node.
94167         * editing/ApplyStyleCommand.h:
94168
94169 2010-07-25  Patrick Gansterer  <paroga@paroga.com>
94170
94171         Reviewed by Kent Tamura.
94172
94173         [WINCE] Buildfix for ImageBufferWince
94174         https://bugs.webkit.org/show_bug.cgi?id=42928
94175
94176         * platform/graphics/wince/ImageBufferWince.cpp:
94177         (WebCore::):
94178         (WebCore::BufferedImage::draw): Pass through ColorSpace parameter.
94179         (WebCore::BufferedImage::drawPattern): Ditto.
94180         (WebCore::ImageBuffer::platformTransformColorSpace): Added.
94181
94182 2010-07-25  Patrick Gansterer  <paroga@paroga.com>
94183
94184         Reviewed by Kent Tamura.
94185
94186         [WINCE] Buildfix for PopupMenuWin.cpp
94187         https://bugs.webkit.org/show_bug.cgi?id=42932
94188
94189         Add #if !OS(WINCE) around unsupported window messages.
94190
94191         * platform/win/PopupMenuWin.cpp:
94192         (WebCore::PopupMenu::show):
94193         (WebCore::PopupMenu::wndProc):
94194
94195 2010-07-25  Adam Barth  <abarth@webkit.org>
94196
94197         Reviewed by Eric Seidel.
94198
94199         Implement adjustMathMLAttributes
94200         https://bugs.webkit.org/show_bug.cgi?id=42952
94201
94202         This is kind of mechanical overkill for adjusting one attribute name,
94203         but it's nice to use the same machinery as SVG.
94204
94205         * html/HTMLTreeBuilder.cpp:
94206         * mathml/mathattrs.in:
94207
94208 2010-07-25  Adam Barth  <abarth@webkit.org>
94209
94210         Reviewed by Eric Seidel.
94211
94212         Functions supporting the legacy tree builder are confusing
94213         https://bugs.webkit.org/show_bug.cgi?id=42951
94214
94215         This patch just inlines these functions into their one call site and
94216         removes the notImplemented() calls.  We thought we were going to grow
94217         these to support the new tree builder, but we took a different path.
94218         Previous to this patch, these functions were confusing because they
94219         looked like part of the new tree builder.
94220
94221         * html/HTMLTreeBuilder.cpp:
94222         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
94223         * html/HTMLTreeBuilder.h:
94224
94225 2010-07-25  Adam Barth  <abarth@webkit.org>
94226
94227         Reviewed by Eric Seidel.
94228
94229         Recent HTML5 TreeBuilder Regression?  All canvas tests ASSERT
94230         https://bugs.webkit.org/show_bug.cgi?id=42948
94231
94232         Remove ASSERT and replace with correct branch.  I put this ASSERT in
94233         to make sure we had test coverage for this branch.  I guess we do.  :)
94234
94235         * html/HTMLConstructionSite.cpp:
94236         (WebCore::HTMLConstructionSite::attach):
94237
94238 2010-07-25  Pavel Feldman  <pfeldman@chromium.org>
94239
94240         Reviewed by Timothy Hatcher.
94241
94242         Web Inspector: check of jQuery object type prior to treating it as an array.
94243
94244         https://bugs.webkit.org/show_bug.cgi?id=42946
94245
94246         * inspector/front-end/InjectedScript.js:
94247         (injectedScriptConstructor):
94248
94249 2010-07-24  Daniel Bates  <dbates@rim.com>
94250
94251         Unreviewed, build fix when building with WML support.
94252
94253         PageCache.cpp compile error when WML is enabled
94254         https://bugs.webkit.org/show_bug.cgi?id=40765
94255
94256         Remove extraneous semicolon.
94257
94258         Note, building with WML support enabled is broken
94259         even with this fix. See Bug #42943 for more details.
94260
94261         * history/PageCache.cpp:
94262         (WebCore::PageCache::canCachePageContainingThisFrame):
94263
94264 2010-07-24  Adam Barth  <abarth@webkit.org>
94265
94266         Reviewed by Eric Seidel.
94267
94268         Atomize strings used by the HTML5 tree builder
94269         https://bugs.webkit.org/show_bug.cgi?id=42875
94270
94271         This is about a 1% improvement to the parsing benchmark.
94272
94273         * html/HTMLTagNames.in:
94274         * html/HTMLTreeBuilder.cpp:
94275         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
94276         (WebCore::HTMLTreeBuilder::processStartTag):
94277         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
94278         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
94279
94280 2010-07-24  Patrick Gansterer  <paroga@paroga.com>
94281
94282         Reviewed by Darin Adler.
94283
94284         Buildfix for !ENABLE(INSPECTOR) after r63891.
94285         https://bugs.webkit.org/show_bug.cgi?id=42925
94286
94287         * bindings/js/ScriptValue.cpp: Added property svn:eol-style.
94288         * bindings/js/ScriptValue.h: Added property svn:eol-style.
94289         * inspector/ConsoleMessage.cpp: Added property svn:eol-style.
94290         * inspector/ConsoleMessage.h: Added property svn:eol-style.
94291
94292 2010-07-24  Adam Barth  <abarth@webkit.org>
94293
94294         Reviewed by Eric Seidel.
94295
94296         Re-order whitespace checks in the tokenizer
94297         https://bugs.webkit.org/show_bug.cgi?id=42923
94298
94299         This saves about 0.5% on the parsing benchmark.
94300
94301         * html/HTMLTokenizer.cpp:
94302
94303 2010-07-24  Andreas Kling  <andreas.kling@nokia.com>
94304
94305         Reviewed by Simon Hausmann.
94306
94307         [Qt] tst_QWebFrame::callQtInvokable() fails
94308         https://bugs.webkit.org/show_bug.cgi?id=41065
94309
94310         Converting JS objects to QVariantMaps was broken.
94311         This is a partial revert of <http://trac.webkit.org/changeset/61478>
94312
94313         * bridge/qt/qt_runtime.cpp:
94314         (JSC::Bindings::convertValueToQVariant): Remove erroneous crash guard
94315         around JSObject::getPropertyNames()
94316
94317 2010-07-24  Adam Barth  <abarth@webkit.org>
94318
94319         Reviewed by Eric Seidel.
94320
94321         Save a per-character branch in the HTML parser
94322         https://bugs.webkit.org/show_bug.cgi?id=42921
94323
94324         The parsing benchmark claims this is a wash, but it makes me feel
94325         better.
94326
94327         * html/HTMLToken.h:
94328         (WebCore::HTMLToken::clear):
94329         (WebCore::HTMLToken::beginStartTag):
94330         (WebCore::HTMLToken::beginEndTag):
94331         (WebCore::HTMLToken::ensureIsCharacterToken):
94332         (WebCore::HTMLToken::beginComment):
94333         (WebCore::HTMLToken::beginDOCTYPE):
94334         * html/HTMLTokenizer.cpp:
94335         (WebCore::HTMLTokenizer::bufferCharacter):
94336
94337 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
94338
94339         Reviewed by Darin Adler.
94340
94341         Buildfix for !ENABLE(FILTERS) after r63531.
94342         https://bugs.webkit.org/show_bug.cgi?id=42914
94343
94344         * rendering/RenderSVGContainer.cpp: Add missing header.
94345
94346 2010-07-23  Kavita Kanetkar  <kkanetkar@chromium.org>
94347
94348         Reviewed by Joseph Pecoraro.
94349
94350         Implement remaining Inspector support for chrome's appcache
94351         https://bugs.webkit.org/show_bug.cgi?id=42426
94352
94353         * inspector/InspectorApplicationCacheAgent.cpp:
94354         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
94355         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
94356         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
94357         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
94358         * inspector/InspectorApplicationCacheAgent.h:
94359         (WebCore::InspectorController::connectFrontend):
94360         * loader/appcache/ApplicationCacheHost.cpp:
94361         (WebCore::ApplicationCacheHost::fillResourceList):
94362         (WebCore::ApplicationCacheHost::applicationCacheInfo):
94363         * loader/appcache/ApplicationCacheHost.h: Changed creation + update times to double and moved appcache info here from InspectorApplicationCacheAgent.h
94364         (WebCore::ApplicationCacheHost::CacheInfo::CacheInfo):
94365         (WebCore::ApplicationCacheHost::ResourceInfo::ResourceInfo):
94366
94367 2010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>
94368
94369         Reviewed by Antonio Gomes.
94370
94371         [EFL] Cleanup glib support (make it optional)
94372         https://bugs.webkit.org/show_bug.cgi?id=42480
94373
94374         No new tests, no new features added.
94375         Just add flags and directories for glib if necessary.
94376         Put some ifdefs on glib calls.
94377
94378         * CMakeListsEfl.txt:
94379         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
94380         (WebCore::FontPlatformData::FontPlatformData):
94381
94382 2010-07-23  James Robinson  <jamesr@chromium.org>
94383
94384         Reviewed by Dimitri Glazkov.
94385
94386         CanvasRenderingContext2D has lots of style errors
94387         https://bugs.webkit.org/show_bug.cgi?id=42918
94388
94389         CanvasRenderingContext2D.h and .cpp have lots of style errors.  I'm planning to post patches
94390         to both of these files soon, so to minimize merge conflicts and additional style violations
94391         it seems best to fix all of these errors in bulk before posting any functional changes.  In
94392         particular the header file is incorrectly indented so any correctly formatted addition will
94393         be out of place.
94394
94395         * html/canvas/CanvasRenderingContext2D.cpp:
94396         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
94397         (WebCore::CanvasRenderingContext2D::setFillStyle):
94398         (WebCore::CanvasRenderingContext2D::transform):
94399         (WebCore::CanvasRenderingContext2D::setTransform):
94400         (WebCore::CanvasRenderingContext2D::arcTo):
94401         (WebCore::CanvasRenderingContext2D::arc):
94402         (WebCore::validateRectForCanvas):
94403         (WebCore::CanvasRenderingContext2D::strokeRect):
94404         (WebCore::CanvasRenderingContext2D::drawImage):
94405         (WebCore::CanvasRenderingContext2D::createRadialGradient):
94406         (WebCore::CanvasRenderingContext2D::createPattern):
94407         (WebCore::CanvasRenderingContext2D::willDraw):
94408         (WebCore::CanvasRenderingContext2D::createImageData):
94409         (WebCore::CanvasRenderingContext2D::putImageData):
94410         (WebCore::CanvasRenderingContext2D::setFont):
94411         (WebCore::CanvasRenderingContext2D::drawTextInternal):
94412         * html/canvas/CanvasRenderingContext2D.h:
94413         (WebCore::CanvasRenderingContext2D::is2d):
94414         (WebCore::CanvasRenderingContext2D::getLineCap):
94415         (WebCore::CanvasRenderingContext2D::getLineJoin):
94416         (WebCore::CanvasRenderingContext2D::state):
94417         (WebCore::CanvasRenderingContext2D::):
94418
94419 2010-07-23  Adam Barth  <abarth@webkit.org>
94420
94421         Remove FIXME that we already fixed.
94422
94423         * html/HTMLTreeBuilder.cpp:
94424         (WebCore::HTMLTreeBuilder::processCharacter):
94425
94426 2010-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
94427
94428         Reviewed by Kent Tamura.
94429
94430         Move more form submission logic into FormSubmission.
94431         https://bugs.webkit.org/show_bug.cgi?id=41110
94432
94433         Two major moves:
94434         * Fold HTMLFormElement::prepareFormSubmission into FormSubmission::create
94435         * Move non-static (non-FormData-building) methods of FormDataBuilder
94436             to FormSubmission::Attributes.
94437
94438         Mechanical moving, no change in behavior, so no new tests.
94439
94440         * WebCore.xcodeproj/project.pbxproj: Gave FormDataBuilder.h "project" and
94441             FormSubmission.h "private" visibility.
94442         * html/HTMLFormElement.cpp:
94443         (WebCore::HTMLFormElement::submit): Changed to use FormSubmission::create.
94444         (WebCore::HTMLFormElement::parseMappedAttribute): Changed to use m_attributes.
94445         * html/HTMLFormElement.h:
94446         (WebCore::HTMLFormElement::enctype): Ditto.
94447         (WebCore::HTMLFormElement::encoding): Ditto.
94448         (WebCore::HTMLFormElement::acceptCharset): Ditto.
94449         * loader/FormSubmission.cpp:
94450         (WebCore::generateFormDataIdentifier): Moved from HTMLFormElement.
94451         (WebCore::appendMailtoPostFormDataToURL): Ditto.
94452         (WebCore::FormSubmission::Attributes::parseAction): Moved from FormDataBuilder.
94453         (WebCore::FormSubmission::Attributes::parseEncodingType): Ditto.
94454         (WebCore::FormSubmission::Attributes::parseMethodType): Ditto.
94455         (WebCore::FormSubmission::FormSubmission): Made inline.
94456         (WebCore::FormSubmission::create): Added logic that used to be in
94457             HTMLFormElement::prepareFormSubmission.
94458         * loader/FormSubmission.h:
94459         (WebCore::FormSubmission::):
94460         (WebCore::FormSubmission::Attributes::Attributes): Added new class.
94461         (WebCore::FormSubmission::Attributes::method): Moved from FormDataBuilder.
94462         (WebCore::FormSubmission::Attributes::isMultiPartForm): Ditto.
94463         (WebCore::FormSubmission::Attributes::action): Ditto.
94464         (WebCore::FormSubmission::Attributes::target): Ditto.
94465         (WebCore::FormSubmission::Attributes::setTarget): Ditto.
94466         (WebCore::FormSubmission::Attributes::encodingType): Ditto.
94467         (WebCore::FormSubmission::Attributes::acceptCharset): Ditto.
94468         (WebCore::FormSubmission::Attributes::setAcceptCharset): Ditto.
94469         (WebCore::FormSubmission::target): Ditto.
94470         (WebCore::FormSubmission::contentType): Const-ified return type.
94471         (WebCore::FormSubmission::boundary): Ditto.
94472         * platform/network/FormDataBuilder.cpp:
94473         (WebCore::FormDataBuilder::encodingFromAcceptCharset): Renamed method for clarity,
94474             made it use param instead of a class member.
94475         * platform/network/FormDataBuilder.h:
94476         (WebCore::FormDataBuilder::FormDataBuilder): Made constructor private.
94477         * wml/WMLGoElement.cpp: Changed to use FormSubmision::Attributes.
94478         * wml/WMLGoElement.h: Ditto.
94479
94480 2010-07-23  Adam Barth  <abarth@webkit.org>
94481
94482         Reviewed by Eric Seidel.
94483
94484         HTML5 Parser: document.write in a asynchronous script which is specified to load before page finish blows away document
94485         https://bugs.webkit.org/show_bug.cgi?id=42365
94486
94487         This patch implements the changes Ian made to HTML5 to address these
94488         issues.  Let's try it and see how well it works.
94489
94490         Test: http/tests/misc/write-from-dom-script.html
94491
94492         * dom/Document.cpp:
94493         (WebCore::Document::Document):
94494         (WebCore::Document::write):
94495         * dom/Document.h:
94496         (WebCore::Document::writeDisabled):
94497         (WebCore::Document::setWriteDisabled):
94498         * dom/DocumentParser.h:
94499         (WebCore::DocumentParser::hasInsertionPoint):
94500         * dom/ScriptElement.cpp:
94501         (WebCore::ScriptElement::insertedIntoDocument):
94502         (WebCore::ScriptElementData::ScriptElementData):
94503         (WebCore::ScriptElementData::evaluateScript):
94504         * dom/ScriptElement.h:
94505         (WebCore::ScriptElementData::writeDisabled):
94506         (WebCore::ScriptElementData::setWriteDisabled):
94507         * html/HTMLDocumentParser.cpp:
94508         (WebCore::HTMLDocumentParser::hasInsertionPoint):
94509         (WebCore::HTMLDocumentParser::insert):
94510         * html/HTMLDocumentParser.h:
94511
94512 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
94513
94514         Reviewed by Adam Roben.
94515
94516         [WINCE] Buildfix for PopupMenuWin.cpp
94517         https://bugs.webkit.org/show_bug.cgi?id=42906
94518
94519         Use correct API for BitmapInfo landed in r63944.
94520
94521         * platform/win/PopupMenuWin.cpp:
94522         (WebCore::PopupMenu::paint):
94523
94524 2010-07-23  fsamuel@chromium.org  <fsamuel@chromium.org>
94525
94526         Reviewed by David Hyatt.
94527
94528         Updated table painting to draw cell layers in the correct order.
94529
94530         Table Cell Layering
94531         https://bugs.webkit.org/show_bug.cgi?id=40775
94532
94533         Tests: tables/layering/paint-test-layering-1.html
94534                tables/layering/paint-test-layering-2.html
94535
94536         * accessibility/AccessibilityTable.cpp:
94537         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
94538         (WebCore::AccessibilityTable::addChildren):
94539         (WebCore::AccessibilityTable::cellForColumnAndRow):
94540         * accessibility/AccessibilityTableCell.cpp:
94541         (WebCore::AccessibilityTableCell::titleUIElement):
94542         * accessibility/AccessibilityTableColumn.cpp:
94543         (WebCore::AccessibilityTableColumn::headerObjectForSection):
94544         * rendering/AutoTableLayout.cpp:
94545         (WebCore::AutoTableLayout::recalcColumn):
94546         * rendering/RenderTable.cpp:
94547         (WebCore::RenderTable::splitColumn):
94548         (WebCore::RenderTable::calcBorderLeft):
94549         (WebCore::RenderTable::calcBorderRight):
94550         (WebCore::RenderTable::cellAbove):
94551         (WebCore::RenderTable::cellBelow):
94552         (WebCore::RenderTable::cellBefore):
94553         (WebCore::RenderTable::cellAfter):
94554         * rendering/RenderTableSection.cpp:
94555         (WebCore::RenderTableSection::RenderTableSection):
94556         (WebCore::RenderTableSection::ensureRows):
94557         (WebCore::RenderTableSection::addCell):
94558         (WebCore::RenderTableSection::setCellWidths):
94559         (WebCore::RenderTableSection::calcRowHeight):
94560         (WebCore::RenderTableSection::layoutRows):
94561         (WebCore::RenderTableSection::calcOuterBorderTop):
94562         (WebCore::RenderTableSection::calcOuterBorderBottom):
94563         (WebCore::RenderTableSection::calcOuterBorderLeft):
94564         (WebCore::RenderTableSection::calcOuterBorderRight):
94565         (WebCore::RenderTableSection::firstLineBoxBaseline):
94566         (WebCore::compareCellPositions):
94567         (WebCore::RenderTableSection::paintCell):
94568         (WebCore::RenderTableSection::paintObject):
94569         (WebCore::RenderTableSection::numColumns):
94570         (WebCore::RenderTableSection::appendColumn):
94571         (WebCore::RenderTableSection::splitColumn):
94572         (WebCore::RenderTableSection::nodeAtPoint):
94573         * rendering/RenderTableSection.h:
94574         (WebCore::RenderTableSection::CellStruct::CellStruct):
94575         (WebCore::RenderTableSection::CellStruct::primaryCell):
94576         (WebCore::RenderTableSection::CellStruct::hasCells):
94577         (WebCore::RenderTableSection::primaryCellAt):
94578
94579 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
94580
94581         Reviewed by Adam Roben.
94582
94583         [WINCE] Buildfix for Path.h
94584         https://bugs.webkit.org/show_bug.cgi?id=42904
94585
94586         * platform/graphics/Path.h: Add missing typedef PlatformPath.
94587
94588 2010-07-23  Adam Barth  <abarth@webkit.org>
94589
94590         Reviewed by Eric Seidel.
94591
94592         Reserve capacity for attributes
94593         https://bugs.webkit.org/show_bug.cgi?id=42877
94594
94595         This is about a 1.7% improvement to the parsing benchmark.
94596
94597         * html/HTMLToken.h:
94598         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
94599
94600 2010-07-23  Adam Barth  <abarth@webkit.org>
94601
94602         Reviewed by Eric Seidel.
94603
94604         Inline HTMLElementStack::top
94605         https://bugs.webkit.org/show_bug.cgi?id=42879
94606
94607         According to sampling, HTMLElementStack::top is the hotest function in
94608         the treebuilder.  Inlining it is about a 0.3% improvement to the
94609         parsing benchmark.  This squares with how often it occurs in samples.
94610
94611         * html/HTMLElementStack.cpp:
94612         * html/HTMLElementStack.h:
94613         (WebCore::HTMLElementStack::top):
94614
94615 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
94616
94617         Reviewed by Adam Roben.
94618
94619         [WINCE] Buildfix for GraphicsContext
94620         https://bugs.webkit.org/show_bug.cgi?id=42888
94621
94622         Use AffineTransform insted of TransformationMatrix and
94623         add ColorSpace parameter to the drawBitmap methods.
94624
94625         * platform/graphics/GraphicsContext.h:
94626         * platform/graphics/wince/GraphicsContextWince.cpp:
94627         (WebCore::GraphicsContext::affineTransform):
94628         (WebCore::GraphicsContext::fillRoundedRect):
94629         (WebCore::GraphicsContext::drawBitmap):
94630         (WebCore::GraphicsContext::drawBitmapPattern):
94631
94632 2010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>
94633
94634         Reviewed by Antonio Gomes.
94635
94636         [EFL] Add support for using libcurl network backend.
94637         https://bugs.webkit.org/show_bug.cgi?id=42286
94638
94639         Add files and flags for soup/curl specific backend being
94640         used.
94641         Put some ifdefs around soup/glib calls.
94642
94643         No new tests, no new features implemented.
94644
94645         * CMakeListsEfl.txt:
94646         * platform/efl/FileSystemEfl.cpp:
94647         (WebCore::fileSystemRepresentation):
94648
94649 2010-07-23  Adam Barth  <abarth@webkit.org>
94650
94651         Reviewed by Eric Seidel.
94652
94653         Add fast-reject path for InputStreamPreprocessor::peek
94654         https://bugs.webkit.org/show_bug.cgi?id=42881
94655
94656         This is about a 2.5% speedup on the parsing benchmark.
94657
94658         * html/HTMLTokenizer.h:
94659         (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
94660
94661 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
94662
94663         Reviewed by Adam Roben.
94664
94665         [WINCE] Merge PasteboardWince.cpp into PasteboardWin.cpp
94666         https://bugs.webkit.org/show_bug.cgi?id=42885
94667
94668         Make PasteboardWin more portable and remove the global namespace prefix
94669         from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
94670
94671         * platform/win/PasteboardWin.cpp:
94672         (WebCore::PasteboardOwnerWndProc):
94673         (WebCore::Pasteboard::Pasteboard):
94674         (WebCore::Pasteboard::plainText):
94675         (WebCore::Pasteboard::documentFragment):
94676
94677 2010-07-23  Justin Schuh  <jschuh@chromium.org>
94678
94679         Unreviewed, rolling out r63925.
94680         http://trac.webkit.org/changeset/63925
94681         https://bugs.webkit.org/show_bug.cgi?id=42858
94682
94683         Introduced a regression in history state.
94684
94685         * page/History.cpp:
94686         (WebCore::History::urlForState):
94687
94688 2010-07-23  Martin Robinson  <mrobinson@igalia.com>
94689
94690         Unreviewed build fix.
94691
94692         Fix make dist by aligning the source list with currently used headers.
94693
94694         * GNUmakefile.am:
94695
94696 2010-07-23  Alex Milowski  <alex@milowski.com>
94697
94698         Reviewed by Darin Adler.
94699
94700         Moved the 'mathml' group back to where it belongs as
94701         siblings of the other major folders.
94702
94703         * WebCore.xcodeproj/project.pbxproj:
94704
94705 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
94706
94707         Reviewed by Adam Roben.
94708
94709         Buildfix for WinCE graphics after r56015.
94710         https://bugs.webkit.org/show_bug.cgi?id=41354
94711
94712         Use fabs() insetead of abs().
94713
94714         * platform/graphics/wince/GraphicsContextWince.cpp:
94715         (WebCore::GraphicsContext::fillRect):
94716         * platform/graphics/wince/PlatformPathWince.cpp:
94717         (WebCore::PlatformPath::addArcTo):
94718
94719 2010-07-23  ryuan choi  <ryuan.choi@samsung.com>
94720
94721         Reviewed by Antonio Gomes.
94722
94723         [EFL]build break because of r63927
94724         https://bugs.webkit.org/show_bug.cgi?id=42864
94725
94726         * CMakeLists.txt:
94727
94728 2010-07-23  Adam Barth  <abarth@webkit.org>
94729
94730         Reviewed by Eric Seidel.
94731
94732         Inline HTMLTokenizer::InputStreamPreprocessor::peek
94733         https://bugs.webkit.org/show_bug.cgi?id=42880
94734
94735         According to sampling HTMLTokenizer::InputStreamPreprocessor::peek is
94736         the hotest function in the tokenizer.  Inlining this function is about
94737         a 2.2% speedup on the parser benchmark.  Turns out the tokenizer is
94738         much hotter than the tree builder.  :)
94739
94740         * html/HTMLTokenizer.h:
94741         (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
94742
94743 2010-07-23  Andras Becsi  <abecsi@webkit.org>
94744
94745         Unreviewed build fix.
94746
94747         [Qt] Fix WebKit2 linkage.
94748
94749         No new tests needed.
94750
94751         * WebCore.pro: add InjectedBundlePageEditorClient.cpp to WK2 sources
94752
94753 2010-07-23  Balazs Kelemen  <kb@inf.u-szeged.hu>
94754
94755         Reviewed by Kenneth Rohde Christiansen.
94756
94757         [Qt] Setup the QtWebProcess
94758
94759         https://bugs.webkit.org/show_bug.cgi?id=42623
94760
94761         * WebCore.pro: Added WebProcessMainQt.cpp to SOURCES.
94762
94763 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94764
94765         Not reviewed: Chromium tests fix.
94766
94767         * inspector/CodeGeneratorInspector.pm:
94768
94769 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
94770
94771         Reviewed by Adam Roben.
94772
94773         [WINCE] Buildfix for PluginDatabaseWin.cpp
94774         https://bugs.webkit.org/show_bug.cgi?id=41887
94775
94776         Define KEY_ENUMERATE_SUB_KEYS only if not defined.
94777
94778         * plugins/win/PluginDatabaseWin.cpp:
94779
94780 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94781
94782         Reviewed by Yury Semikhatsky.
94783
94784         Chromium DevTools: migrate from utility context-based injected
94785         script dispatch to upstream schema.
94786
94787         https://bugs.webkit.org/show_bug.cgi?id=42883
94788
94789         * bindings/v8/ScriptProfile.cpp:
94790         (WebCore::ScriptProfile::title):
94791         * inspector/InspectorController.cpp:
94792         (WebCore::InspectorController::getProfile):
94793         * inspector/front-end/InjectedScriptAccess.js:
94794
94795 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94796
94797         Not reviewed: rolling out r63963.
94798
94799         * bindings/v8/ScriptProfile.cpp:
94800         (WebCore::ScriptProfile::title):
94801         * inspector/InspectorController.cpp:
94802         (WebCore::InspectorController::getProfile):
94803         * inspector/front-end/InjectedScriptAccess.js:
94804
94805 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94806
94807         Reviewed by Yury Semikhatsky.
94808
94809         Chromium DevTools: migrate from utility context-based injected
94810         script dispatch to upstream schema.
94811
94812         https://bugs.webkit.org/show_bug.cgi?id=42883
94813
94814         * bindings/v8/ScriptProfile.cpp:
94815         (WebCore::ScriptProfile::title):
94816         * inspector/InspectorController.cpp:
94817         (WebCore::InspectorController::getProfile):
94818         * inspector/front-end/InjectedScriptAccess.js:
94819         (InjectedScriptAccess.get if):
94820         (InjectedScriptAccess):
94821
94822 2010-07-23  Yury Semikhatsky  <yurys@chromium.org>
94823
94824         Reviewed by Pavel Feldman.
94825
94826         Web Inspector: error info propagation in InspectorBackendDispatch should be improved
94827         https://bugs.webkit.org/show_bug.cgi?id=42873
94828
94829         * inspector/CodeGeneratorInspector.pm: report wrong parameter count and wrong
94830         parametere type errror to the dispatch method caller
94831
94832 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94833
94834         Reviewed by Yury Semikhatsky.
94835
94836         Web Inspector: injectedScriptId is missing in the stack frame wrappers.
94837
94838         https://bugs.webkit.org/show_bug.cgi?id=42889
94839
94840         * inspector/front-end/InjectedScript.js:
94841         (injectedScriptConstructor):
94842
94843 2010-07-23  Shinichiro Hamaji  <hamaji@chromium.org>
94844
94845         Reviewed by Kent Tamura.
94846
94847         Backslash isn't transcoded in <input>
94848         https://bugs.webkit.org/show_bug.cgi?id=42878
94849
94850         * css/CSSStyleSelector.cpp:
94851         (WebCore::CSSStyleSelector::applyProperty):
94852
94853 2010-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
94854
94855         Reviewed by Yury Semikhatsky.
94856
94857         WebInspector: CodeGeneratorInspector was extended and now it can
94858         generate InspectorBackedDispatcher's code. This dispatcher will
94859         validate and dispatch incoming inspector commands only by native
94860         code without using javaScript. That is necessary step for
94861         RemoteDebugging support.
94862         https://bugs.webkit.org/show_bug.cgi?id=42588
94863
94864         * GNUmakefile.am:
94865         * WebCore.gyp/WebCore.gyp:
94866         * WebCore.gypi:
94867         * WebCore.pri:
94868         * WebCore.vcproj/WebCore.vcproj:
94869         * WebCore.xcodeproj/project.pbxproj:
94870         * inspector/CodeGeneratorInspector.pm:
94871         * inspector/InspectorController.cpp:
94872         (WebCore::InspectorController::InspectorController):
94873         * inspector/InspectorController.h:
94874         (WebCore::InspectorController::inspectorBackendDispatcher):
94875         * inspector/front-end/ElementsPanel.js:
94876         (WebInspector.ElementsPanel.prototype.setDocument):
94877
94878 2010-07-22  Shinichiro Hamaji  <hamaji@chromium.org>
94879
94880         Reviewed by Kent Tamura.
94881
94882         Backslash is transcoded into yen sign even when non japanese font is specified
94883         https://bugs.webkit.org/show_bug.cgi?id=39654
94884
94885         Test: fast/text/backslash-to-yen-sign-euc.html
94886
94887         * css/CSSStyleSelector.cpp:
94888         (WebCore::CSSStyleSelector::applyProperty): Call FontDescriptor::setIsSpecifiedFont.
94889         * platform/graphics/Font.cpp:
94890         (WebCore::Font::Font):
94891         * platform/graphics/FontDescription.h: Added m_isSpecifiedFont and its accessors.
94892         (WebCore::FontDescription::FontDescription):
94893         (WebCore::FontDescription::isSpecifiedFont):
94894         (WebCore::FontDescription::setIsSpecifiedFont):
94895         (WebCore::FontDescription::operator==):
94896         * platform/text/transcoder/FontTranscoder.cpp:
94897         (WebCore::FontTranscoder::converterType): Don't transcode backslashes if a font family is explicitly specified.
94898         (WebCore::FontTranscoder::convert):
94899         (WebCore::FontTranscoder::needsTranscoding):
94900         * platform/text/transcoder/FontTranscoder.h: Change the arguments from AtomicString fontFamily to Font.
94901         * rendering/RenderText.cpp:
94902         (WebCore::RenderText::updateNeedsTranscoding):
94903         (WebCore::RenderText::setTextInternal):
94904
94905 2010-07-22  Jon Honeycutt  <jhoneycutt@apple.com>
94906
94907         Windows build fix.
94908
94909         Commit some changes missed by the commit-queue in r63944.
94910
94911         * platform/win/BitmapInfo.h:
94912         (WebCore::BitmapInfo::is16bit):
94913         (WebCore::BitmapInfo::is32bit):
94914         (WebCore::BitmapInfo::width):
94915         (WebCore::BitmapInfo::height):
94916         (WebCore::BitmapInfo::size):
94917         (WebCore::BitmapInfo::paddedWidth):
94918         (WebCore::BitmapInfo::numPixels):
94919         (WebCore::BitmapInfo::paddedBytesPerLine):
94920         (WebCore::BitmapInfo::bytesPerLine):
94921
94922 2010-07-22  Patrick Gansterer  <paroga@paroga.com>
94923
94924         Reviewed by Adam Roben.
94925
94926         [WINCE] Add additonal methods to BitmapInfo.
94927         https://bugs.webkit.org/show_bug.cgi?id=42071
94928
94929         Added a parameter to create 16bit BitmapInfo and
94930         some additional accessors for the WinCE port.
94931
94932         Set bmiHeader.biSize only at constructor.
94933
94934         * platform/win/BitmapInfo.cpp:
94935         (WebCore::bitmapInfoForSize):
94936         (WebCore::BitmapInfo::create):
94937         (WebCore::BitmapInfo::createBottomUp):
94938         * platform/win/BitmapInfo.h:
94939         (WebCore::BitmapInfo::is16bit):
94940         (WebCore::BitmapInfo::is32bit):
94941         (WebCore::BitmapInfo::width):
94942         (WebCore::BitmapInfo::height):
94943         (WebCore::BitmapInfo::size):
94944         (WebCore::BitmapInfo::paddedWidth):
94945         (WebCore::BitmapInfo::numPixels):
94946         (WebCore::BitmapInfo::paddedBytesPerLine):
94947         (WebCore::BitmapInfo::bytesPerLine):
94948
94949 2010-07-22  MORITA Hajime  <morrita@google.com>
94950
94951         Reviewed by Ojan Vafai.
94952
94953         Autoscroll on selection should take scrollbars into account as outside of the content.
94954         https://bugs.webkit.org/show_bug.cgi?id=40403
94955
94956         ScrollView's scroll-bar was considered as a part of content rect,
94957         that prevents autoscroll to happen when the pointer is over the
94958         scroll-bar.  This change excluded scroll-bar region from scrolling
94959         delta calculation.
94960         
94961         Test: WebCore/manual-tests/autoscroll-over-scrollbar.html
94962
94963         * rendering/RenderLayer.cpp:
94964         (WebCore::RenderLayer::scrollRectToVisible):
94965
94966 2010-07-22  Kent Tamura  <tkent@chromium.org>
94967
94968         Reviewed by Darin Adler.
94969
94970         maxLength should not be applied to non-text types
94971         https://bugs.webkit.org/show_bug.cgi?id=42814
94972
94973         According to the HTML5 specification, maxLength attribute should
94974         be applied to text, search, url, tel, email, and password types.
94975
94976         Test: fast/forms/input-maxlength-unsupported.html
94977
94978         * dom/InputElement.cpp:
94979         (WebCore::InputElement::handleBeforeTextInsertedEvent):
94980          Apply maxLength() only if supportsMaxLength() is true.
94981         * dom/InputElement.h:
94982         * html/HTMLInputElement.cpp:
94983         (WebCore::HTMLInputElement::patternMismatch):
94984          Code cleanup by isTextType().
94985         (WebCore::HTMLInputElement::tooLong):
94986          ditto.
94987         (WebCore::HTMLInputElement::isTextType):
94988          Added. This returns true for types with maxLength/pattern/placeholder.
94989         * html/HTMLInputElement.h:
94990         (WebCore::HTMLInputElement::supportsMaxLength):
94991          Added. Just calls isTextType().
94992         (WebCore::HTMLInputElement::supportsPlaceholder):
94993          Code cleanup by isTextType().
94994         * wml/WMLInputElement.h:
94995         (WebCore::WMLInputElement::supportsMaxLength):
94996          Added. Always returns true.
94997
94998 2010-07-22  Ryosuke Niwa  <rniwa@webkit.org>
94999
95000         Reviewed by Kent Tamura.
95001
95002         [cleanup] logic to extract adjacent lists and list children in listifyParagraph and unlistifyParagraph should be isolated
95003         https://bugs.webkit.org/show_bug.cgi?id=42841
95004
95005         Added enclosingListChild that takes the list node containing the node for the second argument
95006         to ensure that it only returns the enclosing list child of the specified list node.
95007
95008         Added adjacentEnclosingList that finds adjacent lists of the specified position.
95009         It takes the current position, the adjacent position that may or may not have a list, and the list type,
95010         and avoids a list that belongs to a different table cell or an outer list that contains the current position.
95011
95012         No new tests needed.
95013
95014         * editing/InsertListCommand.cpp:
95015         (WebCore::enclosingListChild): Added. See above.
95016         (WebCore::InsertListCommand::unlistifyParagraph): Uses enclosingListChild.
95017         (WebCore::adjacentEnclosingList): Added. See above.
95018         (WebCore::InsertListCommand::listifyParagraph): Uses adjacentEnclosingList.
95019
95020 2010-07-22  Patrick Gansterer  <paroga@paroga.com>
95021
95022         Reviewed by Adam Roben.
95023
95024         [WIN] Correct DeleteObject usage in PasteboardWin
95025         https://bugs.webkit.org/show_bug.cgi?id=41956
95026
95027         Call DeleteObject() if OpenClipboard() fails and don't
95028         call DeleteObject() on objects returned from SelectObject().
95029
95030         * platform/win/PasteboardWin.cpp:
95031         (WebCore::Pasteboard::writeImage):
95032
95033 2010-07-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
95034
95035         Reviewed by Antonio Gomes.
95036
95037         [EFL] Log function is incorrectly used.
95038         r63804 used LOG function, but it should receive one more parameter.
95039         Used LOG_ERROR instead, since this is an error message.
95040         https://bugs.webkit.org/show_bug.cgi?id=42842
95041
95042         * platform/efl/WidgetEfl.cpp:
95043         (WebCore::Widget::applyFallbackCursor): use LOG_ERROR in place of LOG
95044
95045 2010-07-22  Kent Tamura  <tkent@chromium.org>
95046
95047         Reviewed by Ojan Vafai.
95048
95049         Cancel button of search input field should fire input/change events
95050         https://bugs.webkit.org/show_bug.cgi?id=34393
95051
95052         Test: fast/forms/search-cancel-button-events.html
95053
95054         * rendering/TextControlInnerElements.cpp:
95055         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
95056
95057 2010-07-22  Sam Weinig  <sam@webkit.org>
95058
95059         Reviewed by Maciej Stachowiak.
95060
95061         Fix for <rdar://problem/8222626>
95062         Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
95063
95064         * GNUmakefile.am:
95065         * WebCore.gypi:
95066         * WebCore.pro:
95067         * WebCore.vcproj/WebCore.vcproj:
95068         * WebCore.xcodeproj/project.pbxproj:
95069         Update project files.
95070         
95071         * dom/UserTypingGestureIndicator.cpp: Copied from dom/UserGestureIndicator.cpp.
95072         (WebCore::UserTypingGestureIndicator::processingUserTypingGesture):
95073         (WebCore::focusedNode):
95074         (WebCore::UserTypingGestureIndicator::focusedElementAtGestureStart):
95075         (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
95076         (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
95077         * dom/UserTypingGestureIndicator.h: Copied from dom/UserGestureIndicator.h.
95078         Version of UserGestureIndicator that just tracks keyboard gestures and the focused
95079         node they were targeting.
95080         
95081         * editing/Editor.cpp:
95082         (WebCore::Editor::confirmComposition):
95083         (WebCore::Editor::setComposition):
95084         * page/EventHandler.cpp:
95085         (WebCore::EventHandler::keyEvent):
95086         Put UserTypingGestureIndicator on the stack for user generated keyboard events.
95087
95088 2010-07-22  Kent Tamura  <tkent@chromium.org>
95089
95090         Reviewed by Ojan Vafai.
95091
95092         <input type=number> stepper buttons should dispatch input/change events
95093         https://bugs.webkit.org/show_bug.cgi?id=42440
95094
95095         Test: fast/forms/input-number-events.html
95096
95097         * html/HTMLInputElement.cpp:
95098         (WebCore::HTMLInputElement::stepUpFromRenderer):
95099          Sets a flag to dispatch 'change' event and dispatches 'input' event
95100          if the value is changed.
95101
95102 2010-07-22  Justin Schuh  <jschuh@chromium.org>
95103
95104         Reviewed by Adam Barth.
95105
95106         Make history state methods validate against document URL
95107         https://bugs.webkit.org/show_bug.cgi?id=42858
95108
95109         Test: fast/history/history-replace-illegal.html
95110
95111         * page/History.cpp:
95112         (WebCore::History::urlForState):
95113
95114 2010-07-22  Andy Estes  <aestes@apple.com>
95115
95116         Reviewed by Maciej Stachowiak.
95117
95118         When there are no beforeload listeners on a document,
95119         HTMLLinkElement::process() should be called immediately when the node is
95120         inserted into the document, rather than waiting until after attach is
95121         performed.
95122         <https://bugs.webkit.org/show_bug.cgi?id=42859>
95123         <rdar://problem/8194528>
95124
95125         No new tests.
95126
95127         * html/HTMLLinkElement.cpp:
95128         (WebCore::HTMLLinkElement::insertedIntoDocument): If there are no
95129         beforeload listeners, call process() immediately.  Otherwise, add it as
95130         a post-attach callback.
95131
95132 2010-07-22  James Robinson  <jamesr@chromium.org>
95133
95134         Reviewed by Simon Fraser.
95135
95136         REGRESSION: box shadows on WebGL canvas elements repainted every frame
95137         https://bugs.webkit.org/show_bug.cgi?id=42852
95138
95139         Avoid calling HTMLCanvasElement::willDraw() every time a WebGL canvas'
95140         contents update.  This call is only needed in the non-compositing
95141         rendering path.
95142
95143         Covered by fast/canvas/webgl/canvas-test.html
95144
95145         * html/canvas/WebGLRenderingContext.cpp:
95146         (WebCore::WebGLRenderingContext::markContextChanged):
95147         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
95148
95149 2010-07-22  Patrick Gansterer  <paroga@paroga.com>
95150
95151         Reviewed by Ojan Vafai.
95152
95153         Remove useless PlatformScrollBar
95154         https://bugs.webkit.org/show_bug.cgi?id=41911
95155
95156         * WebCore.gypi:
95157         * platform/win/PlatformScrollBar.h: Removed.
95158         * platform/win/PlatformScrollBarWin.cpp: Removed.
95159
95160 2010-07-22  Ryosuke Niwa  <rniwa@webkit.org>
95161
95162         Reviewed by Ojan Vafai.
95163
95164         [Windows] Home hey doesn't work in first DIV inside a TABLE
95165         https://bugs.webkit.org/show_bug.cgi?id=42767
95166
95167         The bug was caused by positionAvoidingFirstPositionInTable moving outside of the editing region.
95168         Added a check so that it avoids the first position in the table only if the table is editable.
95169
95170         Test: editing/selection/home-inside-noneditable-table.html
95171
95172         * editing/visible_units.cpp:
95173         (WebCore::positionAvoidingFirstPositionInTable):
95174
95175 2010-07-22  Antonio Gomes  <tonikitoo@webkit.org>
95176
95177         Reviewed by Laszlo Gombos.
95178
95179         Fix build warning for missing parentheses.
95180
95181         WebCore/html/HTMLInputElement.cpp:113: warning: suggest parentheses around '&&' within '||'
95182
95183         * html/HTMLInputElement.cpp:
95184         (WebCore::isNumberCharacter):
95185
95186 2010-07-22  John Gregg  <johnnyg@google.com>
95187
95188         Reviewed by Kent Tamura.
95189
95190         [chromium] fast/forms/input-file-directory-upload.html fails on win after r63454
95191         https://bugs.webkit.org/show_bug.cgi?id=42768
95192
95193         Normalize path separators for the script API by convering \'s to /'s.
95194
95195         Covered by input-file-directory-upload.html
95196
95197         * html/HTMLInputElement.cpp:
95198         (WebCore::HTMLInputElement::setFileListFromRenderer):
95199
95200 2010-07-22  Dmitry Titov  <dimich@chromium.org>
95201
95202         Rubberstamped by Simon Fraser.
95203
95204         * platform/PlatformStrategies.h:
95205         (WebCore::PlatformStrategies::PlatformStrategies): Add initialization of m_localizationStrategy.
95206
95207 2010-07-22  Dumitru Daniliuc  <dumi@chromium.org>
95208
95209         Reviewed by Ojan Vafai.
95210
95211         Make db.changeVersion()'s third parameter optional, as required by the spec.
95212         https://bugs.webkit.org/show_bug.cgi?id=42787
95213
95214         * bindings/js/JSDatabaseCustom.cpp:
95215         (WebCore::JSDatabase::changeVersion):
95216         * bindings/js/JSDatabaseSyncCustom.cpp:
95217         (WebCore::JSDatabaseSync::changeVersion):
95218         * bindings/v8/custom/V8DatabaseCustom.cpp:
95219         (WebCore::V8Database::changeVersionCallback):
95220         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
95221         (WebCore::V8DatabaseSync::changeVersionCallback):
95222         * storage/SQLTransaction.cpp:
95223         (WebCore::SQLTransaction::deliverTransactionCallback):
95224         * storage/SQLTransactionSync.cpp:
95225         (WebCore::SQLTransactionSync::execute):
95226
95227 2010-07-20  Jessie Berlin  <jberlin@apple.com>
95228
95229         Reviewed by Darin Adler.
95230
95231         Code Generator: Allow negative and string constants.
95232         Also add tests for hexadecimal numbers.
95233
95234         * bindings/scripts/CodeGeneratorJS.pm:
95235         If it is a string, do not try to cast it to an int.
95236
95237         * bindings/scripts/IDLStructure.pm:
95238         Add a regex just for constant values that allows strings, hexadecimal numbers, and integral numbers.
95239
95240         * bindings/scripts/test/CPP/WebDOMTestObj.h:
95241         Update the tests.
95242
95243         * bindings/scripts/test/JS/JSTestObj.cpp:
95244         Ditto.
95245
95246         * bindings/scripts/test/JS/JSTestObj.h:
95247         Ditto.
95248
95249         * bindings/scripts/test/ObjC/DOMTestObj.h:
95250         Ditto.
95251
95252         * bindings/scripts/test/TestObj.idl:
95253         Add tests for negative numbers, strings, and hexadecimal numbers.
95254
95255         * bindings/scripts/test/V8/V8TestObj.cpp:
95256         Update the tests.
95257
95258 2010-07-22  Simon Fraser  <simon.fraser@apple.com>
95259
95260         Reviewed by Darin Adler.
95261
95262         Composited layers don't scroll in WebKit2
95263         https://bugs.webkit.org/show_bug.cgi?id=42771
95264
95265         More prep work: make a single scrollPositionChanged() bottleneck method, and use it to 
95266         send the scroll event, repaint fixed elements, and update compositing layers.
95267
95268         * page/FrameView.cpp:
95269         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
95270         (WebCore::FrameView::scrollPositionChanged):
95271         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
95272         (WebCore::FrameView::valueChanged):
95273         * page/FrameView.h:
95274         * platform/ScrollView.cpp:
95275         (WebCore::ScrollView::valueChanged):
95276
95277 2010-07-22  Sam Weinig  <sam@webkit.org>
95278
95279         Reviewed by Anders Carlsson.
95280
95281         Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
95282         Add localized strings stubs for WebKit2.
95283
95284         - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
95285           for localized strings.
95286
95287         Gets us below 200 tests failing in WebKitTestRunner.
95288
95289         * WebCore.exp.in:
95290         * WebCore.xcodeproj/project.pbxproj:
95291         * page/mac/WebCoreViewFactory.h:
95292         * platform/LocalizationStrategy.h: Added.
95293         (WebCore::LocalizationStrategy::~LocalizationStrategy):
95294         * platform/PlatformStrategies.h:
95295         (WebCore::PlatformStrategies::pluginStrategy):
95296         (WebCore::PlatformStrategies::localizationStrategy):
95297         (WebCore::PlatformStrategies::PlatformStrategies):
95298         (WebCore::PlatformStrategies::~PlatformStrategies):
95299         * platform/mac/LocalizedStringsMac.mm:
95300
95301 2010-07-22  Andras Becsi  <abecsi@webkit.org>
95302
95303         Reviewed by Antonio Gomes.
95304
95305         [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
95306         https://bugs.webkit.org/show_bug.cgi?id=42830
95307
95308         No new tests needed.
95309
95310         * WebCore.pri: add ApplicationCacheStorage.h to wk2 headers
95311         * WebCore.pro: add WebContextQt.cpp to sources
95312
95313 2010-07-22  Joone Hur  <joone.hur@samsung.com>
95314
95315         Reviewed by Antonio Gomes.
95316
95317         [EFL] add support for logging
95318         https://bugs.webkit.org/show_bug.cgi?id=40807
95319
95320         Enable to turn log channels on for EFL port
95321
95322         * platform/efl/LoggingEfl.cpp:
95323         (WebCore::InitializeLoggingChannelsIfNecessary):
95324
95325 2010-07-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
95326
95327         Ureviewed build fix.
95328
95329         [Qt] Fix WebKit2 build
95330
95331         https://bugs.webkit.org/show_bug.cgi?id=42638
95332
95333         * WebCore.pri:
95334         * WebCore.pro:
95335
95336 2010-07-22  Andrey Kosyakov  <caseq@chromium.org>
95337
95338         Reviewed by Yury Semikhatsky.
95339
95340         Web Inspector: Stop granting universal access to inspector front-end page.
95341         https://bugs.webkit.org/show_bug.cgi?id=42817
95342
95343         * inspector/InspectorFrontendClientLocal.cpp:
95344         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
95345
95346 2010-07-22  Yury Semikhatsky  <yurys@chromium.org>
95347
95348         Unreviewed. Fix inspector console tests crashes.
95349
95350         * bindings/v8/ScriptValue.cpp:
95351         (WebCore::v8ToInspectorValue):
95352         (WebCore::ScriptValue::toInspectorValue): enter v8 context before calling GetPropertyNames
95353
95354 2010-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
95355
95356         Unreviewed build fix.
95357
95358         [EFL] Build break for SVN r63881
95359         https://bugs.webkit.org/show_bug.cgi?id=42813
95360
95361         * CMakeLists.txt: Add platform/SchemeRegistry.cpp
95362
95363 2010-07-22  Hayato Ito  <hayato@chromium.org>
95364
95365         Reviewed by Darin Adler.
95366
95367         Refactor CSSSelector's destructor and make it inline.
95368
95369         https://bugs.webkit.org/show_bug.cgi?id=42726
95370
95371         Refactor with no behavior change, thus no new tests.
95372
95373         * css/CSSSelector.cpp:
95374         (WebCore::CSSSelectorBag::~CSSSelectorBag): Make sure the bag is empty.
95375         (WebCore::CSSSelectorBag::add): Renamed from append().
95376         (WebCore::CSSSelector::releaseOwnedSelectorsToBag):
95377         (WebCore::CSSSelector::deleteReachableSelectors):
95378         * css/CSSSelector.h:
95379         (WebCore::CSSSelector::~CSSSelector):
95380
95381 2010-07-22  Yury Semikhatsky  <yurys@chromium.org>
95382
95383         Reviewed by Pavel Feldman.
95384
95385         Web Inspector: should be possible to convert console message arguments to InspectorValues
95386         https://bugs.webkit.org/show_bug.cgi?id=42457
95387
95388         Now it is possible to convert simple JavaScript objects to
95389         InspectorValues.
95390
95391         * bindings/js/ScriptValue.cpp:
95392         (WebCore::jsToInspectorValue):
95393         (WebCore::ScriptValue::toInspectorValue):
95394         * bindings/js/ScriptValue.h:
95395         * bindings/v8/ScriptValue.cpp:
95396         (WebCore::v8ToInspectorValue):
95397         (WebCore::ScriptValue::toInspectorValue):
95398         * bindings/v8/ScriptValue.h:
95399         * inspector/ConsoleMessage.cpp: console notifications are pushed to RemoteInspectorFrontend instead of InspectorFrontend.
95400         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
95401         (WebCore::ConsoleMessage::addToFrontend):
95402         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
95403         * inspector/ConsoleMessage.h:
95404         * inspector/InjectedScript.cpp:
95405         (WebCore::InjectedScript::wrapForConsole): return InspectorValue instead of SerializedScriptValue
95406         * inspector/InjectedScript.h:
95407         * inspector/Inspector.idl:
95408         * inspector/InspectorBackend.cpp:
95409         (WebCore::InspectorBackend::clearConsoleMessages): send response directly from the backend
95410         (WebCore::InspectorBackend::remoteFrontend):
95411         * inspector/InspectorBackend.h:
95412         * inspector/InspectorController.cpp:
95413         (WebCore::InspectorController::addConsoleMessage):
95414         (WebCore::InspectorController::clearConsoleMessages): don't send notification to the front end,
95415         it will be send either from InspectorBackend.cpp if it was a user request or reset message will
95416         be send to the front end if the messages are cleared due to page navigation.
95417         (WebCore::InspectorController::populateScriptObjects):
95418         * inspector/front-end/ConsoleView.js:
95419         * inspector/front-end/inspector.js:
95420
95421 2010-07-22  Alexander Pavlov  <apavlov@chromium.org>
95422
95423         Reviewed by Pavel Feldman.
95424
95425         Web Inspector: Modifying settings actually modifies defaultValues
95426         https://bugs.webkit.org/show_bug.cgi?id=42816
95427
95428         Avoid using live modifiable objects as property default values.
95429
95430         * inspector/front-end/Settings.js:
95431         (WebInspector.Settings):
95432         (WebInspector.Settings.prototype.reset):
95433         (WebInspector.Settings.prototype._load):
95434         (WebInspector.Settings.prototype.installSetting):
95435         (WebInspector.Settings.prototype._get):
95436
95437 2010-07-22  Ben Murdoch  <benm@google.com>
95438
95439         Reviewed by Simon Fraser.
95440
95441         Touch events do not affect the :active CSS state
95442         https://bugs.webkit.org/show_bug.cgi?id=39493
95443
95444         Clean the code up by using a typedef based on comments
95445         post landing of the original patch.
95446
95447         No change in functionality so no new tests.
95448
95449         * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
95450         * WebCore.exp.in: Update export signature.
95451         * WebCore.order: Ditto.
95452         * page/EventHandler.cpp: use the new typedef.
95453         * page/EventHandler.h: ditto.
95454
95455
95456 2010-07-22  Alexander Pavlov  <apavlov@chromium.org>
95457
95458         Reviewed by Pavel Feldman.
95459
95460         Web Inspector: Rename method for CSS rule source range retrieval and fix return object format
95461         https://bugs.webkit.org/show_bug.cgi?id=42379
95462
95463         * inspector/Inspector.idl:
95464         * inspector/InspectorBackend.cpp:
95465         (WebCore::InspectorBackend::getRuleRanges):
95466         * inspector/InspectorBackend.h:
95467         * inspector/InspectorBackend.idl:
95468         * inspector/InspectorCSSStore.cpp:
95469         (WebCore::InspectorCSSStore::getRuleRanges):
95470         * inspector/InspectorCSSStore.h:
95471         * inspector/InspectorDOMAgent.cpp:
95472         (WebCore::InspectorDOMAgent::getRuleRanges):
95473         * inspector/InspectorDOMAgent.h:
95474         * inspector/front-end/DOMAgent.js:
95475
95476 2010-07-21  Pavel Feldman  <pfeldman@chromium.org>
95477
95478         Reviewed by Yury Semikhatsky.
95479
95480         Chromium Dev Tools: Separators are missing in the context menu.
95481
95482         https://bugs.webkit.org/show_bug.cgi?id=42761
95483
95484         * bindings/js/JSInspectorFrontendHostCustom.cpp:
95485         (WebCore::JSInspectorFrontendHost::showContextMenu):
95486         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
95487         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
95488         * platform/ContextMenuItem.h:
95489         (WebCore::):
95490
95491 2010-07-22  Zoltan Herczeg  <zherczeg@webkit.org>
95492
95493         Reviewed by Nikolas Zimmermann.
95494
95495         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
95496         https://bugs.webkit.org/show_bug.cgi?id=42244
95497
95498         Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
95499         called SVGFilterPrimitiveStandardAttributes.
95500
95501         Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
95502                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
95503                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
95504                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
95505                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
95506                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
95507                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
95508                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
95509                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
95510                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
95511
95512         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
95513         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
95514         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
95515         * svg/SVGFilterPrimitiveStandardAttributes.h:
95516         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):
95517
95518 2010-07-22  Kent Tamura  <tkent@chromium.org>
95519
95520         Reviewed by Darin Adler.
95521
95522         Small refactoring for input value sanitization
95523         https://bugs.webkit.org/show_bug.cgi?id=42807
95524
95525         Rename some functions to clarify their roles.
95526
95527         * dom/InputElement.cpp:
95528         (WebCore::replaceEOLAndLimitLength):
95529           Renamed from sanitizeUserInputValue().
95530         (WebCore::InputElement::sanitizeValueForTextField):
95531           Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
95532           instead of sanitizeUserInputValue().
95533         (WebCore::InputElement::sanitizeUserInputValue):
95534           Just call replaceEOLAndLimitLength().
95535         (WebCore::InputElement::updateValueIfNeeded):
95536           Use non-static sanitizeValue() for consistency.
95537         * dom/InputElement.h:
95538         * html/HTMLInputElement.cpp:
95539         (WebCore::HTMLInputElement::setInputType):
95540           Revert the change of r63876. It is not needed because of the
95541           updateValueIfNeeded() change.
95542         (WebCore::HTMLInputElement::sanitizeValue):
95543           Apply the sanitizeValue() renaming.
95544
95545 2010-07-22  Tony Gentilcore  <tonyg@chromium.org>
95546
95547         Reviewed by Darin Fisher.
95548
95549         webkitPerformance.timing.responseEnd should not include document parse time
95550         https://bugs.webkit.org/show_bug.cgi?id=42797
95551
95552         No new tests because timing based test would be flaky.
95553
95554         * loader/FrameLoader.cpp:
95555         (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
95556         * loader/MainResourceLoader.cpp:
95557         (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
95558         (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
95559         * loader/MainResourceLoader.h:
95560         * page/Timing.cpp:
95561         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.
95562
95563 2010-07-21  Kent Tamura  <tkent@chromium.org>
95564
95565         Reviewed by Darin Adler.
95566
95567         Assertion failure by changing the type of an input element with a
95568         non-number value to 'range'.
95569         https://bugs.webkit.org/show_bug.cgi?id=42643
95570
95571         Test: fast/forms/input-value-sanitization.html
95572
95573         * html/HTMLInputElement.cpp:
95574         (WebCore::HTMLInputElement::setInputType):
95575         Update the value by HTMLInputElement::sanitizeValue() in a case that
95576         storesValueSeparateFromAttribute() state is not changed.
95577
95578 2010-07-21  Adam Barth  <abarth@webkit.org>
95579
95580         Reviewed by Eric Seidel.
95581
95582         Implement spec changes for basefont and bgsound
95583         https://bugs.webkit.org/show_bug.cgi?id=42792
95584
95585         * html/HTMLTreeBuilder.cpp:
95586         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
95587         (WebCore::HTMLTreeBuilder::processStartTag):
95588         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
95589
95590 2010-07-21  Adam Barth  <abarth@webkit.org>
95591
95592         Reviewed by Eric Seidel.
95593
95594         Update a list of tags to match changes in the HTML5 spec
95595         https://bugs.webkit.org/show_bug.cgi?id=42791
95596
95597         We need to atomize these strings at some point.
95598
95599         * html/HTMLTreeBuilder.cpp:
95600         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
95601
95602 2010-07-21  Adam Barth  <abarth@webkit.org>
95603
95604         Reviewed by Eric Seidel.
95605
95606         HTMLTreeBuilder needs to update to match new spec behavior for <button>
95607         https://bugs.webkit.org/show_bug.cgi?id=42233
95608
95609         The spec has some typos in this area, but this is my best guess for
95610         what Ian means.  I've filed bugs against the spec for each typo.
95611
95612         * html/HTMLElementStack.cpp:
95613         (WebCore::HTMLNames::isScopeMarker):
95614         (WebCore::HTMLNames::isButtonScopeMarker):
95615         (WebCore::HTMLElementStack::inButtonScope):
95616         * html/HTMLElementStack.h:
95617         * html/HTMLTreeBuilder.cpp:
95618         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
95619         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
95620         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
95621         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
95622         * html/HTMLTreeBuilder.h:
95623
95624 2010-07-21  Justin Schuh  <jschuh@chromium.org>
95625
95626         Reviewed by Oliver Hunt.
95627
95628         Prevent DeleteButtonController enable state from changing when not editing
95629         https://bugs.webkit.org/show_bug.cgi?id=42659
95630
95631         Test: svg/custom/use-invalid-html.xhtml
95632
95633         * dom/ContainerNode.cpp:
95634         (WebCore::ContainerNode::cloneChildNodes):
95635
95636 2010-07-21  Beth Dakin  <bdakin@apple.com>
95637
95638         Reviewed by Dan Bernstein.
95639
95640         Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
95641         radius path-based drawing code has some issues with corner-joins
95642
95643         GraphicsContext::clipConvexPolygon() now takes a boolean parameter 
95644         indicating whether or not the clip should be antialiased.
95645         * platform/graphics/GraphicsContext.h:
95646         * platform/graphics/cairo/GraphicsContextCairo.cpp:
95647         (WebCore::GraphicsContext::clipConvexPolygon):
95648         * platform/graphics/cg/GraphicsContextCG.cpp:
95649         (WebCore::GraphicsContext::clipConvexPolygon):
95650         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
95651         (WebCore::GraphicsContext::clipConvexPolygon):
95652         * platform/graphics/qt/GraphicsContextQt.cpp:
95653         (WebCore::GraphicsContext::clipConvexPolygon):
95654         * platform/graphics/skia/GraphicsContextSkia.cpp:
95655         (WebCore::GraphicsContext::clipConvexPolygon):
95656         * platform/graphics/wince/GraphicsContextWince.cpp:
95657         (WebCore::GraphicsContext::clipConvexPolygon):
95658         * platform/graphics/wx/GraphicsContextWx.cpp:
95659         (WebCore::GraphicsContext::clipConvexPolygon):
95660
95661         Compute 4 booleans determining if each edge is a "matching" edge of 
95662         not. Send the two appropriate values to clipBorderSidePolygon() so 
95663         we can decide there whether or not to antialias the clip based on 
95664         matchy-ness.
95665         * rendering/RenderBoxModelObject.cpp:
95666         (WebCore::RenderBoxModelObject::paintBorder):
95667
95668         If both edges are matching, don't antialias. If neither edge 
95669         matches, never antialias. If one edge matches and one does not, 
95670         apply two clips to get the appropriate antialiasing in each corner.
95671         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
95672         * rendering/RenderBoxModelObject.h:
95673
95674 2010-07-21  Brady Eidson  <beidson@apple.com>
95675
95676         Reviewed by Geoffrey Garen.
95677
95678         Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
95679         https://bugs.webkit.org/show_bug.cgi?id=42783
95680
95681         No new tests. (No change in behavior)
95682
95683         * GNUmakefile.am:
95684         * WebCore.exp.in:
95685         * WebCore.gypi:
95686         * WebCore.pro:
95687         * WebCore.vcproj/WebCore.vcproj:
95688         * WebCore.xcodeproj/project.pbxproj:
95689         
95690         * loader/FrameLoader.cpp:
95691         (WebCore::FrameLoader::isMixedContent):
95692         (WebCore::FrameLoader::loadFrameRequest):
95693         
95694         * page/SecurityOrigin.cpp:
95695         (WebCore::SecurityOrigin::SecurityOrigin):
95696         (WebCore::SecurityOrigin::canLoad):
95697         (WebCore::SecurityOrigin::isLocal):
95698         * page/SecurityOrigin.h:
95699         
95700         * platform/SchemeRegistry.cpp: Added.
95701         (WebCore::localSchemes):
95702         (WebCore::secureSchemes):
95703         (WebCore::schemesWithUniqueOrigins):
95704         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
95705         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
95706         (WebCore::SchemeRegistry::localURLSchemes):
95707         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
95708         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
95709         (WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
95710         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
95711         (WebCore::SchemeRegistry::registerURLSchemeAsSecure):
95712         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
95713         * platform/SchemeRegistry.h: Added.
95714
95715 2010-07-21  Chris Marrin  <cmarrin@apple.com>
95716
95717         Reviewed by Simon Fraser.
95718
95719         Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
95720         https://bugs.webkit.org/show_bug.cgi?id=37993
95721         
95722         Added logic to properly handle pausing and resuming when in the 
95723         AnimationStateStartWaitStyleAvailable state. This was causing an
95724         assert when going out of the pause state because the paused flag
95725         was not set.
95726         
95727         The fix is a straightforward implementation, going into a new
95728         AnimationStatePausedWaitStyleAvailable state and setting the paused
95729         flag (actually setting the m_pauseTime variable to something other
95730         than -1). Also added handling of the new state, both when the 
95731         "style available" callback comes in while in this state and when
95732         unpausing while in this state. 
95733         
95734         For now a LayoutTest is not possible since there's no way to go in
95735         and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
95736         to track this.
95737
95738         * page/animation/AnimationBase.cpp:
95739         (WebCore::AnimationBase::updateStateMachine):
95740         * page/animation/AnimationBase.h:
95741         (WebCore::AnimationBase::):
95742
95743 2010-07-21  Bo Liu  <boliu@chromium.org>
95744
95745         Reviewed by Darin Fisher.
95746
95747         [Chromium] Add chromium WebMediaPlayer to PlatformMedia
95748         https://bugs.webkit.org/show_bug.cgi?id=41295
95749
95750         * platform/graphics/MediaPlayer.h:
95751         (WebCore::PlatformMedia::):
95752
95753 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
95754
95755         Reviewed by Anders Carlsson.
95756
95757         Composited layers don't scroll in WebKit2
95758         https://bugs.webkit.org/show_bug.cgi?id=42771
95759
95760         Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
95761         but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
95762         scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
95763
95764         * WebCore.exp.in:
95765         * page/FrameView.cpp:
95766         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
95767         * page/FrameView.h:
95768
95769 2010-07-21  Peter Beverloo  <peter@lvp-media.com>
95770
95771         Reviewed by Eric Carlson.
95772
95773         Removed support for the -khtml CSS vendor prefix and limit the
95774         -apple prefix to two properties (dashboard-region and line-clamp).
95775
95776         Test: fast/css/limited-vendor-prefix-behavior.html
95777
95778         * css/CSSParser.cpp:
95779         (WebCore::cssPropertyID):
95780
95781 2010-07-21  Adam Barth  <abarth@webkit.org>
95782
95783         Reviewed by Eric Seidel.
95784
95785         Fix the last tree HTML5 tree builder crashes
95786         https://bugs.webkit.org/show_bug.cgi?id=42773
95787
95788         This patch changes the internal representation of a bookmark to handle
95789         the case where one of the adjecent entries in the list of active
95790         formatting elements is actually a marker.
95791
95792         After this patch, the bookmarking mechanism isn't as general, but it
95793         works for the cases we need in the adoption agency.
95794
95795         Also, after this patch, there aren't any more known crashers in the
95796         HTML5 tree builder.  :)
95797
95798         * html/HTMLFormattingElementList.cpp:
95799         (WebCore::HTMLFormattingElementList::bookmarkFor):
95800         (WebCore::HTMLFormattingElementList::swapTo):
95801         * html/HTMLFormattingElementList.h:
95802         (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
95803         (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
95804         (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
95805         (WebCore::HTMLFormattingElementList::Bookmark::mark):
95806         (WebCore::HTMLFormattingElementList::first):
95807         * html/HTMLTreeBuilder.cpp:
95808         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
95809
95810 2010-07-21  Tony Gentilcore  <tonyg@chromium.org>
95811
95812         Unreviewed build fix.
95813
95814         Disable overzealous ASSERT
95815         https://bugs.webkit.org/show_bug.cgi?id=42775
95816
95817         No new tests because no changed functionality.
95818
95819         * loader/FrameLoader.cpp:
95820         (WebCore::FrameLoader::stopLoading):
95821
95822 2010-07-21  Yael Aharon  <yael.aharon@nokia.com>
95823
95824         Reviewed by Darin Adler.
95825
95826         Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
95827         https://bugs.webkit.org/show_bug.cgi?id=42534
95828
95829         Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
95830         Calling it from the destructor of Frame is too late and sometimes causes access violation.
95831         I was not able to reproduce this crash, so did not add new tests.
95832         This patch is based on the error reported in 
95833         http://code.google.com/p/chromium/issues/detail?id=49323.
95834
95835         * page/DOMWindow.cpp:
95836         (WebCore::DOMWindow::pageDestroyed):
95837         * page/DOMWindow.h:
95838         * page/Frame.cpp:
95839         (WebCore::Frame::pageDestroyed):
95840
95841 2010-07-21  Anders Carlsson  <andersca@apple.com>
95842
95843         Reviewed by Sam Weinig.
95844
95845         Don't assert when clicking on a plug-in in WebKit2
95846         https://bugs.webkit.org/show_bug.cgi?id=42762
95847
95848         Remove a now invalid assert and return false instead.
95849
95850         * page/mac/EventHandlerMac.mm:
95851         (WebCore::EventHandler::passMouseDownEventToWidget):
95852
95853 2010-07-21  Anton Muhin  <antonm@chromium.org>
95854
95855         Reviewed by Adam Barth.
95856
95857         [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
95858         https://bugs.webkit.org/show_bug.cgi?id=42766
95859
95860         See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.
95861
95862         * bindings/scripts/CodeGeneratorV8.pm:
95863         * bindings/v8/ScriptController.cpp:
95864         (WebCore::ScriptController::namedItemAdded):
95865         (WebCore::ScriptController::namedItemRemoved):
95866         * bindings/v8/V8DOMWindowShell.cpp:
95867         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
95868         * bindings/v8/V8DOMWindowShell.h:
95869         * bindings/v8/V8DOMWrapper.cpp:
95870         (WebCore::V8DOMWrapper::instantiateV8Object):
95871         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
95872         (WebCore::V8HTMLDocument::namedPropertyDeleter):
95873         (WebCore::V8HTMLDocument::namedPropertyGetter):
95874         (WebCore::V8HTMLDocument::indexedPropertyGetter):
95875         (WebCore::V8HTMLDocument::allAccessorSetter):
95876         (WebCore::toV8):
95877
95878 2010-07-21  Eric Carlson  <eric.carlson@apple.com>
95879
95880         Reviewed by Simon Fraser.
95881
95882         Update plug-in proxy backed <video> and <audio> elements.
95883         https://bugs.webkit.org/show_bug.cgi?id=42770
95884         <rdar://problem/7963467>
95885
95886         * html/HTMLMediaElement.cpp:
95887         (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
95888         the 'controls' attribute changes.
95889         (WebCore::HTMLMediaElement::createRenderer): 
95890         (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's 
95891         'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the 
95892         plug-in's view to the global list of plugin views.
95893         (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL
95894
95895         * loader/EmptyClients.h:
95896         (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
95897         (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
95898
95899         * loader/FrameLoader.cpp:
95900         * loader/FrameLoaderClient.h:
95901         * loader/SubframeLoader.cpp:
95902         (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
95903          even when we don't have a renderer.
95904         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
95905         (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.
95906
95907         * platform/graphics/MediaPlayer.cpp:
95908         (WebCore::NullMediaPlayerPrivate::setControls):
95909         (WebCore::MediaPlayer::setControls): New, pass through to media engine.
95910         (WebCore::MediaPlayer::enterFullscreen): Ditto.
95911         (WebCore::MediaPlayer::exitFullscreen): Ditto.
95912         * platform/graphics/MediaPlayer.h:
95913         * platform/graphics/MediaPlayerPrivate.h:
95914         (WebCore::MediaPlayerPrivateInterface::setControls):
95915         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
95916         (WebCore::MediaPlayerPrivateInterface::exitFullscreen):
95917
95918 2010-07-21  Dimitri Glazkov  <dglazkov@chromium.org>
95919
95920         Reviewed by Darin Adler.
95921
95922         Make more members of CSSStyleSelector private.
95923         https://bugs.webkit.org/show_bug.cgi?id=42757
95924
95925         No change in behavior, so no new tests.
95926
95927         * css/CSSStyleSelector.h: Made a publicly-unused methods private.
95928
95929 2010-07-21  Pavel Feldman  <pfeldman@chromium.org>
95930
95931         Reviewed by Timothy Hatcher.
95932
95933         Web Inspector: consider jQuery object to be of array nature.
95934
95935         https://bugs.webkit.org/show_bug.cgi?id=42758
95936
95937         * inspector/front-end/InjectedScript.js:
95938         (injectedScriptConstructor):
95939
95940 2010-07-21  Alexey Proskuryakov  <ap@apple.com>
95941
95942         Unreviewed Windows build fix.
95943
95944         https://bugs.webkit.org/show_bug.cgi?id=42717
95945         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
95946         credential storage, and is sent with subsequent requests
95947
95948         * platform/network/cf/ResourceHandleCFNet.cpp:
95949         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
95950         copy/paste, oops!
95951
95952 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
95953
95954         Reviewed by Darin Adler.
95955
95956         When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
95957         https://bugs.webkit.org/show_bug.cgi?id=42662
95958         
95959         If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
95960         need to flip the rects passed to setNeedsDisplayInRect:.
95961         
95962         Avoid writing this code twice by making a bare function to share code
95963         between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
95964         class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
95965         
95966         Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
95967         correct.
95968         
95969         No new tests because no layers use bottom-up contents at present.
95970
95971         * platform/graphics/mac/GraphicsLayerCA.mm:
95972         (WebCore::GraphicsLayerCA::updateContentsTransform):
95973         * platform/graphics/mac/WebLayer.h:
95974         * platform/graphics/mac/WebLayer.mm:
95975         (drawLayerContents):
95976         (setLayerNeedsDisplayInRect):
95977         (-[WebLayer setNeedsDisplayInRect:]):
95978         (-[WebLayer drawInContext:]):
95979         * platform/graphics/mac/WebTiledLayer.mm:
95980         (-[WebTiledLayer setNeedsDisplayInRect:]):
95981         (-[WebTiledLayer drawInContext:]):
95982
95983 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
95984
95985         Reviewed by Darin Adler.
95986
95987         https://bugs.webkit.org/show_bug.cgi?id=42717
95988         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
95989         credential storage, and is sent with subsequent requests
95990
95991         Tests: http/tests/security/401-logout/401-logout.php
95992                http/tests/xmlhttprequest/remember-bad-password.html
95993
95994         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
95995         * platform/network/CredentialStorage.h:
95996         Added a way to remove stored credentials for a given protection space.
95997
95998         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
95999         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
96000         Remove stored credentials if they didn't work the first time.
96001
96002 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
96003
96004         Reviewed by Adam Roben.
96005
96006         WebKit on Windows should build optionally with an unversioned ICU DLL
96007         https://bugs.webkit.org/show_bug.cgi?id=42722
96008         <rdar://problem/8211767> WebKit needs to link against unversioned ICU
96009
96010         To get the proper value for U_DISABLE_RENAMING into all source files, we force
96011         the include of ICUVersion.h (our generated header) via the compiler options.
96012         
96013         * WebCore.vcproj/WebCore.vcproj:
96014         Add forced include of ICUVersion.h.
96015         * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
96016
96017 2010-07-21  Ilya Tikhonovsky  <loislo@chromium.org>
96018
96019         Reviewed by Pavel Feldman.
96020
96021         WebInspector: Serialization to JSON in InspectorValue works incorrect
96022         if comma is assigned as decimal separator. Windows with Russian locale.
96023         https://bugs.webkit.org/show_bug.cgi?id=42755
96024
96025         * inspector/InspectorValues.cpp:
96026         (WebCore::InspectorBasicValue::writeJSON):
96027
96028 2010-07-20  Simon Fraser  <simon.fraser@apple.com>
96029
96030         Reviewed by Dan Bernstein.
96031
96032         CSS rotation transform can cause elements with certain styles to vanish during rotation.
96033         https://bugs.webkit.org/show_bug.cgi?id=42579
96034         
96035         Remove some untested, broken code that, as far as I can tell, could never get hit.
96036         Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
96037         but a border paint correctly.
96038
96039         Test: compositing/overflow/zero-size-overflow.html
96040
96041         * rendering/RenderLayerBacking.cpp:
96042         (WebCore::RenderLayerBacking::paintIntoLayer):
96043
96044 2010-07-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
96045
96046         Reviewed by Laszlo Gombos.
96047
96048         [QT] Leak and few more fixes to qt port of geolocation
96049         https://bugs.webkit.org/show_bug.cgi?id=42753
96050
96051         Fixes memory leak and default values set to attributes. 
96052         
96053         Memory leak fix no new test case added. 
96054
96055         * platform/qt/GeolocationServiceQt.cpp: Added.
96056         (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
96057         (WebCore::GeolocationServiceQt::positionUpdated):
96058
96059 2010-07-21  Kristian Amlie <kristian.amlie@nokia.com>
96060
96061         Reviewed by Kenneth Rohde Christiansen.
96062
96063         Added automatic sqlite extraction for Symbian to QtWebKit.
96064
96065         Also added sqlite detection in case sqlite is not present in the SDK.
96066         This is possible if WebKit is compiled standalone.
96067
96068         The inclusion part is a consequence of commit c578c6c1d6d in the Qt
96069         repository. It will not work on Qt versions < 4.7.1, but that is ok,
96070         since the only build system it will affect is marked as experimental
96071         in the whole 4.7 series.
96072
96073         * WebCore.pro:
96074
96075 2010-07-21  Adam Barth  <abarth@webkit.org>
96076
96077         Reviewed by Eric Seidel.
96078
96079         Associate elements with the active form
96080         https://bugs.webkit.org/show_bug.cgi?id=42728
96081
96082         This patch fixes fast/forms/formmove3.html.  The test still doesn't
96083         pass due to some render tree differences, but it works as intended now.
96084
96085         To fix this test, I needed to deviate from the spec slight.  Minefield
96086         seems to have the same deviation:
96087           - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216
96088
96089         * html/HTMLConstructionSite.cpp:
96090         (WebCore::HTMLConstructionSite::takeForm):
96091         (WebCore::HTMLConstructionSite::setForm):
96092         (WebCore::HTMLConstructionSite::createHTMLElement):
96093         * html/HTMLConstructionSite.h:
96094         (WebCore::HTMLConstructionSite::form):
96095         * html/HTMLTreeBuilder.cpp:
96096         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
96097
96098 2010-07-21  Adam Barth  <abarth@webkit.org>
96099
96100         Reviewed by Eric Seidel.
96101
96102         The adoption agency doesn't properly attach()
96103         https://bugs.webkit.org/show_bug.cgi?id=42727
96104
96105         The adoption agency is transliterated rather directly from the spec,
96106         but it misses some of the WebKit-specific machinations, such as
96107         attaching to the render tree.
96108
96109         The algorithm, as written, is a minor layer violation.  I've added to
96110         the problem by calling attach() from HTMLTreeBuilder (even though
96111         that's the job of the HTMLConstructionSite).  We'll need to clean up
96112         the layering a bit at some point.
96113
96114         This patch half fixes fast/forms/formmove3.html.  Hopefully I'll finish
96115         fixing it in the next patch.
96116
96117         * html/HTMLConstructionSite.cpp:
96118         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
96119         * html/HTMLTreeBuilder.cpp:
96120         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
96121
96122 2010-07-21  Adam Barth  <abarth@webkit.org>
96123
96124         Reviewed by Eric Seidel.
96125
96126         <input> elements with no type attribute should be foster parented
96127         https://bugs.webkit.org/show_bug.cgi?id=42725
96128
96129         Fix spec transcription error.
96130
96131         * html/HTMLTreeBuilder.cpp:
96132         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
96133
96134 2010-07-21  Adam Barth  <abarth@webkit.org>
96135
96136         Reviewed by Eric Seidel.
96137
96138         Fix fast/css/last-child-style-sharing.html
96139         https://bugs.webkit.org/show_bug.cgi?id=42731
96140
96141         Prior to this patch, we weren't calling finishParsingChildren on the
96142         body element.  We need a more systematic way of catching these bugs.
96143
96144         * html/HTMLElementStack.cpp:
96145         (WebCore::HTMLElementStack::popAll):
96146         * html/HTMLElementStack.h:
96147         * html/HTMLTreeBuilder.cpp:
96148         (WebCore::HTMLTreeBuilder::processEndOfFile):
96149
96150 2010-07-21  Hans Wennborg  <hans@chromium.org>
96151
96152         Reviewed by Steve Block.
96153
96154         Runtime feature switch for device orientation
96155         https://bugs.webkit.org/show_bug.cgi?id=42265
96156
96157         Add a runtime feature switch that decides whether device orientation
96158         events are available or not. Defaults to true.
96159
96160         * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
96161         * bindings/generic/RuntimeEnabledFeatures.cpp:
96162         * bindings/generic/RuntimeEnabledFeatures.h:
96163         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
96164         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
96165         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
96166         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
96167         * page/DOMWindow.cpp:
96168         (WebCore::DOMWindow::addEventListener):
96169         (WebCore::DOMWindow::removeEventListener):
96170         (WebCore::DOMWindow::removeAllEventListeners):
96171         * page/DOMWindow.idl:
96172         * page/Page.cpp:
96173         (WebCore::Page::Page):
96174
96175 2010-07-21  Zoltan Herczeg  <zherczeg@webkit.org>
96176
96177         Reviewed Nikolas Zimmermann.
96178
96179         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
96180         https://bugs.webkit.org/show_bug.cgi?id=42244
96181
96182         The implementation was done by Nikolas Zimmermann before, but
96183         there was no tests for it. The patch also implements the simple
96184         setFilterRes method.
96185
96186         Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
96187                svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
96188                svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
96189                svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
96190                svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
96191                svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
96192                svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
96193                svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
96194                svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
96195                svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
96196                svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
96197                svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
96198                svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
96199                svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
96200                svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
96201                svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html
96202
96203         * svg/SVGFilterElement.cpp:
96204         (WebCore::SVGFilterElement::setFilterRes):
96205         (WebCore::SVGFilterElement::svgAttributeChanged):
96206         (WebCore::SVGFilterElement::childrenChanged):
96207         * svg/SVGFilterElement.h:
96208
96209 2010-07-21  Ben Murdoch  <benm@google.com>
96210
96211         Unreviewed, build fix.
96212
96213         Forgot to update the role of HitTestRequest.h in
96214         the Xcode project after landing patch from
96215         https://bugs.webkit.org/show_bug.cgi?id=39493
96216
96217         * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
96218             private so it can be included in WebKit by EventHandler.h
96219             which is already private..
96220
96221 2010-07-20  Ben Murdoch  <benm@google.com>
96222
96223         Reviewed by Steve Block.
96224
96225         Touch events do not affect the :active CSS state
96226         https://bugs.webkit.org/show_bug.cgi?id=39493
96227
96228         Test: fast/events/touch/touch-active-state.html
96229
96230         * WebCore.exp.in: Update exports for new signature of
96231             hitTestResultAtPoint.
96232         * WebCore.order: ditto.
96233         * page/EventHandler.cpp:
96234         (WebCore::EventHandler::EventHandler):
96235         (WebCore::EventHandler::hitTestResultAtPoint): Pass the type
96236             of the hit test to perform as a parameter with a default
96237             value rather than harcoding it in the function body.
96238         (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
96239             the active element during a mouse move if the user is
96240             touching the screen.
96241         (WebCore::EventHandler::handleTouchEvent): Set the correct
96242             type of hit test to perform depending on the type of the
96243             touch event we are handling.
96244         * page/EventHandler.h: Update the signature of hitTestResultAtPoint.
96245
96246 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
96247
96248         Reviewed by Pavel Feldman.
96249
96250         console.assert should include stack trace with line numbers.
96251         https://bugs.webkit.org/show_bug.cgi?id=22556
96252
96253         Test: inspector/console-assert.html
96254
96255         * bindings/v8/ScriptCallStack.cpp:
96256         (WebCore::getTopFrameLocation):
96257         (WebCore::toScriptCallFramesVector):
96258         (WebCore::ScriptCallStack::create):
96259         (WebCore::ScriptCallStack::ScriptCallStack):
96260         * bindings/v8/ScriptCallStack.h:
96261         * bindings/v8/ScriptController.cpp:
96262         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
96263         * bindings/v8/custom/V8ConsoleCustom.cpp:
96264         (WebCore::V8Console::traceCallback):
96265         (WebCore::V8Console::assertCallback):
96266         * inspector/ConsoleMessage.cpp:
96267         (WebCore::ConsoleMessage::ConsoleMessage):
96268         * inspector/InspectorController.cpp:
96269         (WebCore::InspectorController::addMessageToConsole):
96270         * inspector/front-end/ConsoleView.js:
96271         (WebInspector.ConsoleMessage.prototype._formatMessage):
96272         (WebInspector.ConsoleMessage.prototype.toMessageElement):
96273         * page/Console.cpp:
96274         (WebCore::Console::lastWMLErrorMessage):
96275         * page/Console.idl:
96276
96277 2010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>
96278
96279         Reviewed by Kent Tamura.
96280
96281         [EFL] Use log functions instead of fprintf
96282         https://bugs.webkit.org/show_bug.cgi?id=42576
96283
96284         Use LOG and LOG_ERROR instead of fprintf.
96285
96286         No new tests, no new functionality.
96287
96288         * platform/efl/WidgetEfl.cpp:
96289         (WebCore::Widget::applyFallbackCursor):
96290
96291 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
96292
96293         Reviewed by Yury Semikhatsky.
96294
96295         WebInspector: the bindings generation helper script can be
96296         simplified a bit. Chromium.
96297         https://bugs.webkit.org/show_bug.cgi?id=42523
96298
96299         * WebCore.gyp/WebCore.gyp:
96300         * WebCore.gyp/scripts/rule_binding.py:
96301         * bindings/scripts/CodeGenerator.pm:
96302         * bindings/scripts/CodeGeneratorCPP.pm:
96303         * bindings/scripts/CodeGeneratorJS.pm:
96304         * bindings/scripts/CodeGeneratorObjC.pm:
96305         * bindings/scripts/CodeGeneratorV8.pm:
96306         * bindings/scripts/generate-bindings.pl:
96307         * inspector/CodeGeneratorInspector.pm:
96308
96309 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
96310
96311         Re-save vsprops file after no-op edit in Visual Studio
96312         to fix manual edit issues.
96313
96314         * WebCore.vcproj/WebCoreCommon.vsprops:
96315
96316 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
96317
96318         Re-save vcproj file after no-op edit in Visual Studio
96319         to fix manual edit issues.
96320
96321         * WebCore.vcproj/WebCore.vcproj:
96322
96323 2010-07-20  Adam Barth  <abarth@webkit.org>
96324
96325         Reviewed by Eric Seidel.
96326
96327         Include attributes when reconstructing elements in HTML5 tree builder
96328         https://bugs.webkit.org/show_bug.cgi?id=42594
96329
96330         Remove FIXME now that we have a test.
96331
96332         * html/HTMLConstructionSite.cpp:
96333         (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
96334
96335 2010-07-20  Sam Weinig  <sam@webkit.org>
96336
96337         Reviewed by Brady Eidson.
96338
96339         Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
96340         Make Acid2 pass in WebKit2
96341
96342         * WebCore.exp.in: Update exported functions.
96343
96344 2010-07-20  Gavin Peters  <gavinp@chromium.org>
96345
96346         Reviewed by Adam Barth.
96347
96348         prefetch categorization is exactly wrong
96349         https://bugs.webkit.org/show_bug.cgi?id=42651
96350
96351         While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.
96352
96353         Test: fast/dom/HTMLLinkElement/onload-completion-test.html
96354
96355         * loader/CachedCSSStyleSheet.h:
96356         * loader/CachedFont.h:
96357         * loader/CachedImage.h:
96358         * loader/CachedResource.cpp:
96359         * loader/CachedResource.h:
96360         (WebCore::CachedResource::isPrefetch):
96361         * loader/CachedScript.h:
96362         * loader/CachedXBLDocument.h:
96363         * loader/CachedXSLStyleSheet.h:
96364
96365 2010-07-20  James Hawkins  <jhawkins@chromium.org>
96366
96367         Reviewed by Darin Fisher.
96368
96369         Expose the form submission trigger on the HTMLFormElement object. This
96370         is used to verify that the user submitted the form instead of JS when
96371         saving form data in Chrome AutoFill.
96372         https://bugs.webkit.org/show_bug.cgi?id=42479
96373
96374         No new tests as this is only used by the Chromium WebKit API.
96375
96376         * html/HTMLFormElement.cpp:
96377         (WebCore::HTMLFormElement::HTMLFormElement):
96378         (WebCore::HTMLFormElement::submit):
96379         (WebCore::HTMLFormElement::reset):
96380         (WebCore::HTMLFormElement::submissionTrigger):
96381         * html/HTMLFormElement.h:
96382
96383 2010-07-20  Adam Barth  <abarth@webkit.org>
96384
96385         Unreviewed.
96386
96387         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
96388         https://bugs.webkit.org/show_bug.cgi?id=42668
96389
96390         Address some late-breaking review comments.
96391
96392         * dom/CharacterData.cpp:
96393         (WebCore::CharacterData::appendDataCommon):
96394         (WebCore::CharacterData::parserAppendData):
96395         (WebCore::CharacterData::appendData):
96396         (WebCore::CharacterData::insertData):
96397         (WebCore::CharacterData::replaceData):
96398         * dom/CharacterData.h:
96399
96400 2010-07-20  Daniel Erat  <derat@chromium.org>
96401
96402         Reviewed by Ojan Vafai.
96403
96404         Subpixel rendering always disabled for Chromium Linux
96405         https://bugs.webkit.org/show_bug.cgi?id=42220
96406
96407         Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
96408         flag to false for clarity.
96409
96410         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
96411
96412 2010-07-20  Adam Barth  <abarth@webkit.org>
96413
96414         Reviewed by Darin Adler.
96415
96416         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
96417         https://bugs.webkit.org/show_bug.cgi?id=42668
96418
96419         When I split parserAppendData from appendData, it was tempting to cut
96420         the function at dispatchModifiedEvent, but that's not quite right.  We
96421         still need to notify the parent that it's children have changed.
96422
96423         * dom/CharacterData.cpp:
96424         (WebCore::CharacterData::appendDataCommon):
96425         (WebCore::CharacterData::parserAppendData):
96426         (WebCore::CharacterData::appendData):
96427         * dom/CharacterData.h:
96428
96429 2010-07-20  Chris Fleizach  <cfleizach@apple.com>
96430
96431         Reviewed by Beth Dakin.
96432
96433         CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
96434         https://bugs.webkit.org/show_bug.cgi?id=42652
96435
96436         When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
96437         which may be out of date, leading to a crash.
96438         By using only get(), it implies that the AXTable must be created before AXTableCells. This should
96439         always be the case when AT clients access a table.
96440
96441         Test: accessibility/updating-attribute-in-table-causes-crash.html
96442
96443         * accessibility/AccessibilityTableCell.cpp:
96444         (WebCore::AccessibilityTableCell::parentTable):
96445
96446 2010-07-20  Abhishek Arya  <inferno@chromium.org>
96447
96448         Reviewed by David Hyatt.
96449
96450         Check the node is a text node before doing the static cast
96451         for editing commands.
96452         https://bugs.webkit.org/show_bug.cgi?id=42655
96453
96454         Test: editing/execCommand/editing-nontext-node-crash.xhtml
96455
96456         * editing/DeleteSelectionCommand.cpp:
96457         (WebCore::DeleteSelectionCommand::fixupWhitespace):
96458         * editing/InsertLineBreakCommand.cpp:
96459         (WebCore::InsertLineBreakCommand::doApply):
96460         * editing/InsertParagraphSeparatorCommand.cpp:
96461         (WebCore::InsertParagraphSeparatorCommand::doApply):
96462
96463 2010-07-20  Leo Yang  <leo.yang@torchmobile.com.cn>
96464
96465         Reviewed by David Hyatt.
96466
96467         Don't merge Anonymous block whose first child is inline run-in.
96468         Make run-in recalculate its style after its renderer is destroyed.
96469         https://bugs.webkit.org/show_bug.cgi?id=41375.
96470
96471         Test: fast/runin/crash-when-reparent-sibling.html
96472
96473         * rendering/RenderBlock.cpp:
96474         (WebCore::canMergeContiguousAnonymousBlocks):
96475         * rendering/RenderObjectChildList.cpp:
96476         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
96477
96478 2010-07-20  Steve Block  <steveblock@google.com>
96479
96480         Unreviewed Qt test fix.
96481
96482         Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
96483         https://bugs.webkit.org/show_bug.cgi?id=42068
96484
96485         No new tests, test fix only.
96486
96487         * WebCore.pro:
96488
96489 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
96490
96491         Unreviewed, rolling out r63764.
96492         http://trac.webkit.org/changeset/63764
96493         https://bugs.webkit.org/show_bug.cgi?id=42658
96494
96495         have broken Chromium linux build (Requested by loislo on
96496         #webkit).
96497
96498         * WebCore.gyp/WebCore.gyp:
96499         * WebCore.gyp/scripts/rule_binding.py:
96500         * bindings/scripts/CodeGenerator.pm:
96501         * bindings/scripts/CodeGeneratorCPP.pm:
96502         * bindings/scripts/CodeGeneratorJS.pm:
96503         * bindings/scripts/CodeGeneratorObjC.pm:
96504         * bindings/scripts/CodeGeneratorV8.pm:
96505         * bindings/scripts/generate-bindings.pl:
96506         * inspector/CodeGeneratorInspector.pm:
96507
96508 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
96509
96510         Reviewed by Brady Eidson.
96511
96512         https://bugs.webkit.org/show_bug.cgi?id=41531
96513         Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false
96514
96515         This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.
96516
96517         Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).
96518
96519         * loader/DocumentThreadableLoader.cpp:
96520         (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
96521         the request, continue without credentials - if the platform has a necessary method on
96522         ResourceHandle.
96523
96524         * loader/SubresourceLoader.cpp:
96525         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
96526         client for credentials if subresource loader client already took care of those.
96527
96528         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
96529         * platform/network/ResourceHandle.h:
96530         Added an accessor to check whether ResourceHandle is currently waiting for credentials.
96531
96532 2010-07-20  Leandro Pereira  <leandro@profusion.mobi>
96533
96534         [EFL] Unreviewed build fix.
96535
96536         Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
96537         Add websockets include directory.
96538
96539         The EFL port doesn't yet support automated tests.
96540
96541         * CMakeLists.txt:
96542
96543 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
96544
96545         Reviewed by Yury Semikhatsky.
96546
96547         WebInspector: the bindings generation helper script can be
96548         simplified a bit. Chromium.
96549         https://bugs.webkit.org/show_bug.cgi?id=42523
96550
96551         * WebCore.gyp/WebCore.gyp:
96552         * WebCore.gyp/scripts/rule_binding.py:
96553         * bindings/scripts/CodeGenerator.pm:
96554         * bindings/scripts/CodeGeneratorCPP.pm:
96555         * bindings/scripts/CodeGeneratorJS.pm:
96556         * bindings/scripts/CodeGeneratorObjC.pm:
96557         * bindings/scripts/CodeGeneratorV8.pm:
96558         * bindings/scripts/generate-bindings.pl:
96559         * inspector/CodeGeneratorInspector.pm:
96560
96561 2010-07-20  Joseph Pecoraro  <joepeck@webkit.org>
96562
96563         Reviewed by Geoffrey Garen.
96564
96565         WebScriptObject Should Allow Safely Checking For Key Existence
96566         https://bugs.webkit.org/show_bug.cgi?id=42613
96567
96568         Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
96569
96570         Add private API "hasWebScriptKey" to check for key existence in
96571         a WebScriptObject. Like JavaScript's `in` syntax. This is intended
96572         to be made public eventually.
96573
96574         * bindings/objc/WebScriptObject.mm:
96575         (-[WebScriptObject hasWebScriptKey:]):
96576         * bindings/objc/WebScriptObjectPrivate.h:
96577
96578 2010-07-20  Adam Barth  <abarth@webkit.org>
96579
96580         Reviewed by Eric Seidel.
96581
96582         HTML5 tree builder needs to call dispatchDocumentElementAvailable
96583         https://bugs.webkit.org/show_bug.cgi?id=42654
96584
96585         This patch fixes the follout LayoutTests with --html5-treebuilder:
96586           - userscripts/script-not-run-for-fragments.html
96587           - userscripts/script-run-at-start.html
96588
96589         * html/HTMLConstructionSite.cpp:
96590         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
96591         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
96592         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
96593         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
96594         * html/HTMLConstructionSite.h:
96595         * html/HTMLTreeBuilder.cpp:
96596         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
96597
96598 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
96599
96600         Reviewed by Steve Block.
96601
96602         Need to be able to configure Geolocation policy regarding user permissions
96603         https://bugs.webkit.org/show_bug.cgi?id=42068
96604
96605         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
96606         acquires user permission first before starting location service
96607
96608         This change does not introduce any change in behavior for any platform. So there are no new tests
96609         added.
96610
96611         * WebCore.pro:
96612         * page/Geolocation.cpp:
96613         (WebCore::Geolocation::startRequest):
96614         (WebCore::Geolocation::setIsAllowed):
96615         (WebCore::Geolocation::startUpdating):
96616         * page/Geolocation.h:
96617
96618 2010-07-20  Adam Barth  <abarth@webkit.org>
96619
96620         Reviewed by Darin Adler.
96621
96622         HTML5 tree builder should restore form state
96623         https://bugs.webkit.org/show_bug.cgi?id=42644
96624
96625         We need to tell self-closing tags that we're done parsing their
96626         children.  This patch fixes the following LayoutTests when run with
96627         --html5-treebuilder:
96628
96629           fast/forms/button-state-restore.html
96630           fast/forms/state-restore-to-non-autocomplete-form.html
96631           fast/forms/state-restore-to-non-edited-controls.html
96632           fast/history/saves-state-after-fragment-nav.html
96633           http/tests/navigation/restore-form-state-https.html
96634
96635         * html/HTMLConstructionSite.cpp:
96636         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
96637
96638 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
96639
96640         Unreviewed, rolling out r63750.
96641         http://trac.webkit.org/changeset/63750
96642         https://bugs.webkit.org/show_bug.cgi?id=42648
96643
96644         This revision breaks the windows builds (Requested by
96645         hwennborg on #webkit).
96646
96647         * bindings/generic/RuntimeEnabledFeatures.cpp:
96648         * bindings/generic/RuntimeEnabledFeatures.h:
96649         * page/DOMWindow.cpp:
96650         (WebCore::DOMWindow::addEventListener):
96651         (WebCore::DOMWindow::removeEventListener):
96652         (WebCore::DOMWindow::removeAllEventListeners):
96653         * page/DOMWindow.idl:
96654         * page/Page.cpp:
96655         (WebCore::Page::Page):
96656
96657 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
96658
96659         Reviewed by Pavel Feldman.
96660
96661         WebInspector: It is possible to show full call stack instead of top frame for Caller
96662         and Call Site properties in Timeline panel.
96663         https://bugs.webkit.org/show_bug.cgi?id=42620
96664
96665         * English.lproj/localizedStrings.js:
96666         * inspector/front-end/TimelinePanel.js:
96667         (WebInspector.TimelinePanel.FormattedRecord):
96668         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
96669         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
96670         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
96671         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
96672         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
96673         * inspector/front-end/inspector.css:
96674         (.timeline-details):
96675         (.timeline-function-name):
96676         (.timeline-stacktrace-title):
96677
96678 2010-07-20  Leon Clarke  <leonclarke@google.com>
96679
96680         Reviewed by Pavel Feldman.
96681
96682         Make things compile again when the inspector is disabled, following
96683         recent inspector improvements.
96684         https://bugs.webkit.org/show_bug.cgi?id=42632
96685
96686         No new tests. Fixing a build break.
96687
96688
96689         * bindings/v8/ScriptCallStack.cpp:
96690         (WebCore::ScriptCallStack::stackTrace):
96691         * inspector/InspectorController.h:
96692         (WebCore::InspectorController::didInsertDOMNode):
96693         (WebCore::InspectorController::didRemoveDOMNode):
96694         (WebCore::InspectorController::didModifyDOMAttr):
96695         * inspector/InspectorDOMAgent.h:
96696         * loader/appcache/ApplicationCacheGroup.cpp:
96697
96698 2010-07-20  Anton Muhin  <antonm@chromium.org>
96699
96700         Reviewed by Adam Barth.
96701
96702         [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
96703         https://bugs.webkit.org/show_bug.cgi?id=42634
96704
96705         Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
96706         when its isolated context gets GCed).  However in this case, handles allocated for
96707         such objects would never be disposed as we require presence of mapping from wrapped
96708         WebKit object to handle being collected in the map and now map is gone.  That leads to
96709         zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
96710         (both handle and V8 wrapper object could not be destroyed).
96711
96712         See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.
96713
96714         * bindings/v8/DOMData.h:
96715         (WebCore::DOMData::handleWeakObject):
96716         * bindings/v8/DOMDataStore.cpp:
96717         (WebCore::DOMDataStore::weakNodeCallback):
96718         * bindings/v8/V8DOMMap.h:
96719         (WebCore::WeakReferenceMap::~WeakReferenceMap):
96720
96721 2010-07-20  Hans Wennborg  <hans@chromium.org>
96722
96723         Reviewed by Steve Block.
96724
96725         Runtime feature switch for device orientation
96726         https://bugs.webkit.org/show_bug.cgi?id=42265
96727
96728         Add a runtime feature switch that decides whether device orientation
96729         events are available or not. Defaults to true.
96730
96731         * bindings/generic/RuntimeEnabledFeatures.cpp:
96732         * bindings/generic/RuntimeEnabledFeatures.h:
96733         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
96734         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
96735         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
96736         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
96737         * page/DOMWindow.cpp:
96738         (WebCore::DOMWindow::addEventListener):
96739         (WebCore::DOMWindow::removeEventListener):
96740         (WebCore::DOMWindow::removeAllEventListeners):
96741         * page/DOMWindow.idl:
96742         * page/Page.cpp:
96743         (WebCore::Page::Page):
96744
96745 2010-07-20  Hayato Ito  <hayato@chromium.org>
96746
96747         Reviewed by Darin Adler.
96748
96749         Fixed a crash when deeply nested CSS selector is used.
96750         https://bugs.webkit.org/show_bug.cgi?id=41129
96751
96752         This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.
96753
96754         Test: fast/css/css-selector-deeply-nested.html
96755
96756         * css/CSSSelector.cpp:
96757         (WebCore::CSSSelectorBag::~CSSSelectorBag):
96758         (WebCore::CSSSelectorBag::isEmpty):
96759         (WebCore::CSSSelectorBag::append):
96760         (WebCore::CSSSelectorBag::takeAny):
96761         (WebCore::CSSSelector::~CSSSelector):
96762         (WebCore::CSSSelector::specificity):
96763         * css/CSSSelector.h:
96764
96765 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
96766
96767         Reviewed by Pavel Feldman.
96768
96769         [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
96770         https://bugs.webkit.org/show_bug.cgi?id=42642
96771
96772         * bindings/v8/V8ConsoleMessage.cpp:
96773         (WebCore::V8ConsoleMessage::handler):
96774
96775 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
96776
96777         Unreviewed, rolling out r63742.
96778         http://trac.webkit.org/changeset/63742
96779         https://bugs.webkit.org/show_bug.cgi?id=42641
96780
96781         Broke Leopard Intel build. (Requested by bbandix on #webkit).
96782
96783         * WebCore.pro:
96784         * page/Geolocation.cpp:
96785         (WebCore::Geolocation::startRequest):
96786         (WebCore::Geolocation::setIsAllowed):
96787         (WebCore::Geolocation::startUpdating):
96788         * page/Geolocation.h:
96789
96790 2010-07-20  Adam Roben  <aroben@apple.com>
96791
96792         Windows build fix
96793
96794         * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.
96795
96796 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
96797
96798         Reviewed by Steve Block.
96799
96800         Need to be able to configure Geolocation policy regarding user permissions
96801         https://bugs.webkit.org/show_bug.cgi?id=42068
96802
96803         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
96804         acquires user permission first before starting location service
96805
96806         This change does not introduce any change in behavior for any platform. So there are no new tests
96807         added.
96808
96809         * WebCore.pro:
96810         * page/Geolocation.cpp:
96811         (WebCore::Geolocation::startRequest):
96812         (WebCore::Geolocation::setIsAllowed):
96813         (WebCore::Geolocation::startUpdating):
96814         * page/Geolocation.h:
96815
96816 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
96817
96818         Reviewed by Pavel Feldman.
96819
96820         Inspector: Resources Search Should Search Only Filtered Resources
96821         https://bugs.webkit.org/show_bug.cgi?id=28290
96822
96823         * inspector/front-end/AbstractTimelinePanel.js:
96824         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
96825         * inspector/front-end/ResourcesPanel.js:
96826         (WebInspector.ResourcesPanel.prototype.get searchableViews):
96827         * inspector/front-end/inspector.js:
96828         (WebInspector.performSearch):
96829         (WebInspector.doPerformSearch):
96830
96831 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
96832
96833         Reviewed by Pavel Feldman.
96834
96835         Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
96836         https://bugs.webkit.org/show_bug.cgi?id=42626
96837
96838         * inspector/front-end/ElementsTreeOutline.js:
96839         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
96840
96841 2010-07-20  Shinichiro Hamaji  <hamaji@chromium.org>
96842
96843         Unreviewed comment fix. The comment in IDL should be //, not # .
96844
96845         Code generator: ensure generated constants match their corresponding enums.
96846         https://bugs.webkit.org/show_bug.cgi?id=42250
96847
96848         * dom/OverflowEvent.idl:
96849
96850 2010-07-20  Hans Wennborg  <hans@chromium.org>
96851
96852         Reviewed by Steve Block.
96853
96854         Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
96855         https://bugs.webkit.org/show_bug.cgi?id=42380
96856
96857         RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
96858         bindings/generic a while a go (in r54593), but need to
96859         be added to the build in order to be used.
96860
96861         No new functionality so no new tests.
96862
96863         * Android.mk:
96864         * CMakeLists.txt:
96865         * GNUmakefile.am:
96866         * WebCore.pro:
96867         * WebCore.vcproj/WebCore.vcproj:
96868         * WebCore.xcodeproj/project.pbxproj:
96869         * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
96870         * websockets/WebSocket.h: Ditto.
96871
96872 2010-07-20  Tony Chang  <tony@chromium.org>
96873
96874         Reviewed by Kent Tamura.
96875
96876         clean up style in ClipboardWin and PasteboardWin
96877         https://bugs.webkit.org/show_bug.cgi?id=42609
96878
96879         No new tests since this is just a style cleanup.
96880
96881         * platform/win/ClipboardUtilitiesWin.cpp:
96882         (WebCore::createGlobalData):
96883         (WebCore::markupToCFHTML):
96884         (WebCore::getURL):
96885         (WebCore::getPlainText):
96886         (WebCore::getTextHTML):
96887         (WebCore::fragmentFromFilenames):
96888         (WebCore::containsFilenames):
96889         (WebCore::fragmentFromCFHTML):
96890         (WebCore::fragmentFromHTML):
96891         * platform/win/ClipboardUtilitiesWin.h:
96892         * platform/win/ClipboardWin.cpp:
96893         (WebCore::pathRemoveBadFSCharacters):
96894         (WebCore::createGlobalHDropContent):
96895         (WebCore::createGlobalUrlFileDescriptor):
96896         (WebCore::writeURL):
96897         (WebCore::ClipboardWin::clearData):
96898         (WebCore::ClipboardWin::clearAllData):
96899         (WebCore::ClipboardWin::getData):
96900         (WebCore::ClipboardWin::types):
96901         (WebCore::ClipboardWin::declareAndWriteDragImage):
96902         (WebCore::ClipboardWin::writeRange):
96903         * platform/win/ClipboardWin.h:
96904         (WebCore::ClipboardWin::create):
96905         (WebCore::ClipboardWin::dataObject):
96906         * platform/win/PasteboardWin.cpp:
96907         (WebCore::PasteboardOwnerWndProc):
96908         (WebCore::Pasteboard::writeSelection):
96909         (WebCore::Pasteboard::writeURL):
96910         (WebCore::Pasteboard::plainText):
96911         (WebCore::Pasteboard::documentFragment):
96912
96913 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
96914
96915         Reviewed by Pavel Feldman.
96916
96917         Web Inspector: jump to source is broken for call frames logged by console.trace
96918         https://bugs.webkit.org/show_bug.cgi?id=42619
96919
96920         * inspector/front-end/ConsoleView.js:
96921         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
96922         * inspector/front-end/treeoutline.js: allow passing HTML element as a title.
96923         (TreeElement.prototype.set title):
96924         (TreeElement.prototype.set shouldRefreshChildren):
96925         (TreeElement.prototype._setListItemNodeContent):
96926         (TreeElement.prototype._attach):
96927
96928 2010-07-20  Tony Chang  <tony@chromium.org>
96929
96930         Reviewed by Dan Bernstein.
96931
96932         [chromium] crash in Position::getInlineBoxAndOffset
96933         https://bugs.webkit.org/show_bug.cgi?id=42202
96934
96935         Test: editing/selection/firstRect-crash.html
96936         Manual test: win/contextmenu-key2.html
96937
96938         * page/EventHandler.cpp: Code no longer needed
96939         * page/Frame.cpp:
96940         (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
96941             Positions may be pointing to nodes that have no renderer.  If there's no renderer,
96942             getInlineBoxAndOffset will crash.
96943
96944 2010-07-20  Adam Barth  <abarth@webkit.org>
96945
96946         Reviewed by Darin Adler.
96947
96948         Foster parenting depends on the current element at insertion time
96949         https://bugs.webkit.org/show_bug.cgi?id=42599
96950
96951         We need to consider the current element at insertion-time when deciding
96952         whether to redirect insertion to the foster parent.  Previously, we
96953         were considering the current element *both* at insertion-time and at
96954         the time we created the guard.
96955
96956         * html/HTMLConstructionSite.h:
96957         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
96958         * html/HTMLTreeBuilder.cpp:
96959         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
96960         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
96961         (WebCore::HTMLTreeBuilder::defaultForInTableText):
96962
96963 2010-07-20  Matthew Delaney  <mdelaney@apple.com>
96964
96965         Reviewed by Kenneth Rohde Christiansen.
96966
96967         Failing 2d.path.stroke.prune.curve philip canvas test
96968         https://bugs.webkit.org/show_bug.cgi?id=42190
96969
96970         * html/canvas/CanvasRenderingContext2D.cpp:
96971         (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
96972         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
96973         (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
96974         * platform/graphics/cg/PathCG.cpp:
96975         (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.
96976
96977 2010-07-19  Victoria Kirst  <vrk@google.com>
96978
96979         Reviewed by David Levin.
96980
96981         Added a simple implementation of VideoLayerChromium. Uses the
96982         LayerChromium::updateTextureRect() to send video frames to the
96983         GPU.
96984         https://bugs.webkit.org/show_bug.cgi?id=42234
96985
96986         * WebCore.gypi: Added include for VideoLayerChromium.
96987         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
96988         (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
96989         setContentsToMedia, though it does not seem to trigger a repaint
96990         correctly.
96991         * platform/graphics/chromium/GraphicsLayerChromium.h:
96992         * platform/graphics/chromium/VideoLayerChromium.cpp: Added.
96993         (WebCore::VideoLayerChromium::create):
96994         (WebCore::VideoLayerChromium::VideoLayerChromium):
96995         (WebCore::VideoLayerChromium::updateTextureContents):
96996         * platform/graphics/chromium/VideoLayerChromium.h: Added.
96997         (WebCore::VideoLayerChromium::drawsContent):
96998
96999 2010-07-19  Dirk Schulze  <krit@webkit.org>
97000
97001         Reviewed by Nikolas Zimmermann.
97002
97003         SVG CleanUp of SVGPathData parsing
97004         https://bugs.webkit.org/show_bug.cgi?id=41410
97005
97006         Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
97007         in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
97008         etc. instead of using home-brewn solutions.
97009         The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
97010         SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
97011         Path object or a SVGPathSegList out of the segments.
97012         We're now directly parsing floats instead of truncating precision to float afterwards.
97013
97014         SVG Path with an arc with radius of 0 does not render
97015         https://bugs.webkit.org/show_bug.cgi?id=40448
97016
97017         If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
97018         the end point according to the spec. Fixed this bug with this patch, because an is zero check and 
97019         an DRT check was neccessary with the current clean-up.
97020         Extended svg/dom/path-parser.xhml to check the correct behavior.
97021
97022         * Android.mk:
97023         * GNUmakefile.am:
97024         * WebCore.gypi:
97025         * WebCore.pro:
97026         * WebCore.vcproj/WebCore.vcproj:
97027         * WebCore.xcodeproj/project.pbxproj:
97028         * platform/graphics/FloatPoint.h:
97029         (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
97030         (WebCore::FloatPoint::scale): Scale FloatPoint.
97031         (WebCore::operator+=):
97032         (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
97033         * svg/SVGAllInOne.cpp: Added new created files.
97034         * svg/SVGAnimateElement.cpp:
97035         (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
97036         * svg/SVGAnimateMotionElement.cpp:
97037         (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
97038         * svg/SVGGlyphElement.cpp:
97039         (WebCore::parsePathData): Use new PathParser to create a Path.
97040         * svg/SVGParserUtilities.cpp:
97041         (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
97042         * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
97043         * svg/SVGPathBuilder.cpp: Added.
97044         (WebCore::SVGPathBuilder::SVGPathBuilder):
97045         (WebCore::SVGPathBuilder::build): Builds a normalized Path.
97046         (WebCore::SVGPathBuilder::moveTo):
97047         (WebCore::SVGPathBuilder::lineTo):
97048         (WebCore::SVGPathBuilder::curveToCubic):
97049         (WebCore::SVGPathBuilder::closePath):
97050         * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
97051         (WebCore::SVGPathBuilder::lineToHorizontal):
97052         (WebCore::SVGPathBuilder::lineToVertical):
97053         (WebCore::SVGPathBuilder::curveToCubicSmooth):
97054         (WebCore::SVGPathBuilder::curveToQuadratic):
97055         (WebCore::SVGPathBuilder::curveToQuadraticSmooth):
97056         (WebCore::SVGPathBuilder::arcTo):
97057         * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
97058         (WebCore::):
97059         (WebCore::SVGPathConsumer::SVGPathConsumer):
97060         (WebCore::SVGPathConsumer::~SVGPathConsumer):
97061         * svg/SVGPathElement.cpp:
97062         (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
97063         * svg/SVGPathParser.cpp: Added.
97064         (WebCore::SVGPathParser::SVGPathParser):
97065         (WebCore::SVGPathParser::~SVGPathParser):
97066         (WebCore::SVGPathParser::parseClosePathSegment):
97067         (WebCore::SVGPathParser::parseMoveToSegment):
97068         (WebCore::SVGPathParser::parseLineToSegment):
97069         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
97070         (WebCore::SVGPathParser::parseLineToVerticalSegment):
97071         (WebCore::SVGPathParser::parseCurveToCubicSegment):
97072         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
97073         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
97074         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
97075         (WebCore::SVGPathParser::parseArcToSegment):
97076         (WebCore::SVGPathParser::parsePathDataString):
97077         (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
97078         * svg/SVGPathParser.h: Added.
97079         * svg/SVGPathSegListBuilder.cpp: Added.
97080         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
97081         (WebCore::SVGPathSegListBuilder::build):
97082         (WebCore::SVGPathSegListBuilder::moveTo):
97083         (WebCore::SVGPathSegListBuilder::lineTo):
97084         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
97085         (WebCore::SVGPathSegListBuilder::lineToVertical):
97086         (WebCore::SVGPathSegListBuilder::curveToCubic):
97087         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
97088         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
97089         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
97090         (WebCore::SVGPathSegListBuilder::arcTo):
97091         (WebCore::SVGPathSegListBuilder::closePath):
97092         * svg/SVGPathSegListBuilder.h: Added.
97093
97094 2010-07-15  Yuzo Fujishima  <yuzo@google.com>
97095
97096         Reviewed by Dan Bernstein.
97097
97098         Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
97099         https://bugs.webkit.org/show_bug.cgi?id=42342
97100
97101         Test: fast/css/font-face-download-error.html
97102
97103         * css/CSSSegmentedFontFace.cpp:
97104         (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
97105         face is valid.
97106         (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
97107         font face.
97108         * css/CSSSegmentedFontFace.h: Make isValid private.
97109
97110 2010-07-19  Kent Tamura  <tkent@chromium.org>
97111
97112         Reviewed by Shinichiro Hamaji.
97113
97114         [Chromium] Fix style errors of RenderThemeChromiumWin.cpp
97115         https://bugs.webkit.org/show_bug.cgi?id=42568
97116
97117         * rendering/RenderThemeChromiumWin.cpp:
97118         (WebCore::):
97119         (WebCore::getNonClientMetrics):
97120         (WebCore::systemFontSize):
97121         (WebCore::pointsToPixels):
97122         (WebCore::querySystemBlinkInterval):
97123         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
97124         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
97125         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
97126         (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
97127         (WebCore::RenderThemeChromiumWin::paintButton):
97128         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
97129         (WebCore::RenderThemeChromiumWin::paintMenuList):
97130         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
97131         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
97132
97133 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
97134
97135         (Hopefully the last) Windows build fix.
97136         
97137         Version of CoreServices.h in WebKit Support Libraries uses
97138         pragma once, unlike the version I have locally. Switch based
97139         on __COLORSYNCDEPRECATED__ instead.
97140
97141         * WebCorePrefix.h:
97142
97143 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
97144
97145         Windows build fix.
97146
97147         * WebCorePrefix.h:
97148
97149 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
97150
97151         Build fix.
97152
97153         * WebCorePrefix.h:
97154
97155 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
97156
97157         Build fix.
97158
97159         * WebCorePrefix.h:
97160
97161 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
97162
97163         Windows Build fixes for new ColorSync API.
97164         We support both new and old APIs, since the newer headers aren't in the tree yet.
97165
97166         * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
97167         * platform/graphics/cg/ColorCG.cpp:
97168         (WebCore::createCGColor): Conditionally use new ColorSync API.
97169         * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
97170         * platform/graphics/win/GraphicsLayerCACF.cpp:
97171         (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
97172         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
97173         * platform/network/cf/ResourceErrorCF.cpp:
97174         (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
97175
97176 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
97177
97178         Reviewed by Dimitri Glazkov.
97179
97180         Only set unloadEventEnd when the unload event is actually fired
97181         https://bugs.webkit.org/show_bug.cgi?id=42607
97182
97183         r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
97184         For some reason, it did not fail on Windows (which is where I was
97185         testing). The ASSERT was disabled in r63699.
97186
97187         Test: page-cache related layout tests don't crash in debug mode on Mac.
97188
97189         * loader/FrameLoader.cpp:
97190         (WebCore::FrameLoader::stopLoading):
97191
97192 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97193
97194         Reviewed by Kenneth Rohde Christiansen.
97195
97196         [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
97197         https://bugs.webkit.org/show_bug.cgi?id=42513
97198
97199         Avoid making unnecessary deep-copies of QPainterPaths that will
97200         be discarded after use.
97201
97202         * platform/graphics/qt/GraphicsContextQt.cpp:
97203         (WebCore::GraphicsContext::fillPath):
97204         (WebCore::GraphicsContext::strokePath):
97205
97206 2010-07-19  Kenneth Russell  <kbr@google.com>
97207
97208         Reviewed by Nate Chapin.
97209
97210         WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
97211         https://bugs.webkit.org/show_bug.cgi?id=34719
97212
97213         Fixed compiler warning introduced by original patch. No new tests;
97214         covered by existing tests.
97215
97216         * platform/graphics/mac/GraphicsContext3DMac.mm:
97217         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
97218
97219 2010-07-19  Anders Carlsson  <andersca@apple.com>
97220
97221         Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
97222
97223         Handle NP_ASFILE and NP_ASFILEONLY transfer modes
97224         https://bugs.webkit.org/show_bug.cgi?id=42587
97225
97226         * WebCore.exp.in:
97227         Export functions from FileSystem.h
97228         
97229         * platform/mac/FileSystemMac.mm:
97230         (WebCore::openTemporaryFile):
97231         Try to create a temporary file using mkstemp.
97232
97233 2010-07-19  Anders Carlsson  <andersca@apple.com>
97234
97235         Reviewed by Sam Weinig.
97236
97237         Implement NPN_PostURLNotify
97238         https://bugs.webkit.org/show_bug.cgi?id=42602
97239
97240         Export symbols needed by WebKit2.
97241
97242         * WebCore.exp.in:
97243
97244 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
97245
97246         Unreviewed build fix.
97247
97248         Remove overzealous ASSERT from r63689
97249         https://bugs.webkit.org/show_bug.cgi?id=42606
97250
97251         No new tests because no new functionality.
97252
97253         * loader/FrameLoader.cpp:
97254         (WebCore::FrameLoader::stopLoading):
97255
97256 2010-07-19  Joseph Pecoraro  <joepeck@webkit.org>
97257
97258         Reviewed by Mark Rowe.
97259
97260         Web Inspector: Do Not Copy *.re2js Inspector Resources in Xcode Build Phase
97261         https://bugs.webkit.org/show_bug.cgi?id=42601
97262
97263         Remove *.re2js files after copying them over in the Build Phase. We do
97264         the same to remove the WebKit.qrc file.
97265
97266         * WebCore.xcodeproj/project.pbxproj:
97267
97268 2010-07-17  Tony Gentilcore  <tonyg@chromium.org>
97269
97270         Reviewed by Darin Fisher.
97271
97272         [Web Timing] Move times to DocumentLoader and fix bugs in mark points
97273         https://bugs.webkit.org/show_bug.cgi?id=42512
97274
97275         Test: fast/dom/webtiming-navigate-within-document.html
97276
97277         * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
97278         (WebCore::DocumentLoader::documentLoadTiming):
97279         * loader/FrameLoader.cpp:
97280         (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
97281         (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
97282         (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
97283         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
97284         * loader/FrameLoader.h: Get rid of FrameLoadTimeline.
97285         * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
97286         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
97287         * loader/MainResourceLoader.cpp:
97288         (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
97289         (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
97290         * page/DOMWindow.cpp:
97291         (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
97292         * page/Navigation.cpp:
97293         (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
97294         * page/Timing.cpp:
97295         (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
97296         (WebCore::Timing::navigationStart):
97297         (WebCore::Timing::unloadEventEnd):
97298         (WebCore::Timing::redirectStart):
97299         (WebCore::Timing::redirectEnd):
97300         (WebCore::Timing::fetchStart):
97301         (WebCore::Timing::domainLookupStart):
97302         (WebCore::Timing::domainLookupEnd):
97303         (WebCore::Timing::connectStart):
97304         (WebCore::Timing::connectEnd):
97305         (WebCore::Timing::requestStart):
97306         (WebCore::Timing::requestEnd):
97307         (WebCore::Timing::responseStart):
97308         (WebCore::Timing::responseEnd):
97309         (WebCore::Timing::loadEventStart):
97310         (WebCore::Timing::loadEventEnd):
97311         (WebCore::Timing::documentLoader):
97312         (WebCore::Timing::documentLoadTiming):
97313         (WebCore::Timing::resourceLoadTiming):
97314         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
97315         * page/Timing.h:
97316
97317 2010-07-19  Chris Marrin  <cmarrin@apple.com>
97318
97319         Reviewed by Darin Adler.
97320
97321         https://bugs.webkit.org/show_bug.cgi?id=42118
97322         Disable WebGL on Leopard for now. 
97323
97324         LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
97325         GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
97326         SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
97327         software OpenGL driver on machines without this support.
97328
97329         * Configurations/FeatureDefines.xcconfig:
97330
97331 2010-07-19  Eric Carlson  <eric.carlson@apple.com>
97332
97333         Reviewed by Sam Weinig.
97334
97335         Remove HTML5 media element 'load' event
97336         https://bugs.webkit.org/show_bug.cgi?id=30464
97337         <rdar://problem/5650561>
97338
97339         * html/HTMLMediaElement.cpp:
97340         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
97341         (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
97342         (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
97343         (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
97344         (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
97345         (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
97346         * html/HTMLMediaElement.h:
97347         (WebCore::HTMLMediaElement::):
97348         * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
97349
97350 2010-07-19  Alexey Proskuryakov  <ap@apple.com>
97351
97352         Reviewed by Darin Adler.
97353
97354         https://bugs.webkit.org/show_bug.cgi?id=40996
97355         Progress event should not be fired during synchronous XMLHttpRequest
97356
97357         https://bugs.webkit.org/show_bug.cgi?id=17502
97358         Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange
97359
97360         Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
97361                http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html
97362
97363         * xml/XMLHttpRequest.cpp:
97364         (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
97365         event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
97366         the spec draft says about readystatechange for sync requests, but this seems to be the most
97367         logical and backwards compatible behavior.
97368         (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
97369         Note that we already don't dispatch upload progress events for those.
97370
97371 2010-07-19  Dan Bernstein  <mitz@apple.com>
97372
97373         Reviewed by Simon Fraser.
97374
97375         <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
97376         https://bugs.webkit.org/show_bug.cgi?id=34913
97377
97378         Tests: fast/repaint/view-background-from-body-1.html
97379                fast/repaint/view-background-from-body-2.html
97380
97381         * rendering/RenderBox.cpp:
97382         (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
97383         null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
97384         style changes.
97385         * rendering/RenderObjectChildList.cpp:
97386         (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
97387         repaint the view, in case the body’s background was propagated to the view.
97388
97389 2010-07-19  Adam Roben  <aroben@apple.com>
97390
97391         Fix an assertion when a plugin returns -1 from NPP_Write
97392
97393         We were forgetting to call setDefersLoading(false) before destroying
97394         the PluginStream. In the process of destroying the stream, someone
97395         would call setDefersLoading(true), and we would assert because we were
97396         already deferring loads.
97397
97398         Fixes <http://webkit.org/b/42563> Assertion failure in
97399         ResourceHandle::setDefersLoading when running
97400         plugins/return-negative-one-from-write.html on Windows
97401
97402         Reviewed by Anders Carlsson.
97403
97404         * plugins/PluginStream.cpp:
97405         (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
97406         before destroying the stream, to match the setDefersLoading(true) call
97407         earlier in this function. (We already call setDefersLoading(false) in
97408         the non-error case later on.)
97409
97410 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
97411
97412         Reviewed by Antonio Gomes.
97413
97414         [EFL] Fix some EFL theme issues
97415         https://bugs.webkit.org/show_bug.cgi?id=42569
97416
97417         Keep a pointer to theme filename and check for it correctly.
97418         Reduce the scope of some variables.
97419         Don't test for platformWidget() since we are not using it.
97420
97421         No new tests, no new functionality.
97422
97423         * platform/efl/WidgetEfl.cpp:
97424         (WebCore::Widget::applyCursor):
97425         (WebCore::Widget::setCursor):
97426
97427 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
97428
97429         Reviewed by Antonio Gomes.
97430
97431         [EFL] Add ifdef to compile code just on presence of Ecore_X
97432         https://bugs.webkit.org/show_bug.cgi?id=42567
97433
97434         No new tests since there's no new functionality.
97435
97436         * platform/efl/WidgetEfl.cpp:
97437         (WebCore::Widget::setEvasObject):
97438         Add #ifdef HAVE_ECORE_X to it.
97439
97440 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
97441
97442         Reviewed by Pavel Feldman.
97443
97444         Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
97445         https://bugs.webkit.org/show_bug.cgi?id=42485
97446
97447         * inspector/front-end/utilities.js:
97448         (Element.prototype.removeStyleClass):
97449
97450 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
97451
97452         Reviewed by Pavel Feldman.
97453
97454         Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
97455         https://bugs.webkit.org/show_bug.cgi?id=42560
97456
97457         * bindings/js/ScriptController.cpp:
97458         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
97459         * bindings/js/ScriptController.h:
97460         * bindings/v8/ScriptController.cpp:
97461         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
97462         * bindings/v8/ScriptController.h:
97463         * bindings/v8/V8ConsoleMessage.cpp:
97464         (WebCore::V8ConsoleMessage::dispatchNow):
97465         (WebCore::V8ConsoleMessage::handler):
97466         * bindings/v8/V8ConsoleMessage.h:
97467         * inspector/ConsoleMessage.cpp:
97468         (WebCore::ConsoleMessage::ConsoleMessage):
97469         * inspector/ConsoleMessage.h:
97470         * inspector/InspectorController.cpp:
97471         (WebCore::InspectorController::addMessageToConsole):
97472         (WebCore::InspectorController::startGroup):
97473         (WebCore::InspectorController::connectFrontend):
97474         (WebCore::InspectorController::disconnectFrontend):
97475         * inspector/InspectorController.h:
97476         * inspector/front-end/ConsoleView.js:
97477         (WebInspector.ConsoleMessage.prototype._formatMessage):
97478         (WebInspector.ConsoleMessage.prototype.toMessageElement):
97479         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
97480         (WebInspector.ConsoleMessage.prototype._addMessageHeader):
97481         (WebInspector.ConsoleMessage.prototype.toString):
97482         * inspector/front-end/inspector.css:
97483         (.console-message.repeated-message > ol.stack-trace):
97484         (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
97485         (ol.stack-trace):
97486         (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
97487         * page/Console.cpp:
97488         (WebCore::Console::addMessage):
97489         * page/Console.h:
97490         (WebCore::):
97491
97492 2010-07-19  Robin Burchell  <robin.burchell@collabora.co.uk>
97493
97494         Reviewed by Antonio Gomes
97495
97496         [Qt] Use memcpy() instead of qMemCopy()
97497         This is supposed to be more efficient, as the compiler is able to
97498         optimise more.
97499
97500         Additionally,  qMemCopy() is only strictly supposed to be used in
97501         headers (see Qt's src/corelib/qglobal.h for reference)
97502         See: https://bugs.webkit.org/show_bug.cgi?id=42392
97503
97504         * bridge/qt/qt_runtime.cpp:
97505         (JSC::Bindings::convertQVariantToValue):
97506
97507 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
97508
97509         Reviewed by Kenneth Rohde Christiansen.
97510
97511         Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
97512         https://bugs.webkit.org/show_bug.cgi?id=42284
97513
97514         New name is isEquivalentColor(CanvasStyle).
97515
97516         * html/canvas/CanvasRenderingContext2D.cpp:
97517         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
97518         (WebCore::CanvasRenderingContext2D::setFillStyle):
97519         * html/canvas/CanvasStyle.cpp:
97520         (WebCore::CanvasStyle::isEquivalentColor):
97521         * html/canvas/CanvasStyle.h:
97522
97523 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97524
97525         Reviewed by Kenneth Rohde Christiansen.
97526
97527         [Qt] Canvas: Wrong internal positioning of drawImage() shadows
97528         https://bugs.webkit.org/show_bug.cgi?id=42510
97529
97530         * platform/graphics/qt/ImageQt.cpp:
97531         (WebCore::BitmapImage::draw):
97532         * platform/graphics/qt/StillImageQt.cpp:
97533         (WebCore::StillImage::draw):
97534
97535 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97536
97537         Reviewed by Kenneth Rohde Christiansen.
97538
97539         [Qt] Render shadow when drawing one canvas onto another
97540         https://bugs.webkit.org/show_bug.cgi?id=42508
97541
97542         * platform/graphics/qt/StillImageQt.cpp:
97543         (WebCore::StillImage::draw):
97544
97545 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97546
97547         Reviewed by Kenneth Rohde Christiansen.
97548
97549         [Qt] Some composition modes fail when color has alpha zero
97550         https://bugs.webkit.org/show_bug.cgi?id=36973
97551
97552         Remove erroneous optimization that ignored painting calls when
97553         the stroke/fill color had an alpha value of zero.
97554
97555         * platform/graphics/qt/GraphicsContextQt.cpp:
97556         (WebCore::GraphicsContext::drawLine):
97557         (WebCore::GraphicsContext::strokeArc):
97558         (WebCore::GraphicsContext::fillPath):
97559         (WebCore::GraphicsContext::strokePath):
97560         (WebCore::GraphicsContext::fillRect):
97561         (WebCore::GraphicsContext::fillRoundedRect):
97562
97563 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97564
97565         Reviewed by Kenneth Rohde Christiansen.
97566
97567         CSS3 background: Number of layers should be determined by background-image element count
97568         https://bugs.webkit.org/show_bug.cgi?id=41201
97569
97570         Manual test: css3-background-layer-count.html
97571
97572         Spec link:
97573         http://www.w3.org/TR/css3-background/#layering
97574
97575         * manual-tests/css3-background-layer-count.html: Added.
97576         * rendering/style/FillLayer.cpp:
97577         (WebCore::FillLayer::fillUnsetProperties): Don't repeat
97578         image properties, they determine the total number of layers.
97579         (WebCore::FillLayer::cullEmptyLayers): Change culling logic
97580         to discard all layers after the first one without an image set.
97581         * rendering/style/RenderStyle.h:
97582         (WebCore::InheritedFlags::adjustBackgroundLayers): Call
97583         fillUnsetProperties() before cullEmptyLayers()
97584         (WebCore::InheritedFlags::adjustMaskLayers): Ditto.
97585
97586 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97587
97588         Reviewed by Kenneth Rohde Christiansen.
97589
97590         [Qt] Avoid QImage::pixel() in getImageData()
97591         https://bugs.webkit.org/show_bug.cgi?id=42463
97592
97593         * platform/graphics/qt/ImageBufferQt.cpp:
97594         (WebCore::getImageData): Use QImage::scanLine() instead
97595         of fetching data pixel-by-pixel.
97596
97597 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
97598
97599         Reviewed by Pavel Feldman.
97600
97601         Web Inspector: hide "toggle debugger" button when debugger is always enabled
97602         https://bugs.webkit.org/show_bug.cgi?id=42558
97603
97604         * inspector/front-end/ScriptsPanel.js:
97605         (WebInspector.ScriptsPanel):
97606
97607 2010-07-19  Hans Wennborg  <hans@chromium.org>
97608
97609         Reviewed by Steve Block.
97610
97611         Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
97612         https://bugs.webkit.org/show_bug.cgi?id=42466
97613
97614         (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)
97615
97616         No new functionality so no new tests.
97617
97618         * dom/DeviceOrientationEvent.cpp:
97619         (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
97620         Move here to avoid needing to have the full declaration of
97621         DeviceOrientation in DeviceOrientationEvent.h.
97622         * dom/DeviceOrientationEvent.h:
97623
97624 2010-07-18  Anders Carlsson  <andersca@apple.com>
97625
97626         Fix Build.
97627
97628         * rendering/RenderThemeMac.mm:
97629         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
97630
97631 2010-07-18  Anders Carlsson  <andersca@apple.com>
97632
97633         Reviewed by Dan Bernstein.
97634
97635         Always set the current NSGraphicsContext before calling drawWithFrame
97636         https://bugs.webkit.org/show_bug.cgi?id=42542
97637
97638         * rendering/RenderThemeMac.mm:
97639         (WebCore::RenderThemeMac::paintMeter):
97640         (WebCore::RenderThemeMac::paintSearchField):
97641         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
97642         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
97643         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
97644
97645 2010-07-18  Anders Carlsson  <andersca@apple.com>
97646
97647         Reviewed by Sam Weinig.
97648
97649         Move PluginWidget to WebKit
97650         https://bugs.webkit.org/show_bug.cgi?id=42530
97651
97652         Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
97653         
97654         This is a stopgap measure until we have a single PluginView class that we can use everywhere.
97655
97656         * WebCore.exp.in:
97657         Remove PluginWidget symbols.
97658
97659         * WebCore.xcodeproj/project.pbxproj:
97660         Update.
97661
97662         * platform/Widget.h:
97663         (WebCore::Widget::isPluginViewBase):
97664         Return false.
97665
97666         * plugins/PluginViewBase.h: Added.
97667         (WebCore::PluginViewBase::platformLayer):
97668         Always return 0 here now.
97669
97670         (WebCore::PluginViewBase::isPluginViewBase):
97671         Return true.
97672
97673         * plugins/PluginWidget.h: Removed.
97674         * plugins/mac/PluginWidgetMac.mm: Removed.
97675         * rendering/RenderEmbeddedObject.cpp:
97676         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
97677         Cast to PluginWidgetBase instead.
97678         
97679         * rendering/RenderLayerBacking.cpp:
97680         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
97681         Cast to PluginWidgetBase instead.
97682
97683 2010-07-18  Dean Jackson  <dino@apple.com>
97684
97685         Unreviewed.
97686
97687         Remove the unwanted extra line that Xcode
97688         added in my last commit.
97689
97690         * WebCore.xcodeproj/project.pbxproj:
97691
97692 2010-07-18  Dean Jackson  <dino@apple.com>
97693
97694         Reviewed by Simon Fraser.
97695
97696         https://bugs.webkit.org/show_bug.cgi?id=41259
97697         Interacting with a <select> element within a transformed and clipped
97698         container scrolls the container
97699
97700         The Node::getRect and ContainerNode::getRect functions were not
97701         transform-aware. This fixes both, and has a test to make sure
97702         we're not breaking any existing scrollToView code. This means
97703         that a <select> popup will appear in the correct place if it
97704         is within a transformed and scrolled container.
97705
97706         Test: fast/transforms/scrollIntoView-transformed.html
97707
97708         * dom/ContainerNode.cpp:
97709         (WebCore::ContainerNode::getUpperLeftCorner):
97710         (WebCore::ContainerNode::getLowerRightCorner):
97711         - make sure we call localToAbsolute in the right order
97712         (after we've done a local move) and pass in the flags to
97713         indicate it should look for transforms.
97714         * dom/Node.cpp:
97715         (WebCore::Node::getRect):
97716         - make sure localToAbsolute gets told to look for transforms.
97717
97718 2010-07-18  Anders Carlsson  <andersca@apple.com>
97719
97720         Reviewed by Sam Weinig.
97721
97722         Add NPJSObjectMap class
97723         https://bugs.webkit.org/show_bug.cgi?id=42524
97724
97725         Export ScriptController functions.
97726
97727         * WebCore.exp.in:
97728
97729 2010-07-18  Anders Carlsson  <andersca@apple.com>
97730
97731         Reviewed by Dan Bernstein.
97732
97733         Implement some NPRuntime related NPN_ functions
97734         https://bugs.webkit.org/show_bug.cgi?id=42518
97735
97736         * WebCore.exp.in:
97737         Export IdentifierRep functions.
97738
97739 2010-07-17  TJ Lee  <tjlee0909@gmail.com>
97740
97741         Reviewed by Timothy Hatcher.
97742
97743         HTMLLinkElement ignores dnsPrefetchingEnabled setting
97744         https://bugs.webkit.org/show_bug.cgi?id=42500
97745
97746         Changed the HTML Link tag to check that the browser
97747         has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.
97748
97749         There are no test cases for this patch because it was unclear how to test
97750         this using a layout test. A possible test case would be to
97751         clear the DNS cache on the client's machine before loading a page with
97752         <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
97753         then check the number of DNS cache entries.
97754
97755         * html/HTMLLinkElement.cpp:
97756         (WebCore::HTMLLinkElement::process):
97757
97758 2010-07-16  Maciej Stachowiak  <mjs@apple.com>
97759
97760         Reviewed by Sam Weinig.
97761
97762         Asynchronous policy checks make FrameLoader think it is done loading prematurely
97763         https://bugs.webkit.org/show_bug.cgi?id=42489
97764
97765         This caused many (~100) layout tsts to fail under WebKit2.
97766
97767         * loader/SubframeLoader.cpp:
97768         (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
97769         if m_complete is true, do not consider it done if it has a provisional loader.
97770         This will happen in the case where the policy check is asynchronous.
97771         * loader/FrameLoader.cpp:
97772         (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
97773         consider a subframe to be loading if it has a policy decision pending.
97774
97775 2010-07-15  Qi Zhang  <qi.2.zhang@nokia.com>
97776
97777         Reviewed by Kenneth Rohde Christiansen.
97778
97779         [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
97780         https://bugs.webkit.org/show_bug.cgi?id=38400
97781
97782         FillRect with shadow need take alpha information from fillstyle
97783
97784         * platform/graphics/qt/GraphicsContextQt.cpp:
97785         (WebCore::GraphicsContext::fillRect):
97786
97787 2010-07-17  Nikita Vasilyev  <me@elv1s.ru>
97788
97789         Reviewed by Pavel Feldman.
97790
97791         Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
97792         https://bugs.webkit.org/show_bug.cgi?id=42476
97793
97794         * inspector/front-end/inspector.css:
97795         (.editing):
97796
97797 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
97798
97799         Reviewed by Sam Weinig.
97800
97801         Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
97802         https://bugs.webkit.org/show_bug.cgi?id=42186
97803
97804         Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.
97805
97806         * html/canvas/CanvasRenderingContext2D.cpp:
97807         (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
97808         if the current path is empty.
97809         * platform/graphics/qt/PathQt.cpp:
97810         (WebCore::Path::addArcTo): Remove now-redundant code.
97811
97812 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
97813
97814         Reviewed by Oliver Hunt.
97815
97816         QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
97817         A https://bugs.webkit.org/show_bug.cgi?id=32530
97818
97819         Solve this by adding ImageBuffer::imageForRendering() which returns an image
97820         that can be used for rendering now, but isn't a copy to be kept around.
97821
97822         * platform/graphics/ImageBuffer.h:
97823         (WebCore::ImageBuffer::imageForRendering):
97824         * platform/graphics/qt/ImageBufferQt.cpp:
97825         (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
97826         be used for rendering now, but may change in the future.
97827         * platform/graphics/qt/StillImageQt.cpp:
97828         (WebCore::StillImage::StillImage):
97829         (WebCore::StillImage::~StillImage):
97830         (WebCore::StillImage::size):
97831         (WebCore::StillImage::nativeImageForCurrentFrame):
97832         (WebCore::StillImage::draw):
97833         * platform/graphics/qt/StillImageQt.h:
97834         (WebCore::StillImage::createForRendering): Added for use in
97835         ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
97836         * html/HTMLCanvasElement.cpp:
97837         (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()
97838
97839 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
97840
97841         Reviewed by Oliver Hunt.
97842
97843         [Qt] Remove redundant logic in Path::addArcTo()
97844         https://bugs.webkit.org/show_bug.cgi?id=42494
97845
97846         Bounds checking for arcTo() is now done in cross-platform code
97847         thanks to <http://trac.webkit.org/changeset/63599>
97848
97849         * platform/graphics/qt/PathQt.cpp:
97850         (WebCore::Path::addArcTo):
97851
97852 2010-07-16  Zhe Su  <suzhe@chromium.org>
97853
97854         Reviewed by Darin Adler.
97855
97856         REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
97857         https://bugs.webkit.org/show_bug.cgi?id=42253
97858
97859         This patch just reverts the change to WebCore/page/FocusController.cpp
97860         made in changeset 61484, and add a new method named
97861         willSetInputMethodState in EditorClient interface, which gets called
97862         in FocusController just before changing the focused node.
97863
97864         No new tests, because no new functionality.
97865
97866         * loader/EmptyClients.h:
97867         (WebCore::EmptyEditorClient::willSetInputMethodState):
97868         * page/EditorClient.h:
97869         * page/FocusController.cpp:
97870         (WebCore::FocusController::setFocusedNode):
97871
97872 2010-07-16  Matthew Delaney  <mdelaney@apple.com>
97873
97874         Reviewed by Sam Weinig.
97875
97876         Failing 2d.path.stroke.prune.arc philip canvas test
97877         https://bugs.webkit.org/show_bug.cgi?id=42188
97878
97879         * html/canvas/CanvasRenderingContext2D.cpp: 
97880         Note, updated parameter names to match spec.
97881         (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
97882         (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
97883         * platform/graphics/Path.h: Added in new method to expose the current position.
97884         * platform/graphics/cairo/PathCairo.cpp:
97885         (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
97886         * platform/graphics/cg/PathCG.cpp:
97887         (WebCore::Path::currentPoint): Added in support for this call.
97888         * platform/graphics/haiku/PathHaiku.cpp:
97889         (WebCore::Path::currentPoint): Added in stub for this call.
97890         * platform/graphics/openvg/PathOpenVG.cpp:
97891         (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
97892         * platform/graphics/qt/PathQt.cpp:
97893         (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
97894         * platform/graphics/skia/PathSkia.cpp:
97895         (WebCore::Path::currentPoint): Added in stub for this call.
97896         * platform/graphics/wince/PathWince.cpp:
97897         (WebCore::Path::currentPoint): Added in stub for this call.
97898         * platform/graphics/wx/PathWx.cpp:
97899         (WebCore::Path::currentPoint): Added in stub for this call.
97900
97901 2010-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
97902
97903         Unreviewed, rolling out r63593.
97904         http://trac.webkit.org/changeset/63593
97905         https://bugs.webkit.org/show_bug.cgi?id=42487
97906
97907         Broke a few chromium pixel tests (Requested by tony^work on
97908         #webkit).
97909
97910         * platform/graphics/skia/GraphicsContextSkia.cpp:
97911         (WebCore::GraphicsContext::drawConvexPolygon):
97912         (WebCore::GraphicsContext::drawEllipse):
97913         (WebCore::GraphicsContext::drawLine):
97914         (WebCore::GraphicsContext::strokeArc):
97915         (WebCore::GraphicsContext::strokePath):
97916         (WebCore::GraphicsContext::strokeRect):
97917
97918 2010-07-16  Dan Bernstein  <mitz@apple.com>
97919
97920         Reviewed by Sam Weinig.
97921
97922         Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
97923         https://bugs.webkit.org/show_bug.cgi?id=29355
97924
97925         * WebCore.exp.in: Updated.
97926         * platform/graphics/Font.cpp:
97927         (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
97928         Set the font smoothing mode in the font description.
97929         * platform/graphics/Font.h:
97930
97931 2010-07-16  Satish Sampath  <satish@chromium.org>
97932
97933         Reviewed by Anders Carlsson.
97934
97935         Add speech attribute to IDL for enabling access from JS.
97936         https://bugs.webkit.org/show_bug.cgi?id=42483
97937
97938         No tests added, this change is a pre-requisite for future layout tests.
97939
97940         * html/HTMLInputElement.cpp:
97941         (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
97942         * html/HTMLInputElement.idl: Added the speech attribute to IDL.
97943
97944 2010-07-16  Fady Samuel  <fsamuel@chromium.org>
97945
97946         Reviewed by David Levin.
97947         
97948         Avoids adding stroke when stroke-width is zero.
97949
97950         SVG - stroke-width:0 bug with stroke other than "none"
97951         https://bugs.webkit.org/show_bug.cgi?id=42387
97952
97953         Test: svg/stroke/path-zero-strokewidth-test.svg
97954
97955         * platform/graphics/skia/GraphicsContextSkia.cpp:
97956         (WebCore::GraphicsContext::drawConvexPolygon):
97957         (WebCore::GraphicsContext::drawEllipse):
97958         (WebCore::GraphicsContext::drawLine):
97959         (WebCore::GraphicsContext::strokeArc):
97960         (WebCore::GraphicsContext::strokePath):
97961         (WebCore::GraphicsContext::strokeRect):
97962
97963 2010-07-16  Kent Tamura  <tkent@chromium.org>
97964
97965         Unreviewed, build fix.
97966
97967         * rendering/RenderThemeChromiumWin.cpp:
97968         (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.
97969
97970 2010-07-16  Kent Tamura  <tkent@chromium.org>
97971
97972         Reviewed by Darin Fisher.
97973
97974         [Chromium] <input type=number> UI implementation for Windows
97975         https://bugs.webkit.org/show_bug.cgi?id=42259
97976
97977         No additional tests.  Existing tests cover this change and we'll
97978         update expectations.
97979
97980         * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
97981         * rendering/RenderThemeChromiumWin.cpp:
97982         (WebCore::RenderThemeChromiumWin::determineState):
97983          Add ControlSubPart parameter and add support for spin buttons.
97984         (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
97985         (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
97986         (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
97987         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
97988         * rendering/RenderThemeChromiumWin.h:
97989           Declare ControlSubpart, and add it to some functions.
97990
97991 2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
97992
97993         Reviewed by Antonio Gomes.
97994
97995         [EFL] Use function provided by EFL for system beep
97996         https://bugs.webkit.org/show_bug.cgi?id=42481
97997
97998         EFL port does not support automated tests, yet.
97999
98000         * platform/efl/SoundEfl.cpp:
98001         (WebCore::systemBeep):
98002
98003 2010-07-16  Sarah Strong  <sarah.e.strong@gmail.com>
98004
98005         Reviewed by Gustavo Noronha Silva.
98006
98007         [GTK] Clipboard data is lost on exit
98008         https://bugs.webkit.org/show_bug.cgi?id=27411
98009
98010         No new tests. To manually test the bug fixed by this patch:
98011         1) Open an application that uses a webkit webview on a GNOME-based system
98012         2) Copy some text from that application
98013         3) Optional: paste it to another application. This should work properly with and without this patch.
98014         4) Exit the application completely.
98015         5) Paste:
98016                   Without this patch, you cannot because your clipboard is empty.
98017                   With this patch, pasting succeeds.
98018         I have not included an automated test because of the difficulty of testing behaviour after application exit.
98019
98020 2010-07-16  Kent Tamura  <tkent@chromium.org>
98021
98022         Reviewed by Darin Fisher.
98023
98024         Keyboard operations for <input type=number>
98025         https://bugs.webkit.org/show_bug.cgi?id=42076
98026
98027         - The up arrow key works as stepUp().
98028         - The down arrow key works as stepDown().
98029         - Reject characters other than + - 0-9 . e E
98030
98031         Test: fast/forms/input-number-keyoperation.html
98032
98033         * html/HTMLInputElement.cpp:
98034         (WebCore::HTMLInputElement::defaultEventHandler):
98035          Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
98036         (WebCore::isNumberCharacter):
98037         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
98038          For type=number, remove unacceptable characters.
98039         * html/HTMLInputElement.h:
98040
98041 2010-07-16  Kent Tamura  <tkent@chromium.org>
98042
98043         Reviewed by Darin Fisher.
98044
98045         Improve hover state handling for spin buttons
98046         https://bugs.webkit.org/show_bug.cgi?id=42260
98047
98048         Background:
98049         When we move the mouse cursor to a node from the outside of the node,
98050         the following steps are executed.
98051          1. setHovered(true) is called.
98052          2. The node is repainted for the hover state.
98053          3. 'mousemove' event is dispatched for the node.
98054         For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
98055         called before the event handler of the spin-button. So we can't
98056         detect which of the up part or the down part is hovered correctly.
98057
98058         Solution:
98059         The hover state of a spin-button is one of three states;
98060         Indeterminate, Up, and Down. The state is Indeterminate since
98061         setHovered(true) is called and until 'mousemove' event is
98062         dispatched.
98063
98064         No new tests because there are no implementation of spin-buttons
98065         with hovered state yet.
98066
98067         * rendering/RenderTheme.cpp:
98068         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
98069         (WebCore::RenderTheme::isHovered):
98070          Return false if the node is a spin-button and the state is Indeterminate.
98071         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
98072         * rendering/TextControlInnerElements.cpp:
98073         (WebCore::SpinButtonElement::SpinButtonElement):
98074          Initialize m_upDownState.
98075         (WebCore::SpinButtonElement::defaultEventHandler):
98076         (WebCore::SpinButtonElement::setHovered):
98077          Set the state to Indeterminate.
98078         * rendering/TextControlInnerElements.h:
98079         (WebCore::SpinButtonElement::upDownState):
98080
98081 2010-07-16  Dan Bernstein  <mitz@apple.com>
98082
98083         Reviewed by Simon Fraser.
98084
98085         <rdar://problem/7527532> Crash beneath setSelection() during detach()
98086         https://bugs.webkit.org/show_bug.cgi?id=42020
98087
98088         No test because I am unable to reproduce the crash.
98089
98090         * rendering/RenderView.cpp:
98091         (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
98092         RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
98093         localToAbsolute() during detach().
98094
98095 2010-07-16  Anders Carlsson  <andersca@apple.com>
98096
98097         Fix release build.
98098
98099         * storage/Database.cpp:
98100         (WebCore::DerefContextTask::performTask):
98101
98102 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
98103
98104         Reviewed by Sam Weinig.
98105
98106         Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
98107         https://bugs.webkit.org/show_bug.cgi?id=41409
98108         
98109         AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
98110         or transition was running. This prevented us from falling into compositing layers for animation
98111         on platforms, like Windows, that don't have accelerated animations.
98112         
98113         Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
98114         and isRunningAcceleratedAnimationOnRenderer().
98115         
98116         Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
98117         now 'm_isAccelerated', for clarity.
98118
98119         Test: compositing/animation/animation-compositing.html
98120
98121         * page/animation/AnimationBase.cpp:
98122         (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
98123         (WebCore::AnimationBase::blendProperties): Ditto.
98124         (WebCore::AnimationBase::updateStateMachine): Ditto.
98125         * page/animation/AnimationBase.h:
98126         (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
98127         which causes the method to only return true if the animation is accelerated.
98128         (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.
98129
98130         * page/animation/AnimationController.cpp:
98131         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
98132         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
98133         (WebCore::AnimationController::isRunningAnimationOnRenderer):
98134         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
98135
98136         * page/animation/CompositeAnimation.h:
98137         * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
98138         isRunningAcceleratedAnimationOnRenderer().
98139         * page/animation/AnimationControllerPrivate.h: Ditto.
98140         * page/animation/CompositeAnimation.cpp:
98141         (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
98142         (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.
98143
98144         * page/animation/ImplicitAnimation.cpp:
98145         (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().
98146
98147         * page/animation/KeyframeAnimation.cpp:
98148         (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().
98149
98150         * rendering/RenderLayerBacking.cpp:
98151         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
98152         opacity if an accelerated animation is running.
98153
98154         * rendering/RenderLayerCompositor.cpp:
98155         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
98156         if an animation of transform or opacity is running.
98157
98158 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
98159
98160         Reviewed by Sam Weinig.
98161
98162         Assertion when turning Accelerated Compositing off on a composited page
98163         https://bugs.webkit.org/show_bug.cgi?id=42408
98164
98165         When accelerated compositing is turned off, check m_hasAcceleratedCompositing
98166         before saying that the root layer will be composited. Fixes an assertion.
98167
98168         * rendering/RenderLayerCompositor.cpp:
98169         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
98170
98171 2010-07-16  Antonio Gomes  <tonikitoo@webkit.org>
98172
98173         Reviewed by Simon Fraser.
98174
98175         Spatial navigation: do not consider outline for focusable element boundaries
98176         https://bugs.webkit.org/show_bug.cgi?id=42474
98177
98178         Test: fast/events/spatial-navigation/snav-zero-margin-content.html
98179
98180         Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
98181         RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
98182         renderer/element. This method deals with outline, which is out of elements boundary.
98183         It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
98184         are inaccessible.
98185
98186         Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
98187         which returns only the absolute bounding box rect of the Element.
98188
98189         * page/SpatialNavigation.cpp:
98190         (WebCore::renderRectRelativeToRootDocument):
98191         (WebCore::checkNegativeCoordsForNode):
98192
98193 2010-07-15  Antonio Gomes  <tonikitoo@webkit.org>
98194
98195         Reviewed by Gustavo Noronha.
98196
98197         [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
98198         https://bugs.webkit.org/show_bug.cgi?id=42416
98199
98200         There are some places in WebCore unnecessarily including WebKit headers.
98201
98202         Cleaning up only, no testing needed.
98203
98204         * platform/network/qt/ResourceHandleQt.cpp:
98205         * platform/qt/RenderThemeQt.cpp:
98206         * platform/qt/WidgetQt.cpp:
98207
98208 2010-07-16  Dan Bernstein  <mitz@apple.com>
98209
98210         Reviewed by Anders Carlsson.
98211
98212         Refinement of r63556: moved the tab width computation back to Font, but added a
98213         SimpleFontData parameter.
98214
98215         * platform/graphics/Font.h:
98216         (WebCore::Font::tabWidth):
98217         * platform/graphics/WidthIterator.cpp:
98218         (WebCore::WidthIterator::advance):
98219         * platform/graphics/mac/ComplexTextController.cpp:
98220         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
98221
98222 2010-07-16  Tony Gentilcore  <tonyg@chromium.org>
98223
98224         Reviewed by Pavel Feldman.
98225
98226         Fix unit error in calculating timings from ResourceLoadTiming API
98227         https://bugs.webkit.org/show_bug.cgi?id=42473
98228
98229         The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.
98230
98231         No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.
98232
98233         * page/Timing.cpp:
98234         (WebCore::Timing::domainLookupStart):
98235         (WebCore::Timing::domainLookupEnd):
98236         (WebCore::Timing::connectStart):
98237         (WebCore::Timing::connectEnd):
98238         (WebCore::Timing::requestStart):
98239         (WebCore::Timing::requestEnd):
98240         (WebCore::Timing::responseStart):
98241
98242 2010-07-16  Anders Carlsson  <andersca@apple.com>
98243
98244         Reviewed by Sam Weinig.
98245
98246         clang++ build fixes for JavaScriptCore and WebCore
98247         https://bugs.webkit.org/show_bug.cgi?id=42478
98248
98249         * platform/network/Credential.cpp:
98250         (WebCore::Credential::type):
98251         * platform/network/Credential.h:
98252         Remove const qualifier on Credential::type since it doesn't have an effect on the type.
98253
98254 2010-07-16  Anders Carlsson  <andersca@apple.com>
98255
98256         Reviewed by David Levin.
98257
98258         Really add WARN_UNUSED_RESULT to leakRef
98259         https://bugs.webkit.org/show_bug.cgi?id=42464
98260
98261         Get rid of a call to releaseRef here by passing the ScriptExecutionContext
98262         reference through to the DerefContextTask.
98263
98264         * storage/Database.cpp:
98265         (WebCore::DerefContextTask::create):
98266         (WebCore::DerefContextTask::performTask):
98267         (WebCore::DerefContextTask::DerefContextTask):
98268         (WebCore::Database::~Database):
98269
98270 2010-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
98271
98272         Reviewed by Yury Semikhatsky.
98273
98274         WebInspector: The current implementation of generator is not ready
98275         for generation Backend part of Inspector interface. The full patch
98276         with Backend is quite big and I've split it.
98277         https://bugs.webkit.org/show_bug.cgi?id=42462
98278
98279         * inspector/CodeGeneratorInspector.pm:
98280         * inspector/Inspector.idl:
98281         * inspector/InspectorValues.cpp:
98282         (WebCore::InspectorArray::get):
98283         * inspector/InspectorValues.h:
98284         (WebCore::InspectorArray::length):
98285
98286 2010-07-15  Rob Buis  <rwlbuis@gmail.com>
98287
98288         Reviewed by Darin Adler.
98289
98290         An empty value for xml:lang isn't considered
98291         https://bugs.webkit.org/show_bug.cgi?id=42042
98292
98293         Allow :lang selector to match empty values for xml:lang and
98294         lang attributes.
98295
98296         Test: fast/css/lang-selector-empty-attribute.xhtml
98297
98298         * css/CSSStyleSelector.cpp:
98299         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
98300
98301 2010-07-16  Alexander Pavlov  <apavlov@chromium.org>
98302
98303         Reviewed by Pavel Feldman.
98304
98305         Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
98306         https://bugs.webkit.org/show_bug.cgi?id=42459
98307
98308         * inspector/front-end/inspector.js:
98309         (WebInspector.performSearch):
98310
98311 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
98312
98313         Reviewed by Yury Semikhatsky.
98314
98315         Web Inspector: do not include SSL time into Waiting time.
98316
98317         https://bugs.webkit.org/show_bug.cgi?id=42458
98318
98319         * inspector/front-end/ResourcesPanel.js:
98320         (WebInspector.ResourcesPanel.prototype._showPopover):
98321
98322 2010-07-16  Dan Bernstein  <mitz@apple.com>
98323
98324         Reviewed by Anders Carlsson.
98325
98326         <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
98327         https://bugs.webkit.org/show_bug.cgi?id=42437
98328
98329         No test because none of the fonts available to DumpRenderTree are missing a space glyph.
98330
98331         Changed the tab width computation to use the width of the space glyph from the font that has
98332         a space glyph, which may be a fallback font if the primary font lacks a space glyph.
98333
98334         * platform/graphics/Font.h: Removed Font::tabWidth().
98335         * platform/graphics/WidthIterator.cpp:
98336         (WebCore::WidthIterator::advance):
98337         * platform/graphics/mac/ComplexTextController.cpp:
98338         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
98339
98340 2010-07-16  Yury Semikhatsky  <yurys@chromium.org>
98341
98342         Unreviewed. Chromium build fix. Add missing include.
98343
98344         * inspector/ConsoleMessage.h:
98345
98346 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
98347
98348         Reviewed by Antonio Gomes.
98349
98350         [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
98351         https://bugs.webkit.org/show_bug.cgi?id=42456
98352
98353         * platform/graphics/qt/PathQt.cpp:
98354         (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
98355         (WebCore::Path::strokeContains): Use the scratch context instead
98356         of creating a new GraphicsContext.
98357         (WebCore::Path::strokeBoundingRect): Ditto.
98358
98359 2010-07-16  Pavel Podivilov  <podivilov@chromium.org>
98360
98361         Reviewed by Yury Semikhatsky.
98362
98363         [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
98364         to avoid crashes in inspected page.
98365         https://bugs.webkit.org/show_bug.cgi?id=42065
98366
98367         * bindings/v8/ScriptDebugServer.cpp:
98368         (WebCore::ScriptDebugServer::addListener):
98369
98370 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
98371
98372         Reviewed by Yury Semikhatsky.
98373
98374         Web Inspector: add SSL time label into the resources popover.
98375
98376         https://bugs.webkit.org/show_bug.cgi?id=42458
98377
98378         * English.lproj/localizedStrings.js:
98379         * inspector/InspectorResource.cpp:
98380         (WebCore::InspectorResource::buildObjectForTiming):
98381         * inspector/front-end/ResourcesPanel.js:
98382         (WebInspector.ResourcesPanel.prototype._showPopover):
98383
98384 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
98385
98386         Reviewed by Yury Semikhatsky.
98387
98388         Web Inspector: disable AppCache in chromium.
98389
98390         https://bugs.webkit.org/show_bug.cgi?id=41858
98391
98392         * inspector/front-end/Settings.js:
98393         * inspector/front-end/StoragePanel.js:
98394         (WebInspector.StoragePanel):
98395         (WebInspector.StoragePanel.prototype.reset):
98396         (WebInspector.StoragePanel.prototype.addApplicationCache):
98397
98398 2010-07-16  Yury Semikhatsky  <yurys@chromium.org>
98399
98400         Reviewed by Pavel Feldman.
98401
98402         console.trace should show file and line number for each function in the stack
98403         https://bugs.webkit.org/show_bug.cgi?id=21180
98404
98405         Test: inspector/console-trace.html
98406
98407         * bindings/js/ScriptCallStack.cpp:
98408         (WebCore::ScriptCallStack::initialize):
98409         * bindings/v8/ScriptCallFrame.cpp:
98410         (WebCore::ScriptCallFrame::ScriptCallFrame):
98411         * bindings/v8/ScriptCallFrame.h:
98412         * bindings/v8/ScriptCallStack.cpp:
98413         (WebCore::getFrameLocation):
98414         (WebCore::toScriptCallFrame):
98415         (WebCore::ScriptCallStack::create):
98416         (WebCore::ScriptCallStack::ScriptCallStack):
98417         (WebCore::ScriptCallStack::at):
98418         (WebCore::ScriptCallStack::size):
98419         * bindings/v8/ScriptCallStack.h:
98420         * bindings/v8/custom/V8ConsoleCustom.cpp:
98421         (WebCore::V8Console::traceCallback):
98422         * inspector/ConsoleMessage.cpp:
98423         (WebCore::ConsoleMessage::CallFrame::CallFrame):
98424         (WebCore::ConsoleMessage::CallFrame::isEqual):
98425         (WebCore::ConsoleMessage::CallFrame::createFrontendObject):
98426         (WebCore::ConsoleMessage::ConsoleMessage):
98427         (WebCore::ConsoleMessage::addToFrontend):
98428         (WebCore::ConsoleMessage::isEqual):
98429         * inspector/ConsoleMessage.h:
98430         * inspector/front-end/ConsoleView.js:
98431         (WebInspector.ConsoleMessage.prototype._formatMessage):
98432         (WebInspector.ConsoleMessage.prototype._createStackTraceElement):
98433         (WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
98434         * inspector/front-end/inspector.css:
98435         (.console-message.expandable > .console-message-text::before):
98436         (.console-message.expandable.collapsed > .console-message-text::before):
98437         (.console-message.expandable.collapsed > ol.stack-trace):
98438         (.console-message > ol.stack-trace):
98439         (.console-message.repeated-message > ol.stack-trace):
98440         (.console-message.repeated-message > ol.stack-trace.trace-message):
98441         * page/Console.idl:
98442
98443 2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
98444
98445         Reviewed by Antonio Gomes.
98446
98447         [EFL] Build with MathML enabled. Fix build when MathML is enabled and
98448         make it the default.
98449         https://bugs.webkit.org/show_bug.cgi?id=42453
98450
98451         EFL port does not support automated tests, yet.
98452
98453         * CMakeLists.txt: add missing source file and sort.
98454
98455 2010-07-16  Hans Wennborg  <hans@chromium.org>
98456
98457         Reviewed by Steve Block.
98458
98459         DeviceOrientationEvent.h should not forward-declare DeviceOrientation
98460         https://bugs.webkit.org/show_bug.cgi?id=42447
98461
98462         When destructing m_orientation, DeviceOrientation cannot be an incomplete type.
98463
98464         * dom/DeviceOrientationEvent.h:
98465
98466 2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
98467
98468         Reviewed by Dirk Schulze.
98469
98470         gradientTransform + objectBoundingBox is wrong
98471         https://bugs.webkit.org/show_bug.cgi?id=42446
98472
98473         gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms.
98474
98475         * rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/
98476
98477 2010-07-16  Mikhail Naganov  <mnaganov@chromium.org>
98478
98479         Reviewed by Pavel Feldman.
98480
98481         Make JS memory stats available via 'Performance' object (Web Timing).
98482         This statistics is populated only if 'WebKitMemoryInfoEnabled'
98483         preference is set.
98484
98485         'console.memory' is kept until Web Timing object becomes visible by
98486         default (currently it is hidden under compile-time flag).  These stats
98487         are guarded with the same preference.
98488
98489         https://bugs.webkit.org/show_bug.cgi?id=41617
98490
98491         * bindings/js/JSConsoleCustom.cpp:
98492         * bindings/v8/custom/V8ConsoleCustom.cpp:
98493         * page/Console.cpp:
98494         (WebCore::Console::disconnectFrame):
98495         (WebCore::Console::memory):
98496         * page/Console.h:
98497         * page/Console.idl:
98498         * page/MemoryInfo.cpp:
98499         (WebCore::MemoryInfo::MemoryInfo):
98500         * page/MemoryInfo.h:
98501         (WebCore::MemoryInfo::create):
98502         * page/Performance.cpp:
98503         (WebCore::Performance::disconnectFrame):
98504         (WebCore::Performance::memory):
98505         * page/Performance.h:
98506         * page/Performance.idl:
98507         * page/Settings.cpp:
98508         (WebCore::Settings::Settings):
98509         * page/Settings.h:
98510         (WebCore::Settings::setMemoryInfoEnabled):
98511         (WebCore::Settings::memoryInfoEnabled):
98512
98513 2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
98514
98515         Reviewed by Dirk Schulze.
98516
98517         Convolution computation causes bad alpha channel values
98518         https://bugs.webkit.org/show_bug.cgi?id=42273
98519
98520         Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg.
98521
98522         1) Fix clamping the rgb values:
98523         "image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i].
98524
98525         2) Don't apply the divisior divison and bias addition multiple times, accumulated!
98526     
98527         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
98528         (WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix.
98529
98530 2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
98531
98532         Reviewed by Dirk Schulze.
98533
98534         relative positioning does not work for radialGradient after window resize
98535         https://bugs.webkit.org/show_bug.cgi?id=41249
98536
98537         Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate
98538         all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the
98539         resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources,
98540         thus leading to wrong renderings.
98541
98542         Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which
98543         does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from
98544         the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken.
98545
98546         All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated
98547         and cached during the following paint() call.
98548
98549         Tests: svg/custom/marker-child-changes-css.svg
98550                svg/custom/relative-sized-content-with-resources.xhtml
98551
98552         * rendering/RenderForeignObject.cpp:
98553         (WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
98554         * rendering/RenderPath.cpp:
98555         (WebCore::RenderPath::layout): Ditto.
98556         * rendering/RenderSVGContainer.cpp:
98557         (WebCore::RenderSVGContainer::layout): Ditto.
98558         * rendering/RenderSVGImage.cpp:
98559         (WebCore::RenderSVGImage::layout): Ditto.
98560         * rendering/RenderSVGModelObject.cpp:
98561         (WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test.
98562         * rendering/RenderSVGModelObject.h:
98563         * rendering/RenderSVGResource.cpp:
98564         (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object,
98565                                                                             simplifying all RenderSVGResource* code.
98566         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain
98567                                                                                   for a render object. Also marks the renderer for layout, if needed. 
98568         * rendering/RenderSVGResource.h:
98569         * rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree.
98570         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!).
98571         (WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true.
98572         (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
98573         (WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image.
98574         (WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do.
98575         * rendering/RenderSVGResourceClipper.h:
98576         * rendering/RenderSVGResourceFilter.cpp:
98577         (WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98578         (WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion.
98579         * rendering/RenderSVGResourceGradient.cpp:
98580         (WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98581         (WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion.
98582         * rendering/RenderSVGResourceMarker.cpp:
98583         (WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98584         (WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion.
98585         * rendering/RenderSVGResourceMasker.cpp:
98586         (WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98587         (WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion.
98588         (WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do.
98589         * rendering/RenderSVGResourcePattern.cpp:
98590         (WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98591         (WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion.
98592         * rendering/RenderSVGText.cpp:
98593         (WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
98594         * svg/SVGAnimateMotionElement.cpp:
98595         (WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
98596         * svg/SVGAnimateTransformElement.cpp:
98597         (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
98598         * svg/SVGCircleElement.cpp:
98599         (WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
98600         * svg/SVGEllipseElement.cpp:
98601         (WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
98602         * svg/SVGFEImageElement.cpp:
98603         (WebCore::SVGFEImageElement::notifyFinished): Ditto.
98604         * svg/SVGForeignObjectElement.cpp:
98605         (WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
98606         * svg/SVGGElement.cpp:
98607         (WebCore::SVGGElement::svgAttributeChanged): Ditto.
98608         * svg/SVGImageElement.cpp:
98609         (WebCore::SVGImageElement::svgAttributeChanged): Ditto.
98610         * svg/SVGLineElement.cpp:
98611         (WebCore::SVGLineElement::svgAttributeChanged): Ditto.
98612         * svg/SVGPathElement.cpp:
98613         (WebCore::SVGPathElement::svgAttributeChanged): Ditto.
98614         * svg/SVGPolyElement.cpp:
98615         (WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
98616         * svg/SVGRectElement.cpp:
98617         (WebCore::SVGRectElement::svgAttributeChanged): Ditto.
98618         * svg/SVGSVGElement.cpp:
98619         (WebCore::SVGSVGElement::setCurrentScale): Ditto.
98620         (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
98621         (WebCore::SVGSVGElement::inheritViewAttributes): Ditto.
98622         * svg/SVGStopElement.cpp:
98623         (WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0.
98624         (WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes.
98625         * svg/SVGStopElement.h:
98626         * svg/SVGStyledElement.cpp:
98627         (WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us,
98628                                                           for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now.
98629         (WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing.
98630         * svg/SVGStyledElement.h:
98631         * svg/SVGTRefElement.cpp:
98632         (WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
98633         * svg/SVGTextElement.cpp:
98634         (WebCore::SVGTextElement::svgAttributeChanged): Ditto.
98635         * svg/SVGTextPathElement.cpp:
98636         (WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
98637         * svg/SVGTextPositioningElement.cpp:
98638         (WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
98639         * svg/SVGUseElement.cpp:
98640         (WebCore::SVGUseElement::svgAttributeChanged): Ditto.
98641         (WebCore::SVGUseElement::updateContainerSizes): Ditto.
98642         (WebCore::SVGUseElement::updateContainerOffsets): Ditto.
98643
98644 2010-07-16  Cosmin Truta  <ctruta@chromium.org>
98645
98646         Reviewed by Eric Seidel.
98647
98648         Some SVGs with empty <g> elements crash Chromium on Linux
98649         https://bugs.webkit.org/show_bug.cgi?id=41175
98650
98651         Avoid painting of zero-sized image buffers. Skia can't handle it.
98652
98653         Test: svg/filters/filter-empty-g.svg
98654
98655         * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
98656         (ImageBuffer::ImageBuffer):
98657
98658 2010-07-16  Nate Chapin  <japhet@chromium.org>
98659
98660         Reviewed by Darin Fisher.
98661
98662         Regression in r63100: Don't clear m_loadType in
98663         FrameLoader::handledOnloadEvents, as it is used
98664         to make some decisions after the load has actually
98665         completed.
98666
98667         Tickling this bug requires manipulation
98668         via the API (layout tests don't appear to traverse
98669         the correct codepath), so no layout test.
98670
98671         https://bugs.webkit.org/show_bug.cgi?id=42298
98672
98673         * loader/FrameLoader.cpp:
98674         (WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType.
98675         (WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache
98676            policy in one place and don't depend on m_loadType.
98677
98678 2010-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
98679
98680         Reviewed by Darin Adler.
98681
98682         Printing test results differ between machines, we should use ImageDiff instead
98683         https://bugs.webkit.org/show_bug.cgi?id=20011
98684
98685         Added spoolAllPagesWithBoundaries into PrintContext.
98686
98687         Test: printing/setPrinting.html
98688
98689         * WebCore.base.exp:
98690         * page/PrintContext.cpp:
98691         (WebCore::PrintContext::spoolAllPagesWithBoundaries):
98692         * page/PrintContext.h:
98693
98694 2010-07-15  Kent Tamura  <tkent@chromium.org>
98695
98696         Unreviewed, small style fixes.
98697
98698         * platform/chromium/ThemeChromiumMac.mm:
98699         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
98700         * platform/mac/ThemeMac.mm:
98701         (WebCore::ThemeMac::inflateControlPaintRect):
98702
98703 2010-07-15  Adam Barth  <abarth@webkit.org>
98704
98705         Reviewed by Eric Seidel.
98706
98707         Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body>
98708         https://bugs.webkit.org/show_bug.cgi?id=42431
98709
98710         Insert these whitespace text nodes into the HTML element between <head>
98711         and <body>, as required by HTML5.  Previously, we just dropped them on
98712         the floor.
98713
98714         * html/LegacyHTMLTreeBuilder.cpp:
98715         (WebCore::LegacyHTMLTreeBuilder::handleError):
98716
98717 2010-07-15  Victor Wang  <victorw@chromium.org>
98718
98719         Reviewed by David Levin.
98720
98721         [chromium] update KURLGoogle decodeURLEscapeSequences to
98722         use googleurl public api so it does not access functions in
98723         url_canon_internal. This is for chromium multi-dll build.
98724
98725         https://bugs.webkit.org/show_bug.cgi?id=42177
98726
98727         Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
98728
98729         * platform/KURLGoogle.cpp:
98730         (WebCore::decodeURLEscapeSequences):
98731
98732 2010-07-15  Kent Tamura  <tkent@chromium.org>
98733
98734         Reviewed by Eric Seidel.
98735
98736         [Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm
98737         https://bugs.webkit.org/show_bug.cgi?id=41932
98738
98739         Sync with ThemeMac.mm r61760.
98740         This change doesn't contain r54299, r57603, r57734, r57741, and
98741         r58533 because they conflict with Chromium change for
98742         FlippedView().
98743
98744         * platform/chromium/ThemeChromiumMac.mm:
98745         (WebCore::sizeFromNSControlSize):
98746         (WebCore::sizeFromFont):
98747         (WebCore::controlSizeFromPixelSize):
98748         (WebCore::setControlSize):
98749         (WebCore::convertControlStatesToThemeDrawState):
98750         (WebCore::stepperSizes):
98751         (WebCore::stepperControlSizeForFont):
98752         (WebCore::paintStepper):
98753         (WebCore::ThemeChromiumMac::controlSize):
98754         (WebCore::ThemeChromiumMac::minimumControlSize):
98755         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
98756         (WebCore::ThemeChromiumMac::paint):
98757
98758 2010-07-15  MORITA Hajime  <morrita@google.com>
98759
98760         Reviewed by David Levin.
98761
98762         [Chromium][Win] Crashes with <keygen> with huge padding.
98763         https://bugs.webkit.org/show_bug.cgi?id=41737
98764
98765         When we try to draw a large region, TransparencyWin can fail to
98766         allocate a temporal buffer for composition.  This change adds a
98767         fallback path to ThemePainter to handle the buffer allocation
98768         failure.
98769
98770         ThemePainter is no longer a subclass of TransparencyWin.  It has
98771         a TransparencyWin as a member.
98772
98773         Test: fast/forms/large-parts.html
98774
98775         * rendering/RenderThemeChromiumWin.cpp:
98776         (WebCore::ThemePainter): Added a fallback path.
98777
98778 2010-07-15  Yuzo Fujishima  <yuzo@google.com>
98779
98780         Reviewed by Darin Adler.
98781
98782         Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere
98783         Remove the method.
98784         https://bugs.webkit.org/show_bug.cgi?id=42362
98785
98786         No new tests because of no behavior changes.
98787
98788         * css/CSSSegmentedFontFace.cpp:
98789         * css/CSSSegmentedFontFace.h:
98790
98791 2010-07-15  Erik Arvidsson  <arv@chromium.org>
98792
98793         Reviewed by David Levin.
98794
98795         Add directional property enums to the switch in applyProperty
98796         https://bugs.webkit.org/show_bug.cgi?id=42438
98797
98798         Build fix for chromium mac.
98799
98800         * css/CSSStyleSelector.cpp:
98801         (WebCore::CSSStyleSelector::applyProperty):
98802
98803 2010-07-13  Zhenyao Mo  <zmo@google.com>
98804
98805         Reviewed by Nate Chapin.
98806
98807         bufferData and bufferSubData generate wrong error when null buffer is bound
98808         https://bugs.webkit.org/show_bug.cgi?id=42125
98809
98810         * html/canvas/WebGLRenderingContext.cpp:
98811         (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters().
98812         (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
98813         (WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data().
98814         * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters().
98815
98816 2010-07-15  Jay Civelli  <jcivelli@chromium.org>
98817
98818         Reviewed by David Levin.
98819
98820         [chromium] Making the popup label color visible when the item is
98821         selected.
98822         https://bugs.webkit.org/show_bug.cgi?id=42271
98823
98824         * platform/chromium/PopupMenuChromium.cpp:
98825         (WebCore::PopupListBox::paintRow): paint the label text with a
98826         different color when it is selected. 
98827
98828 2010-07-13  Zhenyao Mo  <zmo@google.com>
98829
98830         Reviewed by Nate Chapin.
98831
98832         WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
98833         https://bugs.webkit.org/show_bug.cgi?id=34719
98834
98835         Tests: fast/canvas/webgl/canvas-test.html
98836                fast/canvas/webgl/gl-pixelstorei.html
98837
98838         * html/HTMLCanvasElement.cpp:
98839         (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable): Paint the WebGL rendering results to canvas if it's 3d.
98840         (WebCore::HTMLCanvasElement::toDataURL): Paint the WebGL rendering results to canvas if it's 3d.
98841         * html/canvas/CanvasRenderingContext2D.cpp:
98842         (WebCore::CanvasRenderingContext2D::drawImage): Paint the WebGL rendering results to canvas if it's 3d before drawing.
98843         * html/canvas/WebGLRenderingContext.cpp:
98844         (WebCore::WebGLRenderingContext::markContextChanged): Mark it always for canvas2d.drawImage purpose.
98845         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): Paint the WebGL rendering results to canvas if it's dirty.
98846         * html/canvas/WebGLRenderingContext.h: Declare paintRenderingResultsToCanvas().
98847         * platform/graphics/GraphicsContext3D.h: Declare paintRenderingResultsToCanvas() & paintToCanvas().
98848         * platform/graphics/cg/GraphicsContext3DCG.cpp:
98849         (WebCore::GraphicsContext3D::paintToCanvas): Paint the rendered image pixels to the canvas.
98850         * platform/graphics/mac/GraphicsContext3DMac.mm:
98851         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
98852         * platform/graphics/qt/GraphicsContext3DQt.cpp:
98853         (WebCore::GraphicsContext3D::beginPaint): Just call paintRenderingResultsToCanvas().
98854         (WebCore::GraphicsContext3D::endPaint):
98855         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
98856
98857 2010-07-15  Nico Weber  <thakis@chromium.org>
98858
98859         Reviewed by Ojan Vafai.
98860
98861         chromium/skia: Fix canvas.toDataURL in the presence of transparency
98862         https://bugs.webkit.org/show_bug.cgi?id=42214
98863
98864         The problem was that SkBitmaps contain premultiplied data, but pnglib
98865         doesn't expect premultiplied data. Now, the encoder unpremultiplies
98866         data before sending it to pnglib.
98867
98868         Patch partially by deanm.
98869
98870         Covered by fast/canvas/toDataURL-alpha.html.
98871
98872         * platform/image-encoders/skia/PNGImageEncoder.cpp:
98873         (WebCore::preMultipliedBGRAtoRGBA):
98874         (WebCore::encodeImpl):
98875         (WebCore::PNGImageEncoder::encode):
98876
98877 2010-07-15  Alex Nicolaou  <anicolao@chromium.org>
98878
98879         Reviewed by Eric Seidel.
98880
98881         Convolution computation causes bad alpha channel values
98882         https://bugs.webkit.org/show_bug.cgi?id=42273
98883
98884         Fixed by clamping colour channel values to the alpha value so that 
98885         r <= a, g <= a, and b <= a after the convolution is applied. See
98886         the bug for why I believe the SVG specification needs to be updated. 
98887         Test must be drawn to crash. 100x100 green rectangle is used to 
98888         indicate pass to minimize the chance of regression.
98889
98890         Test: svg/custom/convolution-crash.svg
98891
98892         * platform/graphics/skia/SkiaUtils.cpp:
98893         (WebCore::SkPMColorToColor):
98894         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
98895         (WebCore::clampRGBAValue):
98896         (WebCore::setDestinationPixels):
98897         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
98898         (WebCore::FEConvolveMatrix::fastSetOuterPixels):
98899
98900 2010-07-15  Dumitru Daniliuc  <dumi@chromium.org>
98901
98902         Unreviewed, Chromium-specific changes that I forgot to make in r63278.
98903
98904         1. DatabaseTrackerChromium::getMaxSizeForDatabase() is called on
98905         the context thread by sync DBs.
98906         2. Forgot to change V8SQLTransactionSyncCustom to return the
98907         result set when executeSql() is called.
98908
98909         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
98910         (WebCore::V8SQLTransactionSync::executeSqlCallback):
98911         * storage/chromium/DatabaseTrackerChromium.cpp:
98912         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
98913
98914 2010-07-15  Martin Robinson  <mrobinson@igalia.com>
98915
98916         Reviewed by Oliver Hunt.
98917
98918         [GTK] Simplify the distribution step
98919         https://bugs.webkit.org/show_bug.cgi?id=42414
98920
98921         No new tests as this is just a build change.
98922
98923         * GNUmakefile.am: Modify EXTRA_DIST directly and make sure the list
98924         of files is sorted. Also handle distributing the IDL files from the
98925         WebCore source tree.
98926
98927 2010-07-15  Eric Seidel  <eric@webkit.org>
98928
98929         Reviewed by Adam Barth.
98930
98931         LegacyHTMLTreeBuilder should insert an implicit <colgroup> before inserting <col> to match HTML5
98932         https://bugs.webkit.org/show_bug.cgi?id=42346
98933
98934         This turned out to be an easy fix.
98935
98936         This is covered by lots of layout tests.  I believe
98937         all of the changed results to be progressions.
98938
98939         This change had no measurable effect on the parser benchmark.
98940
98941         * html/LegacyHTMLTreeBuilder.cpp:
98942         (WebCore::LegacyHTMLTreeBuilder::colCreateErrorCheck):
98943         (WebCore::LegacyHTMLTreeBuilder::getNode):
98944         * html/LegacyHTMLTreeBuilder.h:
98945
98946 2010-07-15  Sam Weinig  <sam@webkit.org>
98947
98948         Reviewed by Oliver Hunt.
98949
98950         Patch for https://bugs.webkit.org/show_bug.cgi?id=42410
98951         Many leaking DatasetDOMStringMaps seen on buildbot
98952
98953         * dom/NodeRareData.h:
98954         (WebCore::NodeRareData::~NodeRareData): Add a virtual destructor so
98955         that the ElementRareData's destructor will be called when this is deleted
98956         from the Node's destructor.
98957
98958 2010-07-15  Chris Fleizach  <cfleizach@apple.com>
98959
98960         Reviewed by Darin Adler.
98961
98962         AX: Crash when table has empty thead tag
98963         https://bugs.webkit.org/show_bug.cgi?id=42391
98964
98965         Test: accessibility/table-with-empty-thead-causes-crash.html
98966
98967         * accessibility/AccessibilityTableColumn.cpp:
98968         (WebCore::AccessibilityTableColumn::headerObjectForSection):
98969
98970 2010-07-15  Anders Carlsson  <andersca@apple.com>
98971
98972         Reviewed by Sam Weinig.
98973
98974         Start loading plug-in streams
98975         https://bugs.webkit.org/show_bug.cgi?id=42407
98976
98977         Export some ResourceRequestBase getters.
98978
98979         * WebCore.exp.in:
98980
98981 2010-07-15  Kenneth Russell  <kbr@google.com>
98982
98983         Reviewed by Nate Chapin.
98984
98985         Query of NUM_COMPRESSED_TEXTURE_FORMATS must be handled by WebGL
98986         https://bugs.webkit.org/show_bug.cgi?id=42401
98987
98988         No new tests; covered by gl-get-calls.html.
98989
98990         * html/canvas/WebGLRenderingContext.cpp:
98991         (WebCore::WebGLRenderingContext::getParameter):
98992          - Return 0 for getParameter(NUM_COMPRESSED_TEXTURE_FORMATS).
98993
98994 2010-07-07  John Gregg  <johnnyg@google.com>
98995
98996         Reviewed by Jian Li.
98997
98998         Experimental directory upload feature.
98999         https://bugs.webkit.org/show_bug.cgi?id=40872
99000
99001         This patch adds a new HTML attribute webkitdirectory which applies to 
99002         <input type="file"> tags and allows the user to specify a folder
99003         which is recursively enumerated so that all the files in that folder
99004         are added to the file list.
99005
99006         The files chosen in that way have a .webkitRelativePath attribute which contains
99007         the relative path starting from the chosen folder.  The relative path is
99008         also appended to each item in the FormData when uploaded.
99009
99010         All the code is behind an ENABLE_DIRECTORY_UPLOAD flag.
99011
99012         Test: fast/forms/input-file-directory-upload.html
99013
99014         * html/Blob.cpp:
99015         (WebCore::Blob::Blob):
99016         * html/Blob.h:
99017         * html/File.cpp:
99018         (WebCore::File::File):
99019         (WebCore::File::Init):
99020         (WebCore::File::webkitRelativePath):
99021         * html/File.h:
99022         (WebCore::File::create):
99023         * html/File.idl:
99024         * html/HTMLAttributeNames.in: add webkitdirectory attribute
99025         * html/HTMLInputElement.cpp:
99026         (WebCore::HTMLInputElement::setFileListFromRenderer):
99027         (WebCore::HTMLInputElement::webkitdirectory):
99028         * html/HTMLInputElement.h:
99029         * html/HTMLInputElement.idl:
99030         * platform/BlobItem.cpp:
99031         (WebCore::FileBlobItem::create):
99032         (WebCore::FileBlobItem::FileBlobItem):
99033         * platform/BlobItem.h:
99034         (WebCore::FileBlobItem::relativePath):
99035         * platform/FileChooser.h:
99036         (WebCore::FileChooser::allowsDirectoryUpload):
99037         * platform/network/FormData.cpp:
99038         (WebCore::FormData::appendKeyValuePairItems):
99039         * rendering/RenderFileUploadControl.cpp:
99040         (WebCore::RenderFileUploadControl::allowsMultipleFiles):
99041         (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
99042         * rendering/RenderFileUploadControl.h:
99043
99044 2010-07-15  Simon Fraser  <simon.fraser@apple.com>
99045
99046         Reviewed by Dan Bernstein.
99047
99048         Avoid creating huge compositing layers for elements that project outside the viewport
99049         https://bugs.webkit.org/show_bug.cgi?id=42338
99050
99051         The logic that computed the bounds of compositing layers naively used the
99052         union of the bounds of descendant, non-composited RenderLayers, without regard
99053         to what is actually visible. This could result in huge layers for page with
99054         elements are large negative offsets, or with large negative text-indent (both
99055         common).
99056         
99057         For elements without transforms on them or in their ancestor chain, and when
99058         no 3d transforms or hardware-accelerated animations are used, can clip compositing
99059         layers to the size of the document, or based on CSS overflow and clip.
99060
99061         Tests: compositing/geometry/limit-layer-bounds-clipping-ancestor.html
99062                compositing/geometry/limit-layer-bounds-fixed-positioned.html
99063                compositing/geometry/limit-layer-bounds-overflow-repaint.html
99064                compositing/geometry/limit-layer-bounds-positioned-transition.html
99065                compositing/geometry/limit-layer-bounds-positioned.html
99066                compositing/geometry/limit-layer-bounds-transformed-overflow.html
99067                compositing/geometry/limit-layer-bounds-transformed.html
99068
99069         * rendering/RenderLayerBacking.cpp:
99070         (WebCore::enclosingOverflowClipAncestor):  Walk up the RenderLayer tree
99071         looking for an ancestor that has overflow, or to the root. Along the way, check for
99072         transformed elements.
99073         (WebCore::RenderLayerBacking::updateCompositedBounds):  If we're in "consult
99074         overlap" mode, and we don't have transforms, then constrain the bounds
99075         of composited layers by the RenderView's layoutOverflowRect(), or by the
99076         enclosing layer with overflow.
99077         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If the offset from the renderer changes,
99078         we need to repaint the layer.
99079
99080 2010-07-15  Alex Nicolaou  <anicolao@chromium.org>
99081
99082         Reviewed by Dirk Schulze.
99083
99084         https://bugs.webkit.org/show_bug.cgi?id=42228
99085         
99086         SVG Masks were in the wrong colour space for non-CG graphics layers,
99087         because for those cases ImageBuffer needs to be explicitly told to
99088         convert the pixels. This change adds a test that demonstrates the
99089         problem and the conversion call to make the mask LinearRGB.
99090
99091         Test: svg/custom/mask-colorspace.svg
99092
99093         * rendering/RenderSVGResourceMasker.cpp:
99094         (WebCore::RenderSVGResourceMasker::createMaskImage):
99095
99096 2010-07-15  Daniel Bates  <dbates@rim.com>
99097
99098         Reviewed by Darin Adler.
99099
99100         [Mac] Implement LayoutTestController::markerTextForListItem()
99101         https://bugs.webkit.org/show_bug.cgi?id=37929
99102
99103         Export symbols for WebCore::markerTextForListItem() and WebCore::toElement().
99104
99105         * WebCore.exp.in:
99106
99107 2010-07-15  Andreas Kling  <andreas.kling@nokia.com>
99108
99109         Rubber-stamped by Kenneth Rohde Christiansen.
99110
99111         [Qt] Remove an unused variable in BitmapImage::draw()
99112
99113         * platform/graphics/qt/ImageQt.cpp:
99114         (WebCore::BitmapImage::draw): Remove selfSize.
99115
99116 2010-07-15  Yury Semikhatsky  <yurys@chromium.org>
99117
99118         Reviewed by Pavel Feldman.
99119
99120         Web Inspector: pass all parameters to WebInspector.addConsoleMessage as a single payload object
99121         https://bugs.webkit.org/show_bug.cgi?id=42345
99122
99123         This refactoring is covered by existing console tests.
99124
99125         * bindings/js/ScriptArray.cpp:
99126         (WebCore::ScriptArray::set):
99127         * bindings/js/ScriptArray.h:
99128         (WebCore::ScriptArray::ScriptArray):
99129         (WebCore::ScriptArray::jsArray):
99130         * bindings/v8/ScriptArray.cpp:
99131         (WebCore::ScriptArray::set):
99132         * bindings/v8/ScriptArray.h:
99133         (WebCore::ScriptArray::ScriptArray):
99134         (WebCore::ScriptArray::~ScriptArray):
99135         * inspector/ConsoleMessage.cpp:
99136         (WebCore::ConsoleMessage::addToFrontend):
99137         * inspector/InspectorFrontend.cpp:
99138         (WebCore::InspectorFrontend::addConsoleMessage):
99139         * inspector/InspectorFrontend.h:
99140         * inspector/front-end/ConsoleView.js:
99141         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
99142         (WebInspector.ConsoleMessage):
99143         (WebInspector.ConsoleMessage.createTextMessage):
99144         (WebInspector.ConsoleCommandResult):
99145         * inspector/front-end/ElementsPanel.js:
99146         (WebInspector.ElementsPanel.prototype.generateStylesheet):
99147         * inspector/front-end/InjectedScriptAccess.js:
99148         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
99149         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
99150         (InjectedScriptAccess._installHandler):
99151         * inspector/front-end/Resource.js:
99152         (WebInspector.Resource.prototype._checkWarning):
99153         * inspector/front-end/inspector.js:
99154         (WebInspector.updateConsoleMessageExpiredCount):
99155         (WebInspector.addConsoleMessage):
99156         (WebInspector.log.logMessage):
99157         (WebInspector.log):
99158
99159 2010-07-14  Tony Gentilcore  <tonyg@chromium.org>
99160
99161         Reviewed by Darin Fisher.
99162
99163         Backfill DNS and connect times rather than exposing hard zeros
99164         https://bugs.webkit.org/show_bug.cgi?id=42303
99165
99166         There are several cases where domain lookup is not performed and/or a new connection is not established. Previously in these cases, we exposed a "0" to the API. Now, we instead "backfill" with the most recent mark's time.
99167
99168         Also, previously, I was using the ResourceLoadTiming API incorrectly. Each mark is an integer representing offset in milliseconds from requestTime. So all values need to be added to requestTime.
99169
99170         No new test because existing test expectations are set to FAIL because disable disabled by default. The expected results of existings tests change as expected when enabled.
99171
99172         * page/Timing.cpp:
99173         (WebCore::toIntegerMilliseconds): Move to file static instead of class static because it might generate more optimal code. Also, instead of converting negative doubles to zero, ASSERT that they are >= 0. This is because we no longer expose hard zeros for DNS and connect, so we want to be sure that the -1s returned by the API are properly handled.
99174         (WebCore::Timing::domainLookupStart):
99175         (WebCore::Timing::domainLookupEnd):
99176         (WebCore::Timing::connectStart):
99177         (WebCore::Timing::connectEnd):
99178         (WebCore::Timing::requestStart):
99179         (WebCore::Timing::requestEnd):
99180         (WebCore::Timing::responseStart):
99181         * page/Timing.h:
99182
99183 2010-07-15  Pavel Feldman  <pfeldman@chromium.org>
99184
99185         Reviewed by Yury Semikhatsky.
99186
99187         Web Inspector: differentiate between blocking and connecting timers.
99188
99189         https://bugs.webkit.org/show_bug.cgi?id=42372
99190
99191         * inspector/InspectorResource.cpp:
99192         (WebCore::InspectorResource::InspectorResource):
99193         (WebCore::InspectorResource::updateResponse):
99194         (WebCore::InspectorResource::updateScriptObject):
99195         (WebCore::InspectorResource::buildObjectForTiming):
99196         * inspector/InspectorResource.h:
99197         * inspector/front-end/Resource.js:
99198         (WebInspector.Resource.prototype.get cached):
99199         (WebInspector.Resource.prototype.set cached):
99200         * inspector/front-end/ResourcesPanel.js:
99201         (WebInspector.ResourcesPanel.prototype._showPopover):
99202         (WebInspector.ResourceGraph):
99203         (WebInspector.ResourceGraph.prototype.refresh):
99204         (WebInspector.ResourceGraph.prototype._cachedChanged):
99205         * inspector/front-end/inspector.js:
99206         (WebInspector.updateResource):
99207         * loader/FrameLoader.cpp:
99208         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
99209         * loader/FrameLoader.h:
99210         * platform/network/ResourceResponseBase.cpp:
99211         (WebCore::ResourceResponseBase::ResourceResponseBase):
99212         (WebCore::ResourceResponseBase::connectionReused):
99213         (WebCore::ResourceResponseBase::setConnectionID):
99214         * platform/network/ResourceResponseBase.h:
99215
99216 2010-07-15  MORITA Hajime  <morrita@google.com>
99217
99218         Text layout is wrong with a SVG Font that lacks <missing-glyph> element
99219         https://bugs.webkit.org/show_bug.cgi?id=42352
99220
99221         floatWidthOfSubStringUsingSVGFont() calculated a wrong value for a
99222         sub-run, and a fallback to system font triggers such a computation.
99223         This change made floatWidthOfSubStringUsingSVGFont() to deal with
99224         sub-runs.
99225         
99226         Test: svg/custom/svg-fonts-without-missing-glyph.xhtml
99227
99228         * svg/SVGFont.cpp:
99229         (WebCore::floatWidthOfSubStringUsingSVGFont):
99230
99231 2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99232
99233         Reviewed by Dirk Schulze.
99234
99235         Cycle detection needs to include shadow tree
99236         https://bugs.webkit.org/show_bug.cgi?id=42360
99237
99238         Search for cycles in shadow tree fragments as well. Extended the svg/custom/recursion-* tests. No more crashes in any of them.
99239
99240         * rendering/RenderSVGResourceContainer.h:
99241         (WebCore::RenderSVGResourceContainer::containsCyclicReference):
99242         * rendering/RenderSVGShadowTreeRootContainer.cpp: Implemented here, not inline, so that clients don't need to include SVGShadowTreeElements.h
99243         (WebCore::RenderSVGShadowTreeRootContainer::rootElement): Expose helper function, that returns the shadow tree root element as Node*.
99244         * rendering/RenderSVGShadowTreeRootContainer.h:
99245
99246 2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99247
99248         Reviewed by Dirk Schulze.
99249
99250         clipPath is missing cycle detection
99251         https://bugs.webkit.org/show_bug.cgi?id=42350
99252
99253         Detect cyclic clipper resources, and ignore them on rendering. Early exit in applyResource just like the pattern/mask resources do.
99254
99255         * rendering/RenderSVGResourceClipper.cpp:
99256         (WebCore::RenderSVGResourceClipper::applyResource):
99257         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
99258         (WebCore::RenderSVGResourceClipper::childElementReferencesResource):
99259         * rendering/RenderSVGResourceClipper.h:
99260
99261 2010-07-15  Mark Rowe  <mrowe@apple.com>
99262
99263         Reviewed by Maciej Stachowiak.
99264
99265         Fix a leak of Vector instances seen on the build bot.
99266
99267         * rendering/RenderObject.cpp:
99268         (WebCore::RenderObject::drawBoxSideFromPath): Don't unnecessarily heap allocate then leak the DashArray.
99269
99270 2010-07-15  Mark Rowe  <mrowe@apple.com>
99271
99272         Update the sorting in the Xcode project files.
99273
99274         * WebCore.xcodeproj/project.pbxproj:
99275
99276 2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99277
99278         Reviewed by Eric Seidel.
99279
99280         SVG patterns and masks should not be able to reference themselves
99281         https://bugs.webkit.org/show_bug.cgi?id=32171
99282
99283         Pattern still had an issue, when using constructs like:
99284         <pattern id="pattern1" xlink:href="#pattern2"/>
99285         <pattern id="pattern2"><rect fill="url(#pattern1)"/></pattern>
99286
99287         Extended test svg/custom/recursive-pattern.svg to cover this situation.
99288
99289         * rendering/RenderSVGResourcePattern.cpp:
99290         (WebCore::RenderSVGResourcePattern::applyResource): Don't perform the cycle check against node()...
99291         (WebCore::RenderSVGResourcePattern::createTileImage): .. but against the "patternContentElement" which respect the xlink:href chaining.
99292
99293 2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99294
99295         Reviewed by Adam Barth.
99296
99297         Pixel test failure in moving-shadow-on-path.html and moving-shadow-on-container.html
99298         https://bugs.webkit.org/show_bug.cgi?id=42249
99299
99300         Partly revert <http://trac.webkit.org/changeset/63307>. The RenderSVGRoot change caused a pixel test regression in two fast/repaint tests.
99301
99302         * rendering/RenderSVGRoot.cpp:
99303         (WebCore::RenderSVGRoot::layout): Include selfNeedsLayout() check in LayoutStateRepainter argument.
99304
99305 2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>
99306
99307         Unreviewed, rolling out r63352.
99308         http://trac.webkit.org/changeset/63352
99309         https://bugs.webkit.org/show_bug.cgi?id=42341
99310
99311         Broke plugin-initiate-popup-window.html and plugin-javascript-
99312         access.html on snow leopard (Requested by abarth on #webkit).
99313
99314         * bindings/v8/NPV8Object.cpp:
99315         (_NPN_EvaluateHelper):
99316
99317 2010-07-14  Eric Seidel  <eric@webkit.org>
99318
99319         Reviewed by Adam Barth.
99320
99321         Make the LegacyHTMLTreeBuilder coalesce text nodes
99322         https://bugs.webkit.org/show_bug.cgi?id=42314
99323
99324         This is slightly tricky as we're side-stepping the old
99325         parsers insertion logic in the cases where we know we can
99326         safely merge text into an existing text node instead of
99327         inserting a new one.
99328
99329         This affects lots of tests (which will need to change for
99330         the HTML5 TreeBuilder anyway) and causes the LegacyHTMLTreeBuilder
99331         to now pass a bunch more subtests in html5lib/runner.html.
99332
99333         The parser benchmark thinks that this is a small speedup.
99334         I think I happen to have been lucky enough to get the right
99335         cache alignment, and that this is likely a wash.
99336
99337         * html/LegacyHTMLTreeBuilder.cpp:
99338         (WebCore::LegacyHTMLTreeBuilder::parseToken):
99339
99340 2010-07-14  Evan Stade  <estade@chromium.org>
99341
99342         Reviewed by Kent Tamura.
99343
99344         [chromium] Linux scrollbar steppers are "clickable" even when disabled
99345         https://bugs.webkit.org/show_bug.cgi?id=42231
99346
99347         Not tested by layout tests.
99348
99349         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
99350         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
99351
99352 2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>
99353
99354         Unreviewed, rolling out r63389.
99355         http://trac.webkit.org/changeset/63389
99356         https://bugs.webkit.org/show_bug.cgi?id=42311
99357
99358         It broke the Chromium Linux build. (Requested by dave_levin on
99359         #webkit).
99360
99361         * platform/KURLGoogle.cpp:
99362         (WebCore::decodeURLEscapeSequences):
99363
99364 2010-07-13  Mirko Damiani  <mirko@develer.com>
99365
99366         Reviewed by Simon Hausmann.
99367
99368         [Qt] CSS border style not cleared for SVG object
99369         https://bugs.webkit.org/show_bug.cgi?id=42150
99370
99371         For tests and description see:
99372         https://bugs.webkit.org/show_bug.cgi?id=25738
99373
99374         * platform/graphics/qt/GraphicsContextQt.cpp:
99375         (WebCore::GraphicsContext::setLineDash):
99376
99377 2010-07-14  Adam Barth  <abarth@webkit.org>
99378
99379         Reviewed by Eric Seidel.
99380
99381         HTMLTreeBuilder shouldn't crash during fast/parser/remove-parser-current-node.html
99382         https://bugs.webkit.org/show_bug.cgi?id=42312
99383
99384         We were crashing because of an ASSERT I added to the attach logic in
99385         the HTMLConstructionSite.  I knew this ASSERT was wrong when I added
99386         it, I just wanted to make sure we had test coverage of those cases.
99387         Turns out we do!  :)
99388
99389         * html/HTMLConstructionSite.cpp:
99390         (WebCore::HTMLConstructionSite::attach):
99391         (WebCore::HTMLConstructionSite::attachAtSite):
99392
99393 2010-07-14  Victor Wang  <victorw@chromium.org>
99394
99395         Reviewed by Darin Fisher.
99396
99397         [chromium] update KURLGoogle decodeURLEscapeSequences to
99398         use googleurl public api so it does not access functions in
99399         url_canon_internal. This is for chromium multi-dll build.
99400
99401         https://bugs.webkit.org/show_bug.cgi?id=42177
99402
99403         Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
99404
99405         * platform/KURLGoogle.cpp:
99406         (WebCore::decodeURLEscapeSequences):
99407
99408 2010-07-14  Adam Barth  <abarth@webkit.org>
99409
99410         Reviewed by Eric Seidel.
99411
99412         Avoid extra memcpy of character tokens
99413         https://bugs.webkit.org/show_bug.cgi?id=42002
99414
99415         Eric tells me this patch makes the new tree builder 1% faster than the
99416         old tree builder on our parser benchmark.
99417
99418         * html/HTMLToken.h:
99419         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
99420         (WebCore::AtomicHTMLToken::characters):
99421         * html/HTMLTreeBuilder.cpp:
99422         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
99423         (WebCore::convertToOldStyle):
99424         (WebCore::HTMLTreeBuilder::processFakeCharacters):
99425
99426 2010-07-14  Eric Seidel  <eric@webkit.org>
99427
99428         Reviewed by Adam Barth.
99429
99430         HTMLTreeBuilder foster parents when it should not
99431         https://bugs.webkit.org/show_bug.cgi?id=42235
99432
99433         Regarding foster parenting of nodes inside tables:
99434         "Process the token using the rules for the "in body" insertion mode,
99435         except that if the current node is a table, tbody, tfoot, thead, or
99436         tr element, then, whenever a node would be inserted into the current
99437         node, it must instead be foster parented."
99438
99439         We were forgetting the "when the current node is" part of that check
99440         and always foster parenting, even if we had just inserted another
99441         element (which would have just changed the current node).
99442
99443         This was covered by multiple tests in html5lib/runner.html
99444         but I wrote a reduction (one which I included) as it makes it
99445         easier to see what's going on.
99446
99447         * html/HTMLConstructionSite.cpp:
99448         (WebCore::HTMLNames::causesFosterParenting):
99449         (WebCore::HTMLConstructionSite::attach):
99450         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
99451         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
99452         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
99453         (WebCore::HTMLConstructionSite::insertTextNode):
99454         (WebCore::HTMLConstructionSite::shouldFosterParent):
99455         * html/HTMLConstructionSite.h:
99456         * html/HTMLTreeBuilder.cpp:
99457         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
99458
99459 2010-07-14  Brady Eidson  <beidson@apple.com>
99460
99461         Reviewed by Mark Rowe.
99462
99463         <rdar://problem/8131355> Apps load stale versions of pages when initial load happens via back/forward navigation.
99464
99465         No test case is added because DumpRenderTree is not able to test the scenario where the initial load in a WebView
99466         occurs via a back/forward navigation.
99467
99468         * loader/FrameLoader.cpp:
99469         (WebCore::FrameLoader::navigateToDifferentDocument): When the first load in a page is a back/forward navigation, we
99470           shouldn't try to prefer cached data but should do revalidation by default.
99471         (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
99472
99473 2010-07-14  James Robinson  <jamesr@chromium.org>
99474
99475         Reviewed by Darin Fisher.
99476
99477         Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime
99478         https://bugs.webkit.org/show_bug.cgi?id=42203
99479
99480         Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium
99481         a GLES2Context in from the constructor.  This way the platform/ directory can remain
99482         ignorant of Page and friends.  Also adds functions on ChromeClientChromium to request
99483         onscreen and offscreen GLES2Contexts for callers in WebCore that need them.
99484
99485         * page/chromium/ChromeClientChromium.h:
99486         * platform/chromium/GLES2Context.h:
99487         * platform/graphics/chromium/LayerRendererChromium.cpp:
99488         (WebCore::LayerRendererChromium::create):
99489         (WebCore::LayerRendererChromium::LayerRendererChromium):
99490         * platform/graphics/chromium/LayerRendererChromium.h:
99491
99492 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
99493
99494         Reviewed by Darin Adler.
99495
99496         Add functions to extract individual RGBA32 components
99497         https://bugs.webkit.org/show_bug.cgi?id=42305
99498
99499         * html/canvas/CanvasRenderingContext2D.cpp:
99500         (WebCore::CanvasRenderingContext2D::willDraw): Use alphaChannel()
99501         * platform/graphics/Color.h:
99502         (WebCore::redChannel):
99503         (WebCore::greenChannel):
99504         (WebCore::blueChannel):
99505         (WebCore::alphaChannel):
99506         (WebCore::Color::red):
99507         (WebCore::Color::green):
99508         (WebCore::Color::blue):
99509         (WebCore::Color::alpha):
99510
99511 2010-07-14  Alexey Proskuryakov  <ap@apple.com>
99512
99513         Not reviewed.
99514
99515         https://bugs.webkit.org/show_bug.cgi?id=42201
99516         Use ResourceHandle object for synchronous loading
99517
99518         * platform/network/mac/ResourceHandleMac.mm:
99519         (WebCore::ResourceHandle::loadResourceSynchronously): Fix an obvious typo.
99520
99521 2010-07-14  Alexey Proskuryakov  <ap@apple.com>
99522
99523         Reviewed by Brady Eidson.
99524
99525         https://bugs.webkit.org/show_bug.cgi?id=42201
99526         Use ResourceHandle object for synchronous loading
99527
99528         Fix a Tiger test failure.
99529
99530         Setting NSURLRequest properties has been moved to createNSURLConnection to share code between
99531         sync and async cases, but on Tiger, we don't call this function.
99532
99533         There is more refactoring needed to make this nice, and we need to figure out if some of
99534         request-tweaking code in createNSURLConnection needs to run on every redirect, as it happens
99535         with CFNetwork version.
99536
99537         * platform/network/mac/ResourceHandleMac.mm:
99538         (WebCore::ResourceHandle::loadResourceSynchronously): Set main document for cookies, which is
99539         the only thing we've been missing.
99540
99541 2010-07-14  Mark Rowe  <mrowe@apple.com>
99542
99543         Rubber-stamped by Dan Bernstein.
99544
99545         * WebCore.xcodeproj/project.pbxproj: Silence rsync.
99546
99547 2010-07-14  Darin Adler  <darin@apple.com>
99548
99549         Reviewed by Gavin Barraclough.
99550
99551         Fix warning seen with newer gcc (on Qt buildbot).
99552
99553         * html/HTMLTreeBuilder.cpp:
99554         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
99555         Add parentheses around && expression.
99556
99557 2010-07-14  Adam Barth  <abarth@webkit.org>
99558
99559         Reviewed by Eric Seidel.
99560
99561         Avoid extra memcpy of character tokens
99562         https://bugs.webkit.org/show_bug.cgi?id=42002
99563
99564         This patch is just some cleanup to make fixing this bug easier.
99565
99566         * html/HTMLTreeBuilder.cpp:
99567         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
99568         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer):
99569         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty):
99570         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
99571         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
99572         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
99573         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
99574         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
99575         (WebCore::HTMLTreeBuilder::processDoctypeToken):
99576         (WebCore::HTMLTreeBuilder::processStartTag):
99577         (WebCore::HTMLTreeBuilder::processEndTag):
99578         (WebCore::HTMLTreeBuilder::processComment):
99579         (WebCore::HTMLTreeBuilder::processCharacter):
99580         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
99581         (WebCore::HTMLTreeBuilder::processEndOfFile):
99582         (WebCore::HTMLTreeBuilder::defaultForInitial):
99583         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
99584         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
99585         (WebCore::HTMLTreeBuilder::defaultForInHead):
99586         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
99587         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
99588         (WebCore::HTMLTreeBuilder::defaultForInTableText):
99589         * html/HTMLTreeBuilder.h:
99590
99591 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
99592
99593         Reviewed by Darin Adler.
99594
99595         Canvas: Don't add shadow rect to dirty region when shadow alpha is 0
99596         https://bugs.webkit.org/show_bug.cgi?id=42300
99597
99598         * html/canvas/CanvasRenderingContext2D.cpp:
99599         (WebCore::CanvasRenderingContext2D::willDraw):
99600
99601 2010-07-14  Kevin Ollivier  <kevino@theolliviers.com>
99602
99603         [CURL] Build fix after request -> firstRequest rename.
99604
99605         * platform/network/curl/FormDataStreamCurl.cpp:
99606         (WebCore::FormDataStream::read):
99607         (WebCore::FormDataStream::hasMoreElements):
99608         * platform/network/curl/ResourceHandleManager.cpp:
99609         (WebCore::headerCallback):
99610         (WebCore::ResourceHandleManager::setupPOST):
99611         (WebCore::parseDataUrl):
99612         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
99613         (WebCore::ResourceHandleManager::startJob):
99614         (WebCore::ResourceHandleManager::initializeHandle):
99615
99616 2010-07-14  Simon Fraser  <simon.fraser@apple.com>
99617
99618         Reviewed by John Sullivan.
99619
99620         <rdar://problem/8186963> Expose information about compositing layers.
99621
99622         Expose information about the types of compositing layers via RenderLayerBacking::compositingLayerType().
99623
99624         * WebCore.exp.in: Export WebCore::SpaceSplitStringData::createVector().
99625         * WebCore.xcodeproj/project.pbxproj: Make RenderLayerBacking.h a Private header for use by WebKit.
99626         * platform/graphics/GraphicsLayer.h: Add hasContentsLayer() and usingTiledLayer() methods.
99627         (WebCore::GraphicsLayer::hasContentsLayer):
99628         (WebCore::GraphicsLayer::usingTiledLayer):
99629         * platform/graphics/mac/GraphicsLayerCA.h:
99630         (WebCore::GraphicsLayerCA::hasContentsLayer): Return true if we have a contents layer.
99631         * rendering/RenderLayerBacking.cpp:
99632         (WebCore::RenderLayerBacking::compositingLayerType): Return information about the type of composited layer.
99633         * rendering/RenderLayerBacking.h:
99634
99635 2010-07-14  Darin Adler  <darin@apple.com>
99636
99637         Reviewed by Sam Weinig.
99638
99639         TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
99640         https://bugs.webkit.org/show_bug.cgi?id=42008
99641
99642         TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
99643         https://bugs.webkit.org/show_bug.cgi?id=42010
99644
99645         Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html
99646                fast/dom/TreeWalker/previousSiblingLastChildSkip.html
99647
99648         * dom/TreeWalker.cpp:
99649         (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild.
99650         (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting
99651         the lastChild loop when we encounter it.
99652
99653 2010-07-14  Sam Weinig  <sam@webkit.org>
99654
99655         Reviewed by Brady Eidson.
99656
99657         Fix crashing layout test on snowleopard.
99658
99659         * platform/mac/CursorMac.mm:
99660         (WebCore::Cursor::ensurePlatformCursor): Make sure to retain the cursor.
99661
99662 2010-07-14  Chris Fleizach  <cfleizach@apple.com>
99663
99664         Reviewed by Darin Adler.
99665
99666         AX: aria-checked not recognized on image map radio buttons
99667         https://bugs.webkit.org/show_bug.cgi?id=42055
99668
99669         Moves some code from AccessibilityRenderObject to AccessibilityObject so that
99670         elements that do not have render objects, but do have Nodes (like image map links 
99671         and list box options) can still make use of certain aria attributes.
99672
99673         Test: platform/mac/accessibility/image-map-link-used-as-radiobutton.html
99674
99675         * accessibility/AccessibilityImageMapLink.cpp:
99676         (WebCore::AccessibilityImageMapLink::roleValue):
99677         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
99678         (WebCore::AccessibilityImageMapLink::title):
99679            Make imageMap use standard AccessibilityObject methods for getAttribute()
99680         * accessibility/AccessibilityImageMapLink.h:
99681         (WebCore::AccessibilityImageMapLink::node):
99682         * accessibility/AccessibilityListBoxOption.cpp:
99683         (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
99684         (WebCore::AccessibilityListBoxOption::stringValue):
99685         * accessibility/AccessibilityListBoxOption.h:
99686         (WebCore::AccessibilityListBoxOption::node):
99687        * accessibility/AccessibilityObject.cpp:
99688         (WebCore::AccessibilityObject::language):
99689              Language method doesn't need a node() anymore, it can use the node from AccessibilityObject.
99690         (WebCore::renderListItemContainerForNode):
99691         (WebCore::AccessibilityObject::getAttribute):
99692         (WebCore::AccessibilityObject::intValue):
99693            Move intValue into AccessibilityObject.
99694         (WebCore::AccessibilityObject::hasIntValue):
99695         * accessibility/AccessibilityObject.h:
99696         (WebCore::AccessibilityObject::isCheckbox):
99697         (WebCore::AccessibilityObject::isRadioButton):
99698         (WebCore::AccessibilityObject::isCheckboxOrRadio):
99699            Consolidate what defines a checkbox and radio button into AccessibilityObject.
99700         (WebCore::AccessibilityObject::node):
99701         (WebCore::AccessibilityObject::headingLevel):
99702        (WebCore::AccessibilityObject::isDetached):
99703         * accessibility/AccessibilityRenderObject.cpp:
99704         (WebCore::AccessibilityRenderObject::isPasswordField):
99705         (WebCore::AccessibilityRenderObject::headingLevel):
99706         (WebCore::AccessibilityRenderObject::selectedTabItem):
99707         (WebCore::AccessibilityRenderObject::hierarchicalLevel):
99708         (WebCore::AccessibilityRenderObject::node):
99709         (WebCore::AccessibilityRenderObject::intValue):
99710         * accessibility/AccessibilityRenderObject.h:
99711         * rendering/RenderMenuList.cpp:
99712         (WebCore::RenderMenuList::itemAccessibilityText):
99713             Stop using AccessibilityObjects getAttribute (no reason to use it really).
99714
99715 2010-07-14  Dan Bernstein  <mitz@apple.com>
99716
99717         Reviewed by Simon Fraser.
99718
99719         <rdar://problem/7759909> Certain text runs measure 1 pixel wider when measured as a whole than when measured piecewise
99720         https://bugs.webkit.org/show_bug.cgi?id=42279
99721
99722         No test because the issue cannot be reproduced with standard fonts.
99723
99724         Word- and run-rounding works by advancing ahead to the nearest integral width. As the total
99725         width accumulated becomes large, the float type’s low precision results in accumulated rounding
99726         error, sometimes crossing an integer. Consequently, word-rounding makes different decisions when
99727         measuring a multi-word run than when measuring its words individually. To work around this,
99728         word- and run-rounding are applied only to the width accumulated since the last rounding
99729         character.
99730
99731         * platform/graphics/WidthIterator.cpp:
99732         (WebCore::WidthIterator::advance):
99733         * platform/graphics/mac/ComplexTextController.cpp:
99734         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
99735
99736 2010-07-14  Tony Gentilcore  <tonyg@chromium.org>
99737
99738         Reviewed by Darin Adler.
99739
99740         Fix enum value names for Navigation.{idl|h}
99741         https://bugs.webkit.org/show_bug.cgi?id=42282
99742
99743         This is necessary after https://bugs.webkit.org/show_bug.cgi?id=42250.
99744
99745         No new tests because no new functionality.
99746
99747         * page/Navigation.cpp:
99748         (WebCore::Navigation::type):
99749         * page/Navigation.h:
99750         (WebCore::Navigation::):
99751
99752 2010-07-14  Johnny Ding  <jnd@chromium.org>
99753
99754         Reviewed by Adam Barth.
99755
99756         https://bugs.webkit.org/show_bug.cgi?id=41292
99757         Set right UserGestureIndicator to indicate whether the NPN_Evaluate allows popup window or not.
99758
99759         Test: plugins/plugin-initiate-popup-window.html
99760
99761         * bindings/v8/NPV8Object.cpp:
99762         (_NPN_EvaluateHelper):
99763
99764 2010-07-14  Chris Fleizach  <cfleizach@apple.com>
99765
99766         Reviewed by Darin Adler.
99767
99768         Bug 42117 - AX: Data table heuristics: consider assuming data table for 'zebra-striped' rows
99769         https://bugs.webkit.org/show_bug.cgi?id=42117
99770
99771         Test: platform/mac/accessibility/table-with-zebra-rows.html
99772
99773         * accessibility/AccessibilityTable.cpp:
99774         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
99775
99776 2010-07-14  Chris Fleizach  <cfleizach@apple.com>
99777
99778         Reviewed by Darin Adler.
99779
99780         AX: VoiceOver cannot navigate this page because Safari is taking too long
99781         https://bugs.webkit.org/show_bug.cgi?id=42219
99782
99783         No tests. Existing tests cover change.
99784
99785         * accessibility/AccessibilityRenderObject.cpp:
99786         (WebCore::AccessibilityRenderObject::boundingBoxRect):
99787
99788 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
99789
99790         Reviewed by Darin Adler.
99791
99792         Canvas: Fast-path for assigning the same color string as before to fillStyle or strokeStyle
99793         https://bugs.webkit.org/show_bug.cgi?id=42272
99794
99795         Always route assignment of color strings via setFillColor() or setStrokeColor()
99796         where we can check it against the previous value and return early if it's the same.
99797
99798         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
99799         (WebCore::toHTMLCanvasStyle):
99800         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
99801         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
99802         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
99803         * html/canvas/CanvasRenderingContext2D.cpp:
99804         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
99805         (WebCore::CanvasRenderingContext2D::setFillStyle):
99806         (WebCore::CanvasRenderingContext2D::setStrokeColor):
99807         (WebCore::CanvasRenderingContext2D::setFillColor):
99808         * html/canvas/CanvasRenderingContext2D.h:
99809
99810 2010-07-14  Kinuko Yasuda  <kinuko@chromium.org>
99811
99812         Reviewed by Jian Li.
99813
99814         Separate line-ending conversion code from BlobItem
99815         https://bugs.webkit.org/show_bug.cgi?id=40932
99816
99817         Add common line-ending normalization code under platform/text.
99818         No new tests as it doesn't change any functionality.
99819
99820         * CMakeLists.txt:
99821         * GNUmakefile.am:
99822         * WebCore.gypi:
99823         * WebCore.pro:
99824         * WebCore.vcproj/WebCore.vcproj:
99825         * WebCore.xcodeproj/project.pbxproj:
99826         * html/BlobBuilder.cpp:
99827         (WebCore::BlobBuilder::appendString):
99828         * html/FormDataList.cpp:
99829         (WebCore::FormDataList::appendString):
99830         * platform/BlobItem.cpp:
99831         * platform/BlobItem.h:
99832         * platform/text/LineEnding.cpp: Added.
99833         * platform/text/LineEnding.h: Added.
99834
99835 2010-07-14  Erik Arvidsson  <arv@chromium.org>
99836
99837         Reviewed by Darin Adler.
99838
99839         Implement border-start and border-end properties
99840         https://bugs.webkit.org/show_bug.cgi?id=41782
99841
99842         Test: fast/css/border-start-end.html
99843
99844         * css/CSSComputedStyleDeclaration.cpp:
99845         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
99846         * css/CSSParser.cpp:
99847         (WebCore::CSSParser::parseValue):
99848         * css/CSSProperty.cpp:
99849         (WebCore::CSSProperty::resolveDirectionAwareProperty):
99850         * css/CSSPropertyNames.in:
99851         * inspector/front-end/SourceCSSTokenizer.js:
99852         (WebInspector.SourceCSSTokenizer):
99853
99854 2010-07-14  Alexey Proskuryakov  <ap@apple.com>
99855
99856         Tiger and Gtk build fixes.
99857
99858         https://bugs.webkit.org/show_bug.cgi?id=42201
99859         Use ResourceHandle object for synchronous loading
99860
99861         * platform/network/mac/ResourceHandleMac.mm:
99862         (WebCore::ResourceHandle::createNSURLConnection):
99863         (WebCore::ResourceHandle::loadResourceSynchronously):
99864         * platform/network/soup/ResourceHandleSoup.cpp:
99865         (WebCore::startHttp):
99866
99867 2010-07-14  Sam Weinig  <sam@webkit.org>
99868
99869         Reviewed by Darin Adler.
99870
99871         Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
99872         Make changing Cursors work in WebKit2.
99873
99874         - Converted Mac and Windows Cursor implementations to lazily
99875           create the platform cursor.
99876         - Add HostWindow function to set the cursor and use it from Widget::setCursor.
99877         - Rework Windows cursor code to use fewer global variables.
99878
99879         * WebCore.exp.in: Updated
99880         * loader/EmptyClients.h:
99881         (WebCore::EmptyChromeClient::setCursor): 
99882         (WebCore::EmptyChromeClient::setLastSetCursorToCurrentCursor):
99883         Added empty implementations.
99884
99885         * page/Chrome.cpp:
99886         (WebCore::Chrome::setCursor):
99887         * page/Chrome.h:
99888         * page/ChromeClient.h:
99889         Change existing setCursor() function to take a Cursor instead of a
99890         PlatformCursorHandle. Added setLastSetCursorToCurrentCursor.
99891
99892         * platform/Cursor.cpp:
99893         * platform/Cursor.h:
99894         Added Cursor Type and the option of lazily creating the native cursor
99895         (used on Mac and Windows for now).
99896
99897         * platform/HostWindow.h:
99898         Add setCursor.
99899
99900         * platform/mac/CursorMac.mm:
99901         (WebCore::createCustomCursor): This no longer needs to call determineHotSpot
99902         as that is done when on construction of the cursor now and the hotSpot passed
99903         in is correct.
99904         (WebCore::Cursor::ensurePlatformCursor):
99905         (WebCore::Cursor::Cursor):
99906         (WebCore::Cursor::~Cursor):
99907         (WebCore::Cursor::operator=):
99908         (WebCore::Cursor::platformCursor):
99909         Convert to lazily creating the native cursor on the first request and
99910         storing the type.
99911
99912         * platform/mac/WidgetMac.mm:
99913         (WebCore::Widget::setCursor):
99914         Use HostWindow::setCursor to set the cursor. This in turn will call the
99915         ChromeClient.
99916
99917         * platform/win/CursorWin.cpp:
99918         (WebCore::createSharedCursor):
99919         (WebCore::loadSharedCursor):
99920         (WebCore::loadCursorByName):
99921         (WebCore::Cursor::ensurePlatformCursor):
99922         (WebCore::SharedCursor::~SharedCursor):
99923         (WebCore::Cursor::Cursor):
99924         (WebCore::Cursor::~Cursor):
99925         (WebCore::Cursor::operator=):
99926         (WebCore::Cursor::platformCursor):
99927         Convert to lazily creating the native cursor on the first request and
99928         storing the type.
99929
99930         * platform/win/WidgetWin.cpp:
99931         (WebCore::Widget::setCursor):
99932         Use HostWindow::setCursor to set the cursor. This in turn will call the
99933         ChromeClient.
99934
99935         * plugins/win/PluginViewWin.cpp:
99936         (WebCore::PluginView::handleMouseEvent):
99937         Use the new setLastSetCursorToCurrentCursor client function to ensure
99938         the cursor is properly updated when over a plugin.
99939
99940         * platform/chromium/CursorChromium.cpp:
99941         * platform/efl/CursorEfl.cpp:
99942         * platform/gtk/CursorGtk.cpp:
99943         * platform/haiku/CursorHaiku.cpp:
99944         * platform/wince/CursorWince.cpp:
99945         * platform/wx/CursorWx.cpp:
99946         * platform/qt/CursorQt.cpp:
99947         Change m_impl -> m_platformCursor.
99948
99949 2010-07-13  Eric Seidel  <eric@webkit.org>
99950
99951         Reviewed by Adam Barth.
99952
99953         reconstructActiveFormElements should reconstruct attributes as well
99954         https://bugs.webkit.org/show_bug.cgi?id=42222
99955
99956         The case in question is "<p><b foo='bar'></p>text</b>".
99957         When the "b" is re-opened to wrap the text it should include
99958         any attributes from the original (now closed) tag name.
99959
99960         There are also similar cases for the Adoption Agency algorithm, but since
99961         the html5lib test suite did not cover those (and it wasn't immediately
99962         obvious to me how to test those) I've saved fixing that bug for a
99963         later patch.  For now I've just made the adoption agency use
99964         HTMLConstructionSite::createHTMLElementFromElementRecord so the
99965         FIXME can be in one place instead of two.
99966
99967         In order to cleanly support createHTMLElementFromSavedElement
99968         I re-factored "attachToCurrent" out from createHTMLElementAndAttachToCurrent
99969         and changed all callers to use attachToCurrent(createHTMLElement(token)).
99970
99971         This is covered by two existing tests in html5lib/runner.html
99972         and I wrote two more.  One to cover the basic case that we now pass
99973         and a second to cover an evil edge case which we do not.
99974
99975         * html/HTMLConstructionSite.cpp:
99976         (WebCore::HTMLConstructionSite::attachToCurrent):
99977         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
99978         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
99979         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
99980         (WebCore::HTMLConstructionSite::insertHTMLElement):
99981         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
99982         (WebCore::HTMLConstructionSite::insertScriptElement):
99983         (WebCore::HTMLConstructionSite::insertForeignElement):
99984         (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
99985         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
99986         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
99987         * html/HTMLConstructionSite.h:
99988         * html/HTMLTreeBuilder.cpp:
99989         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
99990
99991 2010-07-13  Alexey Proskuryakov  <ap@apple.com>
99992
99993         Reviewed by Darin Adler.
99994
99995         https://bugs.webkit.org/show_bug.cgi?id=42201
99996         Use ResourceHandle object for synchronous loading
99997
99998         * platform/network/ResourceHandle.cpp:
99999         (WebCore::ResourceHandle::ResourceHandle): Moved common tasks from create() to constructor.
100000         (WebCore::ResourceHandle::firstRequest): Renamed from request(). This is not changed with
100001         redirect, so the old name was quite confusing.
100002
100003         * platform/network/ResourceHandle.h: Made createNSURLConnection() a member function, since
100004         it now needs access to both ResourceHandle and ResourceHandleInternal. Added createCFURLConnection().
100005
100006         * platform/network/ResourceHandleInternal.h:
100007         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Renamed m_request to m_firstRequest.
100008
100009         * platform/network/mac/ResourceHandleMac.mm:
100010         (WebCoreSynchronousLoaderClient): Replaced an Objective C delegate class with a ResourceHandleClient
100011         subclass. This allows for much better code sharing, with common logic is in ResourceHandle.
100012         (WebCore::ResourceHandle::createNSURLConnection): Factored out more code that is common
100013         between sync and async parts.
100014         (WebCore::ResourceHandle::start): Ditto.
100015         (WebCore::ResourceHandle::cancel): Updated for firstRequest() renaming.
100016         (WebCore::ResourceHandle::loadResourceSynchronously): Use ResourceHandle and ResourceHandleClient,
100017         like a good loader.
100018         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Updated for firstRequest() renaming.
100019         (WebCore::ResourceHandle::receivedCredential): Ditto.
100020         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto.
100021         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto.
100022         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
100023         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.
100024
100025         * platform/network/cf/ResourceHandleCFNet.cpp:
100026         (WebCore::WebCoreSynchronousLoaderClient::create):
100027         (WebCore::WebCoreSynchronousLoaderClient::setAllowStoredCredentials):
100028         (WebCore::WebCoreSynchronousLoaderClient::isDone):
100029         (WebCore::WebCoreSynchronousLoaderClient::data):
100030         (WebCore::WebCoreSynchronousLoaderClient::WebCoreSynchronousLoaderClient):
100031         (WebCore::willSendRequest):
100032         (WebCore::didReceiveResponse):
100033         (WebCore::didReceiveData):
100034         (WebCore::shouldUseCredentialStorageCallback):
100035         (WebCore::didFinishLoading):
100036         (WebCore::didFail):
100037         (WebCore::didReceiveChallenge):
100038         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
100039         (WebCore::ResourceHandle::~ResourceHandle):
100040         (WebCore::ResourceHandle::createCFURLConnection):
100041         (WebCore::ResourceHandle::start):
100042         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
100043         (WebCore::ResourceHandle::receivedCredential):
100044         (WebCore::ResourceHandle::loadResourceSynchronously):
100045         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
100046         (WebCore::WebCoreSynchronousLoaderClient::didReceiveResponse):
100047         (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
100048         (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
100049         (WebCore::WebCoreSynchronousLoaderClient::didFail):
100050         (WebCore::WebCoreSynchronousLoaderClient::didReceiveAuthenticationChallenge):
100051         (WebCore::WebCoreSynchronousLoaderClient::shouldUseCredentialStorage):
100052         Same changes for CFNetwork version. Now it's a more direct copy/paste than before, some
100053         day we'll share the code.
100054
100055         * loader/MainResourceLoader.cpp:
100056         (WebCore::MainResourceLoader::continueAfterContentPolicy):
100057         * loader/appcache/ApplicationCacheGroup.cpp:
100058         (WebCore::ApplicationCacheGroup::createResourceHandle):
100059         (WebCore::ApplicationCacheGroup::didReceiveResponse):
100060         (WebCore::ApplicationCacheGroup::didFinishLoading):
100061         (WebCore::ApplicationCacheGroup::didFail):
100062         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
100063         * loader/icon/IconLoader.cpp:
100064         (WebCore::IconLoader::didReceiveResponse):
100065         (WebCore::IconLoader::didFail):
100066         (WebCore::IconLoader::didFinishLoading):
100067         * platform/network/curl/ResourceHandleManager.cpp:
100068         (WebCore::headerCallback):
100069         * platform/network/qt/QNetworkReplyHandler.cpp:
100070         (WebCore::QNetworkReplyHandler::start):
100071         * platform/network/qt/ResourceHandleQt.cpp:
100072         (WebCore::ResourceHandle::start):
100073         (WebCore::ResourceHandle::loadResourceSynchronously):
100074         * platform/network/soup/ResourceHandleSoup.cpp:
100075         (WebCore::startHttp):
100076         Updated for request() -> firstRequest renaming.
100077
100078 2010-07-14  Marcus Bulach  <bulach@chromium.org>
100079
100080         Reviewed by Jeremy Orlow.
100081
100082         Code generator: ensure generated constants match their corresponding enums.
100083         https://bugs.webkit.org/show_bug.cgi?id=42250
100084
100085         Specific interfaces can use DontCheckEnums attribute to avoid generating the compile-time check.
100086
100087         Tests: updated bindings tests. Generated code should compile.
100088
100089         * bindings/scripts/CodeGenerator.pm:
100090         * bindings/scripts/CodeGeneratorJS.pm:
100091         * bindings/scripts/CodeGeneratorV8.pm:
100092         * bindings/scripts/test/CPP/WebDOMTestObj.h:
100093         (WebDOMTestObj::):
100094         * bindings/scripts/test/JS/JSTestObj.cpp:
100095         (WebCore::):
100096         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
100097         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
100098         (WebCore::jsTestObjCONST_VALUE_0):
100099         (WebCore::jsTestObjCONST_VALUE_1):
100100         (WebCore::jsTestObjCONST_VALUE_2):
100101         (WebCore::jsTestObjCONST_VALUE_4):
100102         (WebCore::jsTestObjCONST_VALUE_8):
100103         * bindings/scripts/test/JS/JSTestObj.h:
100104         * bindings/scripts/test/ObjC/DOMTestObj.h:
100105         * bindings/scripts/test/TestObj.idl:
100106         * bindings/scripts/test/V8/V8TestObj.cpp:
100107         (WebCore::):
100108         (WebCore::ConfigureV8TestObjTemplate):
100109         * css/WebKitCSSTransformValue.idl:
100110         * dom/DOMCoreException.idl:
100111         * dom/EventException.idl:
100112         * dom/Node.idl:
100113         * dom/OverflowEvent.idl:
100114         * dom/RangeException.idl:
100115         * html/FileError.idl:
100116         * html/FileReader.idl:
100117         * html/canvas/Float32Array.idl:
100118         * html/canvas/Int16Array.idl:
100119         * html/canvas/Int32Array.idl:
100120         * html/canvas/Int8Array.idl:
100121         * html/canvas/Uint16Array.idl:
100122         * html/canvas/Uint32Array.idl:
100123         * html/canvas/Uint8Array.idl:
100124         * html/canvas/WebGLRenderingContext.idl:
100125         * inspector/JavaScriptCallFrame.idl:
100126         * loader/appcache/DOMApplicationCache.idl:
100127         * storage/SQLException.idl:
100128         * svg/SVGComponentTransferFunctionElement.idl:
100129         * svg/SVGException.idl:
100130         * svg/SVGFEBlendElement.idl:
100131         * svg/SVGFEColorMatrixElement.idl:
100132         * svg/SVGFECompositeElement.idl:
100133         * svg/SVGFEConvolveMatrixElement.idl:
100134         * svg/SVGFEDisplacementMapElement.idl:
100135         * svg/SVGFEMorphologyElement.idl:
100136         * svg/SVGFETurbulenceElement.idl:
100137         * svg/SVGGradientElement.idl:
100138         * xml/XMLHttpRequestException.idl:
100139         * xml/XPathException.idl:
100140
100141 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
100142
100143         Reviewed by Ojan Vafai.
100144
100145         Unbreak fast/canvas/gradient-add-second-start-end-stop.html
100146
100147         Assigning the same CanvasGradient or CanvasPattern to fillStyle
100148         or strokeStyle may not be a no-op since the object could have been
100149         modified since it was last set.
100150
100151         Regressed with <http://trac.webkit.org/changeset/63327>
100152
100153         * html/canvas/CanvasStyle.cpp:
100154         (WebCore::operator==):
100155
100156 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
100157
100158         Reviewed by Darin Adler.
100159
100160         Canvas: Make assigning the same fillStyle or strokeStyle a fast no-op
100161         https://bugs.webkit.org/show_bug.cgi?id=42267
100162
100163         Avoid calling into GraphicsContext when setting a style to its current value.
100164
100165         * html/canvas/CanvasRenderingContext2D.cpp:
100166         (WebCore::CanvasRenderingContext2D::setStrokeStyle): Return early if the
100167         new style is the same as the current one.
100168         (WebCore::CanvasRenderingContext2D::setFillStyle): Same.
100169         * html/canvas/CanvasStyle.cpp:
100170         (WebCore::operator==): Added operator==(CanvasStyle, CanvasStyle)
100171         * html/canvas/CanvasStyle.h:
100172
100173 2010-07-14  Tony Gentilcore  <tonyg@chromium.org>
100174
100175         Reviewed by Darin Fisher.
100176
100177         Implement Web Timing redirectStart, redirectEnd, redirectCount
100178         https://bugs.webkit.org/show_bug.cgi?id=42018
100179
100180         Tests: http/tests/misc/webtiming-one-redirect.php
100181                http/tests/misc/webtiming-two-redirects.php
100182
100183         * loader/FrameLoaderTypes.h:
100184         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
100185         * loader/MainResourceLoader.cpp:
100186         (WebCore::MainResourceLoader::willSendRequest): This method is called for each request (including server redirects). fetchStart is updated to the current time on each invocation so that it represents fetching of the final document and doesn't include redirect time. For each redirect, redirectCount is incremented and redirectStart to redirectEnd measures the cumulative fetch time for all redirects.
100187         * page/Navigation.cpp:
100188         (WebCore::Navigation::redirectCount): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-count
100189         * page/Timing.cpp:
100190         (WebCore::Timing::redirectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start
100191         (WebCore::Timing::redirectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-end
100192         * page/Timing.h:
100193         * page/Timing.idl:
100194
100195 2010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
100196
100197         Reviewed by Antonio Gomes.
100198
100199         Generate MathML files with CMake even if MathML is disabled. This
100200         fixes EFL build after r63274.
100201         https://bugs.webkit.org/show_bug.cgi?id=42263
100202
100203         No new functionality, so no new tests.
100204
100205         * CMakeLists.txt:
100206
100207 2010-07-14  Martin Robinson  <mrobinson@igalia.com>
100208
100209         Reviewed by Xan Lopez.
100210
100211         [GTK] Get rid of libWebCoreJS
100212         https://bugs.webkit.org/show_bug.cgi?id=42083
100213
100214         Remove the need to build libWebCoreJS.
100215
100216         * GNUmakefile.am: List all auto-generated source files for libWebCoreJS
100217         instead of relying on make to build libWebCoreJS. This is a more autotools-
100218         -friendly approach.
100219
100220 2010-07-14  Eric Carlson  <eric.carlson@apple.com>
100221
100222         One more unreviewed build fix for r63319.
100223
100224         * html/TimeRanges.cpp:
100225         (TimeRanges::nearest):
100226
100227 2010-07-14  Alexander Pavlov  <apavlov@chromium.org>
100228
100229         Reviewed by Pavel Feldman.
100230
100231         Web Inspector: Enable toggling of the "Inspect Element" mode from the browser
100232         https://bugs.webkit.org/show_bug.cgi?id=42169
100233
100234         * inspector/front-end/ElementsPanel.js:
100235         (WebInspector.ElementsPanel):
100236         (WebInspector.ElementsPanel.prototype.handleShortcut):
100237         (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
100238         * inspector/front-end/inspector.js:
100239         (WebInspector.toggleSearchingForNode):
100240
100241 2010-07-14  Eric Carlson  <eric.carlson@apple.com>
100242
100243         Unreviewed, build fix for r63319.
100244
100245         * html/TimeRanges.cpp:
100246         (TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat.
100247
100248 2010-07-14  Eric Carlson  <eric.carlson@apple.com>
100249
100250         Reviewed by Darin Adler.
100251
100252         Update media element's seeking logic
100253         https://bugs.webkit.org/show_bug.cgi?id=42178
100254         <rdar://problem/8185817>
100255
100256         * html/HTMLMediaElement.cpp:
100257         (WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the 
100258         nearest time instead of generating an exception. Re-order the logic to match spec text.
100259
100260         * html/TimeRanges.cpp:
100261         (TimeRanges::nearest): New, return the value closest to the specified time.
100262         * html/TimeRanges.h:
100263
100264 2010-07-14  Hans Wennborg  <hans@chromium.org>
100265
100266         Reviewed by Steve Block.
100267
100268         Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation
100269         https://bugs.webkit.org/show_bug.cgi?id=42257
100270
100271         According to convention, we should avoid "on" in favor of "did" in function names.
100272
100273         * dom/DeviceOrientationController.cpp:
100274         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
100275         * dom/DeviceOrientationController.h:
100276
100277 2010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
100278
100279         Reviewed by Kent Tamura.
100280
100281         Notify browser about popup being deleted. In EFL and BREW ports, the
100282         WebCore::Popup object was being deleted leaving the popup in browser
100283         alive. Popups can be deleted in two ways: either from browser to webcore or
100284         from webcore to browser. The first path was ok. The problem was when the
100285         user changed the page with a popup still opened. This would trigger the
100286         second path and would cause WebCore::Popup to be deleted without
100287         notifying browser.
100288         https://bugs.webkit.org/show_bug.cgi?id=41877
100289
100290         No new functionality so no new tests.
100291
100292         * platform/brew/PopupMenuBrew.cpp:
100293         (WebCore::PopupMenu::~PopupMenu): call hide() when object is
100294         destroyed.
100295         * platform/efl/PopupMenuEfl.cpp:
100296         (WebCore::PopupMenu::~PopupMenu): ditto.
100297
100298 2010-07-14  Satish Sampath  <satish@chromium.org>
100299
100300         Reviewed by Kent Tamura.
100301
100302         Invoke speech recognition when user clicks on the speech button of input elements.
100303         http://bugs.webkit.org/show_bug.cgi?id=42047
100304
100305         No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
100306
100307         * rendering/TextControlInnerElements.cpp:
100308         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
100309         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling.
100310         (WebCore::InputFieldSpeechButtonElement::speechInput):
100311         (WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress.
100312         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text.
100313         (WebCore::InputFieldSpeechButtonElement::detach):
100314         * rendering/TextControlInnerElements.h:
100315
100316 2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>
100317
100318         Unreviewed, rolling out r63305.
100319         http://trac.webkit.org/changeset/63305
100320         https://bugs.webkit.org/show_bug.cgi?id=42256
100321
100322         "debugger-breakpoints-not-activated-on-reload.html fails on
100323         GTK" (Requested by yurys on #webkit).
100324
100325         * inspector/front-end/ScriptView.js:
100326         (WebInspector.ScriptView.prototype._addBreakpoint):
100327         * inspector/front-end/ScriptsPanel.js:
100328         (WebInspector.ScriptsPanel):
100329         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
100330         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
100331         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
100332         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
100333         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
100334         * inspector/front-end/SourceView.js:
100335         (WebInspector.SourceView.prototype._addBreakpoint):
100336
100337 2010-07-14  Steve Block  <steveblock@google.com>
100338
100339         Reviewed by Jeremy Orlow.
100340
100341         Provide implementation of DeviceOrientationController and hook into DOMWindow
100342         https://bugs.webkit.org/show_bug.cgi?id=39588
100343
100344         Added DeviceOrientationController::addListener() and removeListener()
100345         to start and stop the client and added calls from DomWindow. Implemented
100346         DeviceOrientationController::onDeviceOrientationChange() to fire a
100347         DeviceOrientationEvent on the window object.
100348
100349         No new tests yet, pending LayoutTestController methods for mock DeviceOrientation.
100350
100351         * dom/DeviceOrientationClient.h:
100352         * dom/DeviceOrientationController.cpp:
100353         (WebCore::DeviceOrientation::addListener):
100354         (WebCore::DeviceOrientation::removeListener):
100355         (WebCore::DeviceOrientation::removeAllListeners):
100356         (WebCore::DeviceOrientationController::onDeviceOrientationChange):
100357         * dom/DeviceOrientationController.h:
100358         * page/DOMWindow.cpp:
100359         (WebCore::DOMWindow::addEventListener):
100360         (WebCore::DOMWindow::removeEventListener):
100361         (WebCore::DOMWindow::removeAllEventListeners):
100362
100363 2010-07-14  Yury Semikhatsky  <yurys@chromium.org>
100364
100365         Reviewed by Pavel Feldman.
100366
100367         Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
100368         https://bugs.webkit.org/show_bug.cgi?id=42164
100369
100370         * bindings/v8/ScriptDebugServer.cpp:
100371         (WebCore::retrieveFrame):
100372         (WebCore::ScriptDebugServer::addListener):
100373         (WebCore::ScriptDebugServer::setBreakpoint):
100374         (WebCore::ScriptDebugServer::removeBreakpoint):
100375         (WebCore::ScriptDebugServer::clearBreakpoints):
100376         (WebCore::ScriptDebugServer::setBreakpointsActivated):
100377         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
100378         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
100379         (WebCore::ScriptDebugServer::continueProgram):
100380         (WebCore::ScriptDebugServer::stepIntoStatement):
100381         (WebCore::ScriptDebugServer::stepOverStatement):
100382         (WebCore::ScriptDebugServer::stepOutOfFunction):
100383         (WebCore::ScriptDebugServer::editScriptSource):
100384         (WebCore::ScriptDebugServer::handleV8DebugEvent):
100385         * bindings/v8/ScriptDebugServer.h:
100386
100387 2010-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
100388
100389         Reviewed by Yury Semikhatsky.
100390
100391         WebInspector: Clean-up InspectorBackend code. In the next changes
100392         InspectorBackend content will be generated by scripts. As far as
100393         generator is very simple thing all nontrivial function should be
100394         moved to InspectorController and DOMAgent.
100395         https://bugs.webkit.org/show_bug.cgi?id=42171
100396
100397         * bindings/js/ScriptDebugServer.cpp:
100398         (WebCore::ScriptDebugServer::pause):
100399         * bindings/js/ScriptDebugServer.h:
100400         (WebCore::ScriptDebugServer::activateBreakpoints):
100401         (WebCore::ScriptDebugServer::deactivateBreakpoints):
100402         * bindings/v8/ScriptDebugServer.h:
100403         (WebCore::ScriptDebugServer::activateBreakpoints):
100404         (WebCore::ScriptDebugServer::deactivateBreakpoints):
100405         (WebCore::ScriptDebugServer::pause):
100406         * inspector/Inspector.idl:
100407         * inspector/InspectorBackend.cpp:
100408         (WebCore::InspectorBackend::saveApplicationSettings):
100409         (WebCore::InspectorBackend::saveSessionSettings):
100410         (WebCore::InspectorBackend::enableSearchingForNode):
100411         (WebCore::InspectorBackend::disableSearchingForNode):
100412         (WebCore::InspectorBackend::enableMonitoringXHR):
100413         (WebCore::InspectorBackend::disableMonitoringXHR):
100414         (WebCore::InspectorBackend::getResourceContent):
100415         (WebCore::InspectorBackend::reloadPage):
100416         (WebCore::InspectorBackend::activateBreakpoints):
100417         (WebCore::InspectorBackend::deactivateBreakpoints):
100418         (WebCore::InspectorBackend::pause):
100419         (WebCore::InspectorBackend::resume):
100420         (WebCore::InspectorBackend::stepOverStatement):
100421         (WebCore::InspectorBackend::stepIntoStatement):
100422         (WebCore::InspectorBackend::stepOutOfFunction):
100423         (WebCore::InspectorBackend::setPauseOnExceptionsState):
100424         (WebCore::InspectorBackend::copyNode):
100425         (WebCore::InspectorBackend::pushNodeByPathToFrontend):
100426         (WebCore::InspectorBackend::highlightDOMNode):
100427         (WebCore::InspectorBackend::hideDOMNodeHighlight):
100428         * inspector/InspectorBackend.h:
100429         * inspector/InspectorBackend.idl:
100430         * inspector/InspectorController.cpp:
100431         (WebCore::InspectorController::saveApplicationSettings):
100432         (WebCore::InspectorController::saveSessionSettings):
100433         (WebCore::InspectorController::highlightDOMNode):
100434         (WebCore::InspectorController::resume):
100435         (WebCore::InspectorController::setPauseOnExceptionsState):
100436         (WebCore::InspectorController::getResourceContent):
100437         (WebCore::InspectorController::reloadPage):
100438         * inspector/InspectorController.h:
100439         (WebCore::InspectorController::hideDOMNodeHighlight):
100440         (WebCore::InspectorController::startProfiling):
100441         (WebCore::InspectorController::stopProfiling):
100442         (WebCore::InspectorController::enableSearchingForNode):
100443         (WebCore::InspectorController::disableSearchingForNode):
100444         (WebCore::InspectorController::enableMonitoringXHR):
100445         (WebCore::InspectorController::disableMonitoringXHR):
100446         * inspector/InspectorDOMAgent.cpp:
100447         (WebCore::InspectorDOMAgent::copyNode):
100448         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
100449         * inspector/InspectorDOMAgent.h:
100450         * inspector/front-end/InspectorBackendStub.js:
100451         (.WebInspector.InspectorBackendStub.prototype.pause):
100452         (.WebInspector.InspectorBackendStub.prototype.resume):
100453         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatement):
100454         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction):
100455         (.WebInspector.InspectorBackendStub.prototype.stepOverStatement):
100456         * inspector/front-end/ScriptsPanel.js:
100457         (WebInspector.ScriptsPanel.prototype._togglePause):
100458         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
100459         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
100460         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
100461         * loader/FrameLoader.cpp:
100462         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
100463
100464 2010-07-14  Joone Hur  <joone@kldp.org>
100465
100466         Reviewed by Jian Li.
100467
100468         [GTK] Enabling File Reader/Writer APIs
100469         https://bugs.webkit.org/show_bug.cgi?id=40209
100470
100471         The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK.
100472
100473         * platform/gtk/FileSystemGtk.cpp:
100474         (WebCore::openFile): Added.
100475         (WebCore::readFromFile): Added.
100476
100477 2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>
100478
100479         Reviewed by Dirk Schulze.
100480
100481         Inconsistent LayoutRepainter usage in the SVG renderers
100482         https://bugs.webkit.org/show_bug.cgi?id=42245
100483
100484         Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use:
100485         LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout());
100486         instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test
100487         performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs)
100488
100489         * rendering/RenderForeignObject.cpp:
100490         (WebCore::RenderForeignObject::layout):
100491         * rendering/RenderPath.cpp:
100492         (WebCore::RenderPath::layout):
100493         * rendering/RenderSVGContainer.cpp:
100494         (WebCore::RenderSVGContainer::layout):
100495         * rendering/RenderSVGImage.cpp:
100496         (WebCore::RenderSVGImage::layout):
100497         * rendering/RenderSVGRoot.cpp:
100498         (WebCore::RenderSVGRoot::layout):
100499         * rendering/RenderSVGText.cpp:
100500         (WebCore::RenderSVGText::layout):
100501
100502 2010-07-14  Kent Tamura  <tkent@chromium.org>
100503
100504         Unreviewed, build fix for r63300.
100505
100506         * rendering/RenderSVGResourceContainer.h:
100507         (WebCore::RenderSVGResourceContainer::containsCyclicReference):
100508
100509 2010-07-14  Pavel Podivilov  <podivilov@chromium.org>
100510
100511         Reviewed by Yury Semikhatsky.
100512
100513         Web Inspector: do not activate all breakpoints on page reload
100514         https://bugs.webkit.org/show_bug.cgi?id=41461
100515
100516         Test: inspector/debugger-breakpoints-not-activated-on-reload.html
100517
100518         * inspector/front-end/ScriptView.js:
100519         (WebInspector.ScriptView.prototype._addBreakpoint):
100520         * inspector/front-end/ScriptsPanel.js:
100521         (WebInspector.ScriptsPanel):
100522         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
100523         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
100524         * inspector/front-end/SourceView.js:
100525         (WebInspector.SourceView.prototype._addBreakpoint):
100526
100527 2010-07-14  Yury Semikhatsky  <yurys@chromium.org>
100528
100529         Reviewed by Pavel Feldman.
100530
100531         Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController
100532         https://bugs.webkit.org/show_bug.cgi?id=42243
100533
100534         * inspector/InspectorController.cpp:
100535         (WebCore::InspectorController::~InspectorController):
100536         (WebCore::InspectorController::addConsoleMessage):
100537         (WebCore::InspectorController::clearConsoleMessages):
100538         * inspector/InspectorController.h:
100539         (WebCore::InspectorController::consoleMessages):
100540
100541 2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>
100542
100543         Reviewed by Eric Seidel.
100544
100545         SVG patterns and masks should not be able to reference themselves
100546         https://bugs.webkit.org/show_bug.cgi?id=32171
100547
100548         Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected.
100549         Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests).
100550
100551         Tests: svg/custom/recursive-filter.svg
100552                svg/custom/recursive-gradient.svg
100553                svg/custom/recursive-mask.svg
100554                svg/custom/recursive-pattern.svg
100555
100556         * rendering/RenderSVGResourceContainer.h:
100557         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though.
100558         (WebCore::RenderSVGResourceContainer::idChanged): Ditto.
100559         (WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false.
100560         (WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves.
100561         * rendering/RenderSVGResourceMasker.cpp:
100562         (WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves.
100563         (WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference.
100564         * rendering/RenderSVGResourceMasker.h:
100565         * rendering/RenderSVGResourcePattern.cpp:
100566         (WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves.
100567         (WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference.
100568         * rendering/RenderSVGResourcePattern.h:
100569         * svg/SVGPaint.cpp:
100570         (WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id.
100571         * svg/SVGPaint.h:
100572
100573 2010-07-14  Eric Seidel  <eric@webkit.org>
100574
100575         Reviewed by Nikolas Zimmermann.
100576
100577         Selection dumping code should not dump body's offset in the document
100578         https://bugs.webkit.org/show_bug.cgi?id=42238
100579
100580         This requires updating the results of many layout tests,
100581         but has no functional change.
100582
100583         * rendering/RenderTreeAsText.cpp:
100584         (WebCore::nodePosition):
100585
100586 2010-07-14  Kent Tamura  <tkent@chromium.org>
100587
100588         Reviewed by Darin Fisher.
100589
100590         <input type=number> UI: inner spin button layout
100591         https://bugs.webkit.org/show_bug.cgi?id=41924
100592
100593         Add layout/event/style code for the inner spin button, which is
100594         going to be used for Windows implementation.
100595         No new tests because no ports implement the inner spin button yet.
100596
100597         * rendering/RenderTextControlSingleLine.cpp:
100598           Introduce m_innerSpinButton.
100599         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
100600           Detach m_innerSpinButton.
100601         (WebCore::RenderTextControlSingleLine::layout):
100602           Set position and size of m_innerSpinButton.
100603         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
100604           Handle m_innerSpinButton.
100605         (WebCore::RenderTextControlSingleLine::forwardEvent):
100606           Handle m_innerSpinButton.
100607         (WebCore::RenderTextControlSingleLine::textBlockWidth):
100608           Shorten the text block width by m_innerSpinButton width.
100609         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
100610           Add m_innerSpinButton width.
100611         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
100612           Handle m_innerSpinButton.
100613         (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
100614           Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
100615         * rendering/RenderTextControlSingleLine.h:
100616
100617 2010-07-14  Kent Tamura  <tkent@chromium.org>
100618
100619         Reviewed by Darin Fisher.
100620
100621         <input type=number> UI: Support disabled/readonly states
100622         https://bugs.webkit.org/show_bug.cgi?id=38568
100623
100624         Implement isEnabledFormControl() and isReadOnlyFormControl() of
100625         SpinButtonElement. They returns the states of the parent <input> element.
100626         The existing isEnabledFormControl() had a bug. It didn't have 'const'
100627         modifier.
100628
100629         Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html
100630
100631         * rendering/TextControlInnerElements.cpp:
100632         (WebCore::SpinButtonElement::defaultEventHandler):
100633          - If the input element is disabled or read-only, don't process events.
100634          - Protect 'input' object from destruction during focus().
100635          - Fix a hit-test issue. We don't need to add renderBox()->y() because
100636            'local' is relative to the RenderBox.
100637          - Some code cleanup
100638         * rendering/TextControlInnerElements.h:
100639         (WebCore::SpinButtonElement::isEnabledFormControl):
100640         (WebCore::SpinButtonElement::isReadOnlyFormControl):
100641
100642 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
100643
100644         Reviewed by Dan Bernstein.
100645
100646         Page flashes to mostly white towards the end of loading
100647         https://bugs.webkit.org/show_bug.cgi?id=42230
100648         
100649         We constrain the size of huge composited layers. When doing so, we
100650         need to use the constained size to set the position as well
100651         as the dimensions, to ensure the layer appears in the correct place.
100652
100653         Test: compositing/tiling/constrained-layer-size.html
100654
100655         * platform/graphics/mac/GraphicsLayerCA.mm:
100656         (WebCore::GraphicsLayerCA::updateLayerPosition):
100657
100658 2010-07-13  Kent Tamura  <tkent@chromium.org>
100659
100660         Reviewed by Darin Fisher.
100661
100662         [Chromium] Linux implementation of <input type=number> UI
100663         https://bugs.webkit.org/show_bug.cgi?id=41925
100664
100665         - Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux
100666           to PlatformThemeChromiumGtk.
100667         - Move the code for scrollbar colors from RenderThemeChromiumLinux
100668           to PlatformThemeChromiumGtk.
100669
100670         * WebCore.gypi:
100671         * platform/chromium/PlatformThemeChromiumGtk.cpp: Added.
100672         (WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux.
100673         (WebCore::clamp): Moved from ScrollbarThemeChromiumLinux.
100674         (WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto.
100675         (WebCore::PlatformThemeChromiumGtk::outlineColor): ditto.
100676         (WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto.
100677         * platform/chromium/PlatformThemeChromiumGtk.h: Added.
100678         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
100679         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
100680         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
100681          Move the main part of the code to PlatformThemeChromiumGtk.
100682         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
100683         * rendering/RenderThemeChromiumLinux.cpp:
100684         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added.
100685         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added.
100686         * rendering/RenderThemeChromiumLinux.h:
100687
100688 2010-07-13  Dumitru Daniliuc  <dumi@chromium.org>
100689
100690         Reviewed by Darin Fisher
100691
100692         Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion().
100693         https://bugs.webkit.org/show_bug.cgi?id=40607
100694
100695         Tests: fast/workers/storage/change-version-handle-reuse-sync.html
100696                fast/workers/storage/change-version-sync.html
100697                fast/workers/storage/empty-statement-sync.html
100698                fast/workers/storage/execute-sql-args-sync.html
100699                fast/workers/storage/executesql-accepts-only-one-statement-sync.html
100700                fast/workers/storage/multiple-transactions-on-different-handles-sync.html
100701                fast/workers/storage/open-database-creation-callback-sync.html
100702                fast/workers/storage/open-database-empty-version-sync.html
100703                fast/workers/storage/open-database-inputs-sync.html
100704                fast/workers/storage/open-database-set-empty-version-sync.html
100705                fast/workers/storage/open-database-while-transaction-in-progress-sync.html
100706                fast/workers/storage/sql-data-types-sync.html
100707                fast/workers/storage/sql-exception-codes-sync.html
100708                fast/workers/storage/test-authorizer-sync.html
100709                fast/workers/storage/transaction-in-transaction-sync.html
100710
100711         * CMakeLists.txt:
100712         * GNUmakefile.am:
100713         * WebCore.gypi:
100714         * WebCore.pro:
100715         * WebCore.vcproj/WebCore.vcproj:
100716         * WebCore.xcodeproj/project.pbxproj:
100717         * storage/AbstractDatabase.cpp:
100718         (WebCore::AbstractDatabase::maximumSize):
100719         (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
100720         * storage/AbstractDatabase.h:
100721         (WebCore::AbstractDatabase::sqliteDatabase):
100722         * storage/ChangeVersionWrapper.cpp:
100723         (WebCore::ChangeVersionWrapper::performPreflight):
100724         (WebCore::ChangeVersionWrapper::performPostflight):
100725         * storage/Database.cpp:
100726         (WebCore::Database::performGetTableNames):
100727         * storage/Database.h:
100728         * storage/DatabaseAuthorizer.cpp:
100729         (WebCore::DatabaseAuthorizer::createVTable):
100730         (WebCore::DatabaseAuthorizer::dropVTable):
100731         * storage/DatabaseCallback.h:
100732         * storage/DatabaseSync.cpp:
100733         (WebCore::ChangeVersionPreflightStep::create):
100734         (WebCore::ChangeVersionPreflightStep::performStep):
100735         (WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep):
100736         (WebCore::ChangeVersionPostflightStep::create):
100737         (WebCore::ChangeVersionPostflightStep::performStep):
100738         (WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep):
100739         (WebCore::DatabaseSync::changeVersion):
100740         (WebCore::DatabaseSync::transaction):
100741         (WebCore::DatabaseSync::runTransaction):
100742         * storage/DatabaseSync.h:
100743         * storage/DatabaseTracker.cpp:
100744         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
100745         * storage/SQLError.h:
100746         * storage/SQLResultSet.cpp:
100747         * storage/SQLResultSet.h:
100748         * storage/SQLStatementCallback.h:
100749         * storage/SQLStatementErrorCallback.h:
100750         * storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp.
100751         (WebCore::SQLStatementSync::SQLStatementSync):
100752         (WebCore::SQLStatementSync::execute):
100753         * storage/SQLStatementSync.h: Added.
100754         * storage/SQLTransaction.cpp:
100755         (WebCore::SQLTransaction::runCurrentStatement):
100756         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
100757         (WebCore::SQLTransaction::postflightAndCommit):
100758         * storage/SQLTransaction.h:
100759         * storage/SQLTransactionCallback.h:
100760         * storage/SQLTransactionClient.cpp:
100761         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
100762         (WebCore::SQLTransactionClient::didExecuteStatement):
100763         (WebCore::SQLTransactionClient::didExceedQuota):
100764         * storage/SQLTransactionClient.h:
100765         * storage/SQLTransactionErrorCallback.h:
100766         * storage/SQLTransactionSync.cpp:
100767         (WebCore::transactionClient):
100768         (WebCore::SQLTransactionSync::create):
100769         (WebCore::SQLTransactionSync::SQLTransactionSync):
100770         (WebCore::SQLTransactionSync::~SQLTransactionSync):
100771         (WebCore::SQLTransactionSync::executeSQL):
100772         (WebCore::SQLTransactionSync::begin):
100773         (WebCore::SQLTransactionSync::execute):
100774         (WebCore::SQLTransactionSync::commit):
100775         (WebCore::SQLTransactionSync::rollback):
100776         * storage/SQLTransactionSync.h:
100777         (WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep):
100778         * storage/SQLTransactionSyncCallback.h:
100779         * storage/chromium/SQLTransactionClientChromium.cpp:
100780         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
100781         (WebCore::SQLTransactionClient::didExecuteStatement):
100782         (WebCore::SQLTransactionClient::didExceedQuota):
100783
100784 2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
100785
100786         Unreviewed, rolling out r63162.
100787         http://trac.webkit.org/changeset/63162
100788         https://bugs.webkit.org/show_bug.cgi?id=42224
100789
100790         This is no longer needed (Requested by olliej_ on #webkit).
100791
100792         * bindings/v8/ScriptSourceCode.h:
100793         (WebCore::ScriptSourceCode::ScriptSourceCode):
100794
100795 2010-07-13  Eric Seidel  <eric@webkit.org>
100796
100797         Reviewed by Adam Barth.
100798
100799         Fix my misreading of "clear to the last marker" in the HTML5 spec
100800         https://bugs.webkit.org/show_bug.cgi?id=42199
100801
100802         * html/HTMLFormattingElementList.cpp:
100803         (WebCore::HTMLFormattingElementList::clearToLastMarker):
100804         * html/HTMLFormattingElementList.h:
100805         * html/HTMLTreeBuilder.cpp:
100806         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
100807         (WebCore::HTMLTreeBuilder::processEndOfFile):
100808
100809 2010-07-13  Oliver Hunt  <oliver@apple.com>
100810
100811         Reviewed by Gavin Barraclough.
100812
100813         ES5 requires BOMs to be treated as whitespace
100814         https://bugs.webkit.org/show_bug.cgi?id=42218
100815
100816         Remove BOM handling logic from WebCore Script objects.
100817
100818         * bindings/js/StringSourceProvider.h:
100819         (WebCore::StringSourceProvider::StringSourceProvider):
100820         * loader/CachedScript.cpp:
100821         (WebCore::CachedScript::CachedScript):
100822         (WebCore::CachedScript::script):
100823         * loader/CachedScript.h:
100824
100825 2010-07-13  Andreas Kling  <andreas.kling@nokia.com>
100826
100827         Reviewed by Darin Adler.
100828
100829         Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0
100830         https://bugs.webkit.org/show_bug.cgi?id=42211
100831
100832         * html/canvas/CanvasRenderingContext2D.cpp:
100833         (WebCore::CanvasRenderingContext2D::rect):
100834
100835 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
100836
100837         Reviewed by Dan Bernstein.
100838
100839         Show IDs and classnames in layer tree dumps
100840         https://bugs.webkit.org/show_bug.cgi?id=42213
100841
100842         When dumping the layer tree via showLayerTree(), include id and class attributes for
100843         ease of debugging.
100844         
100845         No tests, since this is debug-only code.
100846
100847         * rendering/RenderLayer.cpp:
100848         (showLayerTree):
100849         * rendering/RenderTreeAsText.cpp:
100850         (WebCore::RenderTreeAsText::writeRenderObject):
100851         * rendering/RenderTreeAsText.h:
100852         (WebCore::):
100853
100854 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
100855
100856         Build fix: fix WebCore exports by editing the .in file, rather than the generated file.
100857
100858         * WebCore.exp.in:
100859
100860 2010-07-13  Alexey Proskuryakov  <ap@apple.com>
100861
100862         Reviewed by Darin Adler.
100863
100864         https://bugs.webkit.org/show_bug.cgi?id=42216
100865         ResourceRequest::doUpdateResourceRequest() crashes if client denied request
100866
100867         This is covered by many regression tests with patch for bug 42201 applied (because it makes
100868         us also use this code path for sync requests, and those currently have more strict limitations).
100869
100870         * platform/network/cf/ResourceRequestCFNet.cpp:
100871         (WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check.
100872
100873 2010-07-13  Eric Seidel  <eric@webkit.org>
100874
100875         Reviewed by Adam Barth.
100876
100877         Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield
100878         https://bugs.webkit.org/show_bug.cgi?id=42187
100879
100880         I do not expect these work-arounds to be permanent.  Hixie has promised to
100881         addresses the feedback to the parser sections of HTML5 soon.
100882         I added these hacks to make our hacks more-closely match Minefield's hacks
100883         and thus have us "pass" a few more html5lib runner tests.
100884
100885         We now pass all of the html5lib foreign content tests
100886         (thus we'll likely need to write more).
100887
100888         Tested by html5lib/runner.html
100889
100890         * html/HTMLElementStack.cpp:
100891         (WebCore::HTMLElementStack::contains):
100892         * html/HTMLElementStack.h:
100893         * html/HTMLTreeBuilder.cpp:
100894         (WebCore::HTMLTreeBuilder::processEndTag):
100895
100896 2010-07-12  Tony Gentilcore  <tonyg@chromium.org>
100897
100898         Reviewed by Darin Fisher.
100899
100900         Wire network times from ResourceLoadTiming to performance.timing
100901         https://bugs.webkit.org/show_bug.cgi?id=41824
100902
100903         * page/Timing.cpp:
100904         (WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart
100905         (WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend
100906         (WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start
100907         (WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end
100908         (WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start
100909         (WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end
100910         (WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start
100911         (WebCore::Timing::resourceLoadTiming):
100912         * page/Timing.h:
100913         * page/Timing.idl:
100914
100915 2010-07-13  Anders Carlsson  <andersca@apple.com>
100916
100917         Reviewed by Sam Weinig.
100918
100919         Add support for loading javascript: URLs
100920         https://bugs.webkit.org/show_bug.cgi?id=42221
100921
100922         * WebCore.exp.in:
100923         Export protocolIsJavaScript and ScriptValue::getString.
100924
100925 2010-07-13  Anders Carlsson  <andersca@apple.com>
100926
100927         Reviewed by Sam Weinig.
100928
100929         Add support for URL frame loading using NPN_GetURLNotify
100930         https://bugs.webkit.org/show_bug.cgi?id=42192
100931
100932         * WebCore.exp.in:
100933         Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL.
100934
100935 2010-07-04  Zhenyao Mo  <zmo@google.com>
100936
100937         Reviewed by Darin Fisher.
100938
100939         Need to track texture completeness
100940         https://bugs.webkit.org/show_bug.cgi?id=41381
100941
100942         Test: fast/canvas/webgl/texture-complete.html
100943
100944         * html/canvas/WebGLRenderingContext.cpp:
100945         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level.
100946         (WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget().
100947         (WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial.
100948         (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
100949         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
100950         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level.
100951         * html/canvas/WebGLRenderingContext.h: Add max texture level.
100952         * html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states.
100953         (WebCore::WebGLTexture::WebGLTexture):
100954         (WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted.
100955         (WebCore::WebGLTexture::setParameteri): Ditto.
100956         (WebCore::WebGLTexture::setParameterf): Ditto.
100957         (WebCore::WebGLTexture::setLevelInfo): Set texture info.
100958         (WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called.
100959         (WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0.
100960         (WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted.
100961         (WebCore::WebGLTexture::needToUseBlackTexture): Ditto.
100962         (WebCore::WebGLTexture::_deleteObject):
100963         (WebCore::WebGLTexture::mapTargetToIndex): Map target to index.
100964         (WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated.
100965         (WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height.
100966         (WebCore::WebGLTexture::update): Update NPOT/COMPLETE states.
100967         * html/canvas/WebGLTexture.h: Ditto.
100968         (WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info.
100969         (WebCore::WebGLTexture::LevelInfo::setInfo): Set information.
100970
100971 2010-07-13  Andreas Kling  <andreas.kling@nokia.com>
100972
100973         Reviewed by Darin Adler.
100974
100975         Canvas: drawImage() with wrong 'image' argument type should always throw TypeError
100976         https://bugs.webkit.org/show_bug.cgi?id=42160
100977
100978         Test: canvas/philip/tests/2d.drawImage.wrongtype.html
100979
100980         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
100981         (WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of
100982         TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element.
100983
100984 2010-07-13  Aaron Boodman  <aa@chromium.org>
100985
100986         Reviewed by Timothy Hatcher.
100987
100988         Don't reset per-document user style caches when user styles are updated in
100989         Chromium.
100990
100991         https://bugs.webkit.org/show_bug.cgi?id=42003
100992
100993         * page/PageGroup.cpp:
100994         (WebCore::PageGroup::addUserStyleSheetToWorld):
100995         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
100996         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
100997         (WebCore::PageGroup::removeAllUserContent):
100998         (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
100999         * page/PageGroup.h:
101000
101001 2010-07-13  Eric Carlson  <eric.carlson@apple.com>
101002
101003         Reviewed by Dan Bernstein.
101004
101005         On Leopard, media element can't handle audio/mp4 MIME type in source tag
101006         https://bugs.webkit.org/show_bug.cgi?id=29326
101007
101008         Test: media/media-can-play-mpeg-audio.html
101009
101010         * platform/MIMETypeRegistry.cpp:
101011         (WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table.
101012
101013 2010-07-13  Tony Gentilcore  <tonyg@chromium.org>
101014
101015         Reviewed by Darin Fisher.
101016
101017         Implement performance.timing.fetchStart
101018         https://bugs.webkit.org/show_bug.cgi?id=41816
101019
101020         See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start
101021
101022         * loader/MainResourceLoader.cpp:
101023         (WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time.
101024         * loader/FrameLoaderTypes.h:
101025         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
101026         * page/Timing.cpp:
101027         (WebCore::Timing::fetchStart):
101028         * page/Timing.h:
101029         * page/Timing.idl:
101030
101031 2010-07-13  Satish Sampath  <satish@chromium.org>
101032
101033         Reviewed by Steve Block.
101034
101035         Speech input plumbing in webcore
101036         https://bugs.webkit.org/show_bug.cgi?id=41518
101037
101038         Adds the following:
101039         - a SpeechInput class to be used by the speech enabled HTML elements
101040         - a SpeechInputListener interface to be implemented by the speech enabled HTML elements
101041         - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
101042           This is available as a member of WebCore::Page, set by the platforms which support speech input.
101043         - a SpeechInputClientListener interface for WebCore to receive events from WebKit
101044
101045         No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
101046
101047         * Android.mk:
101048         * GNUmakefile.am:
101049         * WebCore.gypi:
101050         * WebCore.pro:
101051         * WebCore.vcproj/WebCore.vcproj:
101052         * WebCore.xcodeproj/project.pbxproj:
101053         * page/Page.cpp:
101054         (WebCore::Page::Page):
101055         * page/Page.h: Added SpeechInputClient member variable and associated methods.
101056         (WebCore::Page::setSpeechInputClient):
101057         (WebCore::Page::speechInputClient):
101058         * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
101059         (WebCore::SpeechInput::SpeechInput):
101060         (WebCore::SpeechInput::recordingComplete):
101061         (WebCore::SpeechInput::setRecognitionResult):
101062         (WebCore::SpeechInput::startRecognition):
101063         * page/SpeechInput.h: Added.
101064         (WebCore::SpeechInput::~SpeechInput):
101065         (WebCore::SpeechInput::client):
101066         * page/SpeechInputListener.h: Added.
101067         (WebCore::SpeechInputListener::~SpeechInputListener):
101068         * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
101069         (WebCore::SpeechInputClient::~SpeechInputClient):
101070         * page/SpeechInputClientListener.h: Added.
101071         (WebCore::SpeechInputClientListener::~SpeechInputClientListener):
101072
101073 2010-07-13  Richard Moore <rich@kde.org>, Robert Hogan  <robert@webkit.org>
101074
101075         Reviewed by Simon Hausmann.
101076
101077         [Qt] MIME handling in qtwebkit network layer case-sensitivity
101078
101079         https://bugs.webkit.org/show_bug.cgi?id=28654
101080
101081         Like other platforms, Qt needs to convert MIME types to lower case
101082         so they will be handled by WebCore.
101083
101084         * platform/network/qt/QNetworkReplyHandler.cpp:
101085         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
101086
101087 2010-07-13  James Robinson  <jamesr@chromium.org>
101088
101089         Reviewed by Simon Fraser.
101090
101091         REGRESSION(55056) debug builds ASSERT falsely on pages with animations
101092         https://bugs.webkit.org/show_bug.cgi?id=42175
101093
101094         Revision 55065 added some repaint box precomputation and some debug ASSERT()ions
101095         to ensure the precomputed values were valid.  However, if animations are enabled and
101096         not hardware accelerated, the repaint box dimensions become time-dependent and the
101097         ASSERT()s can trigger.  This can make it impossible to interactively debug pages
101098         like google maps.
101099
101100         https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion
101101         failing due to time dependent animation values.
101102
101103         * rendering/RenderObject.cpp:
101104         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
101105
101106 2010-07-13  Zhenyao Mo  <zmo@google.com>
101107
101108         Reviewed by Darin Fisher.
101109
101110         Implement bufferData and bufferSubData with ArrayBuffer as input
101111         https://bugs.webkit.org/show_bug.cgi?id=41884
101112
101113         Test: fast/canvas/webgl/buffer-data-array-buffer.html
101114
101115         * html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input.
101116         (WebCore::WebGLBuffer::associateBufferData):
101117         (WebCore::WebGLBuffer::associateBufferSubData):
101118         * html/canvas/WebGLBuffer.h: Ditto.
101119         * html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
101120         (WebCore::WebGLRenderingContext::bufferData):
101121         (WebCore::WebGLRenderingContext::bufferSubData):
101122         * html/canvas/WebGLRenderingContext.h: Ditto.
101123         * html/canvas/WebGLRenderingContext.idl: Ditto.
101124         * platform/graphics/GraphicsContext3D.h: Ditto.
101125         * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
101126         (WebCore::GraphicsContext3D::bufferData):
101127         (WebCore::GraphicsContext3D::bufferSubData):
101128
101129 2010-07-13  Tony Gentilcore  <tonyg@chromium.org>
101130
101131         Reviewed by Darin Fisher.
101132
101133         Implement performance.timing.responseEnd
101134         https://bugs.webkit.org/show_bug.cgi?id=42006
101135
101136         See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end
101137
101138         * loader/FrameLoader.cpp:
101139         (WebCore::FrameLoader::finishedLoading):
101140         * loader/FrameLoaderTypes.h:
101141         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
101142         * page/Timing.cpp:
101143         (WebCore::Timing::responseEnd):
101144         * page/Timing.h:
101145         * page/Timing.idl:
101146
101147 2010-07-13  W. James MacLean <wjmaclean@chromium.org>
101148
101149         Reviewed by Darin Fisher
101150
101151         Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform
101152         https://bugs.webkit.org/show_bug.cgi?id=41962
101153
101154         Test: fast/canvas/canvas-skia-excessive-size.html
101155
101156         * WebCore/html/HTMLCanvasElement.cpp
101157         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
101158
101159 2010-07-10  Zhenyao Mo  <zmo@google.com>
101160
101161         Reviewed by Darin Fisher.
101162
101163         Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
101164         https://bugs.webkit.org/show_bug.cgi?id=42032
101165
101166         * platform/graphics/mac/GraphicsContext3DMac.mm:
101167         (WebCore::GraphicsContext3D::getIntegerv): Emulate the enums.
101168
101169 2010-07-13  Philippe Normand  <pnormand@igalia.com>
101170
101171         Reviewed by Eric Carlson.
101172
101173         [GTK] video playback position query flood when mouse over the video element
101174         https://bugs.webkit.org/show_bug.cgi?id=35333
101175
101176         Don't trigger a position query only to know which play/pause
101177         button to display. Instead use the media-control button display
101178         type to select the image to paint.
101179
101180         * platform/gtk/RenderThemeGtk.cpp:
101181         (WebCore::RenderThemeGtk::paintMediaPlayButton):
101182
101183 2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
101184
101185         Unreviewed, rolling out r63192.
101186         http://trac.webkit.org/changeset/63192
101187         https://bugs.webkit.org/show_bug.cgi?id=42173
101188
101189         Broke fast/backgrounds/size/contain-and-cover.html (Requested
101190         by kling on #webkit).
101191
101192         * manual-tests/css3-background-layer-count.html: Removed.
101193         * rendering/style/FillLayer.cpp:
101194         (WebCore::FillLayer::cullEmptyLayers):
101195
101196 2010-07-13  Marcus Bulach  <bulach@chromium.org>
101197
101198         Reviewed by Jeremy Orlow.
101199
101200         Removes cycles caused by "m_this" members in a few IndexedDB classes.
101201         https://bugs.webkit.org/show_bug.cgi?id=42161
101202
101203         Adds IDBAny::create for the various types.
101204         No functionality change, just cleaning up.
101205
101206         * storage/IDBAny.cpp:
101207         (WebCore::createIDBAny):
101208         (WebCore::IDBAny::create):
101209         * storage/IDBAny.h:
101210         * storage/IDBDatabaseRequest.cpp:
101211         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
101212         (WebCore::IDBDatabaseRequest::createObjectStore):
101213         (WebCore::IDBDatabaseRequest::removeObjectStore):
101214         * storage/IDBDatabaseRequest.h:
101215         * storage/IDBKeyRange.cpp:
101216         (WebCore::IDBKeyRange::IDBKeyRange):
101217         * storage/IDBKeyRange.h:
101218         (WebCore::IDBKeyRange::left):
101219         (WebCore::IDBKeyRange::right):
101220         * storage/IDBObjectStoreRequest.cpp:
101221         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
101222         (WebCore::IDBObjectStoreRequest::get):
101223         (WebCore::IDBObjectStoreRequest::add):
101224         (WebCore::IDBObjectStoreRequest::put):
101225         (WebCore::IDBObjectStoreRequest::remove):
101226         (WebCore::IDBObjectStoreRequest::createIndex):
101227         (WebCore::IDBObjectStoreRequest::removeIndex):
101228         * storage/IDBObjectStoreRequest.h:
101229         * storage/IndexedDatabaseRequest.cpp:
101230         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
101231         (WebCore::IndexedDatabaseRequest::open):
101232         * storage/IndexedDatabaseRequest.h:
101233
101234 2010-07-13  Antti Koivisto  <koivisto@iki.fi>
101235
101236         Reviewed by Kenneth Rohde Christiansen.
101237
101238         [Qt] Land the initial build system for WebKit2
101239         https://bugs.webkit.org/show_bug.cgi?id=41604
101240
101241         The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit
101242
101243         * WebCore.pri:
101244         * WebCore.pro:
101245
101246 2010-07-13  Leon Clarke  <leonclarke@google.com>
101247
101248         Reviewed by Pavel Feldman.
101249
101250         Don't access objects after deleting them, following
101251         the addition of link prefetching. Also remove a forward declaration
101252         of the now-nonexistent CachedLinkPrefetch class.
101253         https://bugs.webkit.org/show_bug.cgi?id=3652
101254
101255         No new tests. Correcting aspects of the prefetch change that shouldn't
101256         have affected functionality.
101257
101258         * html/HTMLLinkElement.h:
101259         * loader/loader.cpp:
101260         (WebCore::Loader::Host::cancelPendingRequests):
101261
101262 2010-07-13  Andras Becsi  <abecsi@webkit.org>
101263
101264         Reviewed by Simon Hausmann.
101265
101266         [Qt] Fix the case of a linker option to lowercase to be able to
101267         cross compile QtWebKit for Windows on Linux.
101268
101269         No new tests needed.
101270
101271         * WebCore.pro:
101272
101273 2010-07-12  Ilya Tikhonovsky  <loislo@chromium.org>
101274
101275         Reviewed by Yury Semikhatsky.
101276
101277         WebInspector: Next iteration of Inspector code generator.
101278         The InspectorFrontend2 was replaced by slightly modified version of
101279         InspectorBackend file (Inspector.idl). At the end all the interface
101280         between WebInspector and inspected page will be specified by this file
101281         and generated by CodeGeneratorInspector (InspectorFrontend.cpp,
101282         InspectorBackend.cpp and InspectorBackend.js).
101283         https://bugs.webkit.org/show_bug.cgi?id=42104
101284
101285         * DerivedSources.make:
101286         * GNUmakefile.am:
101287         * WebCore.gyp/WebCore.gyp:
101288         * WebCore.gyp/scripts/rule_binding.py:
101289         * WebCore.gypi:
101290         * WebCore.pri:
101291         * WebCore.xcodeproj/project.pbxproj:
101292         * bindings/scripts/IDLParser.pm:
101293         * bindings/scripts/IDLStructure.pm:
101294         * bindings/scripts/generate-bindings.pl:
101295         * inspector/CodeGeneratorInspector.pm:
101296         * inspector/Inspector.idl: Added.
101297         * inspector/InspectorCSSStore.cpp:
101298         (WebCore::InspectorCSSStore::inspectorStyleSheet):
101299         * inspector/InspectorController.cpp:
101300         (WebCore::InspectorController::connectFrontend):
101301         (WebCore::InspectorController::startTimelineProfiler):
101302         * inspector/InspectorController.h:
101303         (WebCore::InspectorController::remoteInspectorFrontend):
101304         * inspector/InspectorDOMAgent.cpp:
101305         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
101306         * inspector/InspectorDOMAgent.h:
101307         (WebCore::InspectorDOMAgent::create):
101308         * inspector/InspectorFrontend2.idl: Removed.
101309         * inspector/InspectorTimelineAgent.cpp:
101310         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
101311         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
101312         * inspector/InspectorTimelineAgent.h:
101313
101314 2010-07-12  Steve Block  <steveblock@google.com>
101315
101316         Reviewed by Jeremy Orlow.
101317
101318         DeviceOrientationEvent should use optional properties
101319         https://bugs.webkit.org/show_bug.cgi?id=41607
101320
101321         This change adds a new DeviceOrientation class which takes care of which of the
101322         optional properties are present. DeviceOrientationEvent owns an instance of
101323         DeviceOrientation, rather than owning the properties directly.
101324         DeviceOrientationEvent now requires custom bindings.
101325
101326         Test: fast/dom/DeviceOrientation/optional-event-properties.html
101327
101328         * Android.mk:
101329         * Android.jscbindings.mk:
101330         * Android.v8bindings.mk:
101331         * CMakeLists.txt:
101332         * GNUmakefile.am:
101333         * WebCore.gypi:
101334         * WebCore.pro:
101335         * WebCore.vcproj/WebCore.vcproj:
101336         * WebCore.xcodeproj/project.pbxproj:
101337         * bindings/js/JSBindingsAllInOne.cpp:
101338         * bindings/js/JSDeviceOrientationEventCustom.cpp: Added.
101339         (WebCore::JSDeviceOrientationEvent::alpha):
101340         (WebCore::JSDeviceOrientationEvent::beta):
101341         (WebCore::JSDeviceOrientationEvent::gamma):
101342         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
101343         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: Added.
101344         (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
101345         (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
101346         (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
101347         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
101348         * dom/DeviceOrientation.cpp: Added.
101349         * dom/DeviceOrientation.h: Added.
101350         (WebCore::DeviceOrientation::create):
101351         (WebCore::DeviceOrientation::canProvideAlpha):
101352         (WebCore::DeviceOrientation::alpha):
101353         (WebCore::DeviceOrientation::canProvideBeta):
101354         (WebCore::DeviceOrientation::beta):
101355         (WebCore::DeviceOrientation::canProvideGamma):
101356         (WebCore::DeviceOrientation::gamma):
101357         (WebCore::DeviceOrientation::DeviceOrientation):
101358         * dom/DeviceOrientationEvent.cpp:
101359         (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
101360         (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
101361         * dom/DeviceOrientationEvent.h:
101362         (WebCore::DeviceOrientationEvent::create):
101363         (WebCore::DeviceOrientationEvent::orientation):
101364         * dom/DeviceOrientationEvent.idl:
101365
101366 2010-07-13  Andreas Kling  <andreas.kling@nokia.com>
101367
101368         Reviewed by Antti Koivisto.
101369
101370         CSS3 background: Number of layers should be determined by background-image element count
101371         https://bugs.webkit.org/show_bug.cgi?id=41201
101372
101373         Change FillLayer culling logic to discard all layers
101374         after the first one without an image set.
101375
101376         Manual test: css3-background-layer-count.html
101377
101378         * manual-tests/css3-background-layer-count.html: Added.
101379         * rendering/style/FillLayer.cpp:
101380         (WebCore::FillLayer::cullEmptyLayers):
101381
101382 2010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
101383
101384         Reviewed by Darin Adler.
101385
101386         Prevent assertion/duplicate loads for non-deferred subtitute-data loads
101387
101388         https://bugs.webkit.org/show_bug.cgi?id=30879
101389
101390         MainResourceLoader uses the member m_initialRequest to store requests for future
101391         deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
101392         have to clear this request so that subsequent entries into the loader will not
101393         start yet another load.
101394
101395         This can happen as a result of a PageGroupLoadDeferrer going out of scope when
101396         returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
101397         but only in the case of using both substitute-data and non-deferred main resource
101398         load together. That's why two new DRT functions were added:
101399
101400          * queueLoadHTMLString()
101401          * setDeferMainResourceLoad()
101402
101403         The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
101404         and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
101405         added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
101406
101407         Test: fast/loader/non-deferred-substitute-load.html
101408
101409         * loader/MainResourceLoader.cpp:
101410         (WebCore::MainResourceLoader::handleDataLoadNow):
101411
101412 2010-07-13  Yoshiki Hayashi  <yhayashi@google.com>
101413
101414         Reviewed by Kent Tamura.
101415
101416         Make sure correct Nodes are passed to childrenChanged so that
101417         :last-child gets properly applied when fragment is inserted.
101418         https://bugs.webkit.org/show_bug.cgi?id=37944
101419
101420         Test: fast/css/last-child-innerhtml.html
101421
101422         * dom/ContainerNode.cpp:
101423         (WebCore::ContainerNode::replaceChild):
101424         (WebCore::ContainerNode::appendChild):
101425
101426 2010-07-13  Ryosuke Niwa  <rniwa@webkit.org>
101427
101428         Reviewed by Kent Tamura.
101429
101430         InsertListCommand's modifyRange and doApply should be merged
101431         https://bugs.webkit.org/show_bug.cgi?id=41403
101432
101433         Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
101434         Merged the code in modifyRange into doApply and cleaned up.
101435
101436         No test is added since this is a clean up.
101437
101438         * editing/InsertListCommand.cpp:
101439         (WebCore::InsertListCommand::InsertListCommand): m_forceCreateList is no longer initialized
101440         (WebCore::InsertListCommand::doApply): Isolated the code to insert/remove lists in doApplyForSingleParagraph
101441         (WebCore::InsertListCommand::doApplyForSingleParagraph): Insert/remove lists for single paragraph
101442         * editing/InsertListCommand.h: Added doApplyForSingleParagraph and removed m_forceCreateList
101443
101444 2010-07-12  Eric Seidel  <eric@webkit.org>
101445
101446         Reviewed by Adam Barth.
101447
101448         Fix typo in "close the cell" which caused assertion
101449         https://bugs.webkit.org/show_bug.cgi?id=42138
101450
101451         * html/HTMLTreeBuilder.cpp:
101452         (WebCore::HTMLTreeBuilder::closeTheCell):
101453
101454 2010-07-12  Eric Seidel  <eric@webkit.org>
101455
101456         Reviewed by Adam Barth.
101457
101458         Fix line number handling in HTMLTreeBuilder to fix a zillion layout tests
101459         https://bugs.webkit.org/show_bug.cgi?id=42143
101460
101461         Covered by a zillion layout tests.
101462
101463         * html/HTMLTreeBuilder.cpp:
101464         (WebCore::HTMLTreeBuilder::processEndTag):
101465         (WebCore::HTMLTreeBuilder::processScriptStartTag):
101466
101467 2010-07-12  Jay Civelli  <jcivelli@chromium.org>
101468
101469         Reviewed by Kent Tamura.
101470
101471         Adding right aligned text called labels to PopupMenus.
101472         https://bugs.webkit.org/show_bug.cgi?id=41964
101473
101474         * platform/PopupMenuClient.h:
101475         * platform/chromium/PopupMenuChromium.cpp:
101476         (WebCore::PopupListBox::paintRow):
101477         * rendering/RenderMenuList.cpp:
101478         (WebCore::RenderMenuList::itemLabel):
101479         * rendering/RenderMenuList.h:
101480         * rendering/RenderTextControlSingleLine.cpp:
101481         (WebCore::RenderTextControlSingleLine::itemLabel):
101482         * rendering/RenderTextControlSingleLine.h:
101483
101484 2010-07-12  Mihnea Ovidenea  <mihnea@adobe.com>
101485
101486         Reviewed by Dirk Schulze.
101487
101488         [Cairo] Incorrect Test for Text Fill
101489         https://bugs.webkit.org/show_bug.cgi?id=42123
101490
101491         Correct test used for text shadow.  It currently checks for
101492         equality with cTextFill.  However, this test fails if the
101493         text drawing mode is set to 'cTextFill | cTextStroke'.  Fix
101494         is to modify the test to be like other Cairo uses of the
101495         text drawing mode, and check for the cTextFill bit being
101496         set, not for equality with the bit.
101497
101498         * platform/graphics/cairo/FontCairo.cpp:
101499         (WebCore::Font::drawGlyphs):
101500
101501 2010-07-12  Eric Seidel  <eric@webkit.org>
101502
101503         Reviewed by Sam Weinig.
101504
101505         Fix a typo in the adoption agency causing test failures
101506         https://bugs.webkit.org/show_bug.cgi?id=42133
101507
101508         The new behavior actually differs from old webkit.
101509         <p><b><p>TEST
101510         was not bold in the old parser, but is bold now.
101511         This matches Minefield and the HTML5 spec.
101512
101513         Covered by two tests in html5lib/runner.html.
101514
101515         * html/HTMLTreeBuilder.cpp:
101516         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
101517
101518 2010-07-12  Pavel Feldman  <pfeldman@chromium.org>
101519
101520         Reviewed by Joseph Pecoraro.
101521
101522         Web Inspector: provide starts and ends for network phases instead of duration.
101523
101524         https://bugs.webkit.org/show_bug.cgi?id=42091
101525
101526         * inspector/InspectorResource.cpp:
101527         (WebCore::InspectorResource::updateResponse):
101528         (WebCore::InspectorResource::updateScriptObject):
101529         (WebCore::InspectorResource::buildObjectForTiming):
101530         * platform/network/ResourceLoadTiming.h:
101531         (WebCore::ResourceLoadTiming::deepCopy):
101532         (WebCore::ResourceLoadTiming::operator==):
101533         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
101534         * platform/network/ResourceResponseBase.cpp:
101535         (WebCore::ResourceResponseBase::ResourceResponseBase):
101536         (WebCore::ResourceResponseBase::wasCached):
101537         (WebCore::ResourceResponseBase::setWasCached):
101538         * platform/network/ResourceResponseBase.h:
101539
101540 2010-07-12  Adam Barth  <abarth@webkit.org>
101541
101542         Reviewed by Eric Seidel.
101543
101544         HTML5 Parser: document.write after onload blows away document
101545         https://bugs.webkit.org/show_bug.cgi?id=40745
101546
101547         Rather than blowing away the document when we get a document.write call
101548         after the document is closed, we new ignore the write.  This
101549         technically violates the spec (which requires us to blow away the
101550         document), but blowing away the document breaks too many web sites.
101551
101552         Rather than this patch, we could go back to our old behavior (which was
101553         to append the bytes just before EOF), but implementing this approach
101554         (suggested by Henri) will let us gather data about whether his approach
101555         is workable.
101556
101557         See also: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
101558
101559         * dom/Document.cpp:
101560         (WebCore::Document::write):
101561         * html/HTMLDocumentParser.cpp:
101562         (WebCore::HTMLDocumentParser::insert):
101563
101564 2010-07-12  Tony Gentilcore  <tonyg@chromium.org>
101565
101566         Reviewed by Oliver Hunt.
101567
101568         Strip BOMs from source before passing to V8
101569         https://bugs.webkit.org/show_bug.cgi?id=42102
101570
101571         This extra copy may carry a performance penalty. We should investigate
101572         whether this allows any simplification in v8/scanner.cc:SkipJavaScriptWhiteSpace().
101573
101574         No new tests because no new functionality.
101575
101576         * bindings/v8/ScriptSourceCode.h:
101577         (WebCore::ScriptSourceCode::ScriptSourceCode):
101578
101579 2010-07-12  Gustavo Noronha Silva  <gns@gnome.org>
101580
101581         Unreviewed. make distcheck fix.
101582
101583         * GNUmakefile.am:
101584
101585 2010-07-12  Yuta Kitamura  <yutak@chromium.org>
101586
101587         Reviewed by Alexey Proskuryakov.
101588
101589         Fix crash caused by unintentional deletion of worker bridge and channel.
101590
101591         WebSocket: Crash caused by calling close() within onmessage handler
101592         https://bugs.webkit.org/show_bug.cgi?id=41507
101593
101594         Test: websocket/tests/workers/close-in-onmessage-crash.html
101595
101596         * websockets/WebSocket.cpp:
101597         (WebCore::WebSocket::close): bufferedAmount() may call WebSocket::didClose(),
101598         which causes m_channel to get freed.
101599         * websockets/WorkerThreadableWebSocketChannel.cpp:
101600         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Add reference to
101601         the bridge because waitForMethodCompletion() may dereference the bridge.
101602         (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): Ditto.
101603         (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
101604         The root cause is a call to WorkerRunLoop::runInMode in this function.
101605         It may call WebSocket::didClose() even inside WebSocket::close(), which frees
101606         everything including the worker bridge and the channel.
101607
101608 2010-07-12  Adam Barth  <abarth@webkit.org>
101609
101610         Reviewed by Eric Seidel.
101611
101612         REGRESSION (HTML5 parser?): Impossible to get past the CAPTCHA on postcode.royalmail.com
101613         https://bugs.webkit.org/show_bug.cgi?id=41797
101614
101615         Once we resume parsing after script execution, we want to clear the
101616         preload scanner so we don't scan any bytes it might have accumulated.
101617
101618         Test: http/tests/loading/preload-slow-loading.php
101619
101620         * html/HTMLDocumentParser.cpp:
101621         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
101622
101623 2010-07-12  Albert J. Wong  <ajwong@chromium.org>
101624
101625         Reviewed by Jian Li.
101626
101627         Adding directional property enums back into
101628         CSSComputedStyleDeclaration::getPropertyCSSValue().
101629
101630         https://bugs.webkit.org/show_bug.cgi?id=42122
101631
101632         The four directional -webkit- properties --  CSSPropertyWebkitMarginEnd,
101633         CSSPropertyWebkitMarginStart, CSSPropertyWebkitPaddingEnd, and
101634         CSSPropertyWebkitPaddingStart -- are resolved into other css
101635         properties before the swtich statement via a call to
101636         CSSProperty::resolveDirectionAwareProperty().  Thus, they are never
101637         seen by the switch statement.  However, if you leave out a potential
101638         enum value from the switch, gcc will generate a warning if -Wall is
101639         specified.  This warning breaks the Chromium build.  To avoid this,
101640         we add in the enum values and ASSERT_NOT_REACHED() if they are hit.
101641
101642
101643         * css/CSSComputedStyleDeclaration.cpp:
101644         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
101645
101646 2010-07-12  Chris Fleizach  <cfleizach@apple.com>
101647
101648         Reviewed by Darin Adler.
101649
101650         AX converts AtomicStrings to .string() more than needed
101651         https://bugs.webkit.org/show_bug.cgi?id=42056
101652
101653         No behavior change. No new tests.
101654
101655         * accessibility/AccessibilityRenderObject.cpp:
101656         (WebCore::AccessibilityRenderObject::isPressed):
101657         (WebCore::siblingWithAriaRole):
101658         (WebCore::AccessibilityRenderObject::intValue):
101659         (WebCore::AccessibilityRenderObject::accessibilityDescription):
101660         (WebCore::AccessibilityRenderObject::hasTextAlternative):
101661         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
101662         (WebCore::AccessibilityRenderObject::supportsARIADropping):
101663         (WebCore::AccessibilityRenderObject::supportsARIADragging):
101664         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
101665         (WebCore::AccessibilityRenderObject::isExpanded):
101666         (WebCore::AccessibilityRenderObject::isRequired):
101667         (WebCore::AccessibilityRenderObject::isSelected):
101668         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
101669         (WebCore::AccessibilityRenderObject::isEnabled):
101670         (WebCore::AccessibilityRenderObject::activeDescendant):
101671         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
101672         (WebCore::AccessibilityRenderObject::orientation):
101673         (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
101674         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
101675
101676 2010-07-12  Tony Chang  <tony@chromium.org>
101677
101678         Reviewed by David Hyatt.
101679
101680         crash in FrameView::detachCustomScrollbars
101681         https://bugs.webkit.org/show_bug.cgi?id=41196
101682
101683         Test: scrollbars/hidden-iframe-scrollbar-crash.html
101684
101685         * page/FrameView.cpp:
101686         (WebCore::FrameView::detachCustomScrollbars):
101687
101688 2010-07-12  Eric Seidel  <eric@webkit.org>
101689
101690         Reviewed by Adam Barth.
101691
101692         HTML tags should break out of foreign content
101693         https://bugs.webkit.org/show_bug.cgi?id=42106
101694
101695         Implement another paragraph of the spec to pass another
101696         bunch of foreign content tests.
101697
101698         This fixes a bunch of tests in html5lib/runner.html.
101699         After this change we only have 4 remaining foreign content failures.
101700
101701         * html/HTMLTreeBuilder.cpp:
101702         (WebCore::HTMLTreeBuilder::processStartTag):
101703
101704 2010-07-12  Zhenyao Mo  <zmo@google.com>
101705
101706         Reviewed by Darin Fisher.
101707
101708         Bring bufferData and clear to GLES2 compliant
101709         https://bugs.webkit.org/show_bug.cgi?id=41574
101710
101711         * html/canvas/WebGLRenderingContext.cpp:
101712         (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataUsage().
101713         (WebCore::WebGLRenderingContext::clear): Check mask.
101714         (WebCore::WebGLRenderingContext::validateBufferDataUsage): Check usage.
101715         * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataUsage.
101716
101717 2010-07-12  Eric Seidel  <eric@webkit.org>
101718
101719         Unreviewed.  Attempt to fix Chromium Windows build.
101720
101721         Always generate SVGNames and MathMLNames for all ports (to support HTML5)
101722         https://bugs.webkit.org/show_bug.cgi?id=42050
101723
101724         Another way to fix this might be to mark all the .in files with
101725         svn:eol=native.  But fixing the perl to be more robust against
101726         stray whitespace seems to be a better long-term fix.
101727
101728         No functional change, thus no tests.
101729
101730         * bindings/scripts/InFilesParser.pm:
101731
101732 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
101733
101734         Reviewed by Kenneth Rohde Christiansen.
101735
101736         Remove dependency on PlatformString.h in Color.h
101737         https://bugs.webkit.org/show_bug.cgi?id=42109
101738
101739         * platform/graphics/Color.cpp:
101740         * platform/graphics/Color.h:
101741
101742 2010-07-12  Eric Seidel  <eric@webkit.org>
101743
101744         Unreviewed, build fix.
101745
101746         Update HTMLTreeBuilder now that MathMLNames is always generated
101747         https://bugs.webkit.org/show_bug.cgi?id=42059
101748
101749         Fix the Windows project file to build MathMLNames.*.
101750         Also added MathMLElementFactory.* which is a NOOP now, but will
101751         prevent folks from breaking the build when they turn MathML on.
101752
101753         * WebCore.vcproj/WebCore.vcproj:
101754
101755 2010-07-12  Eric Carlson  <eric.carlson@apple.com>
101756
101757         Reviewed by Darin Adler.
101758
101759         Update media element's handling of empty 'src' attribute
101760         https://bugs.webkit.org/show_bug.cgi?id=42001
101761
101762         * html/HTMLMediaElement.cpp:
101763         (WebCore::HTMLMediaElement::src): Return getNonEmptyURLAttribute().
101764         (WebCore::HTMLMediaElement::selectMediaResource): Call noneSupported() for empty 'src'.
101765         (WebCore::HTMLMediaElement::selectNextSourceChild): Use getNonEmptyURLAttribute() to convert 
101766         'src' to URL instead of document()->completeURL(). Don't consider a <source> with an empty 'src'. 
101767
101768         * html/HTMLMediaElement.idl: Add 'NonEmpty' option to 'src' attribute.
101769
101770         * html/HTMLSourceElement.cpp:
101771         (WebCore::HTMLSourceElement::src): Return getNonEmptyURLAttribute().
101772         (WebCore::HTMLSourceElement::isURLAttribute): New, 'src' is a URL attribute.
101773         * html/HTMLSourceElement.h:
101774
101775         * html/HTMLSourceElement.idl: Add 'NonEmpty' option to 'src' attribute.
101776
101777         * html/HTMLVideoElement.cpp:
101778         (WebCore::HTMLVideoElement::parseMappedAttribute): Use getNonEmptyURLAttribute() to convert 
101779         'poster' to URL instead of document()->completeURL().
101780
101781         * html/HTMLVideoElement.idl:  Add 'NonEmpty' option to 'poster' attribute.
101782
101783 2010-07-12  Martin Robinson  <mrobinson@igalia.com>
101784
101785         Reviewed by Xan Lopez.
101786
101787         [GTK] make dist is broken because of missing headers and other miscellaneous reasons
101788         https://bugs.webkit.org/show_bug.cgi?id=42107
101789
101790         * GNUmakefile.am: Remove InspectorFrontend2.idl from the list of IDL files, so
101791         that it is not built into libWebCoreJS. Add missing header to the source list.
101792         Make sure to distribute the new file: WebCore/inspector/CodeGeneratorInspector.pm.
101793
101794 2010-07-12  Eric Seidel  <eric@webkit.org>
101795
101796         Reviewed by Adam Barth.
101797
101798         HTMLTreeBuilder needs to support mixing SVG and MathML content
101799         https://bugs.webkit.org/show_bug.cgi?id=42096
101800
101801         This is just a direct transcription of another paragraph of the
101802         HTML5 spec.
101803
101804         This improved a couple results in html5lib/runner.html, but more
101805         work to do yet to pass all the foreign content tests.
101806
101807         * html/HTMLTreeBuilder.cpp:
101808         (WebCore::HTMLTreeBuilder::processStartTag):
101809         (WebCore::HTMLTreeBuilder::processEndTag):
101810         (WebCore::HTMLTreeBuilder::processUsingSecondaryInsertionModeAndAdjustInsertionMode):
101811         * html/HTMLTreeBuilder.h:
101812         * mathml/mathtags.in:
101813
101814 2010-07-12  Eric Seidel  <eric@webkit.org>
101815
101816         Reviewed by Adam Barth.
101817
101818         Update HTMLTreeBuilder now that MathMLNames is always generated
101819         https://bugs.webkit.org/show_bug.cgi?id=42059
101820
101821         Fix the HTMLTreeBuilder MathML code path to compile and remove
101822         the MathML and SVG guards now that SVGNames and MathMLNames are
101823         always compiled into ever port after:
101824         https://bugs.webkit.org/show_bug.cgi?id=42050
101825
101826         This fixed a whole bunch of libhtml5 tests now that we have the
101827         mathml code paths enabled.
101828
101829         * html/HTMLTreeBuilder.cpp:
101830         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
101831         (WebCore::HTMLTreeBuilder::processStartTag):
101832         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
101833         (WebCore::HTMLTreeBuilder::processEndTag):
101834         * page/Frame.cpp:
101835         (WebCore::Frame::Frame):
101836          - Always init SVGNames and MathML names.
101837
101838 2010-07-12  Simon Fraser  <simon.fraser@apple.com>
101839
101840         Reviewed by Dan Bernstein.
101841
101842         Don't go into compositing mode for 0x0 plugins
101843         https://bugs.webkit.org/show_bug.cgi?id=34009
101844         
101845         Don't use compositing for small (0-height or width, or 1x1) plugins, or iframes whose
101846         height or width is zero.
101847         
101848         Previously we made all compositing decisions inside styleChanged(). However,
101849         now that plugin and iframe compositing behavior depends on renderer size, we have
101850         to wait until layout before deciding whether to composite these. This behavior
101851         change is controlled by the m_compositingDependsOnGeometry flag. When set,
101852         updateCompositingLayers() always does a hierarchy update.
101853
101854         Tests: compositing/iframes/iframe-size-from-zero.html
101855                compositing/iframes/iframe-size-to-zero.html
101856                compositing/plugins/1x1-composited-plugin.html
101857                compositing/plugins/large-to-small-composited-plugin.html
101858                compositing/plugins/small-to-large-composited-plugin.html
101859
101860         * page/FrameView.cpp:
101861         (WebCore::FrameView::updateCompositingLayers): No longer bail if usesCompositing() is false; we
101862         have to always enter updateCompositingLayers().
101863         (WebCore::FrameView::repaintFixedElementsAfterScrolling): Ditto
101864         (WebCore::FrameView::enterCompositingMode): Remove bogus return of a void.
101865
101866         * rendering/RenderLayerCompositor.h: Add m_compositingDependsOnGeometry.
101867         * rendering/RenderLayerCompositor.cpp:
101868         (WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_compositingDependsOnGeometry to false.
101869         (WebCore::RenderLayerCompositor::updateCompositingLayers): If m_compositingDependsOnGeometry is true,
101870         we always need to run through the layer hierarchy looking for things which need to be composited, even if
101871         we're not (yet) in compositing mode.
101872         
101873         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Because we can enter compositing mode
101874         on the fly inside updateCompositingLayers() now, the state of willBeComposited needs to be updated
101875         when processing the root layer, for the case where the compositing mode changes.
101876         
101877         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Set the m_compositingDependsOnGeometry
101878         flag if we see a potentially-composited plugin. Once we have layout information, only composite the plugin
101879         if height * width > 1.
101880         
101881         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Set the m_compositingDependsOnGeometry
101882         flag if we see a potentially-composited iframe. Once we have layout information, only composite the plugin
101883         if height or width is greater than zero.
101884
101885 2010-07-12  Simon Fraser  <simon.fraser@apple.com>
101886
101887         Reviewed by Dan Bernstein.
101888
101889         Need to do a layout when RenderLayers come and go because of compositing
101890         https://bugs.webkit.org/show_bug.cgi?id=42108
101891         
101892         If we create or destroy RenderLayers for reasons other than style changes
101893         (e.g. because of composited iframes or plugins), then we need to ensure
101894         that we do a layout.
101895
101896         Test: compositing/iframes/layout-on-compositing-change.html
101897
101898         * rendering/RenderObject.cpp:
101899         (WebCore::RenderObject::adjustStyleDifference):
101900
101901 2010-07-11  Eric Seidel  <eric@webkit.org>
101902
101903         Reviewed by Darin Adler.
101904
101905         Always generate SVGNames and MathMLNames for all ports (to support HTML5)
101906         https://bugs.webkit.org/show_bug.cgi?id=42050
101907
101908         Historically, FOONames has only been generate when ENABLE(FOO) is defined.
101909         However, for HTML5 parser support, we need to have access to the SVG
101910         and MathML tag names regardless of whether we the engine is configured
101911         to render SVG or MathML content.
101912
101913         This change enables generation of SVGNames and MathMLNames on all ports and
101914         makes it so that ports can include FOOElementFactory.* regardless of whether
101915         ENABLE(FOO) is defined (and have it do the right thing).
101916
101917         No functional change (yet) so no tests.
101918
101919         * DerivedSources.make:
101920         * GNUmakefile.am:
101921         * WebCore.gyp/WebCore.gyp:
101922         * WebCore.pri:
101923         * dom/make_names.pl:
101924
101925 2010-07-10  Eric Seidel  <eric@webkit.org>
101926
101927         Reviewed by Adam Barth.
101928
101929         make_names.pl should always generate all names in Names.* files
101930         https://bugs.webkit.org/show_bug.cgi?id=42023
101931
101932         Only the *ElementFactory files need to have conditional contents
101933         based on enabled features.  WebCore should always have all known
101934         names for SVG, MathML, XML, XLink, HTML, etc. generated in the
101935         various *Names files, even if features are disabled.
101936
101937         make_names.pl is kinda a big hack at this point.  I tried to clean
101938         up a little as I went.  The way I made *Names include all names was to
101939         read the .in files twice, once using the preprocessor and once without.
101940
101941         * dom/make_names.pl:
101942
101943 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
101944
101945         Reviewed by Oliver Hunt.
101946
101947         Canvas: Move fillRect() save/restore into GraphicsContext implementations
101948         https://bugs.webkit.org/show_bug.cgi?id=42088
101949
101950         Saving the platform painter state is an expensive operation,
101951         so don't do it in fillRect() for platforms that don't need it. (CG, Qt)
101952
101953         * html/canvas/CanvasRenderingContext2D.cpp:
101954         (WebCore::CanvasRenderingContext2D::fillRect):
101955         * platform/graphics/cairo/GraphicsContextCairo.cpp:
101956         (WebCore::GraphicsContext::fillRect):
101957         * platform/graphics/skia/GraphicsContextSkia.cpp:
101958         (WebCore::GraphicsContext::fillRect):
101959         * platform/graphics/wince/GraphicsContextWince.cpp:
101960         (WebCore::GraphicsContext::fillRect):
101961         * platform/graphics/wx/GraphicsContextWx.cpp:
101962         (WebCore::GraphicsContext::fillRect):
101963
101964 2010-07-12  Nate Chapin  <japhet@chromium.org>
101965
101966         Reviewed by Darin Fisher.
101967
101968         Ensure that a cache policy that forces validation is cleared once
101969         the load event is fired, rather than only doing so at the next
101970         navigation. This leads to a lot of unnecessary load on AJAX-y
101971         websites.
101972
101973         https://bugs.webkit.org/show_bug.cgi?id=41813
101974
101975         Test: http/tests/xmlhttprequest/cache-headers-after-reload.html
101976
101977         * loader/FrameLoader.cpp:
101978         (WebCore::FrameLoader::handledOnloadEvents): Reset m_loadType to FrameLoadTypeStandard.
101979         (WebCore::FrameLoader::addExtraFieldsToRequest): Only respect the original request's cache policy if the
101980             DocumentLoader is still loading, and handle the other cache policy settings that were scattered around the loader.
101981         (WebCore::FrameLoader::loadResourceSynchronously): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
101982         * loader/SubresourceLoader.cpp:
101983         (WebCore::SubresourceLoader::create): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
101984
101985 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
101986
101987         Reviewed by Oliver Hunt.
101988
101989         CSS color parsing optimizations
101990         https://bugs.webkit.org/show_bug.cgi?id=42073
101991
101992         - Avoid instantiating a CSSParser in parseColor() unless necessary.
101993         - Fixed hex color fast-path to support strings starting with '#'.
101994         - Avoid allocating a new string for the value part of a '#' color.
101995
101996         * css/CSSParser.cpp:
101997         (WebCore::CSSParser::parseColor):
101998         * platform/graphics/Color.cpp:
101999         (WebCore::Color::parseHexColor):
102000         (WebCore::Color::Color):
102001         * platform/graphics/Color.h:
102002
102003 2010-07-09  Alexey Proskuryakov  <ap@apple.com>
102004
102005         Reviewed by Darin Adler.
102006
102007         https://bugs.webkit.org/show_bug.cgi?id=13075
102008         XMLHttpRequest with failed authentication should set status to 401
102009
102010         https://bugs.webkit.org/show_bug.cgi?id=6871
102011         <rdar://problem/3363403> 401 error page is never shown
102012
102013         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential):
102014         Added a comment explaining why we handle empty credentials differently here.
102015
102016         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::receivedCredential):
102017         Bring this code in sync with Mac.
102018
102019 2010-07-12  Anders Carlsson  <andersca@apple.com>
102020
102021         Reviewed by Adam Roben.
102022
102023         Add a PluginController class, use it for invalidation and getting the user agent
102024         https://bugs.webkit.org/show_bug.cgi?id=42084
102025
102026         * WebCore.exp.in:
102027         Export Widget::convertToContainingWindow.
102028
102029 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
102030
102031         Reviewed by Simon Hausmann.
102032
102033         [Qt] Dragging within webkit with a drag created via Javascript ends up misinterpreting the data
102034         https://bugs.webkit.org/show_bug.cgi?id=41457
102035
102036         Treat non-special-cased mime-types as Unicode strings in ClipboardQt's getData()
102037         Fixes corruption when retrieving data that was set with anything other than text/plain
102038
102039         Also use QMimeData::setHtml() when applicable to be consistent with PasteboardQt.
102040
102041         * platform/qt/ClipboardQt.cpp:
102042         (WebCore::isHtmlMimeType):
102043         (WebCore::ClipboardQt::getData):
102044         (WebCore::ClipboardQt::setData):
102045
102046 2010-07-12  Steve Block  <steveblock@google.com>
102047
102048         Reviewed by Jeremy Orlow.
102049
102050         add ANDROID to STORE_FONT_CUSTOM_PLATFORM_DATA
102051         https://bugs.webkit.org/show_bug.cgi?id=32273
102052
102053         Tested by existing tests, just adding ANDROID to the list of platforms that use this feature.
102054
102055         * loader/CachedFont.cpp:
102056
102057 2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
102058
102059         Unreviewed.
102060
102061         [EFL] Move ScriptConcotrollerEfl.cpp from CMakeLists.txt to
102062         CMakeListsEfl.txt.
102063
102064         * CMakeLists.txt:
102065         * CMakeListsEfl.txt:
102066
102067 2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
102068
102069         Unreviewed build fix after r60050.
102070
102071         * CMakeLists.txt: Add WebCore/bindings to the include path.
102072
102073 2010-07-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
102074
102075         Reviewed by Xan Lopez.
102076
102077         [GTK] Crashes when going back with page cache in unknown circunstances
102078         https://bugs.webkit.org/show_bug.cgi?id=41710
102079
102080         Could not yet find a way to reproduce this in a layout test. The
102081         issue is document being NULL, so this NULL-check should be enough
102082         to get rid of the crash. We are working on trying to find a better
102083         solution for these null cases, like attaching the document earlier
102084         when openning a cached page.
102085
102086         * page/EventHandler.cpp:
102087         (WebCore::EventHandler::sendScrollEvent):
102088
102089 2010-07-12  Alexander Pavlov  <apavlov@chromium.org>
102090
102091         Reviewed by Yury Semikhatsky.
102092
102093         [Chromium] Crash when stepping on a breakpoint while debugging Web Inspector
102094         https://bugs.webkit.org/show_bug.cgi?id=41958
102095
102096         * page/PageGroupLoadDeferrer.cpp:
102097         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
102098         * page/PageGroupLoadDeferrer.h:
102099
102100 2010-07-12  François Sausset  <sausset@gmail.com>
102101
102102         Reviewed by Kenneth Rohde Christiansen.
102103
102104         Make the mathsize MathML attribute handle values in em, px, pt,...
102105         https://bugs.webkit.org/show_bug.cgi?id=42067
102106
102107         Test: mathml/presentation/attributes.xhtml
102108
102109         * css/mathml.css:
102110         (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
102111         (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
102112         (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
102113         * mathml/MathMLElement.cpp:
102114         (WebCore::MathMLElement::parseMappedAttribute):
102115
102116 2010-07-12  Xan Lopez  <xlopez@igalia.com>
102117
102118         Reviewed by Gustavo Noronha.
102119
102120         Fix compilation with sealed GTK+.
102121
102122         * platform/gtk/GtkVersioning.h:
102123         * platform/gtk/PasteboardHelper.cpp:
102124         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
102125
102126 2010-07-12  François Sausset  <sausset@gmail.com>
102127
102128         Reviewed by Kenneth Rohde Christiansen.
102129
102130         Fix a bug preventing msqrt and mfrac to use style color to draw themselves.
102131         In mfrac, the fraction bar is now using the color defined by the element style instead of black.
102132         In msqrt, the radical was always drawn in black due to a colorSpace problem.
102133         https://bugs.webkit.org/show_bug.cgi?id=41889
102134
102135         Test: mathml/presentation/roots.xhtml
102136         Test: mathml/presentation/fractions.xhtml
102137
102138         * mathml/RenderMathMLFraction.cpp:
102139         (WebCore::RenderMathMLFraction::paint):
102140         * mathml/RenderMathMLSquareRoot.cpp:
102141         (WebCore::RenderMathMLSquareRoot::paint):
102142
102143 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
102144
102145         Reviewed by Antti Koivisto.
102146
102147         Canvas: arc() with startAngle == endAngle shouldn't add to the path
102148         https://bugs.webkit.org/show_bug.cgi?id=41420
102149
102150         Spec link:
102151         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke
102152
102153         * html/canvas/CanvasRenderingContext2D.cpp:
102154         (WebCore::CanvasRenderingContext2D::arc):
102155
102156 2010-07-12  Shinichiro Hamaji  <hamaji@chromium.org>
102157
102158         Reviewed by Ojan Vafai.
102159
102160         Update padding on Windows?
102161         https://bugs.webkit.org/show_bug.cgi?id=38016
102162
102163         Remove internal padding and add 1px vertical padding for Windows.
102164
102165         * css/themeWin.css:
102166         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
102167         * rendering/RenderButton.cpp:
102168         (WebCore::RenderButton::setupInnerStyle):
102169         * rendering/RenderTheme.h:
102170         * rendering/RenderThemeWin.cpp:
102171         * rendering/RenderThemeWin.h:
102172         * rendering/RenderThemeWince.cpp:
102173         * rendering/RenderThemeWince.h:
102174
102175 2010-07-12  Pavel Feldman  <pfeldman@chromium.org>
102176
102177         Not reviewed. Chromium tests fix.
102178
102179         [Chromium, V8] r63057 regressed url tests.
102180
102181         https://bugs.webkit.org/show_bug.cgi?id=42063
102182
102183         * bindings/scripts/CodeGeneratorV8.pm:
102184
102185 2010-07-12  Steve Block  <steveblock@google.com>
102186
102187         Reviewed by Alexey Proskuryakov.
102188
102189         XPath substring function does not correctly handle non-positive values for the position argument
102190         https://bugs.webkit.org/show_bug.cgi?id=41913
102191
102192         This patch changes the behavior of the XPath evaluate function when a non-positive
102193         position argument is supplied and no length argument is supplied. In this case,
102194         we reset the position to 1. This follows the spec and matches the current behaviour
102195         when a length argument is supplied.
102196
102197         Test: fast/xpath/substring-non-positive-postion.html
102198
102199         * xml/XPathFunctions.cpp:
102200         (WebCore::XPath::FunSubstring::evaluate):
102201
102202 2010-06-27  Jeremy Orlow  <jorlow@chromium.org>
102203
102204         Reviewed by Dumitru Daniliuc.
102205
102206         Implement IDBObjectStore.get/set/remove
102207         https://bugs.webkit.org/show_bug.cgi?id=41250
102208
102209         Implement these functions in IDBObjectStore,
102210         add plumbing, teach IDBAny/Callbacks how to deal
102211         with IDBKey, and a few small bits of cleanup.
102212
102213         Test: Modified existing test to provide basic coverage.
102214               Will add much more extensive layout test coverage
102215               in future patches.
102216
102217         * Android.derived.jscbindings.mk:
102218         * Android.derived.v8bindings.mk:
102219         * Android.jscbindings.mk:
102220         * Android.mk:
102221         * Android.v8bindings.mk:
102222         * CMakeLists.txt:
102223         * WebCore.gypi:
102224         * WebCore.pri:
102225         * WebCore.pro:
102226         * WebCore.vcproj/WebCore.vcproj:
102227         * WebCore.xcodeproj/project.pbxproj:
102228         * bindings/js/JSIDBAnyCustom.cpp:
102229         (WebCore::toJS):
102230         * bindings/v8/custom/V8IDBAnyCustom.cpp:
102231         (WebCore::toV8):
102232         * storage/IDBAny.cpp:
102233         (WebCore::IDBAny::idbKey):
102234         (WebCore::IDBAny::set):
102235         * storage/IDBAny.h:
102236         (WebCore::IDBAny::):
102237         * storage/IDBAny.idl:
102238         * storage/IDBCallbacks.h:
102239         * storage/IDBDatabaseRequest.h:
102240         * storage/IDBDatabaseRequest.idl:
102241         * storage/IDBKeyRange.h:
102242         * storage/IDBObjectStore.h:
102243         (WebCore::IDBObjectStore::):
102244         * storage/IDBObjectStoreImpl.cpp:
102245         (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
102246         (WebCore::IDBObjectStoreImpl::get):
102247         (WebCore::IDBObjectStoreImpl::set):
102248         (WebCore::IDBObjectStoreImpl::remove):
102249         * storage/IDBObjectStoreImpl.h:
102250         * storage/IDBObjectStoreRequest.cpp:
102251         (WebCore::IDBObjectStoreRequest::get):
102252         (WebCore::IDBObjectStoreRequest::add):
102253         (WebCore::IDBObjectStoreRequest::modify):
102254         (WebCore::IDBObjectStoreRequest::addOrModify):
102255         (WebCore::IDBObjectStoreRequest::remove):
102256         * storage/IDBObjectStoreRequest.h:
102257         * storage/IDBObjectStoreRequest.idl:
102258         * storage/IDBRequest.cpp:
102259         (WebCore::IDBRequest::onSuccess):
102260         * storage/IDBRequest.h:
102261
102262 2010-07-11  Maciej Stachowiak  <mjs@apple.com>
102263
102264         Reviewed by Dan Bernstein.
102265
102266         Implement animation-related methods for WebKitTestRunner
102267         https://bugs.webkit.org/show_bug.cgi?id=42053
102268
102269         * WebCore.exp.in: Export Document::getElementById for WebKit2's benefit.
102270
102271 2010-07-11  Adam Barth  <abarth@webkit.org>
102272
102273         Rubber-stamped by Eric Seidel
102274
102275         Add a complete list of the HTML5 entities in JSON format.
102276
102277         * html/HTMLEntityNames.json: Added.
102278
102279 2010-07-11  Martin Robinson  <mrobinson@igalia.com>
102280
102281         Reviewed by Xan Lopez.
102282
102283         [GTK] WebKitWebView should support drops
102284         https://bugs.webkit.org/show_bug.cgi?id=39843
102285
102286         Add support for dropping content onto GTK+ WebViews.
102287
102288         No new tests, as the DRT does not support simulating drops yet.
102289
102290         * platform/gtk/ClipboardUtilitiesGtk.cpp:
102291         (WebCore::dragOperationToGdkDragAction): Added.
102292         (WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery.
102293         * platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction.
102294         * platform/gtk/PasteboardHelper.cpp:
102295         Add new target atom and rename the markup target type to match the others.
102296         Add a method which fills a data object from drop data.
102297         (WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms.
102298         (WebCore::selectionDataToUTF8String): Added this helper.
102299         (WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper.
102300         (WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename.
102301         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Added.
102302         (WebCore::PasteboardHelper::dropAtoms): Added.
102303         * platform/gtk/PasteboardHelper.h: Add declarations of new methods.
102304
102305 2010-07-10  Darin Adler  <darin@apple.com>
102306
102307         Reviewed by Anders Carlsson.
102308
102309         Enhance content attribute reflection for URL attributes, including adding a non-empty option
102310         https://bugs.webkit.org/show_bug.cgi?id=42040
102311
102312         Test: fast/dom/URL-attribute-reflection.html
102313
102314         Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
102315         a new option, NonEmpty, which implements the non-empty URL concept from the
102316         HTML5 specification.
102317
102318         * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
102319         extended attributes to come in separately. The URL one simply means "the string
102320         of this attribute is a URL", since we don't have a distinct type for URL. Also
102321         added a new NonEmpty extended attribute.
102322
102323         * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
102324         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
102325
102326         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
102327         and the fix I made to the reflectedCustomURLAttr test.
102328         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
102329         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
102330         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
102331         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
102332         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
102333         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
102334         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
102335         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
102336         bindig writes out the keywords into the generated file as comments, so the keyword
102337         change had a direct efffect on the output file.
102338
102339         * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
102340         the new syntax. Added test cases for NonEmpty. Fixed the name of
102341         reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
102342         instead; never noticed because we never compile the test output.
102343
102344         * dom/Element.cpp:
102345         (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
102346         by any code that wants to implement the non-empty URL content attribute semantic.
102347         * dom/Element.h: Ditto.
102348
102349         * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
102350         * html/HTMLAreaElement.idl: Ditto.
102351         * html/HTMLFrameElement.idl: Ditto.
102352         * html/HTMLImageElement.idl: Ditto.
102353         * html/HTMLInputElement.idl: Ditto.
102354         * html/HTMLLinkElement.idl: Ditto.
102355         * html/HTMLMediaElement.idl: Ditto.
102356         * html/HTMLObjectElement.idl: Ditto.
102357         * html/HTMLScriptElement.idl: Ditto.
102358         * html/HTMLVideoElement.idl: Ditto.
102359
102360 2010-07-10  Tony Gentilcore  <tonyg@chromium.org>
102361
102362         Reviewed by Darin Adler.
102363
102364         Add missing derrived sources to Xcode project
102365         https://bugs.webkit.org/show_bug.cgi?id=42034
102366
102367         This allows --web-timing to work with build-webkit on OSX with JSC.
102368         This should have been done in bug 41442.
102369
102370         No new tests because no new functionality.
102371
102372         * WebCore.xcodeproj/project.pbxproj:
102373
102374 2010-07-10  Anders Carlsson  <andersca@apple.com>
102375
102376         Reviewed by Sam Weinig.
102377
102378         Don't initialize plug-ins until allowed by the page
102379         https://bugs.webkit.org/show_bug.cgi?id=42033
102380
102381         * WebCore.exp.in:
102382         Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener.
102383
102384 2010-07-10  Sam Weinig  <sam@webkit.org>
102385
102386         Reviewed by Anders Carlsson.
102387
102388         Patch for https://bugs.webkit.org/show_bug.cgi?id=42021
102389         isEqualNode should work for DocumentType nodes
102390
102391         Test: fast/dom/Node/isEqualNode.html
102392
102393         * dom/Node.cpp:
102394         (WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec.
102395
102396 2010-07-10  Daniel Bates  <dbates@rim.com>
102397
102398         Reviewed by Adam Barth.
102399
102400         Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
102401         https://bugs.webkit.org/show_bug.cgi?id=39339
102402
102403         Moved the enum ReasonForCallingCanExecuteScripts, which was
102404         defined in both the JSC and V8 ScriptController.h file, into
102405         a shared file called ScriptControllerBase.h.
102406
102407         No functionality was changed, so no new tests.
102408
102409         * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
102410         * WebCore.gypi: Ditto.
102411         * WebCore.pro: Ditto.
102412         * WebCore.vcproj/WebCore.vcproj: Ditto.
102413         * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
102414         * WebCore.xcodeproj/project.pbxproj: Ditto.
102415         * bindings/ScriptControllerBase.h: Added.
102416         (WebCore::):
102417         * bindings/js/ScriptController.h: #include ScriptControllerBase.h
102418         * bindings/v8/ScriptController.h: Ditto.
102419
102420 2010-07-10  Dan Bernstein  <mitz@apple.com>
102421
102422         Reviewed by Anders Carlsson.
102423
102424         <rdar://problem/8153214> Continuation outlines in layers do not paint correctly
102425
102426         Test: fast/inline/continuation-outlines-with-layers-2.html
102427
102428         Continuation outlines are normally painted by the containing block. However, when the
102429         block and the inline are not enclosed by the same self-painting layer, the inline has to
102430         paint its own outlines. This was handled correctly only for the case where the inline had
102431         its own self-painting layer, but not when an ancestor inline had the self-painting layer.
102432
102433         * rendering/InlineFlowBox.cpp:
102434         (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
102435         whether any intermediate box between the inline and the containing block has a self-painting
102436         layer.
102437         * rendering/RenderBlock.cpp:
102438         (WebCore::RenderBlock::paintObject): Ditto.
102439         * rendering/RenderObject.cpp:
102440         (WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
102441         * rendering/RenderObject.h:
102442
102443 2010-07-10  François Sausset  <sausset@gmail.com>
102444
102445         Reviewed by Kenneth Rohde Christiansen.
102446
102447         Build fix: syntax and typo issues
102448         https://bugs.webkit.org/show_bug.cgi?id=41859
102449
102450         * html/HTMLTreeBuilder.cpp:
102451         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
102452         (WebCore::HTMLTreeBuilder::processStartTag):
102453
102454 2010-07-10  Eric Seidel  <eric@webkit.org>
102455
102456         Reviewed by Adam Barth.
102457
102458         HTMLTreeBuilder needs adjustForeignAttributes support
102459         https://bugs.webkit.org/show_bug.cgi?id=42022
102460
102461         To add adjust foreign attributes support I had to add an
102462         AtomicString (prefixed name) to QualifiedName hash.  Once I had
102463         done that, I decided it would be best for the other "adjust" functions
102464         to share the same hash logic, so I moved them to using the same
102465         AtomicString -> QualifiedName hash as well.
102466
102467         Tested by html5lib/runner.html
102468
102469         * dom/Attribute.h:
102470         (WebCore::Attribute::parserSetName):
102471         * html/HTMLTreeBuilder.cpp:
102472
102473 2010-07-10  Rob Buis  <rwlbuis@gmail.com>
102474
102475         Reviewed by Darin Adler.
102476
102477         https://bugs.webkit.org/show_bug.cgi?id=41978
102478         Remove namespace prefixes from idl files
102479
102480         No new tests, idl syntax fixes.
102481
102482         * css/CSSImportRule.idl:
102483         * css/CSSMediaRule.idl:
102484         * css/CSSStyleSheet.idl:
102485         * css/CSSVariablesRule.idl:
102486         * svg/SVGAnimatedString.idl:
102487         * svg/SVGColor.idl:
102488         * svg/SVGDocument.idl:
102489         * svg/SVGLangSpace.idl:
102490         * svg/SVGSVGElement.idl:
102491         * svg/SVGStringList.idl:
102492         * svg/SVGStylable.idl:
102493         * svg/SVGStyleElement.idl:
102494         * svg/SVGTests.idl:
102495         * svg/SVGZoomEvent.idl:
102496         * xml/XPathEvaluator.idl:
102497
102498 2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
102499
102500         Unreviewed, GTK build fix.
102501
102502         * bindings/gobject/GObjectEventListener.h:
102503
102504 2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
102505
102506         Reviewed by Darin Adler.
102507
102508         Remove unnecessary includes in header files in WebCore/dom.
102509         https://bugs.webkit.org/show_bug.cgi?id=41941
102510
102511         * css/StyleMedia.h:
102512         * dom/BeforeLoadEvent.h:
102513         * dom/CustomEvent.h:
102514         * dom/DOMStringMap.h:
102515         * dom/DeviceOrientationEvent.h:
102516         * dom/EventListener.h:
102517         * dom/MessagePort.h:
102518         * dom/Node.cpp:
102519         * dom/NodeFilter.h:
102520         * dom/NodeRareData.h:
102521         * dom/RegisteredEventListener.h:
102522         * dom/SelectorNodeList.cpp:
102523         * dom/SelectorNodeList.h:
102524         * dom/StyleElement.h:
102525         * dom/Traversal.h:
102526
102527 2010-07-09  Tony Chang  <tony@chromium.org>
102528
102529         Reviewed by Ojan Vafai.
102530
102531         crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre
102532         https://bugs.webkit.org/show_bug.cgi?id=38231
102533
102534         Test: editing/execCommand/indent-pre.html
102535
102536         * editing/IndentOutdentCommand.cpp:
102537         (WebCore::countParagraphs):
102538         (WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph
102539                                                        so moveParagraph doesn't get confused.
102540         (WebCore::IndentOutdentCommand::splitTextNodes):
102541         * editing/IndentOutdentCommand.h:
102542
102543 2010-07-09  Erik Arvidsson  <arv@chromium.org>
102544
102545         Reviewed by Darin Adler.
102546
102547         Computed style is not implemented for padding-start, padding-end, margin-start, margin-end
102548         https://bugs.webkit.org/show_bug.cgi?id=41496
102549
102550         * css/CSSComputedStyleDeclaration.cpp:
102551         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
102552         * css/CSSProperty.cpp:
102553         (WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property.
102554         * css/CSSProperty.h:
102555         * css/CSSStyleSelector.cpp: Use helper function.
102556         (WebCore::CSSStyleSelector::applyProperty):
102557
102558 2010-07-09  Adam Barth  <abarth@webkit.org>
102559
102560         Reviewed by Eric Seidel.
102561
102562         HTML5 tree builder should pass some LayoutTests
102563         https://bugs.webkit.org/show_bug.cgi?id=41991
102564
102565         Before this patch, we weren't attaching text nodes to the render tree,
102566         which turns out to be important.  :)
102567
102568         This patch fixes more than 10,000 LayoutTests.
102569
102570         * html/HTMLConstructionSite.cpp:
102571         (WebCore::HTMLConstructionSite::attach):
102572         (WebCore::HTMLConstructionSite::attachAtSite):
102573
102574 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
102575
102576         Reviewed by Darin Adler.
102577
102578         [WINCE] Buildfix for TextEncodingRegistry
102579         https://bugs.webkit.org/show_bug.cgi?id=41992
102580
102581         Renamed TextCodecWince to TextCodecWinCE.
102582
102583         * platform/text/TextEncodingRegistry.cpp:
102584         (WebCore::buildBaseTextCodecMaps):
102585         (WebCore::extendTextCodecMaps):
102586
102587 2010-07-09  Leon Clarke  <leonclarke@google.com>
102588
102589         Reviewed by Adam Barth.
102590
102591         add support for link prefetching
102592         https://bugs.webkit.org/show_bug.cgi?id=3652
102593
102594         Test: fast/dom/HTMLLinkElement/prefetch.html
102595
102596         * Configurations/FeatureDefines.xcconfig:
102597         * html/HTMLLinkElement.cpp:
102598         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
102599         (WebCore::HTMLLinkElement::process):
102600         * html/HTMLLinkElement.h:
102601         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
102602         * loader/Cache.cpp:
102603         (WebCore::createResource):
102604         * loader/CachedResource.cpp:
102605         (WebCore::CachedResource::data):
102606         (WebCore::CachedResource::didAddClient):
102607         * loader/CachedResource.h:
102608         (WebCore::CachedResource::):
102609         (WebCore::CachedResource::error):
102610         (WebCore::CachedResource::isPrefetch):
102611         (WebCore::CachedResource::schedule):
102612         * loader/CachedScript.cpp:
102613         * loader/CachedScript.h:
102614         * loader/DocLoader.cpp:
102615         (WebCore::DocLoader::requestLinkPrefetch):
102616         (WebCore::DocLoader::canRequest):
102617         (WebCore::DocLoader::incrementRequestCount):
102618         (WebCore::DocLoader::decrementRequestCount):
102619         * loader/DocLoader.h:
102620         * loader/loader.cpp:
102621         (WebCore::cachedResourceTypeToTargetType):
102622         (WebCore::Loader::determinePriority):
102623         (WebCore::Loader::load):
102624         (WebCore::Loader::Host::servePendingRequests):
102625         (WebCore::Loader::Host::didFinishLoading):
102626         (WebCore::Loader::Host::didFail):
102627         (WebCore::Loader::Host::didReceiveResponse):
102628         (WebCore::Loader::Host::cancelPendingRequests):
102629         * loader/loader.h:
102630         (WebCore::Loader::):
102631         * platform/network/ResourceRequestBase.h:
102632         (WebCore::ResourceRequestBase::):
102633
102634 2010-07-09  James Robinson  <jamesr@chromium.org>
102635
102636         Unreviewed build fix.  Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly.
102637
102638         * html/HTMLCanvasElement.cpp:
102639
102640 2010-07-09  James Robinson  <jamesr@chromium.org>
102641
102642         Reviewed by Darin Adler.
102643
102644         Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement.
102645         https://bugs.webkit.org/show_bug.cgi?id=42005
102646
102647         http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface.
102648         The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas.  However,
102649         there is no OffscreenCanvas and there's unlikely to be one soon.  Additionally CanvasSurface breaks
102650         encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)".  Until an abstraction is
102651         really needed we should just use HTMLCanvasElement when we want to talk about a canvas.
102652
102653         This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header
102654         to be a bit more logical.
102655
102656         Refactor with no behavior change, thus no new tests.
102657
102658         * CMakeLists.txt:
102659         * GNUmakefile.am:
102660         * WebCore.gypi:
102661         * WebCore.pro:
102662         * WebCore.vcproj/WebCore.vcproj:
102663         * WebCore.xcodeproj/project.pbxproj:
102664         * dom/CanvasSurface.cpp: Removed.
102665         * dom/CanvasSurface.h: Removed.
102666         * html/HTMLCanvasElement.cpp:
102667         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
102668         (WebCore::HTMLCanvasElement::willDraw):
102669         (WebCore::HTMLCanvasElement::setSurfaceSize):
102670         (WebCore::HTMLCanvasElement::toDataURL):
102671         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
102672         (WebCore::HTMLCanvasElement::securityOrigin):
102673         (WebCore::HTMLCanvasElement::styleSelector):
102674         (WebCore::HTMLCanvasElement::createImageBuffer):
102675         (WebCore::HTMLCanvasElement::drawingContext):
102676         (WebCore::HTMLCanvasElement::buffer):
102677         (WebCore::HTMLCanvasElement::baseTransform):
102678         * html/HTMLCanvasElement.h:
102679         (WebCore::HTMLCanvasElement::setObserver):
102680         (WebCore::HTMLCanvasElement::width):
102681         (WebCore::HTMLCanvasElement::height):
102682         (WebCore::HTMLCanvasElement::size):
102683         (WebCore::HTMLCanvasElement::toDataURL):
102684         (WebCore::HTMLCanvasElement::setOriginTainted):
102685         (WebCore::HTMLCanvasElement::originClean):
102686         (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
102687
102688 2010-07-09  Simon Fraser  <simon.fraser@apple.com>
102689
102690         Reviewed by Darin Adler.
102691
102692         Calling layoutTestController.layerTreeAsText() should update layout
102693         https://bugs.webkit.org/show_bug.cgi?id=41818
102694         
102695         Need to call updateLayout() before we check for any layers, not after,
102696         since layout will update compositing, and may create layers.
102697
102698         * page/Frame.cpp:
102699         (WebCore::Frame::layerTreeAsText):
102700
102701 2010-07-09  Kenneth Russell  <kbr@google.com>
102702
102703         Reviewed by Nate Chapin.
102704
102705         bufferSubData causes crash in WebGLBuffer::associateBufferSubData
102706         https://bugs.webkit.org/show_bug.cgi?id=42004
102707
102708         Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html
102709
102710         * html/canvas/WebGLBuffer.cpp:
102711         (WebCore::WebGLBuffer::associateBufferData):
102712          - Allocate m_elementArrayBuffer for entry point taking only size.
102713            Guard against allocation failures of m_elementArrayBuffer.
102714         (WebCore::WebGLBuffer::associateBufferSubData):
102715          - Guard against any possibility of crashes due to m_elementArrayBuffer being NULL.
102716
102717 2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
102718
102719         Unreviewed, but pre-approved by Eric Seidel.
102720
102721         Remove unnecessary includes in header files in WebCore/css.
102722         https://bugs.webkit.org/show_bug.cgi?id=41941
102723
102724         * css/CSSComputedStyleDeclaration.h:
102725         * css/CSSFontFaceSource.cpp:
102726         (WebCore::CSSFontFaceSource::getFontData):
102727         * css/CSSFontFaceSource.h:
102728         * css/CSSPrimitiveValueMappings.h:
102729         * css/StyleMedia.h:
102730
102731 2010-07-09  Eric Seidel  <eric@webkit.org>
102732
102733         Reviewed by Adam Barth.
102734
102735         Get rid of manual case maps in HTMLTreeBuilder
102736         https://bugs.webkit.org/show_bug.cgi?id=42000
102737
102738         No functional change, thus no tests.
102739
102740         * html/HTMLTreeBuilder.cpp:
102741
102742 2010-07-09  Tony Gentilcore  <tonyg@chromium.org>
102743
102744         Reviewed by Dimitri Glazkov.
102745
102746         Implement performance.timing.navigationStart
102747         https://bugs.webkit.org/show_bug.cgi?id=41815
102748
102749         See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start
102750
102751         * loader/FrameLoader.cpp:
102752         (WebCore::FrameLoader::loadWithDocumentLoader):
102753         * loader/FrameLoaderTypes.h:
102754         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
102755         * page/Timing.cpp:
102756         (WebCore::Timing::navigationStart):
102757
102758 2010-07-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
102759
102760         Reviewed by Kenneth Rohde Christiansen.
102761
102762         [Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented
102763         https://bugs.webkit.org/show_bug.cgi?id=41954
102764
102765         Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive
102766         implementation of GraphicsLayerQt::syncCompositingState and which targets
102767         the current layer only.
102768
102769         * platform/graphics/qt/GraphicsLayerQt.cpp:
102770         (WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly):
102771         * platform/graphics/qt/GraphicsLayerQt.h:
102772
102773 2010-07-09  David Kozub  <zub@linux.fjfi.cvut.cz>
102774
102775         Reviewed by Darin Adler.
102776
102777         Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt.
102778
102779         https://bugs.webkit.org/show_bug.cgi?id=41945
102780
102781         No functional changes, thus no tests.
102782
102783         * CMakeLists.txt:
102784
102785 2010-07-09  Eric Seidel  <eric@webkit.org>
102786
102787         Reviewed by Adam Barth.
102788
102789         Fix SVG tag name casing for HTMLTreeBuilder
102790         https://bugs.webkit.org/show_bug.cgi?id=41998
102791
102792         Tested by html5lib/runner.html
102793
102794         * html/HTMLTreeBuilder.cpp:
102795         (WebCore::):
102796
102797 2010-07-09  Eric Seidel  <eric@webkit.org>
102798
102799         Reviewed by Adam Barth.
102800
102801         Implement SVG attribute case mapping for HTMLTreeBuilder
102802         https://bugs.webkit.org/show_bug.cgi?id=41949
102803
102804         Tested by html5lib/runner.html.
102805
102806         * html/HTMLTreeBuilder.cpp:
102807
102808 2010-07-09  Andy Estes  <aestes@apple.com>
102809
102810         Reviewed by Adele Peterson.
102811
102812         Remove the workaround for a Core Animation bug on platforms where the
102813         bug has been fixed.
102814         https://bugs.webkit.org/show_bug.cgi?id=41927
102815         <rdar://problem/7920153>
102816
102817         * platform/graphics/mac/GraphicsLayerCA.mm:
102818         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add
102819         a compile-time check for platforms that have a Core Animation bug that
102820         needs working around.
102821
102822 2010-07-08  Tony Gentilcore  <tonyg@chromium.org>
102823
102824         Reviewed by Nate Chapin.
102825
102826         Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing
102827         https://bugs.webkit.org/show_bug.cgi?id=41332
102828
102829         Test: fast/dom/webtiming.html
102830
102831         * loader/FrameLoader.cpp:
102832         (WebCore::FrameLoader::stopLoading):
102833         (WebCore::FrameLoader::loadWithDocumentLoader):
102834         * loader/FrameLoader.h:
102835         (WebCore::FrameLoader::frameLoadTimeline):
102836         * loader/FrameLoaderTypes.h:
102837         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
102838         * page/DOMWindow.cpp:
102839         (WebCore::DOMWindow::dispatchLoadEvent):
102840         * page/Timing.cpp:
102841         (WebCore::Timing::navigationStart):
102842         (WebCore::Timing::unloadEventEnd):
102843         (WebCore::Timing::loadEventStart):
102844         (WebCore::Timing::loadEventEnd):
102845         * page/Timing.h:
102846         * page/Timing.idl:
102847
102848 2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
102849
102850         Unreviewed, but pre-approved by Eric Seidel.
102851
102852         Remove all unnecessary includes from the header files in WebCore/accessibility/.
102853         https://bugs.webkit.org/show_bug.cgi?id=41941
102854
102855         * accessibility/AXObjectCache.h:
102856         * accessibility/AccessibilityListBox.cpp:
102857         * accessibility/AccessibilityListBox.h:
102858         * accessibility/AccessibilityMenuList.h:
102859         * accessibility/mac/AccessibilityObjectWrapper.h:
102860
102861 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
102862
102863         Reviewed by Kent Tamura.
102864
102865         [WINCE] Buildfix for EventHandlerWin
102866         https://bugs.webkit.org/show_bug.cgi?id=41909
102867
102868         Use Clipboard.h instead of ClipboardWin.h on WinCE.
102869
102870         * page/win/EventHandlerWin.cpp:
102871
102872 2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
102873
102874         Unreviewed, rolling out r62946.
102875         http://trac.webkit.org/changeset/62946
102876         https://bugs.webkit.org/show_bug.cgi?id=41965
102877
102878         AppCache inspector support should be enabled in WebKit ToT.
102879         (Requested by pfeldman_ on #webkit).
102880
102881         * inspector/front-end/StoragePanel.js:
102882         (WebInspector.StoragePanel):
102883         (WebInspector.StoragePanel.prototype.reset):
102884         (WebInspector.StoragePanel.prototype.addApplicationCache):
102885
102886 2010-07-09  François Sausset  <sausset@gmail.com>
102887
102888         Reviewed by Kenneth Rohde Christiansen.
102889
102890         Implement MathML mathcolor & mathbackground attributes
102891         https://bugs.webkit.org/show_bug.cgi?id=41895
102892
102893         Test: mathml/presentation/attributes.xhtml
102894
102895         * dom/MappedAttributeEntry.h:
102896         (WebCore::):
102897         * mathml/MathMLElement.cpp:
102898         (WebCore::MathMLElement::MathMLElement):
102899         (WebCore::MathMLElement::mapToEntry):
102900         (WebCore::MathMLElement::parseMappedAttribute):
102901         * mathml/MathMLElement.h:
102902         * mathml/mathattrs.in:
102903
102904 2010-07-09  Xiaomei Ji  <xji@chromium.org>
102905
102906         Reviewed by David Levin.
102907
102908         Fix characters with unicode-bidi-mirror property are not correctly
102909         mirrored in Linux.
102910         https://bugs.webkit.org/show_bug.cgi?id=41305
102911
102912         Since harfbuzz does not do mirroring, chromium should iterate each
102913         character in the string and mirror it if needed before passing the
102914         string to harfbuzz for shaping.
102915
102916         Test: fast/text/international/bidi-mirror-he-ar.html
102917
102918         * platform/graphics/chromium/FontLinux.cpp:
102919         (WebCore::TextRunWalker::TextRunWalker):
102920         (WebCore::TextRunWalker::~TextRunWalker):
102921         (WebCore::TextRunWalker::mirrorCharacters):
102922
102923
102924 2010-07-09  Anders Carlsson  <andersca@apple.com>
102925
102926         Reviewed by Simon Fraser.
102927
102928         Instantiate Netscape plug-ins, pass geometry information to Plugin
102929         https://bugs.webkit.org/show_bug.cgi?id=41960
102930
102931         * WebCore.exp.in:
102932         Export ScrollView::contentsToWindow.
102933
102934 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
102935
102936         Reviewed by Kent Tamura.
102937
102938         [WINCE] Buildfix for FrameWince after r47440
102939         https://bugs.webkit.org/show_bug.cgi?id=41904
102940
102941         * page/wince/FrameWince.cpp: Added property svn:eol-style.
102942         (WebCore::computePageRectsForFrame):
102943         (WebCore::imageFromSelection):
102944
102945 2010-07-09  Vitaly Repeshko  <vitalyr@chromium.org>
102946
102947         Reviewed by Pavel Feldman.
102948
102949         [v8] Call JS gc in a fresh context to avoid retaining the current one.
102950         https://bugs.webkit.org/show_bug.cgi?id=41963
102951         http://crbug.com/46571
102952
102953         * bindings/v8/ScriptController.cpp:
102954         (WebCore::ScriptController::collectGarbage):
102955
102956 2010-07-09  Kenneth Russell  <kbr@google.com>
102957
102958         Reviewed by Dimitri Glazkov.
102959
102960         Crash with uniform array test
102961         https://bugs.webkit.org/show_bug.cgi?id=36028
102962
102963         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
102964         (WebCore::vertexAttribAndUniformHelperf):
102965         (WebCore::uniformHelperi):
102966         (WebCore::uniformMatrixHelper):
102967          - Fixed type tests and casting of incoming arrays.
102968         * html/canvas/WebGLRenderingContext.cpp:
102969         (WebCore::WebGLRenderingContext::getUniform):
102970          - Fixed crash when null WebGLUniform is passed to getUniform.
102971
102972 2010-07-09  Chris Fleizach  <cfleizach@apple.com>
102973
102974         Reviewed by Darin Adler.
102975
102976         AX:  text editing not spoken by VO on web view contenteditable textbox
102977         https://bugs.webkit.org/show_bug.cgi?id=41912
102978
102979         Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html
102980
102981         * accessibility/AccessibilityRenderObject.cpp:
102982         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
102983
102984 2010-07-09  Michael Nordman  <michaeln@google.com>
102985
102986         Reviewed by Dumitru Daniliuc.
102987
102988         Use class ProgressEvent when raising appcache related progress events and
102989         set the 'total', 'loaded', and 'lengthComputable' attributes.
102990         Also raise the final progress event with the 'total' and 'loaded' attribute
102991         values are equal to one another to keep pace with the spec for this feature.
102992         https://bugs.webkit.org/show_bug.cgi?id=37602
102993
102994         Test: http/tests/appcache/progress-counter.html
102995
102996         * loader/appcache/ApplicationCacheGroup.cpp:
102997         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
102998         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
102999         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
103000         (WebCore::ApplicationCacheGroup::startLoadingEntry):
103001         (WebCore::CallCacheListenerTask::create):
103002         (WebCore::CallCacheListenerTask::performTask):
103003         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
103004         (WebCore::ApplicationCacheGroup::postListenerTask):
103005         * loader/appcache/ApplicationCacheGroup.h:
103006         (WebCore::ApplicationCacheGroup::postListenerTask):
103007         * loader/appcache/ApplicationCacheHost.cpp:
103008         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
103009         (WebCore::ApplicationCacheHost::stopDeferringEvents):
103010         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
103011         * loader/appcache/ApplicationCacheHost.h:
103012         (WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent):
103013
103014 2010-07-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
103015
103016         Reviewed by Gustavo Noronha Silva.
103017
103018         Bug 41340 - [GStreamer] Subtle race condition during seeks
103019         https://bugs.webkit.org/show_bug.cgi?id=41340
103020
103021         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
103022         (webKitWebSrcStop):
103023         (webKitWebSrcNeedDataMainCb):
103024         (webKitWebSrcNeedDataCb):
103025         (webKitWebSrcEnoughDataMainCb):
103026         (webKitWebSrcEnoughDataCb):
103027         (webKitWebSrcSeekDataCb):
103028         (StreamingClient::didFinishLoading):
103029         Fix two subtle race conditions that can happen during seeks:
103030         - The timeout callback could be called before the callback ID is
103031           assigned to the instance private data. This causes the ID to
103032           be set after the callback has finished and breaks all future
103033           processing.
103034         - The source must not go EOS while a seek is pending because
103035           this confuses appsrc due to the different threads involved here.
103036
103037 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
103038
103039         Reviewed by Tor Arne Vestbø.
103040
103041         [Qt] Removed hard-coded enabled default of video support
103042
103043         Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.
103044
103045         * WebCore.pri:
103046
103047 2010-07-09  Ben Murdoch  <benm@google.com>
103048
103049         Reviewed by Steve Block.
103050
103051         [Arm] Missing NaN check in XPath substring function
103052         https://bugs.webkit.org/show_bug.cgi?id=41862
103053
103054         Test: fast/xpath/substring-nan-position.html
103055
103056         * xml/XPathFunctions.cpp:
103057         (WebCore::XPath::FunSubstring::evaluate): Add an isnan()
103058             to the value returned from evaluating the position
103059             argument and early out and return the empty string.
103060
103061 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
103062
103063         Reviewed by Tor Arne Vestbø.
103064
103065         [Qt] Prospective build fix.
103066
103067         Moved the media element detection from WebCore.pro into WebCore.pri, where
103068         all the features are detected. This is also used by build-webkit to determine
103069         the defaults, which may be the reason for the build breakage.
103070
103071         * WebCore.pri:
103072         * WebCore.pro:
103073
103074 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
103075
103076         Reviewed by Tor Arne Vestbø.
103077
103078         [Qt] Re-enable support for QtMultimediaKit as backend for the media elements
103079
103080         Experimental support is re-enabled if QtMobility is available and the Qt
103081         version is 4.7 or above.
103082
103083         * WebCore.pro:
103084         * platform/graphics/MediaPlayer.cpp:
103085         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
103086         (WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes.
103087         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
103088         (WebCore::MediaPlayerPrivate::totalBytes):
103089
103090 2010-07-09  Pavel Feldman  <pfeldman@chromium.org>
103091
103092         Reviewed by Yury Semikhatsky.
103093
103094         Web Inspector: do not show default tooltip when detailed network info is available.
103095
103096         https://bugs.webkit.org/show_bug.cgi?id=41957
103097
103098         * English.lproj/localizedStrings.js:
103099         * inspector/front-end/ResourcesPanel.js:
103100         (WebInspector.ResourcesPanel):
103101         (WebInspector.ResourcesPanel.prototype.reset):
103102         (WebInspector.ResourcesPanel.prototype.showResource):
103103         (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
103104         (WebInspector.ResourcesPanel.prototype._showPopover):
103105         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
103106
103107 2010-07-09  François Sausset  <sausset@gmail.com>
103108
103109         Reviewed by Beth Dakin.
103110
103111         Correct the default font variant of mtext (regular instead of italic).
103112         https://bugs.webkit.org/show_bug.cgi?id=41626
103113
103114         Add test to be sure that only <mi> elements use italic fonts by default.
103115         Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic).
103116
103117         * css/mathml.css:
103118         (mi):
103119
103120 2010-07-09  Tony Gentilcore  <tonyg@chromium.org>
103121
103122         Reviewed by Dimitri Glazkov.
103123
103124         Implement performance.navigation.type
103125         https://bugs.webkit.org/show_bug.cgi?id=41564
103126
103127         Tests: fast/dom/navigation-type-back-forward.html
103128                fast/dom/navigation-type-navigate.html
103129                fast/dom/navigation-type-reload.html
103130
103131         * page/Navigation.cpp:
103132         (WebCore::Navigation::type):
103133         * page/Navigation.h:
103134         (WebCore::Navigation::):
103135         * page/Navigation.idl:
103136
103137 2010-07-09  Pavel Feldman  <pfeldman@chromium.org>
103138
103139         Reviewed by Yury Semikhatsky.
103140
103141         Web Inspector: hide AppCache until implemented.
103142
103143         https://bugs.webkit.org/show_bug.cgi?id=41858
103144
103145         * inspector/front-end/StoragePanel.js:
103146         (WebInspector.StoragePanel):
103147         (WebInspector.StoragePanel.prototype.reset):
103148         (WebInspector.StoragePanel.prototype.addApplicationCache):
103149
103150 2010-07-09  François Sausset  <sausset@gmail.com>
103151
103152         Reviewed by Kenneth Rohde Christiansen.
103153
103154         Set the good default behaviour for the columalign attribute on MathML mtable element
103155         https://bugs.webkit.org/show_bug.cgi?id=41631
103156
103157         Test update: mathml/tables.xhtml
103158
103159         * css/mathml.css:
103160         (math):
103161
103162 2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
103163
103164         Unreviewed, rolling out r62937.
103165         http://trac.webkit.org/changeset/62937
103166         https://bugs.webkit.org/show_bug.cgi?id=41955
103167
103168         Crashes SnowLeopard leaks and Windows debug bot in fast/xsl
103169         /xslt-relative-path.xml, with assertion in
103170         XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on
103171         #webkit).
103172
103173         * xml/XSLTProcessor.h:
103174         (WebCore::XSLTProcessor::XSLTProcessor):
103175         * xml/XSLTProcessorLibxslt.cpp:
103176         (WebCore::docLoaderFunc):
103177         (WebCore::setXSLTLoadCallBack):
103178         (WebCore::xsltStylesheetPointer):
103179         (WebCore::XSLTProcessor::transformToString):
103180
103181 2010-07-09  Yael Aharon  <yael.aharon@nokia.com>
103182
103183         Reviewed by Laszlo Gombos.
103184
103185         NotificationPresenter needs a cancelRequestPermission API
103186         https://bugs.webkit.org/show_bug.cgi?id=41783
103187
103188         Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin.
103189         Added new API NotificationPresenter::cancelRequestsForPermision
103190         The new API will be implemented and a test will be added in a followup patch.
103191
103192         * notifications/Notification.cpp:
103193         (WebCore::Notification::Notification):
103194         * notifications/NotificationCenter.cpp:
103195         (WebCore::NotificationCenter::checkPermission):
103196         (WebCore::NotificationCenter::requestPermission):
103197         (WebCore::NotificationCenter::disconnectFrame):
103198         * notifications/NotificationCenter.h:
103199         * notifications/NotificationPresenter.h:
103200
103201 2010-07-09  Andreas Wictor  <andreas.wictor@xcerion.com>
103202
103203         Reviewed by Alexey Proskuryakov.
103204
103205         Remove global variables from XSLTProcessorLibxslt.cpp
103206         https://bugs.webkit.org/show_bug.cgi?id=41348
103207
103208         Remove the globalProcessor and globalDocLoader global variables
103209         by using the _private field that exists on most libxml structs.
103210
103211         No new tests, existing tests covers this.
103212
103213         * xml/XSLTProcessor.h:
103214         (WebCore::XSLTProcessor::sourceNode):
103215         (WebCore::XSLTProcessor::XSLTProcessor):
103216         * xml/XSLTProcessorLibxslt.cpp:
103217         (WebCore::registeredXSLTProcessors):
103218         (WebCore::registeredXSLStyleSheets):
103219         (WebCore::docLoaderFunc):
103220         (WebCore::clearSavedStyleSheetPointers):
103221         (WebCore::xsltStylesheetPointer):
103222         (WebCore::XSLTProcessor::transformToString):
103223
103224 2010-07-09  Adam Barth  <abarth@webkit.org>
103225
103226         Unreviewed build fix.
103227
103228         We recently taught the HTMLTokenizer to recognize self-closing tags,
103229         <http://trac.webkit.org/changeset/62926>, but that confused the
103230         LegacyHTMLTreeBuilder.  It turns out that it's much happier if we never
103231         say a tag is self-closing.
103232
103233         * html/HTMLTreeBuilder.cpp:
103234         (WebCore::convertToOldStyle):
103235
103236 2010-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
103237
103238         Reviewed by Rob Buis.
103239
103240         svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes
103241         https://bugs.webkit.org/show_bug.cgi?id=41931
103242
103243         Be careful to not mutate (marking it for recreation) the shadow tree, while building it.
103244         The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem.
103245
103246         Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml.
103247
103248         * svg/SVGUseElement.cpp:
103249         (WebCore::SVGUseElement::SVGUseElement):
103250         (WebCore::SVGUseElement::recalcStyle):
103251         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
103252         (WebCore::SVGUseElement::invalidateShadowTree):
103253         * svg/SVGUseElement.h:
103254         (WebCore::SVGUseElement::setUpdatesBlocked):
103255
103256 2010-07-09  Adam Barth  <abarth@webkit.org>
103257
103258         Reviewed by Eric Seidel.
103259
103260         Skip leading newlines in <textarea>
103261         https://bugs.webkit.org/show_bug.cgi?id=41947
103262
103263         We would have caught this earlier with the ASSERT.
103264
103265         * html/HTMLTokenizer.cpp:
103266         (WebCore::HTMLTokenizer::nextToken):
103267
103268 2010-07-08  Pavel Feldman  <pfeldman@chromium.org>
103269
103270         Reviewed by Yury Semikhatsky.
103271
103272         Web Inspector: Provide detailed network info in the resources panel.
103273
103274         https://bugs.webkit.org/show_bug.cgi?id=40227
103275
103276         * English.lproj/localizedStrings.js:
103277         * inspector/InspectorController.cpp:
103278         (WebCore::InspectorController::willSendRequest):
103279         (WebCore::InspectorController::didReceiveResponse):
103280         * inspector/InspectorController.h:
103281         * inspector/InspectorResource.cpp:
103282         (WebCore::InspectorResource::InspectorResource):
103283         (WebCore::InspectorResource::updateResponse):
103284         (WebCore::InspectorResource::updateScriptObject):
103285         (WebCore::InspectorResource::buildObjectForTiming):
103286         * inspector/InspectorResource.h:
103287         * inspector/front-end/ResourcesPanel.js:
103288         (WebInspector.ResourcesPanel):
103289         (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
103290         (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
103291         (WebInspector.ResourcesPanel.prototype._showPopover):
103292         (WebInspector.ResourcesPanel.prototype.hide):
103293         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
103294         (WebInspector.ResourceGraph):
103295         * inspector/front-end/inspector.js:
103296         (WebInspector.updateResource):
103297         * platform/network/ResourceLoadTiming.h:
103298         (WebCore::ResourceLoadTiming::create):
103299         (WebCore::ResourceLoadTiming::deepCopy):
103300         (WebCore::ResourceLoadTiming::operator==):
103301         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
103302         * platform/network/ResourceRequestBase.h:
103303         (WebCore::ResourceRequestBase::reportLoadTiming):
103304         (WebCore::ResourceRequestBase::setReportLoadTiming):
103305         (WebCore::ResourceRequestBase::ResourceRequestBase):
103306         * platform/network/ResourceResponseBase.cpp:
103307         (WebCore::ResourceResponseBase::connectionID):
103308         (WebCore::ResourceResponseBase::setConnectionID):
103309         * platform/network/ResourceResponseBase.h:
103310
103311 2010-07-09  Eric Seidel  <eric@webkit.org>
103312
103313         Reviewed by Adam Barth.
103314
103315         Implement self closing start tag state in the tokenizer
103316         https://bugs.webkit.org/show_bug.cgi?id=41946
103317
103318         Amazingly we got this far w/o needing self closing.
103319         The LegacyHTMLTreeBuilder clearly uses the self-closing
103320         state, but the fact that we never exposed it seems to
103321         not have caused any test failures.  Sad.
103322
103323         The new HTMLTreeBuilder only needs the self closing state
103324         for foreign content mode (and a few parse error cases).
103325
103326         * html/HTMLToken.h:
103327         (WebCore::HTMLToken::setSelfClosing):
103328         * html/HTMLTokenizer.cpp:
103329         (WebCore::HTMLTokenizer::nextToken):
103330         * html/HTMLTreeBuilder.cpp:
103331         (WebCore::):
103332
103333 2010-07-09  Eric Seidel  <eric@webkit.org>
103334
103335         Reviewed by Adam Barth.
103336
103337         Add basic "in foreign content" support to the TreeBuilder
103338         https://bugs.webkit.org/show_bug.cgi?id=41943
103339
103340         This is covered by numerous tests in html5lib/runner.html.
103341
103342         "in foreign content" mode requires us to be able to process
103343         tokens using the "secondary insertion mode".  We have to set
103344         a fake insertion mode to do that, so much of this code is enabling
103345         setting of fake insertion modes, and then later restoration of the
103346         insertion mode after execution.
103347
103348         There is a lot more of foreign content mode to implement, but this is
103349         a good start resulting in huge test progressions.
103350
103351         * html/HTMLConstructionSite.cpp:
103352         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
103353          - Use createHTMLElementAndAttachToCurrent instead of copy/paste code.
103354          - No need to include HTMLElementFactory in this file.
103355         * html/HTMLConstructionSite.h:
103356          - RedirectToFosterParentGuard does not need to be a friend class.
103357         * html/HTMLElementStack.cpp:
103358         (WebCore::HTMLElementStack::isOnlyHTMLElementsInScope):
103359         * html/HTMLElementStack.h:
103360         * html/HTMLTreeBuilder.cpp:
103361         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103362         (WebCore::):
103363         * html/HTMLTreeBuilder.h:
103364         (WebCore::HTMLTreeBuilder::setInsertionMode):
103365         (WebCore::HTMLTreeBuilder::isFakeInsertionMode):
103366         (WebCore::HTMLTreeBuilder::setFakeInsertionMode):
103367
103368 2010-07-09  Adam Barth  <abarth@webkit.org>
103369
103370         Reviewed by Eric Seidel.
103371
103372         Coalesce text nodes when foster parenting
103373         https://bugs.webkit.org/show_bug.cgi?id=41921
103374
103375         Introduces the notion of an AttachmentSite to the overall
103376         HTMLConstructionSite.  Maybe we should rename HTMLConstructionSite to
103377         HTMLConstructionArea since we construct things all over the tree?  :)
103378
103379         There's something wrong in the internal layering in this class, but I
103380         can't quite see what it is.  I added a FIXME for the some of the
103381         symptoms.
103382
103383         * html/HTMLConstructionSite.cpp:
103384         (WebCore::HTMLConstructionSite::attach):
103385         (WebCore::HTMLConstructionSite::attachAtSite):
103386         (WebCore::HTMLConstructionSite::insertTextNode):
103387         (WebCore::HTMLConstructionSite::findFosterSite):
103388         (WebCore::HTMLConstructionSite::fosterParent):
103389         * html/HTMLConstructionSite.h:
103390
103391 2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
103392
103393         Reviewed by Dirk Schulze.
103394
103395         RenderSVGRoot does not include border/padding while repainting
103396         https://bugs.webkit.org/show_bug.cgi?id=41854
103397
103398         RenderSVGRoot does not include border/padding in the repaint rect.
103399         clippedOverflowRectForRepaint() was missing. Affects all DRT results,
103400         as <svg> now gets properly sized.
103401
103402         Test: svg/custom/repaint-moving-svg-and-div.xhtml
103403
103404         * rendering/RenderSVGRoot.cpp:
103405         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
103406         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
103407         * rendering/RenderSVGRoot.h:
103408
103409 2010-07-09  Albert J. Wong  <ajwong@chromium.org>
103410
103411         Reviewed by Nikolas Zimmermann.
103412
103413         Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880
103414
103415         https://bugs.webkit.org/show_bug.cgi?id=41935
103416
103417         * bindings/generic/RuntimeEnabledFeatures.cpp:
103418         (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
103419                 Add in timeRangesEnabled() implementation.
103420         * bindings/generic/RuntimeEnabledFeatures.h:
103421                 Add in timeRangesEnabled() declaration.
103422
103423
103424 2010-07-09  Eric Seidel  <eric@webkit.org>
103425
103426         Reviewed by Adam Barth.
103427
103428         Add setInsertionMode setter in preparation for "in foreign content" mode
103429         https://bugs.webkit.org/show_bug.cgi?id=41942
103430
103431         "in foreign content" mode needs to be able to use a fake
103432         insertion mode for processing.  We need to be able to save the
103433         original insertion mode, set a fake one, and then restore the original
103434         if it wasn't changed.  To detect changes, we need all callsites to
103435         use a setInsertionMode accessor instead of m_insertionMode =
103436
103437         No functional changes, thus no tests.
103438
103439         * html/HTMLTreeBuilder.cpp:
103440         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103441         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
103442         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
103443         (WebCore::HTMLTreeBuilder::processStartTag):
103444         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
103445         (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
103446         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
103447         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
103448         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
103449         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
103450         (WebCore::HTMLTreeBuilder::processEndTag):
103451         (WebCore::HTMLTreeBuilder::processCharacter):
103452         (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
103453         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
103454         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
103455         (WebCore::HTMLTreeBuilder::processScriptStartTag):
103456
103457 2010-07-09  Eric Seidel  <eric@webkit.org>
103458
103459         Reviewed by Adam Barth.
103460
103461         Add insertForeignElement in preparation for adding "in foreign content" support
103462         https://bugs.webkit.org/show_bug.cgi?id=41940
103463
103464         No functional changes, thus no tests.
103465
103466         * html/HTMLConstructionSite.cpp:
103467         (WebCore::HTMLConstructionSite::insertForeignElement):
103468         (WebCore::HTMLConstructionSite::createElement):
103469         (WebCore::HTMLConstructionSite::createHTMLElement):
103470         * html/HTMLConstructionSite.h:
103471
103472 2010-07-09  Adam Barth  <abarth@webkit.org>
103473
103474         Reviewed by Eric Seidel.
103475
103476         Implementing pending table characters
103477         https://bugs.webkit.org/show_bug.cgi?id=41916
103478
103479         This turned out to not be as scary as I thought it would be.
103480
103481         * html/HTMLTreeBuilder.cpp:
103482         (WebCore::HTMLTreeBuilder::processDoctypeToken):
103483         (WebCore::HTMLTreeBuilder::processStartTag):
103484         (WebCore::HTMLTreeBuilder::processEndTag):
103485         (WebCore::HTMLTreeBuilder::processComment):
103486         (WebCore::HTMLTreeBuilder::processCharacter):
103487         (WebCore::HTMLTreeBuilder::processEndOfFile):
103488         (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
103489         * html/HTMLTreeBuilder.h:
103490
103491 2010-07-08  Adam Barth  <abarth@webkit.org>
103492
103493         Reviewed by Eric Seidel.
103494
103495         Handle whitespace correctly
103496         https://bugs.webkit.org/show_bug.cgi?id=41907
103497
103498         This patch introduces an extra memcpy in the character token pipeline.
103499         I'll remove the memcpy in a future patch.
103500
103501         * html/HTMLConstructionSite.cpp:
103502         (WebCore::HTMLConstructionSite::insertTextNode):
103503         * html/HTMLConstructionSite.h:
103504         * html/HTMLTreeBuilder.cpp:
103505         (WebCore::HTMLTreeBuilder::processCharacter):
103506         * html/HTMLTreeBuilder.h:
103507
103508 2010-07-09  Eric Seidel  <eric@webkit.org>
103509
103510         Reviewed by Adam Barth.
103511
103512         Move more mode handling into functions for later re-use
103513         https://bugs.webkit.org/show_bug.cgi?id=41939
103514
103515         No functional changes, thus no tests.
103516
103517         * html/HTMLTreeBuilder.cpp:
103518         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
103519         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
103520         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
103521         (WebCore::HTMLTreeBuilder::processEndTag):
103522         * html/HTMLTreeBuilder.h:
103523
103524 2010-07-09  Eric Seidel  <eric@webkit.org>
103525
103526         Reviewed by Adam Barth.
103527
103528         Add new popUntilPopped functions to clean up code
103529         https://bugs.webkit.org/show_bug.cgi?id=41936
103530
103531         Pretty self explanatory.  Much awesome code reduction.
103532
103533         No functional changes, thus no tests.
103534
103535         * html/HTMLElementStack.cpp:
103536         (WebCore::HTMLElementStack::popUntilPopped):
103537         * html/HTMLElementStack.h:
103538         * html/HTMLTreeBuilder.cpp:
103539         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
103540         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
103541         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
103542         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
103543         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
103544         (WebCore::HTMLTreeBuilder::processEndTag):
103545
103546 2010-07-09  Eric Seidel  <eric@webkit.org>
103547
103548         Unreviewed.  Just renaming (discussed with Adam Barth).
103549
103550         Rename createElement* to createHTMLElement* to better reflect
103551         behavior.  This is in preparation for adding foreign content support.
103552
103553         * html/HTMLConstructionSite.cpp:
103554         (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
103555         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
103556         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
103557         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
103558         (WebCore::HTMLConstructionSite::insertHTMLElement):
103559         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
103560         (WebCore::HTMLConstructionSite::createHTMLElement):
103561         * html/HTMLConstructionSite.h:
103562         * html/HTMLTreeBuilder.cpp:
103563         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
103564
103565 2010-07-09  Eric Seidel  <eric@webkit.org>
103566
103567         Unreviewed.  Just renaming (discussed with Adam Barth).
103568
103569         Rename insertElement to insertHTMLElement and
103570         insertSelfClosingElement to insertSelfClosingHTMLElement
103571         to better reflect what they actually do.  This is in preparation
103572         for adding foreign content support.
103573
103574         * html/HTMLConstructionSite.cpp:
103575         (WebCore::HTMLConstructionSite::insertHTMLElement):
103576         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
103577         (WebCore::HTMLConstructionSite::insertFormattingElement):
103578         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
103579         (WebCore::HTMLConstructionSite::fosterParent):
103580         * html/HTMLConstructionSite.h:
103581         * html/HTMLTreeBuilder.cpp:
103582         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
103583         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103584         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
103585         (WebCore::HTMLTreeBuilder::processStartTag):
103586         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
103587         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
103588         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
103589         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
103590
103591 2010-07-08  Rob Buis  <rwlbuis@gmail.com>
103592
103593         Reviewed by Eric Seidel.
103594
103595         Implement SVGSVGElement.getElementById
103596         https://bugs.webkit.org/show_bug.cgi?id=41655
103597
103598         Implement getElementById for SVGSVGElement by trying to
103599         reuse Document.getElementById. If that fails to find an
103600         SVG element in the document fragent do a subtree search.
103601
103602         Test: svg/custom/svg-getelementid.xhtml
103603
103604         * svg/SVGSVGElement.cpp:
103605         (WebCore::SVGSVGElement::getElementById):
103606         * svg/SVGSVGElement.h:
103607         * svg/SVGSVGElement.idl:
103608
103609 2010-07-08  Eric Seidel  <eric@webkit.org>
103610
103611         Reviewed by Adam Barth.
103612
103613         Unwrap a few || blocks for easier readability
103614         https://bugs.webkit.org/show_bug.cgi?id=41838
103615
103616         No functional change, thus no tests.
103617
103618         * html/HTMLTreeBuilder.cpp:
103619         (WebCore::HTMLTreeBuilder::adjustedLexerState):
103620         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103621         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
103622         (WebCore::HTMLTreeBuilder::processStartTag):
103623         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
103624         (WebCore::HTMLTreeBuilder::processEndTag):
103625         (WebCore::HTMLTreeBuilder::processComment):
103626         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
103627
103628 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
103629
103630         Reviewed by Simon Hausmann.
103631
103632         [Qt] for debugging purposes nice I'm contributing back my FPS
103633         counter in the AnimationQtBase
103634         https://bugs.webkit.org/show_bug.cgi?id=40381
103635
103636         Simply start a timer and count frames in the AnimationQtBase and
103637         spit out the FPS count at the end of a single animation.
103638
103639         No new tests: this is a simple debugging aid.
103640
103641         * platform/graphics/qt/GraphicsLayerQt.cpp:
103642         (WebCore::AnimationQt::updateState):
103643         (WebCore::AnimationQt::updateCurrentTime):
103644         (WebCore::TransformAnimationQt::updateState):
103645         (WebCore::OpacityAnimationQt::updateState):
103646
103647 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
103648
103649         Reviewed by Simon Hausmann.
103650
103651         [Qt] instance objects created for QObjects are somtimes GC'd
103652         https://bugs.webkit.org/show_bug.cgi?id=40352
103653
103654         In markAggregate loop over all the current fields and for any that
103655         still have a dynamic property or a child, mark them as
103656         well. Otherwise the proxy instance will go away and the JS that
103657         was bound to it will be lost.
103658
103659         * bridge/qt/qt_instance.cpp:
103660         (JSC::Bindings::QtInstance::getQtInstance):
103661         (JSC::Bindings::QtInstance::removeCachedMethod):
103662         (JSC::Bindings::QtInstance::markAggregate):
103663         (JSC::Bindings::QtInstance::getPropertyNames):
103664
103665 2010-07-08  Ilya Tikhonovsky  <loislo@chromium.org>
103666
103667         Reviewed by Pavel Feldman.
103668
103669         WebInspector: migrate InspectorDOMAgent to the generated version of
103670         InspectorFrontend interface. This is the next step on the way to
103671         Remote Debugging.
103672
103673         * bindings/js/ScriptEventListener.cpp:
103674         (WebCore::eventListenerHandlerBody):
103675         (WebCore::eventListenerHandlerLocation):
103676         * bindings/js/ScriptEventListener.h:
103677         * bindings/v8/ScriptEventListener.cpp:
103678         (WebCore::eventListenerHandlerBody):
103679         (WebCore::eventListenerHandlerLocation):
103680         * bindings/v8/ScriptEventListener.h:
103681         * inspector/CodeGeneratorInspector.pm:
103682         * inspector/InspectorCSSStore.cpp:
103683         (WebCore::InspectorCSSStore::inspectorStyleSheet):
103684         * inspector/InspectorController.cpp:
103685         (WebCore::InspectorController::connectFrontend):
103686         * inspector/InspectorController.h:
103687         (WebCore::InspectorController::inspectorFrontend2):
103688         * inspector/InspectorDOMAgent.cpp:
103689         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
103690         (WebCore::InspectorDOMAgent::setDocument):
103691         (WebCore::InspectorDOMAgent::handleEvent):
103692         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
103693         (WebCore::InspectorDOMAgent::getEventListenersForNode):
103694         (WebCore::InspectorDOMAgent::buildObjectForNode):
103695         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
103696         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
103697         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
103698         (WebCore::InspectorDOMAgent::didInsertDOMNode):
103699         (WebCore::InspectorDOMAgent::getStyles):
103700         (WebCore::InspectorDOMAgent::getAllStyles):
103701         (WebCore::InspectorDOMAgent::getStyleSheet):
103702         (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
103703         (WebCore::InspectorDOMAgent::getInlineStyle):
103704         (WebCore::InspectorDOMAgent::getComputedStyle):
103705         (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
103706         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
103707         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
103708         (WebCore::InspectorDOMAgent::applyStyleText):
103709         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
103710         (WebCore::InspectorDOMAgent::setRuleSelector):
103711         (WebCore::InspectorDOMAgent::addRule):
103712         (WebCore::InspectorDOMAgent::buildObjectForStyle):
103713         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
103714         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
103715         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
103716         (WebCore::InspectorDOMAgent::buildObjectForRule):
103717         (WebCore::InspectorDOMAgent::toArray):
103718         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
103719         * inspector/InspectorDOMAgent.h:
103720         (WebCore::InspectorDOMAgent::create):
103721         * inspector/InspectorFrontend.cpp:
103722         * inspector/InspectorFrontend.h:
103723         * inspector/InspectorFrontend2.idl:
103724         * inspector/front-end/inspector.js:
103725         (WebInspector.dispatchMessageFromBackend):
103726
103727 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
103728
103729         Reviewed by Darin Adler.
103730
103731         compositing/iframes/iframe-resize.html displays incorrectly after the resize
103732         https://bugs.webkit.org/show_bug.cgi?id=41794
103733         
103734         The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
103735         from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
103736         layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
103737         call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).
103738
103739         * rendering/RenderLayerBacking.cpp:
103740         (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
103741         and scroll layers of the iframe's content RenderLayerCompositor.
103742         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
103743         * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
103744         * rendering/RenderWidget.cpp:
103745         (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().
103746
103747 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
103748
103749         Reviewed by Dan Bernstein.
103750
103751         Calling layoutTestController.layerTreeAsText() should update layout
103752         https://bugs.webkit.org/show_bug.cgi?id=41818
103753
103754         Call updateLayout() on the document before obtaining the layer tree.
103755         This will update compositing layers.
103756         
103757         * page/Frame.cpp:
103758         (WebCore::Frame::layerTreeAsText):
103759
103760 2010-07-08  Adam Barth  <abarth@webkit.org>
103761
103762         Reviewed by Eric Seidel.
103763
103764         Get my head wrapped around processCharacter
103765         https://bugs.webkit.org/show_bug.cgi?id=41812
103766
103767         The bulk of the patch is just stubbing out functions to document what
103768         the spec tells us to do.  I'll implement these functions in subsequent
103769         patches.
103770
103771         * html/HTMLConstructionSite.h:
103772         (WebCore::HTMLConstructionSite::insertLeadingWhitespace):
103773         (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
103774         * html/HTMLTreeBuilder.cpp:
103775         (WebCore::HTMLTreeBuilder::processCharacter):
103776         * html/HTMLTreeBuilder.h:
103777         (WebCore::HTMLTreeBuilder::skipLeadingWhitespace):
103778
103779 2010-07-08  Tony Chang  <tony@chromium.org>
103780
103781         Reviewed by Ojan Vafai.
103782
103783         WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
103784         https://bugs.webkit.org/show_bug.cgi?id=30116
103785         Fixing the crash causes text insertions on hidden elements to get ignored
103786         (not a new bug).  This is https://bugs.webkit.org/show_bug.cgi?id=40342
103787
103788         Test: editing/inserting/return-key-in-hidden-textarea.html
103789
103790         * editing/InsertLineBreakCommand.cpp:
103791         (WebCore::InsertLineBreakCommand::doApply):
103792         * editing/InsertParagraphSeparatorCommand.cpp:
103793         (WebCore::InsertParagraphSeparatorCommand::doApply):
103794
103795 2010-07-08  Sam Weinig  <sam@webkit.org>
103796
103797         Reviewed by Oliver Hunt.
103798
103799         Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
103800         TimeRanges should expose a JS constructor
103801
103802         * html/TimeRanges.idl: Remove [OmitConstructor].
103803         * page/DOMWindow.idl: Add constructor.
103804
103805 2010-07-08  Erik Arvidsson  <arv@chromium.org>
103806
103807         Reviewed by Ojan Vafai.
103808
103809         Add missing padding-end and margin-end CSS properties.
103810         https://bugs.webkit.org/show_bug.cgi?id=25761
103811
103812         Tests: fast/css/margin-start-end.html
103813                fast/css/padding-start-end.html
103814
103815         * css/CSSComputedStyleDeclaration.cpp:
103816         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
103817         * css/CSSParser.cpp:
103818         (WebCore::CSSParser::parseValue):
103819         * css/CSSPropertyNames.in:
103820         * css/CSSStyleSelector.cpp:
103821         (WebCore::CSSStyleSelector::applyProperty):
103822         * inspector/front-end/SourceCSSTokenizer.js:
103823         (WebInspector.SourceCSSTokenizer):
103824
103825 2010-07-08  Aaron Boodman  <aa@chromium.org>
103826
103827         Reviewed by Timothy Hatcher.
103828
103829         Add the ability for user scripts and user styles to affect just the top frame.
103830
103831         https://bugs.webkit.org/show_bug.cgi?id=41529
103832
103833         Tests: userscripts/user-script-all-frames.html
103834                userscripts/user-script-top-frame-only.html
103835                userscripts/user-style-all-frames.html
103836                userscripts/user-style-top-frame-only.html
103837
103838         * WebCore.base.exp: Update PageGroup method signatures.
103839         * dom/Document.cpp:
103840         (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
103841         * page/Frame.cpp:
103842         (WebCore::Frame::injectUserScriptsForWorld): Ditto.
103843         * page/PageGroup.cpp:
103844         (WebCore::PageGroup::addUserScriptToWorld):
103845         (WebCore::PageGroup::addUserStyleSheetToWorld):
103846         * page/PageGroup.h:
103847         * page/UserScript.h:
103848         (WebCore::UserScript::UserScript):
103849         (WebCore::UserScript::injectedFrames):
103850         * page/UserScriptTypes.h:
103851         (WebCore::):
103852         * page/UserStyleSheet.h:
103853         (WebCore::UserStyleSheet::UserStyleSheet):
103854         (WebCore::UserStyleSheet::injectedFrames):
103855
103856 2010-07-08  Adele Peterson  <adele@apple.com>
103857
103858         Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
103859
103860         Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
103861         <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
103862
103863         Test: plugins/clicking-missing-plugin-fires-delegate.html
103864
103865         * html/HTMLPlugInElement.cpp:
103866         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents.
103867         (WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler.
103868         (WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing.
103869         * html/HTMLPlugInElement.h:
103870         (WebCore::HTMLPlugInElement::isCapturingMouseEvents):
103871         (WebCore::HTMLPlugInElement::setIsCapturingMouseEvents):
103872         * page/ChromeClient.h:
103873         (WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation.
103874         * rendering/RenderEmbeddedObject.cpp:
103875         (WebCore::replacementTextRoundedRectPressedColor):
103876         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
103877         (WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added.  Causes a repaint when the state changes.
103878         (WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry.
103879         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator.
103880         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator.
103881         (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance.
103882         * rendering/RenderEmbeddedObject.h:
103883
103884 2010-07-08  James Robinson  <jamesr@google.com>
103885
103886         Reviewed by Darin Fisher.
103887
103888         Allow resizing and getting the texture id from an offscreen GLES2Context
103889         https://bugs.webkit.org/show_bug.cgi?id=41828
103890
103891         When using an offscreen GLES2Context the caller needs to be able to resize the backing store
103892         managed by the embedder and get access to a texture id to pass to the compositor.  WebGL
103893         does these actions in an indirect way, it will be refactored to use this path.
103894
103895         * platform/chromium/GLES2Context.h:
103896
103897 2010-07-02  Ojan Vafai  <ojan@chromium.org>
103898
103899         Reviewed by Adam Barth.
103900
103901         Crash in RenderObject::containingBlock when clearing selection in a display:none node.
103902         https://bugs.webkit.org/show_bug.cgi?id=41523
103903
103904         updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise,
103905         m_selectionStart and m_selectionEnd in RenderView point to garbage object.
103906         This fixes the crash because updateStyleIfNeeded clears the selection before
103907         clobbering nodes that contain the selection.
103908
103909         Test: editing/selection/crash-on-clear-selection.html
103910
103911         * editing/SelectionController.cpp:
103912         (WebCore::SelectionController::updateAppearance):
103913
103914 2010-07-08  Brent Fulgham  <bfulgham@webkit.org>
103915
103916         Reviewed by Xan Lopez.
103917
103918         Correct a mistake in calculating squiggle extents.  The entire
103919         quantity was being divided by two, rather than just the unitWidth.
103920         This error caused the squiggle to be about half the expected length.
103921
103922         * platform/graphics/cairo/DrawErrorUnderline.h:
103923         (drawErrorUnderline):
103924
103925 2010-07-08  John Abd-El-Malek  <jam@chromium.org>
103926
103927         Reviewed by Darin Fisher.
103928
103929         [V8] Navigation policy doesn't play nicely with pepper plugins
103930         https://bugs.webkit.org/show_bug.cgi?id=41864
103931
103932         * bindings/v8/V8Utilities.cpp:
103933         (WebCore::callingOrEnteredFrame):
103934         (WebCore::shouldAllowNavigation):
103935         (WebCore::navigateIfAllowed):
103936
103937 2010-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
103938
103939         Missing plug-ins may cause an assertion failure.
103940         https://bugs.webkit.org/show_bug.cgi?id=41900
103941
103942         Reviewed by Adele Peterson.
103943
103944         Test: plugins/missing-plugin.html
103945
103946         * plugins/PluginView.cpp:
103947         (WebCore::PluginView::~PluginView):
103948         Check whether m_instance is null before trying to remove it from the
103949         map. Trying to remove a null instance results in an assertion failure.
103950         (WebCore::PluginView::PluginView):
103951         Initialize m_instance to 0, because there is an early return that may
103952         skip its being assigned its proper value.
103953
103954 2010-07-08  Darin Adler  <darin@apple.com>
103955
103956         Reviewed by Oliver Hunt.
103957
103958         Fix a test failure seen only on the Leopard bot.
103959
103960         * bindings/js/JSSharedWorkerCustom.cpp:
103961         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
103962         If SharedWorker::create returns an exception, don't try to create a wrapper
103963         for its return value, which can be 0.
103964
103965 2010-07-08  Albert J. Wong  <ajwong@chromium.org>
103966
103967         Not reviewed, build break fix for chromium.
103968
103969         A new MediaControlElementType enum was added which caused a warning in
103970         the Chromium build.
103971
103972         * rendering/RenderMediaControlsChromium.cpp:
103973         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
103974             Add MediaVolumeSliderMuteButton enumartion entry.
103975
103976 2010-07-08  Dmitry Titov  <dimich@chromium.org>
103977
103978         Reviewed by David Levin.
103979
103980         Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler.
103981         https://bugs.webkit.org/show_bug.cgi?id=41878
103982
103983         This is practically a rollback of http://trac.webkit.org/changeset/50477.
103984
103985         * page/Chrome.cpp:
103986         * page/Chrome.h:
103987         * page/ChromeClient.h:
103988         * page/Navigator.cpp:
103989         * page/Navigator.h:
103990         * page/Navigator.idl:
103991
103992 2010-07-08  Xan Lopez  <xlopez@igalia.com>
103993
103994         Reviewed by Darin Adler.
103995
103996         Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
103997         https://bugs.webkit.org/show_bug.cgi?id=41823
103998
103999         Create the ResourceHandle manually for now instead of calling
104000         ::create, since that methods does a few extra checks that make us
104001         fail a couple of HTTP tests.
104002
104003         * platform/network/soup/ResourceHandleSoup.cpp:
104004         (WebCore::):
104005
104006 2010-07-08  Alexey Proskuryakov  <ap@apple.com>
104007
104008         Reviewed by David Levin.
104009
104010         https://bugs.webkit.org/show_bug.cgi?id=41886
104011         Shorten access control failure explanation messages
104012
104013         * loader/CrossOriginAccessControl.cpp:
104014         (WebCore::passesAccessControlCheck):
104015         * loader/CrossOriginPreflightResultCache.cpp:
104016         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
104017         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
104018         Removed "response header field" parts from error text - it's long, but doesn't add much
104019         to header field name.
104020
104021         * platform/network/ResourceErrorBase.cpp:
104022         * platform/network/ResourceErrorBase.h:
104023         * xml/XMLHttpRequest.cpp:
104024         (WebCore::XMLHttpRequest::didFail):
104025         * loader/DocumentThreadableLoader.cpp:
104026         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
104027         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
104028         (WebCore::DocumentThreadableLoader::didReceiveResponse):
104029         (WebCore::DocumentThreadableLoader::preflightFailure):
104030         Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit
104031         clients, because it can't create a platform error, and cannot load a localized string.
104032         We don't treat cross origin access check failures as true loading failures, so we don't tell
104033         clients about these.
104034
104035 2010-07-08  Eric Carlson  <eric.carlson@apple.com>
104036
104037         Reviewed by Dan Bernstein.
104038
104039         Mac OS X media controls should have a way to adjust volume incrementally
104040         https://bugs.webkit.org/show_bug.cgi?id=41718
104041         <rdar://problem/5679472>
104042
104043         * css/CSSPrimitiveValueMappings.h:
104044         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart.
104045
104046         * css/CSSSelector.cpp: 
104047         (WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton.
104048         (WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton.
104049         (WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton.
104050
104051         * css/CSSSelector.h:
104052         (WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton.
104053
104054         * css/CSSValueKeywords.in: Define media-volume-slider-mute-button.
104055
104056         * css/mediaControls.css: 
104057         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New.
104058
104059         * css/mediaControlsQuickTime.css:
104060         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible" 
104061         so volume slider pop-up will be visible.
104062
104063         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make 
104064         mute button 14x12 instead of 15x14 so it matches the size in the volume slider.
104065
104066         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
104067         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
104068         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 
104069         New.
104070
104071         * platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart.
104072
104073         * rendering/MediaControlElements.cpp:
104074         (WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
104075         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation 
104076         parameter both mute buttons can be created.
104077         (WebCore::MediaControlMuteButtonElement::create): Ditto.
104078
104079         * rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation.
104080
104081         * rendering/RenderMedia.cpp: 
104082         (WebCore::RenderMedia::styleDidChange): Update volume slider mute button.
104083         (WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create.
104084         (WebCore::RenderMedia::createVolumeSliderMuteButton): New.
104085         (WebCore::RenderMedia::updateControls): Deal with volume slider mute button.
104086         (WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position
104087         the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function.
104088         (WebCore::RenderMedia::forwardEvent): Handle volume slider mute button.
104089         * rendering/RenderMedia.h:
104090
104091         * rendering/RenderTheme.cpp: 
104092         (WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart.
104093         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard
104094         coded in RenderMedia::updateVolumeSliderContainer.
104095         * rendering/RenderTheme.h:
104096
104097         * rendering/RenderThemeMac.h:
104098         * rendering/RenderThemeMac.mm:
104099         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb.
104100         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function 
104101         for this button.
104102         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
104103         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
104104         (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when
104105         using the new controller UI for a movie that has audio.
104106         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider 
104107         directly above the mute button.
104108
104109         * rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
104110
104111 2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
104112
104113         Unreviewed complementary fix for r62815
104114
104115         One last time change made me blind to a "!" in a if statment.
104116
104117         * editing/EditorCommand.cpp:
104118         (WebCore::executeToggleStyle):
104119
104120 2010-07-07  Ojan Vafai  <ojan@chromium.org>
104121
104122         Reviewed by Darin Adler.
104123
104124         Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent
104125         https://bugs.webkit.org/show_bug.cgi?id=32605
104126
104127         Only have selections be non-directional when they are set via the mouse.
104128         Otherwise, all selections are directional.
104129
104130         Test: editing/selection/extend-forward-after-set-base-and-extent.html
104131
104132         * WebCore.base.exp:
104133         * editing/SelectionController.cpp:
104134         (WebCore::SelectionController::setSelection):
104135         * editing/SelectionController.h:
104136         (WebCore::SelectionController::setSelection):
104137         * page/EventHandler.cpp:
104138         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
104139         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
104140         (WebCore::EventHandler::handleMousePressEventTripleClick):
104141         (WebCore::EventHandler::handleMousePressEventSingleClick):
104142         (WebCore::EventHandler::updateSelectionForMouseDrag):
104143
104144 2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
104145
104146         Reviewed by Ojan Vafai.
104147
104148         Refactor platform dependent editing behavior code out of Settings (part II)
104149         https://bugs.webkit.org/show_bug.cgi?id=39854
104150
104151         Mac port is currently the only port relying on a style to be present on the start
104152         of a selection to consider the style as applied or not. All other ports
104153         have to have the style present in all text node of the selection for such.
104154
104155         Patch makes situations that depend on this check like this to be controlled by
104156         the EditingBehavior class.
104157
104158         Refactoring, so no new tests needed.
104159
104160         * editing/EditingBehavior.h:
104161         (WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
104162         * editing/EditorCommand.cpp:
104163         (WebCore::executeToggleStyle):
104164
104165 2010-07-08  Anders Carlsson  <andersca@apple.com>
104166
104167         Reviewed by Sam Weinig.
104168
104169         Add stubbed out PluginView class
104170         https://bugs.webkit.org/show_bug.cgi?id=41879
104171
104172         Export functions needed by WebKit2.
104173
104174         * WebCore.exp.in:
104175
104176 2010-07-08  Ben Murdoch  <benm@google.com>
104177
104178         Reviewed by Pavel Feldman.
104179
104180         Fix build break in V8ConsoleCustom.cpp
104181         https://bugs.webkit.org/show_bug.cgi?id=40825
104182
104183         No new tests as just fixing a build break.
104184
104185         * bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter
104186             appropriately.
104187
104188 2010-07-08  Sam Weinig  <sam@webkit.org>
104189
104190         Reviewed by Anders Carlsson.
104191
104192         Pass Page to BackForwardControllerClient::createBackForwardList since it
104193         may be called before implementations of BackForwardControllerClient have
104194         access to a Page.
104195
104196         * history/BackForwardController.cpp:
104197         (WebCore::BackForwardController::BackForwardController):
104198         * history/BackForwardControllerClient.h:
104199
104200 2010-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>
104201
104202         Unreviewed, rolling out r62778.
104203         http://trac.webkit.org/changeset/62778
104204         https://bugs.webkit.org/show_bug.cgi?id=41866
104205
104206         Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested
104207         by pfeldman on #webkit).
104208
104209         * platform/graphics/chromium/FontLinux.cpp:
104210         (WebCore::TextRunWalker::TextRunWalker):
104211         (WebCore::TextRunWalker::~TextRunWalker):
104212
104213 2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
104214
104215         Reviewed by Pavel Feldman.
104216
104217         Fix adoptRef usage violation in IDBObjectStoreRequest
104218         https://bugs.webkit.org/show_bug.cgi?id=41869
104219
104220         * storage/IDBObjectStoreRequest.cpp:
104221         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
104222
104223 2010-07-08  Sam Weinig  <sam@webkit.org>
104224
104225         Another chromium build fix.
104226
104227         * history/BackForwardListChromium.cpp:
104228         (WebCore::BackForwardListImpl::goBack):
104229         (WebCore::BackForwardListImpl::goForward):
104230         (WebCore::BackForwardListImpl::backListWithLimit):
104231         (WebCore::BackForwardListImpl::forwardListWithLimit):
104232         (WebCore::BackForwardListImpl::containsItem):
104233         (WebCore::BackForwardListImpl::removeItem):
104234
104235 2010-07-08  Sam Weinig  <sam@webkit.org>
104236
104237         Fix Chromium build.
104238
104239         * WebCore.gyp/WebCore.gyp:
104240
104241 2010-07-08  Sam Weinig  <sam@webkit.org>
104242
104243         Reviewed by Anders Carlsson.
104244
104245         Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
104246         Convert BackForwardList to an abstract base class and add BackForwardListImpl
104247         as the concrete implementation of it.
104248
104249         * CMakeLists.txt:
104250         * GNUmakefile.am:
104251         * WebCore.exp.in:
104252         * WebCore.gypi:
104253         * WebCore.pro:
104254         * WebCore.vcproj/WebCore.vcproj:
104255         * WebCore.xcodeproj/project.pbxproj:
104256         * history/BackForwardController.cpp:
104257         (WebCore::BackForwardController::BackForwardController):
104258         * history/BackForwardController.h:
104259         * history/BackForwardList.cpp: Removed.
104260         * history/BackForwardList.h:
104261         (WebCore::BackForwardList::~BackForwardList):
104262         (WebCore::BackForwardList::isBackForwardListImpl):
104263         (WebCore::BackForwardList::BackForwardList):
104264         * history/BackForwardListChromium.cpp:
104265         * history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp.
104266         * history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h.
104267         (WebCore::BackForwardListImpl::isBackForwardListImpl):
104268
104269 2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
104270
104271         Reviewed by Pavel Feldman.
104272
104273         Fix adoptRef usage violations (mostly in chromium)
104274         https://bugs.webkit.org/show_bug.cgi?id=41863
104275
104276         * bindings/v8/V8DOMWrapper.cpp:
104277         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
104278         * bindings/v8/V8NodeFilterCondition.h:
104279         (WebCore::V8NodeFilterCondition::create):
104280         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
104281         (WebCore::getNamedItems):
104282         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
104283         (WebCore::getNamedItems):
104284         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
104285         (WebCore::V8HTMLFormElement::namedPropertyGetter):
104286         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
104287         (WebCore::V8HTMLSelectElement::namedPropertyGetter):
104288         * bindings/v8/custom/V8NamedNodesCollection.h:
104289         (WebCore::V8NamedNodesCollection::create):
104290         (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
104291         * storage/IDBDatabaseRequest.cpp:
104292         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
104293         * storage/IndexedDatabaseRequest.cpp:
104294         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
104295
104296 2010-07-08  Xan Lopez  <xlopez@igalia.com>
104297
104298         Reviewed by Gustavo Noronha.
104299
104300         Silence a few noisy build rules.
104301
104302         * GNUmakefile.am:
104303
104304 2010-07-08  Andreas Kling  <andreas.kling@nokia.com>
104305
104306         Reviewed by Simon Hausmann.
104307
104308         [Qt] Canvas putImageData() resets painter state
104309         https://bugs.webkit.org/show_bug.cgi?id=41827
104310
104311         Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator=
104312
104313         Test: fast/canvas/canvas-state-intact-after-putImageData.html
104314
104315         * platform/graphics/qt/ImageBufferQt.cpp:
104316         (WebCore::putImageData):
104317
104318 2010-07-08  Andrey Kosyakov  <caseq@chromium.org>
104319
104320         Reviewed by Pavel Feldman.
104321
104322         Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed
104323         into an input field.
104324         https://bugs.webkit.org/show_bug.cgi?id=41760
104325
104326         * inspector/front-end/inspector.js:
104327         (WebInspector.documentKeyDown):
104328
104329 2010-07-08  Patrick Gansterer  <paroga@paroga.com>
104330
104331         Reviewed by Kent Tamura.
104332
104333         [WINCE] Buildfix for EventHandler
104334         https://bugs.webkit.org/show_bug.cgi?id=41829
104335
104336         SM_MENUDROPALIGNMENT isn't supported on WinCE.
104337
104338         * page/EventHandler.cpp:
104339         (WebCore::EventHandler::sendContextMenuEventForKey):
104340
104341 2010-07-08  Xiaomei Ji  <xji@chromium.org>
104342
104343         Reviewed by David Levin.
104344
104345         Fix characters with unicode-bidi-mirror property are not correctly
104346         mirrored in Linux.
104347         https://bugs.webkit.org/show_bug.cgi?id=41305
104348
104349         Since harfbuzz does not do mirroring, chromium should iterate each
104350         character in the string and mirror it if needed before passing the
104351         string to harfbuzz for shaping.
104352
104353         Test: fast/text/international/bidi-mirror-he-ar.html
104354
104355         * platform/graphics/chromium/FontLinux.cpp:
104356         (WebCore::TextRunWalker::TextRunWalker):
104357         (WebCore::TextRunWalker::~TextRunWalker):
104358
104359 2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
104360
104361         Reviewed by Rob Buis & Dirk Schulze.
104362
104363         SVG text transformed incorrectly when a transform and gradient applied
104364         https://bugs.webkit.org/show_bug.cgi?id=41563
104365
104366         When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image,
104367         renders the text into the image, and then clips the current context against that image buffer,
104368         and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually
104369         try to compute the right transformation matrix (which failed), but extract it directly from the
104370         GraphicsContext and apply this transformation to the mask image context.
104371
104372         Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass.
104373         Only affects CoreGraphics platforms.
104374
104375         Test: svg/custom/text-rotated-gradient.svg
104376
104377         * rendering/RenderSVGResourceGradient.cpp:
104378         (WebCore::absoluteTransformFromContext):
104379         (WebCore::createMaskAndSwapContextForTextGradient):
104380         (WebCore::clipToTextMask):
104381
104382 2010-07-07  Alexander Pavlov  <apavlov@chromium.org>
104383
104384         Reviewed by Darin Fisher.
104385
104386         [Chromium] Crash when re-entering message loop
104387         https://bugs.webkit.org/show_bug.cgi?id=41697
104388
104389         A Chromium-specific test case will be submitted into Chromium shortly.
104390
104391         * page/PageGroupLoadDeferrer.cpp:
104392         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
104393         * page/PageGroupLoadDeferrer.h:
104394         (WebCore::PageGroupLoadDeferrer::nextDeferrer):
104395
104396 2010-07-07  Yury Semikhatsky  <yurys@chromium.org>
104397
104398         Reviewed by Pavel Feldman.
104399
104400         Web Inspector: skip breakpoints when script is already paused
104401         https://bugs.webkit.org/show_bug.cgi?id=41768
104402
104403         Test: inspector/debugger-no-nested-pause.html
104404
104405         * bindings/v8/ScriptDebugServer.cpp:
104406         (WebCore::ScriptDebugServer::handleV8DebugEvent):
104407
104408 2010-07-08  Eric Seidel  <eric@webkit.org>
104409
104410         Reviewed by Adam Barth.
104411
104412         WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL
104413         https://bugs.webkit.org/show_bug.cgi?id=41807
104414
104415         Wow.  This was an awful bug.  We were always taking the slow case
104416         every time we parsed a URL.  This is about a 10% speedup on our
104417         parsing benchmark, and might cause as much as a 1% speedup for Apple's
104418         PLT (even though I can't run that).
104419
104420         We still spend a lot of time in deprecatedParseURL.  We might consider
104421         inlining it if its being kept around much longer.
104422
104423         No behavioral change, just fixing a broken optimization.
104424
104425         * css/CSSHelper.cpp:
104426         (WebCore::deprecatedParseURL):
104427          - We only need to strip characters <= '\r', not >.
104428
104429 2010-07-08  Yury Semikhatsky  <yurys@chromium.org>
104430
104431         Reviewed by Pavel Feldman.
104432
104433         Web Inspector: factor out common part of debugger tests
104434         https://bugs.webkit.org/show_bug.cgi?id=41836
104435
104436         * bindings/js/ScriptDebugServer.cpp:
104437         (WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty.
104438
104439 2010-07-08  Patrick Gansterer  <paroga@paroga.com>
104440
104441         Reviewed by Kent Tamura.
104442
104443         Buildfix for !ENABLE(SVG_ANIMATION) after r51567.
104444         https://bugs.webkit.org/show_bug.cgi?id=41803
104445
104446         * svg/SVGDocumentExtensions.cpp:
104447         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
104448
104449 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
104450
104451         Reviewed by Nate Chapin.
104452
104453         [V8] Fix document wrapper memory leak in bindings.
104454         https://bugs.webkit.org/show_bug.cgi?id=41771
104455
104456         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
104457         (WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle
104458         to shadowConstructor because it keeps the first context alive forever.
104459
104460 2010-07-07  Andreas Kling  <andreas.kling@nokia.com>
104461
104462         Reviewed by Tor Arne Vestbø.
104463
104464         [Qt] Enable smooth pixmap transforms by default
104465         https://bugs.webkit.org/show_bug.cgi?id=41774
104466
104467         * platform/graphics/qt/GraphicsContextQt.cpp:
104468         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
104469         (WebCore::GraphicsContext::setImageInterpolationQuality):
104470
104471 2010-07-07  Jesus Sanchez-Palencia  <jesus@webkit.org>
104472
104473         Reviewed by Antti Koivisto.
104474
104475         [Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp
104476         https://bugs.webkit.org/show_bug.cgi?id=41767
104477
104478         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include
104479
104480 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
104481
104482         Reviewed by Yury Semikhatsky.
104483
104484         Web Inspector: Move v8-related script offset conversion to DebuggerScript.js
104485         https://bugs.webkit.org/show_bug.cgi?id=41755
104486
104487         * bindings/v8/ScriptDebugServer.cpp:
104488         (WebCore::ScriptDebugServer::dispatchDidParseSource):
104489
104490 2010-07-07  Nicolas Weber  <thakis@chromium.org>
104491
104492         Reviewed by Dimitri Glazkov.
104493         https://bugs.webkit.org/show_bug.cgi?id=41580
104494
104495         Fix rendering of radial gradients in skia if both points of the
104496         gradient are the same and r0 > 0.
104497
104498         Test: fast/gradients/radial-centered.html
104499
104500         * platform/graphics/skia/GradientSkia.cpp:
104501         (WebCore::Gradient::platformGradient):
104502
104503 2010-06-18  MORITA Hajime  <morrita@google.com>
104504
104505         Reviewed by Ojan Vafai.
104506
104507         https://bugs.webkit.org/show_bug.cgi?id=26526
104508         Add support for input events (oninput) to contentEditable elements
104509         
104510         Made a default event handler on the Node to dispatch an input event when
104511         webkitEditableContentChanged arrived.
104512         
104513         Test: fast/events/event-input-contentEditable.html
104514
104515         * dom/Node.cpp:
104516         (WebCore::Node::defaultEventHandler):
104517
104518 2010-07-07  Darin Adler  <darin@apple.com>
104519
104520         Reviewed by Anders Carlsson.
104521
104522         Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
104523         https://bugs.webkit.org/show_bug.cgi?id=41823
104524
104525         * platform/network/android/ResourceHandleAndroid.cpp:
104526         (WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead
104527         of allocating an object on the stack.
104528         * platform/network/curl/ResourceHandleCurl.cpp:
104529         (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
104530         * platform/network/qt/ResourceHandleQt.cpp:
104531         (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
104532
104533         * platform/network/soup/ResourceHandleSoup.cpp:
104534         (WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of
104535         allocating an object on the stack.
104536
104537 2010-07-07  Joseph Pecoraro  <joepeck@webkit.org>
104538
104539         Rubber-stamped by Pavel Feldman.
104540
104541         Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice.
104542         https://bugs.webkit.org/show_bug.cgi?id=41759
104543
104544         * inspector/CodeGeneratorInspector.pm:
104545
104546 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
104547
104548         Reviewed by Darin Adler.
104549
104550         AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area
104551         https://bugs.webkit.org/show_bug.cgi?id=41810
104552
104553         Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html
104554
104555         * accessibility/mac/AccessibilityObjectWrapper.mm:
104556         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
104557
104558 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
104559
104560         Reviewed by Beth Dakin.
104561
104562         AX: Data table heuristics: assume data table if at least one row or column of TH cells exist
104563         https://bugs.webkit.org/show_bug.cgi?id=41806
104564
104565         Test: platform/mac/accessibility/table-with-row-col-of-headers.html
104566
104567         * accessibility/AccessibilityTable.cpp:
104568         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
104569
104570 2010-07-07  Mark Rowe  <mrowe@apple.com>
104571
104572         Fix the build.
104573
104574         Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group"
104575         when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode.
104576
104577         * WebCore.xcodeproj/project.pbxproj:
104578
104579 2010-07-07  Mark Rowe  <mrowe@apple.com>
104580
104581         Fix the MathML build.
104582
104583         * html/HTMLTreeBuilder.cpp:
104584         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name.
104585
104586 2010-07-07  James Hawkins  <jhawkins@chromium.org>
104587
104588         Reviewed by Dimitri Glazkov.
104589
104590         Move setSuggestedValue() and suggestedValue() back to public as it's
104591         now used by WebInputElement.
104592         https://bugs.webkit.org/show_bug.cgi?id=41785
104593
104594         No new tests, as the method is only being used by Chromium's WebKit
104595         API.
104596
104597         * html/HTMLInputElement.h:
104598
104599 2010-07-07  Mark Rowe  <mrowe@apple.com>
104600
104601         Rubber-stamped by Sam Weinig.
104602
104603         Clean up the project file slightly.
104604
104605         Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection.
104606
104607         * WebCore.xcodeproj/project.pbxproj:
104608
104609 2010-07-07  James Robinson  <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org>
104610
104611         Reviewed by Dimitri Glazkov.
104612
104613         WebCore::GLES2Context should allow creating onscreen and offscreen contexts
104614         https://bugs.webkit.org/show_bug.cgi?id=41492
104615
104616         You should be able to create a GLES2Context for rendering both on screen
104617         and off screen (to a texture).  Chromium's layer renderer (used for compositing)
104618         does the former.  Currently WebGL does the latter by side stepping the
104619         WebCore::GLES2Context API completely.  Longer term it should move over to using this.
104620
104621         * platform/chromium/GLES2Context.h:
104622         * platform/graphics/chromium/LayerRendererChromium.cpp:
104623         (WebCore::LayerRendererChromium::initGL):
104624
104625 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
104626
104627         Reviewed by Dan Bernstein.
104628
104629         Document::ownerElement() should return an HTMLFrameOwnerElement
104630         https://bugs.webkit.org/show_bug.cgi?id=41789
104631
104632         Change return type of RenderLayerCompositor::enclosingIFrameElement() to
104633         HTMLFrameOwnerElement*. No behavioral changes.
104634
104635         * rendering/RenderLayerCompositor.cpp:
104636         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
104637         (WebCore::RenderLayerCompositor::enclosingIFrameElement):
104638         * rendering/RenderLayerCompositor.h:
104639
104640 2010-07-07  Adam Barth  <abarth@webkit.org>
104641
104642         Reviewed by Sam Weinig.
104643
104644         Add reverseFind to Vector and deploy in HTML5 parser
104645         https://bugs.webkit.org/show_bug.cgi?id=41778
104646
104647         This patch moves reverseFind from begin an
104648         HTMLFormattingElementList-specific concept to begin a general Vector
104649         concept.  Also, instead of using Entry as the type for operator==, we
104650         now use elements directly.  The old code compiled because the Entry
104651         constructor wasn't explicit, which means we were churning refs on every
104652         comparison!
104653
104654         * html/HTMLFormattingElementList.cpp:
104655         (WebCore::HTMLFormattingElementList::find):
104656         (WebCore::HTMLFormattingElementList::bookmarkFor):
104657         (WebCore::HTMLFormattingElementList::insertAt):
104658         (WebCore::HTMLFormattingElementList::remove):
104659         * html/HTMLFormattingElementList.h:
104660         (WebCore::HTMLFormattingElementList::Entry::operator==):
104661         (WebCore::HTMLFormattingElementList::Entry::operator!=):
104662
104663 2010-07-07  Darin Adler  <darin@apple.com>
104664
104665         Reviewed by Adam Barth.
104666
104667         Turn on adoptRef assertion for RefCounted
104668         https://bugs.webkit.org/show_bug.cgi?id=41547
104669
104670         The WebCore part of this fixes all the assertions I saw in testing.
104671
104672         * html/FileReader.cpp:
104673         (WebCore::FileReader::readAsBinaryString): Added null checks.
104674         Callers from JavaScript can pass the wrong type, which becomes null.
104675         (WebCore::FileReader::readAsText): Ditto.
104676         (WebCore::FileReader::readAsDataURL): Ditto.
104677
104678         * html/FileStreamClient.h: Removed unneeded include.
104679
104680         * html/FileStreamProxy.cpp:
104681         (WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved
104682         some of the code, including the ref, into the create function.
104683         (WebCore::FileStreamProxy::create): Moved some of the code from
104684         the constructor here. It's safe to ref once the object has been
104685         created and adopted.
104686
104687         * html/FileStreamProxy.h: Changed create function to no longer be
104688         inlined. Also removed an unneeded include.
104689
104690         * page/EventSource.cpp:
104691         (WebCore::EventSource::EventSource): Made inline, changed arguments
104692         and moved code that involves the need to ref this object into the
104693         create function. Also moved failure handling out there since it's
104694         cleaner to have a function that fails than a constructor. For
104695         example, the function can return 0.
104696         (WebCore::EventSource::create): Moved some of the code from the
104697         constructor here.
104698
104699         * page/EventSource.h: Removed unneeded includes. Made the
104700         creation function non-inline. Changed the arguments to the constructor.
104701
104702         * storage/StorageAreaSync.cpp:
104703         (WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved
104704         code that requires ref'ing this object out to the create function.
104705         (WebCore::StorageAreaSync::create): Moved some of the code from the
104706         constructor here.
104707
104708         * storage/StorageAreaSync.h: Removed unneeded includes. Changed
104709         the type of one of the constructor arguments from String to
104710         const String&.
104711
104712         * workers/SharedWorker.cpp:
104713         (WebCore::SharedWorker::SharedWorker): Made inline. Moved most of
104714         the setup code out of here into the create function.
104715         (WebCore::SharedWorker::create): Moved the code here.
104716
104717         * workers/SharedWorker.h: Removed unneeded includes. Made the
104718         create function non-inline. Marked the toSharedWorker override private
104719         to catch people doing an unnecessary virtual function call if they
104720         already have a SharedWorker*.
104721
104722         * workers/Worker.cpp:
104723         (WebCore::Worker::Worker): Made inline. Moved most of the setup code
104724         out of here into the create function.
104725         (WebCore::Worker::create): Moved the code here.
104726
104727         * workers/Worker.h: Made the create function non-inline. Changed
104728         the arguments to the constructor.
104729
104730 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
104731
104732         Reviewed by Beth Dakin.
104733
104734         AX: when a node's role changes, the AX tree might need to be updated
104735         https://bugs.webkit.org/show_bug.cgi?id=41784
104736
104737         Test: platform/mac/accessibility/update-children-when-aria-role-changes.html
104738
104739         * accessibility/AccessibilityRenderObject.cpp:
104740         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
104741         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
104742
104743 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
104744
104745         Reviewed by Beth Dakin.
104746
104747         AX: when an element uses role="text" but no aria-label, it should default to textUnderElement()
104748         https://bugs.webkit.org/show_bug.cgi?id=41780
104749
104750         Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html
104751
104752         * accessibility/AccessibilityRenderObject.cpp:
104753         (WebCore::AccessibilityRenderObject::stringValue):
104754            Fallback to textUnderElement() if text() does not return any explicitly set text.
104755         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 
104756            Remove erroneous check to ignore text elements that didn't have a explicit text value.
104757
104758 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
104759
104760         Reviewed by Darin Adler.
104761
104762         Document::ownerElement() should return an HTMLFrameOwnerElement
104763         https://bugs.webkit.org/show_bug.cgi?id=41789
104764
104765         Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better
104766         type checking. No behavioral changes.
104767
104768         * accessibility/mac/AccessibilityObjectWrapper.mm:
104769         * dom/Document.cpp:
104770         (WebCore::Document::ownerElement):
104771         * dom/Document.h:
104772         * editing/SelectionController.cpp:
104773         * rendering/RenderBoxModelObject.cpp:
104774         * rendering/RenderLayer.cpp:
104775         * rendering/RenderView.cpp:
104776
104777 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
104778
104779         Reviewed by Dan Bernstein.
104780
104781         REGRESSION: GMail becomes blank after closing other tabs
104782         https://bugs.webkit.org/show_bug.cgi?id=40421
104783
104784         RenderLayerCompositor's attach/detachRootPlatformLayer methods use
104785         setNeedsStyleRecalc() in order to trigger acclerated compositing layers
104786         to be hooked together across iframe boundaries. However, it was possible
104787         for these to get called while inside of Document::recalcStyle(), which
104788         is bad because it can cause the recalc to fail to get processed.
104789         
104790         Fix this by using the existing queuePostAttachCallback() functionality
104791         to delay the call to setNeedsStyleRecalc() if post-attach callbacks 
104792         are suspended (indicating that we're inside recalcStyle()).
104793         
104794         No new tests because I wasn't able to make a test that shows the problem.
104795
104796         * dom/ContainerNode.h: Make queuePostAttachCallback() public.
104797         * dom/ContainerNode.cpp:
104798         (WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns
104799         whether s_attachDepth is non-zero.
104800
104801         * rendering/RenderLayerCompositor.cpp:
104802         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc()
104803         instead of setNeedsStyleRecalc().
104804         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto.
104805         (WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc().
104806         (WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc):
104807         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
104808         * rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc().
104809
104810 2010-07-06  Simon Fraser  <simon.fraser@apple.com>
104811
104812         Reviewed by Dan Bernstein.
104813
104814         Incorrect compositing order with negative z-index
104815         https://bugs.webkit.org/show_bug.cgi?id=38959
104816         
104817         When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground"
104818         (indicating that they are used for the background of elements with negative z-index children),
104819         we need to paint the non-composited negative-z-order descendants at the end of the background phase, so
104820         they appear behind composited negative-z-order descendants.
104821
104822         Test: compositing/z-order/negative-z-index.html
104823
104824         * rendering/RenderLayerBacking.cpp:
104825         (WebCore::RenderLayerBacking::paintIntoLayer):
104826
104827 2010-07-06  Simon Fraser  <simon.fraser@apple.com>
104828
104829         Reviewed by Dan Bernstein.
104830
104831         Incorrect compositing order with negative z-index
104832         https://bugs.webkit.org/show_bug.cgi?id=38959
104833
104834         Prerequisite: adopt new paintList() method that was added when painting compositing layer contents.
104835         No behavioral changes.
104836
104837         * rendering/RenderLayerBacking.cpp:
104838         (WebCore::RenderLayerBacking::paintIntoLayer):
104839
104840 2010-07-07  Adam Barth  <abarth@webkit.org>
104841
104842         Unreviewed.
104843
104844         Fix ASSERT in Eric's previous patch.  I think he tested his patch in
104845         Release and not Debug.
104846
104847         * html/HTMLFormattingElementList.h:
104848         (WebCore::HTMLFormattingElementList::Entry::Entry):
104849         (WebCore::HTMLFormattingElementList::findIndex):
104850
104851 2010-07-07  Eric Seidel  <eric@webkit.org>
104852
104853         Reviewed by Adam Barth.
104854
104855         Grease the TreeBuilder's lightning
104856         https://bugs.webkit.org/show_bug.cgi?id=41756
104857
104858         Brings the new TreeBuilder from 7s to 3s on the parser benchmark.
104859         This makes performance comparable to the old parser.
104860
104861         We have not begun to fight!  There is so much fat left on these bones.
104862
104863         * html/HTMLFormattingElementList.cpp:
104864         (WebCore::HTMLFormattingElementList::find):
104865         (WebCore::HTMLFormattingElementList::bookmarkFor):
104866         (WebCore::HTMLFormattingElementList::insertAt):
104867         (WebCore::HTMLFormattingElementList::remove):
104868         * html/HTMLFormattingElementList.h:
104869         (WebCore::HTMLFormattingElementList::findIndex):
104870
104871 2010-07-07  Eric Seidel  <eric@webkit.org>
104872
104873         Reviewed by Adam Barth.
104874
104875         HTMLTreeBuilder is way too slow
104876         https://bugs.webkit.org/show_bug.cgi?id=41754
104877
104878         This takes us from 14s to 7s on our parsing benchmark.
104879         That's still much slower than the old tree builder, but there
104880         is a huge amount of fat left to trim.
104881
104882         Vector<T> wasn't able to inline all the Entry functions when
104883         they were buried in the cpp.  Turns out the active formatting elements
104884         list is very hot.
104885
104886         I'm not sure Vector<T> is going to be the right data structure for us
104887         in the end, but it has done alright for bring-up.
104888
104889         * html/HTMLFormattingElementList.cpp:
104890         * html/HTMLFormattingElementList.h:
104891         (WebCore::HTMLFormattingElementList::Entry::Entry):
104892         (WebCore::HTMLFormattingElementList::Entry::~Entry):
104893         (WebCore::HTMLFormattingElementList::Entry::isMarker):
104894         (WebCore::HTMLFormattingElementList::Entry::element):
104895         (WebCore::HTMLFormattingElementList::Entry::replaceElement):
104896         (WebCore::HTMLFormattingElementList::Entry::operator==):
104897         (WebCore::HTMLFormattingElementList::Entry::operator!=):
104898
104899 2010-07-06  Darin Adler  <darin@apple.com>
104900
104901         Reviewed by Adam Barth.
104902
104903         More OwnPtr work, including making clear set the pointer to 0 before deletion
104904         https://bugs.webkit.org/show_bug.cgi?id=41727
104905
104906         * WebCore.exp.in: Updated.
104907
104908         * css/CSSSelector.h:
104909         (WebCore::CSSSelector::RareData::RareData): Use adoptPtr.
104910         (WebCore::CSSSelector::createRareData): Ditto.
104911         * dom/SpaceSplitString.h:
104912         (WebCore::SpaceSplitString::SpaceSplitString): Ditto.
104913         (WebCore::SpaceSplitString::set): Ditto.
104914         * history/CachedFrame.cpp:
104915         (WebCore::CachedFrame::CachedFrame): Ditto.
104916         (WebCore::CachedFrame::setCachedFramePlatformData): Ditto.
104917
104918         * history/CachedFrame.h: Use PassOwnPtr.
104919
104920         * loader/appcache/ApplicationCacheGroup.cpp:
104921         (WebCore::CallCacheListenerTask::create): Use adoptPtr.
104922         * loader/appcache/ApplicationCacheStorage.cpp:
104923         (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
104924         * platform/PurgeableBuffer.h:
104925         (WebCore::PurgeableBuffer::create): Ditto.
104926         * platform/graphics/GlyphMetricsMap.h:
104927         (WebCore::::locatePageSlowCase): Ditto.
104928         * platform/graphics/GraphicsLayer.h:
104929         (WebCore::AnimationValue::AnimationValue): Ditto.
104930         (WebCore::TransformAnimationValue::TransformAnimationValue): Ditto.
104931         * platform/graphics/MediaPlayer.h:
104932         (WebCore::MediaPlayer::create): Ditto.
104933         * platform/graphics/SimpleFontData.h:
104934         (WebCore::SimpleFontData::boundsForGlyph): Ditto.
104935         * platform/mac/PurgeableBufferMac.cpp:
104936         (WebCore::PurgeableBuffer::create): Ditto.
104937         * rendering/InlineFlowBox.h:
104938         (WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto.
104939         (WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto.
104940         * rendering/RootInlineBox.h:
104941         (WebCore::RootInlineBox::floats): Ditto.
104942         * rendering/style/RenderStyle.h:
104943         (WebCore::InheritedFlags::inheritAnimations): Ditto.
104944         (WebCore::InheritedFlags::inheritTransitions): Ditto.
104945
104946         * rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr.
104947
104948 2010-07-07  Sam Weinig  <sam@webkit.org>
104949
104950         Reviewed by Anders Carlsson.
104951
104952         Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
104953         Add basic piping for BackForwardControllerClient.
104954
104955         * WebCore.exp.in:
104956         * WebCore.xcodeproj/project.pbxproj:
104957         * history/BackForwardController.cpp:
104958         (WebCore::BackForwardController::BackForwardController):
104959         * history/BackForwardControllerClient.h:
104960         * page/Page.cpp:
104961         (WebCore::Page::Page):
104962         * page/Page.h:
104963         * svg/graphics/SVGImage.cpp:
104964         (WebCore::SVGImage::dataChanged):
104965
104966 2010-07-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
104967
104968         Unreviewed build fix after r62577.
104969
104970         [EFL] build fix after r62577
104971         https://bugs.webkit.org/show_bug.cgi?id=41764
104972
104973         No new functionality so no new tests.
104974
104975 2010-07-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
104976
104977         Reviewed by Xan Lopez.
104978
104979         [GTK] Scrollbars sometimes go dead and stop scrolling the view
104980         https://bugs.webkit.org/show_bug.cgi?id=41711
104981
104982         Rework the setGtkAdjustment function slightly, make it have an
104983         early return, and be more readable.
104984
104985         * platform/gtk/ScrollViewGtk.cpp:
104986         (WebCore::ScrollView::setGtkAdjustments):
104987
104988 2010-07-07  Kristian Monsen  <kristianm@google.com>
104989
104990         Reviewed by Steve Block.
104991
104992         Updating Android to use the UserGestureIndicator class instead of Android specific code.
104993         The rest of the changes are in parts of the Android port which are yet to be upstreamed.
104994
104995         No change in behavior, so no new test.
104996
104997         * platform/network/android/ResourceRequest.h:
104998         (WebCore::ResourceRequest::ResourceRequest):
104999         (WebCore::ResourceRequest::doUpdateResourceRequest):
105000
105001 2010-07-07  Andy Estes  <aestes@apple.com>
105002
105003         Reviewed by Adam Barth.
105004
105005         Allow a beforeload listener to prevent loading of images in <object> tags.
105006         https://bugs.webkit.org/show_bug.cgi?id=41027
105007         <rdar://problem/8120596>
105008
105009         Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html
105010                fast/dom/beforeload/image-object-before-load.html
105011
105012         * html/HTMLObjectElement.cpp:
105013         (WebCore::HTMLObjectElement::attach): Do not call
105014         RenderImage::setCachedImage() at the end of attach(). Instead, allow
105015         this to happen conditionally after beforeload is dispatched.
105016         * loader/ImageLoader.cpp:
105017         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback
105018         content if an object's load was cancelled.
105019
105020 2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
105021
105022         Reviewed by Dirk Schulze.
105023
105024         <use> on <font-face> causes crashes, if SVGUseElement gets detached
105025         https://bugs.webkit.org/show_bug.cgi?id=41621
105026
105027         Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor,
105028         as that can potentially cause the element to be reattached while destructing.
105029
105030         In order to fix the crash in the testcase, the order of calling the base-class detach
105031         method in SVGUseElement and the instance/shadow tree destruction has to be reversed,
105032         matching the order in removedFromDocument().
105033
105034         Test: svg/custom/use-font-face-crash.svg
105035
105036         * svg/SVGFontFaceElement.cpp:
105037         (WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call.
105038         * svg/SVGUseElement.cpp:
105039         (WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction.
105040
105041 2010-07-07  Steve Block  <steveblock@google.com>
105042
105043         Reviewed by Adam Barth.
105044
105045         document.createEvent() should support DeviceOrientationEvent
105046         https://bugs.webkit.org/show_bug.cgi?id=41618
105047
105048         Tests: fast/dom/DeviceOrientation/create-event.html
105049
105050         * dom/Document.cpp:
105051         (WebCore::Document::createEvent):
105052
105053 2010-07-07  Yury Semikhatsky  <yurys@chromium.org>
105054
105055         Reviewed by Pavel Feldman.
105056
105057         Web Inspector: show functions from internal browser scripts on the call stack if they
105058         are there.
105059         https://bugs.webkit.org/show_bug.cgi?id=41762
105060
105061         * English.lproj/localizedStrings.js:
105062         * inspector/front-end/CallStackSidebarPane.js:
105063         (WebInspector.CallStackSidebarPane.prototype.update):
105064
105065 2010-07-07  Ilya Tikhonovsky  <loislo@chromium.org>
105066
105067         Reviewed by Pavel Feldman.
105068
105069         Web Inspector: All RefPtr arguments and return values should be
105070         changed to PassRefPtr whenever it is possible according to common practice.
105071         https://bugs.webkit.org/show_bug.cgi?id=41759
105072
105073         * inspector/CodeGeneratorInspector.pm:
105074         * inspector/InspectorTimelineAgent.cpp:
105075         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
105076         (WebCore::InspectorTimelineAgent::didInstallTimer):
105077         (WebCore::InspectorTimelineAgent::didRemoveTimer):
105078         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
105079         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
105080         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
105081         (WebCore::InspectorTimelineAgent::didMarkTimeline):
105082         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
105083         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
105084         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
105085         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
105086         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
105087         * inspector/InspectorTimelineAgent.h:
105088         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
105089         * inspector/TimelineRecordFactory.cpp:
105090         (WebCore::TimelineRecordFactory::createGenericRecord):
105091         (WebCore::TimelineRecordFactory::createGCEventData):
105092         (WebCore::TimelineRecordFactory::createFunctionCallData):
105093         (WebCore::TimelineRecordFactory::createEventDispatchData):
105094         (WebCore::TimelineRecordFactory::createGenericTimerData):
105095         (WebCore::TimelineRecordFactory::createTimerInstallData):
105096         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
105097         (WebCore::TimelineRecordFactory::createXHRLoadData):
105098         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
105099         (WebCore::TimelineRecordFactory::createMarkTimelineData):
105100         (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
105101         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
105102         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
105103         (WebCore::TimelineRecordFactory::createResourceFinishData):
105104         (WebCore::TimelineRecordFactory::createReceiveResourceData):
105105         (WebCore::TimelineRecordFactory::createPaintData):
105106         (WebCore::TimelineRecordFactory::createParseHTMLData):
105107         * inspector/TimelineRecordFactory.h:
105108
105109 2010-07-07  Antti Koivisto  <koivisto@iki.fi>
105110
105111         Reviewed by Kenneth Rohde Christiansen.
105112         
105113         [Qt] Initial WebKit2 implementation
105114         https://bugs.webkit.org/show_bug.cgi?id=40233
105115
105116         Export some event conversion functions needed for WebKit2.
105117
105118         * platform/PlatformKeyboardEvent.h:
105119         * platform/qt/PlatformKeyboardEventQt.cpp:
105120         (WebCore::keyIdentifierForQtKeyCode):
105121         (WebCore::windowsKeyCodeForKeyEvent):
105122
105123 2010-07-06  Steve Block  <steveblock@google.com>
105124
105125         Reviewed by Adam Barth.
105126
105127         DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent
105128         https://bugs.webkit.org/show_bug.cgi?id=41685
105129
105130         Test: fast/dom/Window/window-properties-device-orientation.html
105131               fast/dom/DeviceOrientation/window-property.txt
105132
105133         * page/DOMWindow.idl:
105134
105135 2010-07-07  Sheriff Bot  <webkit.review.bot@gmail.com>
105136
105137         Unreviewed, rolling out r62645.
105138         http://trac.webkit.org/changeset/62645
105139         https://bugs.webkit.org/show_bug.cgi?id=41757
105140
105141         "Broken inspector tests on several platforms" (Requested by
105142         eseidel on #webkit).
105143
105144         * inspector/front-end/ScriptView.js:
105145         (WebInspector.ScriptView.prototype._addBreakpoint):
105146         * inspector/front-end/ScriptsPanel.js:
105147         (WebInspector.ScriptsPanel):
105148         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
105149         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
105150         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
105151         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
105152         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
105153         * inspector/front-end/SourceView.js:
105154         (WebInspector.SourceView.prototype._addBreakpoint):
105155
105156 2010-07-07  Steve Block  <steveblock@google.com>
105157
105158         Reviewed by Adam Barth.
105159
105160         JavaInstanceV8 needs to push a local reference frame to avoid table overflow.
105161         https://bugs.webkit.org/show_bug.cgi?id=41516
105162
105163         This change is required to help prevent the Java virtual machine from
105164         running out of local references. The Java virtual machine supports only
105165         a limited number of local references. Normally, local references are
105166         cleared when the native method returns.
105167
105168         This change adds calls to PushLocalFrame() and PopLocalFrame() around
105169         each invocation of a method on JavaInstance. These calls instruct the
105170         virtual machine to clear local references when the frame is popped.
105171         This means that in the case where many calls to JavaInstance methods
105172         are made within the same native call, local references are cleared as
105173         soon as they are no longer needed, thus conserving references.
105174
105175         This change mirrors exactly JavaInstanceJSC.
105176
105177         No new tests.
105178
105179         * bridge/jni/v8/JavaInstanceV8.cpp:
105180         (JavaInstance::virtualBegin):
105181         (JavaInstance::virtualEnd):
105182         * bridge/jni/v8/JavaInstanceV8.h:
105183
105184 2010-07-06  Yury Semikhatsky  <yurys@chromium.org>
105185
105186         Reviewed by Pavel Feldman.
105187
105188         Inspector should remember the size of sidebars set by the user
105189         https://bugs.webkit.org/show_bug.cgi?id=19207
105190
105191         * inspector/front-end/AbstractTimelinePanel.js:
105192         (WebInspector.AbstractTimelinePanel):
105193         * inspector/front-end/AuditsPanel.js:
105194         (WebInspector.AuditsPanel):
105195         * inspector/front-end/ConsolePanel.js:
105196         (WebInspector.ConsolePanel):
105197         * inspector/front-end/ElementsPanel.js:
105198         (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd):
105199         * inspector/front-end/Panel.js:
105200         (WebInspector.Panel):
105201         (WebInspector.Panel.prototype.get toolbarItemClass):
105202         (WebInspector.Panel.prototype.show):
105203         (WebInspector.Panel.prototype.createSidebar):
105204         (WebInspector.Panel.prototype.get _sidebarWidthSettingName):
105205         (WebInspector.Panel.prototype._endSidebarDragging):
105206         (WebInspector.Panel.prototype.updateSidebarWidth):
105207         (WebInspector.Panel.prototype.restoreSidebarWidth):
105208         (WebInspector.Panel.prototype.saveSidebarWidth):
105209         * inspector/front-end/ProfilesPanel.js:
105210         (WebInspector.ProfilesPanel):
105211         * inspector/front-end/ResourcesPanel.js:
105212         (WebInspector.ResourcesPanel):
105213         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
105214         * inspector/front-end/ScriptsPanel.js:
105215         (WebInspector.ScriptsPanel):
105216         (WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag):
105217         (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
105218         (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
105219         * inspector/front-end/Settings.js:
105220         (WebInspector.populateApplicationSettings):
105221         * inspector/front-end/StoragePanel.js:
105222         (WebInspector.StoragePanel):
105223         * inspector/front-end/TimelinePanel.js:
105224         (WebInspector.TimelinePanel):
105225
105226 2010-07-05  Steve Block  <steveblock@google.com>
105227
105228         Reviewed by Adam Barth.
105229
105230         DeviceOrientation should be renamed to DeviceOrientationController
105231         https://bugs.webkit.org/show_bug.cgi?id=41608
105232
105233         No new tests, renaming only.
105234
105235         * Android.mk:
105236         * CMakeLists.txt:
105237         * GNUmakefile.am:
105238         * WebCore.gypi:
105239         * WebCore.pro:
105240         * WebCore.vcproj/WebCore.vcproj:
105241         * WebCore.xcodeproj/project.pbxproj:
105242         * dom/DeviceOrientation.cpp: Removed.
105243         * dom/DeviceOrientation.h: Removed.
105244         * dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp.
105245         (WebCore::DeviceOrientationController::DeviceOrientationController):
105246         (WebCore::DeviceOrientationController::onDeviceOrientationChange):
105247         * dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h.
105248         * page/Page.cpp:
105249         (WebCore::Page::Page):
105250         * page/Page.h:
105251         (WebCore::Page::deviceOrientationController):
105252
105253 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
105254
105255         Reviewed by Yury Semikhatsky.
105256
105257         Web Inspector: do not activate all breakpoints on page reload
105258         https://bugs.webkit.org/show_bug.cgi?id=41461
105259
105260         Test: inspector/debugger-breakpoints-not-activated-on-reload.html
105261
105262         * inspector/front-end/ScriptView.js:
105263         (WebInspector.ScriptView.prototype._addBreakpoint):
105264         * inspector/front-end/ScriptsPanel.js:
105265         (WebInspector.ScriptsPanel):
105266         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
105267         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
105268         * inspector/front-end/SourceView.js:
105269         (WebInspector.SourceView.prototype._addBreakpoint):
105270
105271 2010-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>
105272
105273         Not reviewed. Rollout r62633 - test crashes after some last-minute modifications.
105274
105275         * svg/SVGFontFaceElement.cpp:
105276         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
105277
105278 2010-07-07  Eric Seidel  <eric@webkit.org>
105279
105280         Reviewed by Adam Barth.
105281
105282         Fix </html> handling in before head mode
105283         https://bugs.webkit.org/show_bug.cgi?id=41752
105284
105285         Covered by html5lib/runner.html.
105286
105287         * html/HTMLTreeBuilder.cpp:
105288         (WebCore::HTMLTreeBuilder::processEndTag):
105289
105290 2010-07-07  Eric Seidel  <eric@webkit.org>
105291
105292         Reviewed by Adam Barth.
105293
105294         </div> pops too many <div> elements in body
105295         https://bugs.webkit.org/show_bug.cgi?id=41751
105296
105297         Another missing return!
105298
105299         While tracking this down I added some debugging code to both the
105300         open elements stack and the active formatting elements list.
105301
105302         I also unwrapped a very long || chain to make it more readable.
105303
105304         * html/HTMLElementStack.cpp:
105305         (WebCore::HTMLElementStack::show):
105306         * html/HTMLElementStack.h:
105307         * html/HTMLFormattingElementList.cpp:
105308         (WebCore::HTMLFormattingElementList::show):
105309         * html/HTMLFormattingElementList.h:
105310         * html/HTMLTreeBuilder.cpp:
105311         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
105312
105313 2010-07-06  Eric Seidel  <eric@webkit.org>
105314
105315         Reviewed by Adam Barth.
105316
105317         HTMLTreeBuilder needs to handle <table><input>
105318         https://bugs.webkit.org/show_bug.cgi?id=41744
105319
105320         * html/HTMLTreeBuilder.cpp:
105321         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105322
105323 2010-07-06  Eric Seidel  <eric@webkit.org>
105324
105325         Reviewed by Adam Barth.
105326
105327         Teach HTMLTreeBuilder how to handle <button><button>
105328         https://bugs.webkit.org/show_bug.cgi?id=41743
105329
105330         * html/HTMLTreeBuilder.cpp:
105331         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105332
105333 2010-07-06  Eric Seidel  <eric@webkit.org>
105334
105335         Reviewed by Adam Barth.
105336
105337         Teach TreeBuilder how to handle <form><form>
105338         https://bugs.webkit.org/show_bug.cgi?id=41741
105339
105340         * html/HTMLTreeBuilder.cpp:
105341         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105342
105343 2010-07-06  Eric Seidel  <eric@webkit.org>
105344
105345         Reviewed by Adam Barth.
105346
105347         <table> should auto-close <p> when not in quirks mode
105348         https://bugs.webkit.org/show_bug.cgi?id=41740
105349
105350         This is already covered by multiple tests in html5lib/runner.html
105351
105352         * html/HTMLTreeBuilder.cpp:
105353         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105354
105355 2010-07-06  Eric Seidel  <eric@webkit.org>
105356
105357         Reviewed by Adam Barth.
105358
105359         Make "in body" character handling reconstruct active formatting elements
105360         https://bugs.webkit.org/show_bug.cgi?id=41739
105361
105362         This fixes a bunch of tests, and due to some other bug in our
105363         formatting code, regresses two.  I'll fix that bug in a separate
105364         patch.
105365
105366         * html/HTMLTreeBuilder.cpp:
105367         (WebCore::HTMLTreeBuilder::processCharacter):
105368
105369 2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
105370
105371         Reviewed by Darin Adler.
105372
105373         <use> on <font-face> causes crashes, if SVGUseElement gets detached
105374         https://bugs.webkit.org/show_bug.cgi?id=41621
105375
105376         Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially
105377         cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction,
105378         which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector.
105379
105380         The crash is reproducable when using <use> on <font-face>.
105381
105382         Test: svg/custom/use-font-face-crash.svg
105383
105384         * svg/SVGFontFaceElement.cpp:
105385         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
105386
105387 2010-07-07  Hayato Ito  <hayato@chromium.org>
105388
105389         Reviewed by Darin Adler.
105390
105391         Rolling out 'page-break-inside:avoid' part of the r54929.
105392         Rebased the related layout tests, which are now expected to fail, as well.
105393
105394         https://bugs.webkit.org/show_bug.cgi?id=41532
105395
105396         * rendering/RenderBlock.cpp:
105397         (WebCore::RenderBlock::paintChildren):
105398
105399 2010-07-07  Mark Rowe  <mrowe@apple.com>
105400
105401         Fix failures in a handful of Java-related tests.
105402
105403         * WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition
105404         evalutes to true when we expect it to.
105405
105406 2010-07-06  Pavel Feldman  <pfeldman@chromium.org>
105407
105408         Reviewed by Joseph Pecoraro.
105409
105410         Web Inspector: provide line numbers for inline styles.
105411
105412         https://bugs.webkit.org/show_bug.cgi?id=41691
105413
105414         Test: inspector/styles-source-lines-inline.html
105415
105416         * css/CSSParser.cpp:
105417         (WebCore::CSSParser::parseSheet):
105418         * css/CSSParser.h:
105419         * css/CSSStyleSheet.cpp:
105420         (WebCore::CSSStyleSheet::parseString):
105421         (WebCore::CSSStyleSheet::parseStringAtLine):
105422         * css/CSSStyleSheet.h:
105423         * dom/StyleElement.cpp:
105424         (WebCore::StyleElement::process):
105425         (WebCore::StyleElement::createSheet):
105426         * dom/StyleElement.h:
105427         * html/HTMLStyleElement.cpp:
105428         (WebCore::HTMLStyleElement::HTMLStyleElement):
105429         (WebCore::HTMLStyleElement::finishParsingChildren):
105430         * html/HTMLStyleElement.h:
105431         * inspector/InspectorCSSStore.cpp:
105432         (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
105433         * inspector/InspectorDOMAgent.cpp:
105434         (WebCore::InspectorDOMAgent::buildObjectForRule):
105435         * inspector/front-end/DOMAgent.js:
105436         (WebInspector.CSSStyleDeclaration.parseRule):
105437         * inspector/front-end/StylesSidebarPane.js:
105438         (WebInspector.StylePropertiesSection.else.linkifyUncopyable):
105439         (WebInspector.StylePropertiesSection):
105440
105441 2010-07-06  Dan Bernstein  <mitz@apple.com>
105442
105443         Reviewed by Jon Honeycutt.
105444
105445         <rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key
105446
105447         No change in behavior, so no new test.
105448
105449         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
105450         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances
105451         as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans.
105452
105453 2010-07-06  Mark Rowe  <mrowe@apple.com>
105454
105455         Fix production builds on Mac OS X.
105456
105457         * DerivedSources.make: Don't try and generate the export file during the installhdrs build phase.
105458         It's not useful until much later in the build process, and it's not possible to generate it until
105459         after the tool has been compiled anyway.
105460         * WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it
105461         works in production builds once more.
105462
105463 2010-07-06  Steve Falkenburg  <sfalken@apple.com>
105464
105465         Reviewed by Simon Fraser.
105466
105467         Expose URL matching from WebUserContentURLPattern
105468         https://bugs.webkit.org/show_bug.cgi?id=41726
105469         <rdar://problem/7910144>
105470
105471         * WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit.
105472
105473 2010-07-06  Eric Seidel  <eric@webkit.org>
105474
105475         Reviewed by Adam Barth.
105476
105477         Fix <nobr><nobr> case in HTMLTreeBuilder
105478         https://bugs.webkit.org/show_bug.cgi?id=41735
105479
105480         We were both not handling <nobr> correctly, as well as
105481         never hitting the <nobr> case because our formatting
105482         elements check was overzealous.
105483
105484         * html/HTMLTreeBuilder.cpp:
105485         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105486
105487 2010-07-06  Adam Barth  <abarth@webkit.org>
105488
105489         Reviewed by Eric Seidel.
105490
105491         Implement start table tag in table mode
105492         https://bugs.webkit.org/show_bug.cgi?id=41736
105493
105494         * html/HTMLTreeBuilder.cpp:
105495         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105496         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
105497         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105498         * html/HTMLTreeBuilder.h:
105499
105500 2010-07-06  Adam Barth  <abarth@webkit.org>
105501
105502         Reviewed by Eric Seidel.
105503
105504         Implement "act as if the banana has been peeled" (for lack of a better term)
105505         https://bugs.webkit.org/show_bug.cgi?id=41734
105506
105507         The spec has a tricky passage that says "whenever a node would be
105508         inserted into the current node, it must instead be foster parented."
105509         This patch attempts to implement that requirement.
105510
105511         * html/HTMLConstructionSite.cpp:
105512         (WebCore::HTMLConstructionSite::attach):
105513         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
105514         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
105515         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
105516         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
105517         (WebCore::HTMLConstructionSite::insertScriptElement):
105518         (WebCore::HTMLConstructionSite::fosterParent):
105519         * html/HTMLConstructionSite.h:
105520         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
105521         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard):
105522         * html/HTMLTreeBuilder.cpp:
105523         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105524         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105525         * html/HTMLTreeBuilder.h:
105526
105527 2010-07-06  Eric Seidel  <eric@webkit.org>
105528
105529         Reviewed by Adam Barth.
105530
105531         Fix </optgroup> in "in select" mode
105532         https://bugs.webkit.org/show_bug.cgi?id=41733
105533
105534         I had to add a oneBelowTop() accessor.
105535         I added some ASSERTs after looking at the fragment case
105536         documentation.  I'm now convinced that top() and oneBeforeTop()
105537         should never be NULL, so we just ASSERT they aren't.
105538
105539         This is a very obscure corner of the HTML spec, but at least
105540         we have a test for it.  This makes one more html5lib test pass.
105541
105542         * html/HTMLConstructionSite.h:
105543         (WebCore::HTMLConstructionSite::oneBelowTop):
105544         * html/HTMLElementStack.cpp:
105545         (WebCore::HTMLElementStack::topRecord):
105546         (WebCore::HTMLElementStack::top):
105547         (WebCore::HTMLElementStack::oneBelowTop):
105548         * html/HTMLElementStack.h:
105549         * html/HTMLTreeBuilder.cpp:
105550         (WebCore::HTMLTreeBuilder::processEndTag):
105551
105552 2010-07-06  Eric Seidel  <eric@webkit.org>
105553
105554         Reviewed by Adam Barth.
105555
105556         Fix "in row" "Anything else" handling of end tags
105557         https://bugs.webkit.org/show_bug.cgi?id=41731
105558
105559         I also fixed </br> handling to follow the spec more closely
105560         since it implementation was old and didn't use all our
105561         new processFake* hotness.
105562
105563         This is already covered by 3 tests, however we don't
105564         pass them yet, due to lack of table foster parenting
105565         code (which Adam is working on as we speak).
105566
105567         * html/HTMLTreeBuilder.cpp:
105568         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
105569         (WebCore::HTMLTreeBuilder::processEndTag):
105570
105571 2010-07-06  Mark Rowe  <mrowe@apple.com>
105572
105573         Fix clean builds on Mac OS X.
105574
105575         Since "Copy Forwarding and ICU Headers" was split in to a separate target
105576         from the WebCore framework it no longer had automatica access to the
105577         PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header
105578         files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH
105579         its correct value and ensuring that the path exists.
105580
105581         * WebCore.xcodeproj/project.pbxproj:
105582
105583 2010-07-06  Sam Weinig  <sam@webkit.org>
105584
105585         Fix Gtk build.
105586
105587         * GNUmakefile.am:
105588
105589 2010-07-06  Mark Rowe  <mrowe@apple.com>
105590
105591         Tiger build fix.
105592
105593         Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator.
105594
105595         * WebCore.xcodeproj/project.pbxproj:
105596
105597 2010-07-06  Eric Seidel  <eric@webkit.org>
105598
105599         Reviewed by Adam Barth.
105600
105601         "In cell" does not correctly handle <td><tr> or <td><td>
105602         https://bugs.webkit.org/show_bug.cgi?id=41729
105603
105604         This change is mostly cleanup to try and prevent forgetting
105605         tag name checks in the future by using inlines to reduce
105606         copy/paste code.
105607
105608         3 little bugs in InCellMode:
105609          - Missing trTag from the long or statement (reason for the cleanup)
105610          - Used || instead of &&
105611          - Forgot to reprocess the tag after closeTheCell()
105612
105613         * html/HTMLTreeBuilder.cpp:
105614         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105615         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105616         (WebCore::HTMLTreeBuilder::processStartTag):
105617         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105618         (WebCore::HTMLTreeBuilder::processEndTag):
105619
105620 2010-07-06  Adam Barth  <abarth@webkit.org>
105621
105622         Reviewed by Eric Seidel.
105623
105624         Move fosterParent to HTMLConstructionSite
105625         https://bugs.webkit.org/show_bug.cgi?id=41728
105626
105627         This paves the way for handling the default case of InTableMode
105628         properly.
105629
105630         * html/HTMLConstructionSite.cpp:
105631         (WebCore::HTMLConstructionSite::fosterParent):
105632         * html/HTMLConstructionSite.h:
105633         * html/HTMLTreeBuilder.cpp:
105634         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
105635
105636 2010-07-06  Adam Barth  <abarth@webkit.org>
105637
105638         Rubber-stamped by Eric Seidel.
105639
105640         Move HTMLConstructionSite to its own file.  No behavior change.
105641
105642         * Android.mk:
105643         * CMakeLists.txt:
105644         * GNUmakefile.am:
105645         * WebCore.gypi:
105646         * WebCore.pro:
105647         * WebCore.vcproj/WebCore.vcproj:
105648         * WebCore.xcodeproj/project.pbxproj:
105649         * html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
105650         (WebCore::HTMLNames::hasImpliedEndTag):
105651         (WebCore::HTMLConstructionSite::attach):
105652         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
105653         (WebCore::HTMLConstructionSite::~HTMLConstructionSite):
105654         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
105655         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
105656         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
105657         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
105658         * html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h.
105659         * html/HTMLTreeBuilder.cpp:
105660         * html/HTMLTreeBuilder.h:
105661
105662 2010-07-06  Mark Rowe  <mrowe@apple.com>
105663
105664         Build fix.
105665
105666         The path to the generated file needs to be relative to the built product directory,
105667         not to the project file.
105668
105669         * WebCore.xcodeproj/project.pbxproj:
105670
105671 2010-07-06  Mark Rowe  <mrowe@apple.com>
105672
105673         Reviewed by Darin Adler.
105674
105675         <http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans
105676
105677         Change how the exports file is generated. Rather than having the logic for which symbols
105678         to include be encoded in a Makefile that concatenated separate files, the logic is now
105679         encoded as #if's in the base exports file. This ensures that the exact same preprocessor
105680         settings are used when determining which symbols to export as when compiling the code that
105681         defines the symbols.
105682
105683         * DerivedSources.make: Remove logic that determines which export files to concatenate.
105684         Replace with an invocation of WebCoreExportFileGenerator.
105685         * WebCore.3DRendering.exp: Removed.
105686         * WebCore.AcceleratedCompositing.exp: Removed.
105687         * WebCore.ClientBasedGeolocation.exp: Removed.
105688         * WebCore.ContextMenus.exp: Removed.
105689         * WebCore.DashboardSupport.exp: Removed.
105690         * WebCore.DragSupport.exp: Removed.
105691         * WebCore.Geolocation.exp: Removed.
105692         * WebCore.Inspector.exp: Removed.
105693         * WebCore.JNI.exp: Removed.
105694         * WebCore.NPAPI.exp: Removed.
105695         * WebCore.OrientationEvents.exp: Removed.
105696         * WebCore.PluginHostProcess.exp: Removed.
105697         * WebCore.ProtectionSpaceAuthCallback.exp: Removed.
105698         * WebCore.SVG.Animation.exp: Removed.
105699         * WebCore.SVG.Filters.exp: Removed.
105700         * WebCore.SVG.ForeignObject.exp: Removed.
105701         * WebCore.SVG.exp: Removed.
105702         * WebCore.Tiger.exp: Removed.
105703         * WebCore.Video.exp: Removed.
105704         * WebCore.VideoProxy.exp: Removed.
105705         * WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp
105706         files in, wrapping the appropriate parts with the necessary #if's.
105707         * WebCore.xcodeproj/project.pbxproj:
105708         * make-exports-file-generator: Added.
105709
105710 2010-07-06  Sam Weinig  <sam@webkit.org>
105711
105712         Reviewed by Anders Carlsson.
105713
105714         Patch for https://bugs.webkit.org/show_bug.cgi?id=41723
105715         Add BackForwardController class
105716
105717         - Add BackForwardController which currently only forwards to the existing
105718           BackForwardList implementation. This is a first step toward allowing
105719           for a proxying BackForwardList implementation.
105720
105721         * CMakeLists.txt:
105722         * GNUmakefile.am:
105723         * WebCore.base.exp:
105724         * WebCore.gypi:
105725         * WebCore.pro:
105726         * WebCore.vcproj/WebCore.vcproj:
105727         * WebCore.xcodeproj/project.pbxproj:
105728         * history/BackForwardController.cpp: Added.
105729         (WebCore::BackForwardController::BackForwardController):
105730         (WebCore::BackForwardController::~BackForwardController):
105731         * history/BackForwardController.h: Added.
105732         (WebCore::BackForwardController::client):
105733         (WebCore::BackForwardController::list):
105734         * history/BackForwardControllerClient.h: Added.
105735         (WebCore::BackForwardControllerClient::~BackForwardControllerClient):
105736         * page/Page.cpp:
105737         (WebCore::Page::Page):
105738         (WebCore::Page::~Page):
105739         (WebCore::Page::backForwardList):
105740         (WebCore::Page::goBack):
105741         (WebCore::Page::goForward):
105742         (WebCore::Page::canGoBackOrForward):
105743         (WebCore::Page::goBackOrForward):
105744         (WebCore::Page::getHistoryLength):
105745         * page/Page.h:
105746
105747 2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
105748
105749         Unreviewed.
105750
105751         Fixes regression on API test by disabling the scrollbars before
105752         configuring the adjustments.
105753
105754         * platform/gtk/ScrollViewGtk.cpp:
105755         (WebCore::ScrollView::setGtkAdjustments):
105756
105757 2010-07-06  Eric Seidel  <eric@webkit.org>
105758
105759         Reviewed by Adam Barth.
105760
105761         Add support for <li>, <dd> and <dt> nested tag closing
105762         https://bugs.webkit.org/show_bug.cgi?id=41720
105763
105764         li, dd, and dt have nearly identical logic in HTML5, so I
105765         attempted to make them share as much code as possible.
105766
105767         This fixes a bunch of subtests for html5lib/runner.html
105768
105769         * html/HTMLTreeBuilder.cpp:
105770         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
105771         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105772         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
105773         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
105774         * html/HTMLTreeBuilder.h:
105775
105776 2010-07-06  Adam Barth  <abarth@webkit.org>
105777
105778         Reviewed by Eric Seidel.
105779
105780         Factor HTMLConstructionSite out of HTMLTreeBuilder
105781         https://bugs.webkit.org/show_bug.cgi?id=41716
105782
105783         The HTMLContructionSite is the model object on which the
105784         HTMLTreeBuilder (a controller) acts.
105785
105786         No behavior change.  I'll move this class into its own file in a
105787         followup patch.
105788
105789         * html/HTMLFormattingElementList.h:
105790         (WebCore::HTMLFormattingElementList::at):
105791         * html/HTMLTreeBuilder.cpp:
105792         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
105793         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
105794         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
105795         (WebCore::HTMLTreeBuilder::processDoctypeToken):
105796         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
105797         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
105798         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
105799         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
105800         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
105801         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
105802         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105803         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
105804         (WebCore::HTMLTreeBuilder::closeTheCell):
105805         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105806         (WebCore::HTMLTreeBuilder::processStartTag):
105807         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
105808         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
105809         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
105810         (WebCore::HTMLTreeBuilder::findFosterParentFor):
105811         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
105812         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
105813         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
105814         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
105815         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
105816         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105817         (WebCore::HTMLTreeBuilder::processEndTag):
105818         (WebCore::HTMLTreeBuilder::processComment):
105819         (WebCore::HTMLTreeBuilder::processCharacter):
105820         (WebCore::HTMLTreeBuilder::processEndOfFile):
105821         (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
105822         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
105823         (WebCore::HTMLConstructionSite::insertDoctype):
105824         (WebCore::HTMLConstructionSite::insertComment):
105825         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
105826         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
105827         (WebCore::HTMLConstructionSite::createElementAndAttachToCurrent):
105828         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
105829         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
105830         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
105831         (WebCore::HTMLConstructionSite::insertElement):
105832         (WebCore::HTMLConstructionSite::insertSelfClosingElement):
105833         (WebCore::HTMLConstructionSite::insertFormattingElement):
105834         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
105835         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
105836         (WebCore::HTMLConstructionSite::insertScriptElement):
105837         (WebCore::HTMLTreeBuilder::processScriptStartTag):
105838         (WebCore::HTMLConstructionSite::insertTextNode):
105839         (WebCore::HTMLConstructionSite::createElement):
105840         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
105841         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
105842         (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
105843         (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
105844         * html/HTMLTreeBuilder.h:
105845         (WebCore::HTMLConstructionSite::currentElement):
105846         (WebCore::HTMLConstructionSite::openElements):
105847         (WebCore::HTMLConstructionSite::activeFormattingElements):
105848         (WebCore::HTMLConstructionSite::head):
105849         (WebCore::HTMLConstructionSite::form):
105850         (WebCore::HTMLConstructionSite::releaseForm):
105851         (WebCore::HTMLConstructionSite::setForm):
105852         (WebCore::HTMLConstructionSite::fragmentScriptingPermission):
105853         (WebCore::HTMLConstructionSite::attach):
105854
105855 2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
105856
105857         Reviewed by Xan Lopez.
105858
105859         [GTK] Scrollbars sometimes go dead and stop scrolling the view
105860         https://bugs.webkit.org/show_bug.cgi?id=41711
105861
105862         Fixes GtkScrolledWindow scrollbars not actually scrolling the page
105863         in certain conditions. No tests because it is hard to reproduce,
105864         and depends on interaction with a widget that is outside of the
105865         WebView, which is tricky.
105866
105867         * platform/gtk/ScrollViewGtk.cpp:
105868         (WebCore::ScrollView::setGtkAdjustments):
105869
105870 2010-07-06  Darin Adler  <darin@apple.com>
105871
105872         Reviewed by Geoffrey Garen.
105873
105874         Simplify access to element attribute map, removing unneeded functions
105875         https://bugs.webkit.org/show_bug.cgi?id=41703
105876
105877         * css/CSSStyleSelector.cpp:
105878         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the
105879         attributeMap function instead of the mappedAttributes function.
105880         (WebCore::CSSStyleSelector::styleForElement): Ditto.
105881
105882         * dom/Element.cpp:
105883         (WebCore::Element::~Element): Renamed namedAttrMap to m_attributeMap.
105884         (WebCore::Element::removeAttribute): Ditto.
105885         (WebCore::Element::getAttribute): Ditto.
105886         (WebCore::Element::setAttribute): Ditto.
105887         (WebCore::Element::setAttributeMap): Ditto.
105888         (WebCore::Element::hasAttributes): Ditto.
105889         (WebCore::Element::createAttributeMap): Ditto.
105890         (WebCore::Element::insertedIntoDocument): Ditto.
105891         (WebCore::Element::removedFromDocument): Ditto.
105892         (WebCore::Element::getURLAttribute): Ditto.
105893
105894         * dom/Element.h: Removed unneeded virtual attributes function.
105895         Made read-only argument to attributes function default to false.
105896         (Later, we'll eliminate this.) Renamed namedAttrMap to m_attributeMap
105897         and made it private instead of protected.
105898
105899         * dom/StyledElement.cpp:
105900         (WebCore::StyledElement::attributeChanged): Use attributeMap function
105901         instead of namedAttrMap data member or mappedAttributes function.
105902         (WebCore::StyledElement::classAttributeChanged): Ditto.
105903         (WebCore::StyledElement::parseMappedAttribute): Ditto.
105904
105905         * dom/StyledElement.h: Removed mappedAttributes function and changed
105906         callers to use attributeMap function instead.
105907
105908         * html/HTMLInputElement.cpp:
105909         (WebCore::HTMLInputElement::setInputType): Use attributeMap instead of
105910         mappedAttributes.
105911         * svg/SVGStyledElement.cpp:
105912         (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
105913
105914 2010-07-06  Anders Carlsson  <andersca@apple.com>
105915
105916         Reviewed by Sam Weinig.
105917
105918         Add a build rule that removes the old generated Obj-C bindings for PluginArray and MimeTypeArray.
105919
105920         * DerivedSources.make:
105921
105922 2010-07-06  Adam Barth  <abarth@webkit.org>
105923
105924         Unreviewed.
105925
105926         Make the remaining insertion modes explicit.
105927
105928         * html/HTMLTreeBuilder.cpp:
105929         (WebCore::HTMLTreeBuilder::processStartTag):
105930         (WebCore::HTMLTreeBuilder::processEndTag):
105931         (WebCore::HTMLTreeBuilder::processCharacter):
105932         (WebCore::HTMLTreeBuilder::processEndOfFile):
105933
105934 2010-07-06  Alexey Proskuryakov  <ap@apple.com>
105935
105936         Not reviewed, fixing a simple copy/paste mistake.
105937
105938         https://bugs.webkit.org/show_bug.cgi?id=41156
105939         Cross origin XMLHttpRequest should log the reason why connection failed
105940
105941         Covered by xmlhttprequest/access-control-basic-non-simple-deny-cached.html
105942
105943         * loader/CrossOriginPreflightResultCache.cpp:
105944         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): Fix incorrectly
105945         copy/pasted header field name.
105946
105947 2010-07-06  Xan Lopez  <xlopez@igalia.com>
105948
105949         GTK+ fixes for the DOM plug-in renaming Apocalypse.
105950
105951         * GNUmakefile.am:
105952
105953 2010-07-06  Anders Carlsson  <andersca@apple.com>
105954
105955         Yet another Windows build fix.
105956
105957         * DerivedSources.cpp:
105958
105959 2010-07-06  Anders Carlsson  <andersca@apple.com>
105960
105961         Fix Windows build.
105962
105963         * WebCore.vcproj/WebCore.vcproj:
105964
105965 2010-07-06  Anders Carlsson  <andersca@apple.com>
105966
105967         More build fixes.
105968
105969         * WebCore.gypi:
105970         * WebCore.pro:
105971
105972 2010-07-06  Anders Carlsson  <andersca@apple.com>
105973
105974         Try to fix Qt build.
105975
105976         * WebCore.pro:
105977
105978 2010-07-06  Anders Carlsson  <andersca@apple.com>
105979
105980         Attempt to fix GTK+ build.
105981
105982         * GNUmakefile.am:
105983
105984 2010-07-06  Adam Barth  <abarth@webkit.org>
105985
105986         Address reviewer comments from https://bugs.webkit.org/show_bug.cgi?id=41671
105987
105988         Deploy isTableBodyContextTag where possible.  No behavior change.
105989
105990         * html/HTMLTreeBuilder.cpp:
105991         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105992         (WebCore::HTMLTreeBuilder::processStartTag):
105993         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105994         (WebCore::HTMLTreeBuilder::processEndTag):
105995
105996 2010-07-06  Anders Carlsson  <andersca@apple.com>
105997
105998         Build fixes.
105999
106000         * WebCore.gypi:
106001         * bindings/js/JSBindingsAllInOne.cpp:
106002
106003 2010-07-06  Anders Carlsson  <andersca@apple.com>
106004
106005         Reviewed by Sam Weinig.
106006
106007         DOM plug-in related renames
106008         https://bugs.webkit.org/show_bug.cgi?id=41709
106009
106010         This is in preparation for using "Plugin" for something other than a DOM object.
106011
106012         MimeType => DOMMimeType
106013         MimeTypeArray => DOMMimeTypeArray
106014         Plugin => DOMPlugin
106015         PluginArray => DOMPluginArray
106016
106017         * CMakeLists.txt:
106018         * DerivedSources.make:
106019         * GNUmakefile.am:
106020         * WebCore.pri:
106021         * WebCore.vcproj/WebCore.vcproj:
106022         * WebCore.xcodeproj/project.pbxproj:
106023         * bindings/js/JSDOMMimeTypeArrayCustom.cpp: Added.
106024         (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
106025         (WebCore::JSDOMMimeTypeArray::nameGetter):
106026         * bindings/js/JSDOMPluginArrayCustom.cpp: Added.
106027         (WebCore::JSDOMPluginArray::canGetItemsForName):
106028         (WebCore::JSDOMPluginArray::nameGetter):
106029         * bindings/js/JSDOMPluginCustom.cpp: Added.
106030         (WebCore::JSDOMPlugin::canGetItemsForName):
106031         (WebCore::JSDOMPlugin::nameGetter):
106032         * bindings/js/JSMimeTypeArrayCustom.cpp: Removed.
106033         * bindings/js/JSPluginArrayCustom.cpp: Removed.
106034         * bindings/js/JSPluginCustom.cpp: Removed.
106035         * bindings/scripts/CodeGeneratorJS.pm:
106036         * page/DOMWindow.idl:
106037         * page/Navigator.cpp:
106038         (WebCore::Navigator::plugins):
106039         (WebCore::Navigator::mimeTypes):
106040         * page/Navigator.h:
106041         * page/Navigator.idl:
106042         * plugins/DOMMimeType.cpp: Added.
106043         (WebCore::DOMMimeType::DOMMimeType):
106044         (WebCore::DOMMimeType::~DOMMimeType):
106045         (WebCore::DOMMimeType::type):
106046         (WebCore::DOMMimeType::suffixes):
106047         (WebCore::DOMMimeType::description):
106048         (WebCore::DOMMimeType::enabledPlugin):
106049         * plugins/DOMMimeType.h: Added.
106050         (WebCore::DOMMimeType::create):
106051         (WebCore::DOMMimeType::mimeClassInfo):
106052         * plugins/DOMMimeType.idl: Added.
106053         * plugins/DOMMimeTypeArray.cpp: Added.
106054         (WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
106055         (WebCore::DOMMimeTypeArray::~DOMMimeTypeArray):
106056         (WebCore::DOMMimeTypeArray::length):
106057         (WebCore::DOMMimeTypeArray::item):
106058         (WebCore::DOMMimeTypeArray::canGetItemsForName):
106059         (WebCore::DOMMimeTypeArray::namedItem):
106060         (WebCore::DOMMimeTypeArray::getPluginData):
106061         * plugins/DOMMimeTypeArray.h: Added.
106062         (WebCore::DOMMimeTypeArray::create):
106063         (WebCore::DOMMimeTypeArray::disconnectFrame):
106064         * plugins/DOMMimeTypeArray.idl: Added.
106065         * plugins/DOMPlugin.cpp: Added.
106066         (WebCore::DOMPlugin::DOMPlugin):
106067         (WebCore::DOMPlugin::~DOMPlugin):
106068         (WebCore::DOMPlugin::name):
106069         (WebCore::DOMPlugin::filename):
106070         (WebCore::DOMPlugin::description):
106071         (WebCore::DOMPlugin::length):
106072         (WebCore::DOMPlugin::item):
106073         (WebCore::DOMPlugin::canGetItemsForName):
106074         (WebCore::DOMPlugin::namedItem):
106075         * plugins/DOMPlugin.h: Added.
106076         (WebCore::DOMPlugin::create):
106077         (WebCore::DOMPlugin::pluginInfo):
106078         * plugins/DOMPlugin.idl: Added.
106079         * plugins/DOMPluginArray.cpp: Added.
106080         (WebCore::DOMPluginArray::DOMPluginArray):
106081         (WebCore::DOMPluginArray::~DOMPluginArray):
106082         (WebCore::DOMPluginArray::length):
106083         (WebCore::DOMPluginArray::item):
106084         (WebCore::DOMPluginArray::canGetItemsForName):
106085         (WebCore::DOMPluginArray::namedItem):
106086         (WebCore::DOMPluginArray::refresh):
106087         (WebCore::DOMPluginArray::pluginData):
106088         * plugins/DOMPluginArray.h: Added.
106089         (WebCore::DOMPluginArray::create):
106090         (WebCore::DOMPluginArray::disconnectFrame):
106091         * plugins/DOMPluginArray.idl: Added.
106092         * plugins/MimeType.cpp: Removed.
106093         * plugins/MimeType.h: Removed.
106094         * plugins/MimeType.idl: Removed.
106095         * plugins/MimeTypeArray.cpp: Removed.
106096         * plugins/MimeTypeArray.h: Removed.
106097         * plugins/MimeTypeArray.idl: Removed.
106098         * plugins/Plugin.cpp: Removed.
106099         * plugins/Plugin.h: Removed.
106100         * plugins/Plugin.idl: Removed.
106101         * plugins/PluginArray.cpp: Removed.
106102         * plugins/PluginArray.h: Removed.
106103         * plugins/PluginArray.idl: Removed.
106104
106105 2010-07-06  Alexey Proskuryakov  <ap@apple.com>
106106
106107         Reviewed by Darin Adler.
106108
106109         https://bugs.webkit.org/show_bug.cgi?id=41156
106110         Cross origin XMLHttpRequest should log the reason why connection failed
106111
106112         Covered by multiple existing tests.
106113
106114         * loader/CrossOriginAccessControl.cpp:
106115         (WebCore::passesAccessControlCheck):
106116         * loader/CrossOriginAccessControl.h:
106117         * loader/CrossOriginPreflightResultCache.cpp:
106118         (WebCore::CrossOriginPreflightResultCacheItem::parse):
106119         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
106120         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
106121         (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
106122         * loader/CrossOriginPreflightResultCache.h:
106123         Functions that check requests now take a string argument for error explanation.
106124
106125         * loader/DocumentThreadableLoader.cpp:
106126         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Make an informative error
106127         if crossOriginRequestPolicy is DenyCrossOriginRequests. This doesn't currently go anywhere,
106128         since XMLHttpRequest is the only client that logs from didFail(), and it of course supports
106129         cross origin requests.
106130         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Make an informative
106131         error when trying to e.g. send a cross origin XMLHttpRequest to ftp://.
106132         (WebCore::DocumentThreadableLoader::didReceiveResponse): Pass error explanation from cross
106133         origin access control code.
106134         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
106135
106136         * loader/DocumentThreadableLoader.h: preflightFailure() now takes arguments.
106137
106138         * platform/network/ResourceErrorBase.cpp:
106139         * platform/network/ResourceErrorBase.h:
106140         Added a constant for WebKit error domain.
106141
106142         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): Report the error to console.
106143         One day we'll be able to also provide script file and line number here, so it's best to
106144         pass error all the way down to XHR for reporting.
106145
106146 2010-07-06  Pavel Podivilov  <podivilov@chromium.org>
106147
106148         Reviewed by Pavel Feldman.
106149
106150         Web Inspector: convert script offset to webkit format in v8 ScriptDebugServer
106151         https://bugs.webkit.org/show_bug.cgi?id=41696
106152
106153         * bindings/v8/ScriptDebugServer.cpp:
106154         (WebCore::ScriptDebugServer::dispatchDidParseSource):
106155
106156 2010-07-06  Adam Barth  <abarth@webkit.org>
106157
106158         Reviewed by Eric Seidel.
106159
106160         Implement InTableBodyMode
106161         https://bugs.webkit.org/show_bug.cgi?id=41671
106162
106163         In the process of implementing this patch, Eric and I discussed some of
106164         the high-level organization of the HTMLTreeBuilder class.  We'd like to
106165         split it up into smaller pieces.  In the meantime, I've reordered some
106166         of the declarations in the header to make the relations between the
106167         different kinds of functions clearer.
106168
106169         * html/HTMLElementStack.cpp:
106170         * html/HTMLTreeBuilder.cpp:
106171         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
106172         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
106173         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
106174         (WebCore::HTMLTreeBuilder::processStartTag):
106175         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
106176         (WebCore::HTMLTreeBuilder::processEndTag):
106177         (WebCore::HTMLTreeBuilder::processCharacter):
106178         (WebCore::HTMLTreeBuilder::processEndOfFile):
106179         * html/HTMLTreeBuilder.h:
106180
106181 2010-07-06  Leandro Pereira  <leandro@profusion.mobi>
106182
106183         Unreviewed build fix.
106184
106185         [EFL] Generate code for RemoteInspector.
106186
106187         * CMakeLists.txt:
106188
106189 2010-07-06  Varun Jain  <varunjain@chromium.org>
106190
106191         Reviewed by Oliver Hunt.
106192
106193         Implementing CURVE_TO_CUBIC specification for SVG Path Segments. Currently,
106194         curves specified in relative cordinates such as using createCurvetoCubicRel()
106195         javascript function are not displayed.
106196
106197         SVG CurvetoCubic Path not implemented for relative cordinates
106198         https://bugs.webkit.org/show_bug.cgi?id=41294
106199
106200         Test: svg/custom/svg-curve-with-relative-cordinates.html
106201
106202         * svg/SVGPathSegList.cpp:
106203         (WebCore::SVGPathSegList::toPathData):
106204
106205 2010-07-06  Alexey Proskuryakov  <ap@apple.com>
106206
106207         Roll out patch for https://bugs.webkit.org/show_bug.cgi?id=41348 "Remove global variables
106208         from XSLTProcessorLibxslt.cpp", as it causes crashes on buildbot.
106209
106210         * xml/XSLTProcessor.h:
106211         (WebCore::XSLTProcessor::xslStylesheet):
106212         (WebCore::XSLTProcessor::XSLTProcessor):
106213         * xml/XSLTProcessorLibxslt.cpp:
106214         (WebCore::docLoaderFunc):
106215         (WebCore::setXSLTLoadCallBack):
106216         (WebCore::xsltStylesheetPointer):
106217         (WebCore::XSLTProcessor::transformToString):
106218
106219 2010-07-06  Eric Seidel  <eric@webkit.org>
106220
106221         Reviewed by Adam Barth.
106222
106223         Add processing for "in cell" mode and end tag processing for "in row"
106224         https://bugs.webkit.org/show_bug.cgi?id=41688
106225
106226         I added several new table tests, not all of which pass yet.
106227         Remaining failures exist due to lack of full "in table body" mode
106228         support, which Adam has an outstanding patch for.
106229         I believe all of the various branches added by this change are
106230         covered now by our tests.
106231
106232         * html/HTMLElementStack.cpp:
106233          - Added QualifiedName versions of inScope functions.
106234            Using tagName.localName() is wrong for non-HTML elements,
106235            in preparation for supporting foreign content we should centralize
106236            our handling of QualifiedName in these functions instead of
106237            sprinkling more .localName() calls around the code.
106238         (WebCore::HTMLElementStack::inScope):
106239         (WebCore::HTMLElementStack::inListItemScope):
106240         (WebCore::HTMLElementStack::inTableScope):
106241         * html/HTMLElementStack.h:
106242         * html/HTMLFormattingElementList.cpp:
106243         (WebCore::HTMLFormattingElementList::Entry::operator==):
106244         (WebCore::HTMLFormattingElementList::Entry::operator!=):
106245          - Calling element() on markers will assert, so use m_element.
106246         * html/HTMLTreeBuilder.cpp:
106247         (WebCore::HTMLTreeBuilder::closeTheCell):
106248          - Implemented per the spec.
106249         (WebCore::HTMLTreeBuilder::processStartTag):
106250          - Use isTableBodyContextTag where possible.
106251          - Add InCellMode.
106252         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
106253          - Use isTableBodyContextTag where possible.
106254         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
106255          - This code is needed from at least two callsites.
106256         (WebCore::HTMLTreeBuilder::processEndTag):
106257          - Add InCellMode and InRowMode
106258         (WebCore::HTMLTreeBuilder::processCharacter):
106259         (WebCore::HTMLTreeBuilder::processEndOfFile):
106260         * html/HTMLTreeBuilder.h:
106261
106262 2010-07-06  Eric Seidel  <eric@webkit.org>
106263
106264         Reviewed by Adam Barth.
106265
106266         Make <a> auto-close any parent <a> tag
106267         https://bugs.webkit.org/show_bug.cgi?id=41684
106268
106269         I first fixed <a> to auto-close surrounding <a> tags.
106270         That caused about 3 more test passes and one new test failure.
106271         The test failure was due to <marque> not adding a marker
106272         to the active formatting elements.
106273
106274         So I made a one-line change to fix <marque>.  However that hit an
106275         ASSERT due to a bug in indexOfFirstUnopenFormattingElement.
106276         Fixing indexOfFirstUnopenFormattingElement fixed another bunch of
106277         Adoption Agency related tests (clearly this was the second typo
106278         which was causing all the adoption agency failures).
106279         
106280         However fixing <marque> and indexOfFirstUnopenFormattingElement,
106281         added yet another failure due to missing support for </p>
106282         automatically adding an implicit <p> tag.  Fixing </p> finally
106283         got the tests to a stable (all improving) state.
106284
106285         In the end, these 4 minor (and very well tested) tweaks fixed a total
106286         of 9 subtests in html5lib/runner.html.
106287         Another subtest progressed, but did not fully pass due to missing
106288         <table> foster-parenting support.
106289
106290         * html/HTMLTreeBuilder.cpp:
106291         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
106292         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
106293         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
106294
106295 2010-07-02  Philippe Normand  <pnormand@igalia.com>
106296
106297         Reviewed by Xan Lopez
106298
106299         [GStreamer] can't seek past maxTimeLoaded value
106300         https://bugs.webkit.org/show_bug.cgi?id=40526
106301
106302         Extended the seekable range to the whole media. This allows video
106303         played with progressive download to be seeked past the current
106304         buffered position.
106305
106306         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
106307         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
106308         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
106309
106310 2010-07-06  Andreas Wictor  <andreas.wictor@xcerion.com>
106311
106312         Reviewed by Alexey Proskuryakov.
106313
106314         Remove global variables from XSLTProcessorLibxslt.cpp
106315         https://bugs.webkit.org/show_bug.cgi?id=41348
106316
106317         Remove the globalProcessor and globalDocLoader global variables
106318         by using the _private field that exists on most libxml structs.
106319
106320         No new tests, existing tests covers this.
106321
106322         * xml/XSLTProcessor.h:
106323         (WebCore::XSLTProcessor::sourceNode):
106324         (WebCore::XSLTProcessor::XSLTProcessor):
106325         * xml/XSLTProcessorLibxslt.cpp:
106326         (WebCore::registredXSLTProcessors):
106327         (WebCore::registredXSLStyleSheets):
106328         (WebCore::docLoaderFunc):
106329         (WebCore::xsltStylesheetPointer):
106330         (WebCore::XSLTProcessor::transformToString):
106331
106332 2010-07-06  Darin Adler  <darin@apple.com>
106333
106334         Fix Cairo build.
106335
106336         * platform/graphics/cairo/GraphicsContextCairo.cpp:
106337         (WebCore::GraphicsContext::createPlatformShadow): Removed unnneded release
106338         in code that passes a PassOwnPtr to another PassOwnPtr.
106339
106340 2010-07-06  Darin Adler  <darin@apple.com>
106341
106342         Fix Chromium build.
106343
106344         * platform/graphics/skia/SkiaUtils.cpp:
106345         (WebCore::scratchContext): Use leakPtr instead of release.
106346
106347 2010-07-06  Martin Robinson  <mrobinson@igalia.com>
106348
106349         Unreviewed.
106350
106351         Build fix after r62549.
106352
106353         * GNUmakefile.am: Generate RemoteInspector files by manually listing
106354         them instead of building them into libWebCoreJS.la.
106355
106356 2010-07-06  Darin Adler  <darin@apple.com>
106357
106358         Reviewed by Adam Barth.
106359
106360         Add adoptPtr and leakPtr functions for OwnPtr and PassOwnPtr
106361         https://bugs.webkit.org/show_bug.cgi?id=41320
106362
106363         Made code changes required because of the change to the release function.
106364         The equivalent to the old release function is now named leakPtr and
106365         should be used sparingly. The new release function returns a PassOwnPtr.
106366
106367         * css/CSSFontFaceSource.cpp:
106368         (WebCore::CSSFontFaceSource::getFontData): Changed code to call
106369         leakPtr instead of release.
106370         * css/CSSParser.cpp:
106371         (WebCore::CSSParser::addProperty): Ditto.
106372
106373         * css/CSSSegmentedFontFace.cpp:
106374         (WebCore::CSSSegmentedFontFace::getFontData): Removed unneeded type
106375         casting. Not sure why this changed the type to FontData* and then
106376         casted back to SimpleFontData*.
106377
106378         * css/MediaQuery.cpp:
106379         (WebCore::MediaQuery::MediaQuery): Removed call to release on a
106380         PassOwnPtr, since the data member is now an OwnPtr.
106381         (WebCore::MediaQuery::~MediaQuery): Removed now-unneeded delete.
106382         * css/MediaQuery.h: Changed m_expressions to be an OwnPtr.
106383
106384         * html/HTMLToken.h:
106385         (WebCore::AtomicHTMLToken::AtomicHTMLToken): Use assignment instead
106386         of the set function since there are no raw pointers involved.
106387         * loader/CachedResource.cpp:
106388         (WebCore::CachedResource::makePurgeable): Ditto.
106389
106390         * loader/CrossOriginPreflightResultCache.cpp:
106391         (WebCore::CrossOriginPreflightResultCache::appendEntry): Use
106392         leakPtr instead of release, and also add FIXME about deleting the
106393         old value if the original and URL are already in the map. I
106394         believe dealing with this FIXME may fix a storage leak.
106395
106396         * loader/CrossOriginPreflightResultCache.h: Change the argument
106397         to be PassOwnPtr instead of a raw pointer, since this function
106398         does take ownership.
106399
106400         * loader/DocumentThreadableLoader.cpp:
106401         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
106402         Use assignment instead of the set function since there are no raw
106403         pointers involved.
106404         * loader/FrameLoader.cpp:
106405         (WebCore::FrameLoader::startIconLoader): Ditto.
106406         * loader/TextResourceDecoder.cpp:
106407         (WebCore::TextResourceDecoder::decode): Ditto.
106408         (WebCore::TextResourceDecoder::flush): Ditto.
106409
106410         * page/DOMTimer.cpp:
106411         (WebCore::DOMTimer::fired): Use OwnPtr instead of an explicit
106412         delete.
106413
106414         * platform/CrossThreadCopier.h: Removed explicit code that tried
106415         to copy PassOwnPtr in a complicated way. It did nothing different
106416         from just returning the PassOwnPtr. This presumably was done because
106417         PassRefPtr has issues when copied cross-thread, but there are no
106418         similar issues for PassOwnPtr. Someone with more experience than I
106419         might be able to remove the specialization altogether, because
106420         CrossThreadCopierPassThrough does the right thing in this case.
106421
106422         * platform/SharedBuffer.cpp:
106423         (WebCore::SharedBuffer::adoptPurgeableBuffer): Changed argument to
106424         be a PassOwnPtr.
106425         (WebCore::SharedBuffer::releasePurgeableBuffer): Changed result to
106426         be a PassOwnPtr.
106427         * platform/SharedBuffer.h: Updated for changes above.
106428
106429         * rendering/RenderSVGResourceFilter.cpp:
106430         (WebCore::RenderSVGResourceFilter::applyResource): Changed one site
106431         to use assignment instead of the set function since there are no raw
106432         pointers involved. Changed another site to use leakPtr instead
106433         of release.
106434
106435         * rendering/RenderSVGResourceGradient.cpp:
106436         (WebCore::createMaskAndSwapContextForTextGradient): Use assignment
106437         instead of the set function since there are no raw pointers involved.
106438
106439         * rendering/style/RenderStyle.cpp:
106440         (WebCore::RenderStyle::setContent): Use leakPtr instead of release.
106441         (WebCore::RenderStyle::setBoxShadow): Ditto.
106442
106443         * workers/DefaultSharedWorkerRepository.cpp:
106444         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
106445         Removed unneeded call to release function in a code path that passes
106446         a PassOwnPtr to a function that takes a PassOwnPtr.
106447
106448         * workers/WorkerContext.cpp:
106449         (WebCore::WorkerContext::setTimeout): Changed argument type to PassOwnPtr.
106450         (WebCore::WorkerContext::setInterval): Ditto.
106451         * workers/WorkerContext.h: Updated for changes above.
106452
106453         * workers/WorkerMessagingProxy.cpp:
106454         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
106455         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
106456         Removed unneeded call to release function in code paths that pass
106457         a PassOwnPtr to a function that takes a PassOwnPtr.
106458
106459 2010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>
106460
106461         Reviewed by Yury Semikhatsky.
106462
106463         WebInspector: generator part of the patch for bug 40675.
106464         On the way to Remote Debugging we want to support JSON serialization
106465         on both sides of WebInspector transport.
106466         As far as InspectorFrontend class is a simple proxy to WebInspector
106467         it would be better to generate it from an IDL file.
106468         We have generator infrastructure for binding and will reuse it for
106469         new generator.
106470         https://bugs.webkit.org/show_bug.cgi?id=41692
106471
106472
106473         * CMakeLists.txt:
106474         * DerivedSources.make:
106475         * GNUmakefile.am:
106476         * WebCore.gyp/WebCore.gyp:
106477         * WebCore.gyp/scripts/rule_binding.py:
106478         * WebCore.gypi:
106479         * WebCore.pri:
106480         * WebCore.vcproj/WebCore.vcproj:
106481         * WebCore.xcodeproj/project.pbxproj:
106482         * bindings/scripts/CodeGenerator.pm:
106483         * bindings/scripts/IDLParser.pm:
106484         * bindings/scripts/generate-bindings.pl:
106485         * inspector/CodeGeneratorInspector.pm: Added.
106486         * inspector/InspectorController.cpp:
106487         (WebCore::InspectorController::connectFrontend):
106488         (WebCore::InspectorController::startTimelineProfiler):
106489         * inspector/InspectorController.h:
106490         * inspector/InspectorFrontend.cpp:
106491         * inspector/InspectorFrontend.h:
106492         * inspector/InspectorFrontend2.idl: Added.
106493         * inspector/InspectorTimelineAgent.cpp:
106494         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
106495         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
106496         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
106497         * inspector/InspectorTimelineAgent.h:
106498
106499 2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
106500
106501         Rubber-stamped by Xan Lopez.
106502
106503         [GTK] Crashes when going back with page cache in unknown circunstances
106504         https://bugs.webkit.org/show_bug.cgi?id=41710
106505
106506         Also NULL-check document, in hopes of fixing this hard to
106507         reproduce crash that we are getting reported quite a bit.
106508
106509         * page/FrameView.cpp:
106510         (WebCore::FrameView::windowClipRect):
106511
106512 2010-07-05  Ilya Tikhonovsky  <loislo@chromium.org>
106513
106514         Reviewed by Yury Semikhatsky.
106515
106516         Web Inspector: On the way to Remote Debuging we want to support JSON
106517         serialization on both sides of WebInspector transport. As far as
106518         InspectorFrontend class is a simple proxy to WebInspector it would
106519         be better to generate it from an IDL file. We have generator
106520         infostructure for binding and will reuse it for new generator.
106521         https://bugs.webkit.org/show_bug.cgi?id=40675
106522
106523         * bindings/js/ScriptCallStack.cpp:
106524         (WebCore::ScriptCallStack::stackTrace):
106525         * bindings/js/ScriptCallStack.h:
106526         * bindings/v8/ScriptCallStack.cpp:
106527         (WebCore::ScriptCallStack::stackTrace):
106528         * bindings/v8/ScriptCallStack.h:
106529         * inspector/InspectorFrontend.cpp:
106530         (WebCore::InspectorFrontend::addRecordToTimeline):
106531         * inspector/InspectorFrontend.h:
106532         * inspector/InspectorTimelineAgent.cpp:
106533         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
106534         (WebCore::InspectorTimelineAgent::willCallFunction):
106535         (WebCore::InspectorTimelineAgent::willDispatchEvent):
106536         (WebCore::InspectorTimelineAgent::willLayout):
106537         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
106538         (WebCore::InspectorTimelineAgent::willPaint):
106539         (WebCore::InspectorTimelineAgent::willWriteHTML):
106540         (WebCore::InspectorTimelineAgent::didWriteHTML):
106541         (WebCore::InspectorTimelineAgent::didInstallTimer):
106542         (WebCore::InspectorTimelineAgent::didRemoveTimer):
106543         (WebCore::InspectorTimelineAgent::willFireTimer):
106544         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
106545         (WebCore::InspectorTimelineAgent::willLoadXHR):
106546         (WebCore::InspectorTimelineAgent::willEvaluateScript):
106547         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
106548         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
106549         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
106550         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
106551         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
106552         (WebCore::InspectorTimelineAgent::didMarkTimeline):
106553         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
106554         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
106555         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
106556         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
106557         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
106558         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
106559         * inspector/InspectorTimelineAgent.h:
106560         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
106561         * inspector/TimelineRecordFactory.cpp:
106562         (WebCore::TimelineRecordFactory::createGenericRecord):
106563         (WebCore::TimelineRecordFactory::createGCEventData):
106564         (WebCore::TimelineRecordFactory::createFunctionCallData):
106565         (WebCore::TimelineRecordFactory::createEventDispatchData):
106566         (WebCore::TimelineRecordFactory::createGenericTimerData):
106567         (WebCore::TimelineRecordFactory::createTimerInstallData):
106568         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
106569         (WebCore::TimelineRecordFactory::createXHRLoadData):
106570         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
106571         (WebCore::TimelineRecordFactory::createMarkTimelineData):
106572         (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
106573         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
106574         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
106575         (WebCore::TimelineRecordFactory::createResourceFinishData):
106576         (WebCore::TimelineRecordFactory::createReceiveResourceData):
106577         (WebCore::TimelineRecordFactory::createPaintData):
106578         (WebCore::TimelineRecordFactory::createParseHTMLData):
106579         * inspector/TimelineRecordFactory.h:
106580
106581 2010-07-06  Adam Barth  <abarth@webkit.org>
106582
106583         Reviewed by Eric Seidel.
106584
106585         Implement InColgroupMode
106586         https://bugs.webkit.org/show_bug.cgi?id=41663
106587
106588         * html/HTMLTreeBuilder.cpp:
106589         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
106590         (WebCore::HTMLTreeBuilder::processStartTag):
106591         (WebCore::HTMLTreeBuilder::processEndTag):
106592         (WebCore::HTMLTreeBuilder::processCharacter):
106593         (WebCore::HTMLTreeBuilder::processEndOfFile):
106594         * html/HTMLTreeBuilder.h:
106595
106596 2010-07-06  Eric Seidel  <eric@webkit.org>
106597
106598         Reviewed by Adam Barth.
106599
106600         Implement bookmarking for HTML5 Adoption Agency algorithm
106601         https://bugs.webkit.org/show_bug.cgi?id=41659
106602
106603         Was easier than I expected it to be.
106604         Fixes a bunch of html5lib/runner.html tests.
106605
106606         * html/HTMLFormattingElementList.cpp:
106607         (WebCore::HTMLFormattingElementList::bookmarkFor):
106608         (WebCore::HTMLFormattingElementList::insertAt):
106609         * html/HTMLFormattingElementList.h:
106610         (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
106611         (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
106612         (WebCore::HTMLFormattingElementList::Bookmark::elementBefore):
106613         (WebCore::HTMLFormattingElementList::Bookmark::elementAfter):
106614         * html/HTMLTreeBuilder.cpp:
106615         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
106616
106617 2010-07-06  Adam Barth  <abarth@webkit.org>
106618
106619         Reviewed by Eric Seidel.
106620
106621         Implement more of InTableMode
106622         https://bugs.webkit.org/show_bug.cgi?id=41652
106623
106624         By the time we got around to landing this patch, it turns out to be
106625         just a bit of cleanup (the functional changes where landed already.)
106626
106627         * html/HTMLTreeBuilder.cpp:
106628         (WebCore::HTMLTreeBuilder::processCharacter):
106629         (WebCore::HTMLTreeBuilder::processEndOfFile):
106630
106631 2010-07-06  Sheriff Bot  <webkit.review.bot@gmail.com>
106632
106633         Unreviewed, rolling out r62529.
106634         http://trac.webkit.org/changeset/62529
106635         https://bugs.webkit.org/show_bug.cgi?id=41661
106636
106637         http/tests/inspector/resource-har-conversion.html is broken
106638         (Requested by yutak on #webkit).
106639
106640         * inspector/InspectorController.cpp:
106641         (WebCore::InspectorController::addResource):
106642         (WebCore::InspectorController::removeResource):
106643         * inspector/InspectorController.h:
106644         * inspector/InspectorResource.cpp:
106645         (WebCore::InspectorResource::InspectorResource):
106646         (WebCore::InspectorResource::updateScriptObject):
106647         (WebCore::InspectorResource::cachedResource):
106648         (WebCore::InspectorResource::type):
106649         (WebCore::InspectorResource::resourceData):
106650         * inspector/InspectorResource.h:
106651         (WebCore::InspectorResource::):
106652         (WebCore::InspectorResource::create):
106653         * inspector/front-end/Resource.js:
106654         (WebInspector.Resource.Type.toString):
106655         (WebInspector.Resource.prototype.set type):
106656         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
106657         * inspector/front-end/ResourceView.js:
106658         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
106659         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
106660         (WebInspector.ResourceView.prototype._refreshHeaders):
106661         * inspector/front-end/inspector.css:
106662         (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
106663         * inspector/front-end/inspector.js:
106664         (WebInspector.loaded):
106665         (WebInspector.updateResource):
106666         * websockets/WebSocketChannel.cpp:
106667         (WebCore::WebSocketChannel::WebSocketChannel):
106668         (WebCore::WebSocketChannel::disconnect):
106669         (WebCore::WebSocketChannel::didOpen):
106670         (WebCore::WebSocketChannel::didClose):
106671         (WebCore::WebSocketChannel::processBuffer):
106672         * websockets/WebSocketChannel.h:
106673
106674 2010-07-06  Adam Barth  <abarth@webkit.org>
106675
106676         Reviewed by Eric Seidel.
106677
106678         Implement InCaptionMode
106679         https://bugs.webkit.org/show_bug.cgi?id=41660
106680
106681         Implementing this mode also turned up a subtle bug in the adoption
106682         agency code.
106683
106684         * html/HTMLTreeBuilder.cpp:
106685         (WebCore::HTMLTreeBuilder::processStartTag):
106686         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
106687         (WebCore::HTMLTreeBuilder::processEndTag):
106688         (WebCore::HTMLTreeBuilder::processCharacter):
106689         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
106690             - We're supposed to reutrn the first *unopened* formatting element.
106691               The old code returned the first *opened* formatting element.
106692         * html/HTMLTreeBuilder.h:
106693
106694 2010-07-06  Adam Barth  <abarth@webkit.org>
106695
106696         Reviewed by Eric Seidel.
106697
106698         Implement defaut cases for InTableMode
106699         https://bugs.webkit.org/show_bug.cgi?id=41656
106700
106701         * html/HTMLTreeBuilder.cpp:
106702         (WebCore::HTMLTreeBuilder::processStartTag):
106703         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
106704         (WebCore::HTMLTreeBuilder::processEndTag):
106705         * html/HTMLTreeBuilder.h:
106706
106707 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
106708
106709         Reviewed by Dirk Schulze.
106710
106711         SVGRenderContainer forces too many kids to relayout
106712         https://bugs.webkit.org/show_bug.cgi?id=15391
106713
106714         Fixing a long-standing performance issue. We should only ever need to relayout container children when the parent bounds change.
106715         The bounds of a container can only change, if the outermost RenderSVGRoot container uses relative length values and its size changes.
106716         This can either happen when the window resizes for standalone SVG documents, or if an enclosing RenderBox changes width/height values.
106717
106718         Only relayout container children if the container has selfNeedsLayout() true, or if the parent bounds change.
106719         Lively Kernel doesn't do any relayouts anymore, except if you change the Safari window size, this is a great progression.
106720
106721         * rendering/RenderPath.cpp:
106722         (WebCore::RenderPath::layout): No need to special case Path updates, if the element uses relative lengths. SVGRenderSupport now handles this case.
106723         * rendering/RenderSVGContainer.cpp:
106724         (WebCore::RenderSVGContainer::layout): Fix some style issues.
106725         * rendering/RenderSVGContainer.h:
106726         (WebCore::RenderSVGContainer::setDrawsContents): Inlined for speed.
106727         (WebCore::RenderSVGContainer::drawsContents): Ditto.
106728         * rendering/RenderSVGRoot.cpp:
106729         (WebCore::RenderSVGRoot::RenderSVGRoot): Initialize m_isLayoutSizeChanged to false.
106730         (WebCore::RenderSVGRoot::layout): Set m_isLayoutSizeChanged=true when the RenderSVGRoot size changes during layout.
106731         (WebCore::RenderSVGRoot::calcViewport): Remove hasRelativeLengths() special case.
106732         * rendering/RenderSVGRoot.h:
106733         (WebCore::RenderSVGRoot::isLayoutSizeChanged): New function, which returns true during layout() if the outermost <svg> size changes.
106734         * rendering/RenderSVGViewportContainer.cpp:
106735         (WebCore::RenderSVGViewportContainer::calcViewport): Cleanup code, and remove obsolete hasRelativeLengths() special case.
106736         * rendering/SVGRenderSupport.cpp:
106737         (WebCore::svgRootTreeObject): Added helper function, that returns the RenderSVGRoot for a given RenderObject.
106738         (WebCore::SVGRenderSupport::layoutChildren): Remove FIXME, only relayout container children, if the parent bounds change and the child uses relative lengths.
106739         * svg/SVGStyledElement.cpp:
106740         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Implemented this function. Keeps track of relative lengths elements, so that the
106741                                                                        hasRelativeLengths() information is always up2date.
106742         * svg/SVGStyledElement.h:
106743         (WebCore::SVGStyledElement::hasRelativeLengths): Don't call the virtual selfHasRelativeLengths() information, just return wheter m_elementsWithRelativeLengths is not empty.
106744
106745 2010-07-05  Yuzo Fujishima  <yuzo@google.com>
106746
106747         Reviewed by Dan Bernstein.
106748
106749         Fix for Bug 41509 - Ranges for @font-face unicode-range must be separated by commas
106750         https://bugs.webkit.org/show_bug.cgi?id=41509
106751
106752         Test: fast/css/font-face-multiple-ranges-for-unicode-range.html
106753
106754         * css/CSSParser.cpp:
106755         (WebCore::CSSParser::parseFontFaceUnicodeRange):
106756
106757 2010-07-05  Yuta Kitamura  <yutak@chromium.org>
106758
106759         Reviewed by Pavel Feldman.
106760
106761         Add WebSocket resource type to Web Inspector.
106762
106763         When a new WebSocket connection is established, a line for that connection
106764         will appear in Web Inspector's Resources tab. If the resource name is
106765         clicked, the details of handshake request and response will be shown.
106766
106767         Web Inspector: WebSocket in Resources tab
106768         https://bugs.webkit.org/show_bug.cgi?id=40768
106769
106770         * inspector/InspectorController.cpp:
106771         (WebCore::InspectorController::addResource): WebSocket resource does not
106772         have an associated loader, thus frame might be null. Need to check it.
106773         (WebCore::InspectorController::removeResource): Ditto.
106774         (WebCore::InspectorController::didCreateWebSocket):
106775         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
106776         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
106777         (WebCore::InspectorController::didCloseWebSocket):
106778         * inspector/InspectorController.h:
106779         * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
106780         because WebSocket does not have a loader and we need to allow null for
106781         these variables.
106782         (WebCore::createReadableStringFromBinary):
106783         (WebCore::InspectorResource::InspectorResource):
106784         (WebCore::InspectorResource::create): Factory function of
106785         regular (non-WebSocket) resources.
106786         (WebCore::InspectorResource::createWebSocket): Factory function of
106787         WebSocket resources.
106788         (WebCore::InspectorResource::updateWebSocketRequest):
106789         (WebCore::InspectorResource::updateWebSocketResponse):
106790         (WebCore::InspectorResource::updateScriptObject):
106791         (WebCore::InspectorResource::cachedResource):
106792         (WebCore::InspectorResource::type):
106793         (WebCore::InspectorResource::resourceData):
106794         * inspector/InspectorResource.h:
106795         (WebCore::InspectorResource::):
106796         (WebCore::InspectorResource::markWebSocket):
106797         * inspector/front-end/Resource.js:
106798         (WebInspector.Resource.Type.toString):
106799         (WebInspector.Resource.prototype.set type):
106800         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
106801         * inspector/front-end/ResourceView.js:
106802         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
106803         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
106804         (WebInspector.ResourceView.prototype._refreshHeaders):
106805         * inspector/front-end/inspector.css:
106806         (.resources-category-websockets, .resources-category-other):
106807         (.resources-category-websockets .resources-graph-bar):
106808         (.resources-category-websockets.resource-cached .resources-graph-bar):
106809         * inspector/front-end/inspector.js:
106810         (WebInspector.loaded):
106811         (WebInspector.updateResource):
106812         * websockets/WebSocketChannel.cpp:
106813         (WebCore::WebSocketChannel::WebSocketChannel):
106814         (WebCore::WebSocketChannel::disconnect):
106815         (WebCore::WebSocketChannel::didOpen):
106816         (WebCore::WebSocketChannel::didClose):
106817         (WebCore::WebSocketChannel::processBuffer):
106818         (WebCore::WebSocketChannel::identifier):
106819         * websockets/WebSocketChannel.h:
106820
106821 2010-07-05  Yury Semikhatsky  <yurys@chromium.org>
106822
106823         Unreviewed. Fix Chromium build.
106824
106825         * inspector/InspectorApplicationCacheAgent.cpp:
106826         (WebCore::InspectorApplicationCacheAgent::fillResourceList):
106827         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
106828
106829 2010-07-05  Adam Barth  <abarth@webkit.org>
106830
106831         Unreviewed.
106832
106833         Move processStartTagForInBody to its own function.
106834
106835         * html/HTMLTreeBuilder.cpp:
106836         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
106837         (WebCore::HTMLTreeBuilder::processStartTag):
106838         * html/HTMLTreeBuilder.cpp.orig: Added.
106839         * html/HTMLTreeBuilder.h:
106840
106841 2010-07-05  Eric Seidel  <eric@webkit.org>
106842
106843         Reviewed by Adam Barth.
106844
106845         Fix one more notImplemented in h1-h6 start tag handling
106846         https://bugs.webkit.org/show_bug.cgi?id=41654
106847
106848         * html/HTMLTreeBuilder.cpp:
106849         (WebCore::HTMLTreeBuilder::processStartTag):
106850
106851 2010-07-05  Eric Seidel  <eric@webkit.org>
106852
106853         Unreviewed.  Just fixing proess to process.
106854         Clearly Adam and I can't spell.  Thankfully MikeSmith can.
106855
106856         Add <isindex> support, per HTML5
106857         https://bugs.webkit.org/show_bug.cgi?id=41650
106858
106859         * html/HTMLTreeBuilder.cpp:
106860         (WebCore::HTMLTreeBuilder::processFakeStartTag):
106861         (WebCore::HTMLTreeBuilder::processFakeEndTag):
106862         (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
106863         (WebCore::HTMLTreeBuilder::processStartTag):
106864         * html/HTMLTreeBuilder.h:
106865
106866 2010-07-05  Eric Seidel  <eric@webkit.org>
106867
106868         Reviewed by Adam Barth.
106869
106870         Add <isindex> support, per HTML5
106871         https://bugs.webkit.org/show_bug.cgi?id=41650
106872
106873         Covered by html5lib/runner.html including a new
106874         isindex.dat test suite.
106875
106876         * html/HTMLToken.h:
106877         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
106878          - Support passing attributes to the constructor.
106879         (WebCore::AtomicHTMLToken::name):
106880         (WebCore::AtomicHTMLToken::setName):
106881         (WebCore::AtomicHTMLToken::getAttributeItem):
106882         (WebCore::AtomicHTMLToken::attributes):
106883         (WebCore::AtomicHTMLToken::takeAtributes):
106884          - Reduces ref-churn, and makes it possible for callers
106885            to modify attributes w/o affecting future uses of the attributes.
106886         (WebCore::AtomicHTMLToken::usesName):
106887          - Used by ASSERTS.
106888         (WebCore::AtomicHTMLToken::usesAttributes):
106889          - Used by ASSERTS.
106890         * html/HTMLTreeBuilder.cpp:
106891         (WebCore::convertToOldStyle):
106892          - Can't be const, now that we use takeAttributes()
106893         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
106894         (WebCore::HTMLTreeBuilder::proesssFakeStartTag):
106895          - New function.  I'm not sure this is the perfect design
106896           (I'd kinda like AtomicHTMLToken to be copyable so we can
106897            have create functions for it), but this makes the callsites
106898            using fake tokens much more readable.
106899         (WebCore::HTMLTreeBuilder::proesssFakeEndTag):
106900         (WebCore::HTMLTreeBuilder::processFakeCharacters):
106901         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
106902         (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
106903         (WebCore::HTMLTreeBuilder::processStartTag):
106904         (WebCore::HTMLTreeBuilder::insertScriptElement):
106905          - Use takeAttributes() for less ref-churn.
106906         (WebCore::HTMLTreeBuilder::createElement): ditto
106907         (WebCore::HTMLTreeBuilder::finished):
106908          - Remove bogus use of AtomicHTMLToken constructor which
106909            wasn't even being used now that we support emitting EOF tokens
106910            from the Tokenizer directly.
106911         * html/HTMLTreeBuilder.h:
106912
106913 2010-07-05  Adam Barth  <abarth@webkit.org>
106914
106915         Reviewed by Eric Seidel.
106916
106917         ASSERT that we're processing the correct type of token
106918         https://bugs.webkit.org/show_bug.cgi?id=41647
106919
106920         Making these asserts work required a small (non-observable) tweak to
106921         some old code.
106922
106923         * html/HTMLTreeBuilder.cpp:
106924         (WebCore::HTMLTreeBuilder::processDoctypeToken):
106925         (WebCore::HTMLTreeBuilder::processStartTag):
106926         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
106927         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
106928         (WebCore::HTMLTreeBuilder::processEndTag):
106929         (WebCore::HTMLTreeBuilder::processComment):
106930         (WebCore::HTMLTreeBuilder::processCharacter):
106931         (WebCore::HTMLTreeBuilder::processEndOfFile):
106932         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
106933
106934 2010-07-05  Adam Barth  <abarth@webkit.org>
106935
106936         Reviewed by Eric Seidel.
106937
106938         Implement in select in table
106939         https://bugs.webkit.org/show_bug.cgi?id=41646
106940
106941         This mode is mostly a fall-through to the InSelectMode.
106942
106943         * html/HTMLTreeBuilder.cpp:
106944         (WebCore::HTMLTreeBuilder::processStartTag):
106945         (WebCore::HTMLTreeBuilder::processEndTag):
106946         (WebCore::HTMLTreeBuilder::processCharacter):
106947         (WebCore::HTMLTreeBuilder::processEndOfFile):
106948
106949 2010-07-05  Adam Barth  <abarth@webkit.org>
106950
106951         Reviewed by Eric Seidel.
106952
106953         Implement basic text node coalescing
106954         https://bugs.webkit.org/show_bug.cgi?id=41623
106955
106956         This patch isn't the end-all, be-all of text node coalescing, but it's
106957         a good start.
106958
106959         * dom/CharacterData.cpp:
106960         (WebCore::CharacterData::parserAppendData):
106961         (WebCore::CharacterData::appendData):
106962         * dom/CharacterData.h:
106963             - Added a new method to dance around mutation events.
106964         * html/HTMLTreeBuilder.cpp:
106965         (WebCore::HTMLTreeBuilder::insertTextNode):
106966
106967 2010-07-05  Adam Barth  <abarth@webkit.org>
106968
106969         Reviewed by Eric Seidel.
106970
106971         Implement InSelectMode
106972         https://bugs.webkit.org/show_bug.cgi?id=41627
106973
106974         * html/HTMLTreeBuilder.cpp:
106975         (WebCore::HTMLTreeBuilder::processStartTag):
106976         (WebCore::HTMLTreeBuilder::processEndTag):
106977         (WebCore::HTMLTreeBuilder::processCharacter):
106978         (WebCore::HTMLTreeBuilder::processEndOfFile):
106979
106980 2010-07-05  Fady Samuel  <fsamuel@chromium.org>
106981
106982         Reviewed by Darin Adler.
106983
106984         Fixed a svg crash when setting class of an svg ellipse object.
106985
106986         Altering the CSS class of an attached SVG element causes WebKit to crash
106987         https://bugs.webkit.org/show_bug.cgi?id=40857
106988
106989         Test: svg/css/svg-ellipse-render-crash.html
106990
106991         * dom/StyledElement.cpp:
106992         (WebCore::StyledElement::classAttributeChanged):
106993
106994 2010-07-05  Dan Bernstein  <mitz@apple.com>
106995
106996         Reviewed by Sam Weinig.
106997
106998         Reproducible crash with Optimize Legibility extension
106999         https://bugs.webkit.org/show_bug.cgi?id=41585
107000
107001         Test: fast/css/text-rendering-priority.html
107002
107003         Moved the text-rendering CSS property to the “high priority” group, because applying it
107004         during style selection invalidates the font.
107005
107006         * css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
107007         * css/CSSStyleSelector.cpp:
107008         (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
107009
107010 2010-07-05  Dan Bernstein  <mitz@apple.com>
107011
107012         Reviewed by Sam Weinig.
107013
107014         optimizeLegibility doesn't play nice with fonts that do not have a space glyph
107015         https://bugs.webkit.org/show_bug.cgi?id=41599
107016
107017         No test because none of the fonts available to DumpRenderTree are missing a space glyph.
107018
107019         * rendering/RenderBlockLineLayout.cpp:
107020         (WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character
107021         to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be
107022         initialized with the width of a space as measured by the Font rather than with the cached
107023         space width.
107024
107025 2010-07-05  Eric Seidel  <eric@webkit.org>
107026
107027         Reviewed by Adam Barth.
107028
107029         Implement HTML5's "reset insertion mode appropriately"
107030         https://bugs.webkit.org/show_bug.cgi?id=41628
107031
107032         This has some minimal testing.  One from my previous
107033         </table> patch, and a few from the main suite.
107034
107035         Mostly resetInsertionModeAppropriately isn't used yet
107036         but we're about to add a bunch of states which do use it
107037         and our test coverage will expand further as we do.
107038
107039         * html/HTMLTreeBuilder.cpp:
107040         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
107041         (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
107042         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
107043         * html/HTMLTreeBuilder.h:
107044
107045 2010-07-04  Eric Seidel  <eric@webkit.org>
107046
107047         Reviewed by Adam Barth.
107048
107049         Add </table> support for "in table" insertion mode
107050         https://bugs.webkit.org/show_bug.cgi?id=41591
107051
107052         resetInsertionModeAppropriately isn't implemented yet, however
107053         I've added a test for the usage I added.
107054
107055         * html/HTMLTreeBuilder.cpp:
107056         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
107057         (WebCore::HTMLTreeBuilder::processEndTag):
107058         * html/HTMLTreeBuilder.h:
107059
107060 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107061
107062         Unreviewed build fix for r62503.
107063
107064         Chromium missing method. Filed bug 41632 to track.
107065
107066         * loader/appcache/ApplicationCacheHost.h:
107067         (WebCore::ApplicationCacheHost::applicationCache):
107068
107069 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107070
107071         Unreviewed build fix for r62503.
107072
107073         Missed GTK's build file.
107074
107075         * GNUmakefile.am:
107076
107077 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107078
107079         Unreviewed build fix for r62503.
107080
107081         Pass a blank ResourceResponse instead of passing 0.
107082
107083         * loader/appcache/ApplicationCacheGroup.cpp:
107084         (WebCore::ApplicationCacheGroup::createResourceHandle):
107085
107086 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107087
107088         Unreviewed build fix for r62503.
107089
107090         Forward declare ApplicationCache for Chromium.
107091
107092         * loader/appcache/ApplicationCacheHost.h:
107093
107094 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107095
107096         Reviewed by Pavel Feldman.
107097
107098         WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
107099         https://bugs.webkit.org/show_bug.cgi?id=24529
107100
107101         Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>.
107102
107103         Part 2: Pulling ApplicationCache Resources to Display in the Inspector.
107104
107105           The InspectorApplicationCacheAgent gathers the information it
107106           needs and forwards it on to the inspector.
107107
107108         * inspector/InspectorApplicationCacheAgent.cpp:
107109         (WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources.
107110         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost.
107111         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
107112         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
107113         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
107114         * inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources.
107115         (WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo):
107116         (WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo):
107117         (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
107118         * loader/appcache/ApplicationCacheHost.h:
107119         (WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector.
107120         (WebCore::ApplicationCacheHost::documentLoader): added const.
107121
107122           The User Interface uses a DataGrid, like Cookies.
107123
107124         * inspector/front-end/ApplicationCacheItemsView.js:
107125         (WebInspector.ApplicationCacheItemsView.prototype._update):
107126         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
107127         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
107128         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare):
107129         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare):
107130         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
107131
107132           The usual frontend pull workflow, except this goes through
107133           InspectorApplicationCacheAgent instead of InspectorController.
107134
107135         * inspector/InspectorBackend.cpp:
107136         (WebCore::InspectorBackend::getApplicationCaches):
107137         (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
107138         * inspector/InspectorBackend.h:
107139         * inspector/InspectorBackend.idl:
107140         * inspector/InspectorFrontend.cpp:
107141         (WebCore::InspectorFrontend::didGetApplicationCaches):
107142         * inspector/InspectorFrontend.h:
107143         * inspector/front-end/DOMAgent.js:
107144         (WebInspector.DOMNode.prototype.hasChildNodes): style fix.
107145         (WebInspector.DOMAgent.prototype.nodeForId): style fix.
107146         (WebInspector.ApplicationCache.getApplicationCachesAsync): pull.
107147         (WebInspector.Cookies.getCookiesAsync):
107148         * inspector/front-end/StoragePanel.js:
107149         (WebInspector.StoragePanel.prototype.updateManifest):
107150         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
107151         * inspector/front-end/inspector.js:
107152         (WebInspector.updateResource):
107153         (WebInspector._addAppCacheDomain):
107154         (WebInspector.reset):
107155
107156           Miscellaneous. Localized Strings and fixes.
107157
107158         * English.lproj/localizedStrings.js: "Type", "%s (%s)"
107159         * inspector/InspectorController.cpp:
107160         (WebCore::InspectorController::deleteCookie):
107161         * inspector/InspectorController.h:
107162
107163 2010-07-04  Joseph Pecoraro  <joepeck@webkit.org>
107164
107165         Reviewed by Pavel Feldman.
107166
107167         WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
107168         https://bugs.webkit.org/show_bug.cgi?id=24529
107169
107170         Part 1: Backend -> Frontend Messages. ApplicationCache Status and Connectivity Status.
107171
107172         This patch adds an InspectorApplicationCacheAgent to monitor application
107173         cache changes, starts a UI in the Storage panel, handles the boilerplate
107174         of adding new files.
107175
107176           Added an agent to encapsulate and handle the application cache logic.
107177           This is similar to the timeline agent.
107178
107179         * inspector/InspectorApplicationCacheAgent.cpp: Added.
107180         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
107181         (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
107182         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
107183         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
107184         (WebCore::InspectorApplicationCacheAgent::updateNetworkState):
107185         * inspector/InspectorApplicationCacheAgent.h: Added.
107186
107187           InspectorController owns an InspectorApplicationCacheAgent. This
107188           handles its lifetime management.
107189
107190         * inspector/InspectorController.cpp:
107191         (WebCore::InspectorController::~InspectorController):
107192         (WebCore::InspectorController::connectFrontend): create the agent with a frontend.
107193         (WebCore::InspectorController::disconnectFrontend): remove the agent when closing.
107194         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
107195         * inspector/InspectorController.h:
107196
107197           User Interface for ApplicationCache in the StoragePanel. This follows
107198           very closely to Cookies, it will have a sortable table of items. The
107199           status bar contains connectivity and application cache status
107200           indicators which update when backend messages are received. There
107201           are some stubs which the next part will implement.
107202
107203         * inspector/front-end/ApplicationCacheItemsView.js: Added.
107204         (WebInspector.ApplicationCacheItemsView):
107205         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems): refresh, delete, connectivity, application cache status.
107206         (WebInspector.ApplicationCacheItemsView.prototype.show):
107207         (WebInspector.ApplicationCacheItemsView.prototype.hide):
107208         (WebInspector.ApplicationCacheItemsView.prototype.updateStatus): this is the application cache status indicator.
107209         (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState): this is the online/offline connectivity indicator.
107210         (WebInspector.ApplicationCacheItemsView.prototype._update):
107211         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
107212         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
107213         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
107214         (WebInspector.ApplicationCacheItemsView.prototype.resize):
107215         (WebInspector.ApplicationCacheItemsView.prototype._deleteButtonClicked):
107216         (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
107217         (WebInspector.ApplicationCacheItemsView.prototype._refreshButtonClicked):
107218
107219           The usual dispatch flow from the backend, to the frontend, to the
107220           panel, and then to the visible view. Some slight refactoring to
107221           eliminate duplicated code.
107222
107223         * inspector/InspectorFrontend.cpp:
107224         (WebCore::InspectorFrontend::updateDOMStorage):
107225         (WebCore::InspectorFrontend::didGetApplicationCaches):
107226         (WebCore::InspectorFrontend::updateApplicationCacheStatus):
107227         * inspector/InspectorFrontend.h:
107228         * inspector/front-end/StoragePanel.js:
107229         (WebInspector.StoragePanel):
107230         (WebInspector.StoragePanel.prototype.reset):
107231         (WebInspector.StoragePanel.prototype.addApplicationCache):
107232         (WebInspector.StoragePanel.prototype.showDatabase):
107233         (WebInspector.StoragePanel.prototype.showDOMStorage):
107234         (WebInspector.StoragePanel.prototype.showCookies):
107235         (WebInspector.StoragePanel.prototype.showApplicationCache):
107236         (WebInspector.StoragePanel.prototype._genericViewSetup):
107237         (WebInspector.StoragePanel.prototype.updateApplicationCacheStatus):
107238         (WebInspector.StoragePanel.prototype.updateNetworkState):
107239         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
107240         (WebInspector.ApplicationCacheSidebarTreeElement):
107241         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
107242         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get mainTitle):
107243         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set mainTitle):
107244         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get subtitle):
107245         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set subtitle):
107246         * inspector/front-end/inspector.js:
107247         (WebInspector.dispatch.delayDispatch):
107248         (WebInspector.dispatch):
107249         (WebInspector._addAppCacheDomain):
107250         (WebInspector.addDOMStorage):
107251         (WebInspector.updateDOMStorage):
107252
107253           Notify the InspectorApplicationCacheAgent on application cache changes
107254           or specifics. Notify the InspectorController on generic resource events.
107255           That is because ApplicationCacheController is a ResourceClient and needs
107256           to trigger the resource events normally handled by ResourceLoader.
107257
107258         * loader/appcache/ApplicationCacheGroup.cpp:
107259         (WebCore::inspectorUpdateApplicationCacheStatus): helper method to prevent duplicated code.
107260         (WebCore::ApplicationCacheGroup::setNewestCache): status change.
107261         (WebCore::ApplicationCacheGroup::makeObsolete): status change.
107262         (WebCore::ApplicationCacheGroup::update): status change.
107263         (WebCore::ApplicationCacheGroup::createResourceHandle): resource event.
107264         (WebCore::ApplicationCacheGroup::willSendRequest): resource event.
107265         (WebCore::ApplicationCacheGroup::didReceiveResponse): resource event.
107266         (WebCore::ApplicationCacheGroup::didReceiveData): resource event.
107267         (WebCore::ApplicationCacheGroup::didFinishLoading): resource event.
107268         (WebCore::ApplicationCacheGroup::didFail): resource event.
107269         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): resource event.
107270         (WebCore::ApplicationCacheGroup::manifestNotFound): status change.
107271         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): status change.
107272         (WebCore::ApplicationCacheGroup::setUpdateStatus): single access point for status changes.
107273         * loader/appcache/ApplicationCacheGroup.h:
107274         * page/Page.cpp:
107275         (WebCore::networkStateChanged): connectivity status change.
107276
107277           Final inspector details to add the new file, style new elements,
107278           images, and localized strings.
107279
107280         * inspector/front-end/inspector.css:
107281         (.application-cache-sidebar-tree-item .icon):
107282         (.timeline-records-counter, .storage-application-cache-status, .storage-application-cache-connectivity):
107283         (.storage-application-cache-status-icon, .storage-application-cache-connectivity-icon):
107284         (.status-bar-divider):
107285         (.storage-application-cache-status, .storage-application-cache-connectivity):
107286         * inspector/front-end/inspector.html:
107287         * inspector/front-end/Images/applicationCache.png: Added.
107288         * English.lproj/localizedStrings.js: "APPLICATION CACHE", "No Application Cache information available.", "Online", "Offline"
107289
107290           Updated build files.
107291
107292         * CMakeLists.txt:
107293         * WebCore.gypi:
107294         * WebCore.pro:
107295         * WebCore.vcproj/WebCore.vcproj:
107296         * WebCore.xcodeproj/project.pbxproj:
107297         * inspector/front-end/WebKit.qrc:
107298
107299 2010-07-05  Eric Seidel  <eric@webkit.org>
107300
107301         Reviewed by Adam Barth.
107302
107303         Add basic <col> support to the treebuilder
107304         https://bugs.webkit.org/show_bug.cgi?id=41590
107305
107306         * html/HTMLTreeBuilder.cpp:
107307         (WebCore::HTMLTreeBuilder::processStartTag):
107308
107309 2010-07-05  Eric Seidel  <eric@webkit.org>
107310
107311         Reviewed by Adam Barth.
107312
107313         Add basic "in row" mode to support <td> and <th> insertion
107314         https://bugs.webkit.org/show_bug.cgi?id=41588
107315
107316         Also fixed <td> or <th> as a direct child of <table>.
107317
107318         Most of this was covered by html5lib/runner.html tests,
107319         but I had to add a new tables01.dat to cover the <th> cases.
107320
107321         * html/HTMLElementStack.cpp:
107322         (WebCore::HTMLNames::isTableRowScopeMarker):
107323         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
107324         * html/HTMLElementStack.h:
107325         * html/HTMLTreeBuilder.cpp:
107326         (WebCore::HTMLTreeBuilder::processStartTag):
107327
107328 2010-07-05  Eric Seidel  <eric@webkit.org>
107329
107330         Reviewed by Adam Barth.
107331
107332         Finish implementing "any other end tag" for "in body" mode
107333         https://bugs.webkit.org/show_bug.cgi?id=41582
107334
107335         I believe I found a "bug" in the HTML5 spec when writing this:
107336         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080
107337
107338         * html/HTMLTreeBuilder.cpp:
107339         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
107340         (WebCore::HTMLTreeBuilder::processEndTag):
107341         * html/HTMLTreeBuilder.h:
107342
107343 2010-07-05  Martin Robinson  <mrobinson@igalia.com>
107344
107345         Unreviewed.
107346
107347         Add a missing slash to the list of generated sources. This
107348         was missing from a previous build fix.
107349
107350         * GNUmakefile.am:
107351
107352 2010-07-05  Pavel Feldman  <pfeldman@chromium.org>
107353
107354         Reviewed by Joseph Pecoraro.
107355
107356         Web Inspector: preserve scroll positions in source frame when switching between panes.
107357
107358         https://bugs.webkit.org/show_bug.cgi?id=41620
107359
107360         * inspector/front-end/ScriptsPanel.js:
107361         (WebInspector.ScriptsPanel.prototype.hide):
107362         * inspector/front-end/SourceFrame.js:
107363         (WebInspector.SourceFrame.prototype.set visible):
107364         * inspector/front-end/SourceView.js:
107365         (WebInspector.SourceView.prototype.hide):
107366
107367 2010-07-05  Rob Buis  <rwlbuis@gmail.com>
107368
107369         Reviewed by Dirk Schulze.
107370
107371         IE SVG test fails
107372         https://bugs.webkit.org/show_bug.cgi?id=41619
107373
107374         Make SVGSVGElement.createSVGTransform create a SVGTransform with the
107375         right type, thereby fixing the IE test.
107376
107377         Test: svg/custom/svg-createsvgtransform-type.html
107378
107379         * svg/SVGSVGElement.cpp:
107380         (WebCore::SVGSVGElement::createSVGTransform):
107381
107382 2010-07-05  Pavel Feldman  <pfeldman@chromium.org>
107383
107384         Reviewed by Yury Semikhatsky.
107385
107386         Web Inspector: computed style pane is not updated when styles pane is collapsed.
107387
107388         https://bugs.webkit.org/show_bug.cgi?id=41615
107389
107390         * inspector/front-end/ElementsPanel.js:
107391         (WebInspector.ElementsPanel.prototype.updateStyles):
107392
107393 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
107394
107395         Reviewed by Dirk Schulze.
107396
107397         Logic to track whether elements are using relative lengths is incomplete
107398         https://bugs.webkit.org/show_bug.cgi?id=41566
107399
107400         Add logic to all SVG elements which create renderes to expose a method
107401         "bool selfHasRelativeLengths()", that returns whether the element uses relative
107402         lengths (eg. <rect x="50%"...). This will be used soon to avoid relayouts of
107403         container children, when the bounds have not changed.
107404
107405         A new method SVGStyledElement::updateRelativeLengthsInformation() is added,
107406         which is called from the various svgAttributeChanged() methods and insertedIntoDocument/removedFromDocument.
107407         It will be implemented in a follow-up patch. This patch does not affect any test behaviour related
107408         to relayouting. As SVGFilterElement finally got a proper svgAttributeChanged() method, it now
107409         properly invalidates clients on attribute changes - covered by a new test.
107410
107411         Tests: svg/custom/relative-sized-inner-svg.xhtml
107412                svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml
107413                svg/filters/filter-width-update.svg
107414  
107415         * rendering/RenderPath.cpp:
107416         (WebCore::RenderPath::layout): Rename hasRelativeValues to hasRelativeLengths.
107417         * rendering/RenderSVGRoot.cpp:
107418         (WebCore::RenderSVGRoot::layout): Ditto.
107419         (WebCore::RenderSVGRoot::calcViewport): Ditto.
107420         * rendering/RenderSVGViewportContainer.cpp:
107421         (WebCore::RenderSVGViewportContainer::calcViewport): Ditto
107422         * rendering/SVGRenderSupport.cpp:
107423         (WebCore::SVGRenderSupport::layoutChildren): Ditto.
107424         * svg/SVGCircleElement.cpp:
107425         (WebCore::SVGCircleElement::svgAttributeChanged): Call updateRelativeLengthsInformation() if any attribute which may contain relative lengths changes.
107426         (WebCore::SVGCircleElement::selfHasRelativeLengths): Ditto. Same for all other SVG*Elements below.
107427         * svg/SVGCircleElement.h:
107428         * svg/SVGEllipseElement.cpp:
107429         (WebCore::SVGEllipseElement::svgAttributeChanged):
107430         (WebCore::SVGEllipseElement::selfHasRelativeLengths):
107431         * svg/SVGEllipseElement.h:
107432         * svg/SVGFilterElement.cpp:
107433         (WebCore::SVGFilterElement::svgAttributeChanged):
107434         (WebCore::SVGFilterElement::selfHasRelativeLengths):
107435         * svg/SVGFilterElement.h:
107436         * svg/SVGForeignObjectElement.cpp:
107437         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
107438         (WebCore::SVGForeignObjectElement::selfHasRelativeLengths):
107439         * svg/SVGForeignObjectElement.h:
107440         * svg/SVGImageElement.cpp:
107441         (WebCore::SVGImageElement::svgAttributeChanged):
107442         (WebCore::SVGImageElement::selfHasRelativeLengths):
107443         * svg/SVGImageElement.h:
107444         * svg/SVGLineElement.cpp:
107445         (WebCore::SVGLineElement::svgAttributeChanged):
107446         (WebCore::SVGLineElement::selfHasRelativeLengths):
107447         * svg/SVGLineElement.h:
107448         * svg/SVGLinearGradientElement.cpp:
107449         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
107450         (WebCore::SVGLinearGradientElement::selfHasRelativeLengths):
107451         * svg/SVGLinearGradientElement.h:
107452         * svg/SVGMarkerElement.cpp:
107453         (WebCore::SVGMarkerElement::svgAttributeChanged):
107454         (WebCore::SVGMarkerElement::selfHasRelativeLengths):
107455         * svg/SVGMarkerElement.h:
107456         * svg/SVGMaskElement.cpp:
107457         (WebCore::SVGMaskElement::svgAttributeChanged):
107458         (WebCore::SVGMaskElement::selfHasRelativeLengths):
107459         * svg/SVGMaskElement.h:
107460         * svg/SVGPatternElement.cpp:
107461         (WebCore::SVGPatternElement::svgAttributeChanged):
107462         (WebCore::SVGPatternElement::selfHasRelativeLengths):
107463         * svg/SVGPatternElement.h:
107464         * svg/SVGRadialGradientElement.cpp:
107465         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
107466         (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
107467         * svg/SVGRadialGradientElement.h:
107468         * svg/SVGRectElement.cpp:
107469         (WebCore::SVGRectElement::svgAttributeChanged):
107470         (WebCore::SVGRectElement::selfHasRelativeLengths):
107471         * svg/SVGRectElement.h:
107472         * svg/SVGSVGElement.cpp:
107473         (WebCore::SVGSVGElement::svgAttributeChanged):
107474         (WebCore::SVGSVGElement::selfHasRelativeLengths):
107475         * svg/SVGSVGElement.h:
107476         * svg/SVGStyledElement.cpp:
107477         (WebCore::SVGStyledElement::insertedIntoDocument): Call updateRelativeLengthsInformation().
107478         (WebCore::SVGStyledElement::removedFromDocument): Ditto.
107479         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Not implemented so far. Will land in a follow-up patch, together with the render tree changes.
107480         * svg/SVGStyledElement.h:
107481         (WebCore::SVGStyledElement::hasRelativeLengths): Devirtualized. For now, just call selfHasRelativeLengths() - this will change in a follow-up patch.
107482         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
107483         (WebCore::SVGStyledElement::selfHasRelativeLengths): Renamed from hasRelativeValues().
107484         * svg/SVGSymbolElement.cpp:
107485         (WebCore::SVGSymbolElement::svgAttributeChanged):
107486         (WebCore::SVGSymbolElement::selfHasRelativeLengths):
107487         * svg/SVGSymbolElement.h:
107488         * svg/SVGTextContentElement.cpp:
107489         (WebCore::SVGTextContentElement::selfHasRelativeLengths):
107490         * svg/SVGTextContentElement.h:
107491         * svg/SVGTextPathElement.cpp:
107492         (WebCore::SVGTextPathElement::svgAttributeChanged):
107493         (WebCore::SVGTextPathElement::insertedIntoDocument): Call right base class' method. Skipped one in the hierachy before.
107494         (WebCore::SVGTextPathElement::selfHasRelativeLengths):
107495         * svg/SVGTextPathElement.h:
107496         * svg/SVGTextPositioningElement.cpp:
107497         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
107498         (WebCore::listContainsRelativeValue): New helper funtion that checks wheter a SVGLengthList contains relative lengths.
107499         (WebCore::SVGTextPositioningElement::selfHasRelativeLengths):
107500         * svg/SVGTextPositioningElement.h:
107501         * svg/SVGUseElement.cpp:
107502         (WebCore::SVGUseElement::insertedIntoDocument): Call right base class' method. Skipped on in the hierachy before.
107503         (WebCore::SVGUseElement::removedFromDocument): Ditto.
107504         (WebCore::SVGUseElement::svgAttributeChanged):
107505         (WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateRelativeLengthsInformation() after building the shadow tree.
107506         (WebCore::SVGUseElement::selfHasRelativeLengths): Same as all other methods, except that it includes the shadow tree root element.
107507         * svg/SVGUseElement.h:
107508
107509 2010-07-05  Pavel Feldman  <pfeldman@chromium.org>
107510
107511         Reviewed by Yury Semikhatsky.
107512
107513         Web Inspector: Problem with copying a code from Scripts panel.
107514
107515         https://bugs.webkit.org/show_bug.cgi?id=40432
107516
107517         * inspector/front-end/TextViewer.js:
107518         (WebInspector.TextViewer.prototype._getSelection):
107519         (WebInspector.TextViewer.prototype._selectionToPosition):
107520
107521 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
107522
107523         Reviewed by Dirk Schulze / Darin Adler.
107524
107525         Node.cloneNode does not work on SVG nodes
107526         https://bugs.webkit.org/show_bug.cgi?id=41421
107527
107528         Be sure to synchronize animated SVG properties before checking whether NamedNodeMap exists.
107529         When creating a SVG element from JS, and setting all attributes via SVG DOM, and not using setAttribute
107530         the NamedNodeMap does not exist. When cloning such an element, be sure to synchronize SVG <-> XML DOM
107531         attributes before attempting to clone, otherwhise the SVG animated properties are lost while cloning.
107532
107533         Test: svg/custom/clone-element-with-animated-svg-properties.html
107534
107535         * dom/Element.cpp:
107536         (WebCore::Element::cloneElementWithoutChildren):
107537
107538 2010-07-05  Antti Koivisto  <koivisto@iki.fi>
107539
107540         Revert unplanned project file change.
107541
107542         * WebCore.pri:
107543         * WebCore.pro:
107544
107545 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
107546
107547         Reviewed by Darin Adler.
107548
107549         Memory corruption with SVG <use> element
107550         https://bugs.webkit.org/show_bug.cgi?id=40994
107551
107552         Fix race condition in svgAttributeChanged. Never call svgAttributeChanged() from attributeChanged()
107553         when we're synchronizing SVG attributes. It leads to either unnecessary extra work being done or
107554         crashes. Especially together with <polyline>/<polygon> which always synchronize the SVGAnimatedPoints
107555         datastructure with the points attribute, no matter if there are changes are not. This should be
107556         furhter optimized, but this fix is sane and fixes the root of the evil races.
107557
107558         Test: svg/custom/use-property-synchronization-crash.svg
107559
107560         * svg/SVGElement.cpp:
107561         (WebCore::SVGElement::attributeChanged):
107562
107563 2010-07-05  Yury Semikhatsky  <yurys@chromium.org>
107564
107565         Reviewed by Pavel Feldman.
107566
107567         [v8] Web Inspector: remove v8-specific code dealing with getOwnPropertyNames from InjectedScript.js
107568         https://bugs.webkit.org/show_bug.cgi?id=41595
107569
107570         * inspector/front-end/InjectedScript.js:
107571         (injectedScriptConstructor):
107572
107573 2010-07-04  Rob Buis  <rwlbuis@gmail.com>
107574
107575         Reviewed by Dirk Schulze.
107576
107577         SVG polygons should draw polygons up to the first parsing error
107578         https://bugs.webkit.org/show_bug.cgi?id=41140
107579
107580         Render polygons up until the first parsing error.
107581
107582         Test: svg/custom/poly-parsing-error.html
107583
107584         * svg/SVGPolyElement.cpp:
107585         (WebCore::SVGPolyElement::parseMappedAttribute):
107586
107587 2010-07-04  Alice Liu  <alice.liu@apple.com>
107588
107589         Reviewed by Dan Bernstein.
107590
107591         Crash reading past end of block in UniscribeController::shapeAndPlaceItem
107592         https://bugs.webkit.org/show_bug.cgi?id=41554
107593
107594         Test: platform/win/fast/text/uniscribe-item-boundary-crash.html
107595
107596         * platform/graphics/win/UniscribeController.cpp:
107597         (WebCore::UniscribeController::shapeAndPlaceItem):
107598         Don't look one past the end of str. Instead look to the next item, if applicable.
107599
107600 2010-07-04  Eric Seidel  <eric@webkit.org>
107601
107602         Reviewed by Adam Barth.
107603
107604         Add basic "in table body" mode to support <tr> insertion
107605         https://bugs.webkit.org/show_bug.cgi?id=41587
107606
107607         This also adds a (currently untestable?)
107608         popUntilTableBodyScopeMarker code path.
107609         Any tags which would be between a tbody a <tr> would end up
107610         foster parented outside the <table>.  I think the spec was
107611         just being over-cautious with popUntilTableBodyScopeMarker.
107612
107613         * html/HTMLElementStack.cpp:
107614         (WebCore::HTMLNames::isTableScopeMarker):
107615         (WebCore::HTMLNames::isTableBodyScopeMarker):
107616         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
107617         * html/HTMLElementStack.h:
107618         * html/HTMLTreeBuilder.cpp:
107619         (WebCore::HTMLTreeBuilder::processStartTag):
107620         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
107621
107622 2010-07-04  Anders Carlsson  <andersca@apple.com>
107623
107624         Fix Windows build.
107625
107626         * WebCore.vcproj/WebCore.vcproj:
107627
107628 2010-07-04  Eric Seidel  <eric@webkit.org>
107629
107630         Reviewed by Adam Barth.
107631
107632         HTMLTreeBuilder needs an adoption agency
107633         https://bugs.webkit.org/show_bug.cgi?id=41453
107634
107635         Fix Qt Minimal build.  SVGNames.h should always
107636         be generated, even when SVG is off, however that's
107637         not how things currently work.
107638
107639         * html/HTMLTreeBuilder.cpp:
107640
107641 2010-07-04  Eric Seidel  <eric@webkit.org>
107642
107643         Reviewed by Adam Barth.
107644
107645         Add a very basic InTable insertion mode
107646         https://bugs.webkit.org/show_bug.cgi?id=41581
107647
107648         There is still a bunch of low-hanging fruit left for this
107649         mode, but even this most-basic support lets us pass 6 more tests. :)
107650
107651         It's a progression, ship it! :)
107652
107653         * html/HTMLElementStack.cpp:
107654         (WebCore::HTMLNames::isScopeMarker):
107655         (WebCore::HTMLNames::isListItemScopeMarker):
107656         (WebCore::HTMLNames::isTableScopeMarker):
107657         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
107658         * html/HTMLElementStack.h:
107659         * html/HTMLFormattingElementList.cpp:
107660         (WebCore::HTMLFormattingElementList::appendMarker):
107661         * html/HTMLFormattingElementList.h:
107662         * html/HTMLTreeBuilder.cpp:
107663         (WebCore::HTMLTreeBuilder::processStartTag):
107664         * html/HTMLTreeBuilder.h:
107665
107666 2010-07-01  Eric Seidel  <eric@webkit.org>
107667
107668         Reviewed by Adam Barth.
107669
107670         HTMLTreeBuilder needs an adoption agency
107671         https://bugs.webkit.org/show_bug.cgi?id=41453
107672
107673         This changes some test results, but only makes the simplest
107674         adoption agency cases pass.  I think the code is likely
107675         very close, but further iteration to make this change larger
107676         seems counter-productive.  I recommend we check in this
107677         progression and work from here.
107678
107679         * dom/ContainerNode.cpp:
107680         (WebCore::ContainerNode::addChildCommon):
107681          - Make sure callers don't assume this will reparent.
107682         (WebCore::ContainerNode::parserAddChild):
107683          - Update comment to document lack of reparenting behavior.
107684         * html/HTMLElementStack.cpp:
107685         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
107686         (WebCore::HTMLElementStack::ElementRecord::~ElementRecord):
107687         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
107688         (WebCore::HTMLElementStack::ElementRecord::isAbove):
107689          - Added for debugging.
107690         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
107691         (WebCore::HTMLElementStack::insertAbove):
107692          - Needed for the adoption agency.
107693         (WebCore::HTMLElementStack::topRecord):
107694         (WebCore::HTMLElementStack::bottom):
107695         (WebCore::HTMLElementStack::removeHTMLHeadElement):
107696         (WebCore::HTMLElementStack::remove):
107697         (WebCore::HTMLElementStack::find):
107698         (WebCore::HTMLElementStack::topmost):
107699         (WebCore::HTMLElementStack::contains):
107700         (WebCore::HTMLElementStack::htmlElement):
107701         (WebCore::HTMLElementStack::headElement):
107702         (WebCore::HTMLElementStack::bodyElement):
107703         (WebCore::HTMLElementStack::pushCommon):
107704         (WebCore::HTMLElementStack::removeNonTopCommon):
107705          - Fix the name to match top/bottom.
107706         * html/HTMLElementStack.h:
107707         (WebCore::HTMLElementStack::ElementRecord::element):
107708         (WebCore::HTMLElementStack::ElementRecord::next):
107709         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
107710         (WebCore::HTMLElementStack::ElementRecord::setNext):
107711         * html/HTMLFormattingElementList.cpp:
107712         (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
107713         (WebCore::HTMLFormattingElementList::contains):
107714         (WebCore::HTMLFormattingElementList::find):
107715         (WebCore::HTMLFormattingElementList::remove):
107716         * html/HTMLFormattingElementList.h:
107717         (WebCore::HTMLFormattingElementList::isEmpty):
107718         (WebCore::HTMLFormattingElementList::size):
107719         * html/HTMLTreeBuilder.cpp:
107720         (WebCore::HTMLTreeBuilder::processStartTag):
107721         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
107722          - Part of the Adoption Agency algorithm.
107723         (WebCore::HTMLTreeBuilder::findFosterParentFor):
107724          - Used to move mis-nested content out of tables.
107725            This doesn't seem to work quite right yet.
107726         (WebCore::HTMLTreeBuilder::reparentChildren):
107727         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
107728          - The ridiculously long/complicated adoption agency algorithm from HTML5.
107729         (WebCore::HTMLTreeBuilder::processEndTag):
107730         * html/HTMLTreeBuilder.h:
107731
107732 2010-07-04  Justin Schuh  <jschuh@chromium.org>
107733
107734         Reviewed by Darin Adler.
107735
107736         Remove custom src bindings for HTMLFrameElement and HTMLIFrameElement
107737         https://bugs.webkit.org/show_bug.cgi?id=41578
107738
107739         Remove bindings obsoleted by: http://trac.webkit.org/changeset/59866
107740         No new tests because behavior is not changed.
107741
107742         * Android.jscbindings.mk:
107743         * Android.v8bindings.mk:
107744         * CMakeLists.txt:
107745         * GNUmakefile.am:
107746         * WebCore.gypi:
107747         * WebCore.pro:
107748         * WebCore.vcproj/WebCore.vcproj:
107749         * WebCore.xcodeproj/project.pbxproj:
107750         * bindings/js/JSBindingsAllInOne.cpp:
107751         * bindings/js/JSHTMLFrameElementCustom.cpp:
107752         * bindings/js/JSHTMLIFrameElementCustom.cpp: Removed.
107753         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
107754         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Removed.
107755         * html/HTMLFrameElement.idl:
107756         * html/HTMLIFrameElement.idl:
107757
107758 2010-07-03  Adam Barth  <abarth@webkit.org>
107759
107760         Reviewed by Maciej Stachowiak.
107761
107762         Implement AfterAfterFramesetMode
107763         https://bugs.webkit.org/show_bug.cgi?id=41561
107764
107765         This mode is almost unobservable.  The main way to observe it seems to
107766         be seeing where comment nodes get attached to the DOM.
107767
107768         * html/HTMLTreeBuilder.cpp:
107769         (WebCore::HTMLTreeBuilder::processStartTag):
107770         (WebCore::HTMLTreeBuilder::processEndTag):
107771         (WebCore::HTMLTreeBuilder::processComment):
107772         (WebCore::HTMLTreeBuilder::processCharacter):
107773         (WebCore::HTMLTreeBuilder::processEndOfFile):
107774
107775 2010-07-03  Zhenyao Mo  <zmo@google.com>
107776
107777         Reviewed by Dimitri Glazkov.
107778
107779         WebGLRenderingContext::vertexAttrib* leads to possible out-of-range vector member visit
107780         https://bugs.webkit.org/show_bug.cgi?id=41572
107781
107782         * html/canvas/WebGLRenderingContext.cpp: Fix the out-of-range vector member visit, also refactor the code.
107783         (WebCore::WebGLRenderingContext::vertexAttrib1f):
107784         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
107785         (WebCore::WebGLRenderingContext::vertexAttrib2f):
107786         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
107787         (WebCore::WebGLRenderingContext::vertexAttrib3f):
107788         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
107789         (WebCore::WebGLRenderingContext::vertexAttrib4f):
107790         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
107791         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
107792         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
107793         * html/canvas/WebGLRenderingContext.h: Helper function declaration.
107794
107795 2010-07-03  Jeremy Orlow  <jorlow@chromium.org>
107796
107797         Ugh.  Have to put the destructor in the .h file since the .ccp isn't compiled yet.
107798
107799         * storage/IDBKey.h:
107800         (WebCore::IDBKey::~IDBKey):
107801
107802 2010-07-03  Jeremy Orlow  <jorlow@chromium.org>
107803
107804         Build fix.  Forgot destructor.
107805
107806         * storage/IDBKey.cpp:
107807         (WebCore::IDBKey::~IDBKey):
107808
107809 2010-06-26  Jeremy Orlow  <jorlow@chromium.org>
107810
107811         Reviewed by Dumitru Daniliuc.
107812
107813         Support for keys and in-memory storage for IndexedDB
107814         https://bugs.webkit.org/show_bug.cgi?id=41252
107815
107816         It'll take some time to get data persistence working for IndexedDB,
107817         so until then, we'll just store everything in an in memory tree.
107818         The tree uses WTF::AVLTree and is a template so that it can be used by
107819         object stores (IDBKey -> SerializedScriptValue) and indexes (IDBKey ->
107820         IDBKey).  This class will be used in a subsequent patch.
107821
107822         Also add an IDBKey type that represents one of these keys.  We use a
107823         custom toJS function in a way similar to IDBAny to convert from WebCore
107824         to a JS value.  For converting the other way, we have to teach the code
107825         generators what to do (unfortunately).  This is done in a way similar
107826         to serialized script value.  Unlike serialized script value, IDBKey is
107827         in WebCore and only a helper function is JS engine specific.
107828
107829         This code is not accessable from layout tests.  (Will fix in
107830         https://bugs.webkit.org/show_bug.cgi?id=41250)  The bindings tests
107831         show us that the generated bindings are what we expect.
107832
107833         * ForwardingHeaders/wtf/AVLTree.h: Added.
107834         * bindings/js/IDBBindingUtilities.cpp: Added.
107835         (WebCore::createIDBKeyFromValue):
107836         * bindings/js/IDBBindingUtilities.h: Added.
107837         * bindings/js/JSIDBKeyCustom.cpp: Added.
107838         (WebCore::toJS):
107839         * bindings/scripts/CodeGeneratorJS.pm:
107840         * bindings/scripts/CodeGeneratorV8.pm:
107841         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
107842         (WebDOMTestObj::idbKey):
107843         * bindings/scripts/test/CPP/WebDOMTestObj.h:
107844         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
107845         (webkit_dom_test_obj_idb_key):
107846         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
107847         * bindings/scripts/test/JS/JSTestObj.cpp:
107848         (WebCore::):
107849         (WebCore::jsTestObjPrototypeFunctionIdbKey):
107850         * bindings/scripts/test/JS/JSTestObj.h:
107851         * bindings/scripts/test/ObjC/DOMTestObj.h:
107852         * bindings/scripts/test/ObjC/DOMTestObj.mm:
107853         (-[DOMTestObj idbKey:]):
107854         * bindings/scripts/test/TestObj.idl:
107855         * bindings/scripts/test/V8/V8TestObj.cpp:
107856         (WebCore::TestObjInternal::idbKeyCallback):
107857         (WebCore::):
107858         * bindings/v8/IDBBindingUtilities.cpp: Added.
107859         (WebCore::createIDBKeyFromValue):
107860         * bindings/v8/IDBBindingUtilities.h: Added.
107861         * bindings/v8/custom/V8IDBKeyCustom.cpp: Added.
107862         (WebCore::toV8):
107863         * storage/IDBCallbacks.h:
107864         * storage/IDBKey.cpp: Added.
107865         (WebCore::IDBKey::IDBKey):
107866         (WebCore::IDBKey::~IDBKey):
107867         * storage/IDBKey.h: Added.
107868         (WebCore::IDBKey::create):
107869         (WebCore::IDBKey::):
107870         (WebCore::IDBKey::type):
107871         (WebCore::IDBKey::string):
107872         (WebCore::IDBKey::number):
107873         * storage/IDBKey.idl: Added.
107874         * storage/IDBKeyTree.h: Added.
107875         (WebCore::IDBKeyTree::create):
107876         (WebCore::IDBKeyTree::AVLTreeAbstractor::get_less):
107877         (WebCore::IDBKeyTree::AVLTreeAbstractor::set_less):
107878         (WebCore::IDBKeyTree::AVLTreeAbstractor::get_greater):
107879         (WebCore::IDBKeyTree::AVLTreeAbstractor::set_greater):
107880         (WebCore::IDBKeyTree::AVLTreeAbstractor::get_balance_factor):
107881         (WebCore::IDBKeyTree::AVLTreeAbstractor::set_balance_factor):
107882         (WebCore::IDBKeyTree::AVLTreeAbstractor::null):
107883         (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_key_node):
107884         (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_node_node):
107885         (WebCore::::IDBKeyTree):
107886         (WebCore::::~IDBKeyTree):
107887         (WebCore::::AVLTreeAbstractor::compare_key_key):
107888         (WebCore::::get):
107889         (WebCore::::insert):
107890         (WebCore::::remove):
107891
107892 2010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>
107893
107894         The missing plug-in indicator should be clickable
107895
107896         https://bugs.webkit.org/show_bug.cgi?id=41550
107897         <rdar://problem/8132162>
107898
107899         From an original patch by Kevin Decker.
107900
107901         Reviewed by Darin Adler.
107902
107903         * html/HTMLPlugInElement.cpp:
107904         (WebCore::HTMLPlugInElement::defaultEventHandler):
107905         If the renderer is a RenderEmbeddedWidget showing the missing plug-in
107906         indicator, and the event is a click even, call the ChromeClient's
107907         missingPluginButtonClicked() function.
107908
107909         * page/ChromeClient.h:
107910         (WebCore::ChromeClient::missingPluginButtonClicked):
107911         Declare missingPluginButtonClicked(), and stub the default
107912         implementation.
107913
107914         * rendering/RenderEmbeddedObject.cpp:
107915         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
107916         Initialize m_showsMissingPluginIndicator.
107917         (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
107918         Assert that we're not currently showing any replacement text. Set
107919         m_showsMissingPluginIndicator after setting the replacement text.
107920         (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator):
107921         Add the same assert as above.
107922
107923         * rendering/RenderEmbeddedObject.h:
107924         (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
107925         Getter for m_showsMissingPluginIndicator.
107926
107927 2010-07-02  Oliver Hunt  <oliver@apple.com>
107928
107929         Reviewed by Geoffrey Garen.
107930
107931         Move BOM handling out of the lexer and parser
107932         https://bugs.webkit.org/show_bug.cgi?id=41539
107933
107934         Update WebCore to ensure that SourceProviders don't
107935         produce strings with BOMs in them.
107936
107937         * bindings/js/ScriptSourceProvider.h:
107938         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
107939         * bindings/js/StringSourceProvider.h:
107940         (WebCore::StringSourceProvider::StringSourceProvider):
107941         * loader/CachedScript.cpp:
107942         (WebCore::CachedScript::CachedScript):
107943         (WebCore::CachedScript::script):
107944         * loader/CachedScript.h:
107945         (WebCore::CachedScript::):
107946           CachedScript now stores decoded data with the BOMs stripped,
107947           and caches the presence of BOMs across memory purges.
107948
107949 2010-07-03  Xan Lopez  <xlopez@igalia.com>
107950
107951         Include DerivedSources/WebCore before DerivedSources/
107952
107953         Recently DerivedSources generation was changed, with some files no
107954         longer being generated in the toplevel DerivedSources
107955         directory. Since that directory is first in the -I flags the build
107956         can be broken in some cases by including old files unless a 'make
107957         clean' is done. Change the -I order to fix the build in the 32 bit
107958         Release bot.
107959
107960         * GNUmakefile.am:
107961
107962 2010-07-03  Erik Arvidsson  <arv@chromium.org>
107963
107964         Reviewed by Ojan Vafai.
107965
107966         Fix issue where a contextmenu event was reporting the wrong target if
107967         the context menu was shown due to pressing the context menu key
107968         (or Shift+F10).
107969         
107970         Split sendContextMenuForEvent into one case for keyboard events and use
107971         that when the contextmenu event should be dispatched due to a keypress.
107972
107973         For the keboard case we now use the focused node as the target for the
107974         event and use the clipped rect to determine the position of the menu.
107975         
107976         https://bugs.webkit.org/show_bug.cgi?id=38129
107977
107978         Use manual test since DRT does not handle context menu keys.
107979
107980         * manual-tests/win/contextmenu-key.html: Added.
107981         * page/EventHandler.cpp:
107982         (WebCore::EventHandler::sendContextMenuEvent):
107983         (WebCore::EventHandler::sendContextMenuEventForKey):
107984         * page/EventHandler.h:
107985
107986 2010-07-03  Dirk Schulze  <krit@webkit.org>
107987
107988         Unreviewed sort of Xcode project file.
107989
107990         * WebCore.xcodeproj/project.pbxproj:
107991
107992 2010-07-03  Kwang Yul Seo  <skyul@company100.net>
107993
107994         Reviewed by Kent Tamura.
107995
107996         [BREWMP] Port Widget
107997         https://bugs.webkit.org/show_bug.cgi?id=41538
107998
107999         Make Widget a dummy class. WebKit Brew MP uses the full screen mode
108000         and does not use the window system introduced in Brew MP.
108001
108002         * platform/Widget.h:
108003         * platform/brew/WidgetBrew.cpp: Added.
108004         (WebCore::Widget::Widget):
108005         (WebCore::Widget::~Widget):
108006         (WebCore::Widget::frameRect):
108007         (WebCore::Widget::setFrameRect):
108008         (WebCore::Widget::setFocus):
108009         (WebCore::Widget::setCursor):
108010         (WebCore::Widget::show):
108011         (WebCore::Widget::hide):
108012         (WebCore::Widget::paint):
108013         (WebCore::Widget::setIsSelected):
108014
108015 2010-07-03  Adam Barth  <abarth@webkit.org>
108016
108017         Reviewed by Eric Seidel.
108018
108019         Implement AfterFramesetMode
108020         https://bugs.webkit.org/show_bug.cgi?id=41560
108021
108022         * html/HTMLTreeBuilder.cpp:
108023         (WebCore::HTMLTreeBuilder::processStartTag):
108024         (WebCore::HTMLTreeBuilder::processEndTag):
108025         (WebCore::HTMLTreeBuilder::processCharacter):
108026         (WebCore::HTMLTreeBuilder::processEndOfFile):
108027
108028 2010-07-02  Adam Barth  <abarth@webkit.org>
108029
108030         Reviewed by Eric Seidel.
108031
108032         Implement InFramesetMode
108033         https://bugs.webkit.org/show_bug.cgi?id=41559
108034
108035         Pretty straighforward.  We still don't handle character tokens
108036         correctly.
108037
108038         * html/HTMLTreeBuilder.cpp:
108039         (WebCore::HTMLTreeBuilder::processStartTag):
108040         (WebCore::HTMLTreeBuilder::processEndTag):
108041         (WebCore::HTMLTreeBuilder::processCharacter):
108042         (WebCore::HTMLTreeBuilder::processEndOfFile):
108043
108044 2010-07-02  Adam Barth  <abarth@webkit.org>
108045
108046         Reviewed by Eric Seidel.
108047
108048         Handle <frameset> InBody
108049         https://bugs.webkit.org/show_bug.cgi?id=41558
108050
108051         Handling the <frameset> tag in the InBody mode is somewhat delicate.
108052
108053         * html/HTMLElementStack.cpp:
108054         (WebCore::HTMLElementStack::popHTMLBodyElement):
108055         (WebCore::HTMLElementStack::popUntil):
108056         (WebCore::HTMLElementStack::popCommon):
108057         * html/HTMLElementStack.h:
108058         * html/HTMLTreeBuilder.cpp:
108059         (WebCore::HTMLTreeBuilder::processStartTag):
108060
108061 2010-07-02  Adam Barth  <abarth@webkit.org>
108062
108063         Reviewed by Eric Seidel.
108064
108065         Special handling of <rp> and <rt> tags
108066         https://bugs.webkit.org/show_bug.cgi?id=41557
108067
108068         So sayeth the spec.
108069
108070         * html/HTMLTreeBuilder.cpp:
108071         (WebCore::HTMLTreeBuilder::processStartTag):
108072
108073 2010-07-02  Adam Barth  <abarth@webkit.org>
108074
108075         Reviewed by Eric Seidel.
108076
108077         Implement special optgroup processing
108078         https://bugs.webkit.org/show_bug.cgi?id=41556
108079
108080         * html/HTMLTreeBuilder.cpp:
108081         (WebCore::HTMLTreeBuilder::processStartTag):
108082
108083 2010-07-02  Adam Barth  <abarth@webkit.org>
108084
108085         Reviewed by Eric Seidel.
108086
108087         Handle <image> in new parser
108088         https://bugs.webkit.org/show_bug.cgi?id=41555
108089
108090         This patch is kind of goofy but apparently how the world works.
108091
108092         * html/HTMLToken.h:
108093         (WebCore::AtomicHTMLToken::setName):
108094         * html/HTMLTreeBuilder.cpp:
108095         (WebCore::HTMLTreeBuilder::processStartTag):
108096
108097 2010-07-02  Kwang Yul Seo  <skyul@company100.net>
108098
108099         Reviewed by Alexey Proskuryakov.
108100
108101         Remove extra semicolon at the end of HTMLTreeBuilder::attach
108102         https://bugs.webkit.org/show_bug.cgi?id=41546
108103
108104         This is not critical, but the extra semicolon at the end of HTMLTreeBuilder::attach
108105         causes a warning in RVCT.
108106
108107         * html/HTMLTreeBuilder.h:
108108         (WebCore::HTMLTreeBuilder::attach):
108109
108110 2010-07-02  Tony Gentilcore  <tonyg@chromium.org>
108111
108112         Reviewed by Darin Adler.
108113
108114         Performance::disconnectFrame() needs to disconnect its children
108115         https://bugs.webkit.org/show_bug.cgi?id=41533
108116
108117         No new tests because no new functionality.
108118
108119         * page/Performance.cpp:
108120         (WebCore::Performance::disconnectFrame):
108121
108122 2010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>
108123
108124         Reviewed by Sam Weinig.
108125
108126         Checking if WTF_USE_JSC is defined before redefining it in config.h
108127         https://bugs.webkit.org/show_bug.cgi?id=41530
108128
108129         * config.h:
108130
108131 2010-07-02  Tony Gentilcore  <tonyg@chromium.org>
108132
108133         Reviewed by Dimitri Glazkov.
108134
108135         Add vendor prefix to window.performance
108136         https://bugs.webkit.org/show_bug.cgi?id=41525
108137
108138         No new tests because window.performance tests not landed yet.
108139
108140         * page/DOMWindow.cpp:
108141         (WebCore::DOMWindow::webkitPerformance):
108142         * page/DOMWindow.h:
108143         (WebCore::DOMWindow::optionalWebkitPerformance):
108144         * page/DOMWindow.idl:
108145
108146 2010-07-02  Zoltan Herczeg  <zherczeg@webkit.org>
108147
108148         Reviewed by Oliver Hunt.
108149
108150         Minor fix: Diffuse constant is float (not integer)
108151         https://bugs.webkit.org/show_bug.cgi?id=10412
108152
108153         * svg/SVGFEDiffuseLightingElement.cpp:
108154         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
108155
108156 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
108157
108158         Unreviewed.
108159
108160         Build fix for GTK+. Try to force a rebuild of the HTMLNames.h
108161         file first by touching HTMLTagNames.in.
108162
108163         * html/HTMLTagNames.in:
108164
108165 2010-07-02  Andreas Kling  <andreas.kling@nokia.com>
108166
108167         Reviewed by Oliver Hunt.
108168
108169         RGB colors should be clamped to the 0-255 range
108170         https://bugs.webkit.org/show_bug.cgi?id=39482
108171
108172         Spec link:
108173         http://www.whatwg.org/specs/web-apps/current-work/#colors
108174
108175         Test: fast/canvas/canvas-color-clamping.html
108176
108177         * css/CSSParser.cpp:
108178         (WebCore::parseColorInt):
108179         (WebCore::CSSParser::parseColor):
108180         (WebCore::parseColorIntFromValue):
108181         (WebCore::CSSParser::parseColorParameters):
108182
108183 2010-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
108184
108185         Unreviewed, rolling out r62410.
108186         http://trac.webkit.org/changeset/62410
108187         https://bugs.webkit.org/show_bug.cgi?id=41549
108188
108189         accursed last minute changes (Requested by olliej on #webkit).
108190
108191         * bindings/js/ScriptSourceProvider.h:
108192         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
108193         * bindings/js/StringSourceProvider.h:
108194         (WebCore::StringSourceProvider::StringSourceProvider):
108195         * loader/CachedScript.cpp:
108196         (WebCore::CachedScript::CachedScript):
108197         (WebCore::CachedScript::script):
108198         * loader/CachedScript.h:
108199
108200 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
108201
108202         Unreviewed.
108203
108204         Further Build fix for GTK+. Also include HTMLElementFactory.h in
108205         the list of dependencies.
108206
108207         * GNUmakefile.am:
108208
108209 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
108210
108211         Unreviewed.
108212
108213         Build fix for GTK+. *Names.{cpp,h} targets should now include the
108214         header files. Also adds the header files to the generated sources list.
108215
108216         * GNUmakefile.am:
108217
108218 2010-07-02  Dumitru Daniliuc  <dumi@chromium.org>
108219
108220         Reviewed by Darin Fisher.
108221
108222         DB clean up.
108223         https://bugs.webkit.org/show_bug.cgi?id=41404
108224
108225         1. Made all DatabaseTasks internal classes of Database and made
108226            the Database methods called by those tasks private.
108227         2. Removed the Database::stop{ed}() methods.
108228         3. Removed the code that kept track of open databases from
108229            ScriptExecutionContext (no longer needed).
108230         4. Made minor changes to Database::closeImmediately() to make it
108231            possible for DatabaseThread to call that method instead of
108232            close().
108233         5. Minor fix to DatabaseTracker: addOpenDatabase() should call
108234            OriginQuotaManager::addDatabase() if the origin quota manager
108235            is not tracking this origin.
108236         6. Removed Database::performPolicyChecks(). We already update the
108237            DB size after each transaction, and we enforce a max size for
108238            the DB at the beginning of each transaction.
108239
108240         * dom/ScriptExecutionContext.cpp:
108241         (WebCore::ScriptExecutionContext::stopDatabases):
108242         * dom/ScriptExecutionContext.h:
108243         (WebCore::ScriptExecutionContext::hasOpenDatabases):
108244         * storage/Database.cpp:
108245         (WebCore::Database::openDatabase):
108246         (WebCore::Database::Database):
108247         (WebCore::Database::markAsDeletedAndClose):
108248         (WebCore::Database::close):
108249         (WebCore::Database::closeImmediately):
108250         * storage/Database.h:
108251         * storage/DatabaseTask.cpp:
108252         (WebCore::DatabaseTask::performTask):
108253         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
108254         (WebCore::Database::DatabaseOpenTask::doPerformTask):
108255         (WebCore::Database::DatabaseOpenTask::debugTaskName):
108256         (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
108257         (WebCore::Database::DatabaseCloseTask::doPerformTask):
108258         (WebCore::Database::DatabaseCloseTask::debugTaskName):
108259         (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
108260         (WebCore::Database::DatabaseTransactionTask::doPerformTask):
108261         (WebCore::Database::DatabaseTransactionTask::debugTaskName):
108262         (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
108263         (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
108264         (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
108265         * storage/DatabaseTask.h:
108266         (WebCore::Database::DatabaseOpenTask::create):
108267         (WebCore::Database::DatabaseCloseTask::create):
108268         (WebCore::Database::DatabaseTransactionTask::create):
108269         (WebCore::Database::DatabaseTableNamesTask::create):
108270         * storage/DatabaseThread.cpp:
108271         (WebCore::DatabaseThread::databaseThread):
108272         * storage/DatabaseTracker.cpp:
108273         (WebCore::DatabaseTracker::addOpenDatabase):
108274         * storage/SQLTransaction.cpp:
108275         (WebCore::SQLTransaction::executeSQL):
108276         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
108277
108278 2010-07-02  Oliver Hunt  <oliver@apple.com>
108279
108280         Reviewed by Geoffrey Garen.
108281
108282         Move BOM handling out of the lexer and parser
108283         https://bugs.webkit.org/show_bug.cgi?id=41539
108284
108285         Update WebCore to ensure that SourceProviders don't
108286         produce strings with BOMs in them.
108287
108288         * bindings/js/ScriptSourceProvider.h:
108289         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
108290         * bindings/js/StringSourceProvider.h:
108291         (WebCore::StringSourceProvider::StringSourceProvider):
108292         * loader/CachedScript.cpp:
108293         (WebCore::CachedScript::CachedScript):
108294         (WebCore::CachedScript::script):
108295         * loader/CachedScript.h:
108296         (WebCore::CachedScript::):
108297           CachedScript now stores decoded data with the BOMs stripped,
108298           and caches the presence of BOMs across memory purges.
108299
108300 2010-07-02  Sam Weinig  <sam@webkit.org>
108301
108302         Add missing symbol to exports file.
108303
108304         * WebCore.base.exp:
108305
108306 2010-07-02  Abhishek Arya  <inferno@chromium.org>
108307
108308         Reviewed by Darin Fisher.
108309
108310         Remove the extra setFailed() call in JPEG decoder to prevent
108311         re-using an already freed object.
108312         https://bugs.webkit.org/show_bug.cgi?id=41487
108313
108314         Test: fast/images/large-size-image-crash.html
108315
108316         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
108317         (WebCore::JPEGImageReader::decode):
108318
108319 2010-07-02  Peter Beverloo  <peter@lvp-media.com>
108320
108321         Reviewed by Maciej Stachowiak.
108322
108323         Add the HTML5 <mark> element. Text content of the element will have
108324         a yellow background color and black text.
108325
108326         Test: fast/html/mark-element.html
108327         Tests for <p> closing, phrasing child content and residual style.
108328
108329         * css/html.css:
108330         (mark):
108331         * html/HTMLElement.cpp:
108332         (WebCore::inlineTagList):
108333         * html/HTMLTagNames.in:
108334         * html/LegacyHTMLTreeBuilder.cpp:
108335         (WebCore::LegacyHTMLTreeBuilder::getNode):
108336         (WebCore::LegacyHTMLTreeBuilder::isInline):
108337         (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
108338
108339 2010-07-02  Zhenyao Mo  <zmo@google.com>
108340
108341         Reviewed by Dimitri Glazkov.
108342
108343         Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements
108344         https://bugs.webkit.org/show_bug.cgi?id=41473
108345
108346         * WebCore.gypi: Add CheckedInt.h.
108347         * WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h.
108348         * html/canvas/CheckedInt.h: Added support of safe integer operations.
108349         (mozilla::CheckedInt_internal::integer_type_manually_recorded_info::):
108350         (mozilla::CheckedInt_internal::is_unsupported_type::):
108351         (mozilla::CheckedInt_internal::):
108352         (mozilla::CheckedInt_internal::integer_traits::):
108353         (mozilla::CheckedInt_internal::integer_traits::min):
108354         (mozilla::CheckedInt_internal::integer_traits::max):
108355         (mozilla::CheckedInt_internal::has_sign_bit):
108356         (mozilla::CheckedInt_internal::binary_complement):
108357         (mozilla::CheckedInt_internal::is_in_range):
108358         (mozilla::CheckedInt_internal::is_add_valid):
108359         (mozilla::CheckedInt_internal::is_sub_valid):
108360         (mozilla::CheckedInt_internal::is_mul_valid):
108361         (mozilla::CheckedInt_internal::is_div_valid):
108362         (mozilla::CheckedInt::CheckedInt):
108363         (mozilla::CheckedInt::value):
108364         (mozilla::CheckedInt::valid):
108365         (mozilla::CheckedInt::operator -):
108366         (mozilla::CheckedInt::operator ==):
108367         (mozilla::CheckedInt::operator !=):
108368         (mozilla::operator /):
108369         (mozilla::cast_to_CheckedInt_impl::run):
108370         (mozilla::):
108371         (mozilla::cast_to_CheckedInt):
108372         (mozilla::operator ==):
108373         * html/canvas/WebGLRenderingContext.cpp:
108374         (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation.
108375         (WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation.
108376         (WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation.
108377
108378 2010-07-02  Zhenyao Mo  <zmo@google.com>
108379
108380         Reviewed by Dimitri Glazkov.
108381
108382         linkProgram should fail when vertex/fragment shaders are not both present
108383         https://bugs.webkit.org/show_bug.cgi?id=41380
108384
108385         Test: fast/canvas/webgl/program-test.html
108386
108387         * html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders.
108388         (WebCore::WebGLProgram::WebGLProgram):
108389         * html/canvas/WebGLProgram.h: Add interface for linkFailure flag.
108390         (WebCore::WebGLProgram::isLinkFailureFlagSet):
108391         (WebCore::WebGLProgram::setLinkFailureFlag):
108392         * html/canvas/WebGLRenderingContext.cpp:
108393         (WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set.
108394         (WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes.
108395         * html/canvas/WebGLShader.cpp: Cache shader type.
108396         (WebCore::WebGLShader::WebGLShader):
108397         * html/canvas/WebGLShader.h: Ditto.
108398         (WebCore::WebGLShader::getType):
108399
108400 2010-07-02  Qi Zhang  <qi.2.zhang@nokia.com>
108401
108402         Reviewed by Laszlo Gombos.
108403
108404         [Qt]  Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html
108405
108406         Support negative width and height in canvas image draw
108407
108408         * platform/graphics/FloatRect.h:
108409         * platform/graphics/qt/FloatRectQt.cpp:
108410         (WebCore::FloatRect::normalized):
108411         * platform/graphics/qt/ImageQt.cpp:
108412         (WebCore::BitmapImage::draw):
108413
108414 2010-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
108415
108416         Reviewed by Alexey Proskuryakov.
108417
108418         REGRESSION: Enter does not trigger submit of forms when focus is on select.
108419         https://bugs.webkit.org/show_bug.cgi?id=39532
108420
108421         Restore behavior where hitting "Enter" on a select element attempts to submit
108422         form implicitly.
108423
108424         * dom/SelectElement.cpp:
108425         (WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument,
108426             and attempting to submit implicitly.
108427         (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
108428         (WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument.
108429         * dom/SelectElement.h: Added htmlForm argument to method declaration.
108430         * html/HTMLSelectElement.cpp:
108431         (WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form
108432             as the argument.
108433
108434 2010-07-02  Kent Tamura  <tkent@chromium.org>
108435
108436         Reviewed by Darin Fisher.
108437
108438         [Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows
108439         https://bugs.webkit.org/show_bug.cgi?id=41508
108440
108441         * rendering/RenderThemeChromiumSkia.cpp:
108442         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
108443           Use dedicated images for indeterminate states.
108444         * rendering/RenderThemeChromiumWin.cpp:
108445         (WebCore::RenderThemeChromiumWin::determineClassicState):
108446           Do not use DFCS_CHECKED in a case of indeterminate state in
108447           order to have consistent appearance of indeterminate checkbox.
108448
108449 2010-07-02  Brent Fulgham  <bfulgham@webkit.org>
108450
108451         Reviewed by Gustavo Noronha Silva.
108452
108453         Fixes https://bugs.webkit.org/show_bug.cgi?id=41323.
108454         Provides an implementation of the 'squiggle' used for
108455         bad grammar or spelling, based on the Pango logic used
108456         by the GTK builds.
108457
108458         No new tests. Covered by LayoutTests/editing/spelling
108459
108460         * WebCore.vcproj/WebCore.vcproj: Add new file holding underline
108461         implementation, set to build only for WinCairo port.
108462         * platform/graphics/cairo/DrawErrorUnderline.cpp: Added.
108463         (drawErrorUnderline): New file containing the squiggle drawing
108464         logic based on the Pango implementation.  Placed in its own file
108465         to isolate licenses.
108466         * platform/graphics/cairo/GraphicsContextCairo.cpp:
108467         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
108468         Have WinCairo build call new 'drawErrorUnderline' implementation.
108469
108470 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
108471
108472         Reviewed by Gustavo Noronha Silva.
108473
108474         [GTK] Separate DerivedSources per-project
108475         https://bugs.webkit.org/show_bug.cgi?id=41109
108476
108477         Generate WebCore derived sources in <builddir>/DerivedSources/WebCore.
108478
108479         * GNUmakefile.am:
108480
108481 2010-07-02  Zhenyao Mo  <zmo@google.com>
108482
108483         Reviewed by Dimitri Glazkov.
108484
108485         Implement OpenGL ES 2.0 semantics for vertex attribute 0
108486         https://bugs.webkit.org/show_bug.cgi?id=41300
108487
108488         Test: fast/canvas/webgl/gl-bind-attrib-location-test.html
108489               fast/canvas/webgl/gl-vertex-attrib.html
108490
108491         * html/canvas/WebGLProgram.cpp:
108492         (WebCore::WebGLProgram::numActiveAttribLocations): const.
108493         (WebCore::WebGLProgram::getActiveAttribLocation): const.
108494         (WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program.
108495         * html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0.
108496         * html/canvas/WebGLRenderingContext.cpp:
108497         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0.
108498         (WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto.
108499         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
108500         (WebCore::WebGLRenderingContext::drawElements): Ditto.
108501         (WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib.
108502         (WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0.
108503         (WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto.
108504         (WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto.
108505         (WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto.
108506         (WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto.
108507         (WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto.
108508         (WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto.
108509         (WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto.
108510         (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
108511         (WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller.
108512         (WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv.
108513         (WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0.
108514         (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0.
108515         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0.
108516         * html/canvas/WebGLRenderingContext.h:
108517         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states.
108518         (WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1].
108519
108520 2010-07-02  Zhenyao Mo  <zmo@google.com>
108521
108522         Reviewed by Dimitri Glazkov.
108523
108524         Need to validate the size of the incoming arrays for uniform* functions
108525         https://bugs.webkit.org/show_bug.cgi?id=41383
108526
108527         * html/canvas/WebGLRenderingContext.cpp: Validate input array size.
108528         (WebCore::WebGLRenderingContext::uniform1fv):
108529         (WebCore::WebGLRenderingContext::uniform1iv):
108530         (WebCore::WebGLRenderingContext::uniform2fv):
108531         (WebCore::WebGLRenderingContext::uniform2iv):
108532         (WebCore::WebGLRenderingContext::uniform3fv):
108533         (WebCore::WebGLRenderingContext::uniform3iv):
108534         (WebCore::WebGLRenderingContext::uniform4fv):
108535         (WebCore::WebGLRenderingContext::uniform4iv):
108536         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
108537         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
108538         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
108539         (WebCore::WebGLRenderingContext::validateUniformParameters):
108540         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
108541         * html/canvas/WebGLRenderingContext.h: Add helper functions.
108542
108543 2010-07-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
108544
108545         Reviewed by Simon Hausmann.
108546
108547         [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear
108548
108549         The implementation of PathQt's addArcTo() was not float-safe and also had
108550         a case where it drew an 'infinite' line, which is not part of the spec.
108551
108552         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto
108553
108554         We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
108555         also had the same problem, and was refactored a bit in the process of fixing
108556         the bug.
108557
108558         Initial patch by Andreas Kling.
108559
108560         https://bugs.webkit.org/show_bug.cgi?id=41412
108561
108562         * platform/graphics/qt/PathQt.cpp:
108563
108564 2010-07-02  Yury Semikhatsky  <yurys@chromium.org>
108565
108566         Reviewed by Pavel Feldman.
108567
108568         [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
108569         https://bugs.webkit.org/show_bug.cgi?id=41511
108570
108571         Tests: fast/events/popup-blocked-from-fake-user-gesture.html
108572                http/tests/inspector/change-iframe-src.html
108573
108574         * bindings/v8/ScriptController.cpp:
108575         (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
108576         from the call stack. Get event directly from hidden property to avoid unnecessary checks.
108577         * bindings/v8/V8AbstractEventListener.cpp:
108578         (WebCore::V8AbstractEventListener::invokeEventHandler):
108579         * bindings/v8/V8HiddenPropertyName.h:
108580         * bindings/v8/custom/V8DOMWindowCustom.cpp:
108581         (WebCore::V8DOMWindow::eventAccessorGetter):
108582         (WebCore::V8DOMWindow::eventAccessorSetter):
108583
108584 2010-07-02  Adam Barth  <abarth@webkit.org>
108585
108586         Reviewed by Eric Seidel.
108587
108588         Fix tokenization of <!----->
108589         https://bugs.webkit.org/show_bug.cgi?id=41505
108590
108591         I noticed this error when browsing through the HTML5lib failures.
108592         We're adding an extra character to the comment token, contrary to what
108593         the spec says to do.
108594
108595         * html/HTMLTokenizer.cpp:
108596         (WebCore::HTMLTokenizer::nextToken):
108597
108598 2010-07-02  Adam Barth  <abarth@webkit.org>
108599
108600         Reviewed by Eric Seidel.
108601
108602         Implement processFakePEndTagIfPInScope
108603         https://bugs.webkit.org/show_bug.cgi?id=41503
108604
108605         This is a common idiom because <p> likes to close itself.
108606
108607         * html/HTMLTreeBuilder.cpp:
108608         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
108609         (WebCore::HTMLTreeBuilder::processStartTag):
108610         * html/HTMLTreeBuilder.h:
108611
108612 2010-07-02  Adam Barth  <abarth@webkit.org>
108613
108614         Reviewed by Eric Seidel.
108615
108616         Implement AfterAfterBodyMode
108617         https://bugs.webkit.org/show_bug.cgi?id=41501
108618
108619         In implementing this mode, I noticed a bug in the character processing
108620         of the AfterBodyMode, which I fixed by adding a break statement.  Also,
108621         to get one of the new tests to pass, I needed to implement one
108622         notImplemented() in the InBody insertion mode.  Yay for testing.
108623
108624         * html/HTMLTreeBuilder.cpp:
108625         (WebCore::HTMLTreeBuilder::processStartTag):
108626         (WebCore::HTMLTreeBuilder::processEndTag):
108627         (WebCore::HTMLTreeBuilder::processComment):
108628         (WebCore::HTMLTreeBuilder::processCharacter):
108629         (WebCore::HTMLTreeBuilder::processEndOfFile):
108630
108631 2010-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
108632
108633         Unreviewed, rolling out r62371.
108634         http://trac.webkit.org/changeset/62371
108635         https://bugs.webkit.org/show_bug.cgi?id=41515
108636
108637         "Breaks media/controls-drag-timebar.html on 32-Bit Release"
108638         (Requested by philn-tp on #webkit).
108639
108640         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
108641         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
108642         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
108643
108644 2010-06-28  Philippe Normand  <pnormand@igalia.com>
108645
108646         Reviewed by Xan Lopez.
108647
108648         [GStreamer] can't seek past maxTimeLoaded value
108649         https://bugs.webkit.org/show_bug.cgi?id=40526
108650
108651         Extended the seekable range to the whole media. This allows video
108652         played with progressive download to be seeked past the current
108653         buffered position.
108654
108655         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
108656         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
108657         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
108658
108659 2010-07-02  Adam Barth  <abarth@webkit.org>
108660
108661         Reviewed by Eric Seidel.
108662
108663         Implement AfterBodyMode for HTML5 tree builder
108664         https://bugs.webkit.org/show_bug.cgi?id=41500
108665
108666         In the coarse of implementing this state, I ran into an ASSERT in how
108667         </br> tags where handled, which I fixed.  Technically, that could be a
108668         separate patch, but it seemed harmless to include it here (with tests).
108669
108670         * html/HTMLTreeBuilder.cpp:
108671         (WebCore::HTMLTreeBuilder::processStartTag):
108672         (WebCore::HTMLTreeBuilder::processEndTag):
108673         (WebCore::HTMLTreeBuilder::processComment):
108674         (WebCore::HTMLTreeBuilder::processCharacter):
108675         (WebCore::HTMLTreeBuilder::processEndOfFile):
108676         (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
108677         * html/HTMLTreeBuilder.h:
108678
108679 2010-07-02  Adam Barth  <abarth@webkit.org>
108680
108681         Reviewed by Eric Seidel.
108682
108683         Handle <base> and friends in AfterHeadMode
108684         https://bugs.webkit.org/show_bug.cgi?id=41502
108685
108686         Implement notImplemented() per spec.
108687
108688         * html/HTMLTreeBuilder.cpp:
108689         (WebCore::HTMLTreeBuilder::processStartTag):
108690
108691 2010-07-01  Oliver Hunt  <oliver@apple.com>
108692
108693         Build fix
108694
108695         * dom/Document.h:
108696
108697 2010-07-01  Oliver Hunt  <oliver@apple.com>
108698
108699         Reviewed by Maciej Stachowiak.
108700
108701         Add a FixedArray template to encapsulate fixed length arrays
108702         https://bugs.webkit.org/show_bug.cgi?id=41506
108703
108704         Add forwarding header, and replace a few fixed length arrays
108705         with the new FixedArray type.
108706
108707         * ForwardingHeaders/wtf/FixedArray.h: Added.
108708         * dom/Document.h:
108709         * platform/graphics/GlyphMetricsMap.h:
108710
108711 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
108712
108713         No review.
108714
108715         Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().
108716
108717         * WebCore.AcceleratedCompositing.exp:
108718
108719 2010-07-01  Tony Gentilcore  <tonyg@chromium.org>
108720
108721         Reviewed by Dimitri Glazkov.
108722
108723         Add window.performance.navigation namespace
108724         https://bugs.webkit.org/show_bug.cgi?id=41442
108725
108726         Adds window.performance.navigation namespace consisting of ".type"
108727         and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
108728         to just "Timing" to avoid confusion.
108729
108730         No new tests because tests will be added in a subsequent patch when
108731         functionality is added.
108732
108733         * Android.mk:
108734         * CMakeLists.txt:
108735         * DerivedSources.cpp:
108736         * DerivedSources.make:
108737         * GNUmakefile.am:
108738         * WebCore.gypi:
108739         * WebCore.pri:
108740         * WebCore.pro:
108741         * WebCore.vcproj/WebCore.vcproj:
108742         * WebCore.xcodeproj/project.pbxproj:
108743         * page/Navigation.cpp: Added.
108744         (WebCore::Navigation::Navigation):
108745         (WebCore::Navigation::frame):
108746         (WebCore::Navigation::disconnectFrame):
108747         (WebCore::Navigation::type):
108748         (WebCore::Navigation::redirectCount):
108749         * page/Navigation.h: Added.
108750         (WebCore::Navigation::create):
108751         * page/Navigation.idl: Added.
108752         * page/NavigationTiming.cpp: Removed.
108753         * page/NavigationTiming.h: Removed.
108754         * page/NavigationTiming.idl: Removed.
108755         * page/Performance.cpp:
108756         (WebCore::Performance::navigation):
108757         (WebCore::Performance::timing):
108758         * page/Performance.h:
108759         * page/Performance.idl:
108760         * page/Timing.cpp: Added.
108761         (WebCore::Timing::Timing):
108762         (WebCore::Timing::frame):
108763         (WebCore::Timing::disconnectFrame):
108764         (WebCore::Timing::navigationStart):
108765         * page/Timing.h: Added.
108766         (WebCore::Timing::create):
108767         * page/Timing.idl: Added.
108768
108769 2010-07-01  Daniel Cheng  <dcheng@chromium.org>
108770
108771         Reviewed by Jian Li.
108772
108773         [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
108774         https://bugs.webkit.org/show_bug.cgi?id=41493
108775
108776         ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
108777         be non-empty if url is valid.
108778
108779         No new tests.
108780
108781         * platform/chromium/ClipboardChromium.cpp:
108782         (WebCore::ClipboardChromium::writeURL):
108783
108784 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
108785
108786         Reviewed by Tor Arne Vestbø.
108787
108788         [Qt] Clamp color stops passed to QGradient to 1.0
108789         [https://bugs.webkit.org/show_bug.cgi?id=41484
108790
108791         Fixes an issue where color stops would be silently dropped from radial gradients.
108792
108793         * platform/graphics/qt/GradientQt.cpp:
108794         (WebCore::Gradient::platformGradient):
108795
108796 2010-07-01  Eric Seidel  <eric@webkit.org>
108797
108798         Reviewed by Adam Barth.
108799
108800         HTMLTokenizer should ASSERT that it never emits a null character
108801         https://bugs.webkit.org/show_bug.cgi?id=41448
108802
108803         No functional change, thus no tests.  These ASSERTs would have
108804         caught the coding error which caused the trouble in bug 41436
108805         (which was fixed by bug 41439).
108806
108807         * html/HTMLToken.h:
108808         (WebCore::HTMLToken::beginStartTag):
108809         (WebCore::HTMLToken::beginCharacter):
108810         (WebCore::HTMLToken::beginDOCTYPE):
108811         (WebCore::HTMLToken::appendToName):
108812         (WebCore::HTMLToken::appendToComment):
108813         (WebCore::HTMLToken::appendToAttributeName):
108814         (WebCore::HTMLToken::appendToAttributeValue):
108815         (WebCore::HTMLToken::appendToPublicIdentifier):
108816         (WebCore::HTMLToken::appendToSystemIdentifier):
108817
108818 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
108819
108820         Reviewed by Tor Arne Vestbø.
108821
108822         Canvas: Don't paint with empty radial gradients
108823         https://bugs.webkit.org/show_bug.cgi?id=41190
108824
108825         If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.
108826
108827         * html/canvas/CanvasRenderingContext2D.cpp:
108828         (WebCore::CanvasRenderingContext2D::fillRect):
108829         * platform/graphics/Gradient.h:
108830         (WebCore::Gradient::isZeroSize):
108831
108832 2010-07-01  Tony Gentilcore  <tonyg@chromium.org>
108833
108834         Reviewed by Adam Barth.
108835
108836         Add interface for network platform to pass up timing information
108837         https://bugs.webkit.org/show_bug.cgi?id=41437
108838
108839         The Web Timing feature requires the network platform to expose detailed
108840         timing information for the main resource. This patch adds that data to
108841         the ResourceResponseBase. Since the 82 bytes of information is only
108842         needed for the main resource, it is a RefPtr to avoid using the memory
108843         for other resource types.
108844
108845         No new tests because no new functionality.
108846
108847         * GNUmakefile.am:
108848         * WebCore.gypi:
108849         * WebCore.pro:
108850         * WebCore.vcproj/WebCore.vcproj:
108851         * WebCore.xcodeproj/project.pbxproj:
108852         * platform/network/ResourceLoadTiming.h: Added.
108853         (WebCore::ResourceLoadTiming::create):
108854         (WebCore::ResourceLoadTiming::deepCopy):
108855         (WebCore::ResourceLoadTiming::operator==):
108856         (WebCore::ResourceLoadTiming::operator!=):
108857         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
108858         * platform/network/ResourceResponseBase.cpp:
108859         (WebCore::ResourceResponseBase::adopt):
108860         (WebCore::ResourceResponseBase::copyData):
108861         (WebCore::ResourceResponseBase::resourceLoadTiming):
108862         (WebCore::ResourceResponseBase::setResourceLoadTiming):
108863         (WebCore::ResourceResponseBase::compare):
108864         * platform/network/ResourceResponseBase.h:
108865
108866 2010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
108867
108868         Unreviewed, rolling out r62321.
108869         http://trac.webkit.org/changeset/62321
108870         https://bugs.webkit.org/show_bug.cgi?id=41494
108871
108872         Broke the non-win builds. (Requested by dumi on #webkit).
108873
108874         * dom/ScriptExecutionContext.cpp:
108875         (WebCore::ScriptExecutionContext::addOpenDatabase):
108876         (WebCore::ScriptExecutionContext::removeOpenDatabase):
108877         (WebCore::ScriptExecutionContext::stopDatabases):
108878         * dom/ScriptExecutionContext.h:
108879         * storage/Database.cpp:
108880         (WebCore::Database::openDatabase):
108881         (WebCore::Database::Database):
108882         (WebCore::Database::markAsDeletedAndClose):
108883         (WebCore::ContextRemoveOpenDatabaseTask::create):
108884         (WebCore::ContextRemoveOpenDatabaseTask::performTask):
108885         (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
108886         (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
108887         (WebCore::Database::close):
108888         (WebCore::Database::closeImmediately):
108889         (WebCore::Database::stop):
108890         (WebCore::Database::performPolicyChecks):
108891         * storage/Database.h:
108892         (WebCore::Database::):
108893         (WebCore::Database::stopped):
108894         * storage/DatabaseTask.cpp:
108895         (WebCore::DatabaseTask::performTask):
108896         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
108897         (WebCore::DatabaseOpenTask::doPerformTask):
108898         (WebCore::DatabaseOpenTask::debugTaskName):
108899         (WebCore::DatabaseCloseTask::DatabaseCloseTask):
108900         (WebCore::DatabaseCloseTask::doPerformTask):
108901         (WebCore::DatabaseCloseTask::debugTaskName):
108902         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
108903         (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
108904         (WebCore::DatabaseTransactionTask::doPerformTask):
108905         (WebCore::DatabaseTransactionTask::debugTaskName):
108906         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
108907         (WebCore::DatabaseTableNamesTask::doPerformTask):
108908         (WebCore::DatabaseTableNamesTask::debugTaskName):
108909         * storage/DatabaseTask.h:
108910         (WebCore::DatabaseOpenTask::create):
108911         (WebCore::DatabaseCloseTask::create):
108912         (WebCore::DatabaseTransactionTask::create):
108913         (WebCore::DatabaseTableNamesTask::create):
108914         * storage/DatabaseThread.cpp:
108915         (WebCore::DatabaseThread::databaseThread):
108916         * storage/DatabaseTracker.cpp:
108917         (WebCore::DatabaseTracker::addOpenDatabase):
108918         * storage/SQLTransaction.cpp:
108919         (WebCore::SQLTransaction::executeSQL):
108920         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
108921
108922 2010-07-01  Xan Lopez  <xlopez@igalia.com>
108923
108924         Reviewed by Gustavo Noronha.
108925
108926         [GTK] Stop using GdkRegion in 3.x mode
108927         https://bugs.webkit.org/show_bug.cgi?id=41463
108928
108929         Make us compile without using GdkRegion, since it's gone from GTK+
108930         3.x.
108931
108932         * platform/graphics/IntRect.h:
108933         * platform/graphics/cairo/GraphicsContextCairo.cpp:
108934         (WebCore::GraphicsContext::drawFocusRing):
108935         * platform/graphics/gtk/FontGtk.cpp:
108936         (WebCore::cairo_region_shrink):
108937         (WebCore::Font::drawComplexText):
108938         * platform/gtk/GtkPluginWidget.cpp:
108939         (WebCore::GtkPluginWidget::paint):
108940         * platform/gtk/RenderThemeGtk.h:
108941         * platform/gtk/ScrollbarGtk.cpp:
108942         (ScrollbarGtk::paint):
108943
108944 2010-06-30  Dumitru Daniliuc  <dumi@chromium.org>
108945
108946         Reviewed by Darin Fisher.
108947
108948         DB clean up.
108949         https://bugs.webkit.org/show_bug.cgi?id=41404
108950
108951         1. Made all DatabaseTasks internal classes of Database and made
108952            the Database methods called by those tasks private.
108953         2. Removed the Database::stop{ed}() methods.
108954         3. Removed the code that kept track of open databases from
108955            ScriptExecutionContext (no longer needed).
108956         4. Made minor changes to Database::closeImmediately() to make it
108957            possible for DatabaseThread to call that method instead of
108958            close().
108959         5. Minor fix to DatabaseTracker: addOpenDatabase() should call
108960            OriginQuotaManager::addDatabase() if the origin quota manager
108961            is not tracking this origin.
108962         6. Removed Database::performPolicyChecks(). We already update the
108963            DB size after each transaction, and we enforce a max size for
108964            the DB at the beginning of each transaction.
108965
108966         * dom/ScriptExecutionContext.cpp:
108967         (WebCore::ScriptExecutionContext::stopDatabases):
108968         * dom/ScriptExecutionContext.h:
108969         (WebCore::ScriptExecutionContext::hasOpenDatabases):
108970         * storage/Database.cpp:
108971         (WebCore::Database::openDatabase):
108972         (WebCore::Database::Database):
108973         (WebCore::Database::markAsDeletedAndClose):
108974         (WebCore::Database::close):
108975         (WebCore::Database::closeImmediately):
108976         * storage/Database.h:
108977         * storage/DatabaseTask.cpp:
108978         (WebCore::DatabaseTask::performTask):
108979         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
108980         (WebCore::Database::DatabaseOpenTask::doPerformTask):
108981         (WebCore::Database::DatabaseOpenTask::debugTaskName):
108982         (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
108983         (WebCore::Database::DatabaseCloseTask::doPerformTask):
108984         (WebCore::Database::DatabaseCloseTask::debugTaskName):
108985         (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
108986         (WebCore::Database::DatabaseTransactionTask::doPerformTask):
108987         (WebCore::Database::DatabaseTransactionTask::debugTaskName):
108988         (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
108989         (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
108990         (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
108991         * storage/DatabaseTask.h:
108992         (WebCore::Database::DatabaseOpenTask::create):
108993         (WebCore::Database::DatabaseCloseTask::create):
108994         (WebCore::Database::DatabaseTransactionTask::create):
108995         (WebCore::Database::DatabaseTableNamesTask::create):
108996         * storage/DatabaseThread.cpp:
108997         (WebCore::DatabaseThread::databaseThread):
108998         * storage/DatabaseTracker.cpp:
108999         (WebCore::DatabaseTracker::addOpenDatabase):
109000         * storage/SQLTransaction.cpp:
109001         (WebCore::SQLTransaction::executeSQL):
109002         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
109003
109004 2010-07-01  Kent Tamura  <tkent@chromium.org>
109005
109006         Reviewed by Darin Fisher.
109007
109008         [Chromium] Support indeterminate checkbox for Windows
109009         https://bugs.webkit.org/show_bug.cgi?id=41444
109010
109011         * rendering/RenderThemeChromiumWin.cpp:
109012         (WebCore::RenderThemeChromiumWin::determineState):
109013          Check isIndeterminate() and set an appropriate flag value.
109014
109015 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
109016
109017         Reviewed by Dan Bernstein.
109018
109019         https://bugs.webkit.org/show_bug.cgi?id=41488
109020         <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor
109021
109022         Test: plugins/js-from-destroy.html
109023
109024         * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
109025         document loader.
109026
109027 2010-07-01  Andy Estes  <aestes@apple.com>
109028
109029         Reviewed by Darin Adler.
109030
109031         <rdar://problem/8113003> Correctly fire beforeload events for images
109032         added to the DOM using .innerHTML.
109033         https://bugs.webkit.org/show_bug.cgi?id=40919
109034
109035         Test: fast/dom/beforeload/image-before-load-innerHTML.html
109036
109037         * html/LegacyHTMLDocumentParser.cpp:
109038         (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
109039         image beforeload events immediately after parsing a document fragment.
109040         Let the events fire later, giving the fragment time to potentially be
109041         inserted into the document.
109042
109043 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109044
109045         Reviewed by Tor Arne Vestbø.
109046
109047         Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
109048         https://bugs.webkit.org/show_bug.cgi?id=41192
109049
109050         If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
109051         move to the (first) control point before adding the curve.
109052
109053         Spec links:
109054         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
109055         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto
109056
109057         * html/canvas/CanvasRenderingContext2D.cpp:
109058         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
109059         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
109060
109061 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109062
109063         Reviewed by Darin Adler.
109064
109065         Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
109066         https://bugs.webkit.org/show_bug.cgi?id=39149
109067
109068         If assigned a negative value, it should default to 300 for width and 150 for height.
109069
109070         Spec link:
109071         http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width
109072
109073         Test: fast/canvas/canvas-negative-size.html
109074
109075         * html/HTMLCanvasElement.cpp:
109076         (WebCore::HTMLCanvasElement::reset):
109077
109078 2010-07-01  Darin Adler  <darin@apple.com>
109079
109080         Reviewed by Steve Falkenburg.
109081
109082         Turn on adoptRef assertion for TreeShared.
109083
109084         * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
109085         Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
109086         removing them all now.
109087
109088         * rendering/ShadowElement.cpp:
109089         (WebCore::ShadowBlockElement::create): Added adoptRef. This was a
109090         storage leak before, probably recently introduced r61324.
109091         (WebCore::ShadowInputElement::create): Ditto.
109092
109093 2010-07-01  Xan Lopez  <xlopez@igalia.com>
109094
109095         Reviewed by Gustavo Noronha.
109096
109097         Only include the geolocation IDL in the GObject DOM bindings set
109098         if geolocation is enabled.
109099
109100         * GNUmakefile.am:
109101
109102 2010-07-01  Timothy Hatcher  <timothy@apple.com>
109103
109104         Provide a WebView preference to disable DNS prefetching.
109105
109106         https://bugs.webkit.org/show_bug.cgi?id=28825
109107         rdar://problem/7181249
109108
109109         Reviewed by Darin Adler.
109110
109111         * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
109112         * dom/Document.cpp:
109113         (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
109114         * page/Settings.cpp:
109115         (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
109116         (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
109117         * page/Settings.h:
109118         (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.
109119
109120 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
109121
109122         Reviewed by Darin Adler.
109123
109124         Get accelerated compositing working with webkit2
109125         https://bugs.webkit.org/show_bug.cgi?id=41084
109126
109127         Step 2: add a  method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
109128         batched changes non-recursively. This allows us to use GraphicsLayer in places where we
109129         don't want to kick off a recursive commit of the entire tree.
109130
109131         * platform/graphics/GraphicsLayer.h:
109132         (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
109133         * platform/graphics/mac/GraphicsLayerCA.h:
109134         * platform/graphics/mac/GraphicsLayerCA.mm:
109135         (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
109136         * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.
109137
109138 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
109139
109140         Reviewed by Sam Weinig.
109141
109142         Get accelerated compositing working with webkit2
109143         https://bugs.webkit.org/show_bug.cgi?id=41084
109144
109145         Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
109146         is defined.
109147         
109148         Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.
109149
109150         * DerivedSources.make:
109151         * WebCore.AcceleratedCompositing.exp: Added.
109152         * WebCore.base.exp:
109153         * WebCore.xcodeproj/project.pbxproj:
109154
109155 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
109156
109157         Reviewed by Darin Adler.
109158
109159         <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
109160         REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
109161
109162         Test: plugins/write-xssauditor-from-destroy.html
109163
109164         Fix specific known cases that also crash in same process case. I don't know if there is
109165         any rule for when documentLoader should be checked for being null, it looks like a mess.
109166
109167         * loader/FrameLoader.cpp:
109168         (WebCore::FrameLoader::referrer):
109169         * page/XSSAuditor.cpp:
109170         (WebCore::XSSAuditor::findInRequest):
109171
109172 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109173
109174         Reviewed by Darin Adler.
109175
109176         The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
109177         https://bugs.webkit.org/show_bug.cgi?id=40271
109178
109179         Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.
109180
109181         Spec link:
109182         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
109183
109184         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
109185         (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
109186         * html/canvas/CanvasRenderingContext2D.cpp:
109187         (WebCore::CanvasRenderingContext2D::drawImage):
109188
109189 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109190
109191         Reviewed by Oliver Hunt.
109192
109193         [Qt] Canvas: clip() should use non-zero winding rule
109194         https://bugs.webkit.org/show_bug.cgi?id=41466
109195
109196         Use non-zero winding number rule when clipping a GraphicsContext from canvas.
109197         Fixes appearance of the "pill" in the web inspector.
109198
109199         * platform/graphics/qt/GraphicsContextQt.cpp:
109200         (WebCore::GraphicsContext::canvasClip):
109201
109202 2010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
109203
109204         Unreviewed, rolling out r62246.
109205         http://trac.webkit.org/changeset/62246
109206         https://bugs.webkit.org/show_bug.cgi?id=41470
109207
109208         "Worker tests are broken in Chromium" (Requested by yurys on
109209         #webkit).
109210
109211         * bindings/v8/ScriptController.cpp:
109212         (WebCore::ScriptController::processingUserGesture):
109213         * bindings/v8/V8AbstractEventListener.cpp:
109214         (WebCore::V8AbstractEventListener::invokeEventHandler):
109215         * bindings/v8/V8HiddenPropertyName.h:
109216         * bindings/v8/custom/V8DOMWindowCustom.cpp:
109217         (WebCore::V8DOMWindow::eventAccessorGetter):
109218         (WebCore::V8DOMWindow::eventAccessorSetter):
109219
109220 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109221
109222         Reviewed by Tor Arne Vestbø.
109223
109224         Canvas: Exception erroneously thrown for drawImage() when image.complete=false
109225         https://bugs.webkit.org/show_bug.cgi?id=33968
109226
109227         Do nothing in drawImage() if called with an image whose 'complete'
109228         attribute is false, or a video whose readyState is either HAVE_NOTHING
109229         or HAVE_METADATA.
109230
109231         Spec link:
109232         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
109233
109234         Test: fast/canvas/canvas-drawImage-incomplete.html
109235
109236         * html/canvas/CanvasRenderingContext2D.cpp:
109237         (WebCore::CanvasRenderingContext2D::drawImage):
109238
109239 2010-07-01  Justin Schuh  <jschuh@chromium.org>
109240
109241         Reviewed by Dan Bernstein.
109242
109243         Prevent crash on counter destruction
109244         https://bugs.webkit.org/show_bug.cgi?id=40032
109245
109246         Added counter destruction to RenderWidget::destroy()
109247
109248         Test: fast/css/counters/destroy-counter-crash.html
109249
109250         * rendering/RenderWidget.cpp:
109251         (WebCore::RenderWidget::destroy):
109252
109253 2010-07-01  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
109254
109255         Unreviewed build fix after r62215.
109256
109257         No new functionality, so no new tests.
109258
109259         * CMakeLists.txt: Add missing files and re-sort.
109260
109261 2010-07-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
109262
109263         Reviewed by Kenneth Rohde Christiansen.
109264
109265         [Qt] Remove an unneeded assert.
109266
109267         This assert is triggered for example while showing the falling leaves demo.
109268         GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
109269         pointer is null. Looking at the uses of this method it seems like
109270         it is expected to return null if a null pointer is given to it.
109271
109272         * platform/graphics/qt/GraphicsLayerQt.cpp:
109273         (WebCore::toGraphicsLayerQtImpl):
109274
109275 2010-06-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
109276
109277         Reviewed by Simon Hausmann.
109278
109279         [Qt] Fix qmake vcproj generation for QtWebKit.
109280
109281         qmake use TARGET=/LIBS+= -lTARGET to create dependencies
109282         between projects in a subdir template.
109283
109284         Since when compiling outside of Qt we hijack the target name of
109285         QtWebKit to add the configuration and version suffix to the binary
109286         filename, qmake can't establish the WebCore project as a dependency
109287         to QtTestBrowser.
109288
109289         This patch makes sure that the target is not hijacked on the
109290         first of the three passes where the dependencies are determined.
109291
109292         * WebCore.pro:
109293
109294 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
109295
109296         Reviewed by Dirk Schulze.
109297
109298         SVGRenderStyle::diff() is missing
109299         https://bugs.webkit.org/show_bug.cgi?id=41455
109300
109301         Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
109302         Figure out when to repaint, and as last resort do a relayout.
109303
109304         Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.
109305
109306         * rendering/style/RenderStyle.cpp:
109307         (WebCore::RenderStyle::diff):
109308         * rendering/style/SVGRenderStyle.cpp:
109309         (WebCore::SVGRenderStyle::diff):
109310         * rendering/style/SVGRenderStyle.h:
109311
109312 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
109313
109314         Revert accidental commit.
109315
109316         * platform/network/qt/ResourceRequestQt.cpp:
109317         (WebCore::ResourceRequest::toNetworkRequest):
109318
109319 2010-07-01  Patrick Gansterer  <paroga@paroga.com>
109320
109321         Reviewed by Nikolas Zimmermann.
109322
109323         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
109324         https://bugs.webkit.org/show_bug.cgi?id=40984
109325
109326         * rendering/SVGRenderSupport.cpp:
109327         (WebCore::SVGRenderSupport::finishRenderSVGContent):
109328
109329 2010-07-04  Patrick Gansterer  <paroga@paroga.com>
109330
109331         Reviewed by Dirk Schulze.
109332
109333         Buildfix for !ENABLE(FILTERS) after r62238.
109334         https://bugs.webkit.org/show_bug.cgi?id=41456
109335
109336         * rendering/SVGRenderSupport.cpp:
109337         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
109338
109339 2010-07-01  MORITA Hajime  <morrita@google.com>
109340
109341         Unreviewed build fix.
109342
109343         * rendering/RenderInputSpeech.cpp:
109344         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
109345         * rendering/RenderInputSpeech.h:
109346         * rendering/RenderTheme.cpp:
109347         (WebCore::RenderTheme::paintInputFieldSpeechButton):
109348         * rendering/RenderTheme.h:
109349
109350 2010-07-01  Satish Sampath  <satish@chromium.org>
109351
109352         Reviewed by Kent Tamura.
109353
109354         Rendering the speech button in input elements.
109355         https://bugs.webkit.org/show_bug.cgi?id=40984
109356
109357         The button currently has only one state and rendered as an image on all platforms. Subsequent
109358         patches will add user input handling and more states + rendering code to the button. The
109359         button's appearance can be customized by individual ports in their RenderTheme implementation
109360         if required.
109361
109362         Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
109363                platform/mac/fast/forms/input-appearance-searchandspeech.html
109364                platform/mac/fast/forms/input-appearance-speechbutton.html
109365
109366         * GNUmakefile.am:
109367         * Resources/inputSpeech.png: Added.
109368         * Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
109369         * WebCore.gypi:
109370         * WebCore.pro:
109371         * WebCore.qrc:
109372         * WebCore.xcodeproj/project.pbxproj:
109373         * platform/graphics/qt/ImageQt.cpp:
109374         (loadResourcePixmap): Load the speech button images for Qt port.
109375         * rendering/RenderInputSpeech.cpp: Added.
109376         (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
109377         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
109378         * rendering/RenderInputSpeech.h: Added.
109379         * rendering/RenderTextControlSingleLine.cpp:
109380         (WebCore::RenderTextControlSingleLine::layout):
109381         (WebCore::RenderTextControlSingleLine::forwardEvent):
109382         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
109383         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
109384         * rendering/RenderTheme.cpp:
109385         (WebCore::RenderTheme::adjustStyle):
109386         (WebCore::RenderTheme::paint):
109387         (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
109388         (WebCore::RenderTheme::paintInputFieldSpeechButton):
109389         * rendering/RenderTheme.h:
109390         * rendering/RenderThemeMac.mm:
109391         (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
109392         speech button when enabled.
109393
109394 2010-07-01  Mario Sanchez Prada  <msanchez@igalia.com>
109395
109396         Reviewed by Xan Lopez.
109397
109398         [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
109399         https://bugs.webkit.org/show_bug.cgi?id=41447
109400
109401         Extra null check added.
109402
109403         * editing/gtk/SelectionControllerGtk.cpp:
109404         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
109405
109406 2010-07-01  Yury Semikhatsky  <yurys@chromium.org>
109407
109408         Reviewed by Adam Barth.
109409
109410         [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
109411         https://bugs.webkit.org/show_bug.cgi?id=41350
109412
109413         Tests: fast/events/popup-blocked-from-fake-user-gesture.html
109414                http/tests/inspector/change-iframe-src.html
109415
109416         * bindings/v8/ScriptController.cpp:
109417         (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
109418         from the call stack. Get event directly from hidden property to avoid unnecessary checks.
109419         * bindings/v8/V8AbstractEventListener.cpp:
109420         (WebCore::V8AbstractEventListener::invokeEventHandler):
109421         * bindings/v8/V8HiddenPropertyName.h:
109422         * bindings/v8/custom/V8DOMWindowCustom.cpp:
109423         (WebCore::V8DOMWindow::eventAccessorGetter):
109424         (WebCore::V8DOMWindow::eventAccessorSetter):
109425
109426 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
109427
109428         Reviewed by Dirk Schulze.
109429
109430         RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
109431         https://bugs.webkit.org/show_bug.cgi?id=41450
109432
109433         strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
109434         instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
109435         which has a resource applied and contains a children which also has a resource applied.
109436
109437         Doesn't affect any test results.
109438
109439         * rendering/RenderSVGContainer.cpp:
109440         (WebCore::RenderSVGContainer::objectBoundingBox):
109441         (WebCore::RenderSVGContainer::strokeBoundingBox):
109442         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
109443         * rendering/RenderSVGRoot.cpp:
109444         (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
109445         (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
109446         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
109447         * rendering/RenderSVGRoot.h:
109448         * rendering/SVGRenderSupport.cpp:
109449         (WebCore::SVGRenderSupport::computeContainerBoundingBox):
109450         * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.
109451
109452 2010-07-01  Zoltan Herczeg  <zherczeg@webkit.org>
109453
109454         Reviewed by Nikolas Zimmermann.
109455
109456         Implementing feConvolveMatrix svg filter
109457         https://bugs.webkit.org/show_bug.cgi?id=5861
109458
109459         The implementation is optimized for speed, and uses
109460         multiple algorithms for different parts of the image.
109461         See SVGFEConvolveMatrixElement.cpp for a detailed
109462         description.
109463
109464         * svg/SVGFEConvolveMatrixElement.cpp:
109465         (WebCore::SVGFEConvolveMatrixElement::build):
109466         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
109467         (WebCore::clampRGBAValue):
109468         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
109469         (WebCore::FEConvolveMatrix::getPixelValue):
109470         (WebCore::FEConvolveMatrix::fastSetOuterPixels):
109471         (WebCore::FEConvolveMatrix::setInteriorPixels):
109472         (WebCore::FEConvolveMatrix::setOuterPixels):
109473         (WebCore::FEConvolveMatrix::apply):
109474         * svg/graphics/filters/SVGFEConvolveMatrix.h:
109475         (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
109476
109477 2010-07-01  Adam Barth  <abarth@webkit.org>
109478
109479         Reviewed by Eric Seidel.
109480
109481         Abstract 'a'-'z' checks into a function
109482         https://bugs.webkit.org/show_bug.cgi?id=41438
109483
109484         Hopefully this version is more readable.
109485
109486         * html/HTMLTokenizer.cpp:
109487         (WebCore::HTMLTokenizer::nextToken):
109488
109489 2010-07-01  Adam Barth  <abarth@webkit.org>
109490
109491         Reviewed by Eric Seidel.
109492
109493         Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
109494         https://bugs.webkit.org/show_bug.cgi?id=41345
109495
109496         Apparently whether an HTML entity requires a trailing semicolon varies
109497         depending on the entity.  The full table is in the spec:
109498
109499         http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references
109500
109501         I believe branch added in this patch is accurate.  At some point, I'll
109502         add a full test suite for all the named entities.
109503
109504         * html/HTMLEntityParser.cpp:
109505         (WebCore::consumeHTMLEntity):
109506
109507 2010-07-01  Eric Seidel  <eric@webkit.org>
109508
109509         Unreviewed.  Fix paste-o in Gtk build file.
109510
109511         Split out HTMLFormattingElementList into its own file
109512         https://bugs.webkit.org/show_bug.cgi?id=41440
109513
109514         * GNUmakefile.am:
109515
109516 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
109517
109518         Reviewed by Eric Seidel & Dirk Schulze.
109519
109520         Performance regression for setting content of <text> in SVG
109521         https://bugs.webkit.org/show_bug.cgi?id=36564
109522
109523         Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
109524         Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
109525         Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
109526         And as RenderSVGRoot never carries shadow or opacity it was completly useless.
109527
109528         RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
109529         These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
109530         the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.
109531
109532         50 runs without the patch: ~ 520.8ms
109533         50 runs with the patch   : ~ 501.8ms
109534
109535         The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
109536         element withs clippers applied, is very cheap now.
109537
109538         Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
109539         of the cache - just like all other resources are handled, simplifying the code.
109540
109541         * rendering/RenderPath.cpp:
109542         (WebCore::RenderPath::paint):
109543         * rendering/RenderSVGContainer.cpp:
109544         (WebCore::RenderSVGContainer::paint):
109545         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
109546         * rendering/RenderSVGImage.cpp:
109547         (WebCore::RenderSVGImage::paint):
109548         * rendering/RenderSVGRoot.cpp:
109549         (WebCore::RenderSVGRoot::paint):
109550         * rendering/SVGInlineFlowBox.cpp:
109551         (WebCore::SVGInlineFlowBox::paint):
109552         * rendering/SVGRenderSupport.cpp:
109553         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
109554         (WebCore::SVGRenderSupport::finishRenderSVGContent):
109555         * rendering/SVGRenderSupport.h:
109556         * rendering/SVGRootInlineBox.cpp:
109557         (WebCore::SVGRootInlineBox::paint):
109558
109559 2010-07-01  Eric Seidel  <eric@webkit.org>
109560
109561         Reviewed by Adam Barth.
109562
109563         Split out HTMLFormattingElementList into its own file
109564         https://bugs.webkit.org/show_bug.cgi?id=41440
109565
109566         No functional changes, thus no tests.
109567
109568         * Android.mk:
109569         * CMakeLists.txt:
109570         * GNUmakefile.am:
109571         * WebCore.gypi:
109572         * WebCore.pro:
109573         * WebCore.vcproj/WebCore.vcproj:
109574         * WebCore.xcodeproj/project.pbxproj:
109575         * html/HTMLTreeBuilder.cpp:
109576         (WebCore::HTMLTreeBuilder::processEndTag):
109577         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
109578         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
109579         * html/HTMLTreeBuilder.h:
109580
109581 2010-07-01  Adam Barth  <abarth@webkit.org>
109582
109583         Reviewed by Eric Seidel.
109584
109585         BogusCommentState should come in from the cold
109586         https://bugs.webkit.org/show_bug.cgi?id=41439
109587
109588         The BogusCommentState has always been wrong.  The proximate issue is
109589         that it didn't handle resuming correctly when parsing a partial input
109590         stream.  Now that we have EOF working properly, we can actually
109591         implement this state correctly.
109592
109593         We need to distinguish when we enter this state from when we continue
109594         in this state.  We could do that with a branch for each character, but
109595         it seemed easier to split the state in two, even though that leaves us
109596         with one more state in our tokenizer than we have in the HTML5 spec.
109597
109598         * html/HTMLTokenizer.cpp:
109599         (WebCore::HTMLTokenizer::nextToken):
109600         * html/HTMLTokenizer.h:
109601         (WebCore::HTMLTokenizer::):
109602
109603 2010-06-30  Adam Barth  <abarth@webkit.org>
109604
109605         Reviewed by Eric Seidel.
109606
109607         HTMLTokenizer's whitespace checks are very redundant
109608         https://bugs.webkit.org/show_bug.cgi?id=41434
109609
109610         This patch adds isTokenizerWhitespace, which replaces a lot of
109611         redundant logic in nextToken.
109612
109613         * html/HTMLTokenizer.cpp:
109614         (WebCore::HTMLTokenizer::nextToken):
109615
109616 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
109617
109618         Reviewed by Kenneth Rohde Christiansen.
109619
109620         [Qt] Crash when uploading document to Google Docs
109621         https://bugs.webkit.org/show_bug.cgi?id=40795
109622
109623         Fix bug where the local file wasn't opened (for POSTing)
109624         if it were the first element in the form.
109625
109626         * platform/network/qt/QNetworkReplyHandler.cpp:
109627         (WebCore::FormDataIODevice::FormDataIODevice):
109628         (WebCore::FormDataIODevice::moveToNextElement):
109629         (WebCore::FormDataIODevice::openFileForCurrentElement):
109630         * platform/network/qt/QNetworkReplyHandler.h:
109631
109632 2010-06-30  Eric Seidel  <eric@webkit.org>
109633
109634         Reviewed by Adam Barth.
109635
109636         Implement generateImpliedEndTags and deploy to steps which were blocked on it
109637         https://bugs.webkit.org/show_bug.cgi?id=41432
109638
109639         This fixes one subtest in html5lib/runner.html and positively
109640         effects a couple others.
109641
109642         More code sharing will be needed here.  For the moment
109643         we're using copy/paste code, but that will soon be shared.
109644
109645         * html/HTMLTreeBuilder.cpp:
109646         (WebCore::HTMLTreeBuilder::processEndTag):
109647         (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
109648         (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
109649         * html/HTMLTreeBuilder.h:
109650
109651 2010-06-30  Csaba Osztrogonác  <ossy@webkit.org>
109652
109653         Unreviewed buildfix after r62196 and r62214.
109654
109655         * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of 
109656         !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.
109657
109658 2010-06-30  Sam Weinig  <sam@webkit.org>
109659
109660         Really fix the windows build.
109661
109662         * bindings/js/JSBindingsAllInOne.cpp:
109663
109664 2010-06-30  Sam Weinig  <sam@webkit.org>
109665
109666         Another Chromium build fix.
109667
109668         * page/DOMWindow.idl:
109669
109670 2010-06-30  Sam Weinig  <sam@webkit.org>
109671
109672         Fix Chromium build.
109673
109674         * WebCore.gyp/WebCore.gyp:
109675
109676 2010-06-30  Sam Weinig  <sam@webkit.org>
109677
109678         Fix Windows build.
109679
109680         * bindings/js/JSBindingsAllInOne.cpp:
109681
109682 2010-06-30  Sam Weinig  <sam@webkit.org>
109683
109684         Fix Gtk build.
109685
109686         * GNUmakefile.am:
109687
109688 2010-06-29  Sam Weinig  <sam@webkit.org>
109689
109690         Reviewed by Dan Bernstein.
109691
109692         Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
109693         <rdar://problem/8126069>
109694         Implement the .dataset DOM property
109695
109696         Tests: fast/dom/dataset-xhtml.xhtml
109697                fast/dom/dataset.html
109698
109699         * DerivedSources.cpp:
109700         * DerivedSources.make:
109701         * GNUmakefile.am:
109702         * WebCore.gypi:
109703         * WebCore.pro:
109704         * WebCore.vcproj/WebCore.vcproj:
109705         * WebCore.xcodeproj/project.pbxproj:
109706         * bindings/js/JSDOMStringMapCustom.cpp: Added.
109707         (WebCore::JSDOMStringMap::canGetItemsForName):
109708         (WebCore::JSDOMStringMap::nameGetter):
109709         (WebCore::JSDOMStringMap::getOwnPropertyNames):
109710         (WebCore::JSDOMStringMap::deleteProperty):
109711         (WebCore::JSDOMStringMap::putDelegate):
109712         * bindings/js/JSDOMStringMapCustom.h: Added.
109713         * dom/DOMStringMap.cpp: Added.
109714         (WebCore::DOMStringMap::~DOMStringMap):
109715         * dom/DOMStringMap.h: Added.
109716         (WebCore::DOMStringMap::DOMStringMap):
109717         * dom/DOMStringMap.idl: Added.
109718         * dom/DatasetDOMStringMap.cpp: Added.
109719         (WebCore::isValidAttributeName):
109720         (WebCore::convertAttributeNameToPropertyName):
109721         (WebCore::propertyNameMatchesAttributeName):
109722         (WebCore::isValidPropertyName):
109723         (WebCore::convertPropertyNameToAttributeName):
109724         (WebCore::DatasetDOMStringMap::ref):
109725         (WebCore::DatasetDOMStringMap::deref):
109726         (WebCore::DatasetDOMStringMap::getNames):
109727         (WebCore::DatasetDOMStringMap::item):
109728         (WebCore::DatasetDOMStringMap::contains):
109729         (WebCore::DatasetDOMStringMap::setItem):
109730         (WebCore::DatasetDOMStringMap::deleteItem):
109731         * dom/DatasetDOMStringMap.h: Added.
109732         (WebCore::DatasetDOMStringMap::create):
109733         (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
109734         * dom/Element.cpp:
109735         (WebCore::Element::dataset):
109736         * dom/Element.h:
109737         * dom/Element.idl:
109738         * dom/ElementRareData.h:
109739         * page/DOMWindow.idl:
109740
109741 2010-06-30  Darin Adler  <darin@apple.com>
109742
109743         More Qt build fix.
109744
109745         * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
109746         include of SVGNames.h too.
109747
109748 2010-06-30  Darin Adler  <darin@apple.com>
109749
109750         Reviewed by Adam Barth.
109751
109752         Add assertion, off by default, for when you forget to do adoptRef
109753         https://bugs.webkit.org/show_bug.cgi?id=41422
109754
109755         * platform/TreeShared.h: Added code to require adoption and assert if
109756         you don't call adoptRef. For now, it is turned off because of the
109757         LOOSE_TREE_SHARED define in this header. Later we can turn it on
109758         once we get everything working without asserting. Note also that it
109759         only works for objects with an initial reference count of 1.
109760
109761 2010-06-30  Patrick Gansterer  <paroga@paroga.com>
109762
109763         Reviewed by Darin Adler.
109764
109765         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
109766         https://bugs.webkit.org/show_bug.cgi?id=41429
109767
109768         * html/HTMLElementStack.cpp:
109769
109770 2010-06-30  Eric Seidel  <eric@webkit.org>
109771
109772         Reviewed by Adam Barth.
109773
109774         Add new popUntil(tagName) function and deploy
109775         https://bugs.webkit.org/show_bug.cgi?id=41405
109776
109777         Add a new popUntil function to share some common code
109778         between states.  There is more code to share here, but this
109779         is a start.
109780
109781         I also filled in a couple similar states to these with the
109782         hope of sharing more code, but decided to wait for a later
109783         patch.
109784
109785         No test changes, since this code doesn't do enough yet to
109786         pass any more subtests.  Lack of generateImpliedEndTags is the main
109787         blocking issue.
109788
109789         * html/HTMLElementStack.cpp:
109790         (WebCore::HTMLElementStack::popUntil):
109791         * html/HTMLElementStack.h:
109792         * html/HTMLTreeBuilder.cpp:
109793         (WebCore::HTMLTreeBuilder::processEndTag):
109794
109795 2010-06-30  Xan Lopez  <xlopez@igalia.com>
109796
109797         Reviewed by Gustavo Noronha.
109798
109799         [GTK] Unit test for DOM insertion methods
109800         https://bugs.webkit.org/show_bug.cgi?id=40495
109801
109802         Fix typo in custom function detection method.
109803
109804         * bindings/scripts/CodeGeneratorGObject.pm:
109805
109806 2010-06-30  Eric Seidel  <eric@webkit.org>
109807
109808         Reviewed by Adam Barth.
109809
109810         Implement HTML5 "in scope" algorithm and attempt to use it
109811         https://bugs.webkit.org/show_bug.cgi?id=41402
109812
109813         Implemented the 4 needed "in scope" functions for HTML5.
109814         3 for the different sets of scope markers, and one for
109815         doing exact element comparisons instead of tag name searches.
109816
109817         I deployed inScope("body") for </body> and </html> in InBody.
109818
109819         Adds two new (expected) failures, since we're now
109820         switching out of InBody to AfterBody when seeing
109821         </html>.  We don't implement AfterBody yet, so
109822         the rest of the content after </html> is ignored.
109823
109824         * html/HTMLElementStack.cpp:
109825         (WebCore::inScopeCommon):
109826         (WebCore::HTMLElementStack::inScope):
109827         (WebCore::HTMLElementStack::inListItemScope):
109828         (WebCore::HTMLElementStack::inTableScope):
109829         * html/HTMLElementStack.h:
109830         * html/HTMLTreeBuilder.cpp:
109831         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
109832         (WebCore::HTMLTreeBuilder::processEndTag):
109833         * html/HTMLTreeBuilder.h:
109834
109835 2010-06-30  Eric Seidel  <eric@webkit.org>
109836
109837         Reviewed by Adam Barth.
109838
109839         Split HTMLElementStack out into its own file
109840         https://bugs.webkit.org/show_bug.cgi?id=41399
109841
109842         No functional change, thus no tests.
109843
109844         * Android.mk:
109845         * CMakeLists.txt:
109846         * GNUmakefile.am:
109847         * WebCore.gypi:
109848         * WebCore.pro:
109849         * WebCore.vcproj/WebCore.vcproj:
109850         * WebCore.xcodeproj/project.pbxproj:
109851         * html/HTMLElementStack.cpp: Added.
109852         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
109853         (WebCore::HTMLElementStack::ElementRecord::element):
109854         (WebCore::HTMLElementStack::ElementRecord::next):
109855         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
109856         (WebCore::HTMLElementStack::ElementRecord::setNext):
109857         (WebCore::HTMLElementStack::HTMLElementStack):
109858         (WebCore::HTMLElementStack::~HTMLElementStack):
109859         (WebCore::HTMLElementStack::popHTMLHeadElement):
109860         (WebCore::HTMLElementStack::pop):
109861         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
109862         (WebCore::HTMLElementStack::pushHTMLHeadElement):
109863         (WebCore::HTMLElementStack::pushHTMLBodyElement):
109864         (WebCore::HTMLElementStack::push):
109865         (WebCore::HTMLElementStack::top):
109866         (WebCore::HTMLElementStack::removeHTMLHeadElement):
109867         (WebCore::HTMLElementStack::remove):
109868         (WebCore::HTMLElementStack::contains):
109869         (WebCore::HTMLElementStack::inScope):
109870         (WebCore::HTMLElementStack::htmlElement):
109871         (WebCore::HTMLElementStack::headElement):
109872         (WebCore::HTMLElementStack::bodyElement):
109873         (WebCore::HTMLElementStack::pushCommon):
109874         (WebCore::HTMLElementStack::popCommon):
109875         (WebCore::HTMLElementStack::removeNonFirstCommon):
109876         * html/HTMLElementStack.h: Added.
109877         * html/HTMLTreeBuilder.h:
109878
109879 2010-06-30  Kenneth Russell  <kbr@google.com>
109880
109881         Reviewed by Oliver Hunt.
109882
109883         WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
109884         https://bugs.webkit.org/show_bug.cgi?id=38040
109885
109886         Changed custom ArrayBufferView constructors to create a
109887         fully-initialized, zero-length array when called with zero
109888         arguments. This is the simplest fix which works identically in
109889         both the JSC and V8 bindings.
109890
109891         Test: fast/canvas/webgl/array-buffer-view-crash.html
109892
109893         * bindings/js/JSArrayBufferViewHelper.h:
109894         (WebCore::constructArrayBufferView):
109895         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
109896         (WebCore::constructWebGLArray):
109897
109898 2010-06-30  Victor Wang  <victorw@chromium.org>
109899
109900         Reviewed by Darin Fisher.
109901
109902         [chromium] update webcore gyp to use v8 dll for chromium multi dll build.
109903
109904         https://bugs.webkit.org/show_bug.cgi?id=41376
109905
109906         * WebCore.gyp/WebCore.gyp:
109907
109908 2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
109909
109910         Reviewed by Dimitri Glazkov.
109911
109912         [Chromium] Add OOP font loading to FontPlatformDataChromiumMac.
109913
109914         On OS X, with font management software installed. Fonts
109915         can reside in an arbitrary path on disk which is blocked by
109916         Chromium's sandbox.
109917
109918         This change adds hooks to FontPlaformData which allow cross-process
109919         font loading in case of need.
109920
109921         https://bugs.webkit.org/show_bug.cgi?id=41148
109922
109923         Not possible to test - requires sandboxing which DRT doesn't support.
109924
109925         * WebCore.gypi:
109926         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
109927         (WebCore::FontPlatformData::FontPlatformData):
109928         (WebCore::FontPlatformData::~FontPlatformData):
109929         (WebCore::FontPlatformData::operator=):
109930         (WebCore::FontPlatformData::setFont):
109931         (WebCore::FontPlatformData::roundsGlyphAdvances):
109932         (WebCore::FontPlatformData::allowsLigatures):
109933         (WebCore::FontPlatformData::description):
109934
109935 2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
109936
109937         Reviewed by Dan Bernstein.
109938
109939         Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm
109940
109941         * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
109942         * Fix a typo in FontPlatformDataMac.mm
109943
109944         https://bugs.webkit.org/show_bug.cgi?id=41152
109945
109946         No behavior changes so no new tests.
109947
109948         * platform/graphics/mac/FontPlatformDataMac.mm:
109949         (WebCore::FontPlatformData::description):
109950         * platform/graphics/mac/SimpleFontDataMac.mm:
109951         (WebCore::copyFontTableForTag):
109952
109953 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
109954
109955         Reviewed by Kenneth Rohde Christiansen.
109956
109957         [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
109958         https://bugs.webkit.org/show_bug.cgi?id=41407
109959
109960         Only disallow calling SetWindow more than once if we're using Flash 9 or older.
109961         This fixes resizing of YouTube videos via the player's own button.
109962
109963         Removed copy-pasted logic in PluginViewGtk since the issue only exists
109964         when running Flash with a non-Gtk toolkit.
109965
109966         * plugins/PluginPackage.cpp:
109967         (WebCore::PluginPackage::determineQuirks):
109968         * plugins/PluginQuirkSet.h:
109969         (WebCore::):
109970         * plugins/gtk/PluginViewGtk.cpp:
109971         (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
109972         * plugins/qt/PluginViewQt.cpp:
109973         (WebCore::PluginView::setNPWindowIfNeeded):
109974
109975 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
109976
109977         Reviewed by Antti Koivisto.
109978
109979         [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
109980         https://bugs.webkit.org/show_bug.cgi?id=41406
109981
109982         NPRect has right/bottom instead of width/height.
109983         This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815
109984
109985         * plugins/gtk/PluginViewGtk.cpp:
109986         (WebCore::PluginView::setNPWindowIfNeeded):
109987         * plugins/qt/PluginViewQt.cpp:
109988         (WebCore::PluginView::setNPWindowIfNeeded):
109989         * plugins/symbian/PluginViewSymbian.cpp:
109990         (WebCore::PluginView::setNPWindowIfNeeded):
109991
109992 2010-06-30  Antonio Gomes  <tonikitoo@webkit.org>
109993
109994         Reviewed by Simon Fraser.
109995
109996         Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
109997         https://bugs.webkit.org/show_bug.cgi?id=41160
109998
109999         Patch addresses the problem of spatial navigation not work properly with nested
110000         inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
110001         if a give node is descendant of a given document or any parent of it.
110002
110003         Test: fast/events/spatial-navigation/snav-iframe-nested.html
110004
110005         * page/FocusController.cpp:
110006         (WebCore::FocusController::deepFindFocusableNodeInDirection):
110007         * page/SpatialNavigation.cpp:
110008         (WebCore::isNodeDeepDescendantOfDocument):
110009         * page/SpatialNavigation.h:
110010
110011 2010-06-30  Adam Barth  <abarth@webkit.org>
110012
110013         Reviewed by Eric Seidel.
110014
110015         HTMLTokenizer should use fewer macros
110016         https://bugs.webkit.org/show_bug.cgi?id=41397
110017
110018         Macros are sadness.  Inline functions are the new hotness.
110019
110020         * html/HTMLTokenizer.cpp:
110021         (WebCore::HTMLTokenizer::processEntity):
110022         (WebCore::HTMLTokenizer::emitAndResumeIn):
110023         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
110024         (WebCore::HTMLTokenizer::emitEndOfFile):
110025         (WebCore::HTMLTokenizer::flushBufferedEndTag):
110026         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
110027         (WebCore::HTMLTokenizer::nextToken):
110028         (WebCore::HTMLTokenizer::bufferCharacter):
110029         (WebCore::HTMLTokenizer::bufferCodePoint):
110030         (WebCore::HTMLTokenizer::bufferParseError):
110031         (WebCore::HTMLTokenizer::bufferCurrentToken):
110032         (WebCore::HTMLTokenizer::bufferEndOfFile):
110033         * html/HTMLTokenizer.h:
110034
110035 2010-06-30  Justin Schuh  <jschuh@chromium.org>
110036
110037         Reviewed by Adam Barth.
110038
110039         Remove dead binding code
110040         https://bugs.webkit.org/show_bug.cgi?id=41388
110041
110042         Removed BindingElement because it was obsoleted by r59866.
110043
110044         * WebCore.gypi:
110045         * bindings/generic/BindingElement.h: Removed.
110046         * bindings/v8/SerializedScriptValue.cpp:
110047         * bindings/v8/V8Binding.h:
110048         * bindings/v8/custom/V8DatabaseCustom.cpp:
110049         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
110050         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
110051         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
110052
110053 2010-06-30  Eric Seidel  <eric@webkit.org>
110054
110055         Reviewed by Adam Barth.
110056
110057         HTMLTokenizer needs EndOfFile support
110058         https://bugs.webkit.org/show_bug.cgi?id=41344
110059
110060         EndOfFile support uncovered a bug in our implementation of finish().
110061         finish() may be called more than once if the first call does not
110062         result in end() being called (and parsing thus actually stopping).
110063
110064         SegmentedString::close() should have ASSERTed that it was not already
110065         closed when close() is called.  I've added such an assert now.
110066
110067         * html/HTMLDocumentParser.cpp:
110068         (WebCore::HTMLDocumentParser::finish):
110069         * platform/text/SegmentedString.cpp:
110070         (WebCore::SegmentedString::close):
110071         * platform/text/SegmentedString.h:
110072
110073 2010-06-29  Eric Seidel  <eric@webkit.org>
110074
110075         Reviewed by Adam Barth.
110076
110077         HTMLTokenizer needs EndOfFile support
110078         https://bugs.webkit.org/show_bug.cgi?id=41344
110079
110080         We're using \0 as the EndOfFile marker as HTML5 replaces
110081         all other \0 with \0xFFFD.  Added some special case logic
110082         to InputStreamPreprocessor::peek not to replace \0 when
110083         its being used at the end of a stream.
110084
110085         This fixed 60 subtests in html5lib/runner.html.
110086
110087         There are still at least two states (BogusCommentState and
110088         CDATASectionState) which do not have proper EOF support.
110089
110090         * html/HTMLDocumentParser.cpp:
110091         (WebCore::HTMLDocumentParser::finish):
110092         (WebCore::HTMLDocumentParser::finishWasCalled):
110093         * html/HTMLInputStream.h:
110094         (WebCore::HTMLInputStream::markEndOfFile):
110095         (WebCore::HTMLInputStream::haveSeenEndOfFile):
110096         * html/HTMLToken.h:
110097         (WebCore::HTMLToken::makeEndOfFile):
110098         * html/HTMLTokenizer.cpp:
110099         (WebCore::HTMLTokenizer::nextToken):
110100         (WebCore::HTMLTokenizer::emitEndOfFile):
110101         * html/HTMLTokenizer.h:
110102         (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
110103         (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
110104         * html/HTMLTreeBuilder.cpp:
110105         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
110106
110107 2010-06-28  Eric Seidel  <eric@webkit.org>
110108
110109         Reviewed by Adam Barth.
110110
110111         Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
110112         https://bugs.webkit.org/show_bug.cgi?id=41337
110113
110114         Had to teach ElementStack to store pointers to html, head, and body
110115         elements.
110116
110117         This fixed a few tests in LayoutTests/html5lib.
110118
110119         * html/HTMLTreeBuilder.cpp:
110120         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
110121         (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
110122         (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
110123         (WebCore::HTMLTreeBuilder::processStartTag):
110124         (WebCore::HTMLTreeBuilder::processEndTag):
110125         (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
110126         (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
110127         (WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
110128         (WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
110129         (WebCore::HTMLTreeBuilder::insertElement):
110130         (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
110131         (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
110132         * html/HTMLTreeBuilder.h:
110133         (WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
110134         (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
110135         (WebCore::HTMLTreeBuilder::ElementStack::pop):
110136         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
110137         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
110138         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
110139         (WebCore::HTMLTreeBuilder::ElementStack::push):
110140         (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
110141         (WebCore::HTMLTreeBuilder::ElementStack::remove):
110142         (WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
110143         (WebCore::HTMLTreeBuilder::ElementStack::headElement):
110144         (WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
110145         (WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
110146         (WebCore::HTMLTreeBuilder::ElementStack::popCommon):
110147         (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):
110148
110149 2010-06-30  José Millán Soto  <jmillan@igalia.com>
110150
110151         Reviewed by Xan Lopez.
110152
110153         [Gtk] Text attributes not exposed
110154         https://bugs.webkit.org/show_bug.cgi?id=25528
110155
110156         Implemented the get_run_attributes and get_default_attributes
110157         functions for the ATK_TEXT role.
110158
110159         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
110160         (getAttributeSetForAccessibilityObject):
110161         (compareAttribute):
110162         (attributeSetDifference):
110163         (accessibilityObjectLength):
110164         (getAccessibilityObjectForOffset):
110165         (getRunAttributesFromAccesibilityObject):
110166         (webkit_accessible_text_get_run_attributes):
110167         (webkit_accessible_text_get_default_attributes):
110168
110169 2010-06-30  Yuta Kitamura  <yutak@chromium.org>
110170
110171         Reviewed by Alexey Proskuryakov.
110172
110173         Fix Sec-WebSocketKey{1,2} headers.
110174
110175         According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
110176         should not start or end with a space.
110177
110178         WebSocket: Malformed handshake headers in a worker due to rand_s failing
110179         https://bugs.webkit.org/show_bug.cgi?id=41327
110180
110181         No new tests. ASSERT should catch the problem.
110182
110183         * websockets/WebSocketHandshake.cpp:
110184         (WebCore::generateSecWebSocketKey):
110185
110186 2010-06-30  Yuzo Fujishima  <yuzo@google.com>
110187
110188         Reviewed by Dan Bernstein.
110189
110190         Fix for Bug 41339 - unicode-range property only with a descending range
110191         causes a crash
110192
110193         https://bugs.webkit.org/show_bug.cgi?id=41339
110194
110195         Test: fast/css/font-face-descending-unicode-range.html
110196
110197         * css/CSSParser.cpp:
110198         (WebCore::CSSParser::parseFontFaceUnicodeRange):
110199
110200 2010-06-29  Abhinav Mithal <abhinav.mithal@nokia.com>
110201
110202         Reviewed by Laszlo Gombos.
110203
110204         [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
110205         https://bugs.webkit.org/show_bug.cgi?id=37303
110206
110207         * plugins/symbian/PluginViewSymbian.cpp:
110208         (WebCore::PluginView::platformDestroy):
110209
110210 2010-06-29  Zhenyao Mo  <zmo@google.com>
110211
110212         Reviewed by Dimitri Glazkov.
110213
110214         Implement getAttachedShaders
110215         https://bugs.webkit.org/show_bug.cgi?id=31172
110216
110217         * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
110218         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
110219         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
110220         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
110221         * html/canvas/WebGLRenderingContext.cpp:
110222         (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
110223         (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
110224         * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
110225         * html/canvas/WebGLRenderingContext.idl: Ditto.
110226         * platform/graphics/GraphicsContext3D.h: Ditto.
110227         * platform/graphics/mac/GraphicsContext3DMac.mm:
110228         (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().
110229
110230 2010-06-29  MORITA Hajime  <morrita@google.com>
110231
110232         Reviewed by Kent Tamura.
110233
110234         REGRESSION: [Chromium] <progress> appearance on windows looks not good
110235         https://bugs.webkit.org/show_bug.cgi?id=41343
110236         
110237         RenderThemeChromiumWin::paintProgressBar() should return false,
110238         which indicates the widget is painted.
110239         
110240         Test: fast/dom/HTMLProgressElement/progress-element.html
110241               * rebaselined with a wrong expectation.
110242
110243         * rendering/RenderThemeChromiumWin.cpp:
110244         (WebCore::RenderThemeChromiumWin::paintProgressBar):
110245
110246 2010-06-29  Kinuko Yasuda  <kinuko@chromium.org>
110247
110248         Reviewed by Jian Li.
110249
110250         Fix http/tests/local/blob/send-data-blob.html on Windows
110251         https://bugs.webkit.org/show_bug.cgi?id=41228
110252
110253         Fix a regression bug in the line-conversion code.
110254         Rewrite the line-conversion function with simpler functions to
110255         make it less error prone.
110256
110257         No new tests as this is for bug fixes.
110258
110259         * platform/BlobItem.cpp:
110260         (WebCore::StringBlobItem::convertToCString):
110261
110262 2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>
110263
110264         Reviewed by Darin Fisher.
110265
110266         Implementing DatabaseSync::openDatabaseSync().
110267         https://bugs.webkit.org/show_bug.cgi?id=40607
110268
110269         1. Moved some common code from Database to AbstractDatabase.
110270         2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
110271            need to interact with DatabaseThread.
110272         3. Removed the m_creationCallback field, since it's only needed in
110273            the openDatabase{Sync} methods.
110274
110275         * storage/AbstractDatabase.cpp:
110276         (WebCore::retrieveTextResultFromDatabase):
110277         (WebCore::setTextValueInDatabase):
110278         (WebCore::guidMutex):
110279         (WebCore::guidToVersionMap):
110280         (WebCore::updateGuidVersionMap):
110281         (WebCore::guidToDatabaseMap):
110282         (WebCore::guidForOriginAndName):
110283         (WebCore::AbstractDatabase::databaseInfoTableName):
110284         (WebCore::AbstractDatabase::AbstractDatabase):
110285         (WebCore::AbstractDatabase::closeDatabase):
110286         (WebCore::AbstractDatabase::version):
110287         (WebCore::AbstractDatabase::performOpenAndVerify):
110288         (WebCore::AbstractDatabase::scriptExecutionContext):
110289         (WebCore::AbstractDatabase::securityOrigin):
110290         (WebCore::AbstractDatabase::stringIdentifier):
110291         (WebCore::AbstractDatabase::displayName):
110292         (WebCore::AbstractDatabase::estimatedSize):
110293         (WebCore::AbstractDatabase::fileName):
110294         (WebCore::AbstractDatabase::databaseVersionKey):
110295         (WebCore::AbstractDatabase::getVersionFromDatabase):
110296         (WebCore::AbstractDatabase::setVersionInDatabase):
110297         (WebCore::AbstractDatabase::versionMatchesExpected):
110298         (WebCore::AbstractDatabase::setExpectedVersion):
110299         (WebCore::AbstractDatabase::disableAuthorizer):
110300         (WebCore::AbstractDatabase::enableAuthorizer):
110301         (WebCore::AbstractDatabase::setAuthorizerReadOnly):
110302         (WebCore::AbstractDatabase::lastActionChangedDatabase):
110303         (WebCore::AbstractDatabase::lastActionWasInsert):
110304         (WebCore::AbstractDatabase::resetDeletes):
110305         (WebCore::AbstractDatabase::hadDeletes):
110306         (WebCore::AbstractDatabase::resetAuthorizer):
110307         * storage/AbstractDatabase.h:
110308         (WebCore::AbstractDatabase::opened):
110309         (WebCore::AbstractDatabase::isNew):
110310         (WebCore::AbstractDatabase::databaseDebugName):
110311         * storage/Database.cpp:
110312         (WebCore::DatabaseCreationCallbackTask::create):
110313         (WebCore::DatabaseCreationCallbackTask::performTask):
110314         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
110315         (WebCore::Database::openDatabase):
110316         (WebCore::Database::Database):
110317         (WebCore::Database::version):
110318         (WebCore::Database::openAndVerifyVersion):
110319         (WebCore::Database::close):
110320         (WebCore::Database::stop):
110321         (WebCore::Database::performOpenAndVerify):
110322         * storage/Database.h:
110323         (WebCore::Database::sqliteDatabase):
110324         * storage/DatabaseAuthorizer.cpp:
110325         (WebCore::DatabaseAuthorizer::create):
110326         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
110327         (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
110328         * storage/DatabaseAuthorizer.h:
110329         * storage/DatabaseSync.cpp:
110330         (WebCore::DatabaseSync::openDatabaseSync):
110331         (WebCore::DatabaseSync::DatabaseSync):
110332         (WebCore::DatabaseSync::~DatabaseSync):
110333         (WebCore::DatabaseSync::markAsDeletedAndClose):
110334         (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
110335         (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
110336         (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
110337         (WebCore::DatabaseSync::closeImmediately):
110338         * storage/DatabaseSync.h:
110339         * storage/DatabaseTask.cpp:
110340         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
110341         (WebCore::DatabaseOpenTask::doPerformTask):
110342         * storage/DatabaseTask.h:
110343         (WebCore::DatabaseOpenTask::create):
110344
110345 2010-06-29  François Sausset  <sausset@gmail.com>
110346
110347         Reviewed by Darin Adler.
110348
110349         Fix a bug when a msubsup element is inside a mrow element
110350         https://bugs.webkit.org/show_bug.cgi?id=36525
110351
110352         Test: mathml/presentation/subsup.xhtml
110353
110354         * mathml/RenderMathMLSubSup.cpp:
110355         (WebCore::RenderMathMLSubSup::stretchToHeight):
110356
110357 2010-06-29  Zhenyao Mo  <zmo@google.com>
110358
110359         Reviewed by Dimitri Glazkov.
110360
110361         uniformmatrix* should generate INVALID_VALUE with transpose = true
110362         https://bugs.webkit.org/show_bug.cgi?id=41235
110363
110364         Test: fast/canvas/webgl/gl-uniformmatrix4fv.html
110365
110366         * html/canvas/WebGLRenderingContext.cpp:
110367         (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
110368         (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
110369         (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
110370         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
110371         * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().
110372
110373 2010-06-29  Kenneth Russell  <kbr@google.com>
110374
110375         Reviewed by Dimitri Glazkov.
110376
110377         Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
110378         https://bugs.webkit.org/show_bug.cgi?id=40398
110379
110380         Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
110381         parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
110382         More cleanly separated the unpacking and packing phases of user-supplied pixel data
110383         in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
110384         of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
110385         validation of the amount of data passed to texImage2D and texSubImage2D. Modified
110386         fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
110387         tests for relevant source formats; added new test which exercises all combinations
110388         of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
110389         store parameters.
110390
110391         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
110392
110393         * html/canvas/WebGLRenderingContext.cpp:
110394         (WebCore::WebGLRenderingContext::texImage2D):
110395         (WebCore::WebGLRenderingContext::texSubImage2D):
110396         (WebCore::WebGLRenderingContext::validateTexFuncData):
110397         * html/canvas/WebGLRenderingContext.h:
110398         * platform/graphics/GraphicsContext3D.cpp:
110399         (WebCore::GraphicsContext3D::extractImageData):
110400         (WebCore::GraphicsContext3D::extractTextureData):
110401         (WebCore::GraphicsContext3D::flipVertically):
110402         (WebCore::doUnpackingAndPacking):
110403         (WebCore::computeIncrementParameters):
110404         (WebCore::doPacking):
110405         (WebCore::GraphicsContext3D::packPixels):
110406         * platform/graphics/GraphicsContext3D.h:
110407         (WebCore::GraphicsContext3D::):
110408         * platform/graphics/cg/GraphicsContext3DCG.cpp:
110409         (WebCore::GraphicsContext3D::getImageData):
110410         * platform/graphics/qt/GraphicsContext3DQt.cpp:
110411         (WebCore::GraphicsContext3D::getImageData):
110412         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
110413         (WebCore::GraphicsContext3D::getImageData):
110414
110415 2010-06-29  Patrick Gansterer  <paroga@paroga.com>
110416
110417         Reviewed by Dirk Schulze.
110418
110419         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
110420         https://bugs.webkit.org/show_bug.cgi?id=41367
110421
110422         * svg/SVGSVGElement.cpp:
110423         (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).
110424
110425 2010-06-29  Patrick Gansterer  <paroga@paroga.com>
110426
110427         Reviewed by Darin Adler.
110428
110429         Buildfix after r62118.
110430         https://bugs.webkit.org/show_bug.cgi?id=41365
110431
110432         * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.
110433
110434 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
110435
110436         Unreviewed, rolling out r62052.
110437         http://trac.webkit.org/changeset/62052
110438         https://bugs.webkit.org/show_bug.cgi?id=41357
110439
110440         Causes crashes in JSLazyEventListener::initializeFunction (see
110441         bug 41352) (Requested by aroben on #webkit).
110442
110443         * bindings/js/ScriptEventListener.cpp:
110444         (WebCore::createAttributeEventListener):
110445         * bindings/js/ScriptEventListener.h:
110446         * bindings/v8/ScriptEventListener.cpp:
110447         (WebCore::createAttributeEventListener):
110448         * bindings/v8/ScriptEventListener.h:
110449         * html/HTMLBodyElement.cpp:
110450         (WebCore::HTMLBodyElement::parseMappedAttribute):
110451         * html/HTMLFrameSetElement.cpp:
110452         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
110453         * svg/SVGSVGElement.cpp:
110454         (WebCore::SVGSVGElement::parseMappedAttribute):
110455
110456 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
110457
110458         Unreviewed, rolling out r62129.
110459         http://trac.webkit.org/changeset/62129
110460         https://bugs.webkit.org/show_bug.cgi?id=41362
110461
110462         Needed to roll out r62052 (see bug 41357) (Requested by aroben
110463         on #webkit).
110464
110465         * bindings/js/ScriptEventListener.cpp:
110466         (WebCore::createWindowAttributeEventListener):
110467
110468 2010-06-29  Beth Dakin  <bdakin@apple.com>
110469
110470         Reviewed by Darin Adler.
110471
110472         Speculative fix for <rdar://problem/8071558> CrashTracer: [USER] 
110473         2300+ crashes in Safari at com.apple.WebCore: 
110474         WebCore::FrameView::scheduleRelayout + 352
110475
110476         Unfortunately, we don't have a reproducible case for this bug, and 
110477         therefore, we do not have a layout test either. It is pretty clear 
110478         from the logs that m_frame->settings() is null in 
110479         FrameView::scheduleRelayout() in the crashing case. 
110480         m_frame->settings() is null whenever page is null. Everywhere else 
110481         in FrameView.cpp we null-check either page or settings before using 
110482         settings. It seems plausible to me that scheduleRelayout could be 
110483         called when page is null, so the fix is just to add null-checks. 
110484
110485         * page/FrameView.cpp:
110486         (WebCore::FrameView::layout):
110487         (WebCore::FrameView::scheduleRelayout):
110488
110489 2010-06-29  Dan Bernstein  <mitz@apple.com>
110490
110491         Reviewed by Darin Adler.
110492
110493         <rdar://problem/7975842> Certain text is repeated after using splitText()
110494
110495         Tests: fast/text/setData-dirty-lines.html
110496                fast/text/splitText-dirty-lines.html
110497
110498         * dom/CharacterData.cpp:
110499         (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
110500         setText(), because only the former correctly dirties line boxes.
110501         * dom/Text.cpp:
110502         (WebCore::Text::splitText): Ditto.
110503
110504 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
110505
110506         Unreviewed, rolling out r62073.
110507         http://trac.webkit.org/changeset/62073
110508         https://bugs.webkit.org/show_bug.cgi?id=41359
110509
110510         Necessary to fix chromium build when r62052 is rolled out.
110511         (Requested by dave_levin on #webkit).
110512
110513         * bindings/v8/ScriptEventListener.h:
110514
110515 2010-06-29  Vangelis Kokkevis  <vangelis@chromium.org>
110516
110517         Reviewed by Darin Fisher.
110518
110519         [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
110520         methods to set the contents of a GraphicsLayer with a platform specific WebGL
110521         Layer, and to update the contents of the WebGL Layer when needed.
110522         https://bugs.webkit.org/show_bug.cgi?id=41243
110523
110524         * platform/graphics/GraphicsContext3D.h:
110525         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
110526         (WebCore::GraphicsLayerChromium::setContentsToWebGL):
110527         * platform/graphics/chromium/GraphicsLayerChromium.h:
110528         * platform/graphics/chromium/LayerChromium.cpp:
110529         (WebCore::LayerChromium::removeAllSublayers):
110530           No need to call setNeedsCommit() from here as the previous call to
110531           layer->removeFromSuperlayer() will have that effect (and we only need
110532           to notify the owner if there were actually any sublayers removed).
110533         * platform/graphics/chromium/LayerChromium.h:
110534         * platform/graphics/chromium/LayerRendererChromium.cpp:
110535         (WebCore::LayerRendererChromium::drawLayer):
110536         * platform/graphics/chromium/WebGLLayerChromium.cpp:
110537         (WebCore::WebGLLayerChromium::create):
110538         (WebCore::WebGLLayerChromium::updateTextureContents):
110539         (WebCore::WebGLLayerChromium::setContext):
110540
110541 2010-06-29  Csaba Osztrogonác  <ossy@webkit.org>
110542
110543         Reviewed by Nikolas Zimmermann.
110544
110545         Buildfix for --minimal build after r62052
110546         https://bugs.webkit.org/show_bug.cgi?id=41338
110547
110548         * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
110549         (WebCore::createWindowAttributeEventListener):
110550
110551 2010-06-29  Brent Fulgham  <bfulgham@webkit.org>
110552
110553         Build fix. Not reviewd.
110554
110555         CGColor is only used for PLATFORM(CG).  Conditionalize include
110556         to correct build failure for WinCairo.
110557
110558         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
110559         Conditionalize use of CGColor.
110560
110561 2010-06-29  Martin Robinson  <mrobinson@igalia.com>
110562
110563         Reviewed by Xan Lopez.
110564
110565         [GTK] Clean up the source lists in the GNUMakefile.am files
110566         https://bugs.webkit.org/show_bug.cgi?id=41229
110567
110568         Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
110569         the source lists.
110570
110571         * GNUmakefile.am:
110572
110573 2010-06-29  Martin Robinson  <mrobinson@igalia.com>
110574
110575         Reviewed by Xan Lopez.
110576
110577         [GTK] DragDataGtk should use DataObjectGtk as the platformDragData
110578         https://bugs.webkit.org/show_bug.cgi?id=40307
110579
110580         Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
110581         contains all the information necessary to keep track of drops in progress.
110582
110583         * platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
110584         * platform/gtk/DragDataGtk.cpp:
110585         (WebCore::DragData::containsFiles): Retrieve information via platformDragData.
110586         (WebCore::DragData::asFilenames): Ditto.
110587         (WebCore::DragData::containsPlainText): Ditto.
110588         (WebCore::DragData::asPlainText): Ditto.
110589         (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
110590         (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
110591         (WebCore::DragData::containsURL): Ditto.
110592         (WebCore::DragData::asURL): Ditto.
110593         (WebCore::DragData::asFragment): Ditto.
110594
110595 2010-06-29  Adam Langley  <agl@chromium.org>
110596
110597         Build fix. Not reviewd.
110598
110599         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
110600         (WebCore::FontPlatformData::setupPaint):
110601           The name of the Skia function changed between writing this patch and
110602           commiting it.
110603
110604 2010-06-29  Adam Langley  <agl@chromium.org>
110605
110606         Reviewed by Kent Tamura.
110607
110608         [chromium] Support forced autohinting.
110609
110610         https://bugs.webkit.org/show_bug.cgi?id=40493
110611
110612         Freetype (the typical font rendering on Linux) includes an 'autohinter':
110613         an algorithm for hinting glyph shapes without using the embedded hinting
110614         bytecode in a font.
110615
110616         Some people prefer the autohinter's results, so we support forcing its
110617         use.
110618
110619         This change also fixes a bug where two FontPlatformData structures would
110620         compare equal, even if their rendering styles were different.
110621
110622         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
110623         (WebCore::FontPlatformData::setupPaint):
110624           In order to compare FontPlatformData structures we need to make sure
110625           that they are initialised.
110626         (WebCore::FontPlatformData::operator==):
110627         * platform/graphics/chromium/FontRenderStyle.h:
110628         (WebCore::FontRenderStyle::FontRenderStyle):
110629         (WebCore::FontRenderStyle::operator==):
110630           This fixes the case where two FontPlatformData structures, differing
110631           only by rendering style, would compare equal.
110632
110633 2010-06-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
110634
110635         Unreviewed, Symbian build fix.
110636
110637         Add more directories to USERINCLUDE so that they get included
110638         before the Symbian system headers.
110639
110640         This is a workaround to some toolchain problems; bug 31273 is used to
110641         find a better solution.
110642
110643         No new tests as there is no new functionality.
110644
110645         * WebCore.pro:
110646
110647 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
110648
110649         Reviewed by Dirk Schulze.
110650
110651         Cleanup SVGRenderSupport
110652         https://bugs.webkit.org/show_bug.cgi?id=41347
110653
110654         Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject,
110655         though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as
110656         it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance),
110657         RenderSVGInlineText (RenderText inheritance) etc.
110658
110659         Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport.
110660         We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers.
110661
110662         Doesn't affect any test.
110663
110664         * rendering/RenderBox.cpp: Remove localTransform() override, not needed at all.
110665         * rendering/RenderBox.h: Ditto.
110666         * rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/
110667         (WebCore::RenderForeignObject::paint):
110668         (WebCore::RenderForeignObject::clippedOverflowRectForRepaint):
110669         (WebCore::RenderForeignObject::computeRectForRepaint):
110670         (WebCore::RenderForeignObject::nodeAtFloatPoint):
110671         (WebCore::RenderForeignObject::mapLocalToContainer):
110672         * rendering/RenderPath.cpp:
110673         (WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
110674         (WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/
110675         (WebCore::RenderPath::nodeAtFloatPoint): Ditto.
110676         (WebCore::RenderPath::updateCachedBoundaries): Ditto.
110677         * rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance.
110678         * rendering/RenderSVGContainer.cpp:
110679         (WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
110680         (WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
110681         (WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
110682         (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
110683         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
110684         (WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
110685         * rendering/RenderSVGHiddenContainer.cpp:
110686         (WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
110687         * rendering/RenderSVGImage.cpp:
110688         (WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now.
110689         (WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. 
110690         (WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
110691         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
110692         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110693         (WebCore::RenderSVGImage::computeRectForRepaint): Ditto.
110694         (WebCore::RenderSVGImage::mapLocalToContainer): Ditto.
110695         * rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance.
110696         * rendering/RenderSVGInline.cpp:
110697         (WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now.
110698         (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
110699         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
110700         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110701         (WebCore::RenderSVGInline::computeRectForRepaint): Ditto,.
110702         (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
110703         (WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now.
110704         * rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance.
110705         * rendering/RenderSVGModelObject.cpp:
110706         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110707         (WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto.
110708         (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
110709         (WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110710         * rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance.
110711         * rendering/RenderSVGResource.cpp:
110712         (WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function).
110713         (WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources.
110714         * rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function.
110715         * rendering/RenderSVGResourceClipper.cpp:
110716         (WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now.
110717         (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
110718         * rendering/RenderSVGResourceGradient.cpp:
110719         (WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now.
110720         (WebCore::clipToTextMask): Ditto.
110721         (WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
110722         (WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now.
110723         * rendering/RenderSVGResourceMarker.cpp:
110724         (WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
110725         * rendering/RenderSVGResourceMasker.cpp:
110726         (WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
110727         * rendering/RenderSVGResourcePattern.cpp:
110728         (WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
110729         (WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport.
110730         (WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
110731         * rendering/RenderSVGResourceSolidColor.cpp:
110732         (WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now
110733         * rendering/RenderSVGRoot.cpp:
110734         (WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now.
110735         (WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
110736         (WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110737         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
110738         * rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance.
110739         (WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed. 
110740         (WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
110741         * rendering/RenderSVGText.cpp: 
110742         (WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110743         (WebCore::RenderSVGText::computeRectForRepaint): Ditto.
110744         (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
110745         (WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
110746         (WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110747         (WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
110748         * rendering/RenderSVGViewportContainer.cpp:
110749         (WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
110750         (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now.
110751         * rendering/SVGInlineFlowBox.cpp:
110752         (WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
110753         * rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static.
110754         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110755         (WebCore::SVGRenderSupport::computeRectForRepaint): Ditto.
110756         (WebCore::SVGRenderSupport::mapLocalToContainer): Ditto.
110757         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto.
110758         (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
110759         (WebCore::SVGRenderSupport::renderSubtreeToImage): Made static.
110760         (WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto.
110761         (WebCore::SVGRenderSupport::layoutChildren): Ditto.
110762         (WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/
110763         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
110764         (WebCore::SVGRenderSupport::pointInClippingArea): Made static.
110765         (WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto.
110766         (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto.
110767         (WebCore::SVGRenderSupport::findTextRootObject): Ditto.
110768         * rendering/SVGRenderSupport.h:
110769         * rendering/SVGRenderTreeAsText.cpp:
110770         (WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now.
110771         * rendering/SVGRootInlineBox.cpp:
110772         (WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/
110773         * rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance.
110774         * svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore.
110775         (WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now.
110776         * svg/SVGStyledElement.cpp: 
110777         (WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110778
110779 2010-06-21  Philippe Normand  <pnormand@igalia.com>
110780
110781         Reviewed by Xan Lopez.
110782
110783         [PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103
110784         https://bugs.webkit.org/show_bug.cgi?id=40907
110785
110786         Define a JMPBUF macro to cope with deprecation of the jmpbuf
110787         attribute in libpng >= 1.4.
110788
110789         * platform/image-decoders/png/PNGImageDecoder.cpp:
110790         (WebCore::decodingFailed):
110791         (WebCore::PNGImageReader::decode):
110792         (WebCore::PNGImageDecoder::headerAvailable):
110793         (WebCore::PNGImageDecoder::rowAvailable):
110794
110795 2010-06-29  Kristian Amlie  <kristian.amlie@nokia.com>
110796
110797         Reviewed by Simon Hausmann.
110798
110799         [Qt/Symbian] Fixed deployment paths for WebKit declarative plugin.
110800
110801         * WebCore.pro:
110802
110803 2010-06-29  Yury Semikhatsky  <yurys@chromium.org>
110804
110805         Unreviewed: Chromium Win and Mac build fix.
110806
110807         * bindings/v8/ScriptDebugServer.cpp:
110808         (WebCore::ScriptDebugServer::setBreakpoint):
110809
110810 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
110811
110812         Reviewed by Dirk Schulze.
110813
110814         Move PaintInfo/PaintPhase into their own headers, out of RenderObject
110815         https://bugs.webkit.org/show_bug.cgi?id=41342
110816
110817         1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h.
110818            Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/.
110819            Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere.
110820
110821         2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
110822            and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)".
110823
110824         This changes a common idiom:
110825         -    info.paintingRoot = paintingRootForChildren(paintInfo);
110826         +    info.updatePaintingRootForChildren(this);
110827
110828         We save resetting the paintingRoot to 0 if it was 0 already and thus do less work.
110829
110830         3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
110831            and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const".
110832
110833         This changes a common idiom:
110834         -    if (!shouldPaintWithinRoot(paintInfo))
110835         +    if (!paintInfo.shouldPaintWithinRoot(this))
110836
110837         4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)"
110838            from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks.
110839
110840         This changes a common idiom:
110841         -    applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
110842         +    childPaintInfo.applyTransform(localToParentTransform());
110843
110844         Add PaintInfo.h / PaintPhase.h to all build systems that list headers.
110845
110846         * GNUmakefile.am:
110847         * WebCore.gypi:
110848         * WebCore.pro:
110849         * WebCore.vcproj/WebCore.vcproj:
110850         * WebCore.xcodeproj/project.pbxproj:
110851         * platform/android/RenderThemeAndroid.cpp:
110852         (WebCore::getCanvasFromInfo):
110853         (WebCore::RenderThemeAndroid::paintCheckbox):
110854         (WebCore::RenderThemeAndroid::paintButton):
110855         (WebCore::RenderThemeAndroid::paintRadio):
110856         (WebCore::RenderThemeAndroid::paintTextField):
110857         (WebCore::RenderThemeAndroid::paintTextArea):
110858         (WebCore::RenderThemeAndroid::paintSearchField):
110859         (WebCore::RenderThemeAndroid::paintCombo):
110860         (WebCore::RenderThemeAndroid::paintMenuList):
110861         (WebCore::RenderThemeAndroid::paintMenuListButton):
110862         * platform/android/RenderThemeAndroid.h:
110863         * platform/efl/RenderThemeEfl.cpp:
110864         (WebCore::RenderThemeEfl::paintThemePart):
110865         (WebCore::RenderThemeEfl::paintCheckbox):
110866         (WebCore::RenderThemeEfl::paintRadio):
110867         (WebCore::RenderThemeEfl::paintButton):
110868         (WebCore::RenderThemeEfl::paintMenuList):
110869         (WebCore::RenderThemeEfl::paintTextField):
110870         (WebCore::RenderThemeEfl::paintTextArea):
110871         (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
110872         (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
110873         (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
110874         (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
110875         (WebCore::RenderThemeEfl::paintSearchField):
110876         * platform/efl/RenderThemeEfl.h:
110877         * platform/gtk/RenderThemeGtk.cpp:
110878         (WebCore::paintMozillaGtkWidget):
110879         (WebCore::RenderThemeGtk::paintCheckbox):
110880         (WebCore::RenderThemeGtk::paintRadio):
110881         (WebCore::RenderThemeGtk::paintButton):
110882         (WebCore::RenderThemeGtk::paintMenuList):
110883         (WebCore::RenderThemeGtk::paintTextField):
110884         (WebCore::RenderThemeGtk::paintTextArea):
110885         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
110886         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
110887         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
110888         (WebCore::RenderThemeGtk::paintSearchField):
110889         (WebCore::RenderThemeGtk::paintSliderTrack):
110890         (WebCore::RenderThemeGtk::paintSliderThumb):
110891         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
110892         (WebCore::RenderThemeGtk::paintMediaMuteButton):
110893         (WebCore::RenderThemeGtk::paintMediaPlayButton):
110894         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
110895         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
110896         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
110897         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
110898         (WebCore::RenderThemeGtk::paintProgressBar):
110899         * platform/gtk/RenderThemeGtk.h:
110900         * platform/haiku/RenderThemeHaiku.cpp:
110901         (WebCore::RenderThemeHaiku::paintCheckbox):
110902         (WebCore::RenderThemeHaiku::paintRadio):
110903         (WebCore::RenderThemeHaiku::paintMenuList):
110904         * platform/haiku/RenderThemeHaiku.h:
110905         * platform/qt/RenderThemeQt.cpp:
110906         (WebCore::StylePainter::StylePainter):
110907         (WebCore::RenderThemeQt::paintCheckbox):
110908         (WebCore::RenderThemeQt::paintRadio):
110909         (WebCore::RenderThemeQt::paintButton):
110910         (WebCore::RenderThemeQt::paintTextField):
110911         (WebCore::RenderThemeQt::paintTextArea):
110912         (WebCore::RenderThemeQt::paintMenuList):
110913         (WebCore::RenderThemeQt::paintMenuListButton):
110914         (WebCore::RenderThemeQt::paintProgressBar):
110915         (WebCore::RenderThemeQt::paintSliderTrack):
110916         (WebCore::RenderThemeQt::paintSliderThumb):
110917         (WebCore::RenderThemeQt::paintSearchField):
110918         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
110919         (WebCore::RenderThemeQt::paintSearchFieldDecoration):
110920         (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
110921         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
110922         (WebCore::RenderThemeQt::paintMediaMuteButton):
110923         (WebCore::RenderThemeQt::paintMediaPlayButton):
110924         (WebCore::RenderThemeQt::paintMediaSeekBackButton):
110925         (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
110926         (WebCore::RenderThemeQt::paintMediaCurrentTime):
110927         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
110928         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
110929         (WebCore::RenderThemeQt::paintMediaSliderTrack):
110930         (WebCore::RenderThemeQt::paintMediaSliderThumb):
110931         * platform/qt/RenderThemeQt.h:
110932         * platform/wx/RenderThemeWx.cpp:
110933         (WebCore::RenderThemeWx::paintCheckbox):
110934         (WebCore::RenderThemeWx::paintRadio):
110935         (WebCore::RenderThemeWx::paintButton):
110936         (WebCore::RenderThemeWx::paintTextField):
110937         (WebCore::RenderThemeWx::paintMenuList):
110938         (WebCore::RenderThemeWx::paintMenuListButton):
110939         * rendering/EllipsisBox.cpp:
110940         (WebCore::EllipsisBox::paint):
110941         * rendering/EllipsisBox.h:
110942         * rendering/InlineBox.cpp:
110943         (WebCore::InlineBox::paint):
110944         * rendering/InlineBox.h:
110945         * rendering/InlineFlowBox.cpp:
110946         (WebCore::InlineFlowBox::paint):
110947         (WebCore::InlineFlowBox::paintFillLayers):
110948         (WebCore::InlineFlowBox::paintFillLayer):
110949         (WebCore::InlineFlowBox::paintBoxDecorations):
110950         (WebCore::InlineFlowBox::paintMask):
110951         (WebCore::InlineFlowBox::paintTextDecorations):
110952         * rendering/InlineFlowBox.h:
110953         * rendering/InlineTextBox.cpp:
110954         (WebCore::InlineTextBox::paint):
110955         * rendering/InlineTextBox.h:
110956         * rendering/PaintInfo.h: Added.
110957         (WebCore::PaintInfo::PaintInfo):
110958         (WebCore::PaintInfo::updatePaintingRootForChildren):
110959         (WebCore::PaintInfo::shouldPaintWithinRoot):
110960         (WebCore::PaintInfo::applyTransform):
110961         * rendering/PaintPhase.h: Added.
110962         (WebCore::):
110963         * rendering/RenderBlock.cpp:
110964         (WebCore::RenderBlock::paint):
110965         (WebCore::RenderBlock::paintChildren):
110966         (WebCore::RenderBlock::paintEllipsisBoxes):
110967         (WebCore::clipOutPositionedObjects):
110968         (WebCore::RenderBlock::layoutColumns):
110969         * rendering/RenderBox.cpp:
110970         (WebCore::RenderBox::paint):
110971         (WebCore::RenderBox::paintBoxDecorations):
110972         (WebCore::RenderBox::paintMask):
110973         * rendering/RenderFieldset.cpp:
110974         (WebCore::RenderFieldset::paintBoxDecorations):
110975         * rendering/RenderForeignObject.cpp:
110976         (WebCore::RenderForeignObject::paint):
110977         * rendering/RenderLayer.cpp:
110978         (WebCore::RenderLayer::paint):
110979         (WebCore::performOverlapTests):
110980         (WebCore::RenderLayer::paintLayer):
110981         (WebCore::RenderLayer::paintList):
110982         (WebCore::RenderLayer::paintPaginatedChildLayer):
110983         (WebCore::RenderLayer::paintChildLayerIntoColumns):
110984         * rendering/RenderLayer.h:
110985         * rendering/RenderLayerBacking.cpp:
110986         (WebCore::RenderLayerBacking::paintIntoLayer):
110987         * rendering/RenderLineBoxList.cpp:
110988         (WebCore::RenderLineBoxList::paint):
110989         * rendering/RenderLineBoxList.h:
110990         * rendering/RenderMediaControls.cpp:
110991         (WebCore::RenderMediaControls::paintMediaControlsPart):
110992         * rendering/RenderMediaControls.h:
110993         * rendering/RenderMediaControlsChromium.cpp:
110994         (WebCore::paintMediaMuteButton):
110995         (WebCore::paintMediaPlayButton):
110996         (WebCore::paintMediaSlider):
110997         (WebCore::paintMediaSliderThumb):
110998         (WebCore::paintMediaVolumeSlider):
110999         (WebCore::paintMediaVolumeSliderThumb):
111000         (WebCore::paintMediaTimelineContainer):
111001         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
111002         * rendering/RenderMediaControlsChromium.h:
111003         * rendering/RenderObject.h:
111004         * rendering/RenderPath.cpp:
111005         (WebCore::RenderPath::paint):
111006         * rendering/RenderReplaced.cpp:
111007         (WebCore::RenderReplaced::paint):
111008         (WebCore::RenderReplaced::shouldPaint):
111009         * rendering/RenderSVGContainer.cpp:
111010         (WebCore::RenderSVGContainer::paint):
111011         * rendering/RenderSVGResourceMarker.cpp:
111012         (WebCore::RenderSVGResourceMarker::draw):
111013         * rendering/RenderSVGResourceMarker.h:
111014         * rendering/RenderSVGRoot.cpp:
111015         (WebCore::RenderSVGRoot::paint):
111016         * rendering/RenderSVGText.cpp:
111017         (WebCore::RenderSVGText::paint):
111018         * rendering/RenderScrollbarPart.cpp:
111019         (WebCore::RenderScrollbarPart::paintIntoRect):
111020         * rendering/RenderTable.cpp:
111021         (WebCore::RenderTable::paintObject):
111022         (WebCore::RenderTable::paintBoxDecorations):
111023         * rendering/RenderTableCell.cpp:
111024         (WebCore::RenderTableCell::paint):
111025         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
111026         (WebCore::RenderTableCell::paintBoxDecorations):
111027         * rendering/RenderTheme.cpp:
111028         (WebCore::RenderTheme::paint):
111029         (WebCore::RenderTheme::paintBorderOnly):
111030         (WebCore::RenderTheme::paintDecorations):
111031         (WebCore::RenderTheme::paintMeter):
111032         * rendering/RenderTheme.h:
111033         (WebCore::RenderTheme::paintCapsLockIndicator):
111034         (WebCore::RenderTheme::paintCheckbox):
111035         (WebCore::RenderTheme::paintRadio):
111036         (WebCore::RenderTheme::paintButton):
111037         (WebCore::RenderTheme::paintInnerSpinButton):
111038         (WebCore::RenderTheme::paintOuterSpinButton):
111039         (WebCore::RenderTheme::paintTextField):
111040         (WebCore::RenderTheme::paintTextArea):
111041         (WebCore::RenderTheme::paintMenuList):
111042         (WebCore::RenderTheme::paintMenuListButton):
111043         (WebCore::RenderTheme::paintProgressBar):
111044         (WebCore::RenderTheme::paintSliderTrack):
111045         (WebCore::RenderTheme::paintSliderThumb):
111046         (WebCore::RenderTheme::paintSearchField):
111047         (WebCore::RenderTheme::paintSearchFieldCancelButton):
111048         (WebCore::RenderTheme::paintSearchFieldDecoration):
111049         (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
111050         (WebCore::RenderTheme::paintSearchFieldResultsButton):
111051         (WebCore::RenderTheme::paintMediaFullscreenButton):
111052         (WebCore::RenderTheme::paintMediaPlayButton):
111053         (WebCore::RenderTheme::paintMediaMuteButton):
111054         (WebCore::RenderTheme::paintMediaSeekBackButton):
111055         (WebCore::RenderTheme::paintMediaSeekForwardButton):
111056         (WebCore::RenderTheme::paintMediaSliderTrack):
111057         (WebCore::RenderTheme::paintMediaSliderThumb):
111058         (WebCore::RenderTheme::paintMediaVolumeSliderContainer):
111059         (WebCore::RenderTheme::paintMediaVolumeSliderTrack):
111060         (WebCore::RenderTheme::paintMediaVolumeSliderThumb):
111061         (WebCore::RenderTheme::paintMediaRewindButton):
111062         (WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
111063         (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
111064         (WebCore::RenderTheme::paintMediaControlsBackground):
111065         (WebCore::RenderTheme::paintMediaCurrentTime):
111066         (WebCore::RenderTheme::paintMediaTimeRemaining):
111067         * rendering/RenderThemeChromiumMac.h:
111068         * rendering/RenderThemeChromiumMac.mm:
111069         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
111070         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
111071         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
111072         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
111073         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
111074         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
111075         * rendering/RenderThemeChromiumSkia.cpp:
111076         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
111077         (WebCore::RenderThemeChromiumSkia::paintRadio):
111078         (WebCore::paintButtonLike):
111079         (WebCore::RenderThemeChromiumSkia::paintButton):
111080         (WebCore::RenderThemeChromiumSkia::paintTextField):
111081         (WebCore::RenderThemeChromiumSkia::paintTextArea):
111082         (WebCore::RenderThemeChromiumSkia::paintSearchField):
111083         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
111084         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
111085         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
111086         (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground):
111087         (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
111088         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack):
111089         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb):
111090         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb):
111091         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
111092         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
111093         (WebCore::RenderThemeChromiumSkia::paintMenuList):
111094         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
111095         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
111096         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
111097         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
111098         * rendering/RenderThemeChromiumSkia.h:
111099         * rendering/RenderThemeChromiumWin.cpp:
111100         (WebCore::RenderThemeChromiumWin::paintCheckbox):
111101         (WebCore::RenderThemeChromiumWin::paintRadio):
111102         (WebCore::RenderThemeChromiumWin::paintButton):
111103         (WebCore::RenderThemeChromiumWin::paintTextField):
111104         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
111105         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
111106         (WebCore::RenderThemeChromiumWin::paintMenuList):
111107         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
111108         (WebCore::RenderThemeChromiumWin::paintProgressBar):
111109         * rendering/RenderThemeChromiumWin.h:
111110         * rendering/RenderThemeMac.h:
111111         * rendering/RenderThemeMac.mm:
111112         (WebCore::RenderThemeMac::paintTextField):
111113         (WebCore::RenderThemeMac::paintCapsLockIndicator):
111114         (WebCore::RenderThemeMac::paintTextArea):
111115         (WebCore::RenderThemeMac::paintMenuList):
111116         (WebCore::RenderThemeMac::paintMeter):
111117         (WebCore::RenderThemeMac::paintProgressBar):
111118         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
111119         (WebCore::RenderThemeMac::paintMenuListButton):
111120         (WebCore::RenderThemeMac::paintSliderTrack):
111121         (WebCore::RenderThemeMac::paintSliderThumb):
111122         (WebCore::RenderThemeMac::paintSearchField):
111123         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
111124         (WebCore::RenderThemeMac::paintSearchFieldDecoration):
111125         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
111126         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
111127         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
111128         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
111129         (WebCore::RenderThemeMac::paintMediaMuteButton):
111130         (WebCore::RenderThemeMac::paintMediaPlayButton):
111131         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
111132         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
111133         (WebCore::RenderThemeMac::paintMediaSliderTrack):
111134         (WebCore::RenderThemeMac::paintMediaSliderThumb):
111135         (WebCore::RenderThemeMac::paintMediaRewindButton):
111136         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
111137         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
111138         (WebCore::RenderThemeMac::paintMediaControlsBackground):
111139         (WebCore::RenderThemeMac::paintMediaCurrentTime):
111140         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
111141         * rendering/RenderThemeSafari.cpp:
111142         (WebCore::RenderThemeSafari::paintCheckbox):
111143         (WebCore::RenderThemeSafari::paintRadio):
111144         (WebCore::RenderThemeSafari::paintButton):
111145         (WebCore::RenderThemeSafari::paintTextField):
111146         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
111147         (WebCore::RenderThemeSafari::paintTextArea):
111148         (WebCore::RenderThemeSafari::paintMenuList):
111149         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
111150         (WebCore::RenderThemeSafari::paintMenuListButton):
111151         (WebCore::RenderThemeSafari::paintSliderTrack):
111152         (WebCore::RenderThemeSafari::paintSliderThumb):
111153         (WebCore::RenderThemeSafari::paintSearchField):
111154         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
111155         (WebCore::RenderThemeSafari::paintSearchFieldDecoration):
111156         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
111157         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
111158         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
111159         (WebCore::RenderThemeSafari::paintMediaMuteButton):
111160         (WebCore::RenderThemeSafari::paintMediaPlayButton):
111161         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
111162         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
111163         (WebCore::RenderThemeSafari::paintMediaSliderTrack):
111164         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
111165         * rendering/RenderThemeSafari.h:
111166         * rendering/RenderThemeWin.cpp:
111167         (WebCore::RenderThemeWin::paintButton):
111168         (WebCore::RenderThemeWin::paintTextField):
111169         (WebCore::RenderThemeWin::paintMenuList):
111170         (WebCore::RenderThemeWin::paintMenuListButton):
111171         (WebCore::RenderThemeWin::paintSliderTrack):
111172         (WebCore::RenderThemeWin::paintSliderThumb):
111173         (WebCore::RenderThemeWin::paintSearchField):
111174         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
111175         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
111176         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
111177         (WebCore::RenderThemeWin::paintMediaFullscreenButton):
111178         (WebCore::RenderThemeWin::paintMediaMuteButton):
111179         (WebCore::RenderThemeWin::paintMediaPlayButton):
111180         (WebCore::RenderThemeWin::paintMediaSeekBackButton):
111181         (WebCore::RenderThemeWin::paintMediaSeekForwardButton):
111182         (WebCore::RenderThemeWin::paintMediaSliderTrack):
111183         (WebCore::RenderThemeWin::paintMediaSliderThumb):
111184         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
111185         * rendering/RenderThemeWin.h:
111186         (WebCore::RenderThemeWin::paintCheckbox):
111187         (WebCore::RenderThemeWin::paintRadio):
111188         (WebCore::RenderThemeWin::paintTextArea):
111189         (WebCore::RenderThemeWin::paintSearchFieldDecoration):
111190         * rendering/RenderThemeWince.cpp:
111191         (WebCore::RenderThemeWince::paintButton):
111192         (WebCore::RenderThemeWince::paintTextField):
111193         (WebCore::RenderThemeWince::paintMenuList):
111194         (WebCore::RenderThemeWince::paintMenuListButton):
111195         (WebCore::RenderThemeWince::paintSearchField):
111196         (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
111197         (WebCore::RenderThemeWince::paintSearchFieldResultsDecoration):
111198         (WebCore::RenderThemeWince::paintSearchFieldResultsButton):
111199         (WebCore::RenderThemeWince::paintSliderTrack):
111200         (WebCore::RenderThemeWince::paintSliderThumb):
111201         (WebCore::RenderThemeWince::paintMediaFullscreenButton):
111202         (WebCore::RenderThemeWince::paintMediaMuteButton):
111203         (WebCore::RenderThemeWince::paintMediaPlayButton):
111204         (WebCore::RenderThemeWince::paintMediaSeekBackButton):
111205         (WebCore::RenderThemeWince::paintMediaSeekForwardButton):
111206         (WebCore::RenderThemeWince::paintMediaSliderTrack):
111207         (WebCore::RenderThemeWince::paintMediaSliderThumb):
111208         * rendering/RenderThemeWince.h:
111209         (WebCore::RenderThemeWince::paintCheckbox):
111210         (WebCore::RenderThemeWince::paintRadio):
111211         (WebCore::RenderThemeWince::paintTextArea):
111212         (WebCore::RenderThemeWince::paintSearchFieldDecoration):
111213         * rendering/RootInlineBox.cpp:
111214         (WebCore::RootInlineBox::paintEllipsisBox):
111215         (WebCore::RootInlineBox::paintCustomHighlight):
111216         (WebCore::RootInlineBox::paint):
111217         (WebCore::RootInlineBox::fillLineSelectionGap):
111218         * rendering/RootInlineBox.h:
111219         * rendering/SVGInlineFlowBox.cpp:
111220         (WebCore::SVGInlineFlowBox::paint):
111221         * rendering/SVGInlineFlowBox.h:
111222         * rendering/SVGInlineTextBox.cpp:
111223         (WebCore::SVGInlineTextBox::paint):
111224         * rendering/SVGInlineTextBox.h:
111225         * rendering/SVGMarkerLayoutInfo.cpp:
111226         (WebCore::SVGMarkerLayoutInfo::drawMarkers):
111227         * rendering/SVGMarkerLayoutInfo.h:
111228         * rendering/SVGRenderSupport.cpp:
111229         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
111230         (WebCore::SVGRenderBase::finishRenderSVGContent):
111231         (WebCore::renderSubtreeToImage):
111232         * rendering/SVGRenderSupport.h:
111233         * rendering/SVGRootInlineBox.cpp:
111234         (WebCore::SVGRootInlineBox::paint):
111235         * rendering/SVGRootInlineBox.h:
111236
111237 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
111238
111239         Not reviewed. Sort Xcode project file.
111240
111241         * WebCore.xcodeproj/project.pbxproj:
111242
111243 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
111244
111245         Reviewed by Dirk Schulze.
111246
111247         Provide floating-point support for text selection framework
111248         https://bugs.webkit.org/show_bug.cgi?id=40665
111249
111250         Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request.
111251         Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule.
111252
111253         No functional changes, thus no new tests.
111254
111255         * platform/graphics/TextRun.h:
111256         (WebCore::TextRun::TextRun):
111257         (WebCore::TextRun::horizontalGlyphStretch):
111258         (WebCore::TextRun::setHorizontalGlyphStretch):
111259         (WebCore::TextRun::spacingDisabled):
111260         * platform/graphics/WidthIterator.cpp:
111261         (WebCore::WidthIterator::advance):
111262         * rendering/SVGInlineTextBox.cpp:
111263         (WebCore::SVGInlineTextBox::offsetForPosition):
111264
111265 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
111266
111267         Reviewed by Dirk Schulze.
111268
111269         REGRESSION: text-shadow CSS applied to SVG no longer works
111270         https://bugs.webkit.org/show_bug.cgi?id=40960
111271
111272         Readd text-shadow support, this time supporting multiple shadows.
111273         It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference.
111274
111275         Tests: svg/css/text-shadow-multiple.xhtml
111276
111277         * rendering/InlineTextBox.cpp:
111278         (WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse.
111279         (WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function.
111280         * rendering/InlineTextBox.h: 
111281         * rendering/SVGInlineTextBox.cpp:
111282         (WebCore::SVGInlineTextBox::paintTextWithShadows): Added.
111283         (WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text.
111284         * rendering/SVGInlineTextBox.h:
111285
111286 2010-06-29  Pavel Podivilov  <podivilov@chromium.org>
111287
111288         Reviewed by Yury Semikhatsky.
111289
111290         Web Inspector: show actual breakpoint position in UI.
111291         When user sets breakpoint from UI, javascript engine may actually set
111292         it on a different line. If so, move breakpoint to the correct position
111293         in frontend.
111294         https://bugs.webkit.org/show_bug.cgi?id=40781
111295
111296         * bindings/js/ScriptDebugServer.cpp:
111297         (WebCore::ScriptDebugServer::setBreakpoint):
111298         (WebCore::ScriptDebugServer::dispatchDidPause):
111299         * bindings/js/ScriptDebugServer.h:
111300         * bindings/v8/ScriptDebugServer.cpp:
111301         (WebCore::ScriptDebugServer::setBreakpoint):
111302         (WebCore::ScriptDebugServer::currentCallFrame):
111303         * bindings/v8/ScriptDebugServer.h:
111304         * inspector/InspectorBackend.cpp:
111305         (WebCore::InspectorBackend::setBreakpoint):
111306         * inspector/InspectorBackend.h:
111307         * inspector/InspectorBackend.idl:
111308         * inspector/InspectorController.cpp:
111309         (WebCore::InspectorController::didCommitLoad):
111310         (WebCore::InspectorController::setBreakpoint):
111311         (WebCore::InspectorController::removeBreakpoint):
111312         (WebCore::InspectorController::didParseSource):
111313         * inspector/InspectorController.h:
111314         * inspector/InspectorFrontend.cpp:
111315         (WebCore::InspectorFrontend::didSetBreakpoint):
111316         * inspector/InspectorFrontend.h:
111317         * inspector/front-end/BreakpointManager.js:
111318         (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
111319         (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
111320         (WebInspector.BreakpointManager.prototype.setBreakpoint):
111321         (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
111322         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
111323         (WebInspector.BreakpointManager.prototype._setBreakpoint):
111324         (WebInspector.BreakpointManager.prototype._removeBreakpoint):
111325         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint):
111326         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
111327         (WebInspector.Breakpoint.prototype.set enabled):
111328         (WebInspector.Breakpoint.prototype.set condition):
111329         * inspector/front-end/InspectorBackendStub.js:
111330         (.WebInspector.InspectorBackendStub.prototype.setBreakpoint):
111331         * inspector/front-end/ScriptView.js:
111332         (WebInspector.ScriptView.prototype._addBreakpoint):
111333         * inspector/front-end/SourceView.js:
111334         (WebInspector.SourceView.prototype._addBreakpoint):
111335
111336 2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>
111337
111338         Reviewed by Adam Barth.
111339
111340         Catch toString() exceptions in all DB-related code.
111341         https://bugs.webkit.org/show_bug.cgi?id=41297
111342
111343         * bindings/v8/custom/V8BindingMacros.h:
111344         * bindings/v8/custom/V8DOMWindowCustom.cpp:
111345         (WebCore::V8DOMWindow::openDatabaseCallback):
111346         * bindings/v8/custom/V8DatabaseCustom.cpp:
111347         (WebCore::V8Database::changeVersionCallback):
111348         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
111349         (WebCore::V8DatabaseSync::changeVersionCallback):
111350         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
111351         (WebCore::V8SQLTransaction::executeSqlCallback):
111352         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
111353         (WebCore::V8SQLTransactionSync::executeSqlCallback):
111354         * bindings/v8/custom/V8WorkerContextCustom.cpp:
111355         (WebCore::V8WorkerContext::openDatabaseCallback):
111356         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
111357
111358 2010-06-29  Herczeg Zoltan  <zherczeg@webkit.org>
111359
111360         Rubber-stamped by Nikolas Zimmermann.
111361
111362         Windows build fix.
111363         https://bugs.webkit.org/show_bug.cgi?id=5861
111364
111365         * svg/SVGFEConvolveMatrixElement.cpp:
111366         (WebCore::SVGFEConvolveMatrixElement::build):
111367
111368 2010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>
111369
111370         Reviewed by Nikolas Zimmermann.
111371
111372         Add ConvolveMatrix SVG filter effect
111373         https://bugs.webkit.org/show_bug.cgi?id=5861
111374
111375         The patch was originally started by Dirk Schulze,
111376         and the .cpp and .h files are mostly his work.
111377         I updated the build systems and do some minor updates
111378         to the source files as well. The patch does not contain
111379         the implementation of the filter: this is intended,
111380         and will be landed in a follow-up patch.
111381
111382         * Android.derived.jscbindings.mk:
111383         * Android.derived.v8bindings.mk:
111384         * Android.mk:
111385         * CMakeLists.txt:
111386         * DerivedSources.cpp:
111387         * DerivedSources.make:
111388         * GNUmakefile.am:
111389         * WebCore.gypi:
111390         * WebCore.pri:
111391         * WebCore.pro:
111392         * WebCore.vcproj/WebCore.vcproj:
111393         * WebCore.xcodeproj/project.pbxproj:
111394         * bindings/objc/DOM.mm:
111395         (WebCore::createElementClassMap):
111396         * bindings/objc/DOMSVG.h:
111397         * page/DOMWindow.idl:
111398         * svg/SVGAllInOne.cpp:
111399         * svg/SVGFEConvolveMatrixElement.cpp: Added.
111400         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
111401         (WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement):
111402         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
111403         (WebCore::SVGFEConvolveMatrixElement::setOrder):
111404         (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
111405         (WebCore::SVGFEConvolveMatrixElement::build):
111406         * svg/SVGFEConvolveMatrixElement.h: Added.
111407         * svg/SVGFEConvolveMatrixElement.idl: Added.
111408         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
111409         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
111410         (WebCore::FEConvolveMatrix::create):
111411         (WebCore::FEConvolveMatrix::kernelSize):
111412         (WebCore::FEConvolveMatrix::setKernelSize):
111413         (WebCore::FEConvolveMatrix::targetOffset):
111414         (WebCore::FEConvolveMatrix::setTargetOffset):
111415         (WebCore::operator<<):
111416         (WebCore::FEConvolveMatrix::externalRepresentation):
111417         * svg/graphics/filters/SVGFEConvolveMatrix.h:
111418         (WebCore::):
111419         * svg/svgattrs.in:
111420         * svg/svgtags.in:
111421
111422 2010-06-28  Adam Barth  <abarth@webkit.org>
111423
111424         Reviewed by Eric Seidel.
111425
111426         HTML5 tree builder shouldn't ASSERT on HTML5lib test suite
111427         https://bugs.webkit.org/show_bug.cgi?id=41335
111428
111429         Sketch out the EndTag handling for InBodyMode.
111430
111431         * html/HTMLTreeBuilder.cpp:
111432         (WebCore::HTMLTreeBuilder::processEndTag):
111433         * html/HTMLTreeBuilder.h:
111434         (WebCore::HTMLTreeBuilder::ElementStack::inScope):
111435         (WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker):
111436         (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
111437
111438 2010-06-28  David Levin  <levin@chromium.org>
111439
111440         Reviewed by NOBODY (chromium build fix).
111441
111442         * rendering/RenderObject.h: Add missing forward declaration.
111443
111444 2010-06-28  Adam Barth  <abarth@webkit.org>
111445
111446         Unreviewed.
111447
111448         I accidently gave up my ref and tried to dereference a null pointer.
111449         This code is keeping an extra ref that it doesn't need, but that fact
111450         was somewhat hidden before.
111451
111452         * dom/ContainerNode.cpp:
111453         (WebCore::ContainerNode::addChildCommon):
111454         (WebCore::ContainerNode::parserAddChild):
111455         (WebCore::ContainerNode::legacyParserAddChild):
111456         * dom/ContainerNode.h:
111457
111458 2010-06-28  Adam Barth  <abarth@webkit.org>
111459
111460         Unreviewed.
111461
111462         Refactor common code into addChildCommon
111463         https://bugs.webkit.org/show_bug.cgi?id=41326
111464
111465         Eric asked that we share the common code between these codepaths.
111466
111467         * dom/ContainerNode.cpp:
111468         (WebCore::ContainerNode::addChildCommon):
111469         (WebCore::ContainerNode::parserAddChild):
111470         (WebCore::ContainerNode::addChild):
111471         * dom/ContainerNode.h:
111472
111473 2010-06-28  Eric Seidel  <eric@webkit.org>
111474
111475         Reviewed by Adam Barth.
111476
111477         Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
111478         https://bugs.webkit.org/show_bug.cgi?id=41319
111479
111480         Restructure the code to not use in-band data, which is what
111481         got us in trouble with a signed/unsigned mismatch before.
111482
111483         * html/HTMLTreeBuilder.cpp:
111484         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
111485         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
111486         * html/HTMLTreeBuilder.h:
111487
111488 2010-06-28  Daniel Bates  <dbates@rim.com>
111489
111490         Unreviewed, attempt to fix Qt bots.
111491
111492         Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079>
111493         (https://bugs.webkit.org/show_bug.cgi?id=41324).
111494
111495         Rename some more call sites that were missed in the initial landing.
111496
111497         * dom/XMLDocumentParserQt.cpp:
111498         (WebCore::XMLDocumentParser::parseStartElement):
111499         (WebCore::XMLDocumentParser::parseProcessingInstruction):
111500         (WebCore::XMLDocumentParser::parseCdata):
111501         (WebCore::XMLDocumentParser::parseComment):
111502         (WebCore::XMLDocumentParser::parseDtd):
111503
111504 2010-06-28  Daniel Bates  <dbates@rim.com>
111505
111506         Unreviewed, build fix.
111507
111508         Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements()
111509         from int to unsigned.
111510
111511         Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077>
111512         (https://bugs.webkit.org/show_bug.cgi?id=41319).
111513
111514         * html/HTMLTreeBuilder.cpp:
111515         (WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker):
111516         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
111517         * html/HTMLTreeBuilder.h:
111518
111519 2010-06-28  Eric Seidel  <eric@webkit.org>
111520
111521         Reviewed by Adam Barth.
111522
111523         Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use
111524         https://bugs.webkit.org/show_bug.cgi?id=41324
111525
111526         A bunch of places in the code were calling ContainerNode::addChild.
111527         I don't think they actually want to be doing that, as it has special
111528         form-related handling which is part of LegacyHTMLTreeBuilder.
111529
111530         No functional changes, thus no tests.
111531
111532         * dom/ContainerNode.cpp:
111533         (WebCore::ContainerNode::legacyParserAddChild):
111534         * dom/ContainerNode.h:
111535         * dom/DOMImplementation.cpp:
111536         (WebCore::DOMImplementation::createDocument):
111537         * dom/Node.cpp:
111538         (WebCore::Node::legacyParserAddChild):
111539         * dom/Node.h:
111540         * html/HTMLKeygenElement.cpp:
111541         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
111542         * html/HTMLTableElement.cpp:
111543         (WebCore::HTMLTableElement::legacyParserAddChild):
111544         * html/HTMLTableElement.h:
111545         * html/HTMLTableRowElement.cpp:
111546         (WebCore::HTMLTableRowElement::legacyParserAddChild):
111547         * html/HTMLTableRowElement.h:
111548         * html/HTMLTableSectionElement.cpp:
111549         (WebCore::HTMLTableSectionElement::legacyParserAddChild):
111550         * html/HTMLTableSectionElement.h:
111551         * html/HTMLViewSourceDocument.cpp:
111552         (WebCore::HTMLViewSourceDocument::createContainingTable):
111553         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
111554         (WebCore::HTMLViewSourceDocument::addLine):
111555         (WebCore::HTMLViewSourceDocument::addText):
111556         (WebCore::HTMLViewSourceDocument::addLink):
111557
111558 2010-06-28  Eric Seidel  <eric@webkit.org>
111559
111560         Reviewed by Adam Barth.
111561
111562         Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
111563         https://bugs.webkit.org/show_bug.cgi?id=41319
111564
111565         This is basically a direct transcription of HTML5 TreeBuilder spec:
111566          http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements
111567
111568         This code is covered by various tests in html5lib/runner which we
111569         can't run yet due to other asserts.  Adam and I are working on
111570         getting rid of those ASSERTS so that this (and other code) will
111571         be better tested shortly.
111572
111573         * html/HTMLTreeBuilder.cpp:
111574         (WebCore::HTMLTreeBuilder::insertFormatingElement):
111575         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
111576         * html/HTMLTreeBuilder.h:
111577         (WebCore::HTMLTreeBuilder::ElementStack::contains):
111578         (WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry):
111579         (WebCore::HTMLTreeBuilder::FormatingElementEntry::):
111580         (WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker):
111581         (WebCore::HTMLTreeBuilder::FormatingElementEntry::element):
111582         (WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement):
111583
111584 2010-06-28  Adam Barth  <abarth@webkit.org>
111585
111586         Reviewed by Eric Seidel.
111587
111588         Fix ASSERT so we can run more HTML5lib tests
111589         https://bugs.webkit.org/show_bug.cgi?id=41325
111590
111591         We can't call Node::addChild because that function contains a bunch of
111592         logic from the old parser.  Instead, this patch creates a new version
111593         of addChild that's does less validating (that's the tree builder's
111594         job).
111595
111596         * dom/ContainerNode.cpp:
111597         (WebCore::ContainerNode::parserAddChild):
111598         * dom/ContainerNode.h:
111599         * dom/Node.cpp:
111600         (WebCore::Node::parserAddChild):
111601         * dom/Node.h:
111602         * html/HTMLTreeBuilder.h:
111603         (WebCore::HTMLTreeBuilder::attach):
111604
111605 2010-06-28  David Levin  <levin@chromium.org>
111606
111607         Reviewed by NOBODY (chromium build fix).
111608
111609         * bindings/v8/ScriptEventListener.h: Changed forward declaration
111610           to correspond to the code change doing in r62052.
111611
111612 2010-06-28  Brady Eidson  <beidson@apple.com>
111613
111614         Reviewed by Alexey Proskuryakov.
111615
111616         Support for https://bugs.webkit.org/show_bug.cgi?id=40484
111617
111618         In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their
111619         original Node* was, even if it was a window event listener.
111620
111621         For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that
111622         took a Frame* argument and didn't set the original Node* on the JSLazyEventListener.
111623
111624         This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along
111625         for later use by the beforeProcess mechanism.
111626
111627         No new tests. (No change in behavior)
111628
111629         * bindings/js/ScriptEventListener.cpp:
111630         (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
111631           of a Frame*, and figures out the Frame* itself internally.
111632         * bindings/js/ScriptEventListener.h:
111633
111634         * bindings/v8/ScriptEventListener.cpp:
111635         (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
111636           of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to
111637           pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed.
111638         * bindings/v8/ScriptEventListener.h:
111639
111640         * html/HTMLBodyElement.cpp:
111641         (WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead.
111642         * html/HTMLFrameSetElement.cpp:
111643         (WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto.
111644         * svg/SVGSVGElement.cpp:
111645         (WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves
111646           should be there.
111647
111648 2010-06-28  John Gregg  <johnnyg@google.com>
111649
111650         Reviewed by Kent Tamura.
111651
111652         add ENABLE_DIRECTORY_UPLOAD build support
111653         https://bugs.webkit.org/show_bug.cgi?id=41100
111654
111655         * Configurations/FeatureDefines.xcconfig:
111656         * GNUmakefile.am:
111657         * WebCore.pri:
111658
111659 2010-06-28  Adam Barth  <abarth@webkit.org>
111660
111661         Reviewed by Eric Seidel.
111662
111663         Don't use the new tree builder for fragments
111664         https://bugs.webkit.org/show_bug.cgi?id=41316
111665
111666         We need to walk before we can run.  After this change, we can run the
111667         runner.html tests (with the ASSERT caveat).
111668
111669         * html/HTMLTreeBuilder.cpp:
111670         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
111671
111672 2010-06-28  Adam Barth  <abarth@webkit.org>
111673
111674         Reviewed by Eric Seidel.
111675
111676         The new tree builder should actually finish building the tree
111677         https://bugs.webkit.org/show_bug.cgi?id=41314
111678
111679         Again, this patch makes progress on runner.html, but I haven't removed
111680         the ASSERT yet.
111681
111682         * html/HTMLTreeBuilder.cpp:
111683         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
111684         (WebCore::HTMLTreeBuilder::finished):
111685         * html/HTMLTreeBuilder.h:
111686
111687 2010-06-28  Dumitru Daniliuc  <dumi@chromium.org>
111688
111689         Reviewed by Eric Seidel.
111690
111691         Fix a race condition that can happen when using DBs in workers.
111692         https://bugs.webkit.org/show_bug.cgi?id=41105
111693
111694         * storage/DatabaseTracker.cpp:
111695         (WebCore::DatabaseTracker::addOpenDatabase):
111696         * storage/DatabaseTracker.h:
111697
111698 2010-06-28  Adam Barth  <abarth@webkit.org>
111699
111700         Reviewed by Eric Seidel.
111701
111702         Add text nodes to the DOM
111703         https://bugs.webkit.org/show_bug.cgi?id=41306
111704
111705         Actually add some text nodes to the DOM when parsing a document.  We're
111706         going to need to do something fancier here eventually, but this gets us
111707         past the error we're seeing currently in runner.html.
111708
111709         Unfortunately, this patch "regresses" runner.html in the sense that we
111710         now hit an assert, but it's still an improvement...  I'll update the
111711         HTML5 expectations once we get past the assert.
111712
111713         * html/HTMLTreeBuilder.cpp:
111714         (WebCore::HTMLTreeBuilder::processCharacter):
111715         (WebCore::HTMLTreeBuilder::insertTextNode):
111716         * html/HTMLTreeBuilder.h:
111717
111718 2010-06-28  Beth Dakin  <bdakin@apple.com>
111719
111720         Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms.
111721
111722         * rendering/RenderBoxModelObject.cpp:
111723
111724 2010-06-28  Andreas Kling  <andreas.kling@nokia.com>
111725
111726         Reviewed by Kenneth Rohde Christiansen.
111727
111728         [Qt] Use HTML5-conformant gradient interpolation mode
111729         https://bugs.webkit.org/show_bug.cgi?id=41298
111730
111731         Change the Qt Gradient implementation to use ComponentInterpolation mode.
111732
111733         Spec link:
111734         http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles
111735
111736         * platform/graphics/qt/GradientQt.cpp:
111737         (WebCore::Gradient::platformGradient):
111738
111739 2010-06-28  Beth Dakin  <bdakin@apple.com>
111740
111741         Reviewed by Sam Weinig.
111742
111743         Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders 
111744         with border-radius and double, groove, or ridge styles should look 
111745         better
111746
111747         This patch re-works border radius painting to stroke paths instead 
111748         of arcs. 
111749
111750         Added new function clipConvexPolygon(). Added static 
111751         addConvexPolygonToContext so that code can be shared between 
111752         drawConvexPolygon() and clipConvexPolygon().
111753         * platform/graphics/GraphicsContext.h:
111754         * platform/graphics/cg/GraphicsContextCG.cpp:
111755         (WebCore::addConvexPolygonToContext):
111756         (WebCore::GraphicsContext::drawConvexPolygon):
111757         (WebCore::GraphicsContext::clipConvexPolygon):
111758
111759         Shells of implementations on non-CG platforms.
111760         * platform/graphics/cairo/GraphicsContextCairo.cpp:
111761         (WebCore::GraphicsContext::clipConvexPolygon):
111762         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
111763         (WebCore::GraphicsContext::clipConvexPolygon):
111764         * platform/graphics/qt/GraphicsContextQt.cpp:
111765         (WebCore::GraphicsContext::clipConvexPolygon):
111766         * platform/graphics/skia/GraphicsContextSkia.cpp:
111767         (WebCore::GraphicsContext::clipConvexPolygon):
111768         * platform/graphics/wince/GraphicsContextWince.cpp:
111769         (WebCore::GraphicsContext::clipConvexPolygon):
111770         * platform/graphics/wx/GraphicsContextWx.cpp:
111771         (WebCore::GraphicsContext::clipConvexPolygon):
111772
111773         This new helper function determines if the inner corners of the 
111774         border will arch in or meet at a right angle. 
111775         * rendering/RenderBoxModelObject.cpp:
111776         (WebCore::borderWillArcInnerEdge):
111777
111778         This function is re-written so that, for each side of the border, 
111779         if borderWillArcInnerEdge() is true, we go down a brand new code 
111780         path of clipping to a convex polygon for the border side and then 
111781         we paint the side using the new function drawBoxSideFromPath(). If 
111782         borderWillArcInnerEdge() is false, then we call into the old 
111783         familiar drawLineForBoxSide() which relies on the rounder clip 
111784         rects we have set up to arch the outer edge of the border.
111785         (WebCore::RenderBoxModelObject::paintBorder):
111786
111787         This new function does the math to figure out the convex polygon 
111788         to clip to in the case where we need to arch the inner edge of the 
111789         border. This calls into a new GraphicsContext function that is only 
111790         implemented on CG at this time. This is the reason we are keeping 
111791         around an old version of paintBorder() for now.
111792         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
111793         * rendering/RenderBoxModelObject.h:
111794
111795         borderInnerRect() is a new convenience function called from 
111796         RenderObject and RenderBoxModelObject to determine the rect of the 
111797         inside edge of the border.
111798         * rendering/RenderObject.cpp:
111799         (WebCore::RenderObject::borderInnerRect):
111800
111801         This new function re-works drawArcForBoxSide to draw from Paths 
111802         when appropriate instead of stroking arcs. 
111803         (WebCore::RenderObject::drawBoxSideFromPath):
111804
111805         Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until 
111806         GraphicsContext::clipConvexPolygon() is implemented.
111807         (WebCore::RenderObject::drawArcForBoxSide):
111808         * rendering/RenderObject.h:
111809
111810         New function 
111811         RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the 
111812         inner radius values for a rect. It takes border widths a parameters 
111813         rather than using the style's border widths so that it can be used 
111814         in inner radius calculations for double and groove/ridge 
111815         calculations. The W3C corner constraining rules were moved to a 
111816         static function that can be called from both getBorderRadiiForRect
111817         () and getInnerBorderRadiiForRectWithBorderWidths().
111818         * rendering/style/RenderStyle.cpp:
111819         (WebCore::constrainCornerRadiiForRect):
111820         (WebCore::RenderStyle::getBorderRadiiForRect):
111821         (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
111822         * rendering/style/RenderStyle.h:
111823
111824 2010-06-28  Martin Robinson  <mrobinson@igalia.com>
111825
111826         Reviewed by Xan Lopez.
111827
111828         [GTK] Add support for the progress bar tag
111829         https://bugs.webkit.org/show_bug.cgi?id=41014
111830
111831         Add support for rendering the progress tag for WebKit GTK+.
111832
111833         * GNUmakefile.am:
111834         * platform/gtk/RenderThemeGtk.cpp:
111835         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
111836         Added. Currently progress bar animations are disabled. As it looks like
111837         there may not be a good way to support this with Mozilla's theme drawing code.
111838         (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
111839         (WebCore::RenderThemeGtk::adjustProgressBarStyle): Added.
111840         (WebCore::RenderThemeGtk::paintProgressBar): Added.
111841         * platform/gtk/RenderThemeGtk.h: Add declarations for new methods.
111842         * platform/gtk/gtk2drawing.c: 
111843         (moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly.
111844         * platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget.
111845
111846 2010-06-28  Adam Barth  <abarth@webkit.org>
111847
111848         Reviewed by Eric Seidel.
111849
111850         HTML5 Regression: Crash in insert()
111851         https://bugs.webkit.org/show_bug.cgi?id=41281
111852
111853         We need to call endIfDelayed() outside of the script nesting block
111854         because endIfDelayed() might call end(), which deletes the
111855         HTMLDocumentParser.  If we try to exit the script nesting block after
111856         the HTMLDocumentParser has been deleted, we'll decrement unallocated
111857         memory, which is bad times.
111858
111859         Moving endIfDelayed outside of the script nesting block also lets us
111860         avoid ending if inWrite() is true.  If we're inWrite(), then there's
111861         folks above us on the stack who will crash of the HTMLDocumentParser is
111862         deallocated.  Adding this check matches the LegacyHTMLDocumentParser
111863         and the logic in attemptToEnd, facilitating a small refactoring of the
111864         common logic for improved readability.
111865
111866         I don't know of any test case that changes in behavior because of this
111867         patch, but this bug exists on the same line of code that the reliablity
111868         tests crashed.  I'm not sure whether this patch will fix that crash,
111869         but removing bugs (even theoretical ones) seems like a good idea.
111870
111871         * html/HTMLDocumentParser.cpp:
111872         (WebCore::HTMLDocumentParser::insert):
111873         (WebCore::HTMLDocumentParser::append):
111874         (WebCore::HTMLDocumentParser::attemptToEnd):
111875         (WebCore::HTMLDocumentParser::endIfDelayed):
111876         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
111877         * html/HTMLDocumentParser.h:
111878         (WebCore::HTMLDocumentParser::shouldDelayEnd):
111879
111880 2010-06-28  Eric Carlson  <eric.carlson@apple.com>
111881
111882         Reviewed by Sam Weinig.
111883
111884         MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types
111885         https://bugs.webkit.org/show_bug.cgi?id=41287
111886         <rdar://problem/8137402>
111887
111888         No new test because getSupportedTypes is used privately by MediaPlayer.
111889
111890         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
111891         (WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and
111892         modern types.
111893
111894 2010-06-28  James Robinson  <jamesr@chromium.org>
111895
111896         Reviewed by Darin Adler.
111897
111898         REGRESSION(53790): Neopets page with mismatched elements misrenders
111899         https://bugs.webkit.org/show_bug.cgi?id=41181
111900
111901         Misnested formatting tags require fixup in order to create a valid DOM.  Because this takes
111902         O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
111903         of 5 to this algorithm to avoid hangs.  This limit is too low for neopets, but a limit of
111904         7 is sufficient.  This raises the limit to 10 to have a bit of breathing room.  HTML5
111905         defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
111906         but doesn't specify any particular iteration limit.
111907
111908         * html/LegacyHTMLTreeBuilder.cpp:
111909
111910 2010-06-28  Adam Barth  <abarth@webkit.org>
111911
111912         Reviewed by Eric Seidel.
111913
111914         The new tree builder needs to call attach() on elements it attaches to
111915         the DOM
111916         https://bugs.webkit.org/show_bug.cgi?id=41293
111917
111918         Apparently Nodes expect to have their attach() method called when they
111919         are attached to the DOM.  The new tree builder is happy to oblige.
111920         Making this call requires some fancy footwork with RefPtr/PassRefPtr to
111921         avoid extra ref churn while keeping each function small.
111922
111923         * html/HTMLTreeBuilder.cpp:
111924         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
111925         (WebCore::HTMLTreeBuilder::processCharacter):
111926         (WebCore::HTMLTreeBuilder::insertDoctype):
111927         (WebCore::HTMLTreeBuilder::insertComment):
111928         (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
111929         (WebCore::HTMLTreeBuilder::insertElement):
111930         (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
111931         (WebCore::HTMLTreeBuilder::insertScriptElement):
111932         * html/HTMLTreeBuilder.h:
111933         (WebCore::HTMLTreeBuilder::attach):
111934
111935 2010-06-28  Xan Lopez  <xlopez@igalia.com>
111936
111937         Fix distcheck.
111938
111939         * GNUmakefile.am:
111940
111941 2010-06-28  Kenneth Russell  <kbr@google.com>
111942
111943         Reviewed by Dimitri Glazkov.
111944
111945         Index validation caches buffer size information too aggressively
111946         https://bugs.webkit.org/show_bug.cgi?id=41092
111947
111948         Test: fast/canvas/webgl/index-validation-with-resized-buffer.html
111949
111950         * html/canvas/WebGLRenderingContext.cpp:
111951         (WebCore::WebGLRenderingContext::validateRenderingState):
111952          - Compute the number of valid elements each time based on the latched buffer.
111953         (WebCore::WebGLRenderingContext::vertexAttribPointer):
111954          - Do not cache the buffer size, only the attributes used to
111955            compute the number of required elements.
111956         * html/canvas/WebGLRenderingContext.h:
111957         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
111958          - Ditto.
111959
111960 2010-06-28  Andreas Kling  <andreas.kling@nokia.com>
111961
111962         Reviewed by Simon Hausmann.
111963
111964         [Qt] Replace single treat-as-space characters with normal space
111965         https://bugs.webkit.org/show_bug.cgi?id=41278
111966
111967         This keeps Qt from attempting glyph substitution and loading a bunch
111968         of extra fonts when encountering &nbsp; entities.
111969
111970         * platform/graphics/qt/FontQt.cpp:
111971         (WebCore::Font::floatWidthForComplexText):
111972
111973 2010-06-28  Robin Cao  <robin.cao@torchmobile.com.cn>
111974
111975         Reviewed by Dan Bernstein.
111976
111977         canvas fillText with @font-face crashes
111978         https://bugs.webkit.org/show_bug.cgi?id=35486
111979
111980         The font object in CanvasRenderingContext2D may become invalid at some point.
111981         Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed.
111982
111983         A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html
111984
111985         * html/HTMLCanvasElement.cpp:
111986         (WebCore::HTMLCanvasElement::recalcStyle):
111987         * html/HTMLCanvasElement.h:
111988         * html/canvas/CanvasRenderingContext2D.cpp:
111989         (WebCore::CanvasRenderingContext2D::updateFont):
111990         * html/canvas/CanvasRenderingContext2D.h:
111991
111992 2010-06-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
111993
111994         Unreviewed build fix.
111995
111996         [EFL] Build fix for latest version of Ecore library.
111997         Ecore recently changed return type of callbacks from int to Eina_Bool.
111998
111999         No new functionality, so no new tests.
112000
112001         * platform/efl/SharedTimerEfl.cpp:
112002         (WebCore::timerEvent): Return Eina_Bool instead of int.
112003
112004 2010-06-28  Xan Lopez  <xlopez@igalia.com>
112005
112006         Fix build with GTK+ older than 2.18
112007
112008         * platform/gtk/ScrollViewGtk.cpp:
112009         (WebCore::ScrollView::visibleContentRect):
112010
112011 2010-06-28  Xan Lopez  <xlopez@igalia.com>
112012
112013         Reviewed by Adam Barth.
112014
112015         [GTK] Push NULL context on every DOM bindings entry point
112016         https://bugs.webkit.org/show_bug.cgi?id=39967
112017
112018         Update GObject DOM bindings to push the NULL context on every API
112019         entry point, and update bindings test results.
112020
112021         * bindings/scripts/CodeGeneratorGObject.pm:
112022         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
112023         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
112024         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
112025
112026 2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>
112027
112028         Reviewed by Adam Roben.
112029
112030         [WinCairo] Text box backgrounds do not render in partially opaque layers
112031         https://bugs.webkit.org/show_bug.cgi?id=41113
112032
112033         Tests:
112034          manual-tests/partially-opaque-text-input.html
112035
112036         * platform/graphics/win/GraphicsContextCairoWin.cpp:
112037         (WebCore::GraphicsContext::releaseWindowsContext):
112038         When restoring a context which does not support alpha blending, manually
112039         set the alpha channel of the HBITMAP to fully opaque. This will effectively
112040         ignore the alpha channel of the HBITMAP, which is necessary because GDI
112041         drawing functions set the alpha value to be fully transparent (0).
112042
112043 2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>
112044
112045         Reviewed by Adam Roben.
112046
112047         [WinCairo] Rendering of themed elements on a layer with opacity produces nothing
112048         https://bugs.webkit.org/show_bug.cgi?id=41111
112049
112050         Tests:
112051          manual-tests/partially-opaque-form-elements.html
112052
112053         * platform/graphics/win/GraphicsContextCairoWin.cpp:
112054         (WebCore::GraphicsContext::releaseWindowsContext):
112055         Preform a cairo_save() and a cairo_restore() around code modifying the transformation
112056         matrix of the Cairo surface. Also set the destination coordinates before adjusting
112057         the transformation matrix scale, so that the destination coordinates are not scaled
112058         as well.
112059
112060 2010-06-28  Sam Magnuson  <smagnuson@netflix.com>
112061
112062         Reviewed by Kenneth Rohde Christiansen.
112063
112064         [Qt] GraphicsLayerQt delay seems unnecessary.
112065         https://bugs.webkit.org/show_bug.cgi?id=40846
112066
112067         Test: compositing/animation/busy-indicator.html
112068
112069         * platform/graphics/qt/GraphicsLayerQt.cpp:
112070         (WebCore::GraphicsLayerQtImpl::recache):
112071         (WebCore::GraphicsLayerQtImpl::flushChanges):
112072         (WebCore::GraphicsLayerQt::setContentsToImage):
112073         (WebCore::GraphicsLayerQt::addAnimation):
112074
112075 2010-06-28  Xan Lopez  <xlopez@igalia.com>
112076
112077         Reviewed by Gustavo Noronha.
112078
112079         Until now we were adding the event listeners for a given object in
112080         the wrap method, since that's the first moment we have accoss to
112081         the core WebCore object. The problem is that we only install the
112082         listeners that the topmost class in the class hierarchy needs (eg,
112083         HTMLParagrahElement for a P element), when most of the actual
112084         event attributes are defined in the base classes (Node, Element,
112085         ...).
112086
112087         To fix this set the core object as a construct/write-only property
112088         on the wrapper GObject, and set the eventlisteners in the cGObject
112089         'construct' method, chaining up through all the class hierarchy
112090         until the end. This way we'll get all the eventlisteners defined
112091         in all the superclasses of our object, which is what we want.
112092
112093         * bindings/gobject/WebKitDOMObject.cpp:
112094         (webkit_dom_object_get_property):
112095         (webkit_dom_object_set_property):
112096         (webkit_dom_object_class_init):
112097         * bindings/scripts/CodeGeneratorGObject.pm:
112098         * dom/Node.idl:
112099
112100 2010-06-28  Xan Lopez  <xlopez@igalia.com>
112101
112102         Fix GTK+ build.
112103
112104         * platform/gtk/RenderThemeGtk.cpp:
112105
112106 2010-06-28  Xan Lopez  <xlopez@igalia.com>
112107
112108         Reviewed by Gustavo Noronha.
112109
112110         [GTK] Does not compile with -DGSEAL_ENABLE
112111         https://bugs.webkit.org/show_bug.cgi?id=37851
112112
112113         Fix build with GSEAL enabled.
112114
112115         * GNUmakefile.am:
112116         * platform/gtk/GtkVersioning.h:
112117         * platform/gtk/RenderThemeGtk.cpp:
112118         (WebCore::paintMozillaGtkWidget):
112119         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
112120         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
112121         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
112122         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
112123         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
112124         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
112125         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
112126         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
112127         (WebCore::RenderThemeGtk::systemColor):
112128         * platform/gtk/ScrollViewGtk.cpp:
112129         (WebCore::ScrollView::platformRemoveChild):
112130         (WebCore::ScrollView::visibleContentRect):
112131         * platform/gtk/gtk2drawing.c:
112132         (ensure_toggle_button_widget):
112133         (ensure_combo_box_widgets):
112134         (ensure_combo_box_entry_widgets):
112135         (ensure_tree_header_cell_widget):
112136         (moz_gtk_button_paint):
112137         (moz_gtk_toggle_paint):
112138         (calculate_button_inner_rect):
112139         (calculate_arrow_rect):
112140         (moz_gtk_scrollbar_button_paint):
112141         (moz_gtk_scrollbar_trough_paint):
112142         (moz_gtk_scrollbar_thumb_paint):
112143         (moz_gtk_spin_paint):
112144         (moz_gtk_spin_updown_paint):
112145         (moz_gtk_scale_paint):
112146         (moz_gtk_scale_thumb_paint):
112147         (moz_gtk_gripper_paint):
112148         (moz_gtk_hpaned_paint):
112149         (moz_gtk_vpaned_paint):
112150         (moz_gtk_entry_paint):
112151         (moz_gtk_treeview_paint):
112152         (moz_gtk_tree_header_sort_arrow_paint):
112153         (moz_gtk_treeview_expander_paint):
112154         (moz_gtk_expander_paint):
112155         (moz_gtk_combo_box_paint):
112156         (moz_gtk_downarrow_paint):
112157         (moz_gtk_combo_box_entry_button_paint):
112158         (moz_gtk_container_paint):
112159         (moz_gtk_toggle_label_paint):
112160         (moz_gtk_toolbar_paint):
112161         (moz_gtk_toolbar_separator_paint):
112162         (moz_gtk_tooltip_paint):
112163         (moz_gtk_resizer_paint):
112164         (moz_gtk_frame_paint):
112165         (moz_gtk_progressbar_paint):
112166         (moz_gtk_progress_chunk_paint):
112167         (moz_gtk_get_tab_thickness):
112168         (moz_gtk_tab_paint):
112169         (moz_gtk_tabpanels_paint):
112170         (moz_gtk_tab_scroll_arrow_paint):
112171         (moz_gtk_menu_bar_paint):
112172         (moz_gtk_menu_popup_paint):
112173         (moz_gtk_menu_separator_paint):
112174         (moz_gtk_menu_item_paint):
112175         (moz_gtk_menu_arrow_paint):
112176
112177 2010-06-28  Xan Lopez  <xlopez@igalia.com>
112178
112179         Reviewed by Gustavo Noronha.
112180
112181         [GTK] Add support for GTK+3
112182         https://bugs.webkit.org/show_bug.cgi?id=41253
112183
112184         Adapt build system for 3.x support.
112185
112186         * GNUmakefile.am:
112187
112188 2010-06-28  Yury Semikhatsky  <yurys@chromium.org>
112189
112190         Reviewed by Pavel Feldman.
112191
112192         [v8] Web Inspector: properties of scope variables are flattened while on a breakpoint.
112193         https://bugs.webkit.org/show_bug.cgi?id=41214
112194
112195         Test: inspector/debugger-proto-property.html
112196
112197         * inspector/front-end/InjectedScript.js:
112198         (injectedScriptConstructor): object proxy with non-empty path cannot be scope proxy.
112199
112200 2010-06-28  MORITA Hajime  <morrita@google.com>
112201
112202         Unreviewed attempt to fix windows build.
112203
112204         * page/DOMWindow.idl:
112205
112206 2010-06-22  MORITA Hajime  <morrita@google.com>
112207
112208         Reviewed by Kent Tamura.
112209
112210         <progress> should be styled with -webkit-progress-bar-value
112211         https://bugs.webkit.org/show_bug.cgi?id=40823
112212
112213         Fixed to peek styles of the shadow node pseudo class to fallback
112214         to non-styled painting.
112215         
112216         * css/html.css: 
112217         (progress): Added defaul background-color.
112218         (progress::-webkit-progress-bar-value): Added defaul background-color.
112219         * rendering/RenderProgress.cpp:
112220         (WebCore::RenderProgress::shouldHaveParts):
112221         (WebCore::RenderProgress::updatePartsState):
112222
112223         Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
112224         
112225 2010-06-28  Csaba Osztrogonác  <ossy@webkit.org>
112226
112227         Reviewed by Kent Tamura.
112228
112229         GCC suggest parentheses around && within ||
112230         https://bugs.webkit.org/show_bug.cgi?id=41245
112231
112232         * rendering/RenderBlock.cpp:
112233         (WebCore::RenderBlock::paintChildren):
112234
112235 2010-06-28  Adam Barth  <abarth@webkit.org>
112236
112237         Reviewed by Eric Seidel.
112238
112239         Don't dump contents of <script> elements in LayoutTests
112240         https://bugs.webkit.org/show_bug.cgi?id=41277
112241
112242         Apparently we need to tell each element when we start and stop parsing
112243         its children.  If we don't do this, we see the contents of every script
112244         and style element in dumpAsText LayoutTests.  (This patch is *well*
112245         covered by LayoutTests.)
112246
112247         * html/HTMLTreeBuilder.h:
112248         (WebCore::HTMLTreeBuilder::ElementStack::pop):
112249         (WebCore::HTMLTreeBuilder::ElementStack::push):
112250
112251 2010-06-28  Eric Seidel  <eric@webkit.org>
112252
112253         Reviewed by Adam Barth.
112254
112255         Make it possible to test the new HTML5 TreeBuilder
112256         https://bugs.webkit.org/show_bug.cgi?id=41276
112257
112258         Adam was concerned that someone might make their port
112259         depend on this setting (I guess we had some trouble with that
112260         with the HTML5Parser setting), so I littered the code with warnings.
112261
112262         test-html5-parser now tests this code path.
112263
112264         * html/HTMLTreeBuilder.cpp:
112265         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
112266         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
112267         (WebCore::HTMLTreeBuilder::finished):
112268         * page/Settings.cpp:
112269         (WebCore::Settings::Settings):
112270         * page/Settings.h:
112271         (WebCore::Settings::setHTML5TreeBuilderEnabled_DO_NOT_USE):
112272         (WebCore::Settings::html5TreeBuilderEnabled):
112273
112274 2010-06-28  Adam Barth  <abarth@webkit.org>
112275
112276         Reviewed by Eric Seidel.
112277
112278         Make the html5lib runner.html not assert
112279         https://bugs.webkit.org/show_bug.cgi?id=41273
112280
112281         This patch gets us closer to being able to run the parser tests.  We
112282         still don't get parsing correct, but at least we don't assert.  :)
112283
112284         * html/HTMLTreeBuilder.cpp:
112285         (WebCore::HTMLTreeBuilder::processStartTag):
112286         (WebCore::HTMLTreeBuilder::processComment):
112287         (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
112288         * html/HTMLTreeBuilder.h:
112289
112290 2010-06-28  Eric Seidel  <eric@webkit.org>
112291
112292         Unreviewed.  Attempt to fix Chromium and Qt builders.
112293
112294         Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
112295         https://bugs.webkit.org/show_bug.cgi?id=41141
112296
112297         No functional changes, thus no tests.
112298
112299         * bindings/v8/ScriptController.cpp:
112300         (WebCore::ScriptController::eventHandlerLineNumber):
112301         (WebCore::ScriptController::eventHandlerColumnNumber):
112302         * dom/XMLDocumentParserQt.cpp:
112303         (WebCore::XMLDocumentParser::XMLDocumentParser):
112304         (WebCore::XMLDocumentParser::stopParsing):
112305
112306 2010-06-28  Adam Barth  <abarth@webkit.org>
112307
112308         Reviewed by Eric Seidel.
112309
112310         Add support for parsing attributes
112311         https://bugs.webkit.org/show_bug.cgi?id=41272
112312
112313         This patch lets use parse the following document:
112314
112315         <script src="data:text/javascript,alert('PASS')"></script>
112316
112317         * html/HTMLTreeBuilder.cpp:
112318         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
112319         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
112320         (WebCore::HTMLTreeBuilder::insertScriptElement):
112321         (WebCore::HTMLTreeBuilder::createElement):
112322
112323 2010-06-28  Eric Seidel  <eric@webkit.org>
112324
112325         Reviewed by Darin Adler.
112326
112327         Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
112328         https://bugs.webkit.org/show_bug.cgi?id=41141
112329
112330         By splitting ScriptableDocumentParser and DecodedDataDocumentParser
112331         out from DocumentParser we've made the DocumentParser and
112332         RawDataDocumentParser classes simpler.
112333
112334         No functional change, thus no tests.
112335
112336         * Android.mk:
112337         * CMakeLists.txt:
112338         * GNUmakefile.am:
112339         * WebCore.gypi:
112340         * WebCore.pro:
112341         * WebCore.vcproj/WebCore.vcproj:
112342         * WebCore.xcodeproj/project.pbxproj:
112343         * bindings/js/ScriptController.cpp:
112344         (WebCore::ScriptController::eventHandlerLineNumber):
112345         * css/CSSStyleSheet.cpp:
112346         (WebCore::CSSStyleSheet::checkLoaded):
112347         * dom/Document.cpp:
112348         (WebCore::Document::scriptableDocumentParser):
112349         (WebCore::Document::open):
112350         (WebCore::Document::implicitOpen):
112351         (WebCore::Document::implicitClose):
112352         (WebCore::Document::removePendingSheet):
112353         * dom/Document.h:
112354         (WebCore::Document::parser):
112355         * dom/DocumentParser.cpp:
112356         (WebCore::DocumentParser::DocumentParser):
112357         * dom/DocumentParser.h:
112358         (WebCore::DocumentParser::asScriptableDocumentParser):
112359         * dom/RawDataDocumentParser.h:
112360         (WebCore::RawDataDocumentParser::finishWasCalled):
112361         * dom/ScriptableDocumentParser.cpp: Copied from WebCore/html/HTMLEntityParser.h.
112362         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
112363         * dom/ScriptableDocumentParser.h: Added.
112364         (WebCore::ScriptableDocumentParser::isExecutingScript):
112365         (WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheets):
112366         (WebCore::ScriptableDocumentParser::xssAuditor):
112367         (WebCore::ScriptableDocumentParser::setXSSAuditor):
112368         (WebCore::ScriptableDocumentParser::processingContentWrittenByScript):
112369         (WebCore::ScriptableDocumentParser::asScriptableDocumentParser):
112370         * dom/ViewportArguments.cpp:
112371         (WebCore::parserLineNumber):
112372         (WebCore::reportViewportWarning):
112373         * dom/XMLDocumentParser.h:
112374         * dom/XMLDocumentParserLibxml2.cpp:
112375         (WebCore::XMLDocumentParser::XMLDocumentParser):
112376         * html/HTMLDocumentParser.cpp:
112377         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
112378         (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
112379         * html/HTMLDocumentParser.h:
112380         * html/LegacyHTMLDocumentParser.cpp:
112381         (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
112382         (WebCore::LegacyHTMLDocumentParser::parseTag):
112383         * html/LegacyHTMLDocumentParser.h:
112384         (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
112385         * html/LegacyHTMLTreeBuilder.cpp:
112386         (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
112387         * loader/DocumentLoader.cpp:
112388         * loader/DocumentWriter.cpp:
112389         * loader/TextDocument.cpp:
112390         (WebCore::TextDocumentParser::TextDocumentParser):
112391         (WebCore::TextDocumentParser::finish):
112392         * svg/SVGDocumentExtensions.cpp:
112393         (WebCore::parserLineNumber):
112394         (WebCore::reportMessage):
112395         (WebCore::SVGDocumentExtensions::reportWarning):
112396         (WebCore::SVGDocumentExtensions::reportError):
112397
112398 2010-06-27  Steve Falkenburg  <sfalken@apple.com>
112399
112400         Reviewed by Mark Rowe.
112401
112402         WebKit2 build exceeds address space on 32-bit Windows builders
112403         https://bugs.webkit.org/show_bug.cgi?id=41270
112404
112405         Add all-in-one file for render-related SVG files.
112406         Clean up other all-in-one files by adding missing files, excluding matching files from the vcproj.
112407         Reduces release WebCore.lib size by 10% (160MB).
112408
112409         * DerivedSources.cpp:
112410         * WebCore.vcproj/WebCore.vcproj:
112411         * bindings/js/JSBindingsAllInOne.cpp:
112412         * html/HTMLElementsAllInOne.cpp:
112413         * rendering/RenderSVGAllInOne.cpp: Added.
112414
112415 2010-06-27  Adam Barth  <abarth@webkit.org>
112416
112417         Reviewed by Eric Seidel.
112418
112419         Sketch out the InBodyMode for the tree builder
112420         https://bugs.webkit.org/show_bug.cgi?id=41271
112421
112422         This gives us some basic behavior for the InBodyMode.  I've implemented
112423         some of the easier logic.  The more complicated logic will be in
112424         subsequent patches.
112425
112426         * html/HTMLTreeBuilder.cpp:
112427         (WebCore::HTMLTreeBuilder::processStartTag):
112428         (WebCore::HTMLTreeBuilder::processEndTag):
112429         (WebCore::HTMLTreeBuilder::insertFormatingElement):
112430         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
112431         * html/HTMLTreeBuilder.h:
112432
112433 2010-06-25  Yuzo Fujishima  <yuzo@google.com>
112434
112435         Reviewed by Shinichiro Hamaji.
112436
112437         Improve default value handling for page format properties.
112438
112439         Default page size and orientation have been hard-coded.
112440         Instead, pass default page size and margins to
112441         WebCore::Document::pageSizeAndMarginsInPixels to handle auto page size
112442         and margins specified as percentages.
112443         Return margins instead of page rect.
112444
112445         https://bugs.webkit.org/show_bug.cgi?id=41150
112446
112447         * WebCore.base.exp:
112448         * css/CSSStyleSelector.cpp:
112449         (WebCore::CSSStyleSelector::applyPageSizeProperty):
112450         (WebCore::CSSStyleSelector::pageSizeFromName):
112451         * css/html.css:
112452         (@page):
112453         * dom/Document.cpp:
112454         (WebCore::Document::pageSizeAndMarginsInPixels):
112455         * dom/Document.h:
112456         * page/PrintContext.cpp:
112457         (WebCore::PrintContext::pageProperty):
112458         (WebCore::PrintContext::pageSizeAndMarginsInPixels):
112459         * page/PrintContext.h:
112460         * rendering/style/RenderStyle.h:
112461         (WebCore::InheritedFlags::pageSizeType):
112462         (WebCore::InheritedFlags::setPageSizeType):
112463         (WebCore::InheritedFlags::resetPageSizeType):
112464         * rendering/style/StyleRareNonInheritedData.cpp:
112465         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
112466         (WebCore::StyleRareNonInheritedData::operator==):
112467         * rendering/style/StyleRareNonInheritedData.h:
112468         (WebCore::):
112469
112470 2010-06-27  Adam Barth  <abarth@webkit.org>
112471
112472         Reviewed by Eric Seidel.
112473
112474         Clean up some loose ends in HTML5 tree builder
112475         https://bugs.webkit.org/show_bug.cgi?id=41265
112476
112477         This patch cleans up a few loose ends in HTML5 tree builder.
112478         Technically, we could do each of these as individual patches, but that
112479         didn't seem worth while.
112480
112481         * html/HTMLTreeBuilder.cpp:
112482         (WebCore::HTMLTreeBuilder::processStartTag):
112483             - Add missing break before default case statement.  I don't think
112484               this change is observable.
112485         (WebCore::HTMLTreeBuilder::processComment):
112486             - Originally I thought that comments had special processing in the
112487               InHeadNoscriptMode, but it turns out that when you unwind the
112488               definitions, it amounts to exactly the same thing.
112489         (WebCore::HTMLTreeBuilder::processEndOfFile):
112490             - Add missing break before default case statement.  I don't think
112491               this change is observable.
112492         (WebCore::HTMLTreeBuilder::insertComment):
112493             - Eliminate one unnecessary ref/deref pair.
112494         (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
112495             - When we insert self-closing elements, there's no reason to push
112496               them onto the stack of open elements just to pop them off again.
112497               This change saves a malloc/free pair as well as a ref/deref pair.
112498               Go team.
112499         * html/HTMLTreeBuilder.h:
112500             - Remove unused function.
112501
112502 2010-06-27  Adam Barth  <abarth@webkit.org>
112503
112504         Reviewed by Eric Seidel.
112505
112506         Implement remaining StartTag processing for InHeadNoscriptMode
112507         https://bugs.webkit.org/show_bug.cgi?id=41264
112508
112509         The InHeadNoscriptMode processes some start tags "as if" the tree
112510         builder were in the InHeadMode.  This is an idiom we'll see more of
112511         later.  My approach is this patch is to factor all the logic for
112512         processing start tags in the InHeadMode into a separate function that
112513         can be called from both locations.  This seems cleaner than just
112514         splitting out the parts that are actually used by both modes.
112515
112516         * html/HTMLTreeBuilder.cpp:
112517         (WebCore::HTMLTreeBuilder::processStartTag):
112518         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
112519         (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
112520         * html/HTMLTreeBuilder.h:
112521
112522 2010-06-27  Adam Barth  <abarth@webkit.org>
112523
112524         Reviewed by Eric Seidel.
112525
112526         Add support for <title> and <style> elements
112527         https://bugs.webkit.org/show_bug.cgi?id=41263
112528
112529         These elements use the generic RCDATA and RawText algorithms,
112530         respectively.
112531
112532         * html/HTMLTreeBuilder.cpp:
112533         (WebCore::HTMLTreeBuilder::processEndTag):
112534         (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
112535         (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
112536
112537 2010-06-27  Adam Barth  <abarth@webkit.org>
112538
112539         Reviewed by Eric Seidel.
112540
112541         Actually insert Doctype elements
112542         https://bugs.webkit.org/show_bug.cgi?id=41262
112543
112544         This code is pretty much the same as in the old tree builder.
112545
112546         * html/HTMLToken.h:
112547         (WebCore::AtomicHTMLToken::publicIdentifier):
112548         (WebCore::AtomicHTMLToken::systemIdentifier):
112549         * html/HTMLTreeBuilder.cpp:
112550         (WebCore::HTMLTreeBuilder::insertDoctype):
112551
112552 2010-06-27  Andreas Kling  <andreas.kling@nokia.com>
112553
112554         Reviewed by Darin Adler.
112555
112556         Canvas: Ignore calls to drawImage() with non-finite parameters
112557         https://bugs.webkit.org/show_bug.cgi?id=38929
112558
112559         This also fixes a Qt assert when using the raster graphics system.
112560
112561         Spec link:
112562         http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
112563
112564         * html/canvas/CanvasRenderingContext2D.cpp:
112565         (WebCore::CanvasRenderingContext2D::drawImage):
112566
112567 2010-06-27  Andreas Kling  <andreas.kling@nokia.com>
112568
112569         Reviewed by Kenneth Rohde Christiansen.
112570
112571         editing/execCommand/copy-without-selection.html fails on Qt after r61637
112572         https://bugs.webkit.org/show_bug.cgi?id=41025
112573
112574         The problem was that when getting data back via Clipboard::getData(),
112575         the String::String(const char*, int) constructor was called
112576         with UTF-16 data.
112577
112578         The solution is to use QMimeData's text() and setText() for "text/plain".
112579
112580         setText() which makes sure Qt passes the string in proper format to the
112581         system clipboard. (The previous implementation would convert it to UTF-8)
112582
112583         text() makes sure that the correct encoding is used (UTF-16) and that
112584         we get back whatever we originally put in there.
112585
112586         * platform/qt/ClipboardQt.cpp:
112587         (WebCore::isTextMimeType):
112588         (WebCore::ClipboardQt::getData):
112589         (WebCore::ClipboardQt::setData):
112590
112591 2010-06-27  Adam Barth  <abarth@webkit.org>
112592
112593         Reviewed by Eric Seidel.
112594
112595         HTML5 tree builder should be able to execute inline scripts
112596         https://bugs.webkit.org/show_bug.cgi?id=41257
112597
112598         This patch implements enough machinery so that we can execute inline
112599         scripts in extremely simple documents such as the following:
112600
112601         <html>
112602         <script>
112603         alert(1);
112604         </script>
112605
112606         To get this to work, I had to flesh out a surprising amount of the data
112607         structures for processing the <head>.  No tests because this is
112608         already covered by most LayoutTests.
112609
112610         * html/HTMLTreeBuilder.cpp:
112611         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
112612         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
112613         (WebCore::HTMLTreeBuilder::processStartTag):
112614         (WebCore::HTMLTreeBuilder::processEndTag):
112615         (WebCore::HTMLTreeBuilder::processCharacter):
112616         (WebCore::HTMLTreeBuilder::insertComment):
112617         (WebCore::HTMLTreeBuilder::insertElement):
112618         (WebCore::HTMLTreeBuilder::insertScriptElement):
112619         * html/HTMLTreeBuilder.h:
112620         (WebCore::HTMLTreeBuilder::ElementRecord::ElementRecord):
112621         (WebCore::HTMLTreeBuilder::ElementRecord::element):
112622         (WebCore::HTMLTreeBuilder::ElementRecord::next):
112623         (WebCore::HTMLTreeBuilder::ElementRecord::releaseNext):
112624         (WebCore::HTMLTreeBuilder::ElementRecord::setNext):
112625         (WebCore::HTMLTreeBuilder::ElementStack::pop):
112626         (WebCore::HTMLTreeBuilder::ElementStack::push):
112627         (WebCore::HTMLTreeBuilder::ElementStack::top):
112628         (WebCore::HTMLTreeBuilder::ElementStack::remove):
112629         (WebCore::HTMLTreeBuilder::currentElement):
112630
112631 2010-06-26  Brady Eidson  <beidson@apple.com>
112632
112633         Reviewed by Darin Adler.
112634
112635         beforeProcess event needs to fire before inline scripts/stylesheets take effect
112636         <rdar://problem/8084335> and https://bugs.webkit.org/show_bug.cgi?id=40484
112637
112638         This patch adds the Event, the onBeforeProcess attribute, and hooks the attribute up in a few places.
112639         Besides that, no change in behavior.
112640
112641         Layout tests will come with the actual implementations as a followup to this patch.
112642
112643         Project file nonsense:
112644         * DerivedSources.make:
112645         * GNUmakefile.am:
112646         * WebCore.gypi:
112647         * WebCore.pri:
112648         * WebCore.pro:
112649         * WebCore.vcproj/WebCore.vcproj:
112650         * WebCore.xcodeproj/project.pbxproj:
112651
112652         Scaffolding for the event itself:
112653         * dom/BeforeProcessEvent.cpp: Added.
112654         (WebCore::BeforeProcessEvent::text):
112655         (WebCore::BeforeProcessEvent::setText):
112656         * dom/BeforeProcessEvent.h: Added.
112657         (WebCore::BeforeProcessEvent::create):
112658         (WebCore::BeforeProcessEvent::initBeforeProcessEvent):
112659         (WebCore::BeforeProcessEvent::BeforeProcessEvent):
112660         * dom/BeforeProcessEvent.idl: Added.
112661
112662         * dom/EventNames.h:
112663
112664         Respect the onBeforeProcess attribute:
112665         * dom/Document.cpp:
112666         (WebCore::Document::addListenerTypeIfNeeded):
112667         * dom/Document.h:
112668         (WebCore::Document::):
112669
112670         * html/HTMLAttributeNames.in:
112671         * html/HTMLScriptElement.cpp:
112672         (WebCore::HTMLScriptElement::parseMappedAttribute):
112673         * html/HTMLStyleElement.cpp:
112674         (WebCore::HTMLStyleElement::parseMappedAttribute):
112675
112676 2010-06-26  Darin Adler  <darin@apple.com>
112677
112678         Try to fix Chromium build by adding back function used only by Chromium WebKit.
112679
112680         * html/HTMLInputElement.cpp:
112681         (WebCore::HTMLInputElement::defaultChecked): Added back.
112682         * html/HTMLInputElement.h: Added defaultChecked function.
112683
112684         * html/HTMLMetaElement.cpp:
112685         (WebCore::HTMLMetaElement::httpEquiv): Added back.
112686         * html/HTMLMetaElement.h: Added httpEquiv function.
112687
112688         * html/HTMLOptionElement.cpp:
112689         (WebCore::HTMLOptionElement::defaultSelected): Added back.
112690         * html/HTMLOptionElement.h: Added defaultSelected function.
112691
112692         * rendering/style/StyleRareNonInheritedData.h: Fixed incorrect struct vs. class
112693         here as seen in warnings on Chromium Windows bot.
112694
112695 2010-06-26  Darin Adler  <darin@apple.com>
112696
112697         Try to fix Windows build by adding back function used only by Windows WebKit.
112698
112699         * html/HTMLOptionElement.cpp:
112700         (WebCore::HTMLOptionElement::label): Added back.
112701         * html/HTMLOptionElement.h: Added label function.
112702
112703 2010-06-26  Darin Adler  <darin@apple.com>
112704
112705         Try to fix Qt build by adding back function used only by Qt WebKit.
112706
112707         * html/HTMLMetaElement.cpp:
112708         (WebCore::HTMLMetaElement::content): Added back.
112709         * html/HTMLMetaElement.h: Added content function.
112710
112711 2010-06-26  Darin Adler  <darin@apple.com>
112712
112713         * html/HTMLFormElement.h: Removed stray character that got in here before landing.
112714
112715 2010-06-26  Darin Adler  <darin@apple.com>
112716
112717         Reviewed by Sam Weinig.
112718
112719         Add more use of reflection, remove unused functions
112720         https://bugs.webkit.org/show_bug.cgi?id=41255
112721
112722         Also noticed that HTMLDirectoryElement was missing its create function
112723         and added that so the element will get the correct class.
112724
112725         * html/HTMLBaseFontElement.idl: Use reflection for the size attribute
112726         in the Objective-C code path too.
112727
112728         * html/HTMLSelectElement.idl: Use reflection for disabled and autofocus
112729         attributes. Also removed spaces and indenting to match other IDL files.
112730
112731         * html/HTMLStyleElement.idl: Use reflection for disabled attribute.
112732
112733         * html/HTMLTableCellElement.idl: Use reflection for noWrap attribute.
112734
112735         * html/HTMLTextAreaElement.idl: Use reflection for disabled, autofocus,
112736         readOnly, and required attributes.
112737
112738         * html/HTMLUListElement.idl: Use reflection for compact attribute.
112739
112740         * html/HTMLDirectoryElement.cpp:
112741         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement): Made inline.
112742         (WebCore::HTMLDirectoryElement::create): Added.
112743         * html/HTMLDirectoryElement.h:
112744         Added create, made constructor private, removed unused functions.
112745
112746         * html/HTMLStyleElement.cpp:
112747         (WebCore::HTMLStyleElement::parseMappedAttribute): Removed code to
112748         set unused m_media data member.
112749         * html/HTMLStyleElement.h:
112750         Removed unused functions and m_media data member. Also made some
112751         functions private.
112752
112753         * html/HTMLAppletElement.cpp:
112754         * html/HTMLAppletElement.h:
112755         * html/HTMLAreaElement.cpp:
112756         * html/HTMLAreaElement.h:
112757         * html/HTMLBaseFontElement.cpp:
112758         * html/HTMLBaseFontElement.h:
112759         * html/HTMLButtonElement.cpp:
112760         * html/HTMLButtonElement.h:
112761         * html/HTMLDListElement.cpp:
112762         * html/HTMLDListElement.h:
112763         * html/HTMLDivElement.cpp:
112764         * html/HTMLDivElement.h:
112765         * html/HTMLFontElement.cpp:
112766         * html/HTMLFontElement.h:
112767         * html/HTMLFormControlElement.cpp:
112768         * html/HTMLFormControlElement.h:
112769         * html/HTMLFormElement.cpp:
112770         * html/HTMLFormElement.h:
112771         * html/HTMLFrameElement.cpp: Also removed an incorrect FIXME comment
112772         here after I did a little research to disprove it.
112773         * html/HTMLFrameElement.h:
112774         * html/HTMLFrameSetElement.cpp:
112775         * html/HTMLFrameSetElement.h:
112776         * html/HTMLHRElement.cpp:
112777         * html/HTMLHRElement.h:
112778         * html/HTMLHeadElement.cpp:
112779         * html/HTMLHeadElement.h:
112780         * html/HTMLHeadingElement.cpp:
112781         * html/HTMLHeadingElement.h:
112782         * html/HTMLHtmlElement.cpp:
112783         * html/HTMLHtmlElement.h:
112784         * html/HTMLImageElement.cpp:
112785         * html/HTMLImageElement.h:
112786         * html/HTMLInputElement.cpp:
112787         * html/HTMLInputElement.h:
112788         * html/HTMLIsIndexElement.cpp:
112789         * html/HTMLIsIndexElement.h:
112790         * html/HTMLLIElement.cpp:
112791         * html/HTMLLIElement.h:
112792         * html/HTMLLabelElement.cpp:
112793         * html/HTMLLabelElement.h:
112794         * html/HTMLLegendElement.cpp:
112795         * html/HTMLLegendElement.h:
112796         * html/HTMLLinkElement.cpp:
112797         * html/HTMLLinkElement.h:
112798         * html/HTMLMapElement.cpp:
112799         * html/HTMLMapElement.h:
112800         * html/HTMLMenuElement.cpp:
112801         * html/HTMLMenuElement.h:
112802         * html/HTMLMetaElement.cpp:
112803         * html/HTMLMetaElement.h:
112804         * html/HTMLModElement.cpp:
112805         * html/HTMLModElement.h:
112806         * html/HTMLOListElement.cpp:
112807         * html/HTMLOListElement.h:
112808         * html/HTMLObjectElement.cpp:
112809         * html/HTMLObjectElement.h:
112810         * html/HTMLOptGroupElement.cpp:
112811         * html/HTMLOptGroupElement.h:
112812         * html/HTMLOptionElement.cpp:
112813         * html/HTMLOptionElement.h:
112814         * html/HTMLParagraphElement.cpp:
112815         * html/HTMLParagraphElement.h:
112816         * html/HTMLParamElement.cpp:
112817         * html/HTMLParamElement.h:
112818         * html/HTMLPlugInElement.cpp:
112819         * html/HTMLPlugInElement.h:
112820         * html/HTMLPreElement.cpp:
112821         * html/HTMLPreElement.h:
112822         * html/HTMLQuoteElement.cpp:
112823         * html/HTMLQuoteElement.h:
112824         * html/HTMLScriptElement.cpp:
112825         * html/HTMLScriptElement.h:
112826         * html/HTMLTableCaptionElement.cpp:
112827         * html/HTMLTableCaptionElement.h:
112828         * html/HTMLTableCellElement.cpp:
112829         * html/HTMLTableCellElement.h:
112830         * html/HTMLTableColElement.cpp:
112831         * html/HTMLTableColElement.h:
112832         * html/HTMLTableElement.cpp:
112833         * html/HTMLTableElement.h:
112834         * html/HTMLTableRowElement.cpp:
112835         * html/HTMLTableRowElement.h:
112836         * html/HTMLTextAreaElement.cpp:
112837         * html/HTMLTextAreaElement.h:
112838         * html/HTMLUListElement.cpp:
112839         * html/HTMLUListElement.h:
112840         * html/HTMLVideoElement.cpp:
112841         * html/HTMLVideoElement.h:
112842         Removed unused functions.
112843
112844 2010-06-26  Tony Gentilcore  <tonyg@chromium.org>
112845
112846         Reviewed by Adam Barth.
112847
112848         Exclude line numbers for sources which are not from the network.
112849         https://bugs.webkit.org/show_bug.cgi?id=41060
112850
112851         * html/HTMLDocumentParser.cpp:
112852         (WebCore::HTMLDocumentParser::write):
112853
112854 2010-06-25  Antonio Gomes  <tonikitoo@webkit.org>
112855
112856         Unreviewed complementary fix for r61818. It added StaticHashSetListNode.cpp|h to the system,
112857         but did not added it to chromium build system.
112858
112859         * WebCore.gypi:
112860
112861 2010-06-26  Pavel Feldman  <pfeldman@chromium.org>
112862
112863         Reviewed by Yury Semikhatsky.
112864
112865         Web Inspector: ScripsPanel.prototype.editScriptSource uses old addBreakpoint signature.
112866
112867         https://bugs.webkit.org/show_bug.cgi?id=41247
112868
112869         * inspector/front-end/BreakpointManager.js:
112870         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
112871         (WebInspector.Breakpoint.prototype.set enabled):
112872         (WebInspector.Breakpoint.prototype.set condition):
112873         * inspector/front-end/Object.js:
112874         (WebInspector.Object.prototype.addEventListener):
112875         (WebInspector.Object.prototype.removeEventListener):
112876         (WebInspector.Object.prototype.removeAllListeners):
112877         * inspector/front-end/ScriptsPanel.js:
112878         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
112879         (WebInspector.ScriptsPanel.prototype.editScriptSource):
112880
112881 2010-06-26  Tony Gentilcore  <tonyg@chromium.org>
112882
112883         Reviewed by Dimitri Glazkov.
112884
112885         Add a guarded window.performance.timing binding which is disabled by default.
112886         https://bugs.webkit.org/show_bug.cgi?id=38924
112887
112888         This is where Web Timing support will be implemented. Web Timing is a
112889         draft spec for exposing load times to web pages. It will be enabled
112890         once the spec and implementaiton are solidified. See:
112891         http://dev.w3.org/2006/webapi/WebTiming/
112892
112893         No new tests because guarded behind a #DEFINE. Will add tests as
112894         functionality is landed.
112895
112896         * Android.mk:
112897         * CMakeLists.txt:
112898         * Configurations/FeatureDefines.xcconfig:
112899         * DerivedSources.cpp:
112900         * DerivedSources.make:
112901         * GNUmakefile.am:
112902         * WebCore.gypi:
112903         * WebCore.pri:
112904         * WebCore.pro:
112905         * WebCore.vcproj/WebCore.vcproj:
112906         * WebCore.xcodeproj/project.pbxproj:
112907         * page/DOMWindow.cpp:
112908         (WebCore::DOMWindow::clear):
112909         (WebCore::DOMWindow::performance):
112910         * page/DOMWindow.h:
112911         (WebCore::DOMWindow::optionalPerformance):
112912         * page/DOMWindow.idl:
112913         * page/NavigationTiming.cpp: Added.
112914         (WebCore::NavigationTiming::NavigationTiming):
112915         (WebCore::NavigationTiming::frame):
112916         (WebCore::NavigationTiming::disconnectFrame):
112917         (WebCore::NavigationTiming::navigationStart):
112918         * page/NavigationTiming.h: Added.
112919         (WebCore::NavigationTiming::create):
112920         * page/NavigationTiming.idl: Added.
112921         * page/Performance.cpp: Added.
112922         (WebCore::Performance::Performance):
112923         (WebCore::Performance::frame):
112924         (WebCore::Performance::disconnectFrame):
112925         (WebCore::Performance::timing):
112926         * page/Performance.h: Added.
112927         (WebCore::Performance::create):
112928         * page/Performance.idl: Added.
112929
112930 2010-06-25  Zhenyao Mo  <zmo@google.com>
112931
112932         Reviewed by Dimitri Glazkov.
112933
112934         activeTexture wrongly generates error with legal input.
112935         https://bugs.webkit.org/show_bug.cgi?id=41227
112936
112937         Test: fast/canvas/webgl/texture-active-bind.html
112938
112939         * html/canvas/WebGLRenderingContext.cpp:
112940         (WebCore::WebGLRenderingContext::activeTexture): Fix the upper limit test for test units.
112941
112942 2010-06-25  Johnny Ding  <jnd@chromium.org>
112943
112944         Reviewed by Adam Barth.
112945
112946         https://bugs.webkit.org/show_bug.cgi?id=41061
112947         Make sure Chromium's ScriptController::processingUserGesture follows the JSC's behavior.
112948         Set right value in UserGestureIndicator when handling events in PopupMenuList in chromium.
112949
112950         Test: fast/events/popup-when-select-change.html
112951
112952         * bindings/v8/ScriptController.cpp:
112953         (WebCore::ScriptController::processingUserGesture):
112954         * platform/chromium/PopupMenuChromium.cpp:
112955         (WebCore::PopupContainer::handleMouseDownEvent):
112956         (WebCore::PopupContainer::handleMouseMoveEvent):
112957         (WebCore::PopupContainer::handleMouseReleaseEvent):
112958         (WebCore::PopupContainer::handleWheelEvent):
112959         (WebCore::PopupContainer::handleKeyEvent):
112960
112961 2010-06-25  Tony Gentilcore  <tonyg@chromium.org>
112962
112963         Reviewed by Eric Seidel.
112964
112965         Make PendingScript hold a CachedResourceClient open for its lifetime
112966         https://bugs.webkit.org/show_bug.cgi?id=40968
112967
112968         This replaces the mechanism introduced in r61374 with a simpler
112969         appraoch for preventing unexpected purges: always keep a client open.
112970         This approach will allow deferred scripts to add a client after
112971         the resource may have already been loaded without having to worry about
112972         the buffer being purged in the meantime.
112973
112974         No new tests because making a CachedResource purse itself is not
112975         testable from a LayoutTest.
112976
112977         * html/HTMLDocumentParser.cpp:
112978         (WebCore::HTMLDocumentParser::watchForLoad):
112979         (WebCore::HTMLDocumentParser::notifyFinished):
112980         * html/HTMLScriptRunner.cpp:
112981         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
112982         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
112983         (WebCore::HTMLScriptRunner::isPendingScriptReady):
112984         (WebCore::HTMLScriptRunner::executePendingScript):
112985         (WebCore::HTMLScriptRunner::watchForLoad):
112986         (WebCore::HTMLScriptRunner::stopWatchingForLoad):
112987         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
112988         (WebCore::HTMLScriptRunner::requestScript):
112989         (WebCore::HTMLScriptRunner::PendingScript::~PendingScript):
112990         (WebCore::HTMLScriptRunner::PendingScript::releaseElementAndClear):
112991         (WebCore::HTMLScriptRunner::PendingScript::setCachedScript):
112992         (WebCore::HTMLScriptRunner::PendingScript::cachedScript):
112993         * html/HTMLScriptRunner.h:
112994         (WebCore::HTMLScriptRunner::PendingScript::PendingScript):
112995         (WebCore::HTMLScriptRunner::PendingScript::watchingForLoad):
112996         (WebCore::HTMLScriptRunner::PendingScript::setWatchingForLoad):
112997         (WebCore::HTMLScriptRunner::PendingScript::notifyFinished):
112998         * html/HTMLScriptRunnerHost.h:
112999
113000 2010-06-25  Zhenyao Mo  <zmo@google.com>
113001
113002         Reviewed by Dimitri Glazkov.
113003
113004         getUniform will not work for fetching uniform array elements
113005         https://bugs.webkit.org/show_bug.cgi?id=34508
113006
113007         Test: fast/canvas/webgl/gl-uniform-arrays.html
113008
113009         * html/canvas/WebGLRenderingContext.cpp:
113010         (WebCore::WebGLRenderingContext::attachShader): Generate correct errors.
113011         (WebCore::WebGLRenderingContext::getUniform): Dealing with array elements.
113012         (WebCore::WebGLRenderingContext::useProgram): Deal with program==null.
113013         (WebCore::WebGLRenderingContext::validateProgram): Generate correct errors.
113014         * platform/graphics/mac/GraphicsContext3DMac.mm:
113015         (WebCore::GraphicsContext3D::useProgram): Deal with program==null.
113016
113017 2010-06-25  Zhenyao Mo  <zmo@google.com>
113018
113019         Reviewed by Dimitri Glazkov.
113020
113021         Bring set/get state functions to GLES2 conformance
113022         https://bugs.webkit.org/show_bug.cgi?id=41095
113023
113024         Tests: fast/canvas/webgl/gl-enable-enum-test.html
113025                fast/canvas/webgl/gl-enum-tests.html
113026
113027         * html/canvas/WebGLRenderingContext.cpp: Check input parameters according to GLES2 spec.
113028         (WebCore::WebGLRenderingContext::blendEquation):
113029         (WebCore::WebGLRenderingContext::blendEquationSeparate):
113030         (WebCore::WebGLRenderingContext::disable):
113031         (WebCore::WebGLRenderingContext::enable):
113032         (WebCore::WebGLRenderingContext::hint):
113033         (WebCore::WebGLRenderingContext::isEnabled):
113034         (WebCore::WebGLRenderingContext::pixelStorei):
113035         (WebCore::WebGLRenderingContext::validateBlendEquation):
113036         (WebCore::WebGLRenderingContext::validateCapability):
113037         * html/canvas/WebGLRenderingContext.h: Add helper function declaration.
113038
113039 2010-06-25  Sterling Swigart  <sswigart@google.com>
113040
113041         Reviewed by David Levin.
113042
113043         Callback code generation fixed so that now string parameters are converted to JSString
113044         using the jsString method instead of the toJS method which would not compile.
113045         https://bugs.webkit.org/show_bug.cgi?id=41119
113046         
113047         * bindings/scripts/CodeGeneratorJS.pm: Now generates jsString for String parameters in callbacks.
113048         * bindings/scripts/test/JS/JSTestCallback.cpp: Fixed test for above.
113049         (WebCore::JSTestCallback::callbackWithClass2Param): Ditto.
113050
113051 2010-06-25  Zhenyao Mo  <zmo@google.com>
113052
113053         Reviewed by Dimitri Glazkov.
113054
113055         A buffer should be bound to one target in its lifetime
113056         https://bugs.webkit.org/show_bug.cgi?id=41108
113057
113058         Test: fast/canvas/webgl/buffer-bind-test.html
113059
113060         * html/canvas/WebGLBuffer.cpp:
113061         (WebCore::WebGLBuffer::WebGLBuffer): Init target to 0. 
113062         (WebCore::WebGLBuffer::associateBufferData): Remove target parameter, use one byteLength member.
113063         (WebCore::WebGLBuffer::associateBufferSubData): Ditto.
113064         (WebCore::WebGLBuffer::byteLength): Ditto.
113065         (WebCore::WebGLBuffer::setTarget): Set target.
113066         * html/canvas/WebGLBuffer.h: Cache target in the WebGLBuffer object, use one byteLength member.
113067         (WebCore::WebGLBuffer::getTarget):
113068         * html/canvas/WebGLRenderingContext.cpp:
113069         (WebCore::WebGLRenderingContext::bindBuffer): Check if a buffer is bound to another target; set buffer object internal target.
113070         (WebCore::WebGLRenderingContext::bufferData): Remove target parameter and use the WebGLBuffer cached target instead.
113071         (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
113072         (WebCore::WebGLRenderingContext::validateElementArraySize): Ditto.
113073         (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto.
113074         (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
113075
113076 2010-06-25  Dean Jackson  <dino@apple.com>
113077
113078         Reviewed by Simon Fraser.
113079
113080         https://bugs.webkit.org/show_bug.cgi?id=41188
113081         Animations should not require 0% and 100% keyframes
113082
113083         When we are generating the animation lists in CSSStyleSelector,
113084         rather than bail if we notice that "from" or "to" are missing, we
113085         now generate synthetic keyframes for those cases.
113086
113087         Tests: animations/missing-from-to-transforms.html
113088                animations/missing-from-to.html
113089                WebCore/manual-tests/animation-with-transition.html
113090
113091         * css/CSSStyleSelector.cpp:
113092         (WebCore::CSSStyleSelector::styleForKeyframe):
113093                 Moved individual keyframe generation into a new function.
113094         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
113095                 Call the new function above for regular keyframes, and
113096                 also check for missing keyframes and generate them if
113097                 necessary.
113098         * css/CSSStyleSelector.h:
113099
113100 2010-06-25  Adam Barth  <abarth@webkit.org>
113101
113102         Reviewed by Eric Seidel.
113103
113104         We should parse <html>
113105         https://bugs.webkit.org/show_bug.cgi?id=41239
113106
113107         This patch is hard to test, but I think this patch lets us parse a
113108         document consisting of only an <html> start tag.
113109
113110         * html/HTMLTreeBuilder.cpp:
113111         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
113112         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
113113         (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
113114         (WebCore::HTMLTreeBuilder::processStartTag):
113115         (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
113116         * html/HTMLTreeBuilder.h:
113117         (WebCore::HTMLTreeBuilder::ElementStack::push):
113118
113119 2010-06-25  Dan Bernstein  <mitz@apple.com>
113120
113121         Reviewed by Sam Weinig.
113122
113123         <rdar://problem/8000667> Certain text is repeated before and after a line break
113124
113125         Test: fast/text/bidi-explicit-embedding-past-end.html
113126
113127         * platform/text/BidiResolver.h:
113128         (WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range
113129         creates BidiRuns up to the end of the range, so at that point, we can stop iterating.
113130
113131 2010-06-25  Eric Seidel  <eric@webkit.org>
113132
113133         Reviewed by Adam Barth.
113134
113135         Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
113136         https://bugs.webkit.org/show_bug.cgi?id=41202
113137
113138         Hit the Windoze with the compile bat.
113139
113140         * WebCore.vcproj/WebCore.vcproj:
113141
113142 2010-06-25  Adam Barth  <abarth@webkit.org>
113143
113144         Reviewed by Eric Seidel.
113145
113146         HTMLTreeBuilder should branch first on token type and then on insertion mode
113147         https://bugs.webkit.org/show_bug.cgi?id=41232
113148
113149         This is different than how the spec is written, but it lets us remove a
113150         lot of redudancy in the algorithm.  We might even want to pull some of
113151         the branches on token name outside the insertion mode branch, but I'll
113152         leave that for a future patch.
113153
113154         Although this looks like a big patch, it's mostly just a mechanical
113155         switch permutation.
113156
113157         * html/HTMLTreeBuilder.cpp:
113158         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
113159         (WebCore::HTMLTreeBuilder::processToken):
113160         (WebCore::HTMLTreeBuilder::processDoctypeToken):
113161         (WebCore::HTMLTreeBuilder::processStartTag):
113162         (WebCore::HTMLTreeBuilder::processEndTag):
113163         (WebCore::HTMLTreeBuilder::processComment):
113164         (WebCore::HTMLTreeBuilder::processCharacter):
113165         (WebCore::HTMLTreeBuilder::processEndOfFile):
113166         (WebCore::HTMLTreeBuilder::processDefaultForInitialMode):
113167         (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
113168         (WebCore::HTMLTreeBuilder::processDefaultForBeforeHeadMode):
113169         (WebCore::HTMLTreeBuilder::processDefaultForInHeadMode):
113170         (WebCore::HTMLTreeBuilder::processDefaultForInHeadNoscriptMode):
113171         (WebCore::HTMLTreeBuilder::processDefaultForAfterHeadMode):
113172         * html/HTMLTreeBuilder.h:
113173
113174 2010-06-25  Adam Barth  <abarth@webkit.org>
113175
113176         Reviewed by Darin Adler.
113177
113178         Tree builder doesn't need to return a Node
113179         https://bugs.webkit.org/show_bug.cgi?id=41225
113180
113181         The old tree builder returned the newly inserted Node, but the new tree
113182         builder doesn't need to do that as far as I can tell.  Removing the
113183         return value cuts down on a bunch of accounting.
113184
113185         * html/HTMLTreeBuilder.cpp:
113186         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
113187         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
113188         (WebCore::HTMLTreeBuilder::processToken):
113189         (WebCore::HTMLTreeBuilder::insertDoctype):
113190         (WebCore::HTMLTreeBuilder::insertComment):
113191         (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
113192         (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
113193         (WebCore::HTMLTreeBuilder::insertScriptElement):
113194         * html/HTMLTreeBuilder.h:
113195
113196 2010-06-25  Zhenyao Mo  <zmo@google.com>
113197
113198         Reviewed by Dimitri Glazkov.
113199
113200         getParameter(COLOR_WRITEMASK) needs to return Array
113201         https://bugs.webkit.org/show_bug.cgi?id=40437
113202
113203         * bindings/js/JSWebGLRenderingContextCustom.cpp: Handling bool array.
113204         (WebCore::toJS):
113205         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Handling bool array.
113206         (WebCore::toV8Object):
113207         * html/canvas/WebGLGetInfo.cpp: Handling bool array.
113208         (WebCore::WebGLGetInfo::WebGLGetInfo):
113209         (WebCore::WebGLGetInfo::getBoolArray):
113210         * html/canvas/WebGLGetInfo.h: Handling bool array.
113211         (WebCore::WebGLGetInfo::):
113212         * html/canvas/WebGLRenderingContext.cpp: Handling bool array.
113213         (WebCore::WebGLRenderingContext::getParameter):
113214         (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
113215         * html/canvas/WebGLRenderingContext.h: Handling bool array.
113216
113217 2010-06-25  Evan Stade  <estade@chromium.org>
113218
113219         Reviewed by Darin Fisher.
113220
113221         [chromium linux] Improve look of scrollbars
113222         https://bugs.webkit.org/show_bug.cgi?id=35775
113223
113224         This will affect layout pixel tests, which will need to be rebaselined.
113225
113226         * platform/Scrollbar.cpp: need the buttons to be invalidated when the
113227         thumb moves as they paint differently if the thumb is at the top or
113228         bottom
113229         (WebCore::Scrollbar::updateThumbPosition):
113230         (WebCore::Scrollbar::updateThumbProportion):
113231         * platform/chromium/ScrollbarThemeChromium.cpp:
113232         (WebCore::ScrollbarThemeChromium::trackRect): share code between
113233         linux/windows
113234         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
113235         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
113236         (WebCore::outlineColor): up the contrast
113237         (WebCore::ScrollbarThemeChromiumLinux::paintButton): add custom button
113238         drawing implementation
113239         (WebCore::ScrollbarThemeChromiumLinux::buttonSize): add buttons
113240         * platform/chromium/ScrollbarThemeChromiumWin.cpp: share code between
113241         linux/windows
113242         * rendering/RenderThemeChromiumLinux.cpp: improve stock colors to get
113243         better contrast and integration with stock chrome theme
113244
113245 2010-06-25  Eric Seidel  <eric@webkit.org>
113246
113247         Reviewed by Adam Barth.
113248
113249         Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
113250         https://bugs.webkit.org/show_bug.cgi?id=41202
113251
113252         The silly thing about this patch is that none of the
113253         RawDataDocumentParser subclasses actually use any of the
113254         data passed to them via appendBytes.
113255
113256         This makes the relationship between DocumentWriter and
113257         DocumentParser slightly more confusing, however I think this
113258         DocumentParser API is slightly nicer.
113259
113260         Next step is to split DecodedDataDocumentParser out from
113261         DocumentParser, and then the base DocumentParser won't know
113262         anything about decoding or SegmentedString.
113263
113264         No functional change, thus no tests.
113265
113266         * WebCore.xcodeproj/project.pbxproj:
113267         * dom/DocumentParser.h:
113268         * dom/RawDataDocumentParser.h:
113269         * loader/DocumentWriter.cpp:
113270         (WebCore::DocumentWriter::replaceDocument):
113271         (WebCore::DocumentWriter::createDecoderIfNeeded):
113272         (WebCore::DocumentWriter::reportDataRecieved):
113273         (WebCore::DocumentWriter::addData):
113274         * loader/DocumentWriter.h:
113275         * loader/ImageDocument.cpp:
113276         (WebCore::ImageDocumentParser::appendBytes):
113277         * loader/MediaDocument.cpp:
113278         (WebCore::MediaDocumentParser::appendBytes):
113279         * loader/PluginDocument.cpp:
113280         (WebCore::PluginDocumentParser::appendBytes):
113281         * loader/SinkDocument.cpp:
113282         (WebCore::SinkDocumentParser::SinkDocumentParser):
113283         (WebCore::SinkDocumentParser::appendBytes):
113284         (WebCore::SinkDocument::createParser):
113285
113286 2010-06-25  Eric Seidel  <eric@webkit.org>
113287
113288         Reviewed by Adam Barth.
113289
113290         Split DocumentParser::write into separate append and insert calls
113291         https://bugs.webkit.org/show_bug.cgi?id=41197
113292
113293         Unfortunately this is still somewhat confusing as
113294         "insert" means "insert this data at the current
113295         insertion point and run the parser synchronously
113296         unless we're in a nested write call" and "append"
113297         means "append this data to the end and run the
113298         parser if not in a nested call or until possibly yielding".
113299
113300         This at least makes clearer which document parsers implement
113301         which behavior, and paves the way for moving the decoding
113302         logic into DocumentParser from DocumentWriter.
113303
113304         No functional changes, thus no tests.
113305
113306         * dom/Document.cpp:
113307         (WebCore::Document::write):
113308         * dom/DocumentParser.h:
113309         * dom/RawDataDocumentParser.h:
113310         (WebCore::RawDataDocumentParser::insert):
113311         (WebCore::RawDataDocumentParser::append):
113312         * dom/XMLDocumentParser.cpp:
113313         (WebCore::XMLDocumentParser::insert):
113314         (WebCore::XMLDocumentParser::append):
113315         * dom/XMLDocumentParser.h:
113316         * dom/XMLDocumentParserLibxml2.cpp:
113317         (WebCore::XMLDocumentParser::resumeParsing):
113318         * html/HTMLDocumentParser.cpp:
113319         (WebCore::HTMLDocumentParser::insert):
113320         (WebCore::HTMLDocumentParser::append):
113321         (WebCore::HTMLDocumentParser::parseDocumentFragment):
113322         * html/HTMLDocumentParser.h:
113323         * html/LegacyHTMLDocumentParser.cpp:
113324         (WebCore::LegacyHTMLDocumentParser::insert):
113325         (WebCore::LegacyHTMLDocumentParser::append):
113326         * html/LegacyHTMLDocumentParser.h:
113327         * loader/DocumentWriter.cpp:
113328         (WebCore::DocumentWriter::replaceDocument):
113329         (WebCore::DocumentWriter::addData):
113330         * loader/FTPDirectoryDocument.cpp:
113331         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
113332         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
113333         (WebCore::FTPDirectoryDocumentParser::append):
113334         * loader/TextDocument.cpp:
113335         (WebCore::TextDocumentParser::insert):
113336         (WebCore::TextDocumentParser::append):
113337         (WebCore::TextDocumentParser::finish):
113338
113339 2010-06-25  Daniel Cheng  <dcheng@chromium.org>
113340
113341         Reviewed by Darin Fisher.
113342
113343         [chromium] Add new stubs for querying platform drag-and-drop and copy-and-paste data.
113344
113345         This change adds new stubs for querying for data in a clipboard or drag operation. This is
113346         so adding support for more data types in clipboard/drag operations doesn't become
113347         increasingly expensive, since we currently copy all the drag data we need every time a new
113348         web drop target is entered. It also adds a new mechanism to write back to the system
113349         clipboard that isn't tied to one data type.
113350
113351         https://bugs.webkit.org/show_bug.cgi?id=40540
113352
113353         No new tests since we're just adding new ChromiumBridge APIs. When we switch to it, it will
113354         be covered by the existing tests.
113355
113356         * platform/chromium/ChromiumBridge.h:
113357         * platform/chromium/PasteboardPrivate.h:
113358         (WebCore::PasteboardPrivate::):
113359
113360 2010-06-25  Mario Sanchez Prada  <msanchez@igalia.com>
113361
113362         Reviewed by Xan Lopez.
113363
113364         [Gtk] Implement atk_table_get_column_header
113365         https://bugs.webkit.org/show_bug.cgi?id=30896
113366
113367         Implemented get_column_header and modified get_row_header
113368         accordingly to keep them both coherent among themselves.
113369         Based on a previous patch by Joanmarie Diggs.
113370
113371         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
113372         (webkit_accessible_table_get_column_header):
113373         (webkit_accessible_table_get_row_header):
113374
113375 2010-06-29  Martin Robinson  <mrobinson@igalia.com>
113376
113377         Reviewed by Xan Lopez.
113378
113379         [GTK] Pasteboard code does not take into account the nil character when getting and setting markup/netscape-url data
113380         https://bugs.webkit.org/show_bug.cgi?id=41221
113381
113382         Take into account null-terminator when getting and setting markup and
113383         Netscape URL pasteboard types. This means that if the selection data
113384         contains the null terminator, it won't be included in the final String.
113385         When setting the pasteboard data the null terminator is now included to
113386         match the behavior of other applications.
113387
113388         * platform/gtk/PasteboardHelper.cpp:
113389         (WebCore::PasteboardHelper::getClipboardContents):
113390         Create the markup string after using g_strndup to protect against non-null-terminated
113391         strings. Use String::fromUTF8 here to ensure that the string is not longer than the
113392         first null-terminator. Also fix a small indentation issue.
113393         (WebCore::PasteboardHelper::fillSelectionData):
113394         Always include the null-terminator when setting pasteboard data manually. This matches
113395         the behavior of other browser applications.
113396
113397 2010-06-25  Sam Magnuson  <smagnuson@netflix.com>
113398
113399         Reviewed by Kenneth Rohde Christiansen.
113400
113401         [Qt] When any geometry change happens to a node it will resize the
113402         backing cache
113403         https://bugs.webkit.org/show_bug.cgi?id=40378
113404
113405         Continue to grow the cache, but never toss it. When the pixmap
113406         cache gets too big it will be lost and created at the right size
113407         next time.
113408
113409         No new tests: this is an optimization.
113410
113411         * platform/graphics/qt/GraphicsLayerQt.cpp:
113412         (WebCore::GraphicsLayerQtImpl::recache):
113413         (WebCore::GraphicsLayerQtImpl::paint):
113414         (WebCore::GraphicsLayerQtImpl::flushChanges):
113415
113416 2010-06-25  Andreas Kling  <andreas.kling@nokia.com>
113417
113418         Reviewed by Darin Adler.
113419
113420         https://bugs.webkit.org/show_bug.cgi?id=41019
113421         Canvas: Remember verified clean origins for drawImage()
113422
113423         Made CanvasRenderingContext2D cache the KURLs of clean origins
113424         for fast repeated lookup.
113425
113426         * html/canvas/CanvasRenderingContext2D.cpp:
113427         (WebCore::CanvasRenderingContext2D::checkOrigin):
113428         * html/canvas/CanvasRenderingContext2D.h:
113429
113430 2010-06-25  Robert Hogan  <robert@webkit.org>
113431
113432         Reviewed by Kenneth Rohde Christiansen.
113433
113434         [Qt] HTTP 307 after a 303 after a POST re-sends POST data from the original request
113435
113436         https://bugs.webkit.org/show_bug.cgi?id=35301
113437
113438         Qt needs to use ResourceRequest::request()->httpMethod()) in order to determine
113439         the appropriate method for a 307 redirect request.
113440
113441         When deciding if it needs to override a POST method with a GET method during a
113442         redirect chain, QNetworkReplyHandler needs to check the HTTP method stored
113443         in ResourceRequest::request()->httpMethod(). This will always contain the
113444         original request method in a redirect chain and, more importantly, is the
113445         method that will be used for the request created from the redirect
113446         if it is not overridden.
113447
113448         * platform/network/qt/QNetworkReplyHandler.cpp:
113449         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
113450
113451 2010-06-25  Dan Bernstein  <mitz@apple.com>
113452
113453         Reviewed by Anders Carlsson.
113454
113455         Removed a one-line method that only had one internal caller.
113456
113457         * rendering/RenderBlock.h: Removed bidiReorderLine()
113458         * rendering/RenderBlockLineLayout.cpp:
113459         (WebCore::RenderBlock::layoutInlineChildren): Moved the implementation of
113460         bidiReorderLine() inline here.
113461
113462 2010-06-25  Nate Chapin  <japhet@chromium.org>
113463
113464         Reviewed by Adam Barth.
113465
113466         Take a KURL parameter in Document's constructor.
113467         This will remove the one case where Document::url() 
113468         and FrameLoader::url() are not equal, allowing us to
113469         remove FrameLoader::url().
113470
113471         https://bugs.webkit.org/show_bug.cgi?id=41166
113472
113473         Refactor only, no new tests.
113474
113475         * dom/DOMImplementation.cpp:
113476         (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
113477         (WebCore::DOMImplementation::createHTMLDocument):
113478         * dom/DOMImplementation.h:
113479         * dom/Document.cpp:
113480         (WebCore::Document::Document): Call setURL() if a frame or a non-empty KURL is specified.
113481         (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
113482             of m_frame->loader()->url() for initializing the SecurityOrigin.
113483         * dom/Document.h:
113484         (WebCore::Document::create):
113485         (WebCore::Document::createXHTML):
113486         * html/HTMLDocument.cpp:
113487         * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
113488         * html/HTMLViewSourceDocument.cpp:
113489         * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
113490         * loader/CachedFont.cpp:
113491         (WebCore::CachedFont::ensureSVGFontData):
113492         * loader/DocumentWriter.cpp:
113493         (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
113494         (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
113495             redundant Document::setURL() call.
113496         * loader/DocumentWriter.h:
113497         * loader/FTPDirectoryDocument.cpp:
113498         * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
113499         * loader/ImageDocument.cpp:
113500         * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
113501         * loader/MediaDocument.cpp:
113502         * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
113503         * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
113504         * loader/PluginDocument.cpp:
113505         * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
113506         * loader/SinkDocument.cpp:
113507         * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
113508         * loader/TextDocument.cpp:
113509         * loader/TextDocument.h: Add KURL parameter to create() and constructor.
113510         * svg/SVGDocument.cpp:
113511         * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
113512         * xml/DOMParser.cpp:
113513         (WebCore::DOMParser::parseFromString):
113514         * xml/XMLHttpRequest.cpp:
113515         (WebCore::XMLHttpRequest::responseXML):
113516         * xml/XSLTProcessor.cpp:
113517         (WebCore::XSLTProcessor::createDocumentFromSource):
113518
113519 2010-06-25  Sheriff Bot  <webkit.review.bot@gmail.com>
113520
113521         Unreviewed, rolling out r61812.
113522         http://trac.webkit.org/changeset/61812
113523         https://bugs.webkit.org/show_bug.cgi?id=41216
113524
113525         breaks Chromium workers tests (Requested by mnaganov on
113526         #webkit).
113527
113528         * storage/AbstractDatabase.cpp:
113529         * storage/AbstractDatabase.h:
113530         * storage/Database.cpp:
113531         (WebCore::Database::databaseInfoTableName):
113532         (WebCore::guidMutex):
113533         (WebCore::guidToVersionMap):
113534         (WebCore::updateGuidVersionMap):
113535         (WebCore::guidToDatabaseMap):
113536         (WebCore::databaseVersionKey):
113537         (WebCore::DatabaseCreationCallbackTask::create):
113538         (WebCore::DatabaseCreationCallbackTask::performTask):
113539         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
113540         (WebCore::Database::openDatabase):
113541         (WebCore::Database::Database):
113542         (WebCore::Database::openAndVerifyVersion):
113543         (WebCore::retrieveTextResultFromDatabase):
113544         (WebCore::Database::getVersionFromDatabase):
113545         (WebCore::setTextValueInDatabase):
113546         (WebCore::Database::setVersionInDatabase):
113547         (WebCore::Database::versionMatchesExpected):
113548         (WebCore::Database::close):
113549         (WebCore::Database::disableAuthorizer):
113550         (WebCore::Database::enableAuthorizer):
113551         (WebCore::Database::setAuthorizerReadOnly):
113552         (WebCore::Database::lastActionChangedDatabase):
113553         (WebCore::Database::lastActionWasInsert):
113554         (WebCore::Database::resetDeletes):
113555         (WebCore::Database::hadDeletes):
113556         (WebCore::guidForOriginAndName):
113557         (WebCore::Database::resetAuthorizer):
113558         (WebCore::Database::performOpenAndVerify):
113559         (WebCore::Database::performCreationCallback):
113560         (WebCore::Database::version):
113561         (WebCore::Database::setExpectedVersion):
113562         (WebCore::Database::stringIdentifier):
113563         (WebCore::Database::displayName):
113564         (WebCore::Database::estimatedSize):
113565         (WebCore::Database::fileName):
113566         * storage/Database.h:
113567         (WebCore::Database::scriptExecutionContext):
113568         (WebCore::Database::opened):
113569         (WebCore::Database::isNew):
113570         (WebCore::Database::databaseDebugName):
113571         * storage/DatabaseAuthorizer.cpp:
113572         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
113573         (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
113574         * storage/DatabaseAuthorizer.h:
113575         (WebCore::DatabaseAuthorizer::create):
113576         * storage/DatabaseSync.cpp:
113577         (WebCore::DatabaseSync::databaseInfoTableName):
113578         (WebCore::DatabaseSync::openDatabaseSync):
113579         (WebCore::DatabaseSync::DatabaseSync):
113580         (WebCore::DatabaseSync::~DatabaseSync):
113581         (WebCore::DatabaseSync::version):
113582         (WebCore::DatabaseSync::changeVersion):
113583         (WebCore::DatabaseSync::transaction):
113584         (WebCore::DatabaseSync::scriptExecutionContext):
113585         * storage/DatabaseSync.h:
113586         (WebCore::DatabaseSync::databaseDebugName):
113587         * storage/DatabaseTask.cpp:
113588         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
113589         (WebCore::DatabaseOpenTask::doPerformTask):
113590         * storage/DatabaseTask.h:
113591         (WebCore::DatabaseOpenTask::create):
113592
113593 2010-06-25  Lei Zheng  <lzheng@chromium.org>
113594
113595         Reviewed by Dimitri Glazkov.
113596
113597         Add a flag to the ResourceResponse for tracking if a request was fetched when
113598         Alternate-protocol is available.
113599         https://bugs.webkit.org/show_bug.cgi?id=41001
113600
113601         No new tests. (This is just a setter and getter.)
113602
113603         * platform/network/chromium/ResourceResponse.h:
113604         (WebCore::ResourceResponse::ResourceResponse):
113605         (WebCore::ResourceResponse::wasAlternateProtocolAvailable):
113606         (WebCore::ResourceResponse::setWasAlternateProtocolAvailable):
113607
113608 2010-06-25  Lyon Chen  <liachen@rim.com>
113609
113610         Reviewed by Darin Adler.
113611
113612         InspectorCSSStore.cpp is not surrounded with ENABLE(INSPECTOR)
113613         https://bugs.webkit.org/show_bug.cgi?id=41004
113614
113615         Surround InspectorCSSStore.cpp code with ENABLE(INSPECTOR) so it will not
113616         break the build when INSPECTOR is disabled.
113617
113618         * inspector/InspectorCSSStore.cpp:
113619
113620 2010-06-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
113621
113622         Reviewed by Simon Hausmann.
113623
113624         [Qt] WebGL: missing file
113625         https://bugs.webkit.org/show_bug.cgi?id=40998
113626
113627         Added a missing file to WebCore.pro
113628
113629         No new tests; build fix
113630
113631         * WebCore.pro:
113632
113633 2010-06-25  Adam Roben  <aroben@apple.com>
113634
113635         Windows build fix
113636
113637         * WebCore.vcproj/WebCore.vcproj: Added a missing </File> tag.
113638
113639 2010-06-25  Alex Milowski  <alex@milowski.com>
113640
113641         Reviewed by Kenneth Rohde Christiansen.
113642
113643         This patch changes the vertical alignment to rely upon baseline
113644         alignment for all MathML rendering.  This fixes a number of layout
113645         issues and the implementation is much more clean.
113646
113647         Also, this patch adds a horizontal green line in the debug layout
113648         so you can see the top padding of any RenderMathMLBlock instance.
113649
113650         Test: mathml/presentation/row-alignment.xhtml
113651
113652         * css/mathml.css:
113653         * mathml/RenderMathMLBlock.cpp:
113654         * mathml/RenderMathMLFraction.cpp:
113655         * mathml/RenderMathMLFraction.h:
113656         * mathml/RenderMathMLOperator.cpp:
113657         * mathml/RenderMathMLOperator.h:
113658         * mathml/RenderMathMLRoot.cpp:
113659         * mathml/RenderMathMLRow.cpp:
113660         * mathml/RenderMathMLRow.h:
113661         * mathml/RenderMathMLSquareRoot.cpp:
113662         * mathml/RenderMathMLSubSup.cpp:
113663         * mathml/RenderMathMLUnderOver.cpp:
113664
113665 2010-06-25  Yury Semikhatsky  <yurys@chromium.org>
113666
113667         Reviewed by Pavel Feldman.
113668
113669         Can't see source when hitting debugger statement in evaled source
113670         https://bugs.webkit.org/show_bug.cgi?id=41058
113671
113672         Test: inspector/debugger-pause-in-eval-script.html
113673
113674         * bindings/js/ScriptDebugServer.cpp:
113675         (WebCore::ScriptDebugServer::sourceParsed): use lexical global object to figure out
113676         where the script is compiled. Otherwise scripts typed in Web Inspector console will
113677         be treated as ones evaluated in the context of Web Inspector and won't appear in the
113678         scripts list.
113679         * inspector/InspectorController.cpp:
113680         (WebCore::InspectorController::didParseSource): cache script sources for eval's too.
113681
113682 2010-06-25  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
113683
113684         Reviewed by Kenneth Rohde Christiansen.
113685
113686         [EFL] Use a descriptive string in FileChooser when multiple files can
113687         be selected.
113688         https://bugs.webkit.org/show_bug.cgi?id=40943
113689
113690         EFL port has no tests yet, so no new tests.
113691
113692         * platform/efl/FileChooserEfl.cpp:
113693         (WebCore::FileChooser::basenameForWidth):
113694
113695 2010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
113696
113697         Reviewed by Dirk Schulze.
113698
113699         SVG Text Highlighting not yet supported (in Safari)
113700         https://bugs.webkit.org/show_bug.cgi?id=41200
113701
113702         Add text match marker highlighting support for SVG text - searching for SVG text in Safari now paints the nice yellow highlighting rect, and the
113703         white rectangles for all text matches. Behaves exactly like HTML text, but respecting SVGs per-character/per-chunk transformations,
113704         allowing to highlight textPaths, tspans with absolute per-character positions etc..
113705
113706         Only manually testable, thus no new tests.
113707
113708         * rendering/InlineBox.h: Expose calculateBoundaries() in non-SVG builds as well, now used by InlineTextBox too.
113709         * rendering/InlineTextBox.h: Add calculateBoundaries(), which will be used to refactor some code in RenderText, see below.
113710         (WebCore::InlineTextBox::calculateBoundaries): Just return a IntRect(x(), y(), width(), height()) here.
113711         (WebCore::RenderObject::isSVGInlineText):
113712         * rendering/RenderSVGInlineText.h:
113713         (WebCore::RenderSVGInlineText::isSVGInlineText): Return true for isSVGInlineText(), return false for isSVGText() (default in RenderObject.h)
113714         * rendering/RenderSVGRoot.cpp:
113715         (WebCore::RenderSVGRoot::paint): Only paint box decorations in PaintPhase(Child)BlockBackground, exit afterwards just like RenderBlock does.
113716                                          Otherwise the white text match marker rectangle gets drawn over the yellow highlight that Safari draws. 
113717         * rendering/RenderSVGText.cpp:
113718         (WebCore::RenderSVGText::paint): Accept a new painting phase: PaintPhaseSelection, used by Safari when drawing the yellow highlight rect.
113719         * rendering/RenderText.cpp:
113720         (WebCore::RenderText::absoluteQuads): Use calculateBoundaries() instead of IntRect(x(), y(), width(), height()). SVG provides different boundaries here.
113721         (WebCore::RenderText::absoluteQuadsForRange): Ditto. This is the main change, leading to correct text highlight placement.
113722         * rendering/SVGInlineFlowBox.cpp: Add assertion that painting is not disabled, for consistency. Change paint phase assertion to include PaintPhaseSelection.
113723         (WebCore::SVGInlineFlowBox::paint):
113724         * rendering/SVGInlineTextBox.cpp:
113725         (WebCore::SVGInlineTextBox::selectionRectForTextChunkPart): Refactored from selectionRect(), to share code between selectionRect/computeTextMatchMarkerRect.
113726         (WebCore::SVGInlineTextBox::selectionRect): Use new helper function selectionRectForTextChunkPart().
113727         (WebCore::SVGInlineTextBox::paint): Ditto. Call new computeTextMatchMarkerRect() function.
113728         (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Implemented similar to HTML, but respecting SVGs concept of text chunk parts.
113729         (WebCore::SVGInlineTextBox::paintText): In PaintPhaseSelection, only paint selected text, not anything before/after the selection start/end.
113730         (WebCore::SVGInlineTextBox::calculateBoundaries): Early exit, if m_chunkTransformation is identity.
113731         * rendering/SVGInlineTextBox.h: Added "bool paintSelectedTextOnly" to paintText() and add new computeTextMatchMarkerRect(RenderStyle*) function.
113732         * rendering/SVGRootInlineBox.cpp:
113733         (WebCore::SVGRootInlineBox::paint): Change paint phase assertion to include PaintPhaseSelection.
113734
113735 2010-06-25  John Gregg  <johnnyg@google.com>
113736
113737         Reviewed by Darin Fisher.
113738
113739         Notification should expose ltr/rtl as TextDirection, not String
113740         https://bugs.webkit.org/show_bug.cgi?id=40871
113741
113742         No new tests; existing test covers this, just renaming a method.
113743
113744         * notifications/Notification.h:
113745         (WebCore::Notification::direction):
113746
113747 2010-06-25  Sheriff Bot  <webkit.review.bot@gmail.com>
113748
113749         Unreviewed, rolling out r61842.
113750         http://trac.webkit.org/changeset/61842
113751         https://bugs.webkit.org/show_bug.cgi?id=41208
113752
113753         It broke Windows build (Requested by Ossy_ on #webkit).
113754
113755         * ForwardingHeaders/wtf/win/OwnPtrWin.h: Removed.
113756
113757 2010-06-25  Patrick Gansterer  <paroga@paroga.com>
113758
113759         Reviewed by Darin Adler.
113760
113761         Remove unneeded whitespace from svgtags.in.
113762         https://bugs.webkit.org/show_bug.cgi?id=40912
113763
113764         make_names.pl throws an error at non-empty lines
113765         when using cl.exe as preprocessor.
113766
113767         * svg/svgtags.in:
113768
113769 2010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
113770
113771         Reviewed by Rob Buis.
113772
113773         Split up isSVGText() in isSVGText() / isSVGInlineText()
113774         https://bugs.webkit.org/show_bug.cgi?id=41204
113775
113776         Introduce isSVGInlineText(), to provide a safe mechanism to differentiate between RenderSVGText / RenderSVGInlineText.
113777         No change in functionality, thus no new tests.
113778
113779         * rendering/RenderBlockLineLayout.cpp:
113780         (WebCore::shouldPreserveNewline): s/isSVGText/isSVGInlineText/
113781         (WebCore::RenderBlock::findNextLineBreak): Ditto.
113782         * rendering/RenderObject.h:
113783         (WebCore::RenderObject::isSVGInlineText): Return false, by default.
113784         * rendering/RenderSVGInlineText.h:
113785         (WebCore::RenderSVGInlineText::isSVGInlineText): Return true here, don't return true anymore for isSVGText().
113786         * rendering/RenderText.cpp:
113787         (WebCore::RenderText::setTextInternal): s/isSVGText/isSVGInlineText/
113788         * rendering/RenderTreeAsText.cpp: Remove hack, now that we can properly differentiate between RenderSVGText / RenderSVGInlineText.
113789         (WebCore::write):
113790
113791 2010-06-25  Kwang Yul Seo  <skyul@company100.net>
113792
113793         Reviewed by Adam Barth.
113794
113795         Change OwnPtrCommon to include platform-specific headers
113796         https://bugs.webkit.org/show_bug.cgi?id=40279
113797
113798         Adding new type to OwnPtrCommon needlessly causes all ports to do full rebuilds.
113799         Change OwnPtrCommon to include platform-specific headers to avoid all ports rebuilds.
113800
113801         * ForwardingHeaders/wtf/win: Added.
113802         * ForwardingHeaders/wtf/win/OwnPtrWin.h: Added.
113803
113804 2010-06-25  Patrick Gansterer  <paroga@paroga.com>
113805
113806         Reviewed by Adam Barth.
113807
113808         Implement TextCodecs for WinCE port.
113809         https://bugs.webkit.org/show_bug.cgi?id=32169
113810         Originally written by Yong Li <yong.li@torchmobile.com>
113811
113812         * platform/graphics/FontCache.h:
113813         * platform/graphics/wince/FontCacheWince.cpp:
113814         (WebCore::FontCache::getMultiLanguageInterface):
113815         * platform/text/wince/TextCodecWinCE.cpp: Added.
113816         (WebCore::codePageCharsets):
113817         (WebCore::knownCharsets):
113818         (WebCore::supportedCharsets):
113819         (WebCore::languageManager):
113820         (WebCore::addCharset):
113821         (WebCore::LanguageManager::LanguageManager):
113822         (WebCore::getCodePage):
113823         (WebCore::newTextCodecWinCE):
113824         (WebCore::TextCodecWinCE::TextCodecWinCE):
113825         (WebCore::TextCodecWinCE::~TextCodecWinCE):
113826         (WebCore::TextCodecWinCE::registerBaseEncodingNames):
113827         (WebCore::TextCodecWinCE::registerBaseCodecs):
113828         (WebCore::TextCodecWinCE::registerExtendedEncodingNames):
113829         (WebCore::TextCodecWinCE::registerExtendedCodecs):
113830         (WebCore::getCodePageFlags):
113831         (WebCore::findFirstNonAsciiCharacter):
113832         (WebCore::decode):
113833         (WebCore::TextCodecWinCE::decode):
113834         (WebCore::TextCodecWinCE::encode):
113835         (WebCore::TextCodecWinCE::enumerateSupportedEncodings):
113836         * platform/text/wince/TextCodecWinCE.h: Added.
113837
113838 2010-06-24  Rob Buis  <rwlbuis@gmail.com>
113839
113840         Reviewed by Dirk Schulze.
113841
113842         Bug 40880 - SVG properties fill and stroke do not accept system colors
113843         https://bugs.webkit.org/show_bug.cgi?id=40880
113844
113845         Handle css system colors in fill and stroke properties.
113846
113847         Test: svg/css/rect-system-color.xhtml
113848
113849         * css/CSSParser.cpp: Remove comment and unneeded if condition
113850         (WebCore::CSSParser::parseValue):
113851         * css/SVGCSSParser.cpp: Allow css system colors
113852         (WebCore::CSSParser::parseSVGValue):
113853
113854 2010-06-24  Eric Seidel  <eric@webkit.org>
113855
113856         Reviewed by Adam Barth.
113857
113858         Make DocumentParser API private on subclasses to catch misuse bugs
113859         https://bugs.webkit.org/show_bug.cgi?id=41186
113860
113861         This already found one bug:
113862         https://bugs.webkit.org/show_bug.cgi?id=41187
113863
113864         Added a new HTMLDocumentParaser::parseDocumentFragment so that
113865         DocumentFragment.cpp does not need to use private methods.
113866
113867         * dom/DocumentFragment.cpp:
113868         (WebCore::DocumentFragment::parseHTML):
113869         * dom/XMLDocumentParser.h:
113870         (WebCore::XMLDocumentParser::setIsXHTMLDocument):
113871         (WebCore::XMLDocumentParser::isXHTMLDocument):
113872         (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
113873         (WebCore::XMLDocumentParser::isXHTMLMPDocument):
113874         * html/HTMLDocumentParser.cpp:
113875         (WebCore::HTMLDocumentParser::parseDocumentFragment):
113876         * html/HTMLDocumentParser.h:
113877         * html/LegacyHTMLDocumentParser.cpp:
113878         (WebCore::LegacyHTMLDocumentParser::parseDocumentFragment):
113879         * html/LegacyHTMLDocumentParser.h:
113880         (WebCore::LegacyHTMLDocumentParser::forceSynchronous):
113881         (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
113882         * html/LegacyHTMLTreeBuilder.cpp:
113883         (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
113884         * loader/DocumentWriter.cpp:
113885         (WebCore::DocumentWriter::replaceDocument):
113886         * loader/TextDocument.cpp:
113887
113888 2010-05-28  Philippe Normand  <pnormand@igalia.com>
113889
113890         Reviewed by Gustavo Noronha.
113891
113892         [GStreamer] multiple video sink support
113893         https://bugs.webkit.org/show_bug.cgi?id=39472
113894
113895         Playbin2 video-sink is now a bin containing a tee element capable
113896         of dispatching the buffers to multiple video sinks. By default
113897         only our webkit video sink is used. This will allow
113898         GStreamerGWorld to add support for autovideosink in the future.
113899
113900         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
113901         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
113902         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
113903         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
113904         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
113905         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
113906
113907 2010-06-24  Adam Barth  <abarth@webkit.org>
113908
113909         Reviewed by Eric Seidel.
113910
113911         Sketch out AfterHeadMode for tree builder
113912         https://bugs.webkit.org/show_bug.cgi?id=41191
113913
113914         This mode is fairly similar to the others.  I needed to change some of
113915         the types around w.r.t. Nodes/Elements.
113916
113917         * html/HTMLTreeBuilder.cpp:
113918         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
113919         (WebCore::HTMLTreeBuilder::processToken):
113920         (WebCore::HTMLTreeBuilder::insertElement):
113921         * html/HTMLTreeBuilder.h:
113922         (WebCore::HTMLTreeBuilder::ElementStack::push):
113923         (WebCore::HTMLTreeBuilder::ElementStack::remove):
113924
113925 2010-06-24  Adam Barth  <abarth@webkit.org>
113926
113927         Reviewed by Eric Seidel.
113928
113929         Sketch out InHeadNoscriptMode for tree builder
113930         https://bugs.webkit.org/show_bug.cgi?id=41189
113931
113932         Lots of notImplemented() calls in this state.  I need to figure how to
113933         delegate handling of a token from one state to another.
113934
113935         * html/HTMLTreeBuilder.cpp:
113936         (WebCore::HTMLTreeBuilder::processToken):
113937
113938 2010-06-24  Adam Barth  <abarth@webkit.org>
113939
113940         Reviewed by Eric Seidel.
113941
113942         Sketch out InHeadMode for tree builder
113943         https://bugs.webkit.org/show_bug.cgi?id=41184
113944
113945         This state is relatively straightforward.  We introduce the stack of
113946         open elements to track that notion in the spec.  The old tree builder
113947         has a nice data structure for that, which we'll probably steal, but I'd
113948         like to see what the full API is first.
113949
113950         * html/HTMLTreeBuilder.cpp:
113951         (WebCore::HTMLTreeBuilder::processToken):
113952         (WebCore::HTMLTreeBuilder::insertCharacter):
113953         (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
113954         (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
113955         (WebCore::HTMLTreeBuilder::insertScriptElement):
113956         * html/HTMLTreeBuilder.h:
113957         (WebCore::HTMLTreeBuilder::ElementStack::pop):
113958         (WebCore::HTMLTreeBuilder::ElementStack::top):
113959
113960 2010-06-24  Adam Barth  <abarth@webkit.org>
113961
113962         Reviewed by Eric Seidel.
113963
113964         Sketch out BeforeHeadMode tree builder state
113965         https://bugs.webkit.org/show_bug.cgi?id=41183
113966
113967         This makes procesToken recursive, which might not be the best idea.
113968         Also, we can now make fake AtomicHTMLTokens for use by the algorithm.
113969
113970         * html/HTMLToken.h:
113971         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
113972         * html/HTMLTreeBuilder.cpp:
113973         (WebCore::HTMLTreeBuilder::processToken):
113974         (WebCore::HTMLTreeBuilder::insertElement):
113975         * html/HTMLTreeBuilder.h:
113976
113977 2010-06-22 Antonio Gomes <tonikitoo@webkit.org>
113978
113979         Reviewed by David Hyatt.
113980
113981         Add a NodeList-derivated wrapper class for a ListHashSet.
113982         https://bugs.webkit.org/show_bug.cgi?id=41081
113983
113984         StaticHashSetList will work as a wrapper to ListHashSet objects that are
113985         aimed to be exposed to the DOM.
113986
113987         As a use case, the rect based HitTest (bug 40197) will store the retrieved nodes
113988         in a ListHashSet. It is going to be exposed to the DOM through are nodesFromRect
113989         of Document returning a NodeList (i.e. StatisHashSetList) wrapping a ListHashSet.
113990
113991         No new tests.
113992
113993 2010-06-24  Cris Neckar  <cdn@chromium.org>
113994
113995         Reviewed by Darin Fisher.
113996
113997         [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
113998         https://bugs.webkit.org/show_bug.cgi?id=40798
113999
114000         Catches error in row callback for libPNG when extra rows are returned.
114001
114002         Test: fast/images/png-extra-row-crash.html
114003
114004         * platform/image-decoders/png/PNGImageDecoder.cpp:
114005         (WebCore::PNGImageDecoder::rowAvailable):
114006
114007 2010-06-24  Eric Seidel  <eric@webkit.org>
114008
114009         Reviewed by Adam Barth.
114010
114011         Clean up and document DocumentWriter::replaceDocument code path
114012         https://bugs.webkit.org/show_bug.cgi?id=41182
114013
114014         No functional changes, thus no tests.
114015
114016         * loader/DocumentWriter.cpp:
114017         (WebCore::DocumentWriter::replaceDocument):
114018          - Remove comment which could be misleading.
114019
114020 2010-06-23  Dumitru Daniliuc  <dumi@chromium.org>
114021
114022         Reviewed by Adam Barth.
114023
114024         Implementing DatabaseSync::openDatabaseSync().
114025         https://bugs.webkit.org/show_bug.cgi?id=40607
114026
114027         Moved some common code from Database to AbstractDatabase. Made
114028         performOpenAndVerify() virtual, since DatabaseSync doesn't need to
114029         interact with DatabaseThread. Removed the m_creationCallback
114030         field, since it's only needed in the openDatabase{Sync} methods.
114031
114032         * storage/AbstractDatabase.cpp:
114033         (WebCore::retrieveTextResultFromDatabase):
114034         (WebCore::setTextValueInDatabase):
114035         (WebCore::guidMutex):
114036         (WebCore::guidToVersionMap):
114037         (WebCore::updateGuidVersionMap):
114038         (WebCore::guidToDatabaseMap):
114039         (WebCore::guidForOriginAndName):
114040         (WebCore::AbstractDatabase::databaseInfoTableName):
114041         (WebCore::AbstractDatabase::AbstractDatabase):
114042         (WebCore::AbstractDatabase::closeDatabase):
114043         (WebCore::AbstractDatabase::version):
114044         (WebCore::AbstractDatabase::performOpenAndVerify):
114045         (WebCore::AbstractDatabase::scriptExecutionContext):
114046         (WebCore::AbstractDatabase::securityOrigin):
114047         (WebCore::AbstractDatabase::stringIdentifier):
114048         (WebCore::AbstractDatabase::displayName):
114049         (WebCore::AbstractDatabase::estimatedSize):
114050         (WebCore::AbstractDatabase::fileName):
114051         (WebCore::AbstractDatabase::databaseVersionKey):
114052         (WebCore::AbstractDatabase::getVersionFromDatabase):
114053         (WebCore::AbstractDatabase::setVersionInDatabase):
114054         (WebCore::AbstractDatabase::versionMatchesExpected):
114055         (WebCore::AbstractDatabase::setExpectedVersion):
114056         (WebCore::AbstractDatabase::disableAuthorizer):
114057         (WebCore::AbstractDatabase::enableAuthorizer):
114058         (WebCore::AbstractDatabase::setAuthorizerReadOnly):
114059         (WebCore::AbstractDatabase::lastActionChangedDatabase):
114060         (WebCore::AbstractDatabase::lastActionWasInsert):
114061         (WebCore::AbstractDatabase::resetDeletes):
114062         (WebCore::AbstractDatabase::hadDeletes):
114063         (WebCore::AbstractDatabase::resetAuthorizer):
114064         * storage/AbstractDatabase.h:
114065         (WebCore::AbstractDatabase::opened):
114066         (WebCore::AbstractDatabase::isNew):
114067         (WebCore::AbstractDatabase::databaseDebugName):
114068         * storage/Database.cpp:
114069         (WebCore::DatabaseCreationCallbackTask::create):
114070         (WebCore::DatabaseCreationCallbackTask::performTask):
114071         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
114072         (WebCore::Database::openDatabase):
114073         (WebCore::Database::Database):
114074         (WebCore::Database::version):
114075         (WebCore::Database::openAndVerifyVersion):
114076         (WebCore::Database::close):
114077         (WebCore::Database::stop):
114078         (WebCore::Database::performOpenAndVerify):
114079         * storage/Database.h:
114080         (WebCore::Database::sqliteDatabase):
114081         * storage/DatabaseAuthorizer.cpp:
114082         (WebCore::DatabaseAuthorizer::create):
114083         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
114084         (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
114085         * storage/DatabaseAuthorizer.h:
114086         * storage/DatabaseSync.cpp:
114087         (WebCore::DatabaseSync::openDatabaseSync):
114088         (WebCore::DatabaseSync::DatabaseSync):
114089         (WebCore::DatabaseSync::changeVersion):
114090         (WebCore::DatabaseSync::transaction):
114091         (WebCore::DatabaseSync::markAsDeletedAndClose):
114092         (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
114093         (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
114094         (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
114095         (WebCore::DatabaseSync::closeImmediately):
114096         * storage/DatabaseSync.h:
114097         * storage/DatabaseTask.cpp:
114098         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
114099         (WebCore::DatabaseOpenTask::doPerformTask):
114100         * storage/DatabaseTask.h:
114101         (WebCore::DatabaseOpenTask::create):
114102
114103 2010-06-24  Steve Falkenburg  <sfalken@apple.com>
114104
114105         Windows build fix.
114106
114107         * platform/network/cf/AuthenticationCF.h:
114108
114109 2010-06-24  Martin Robinson  <mrobinson@igalia.com>
114110
114111         Unreviewed. Build fix.
114112
114113         Fix the build after r61798.
114114
114115         * platform/gtk/PasteboardHelper.cpp:
114116         (WebCore::PasteboardHelper::getClipboardContents):
114117
114118 2010-06-24  Alexey Proskuryakov  <ap@apple.com>
114119
114120         Reviewed by Brady Eidson.
114121
114122         https://bugs.webkit.org/show_bug.cgi?id=41178
114123         Timed refresh in subframes isn't stopped when going into b/f cache
114124
114125         Test: fast/history/timed-refresh-in-cached-frame.html
114126
114127         * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Top frame's stopLoading()
114128         won't help cached subframes; stop loading from here.
114129
114130         * loader/FrameLoader.cpp:
114131         (WebCore::FrameLoader::stopLoading): Don't stop loading in child frames. This didn't work
114132         for cached frames due to frame tree having been already desonstructed, and it's not necessary
114133         in non-cached case because stopLoading() will be called for subframes via
114134         FrameLoader::detachFromParent() and closeURL().
114135         (WebCore::FrameLoader::pageHidden): This was a second code path that dispatched pagehide
114136         event - it's no longer needed, because everything goes through FrameLoader::stopLoading().
114137         (WebCore::FrameLoader::commitProvisionalLoad): Don't call pageHidden(), the code for adding
114138         frame to b/f cache will do everything.
114139
114140         * loader/FrameLoader.h: Removed pageHidden().
114141
114142 2010-06-24  Eric Seidel  <eric@webkit.org>
114143
114144         Unreviewed. Fix the build.  I am a bad man.
114145
114146         * loader/DocumentWriter.cpp:
114147         (WebCore::DocumentWriter::replaceDocument):
114148
114149 2010-06-24  Martin Robinson  <mrobinson@igalia.com>
114150
114151         Reviewed by Xan Lopez.
114152
114153         Build fix for building against GTK+ 3.x.
114154
114155         No new tests as functionality has not changed.
114156
114157         * platform/gtk/GtkVersioning.h:
114158         * platform/gtk/PasteboardHelper.cpp:
114159         (WebCore::PasteboardHelper::getClipboardContents):
114160         (WebCore::PasteboardHelper::fillSelectionData):
114161
114162 2010-06-24  Eric Seidel  <eric@webkit.org>
114163
114164         Reviewed by Adam Barth.
114165
114166         Clean up and document DocumentWriter::replaceDocument code path
114167         https://bugs.webkit.org/show_bug.cgi?id=41182
114168
114169         No functional change, thus no test.
114170
114171         * loader/DocumentWriter.cpp:
114172         (WebCore::DocumentWriter::replaceDocument):
114173         * loader/DocumentWriter.h:
114174
114175 2010-06-24  Jer Noble  <jer.noble@apple.com>
114176
114177         Reviewed by Eric Carlson.
114178
114179         Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
114180         https://bugs.webkit.org/show_bug.cgi?id=40939
114181         rdar://problem/7996172
114182         
114183         Export -[MediaElement playbackRate];
114184         
114185         * WebCore.Video.exp:
114186
114187 2010-06-21  Evan Martin  <evan@chromium.org>
114188
114189         Reviewed by Adam Barth.
114190
114191         [chromium] overlapping characters in complex text
114192         https://bugs.webkit.org/show_bug.cgi?id=40966
114193
114194         We need to clear all the buffers we hand to Harfbuzz before we use them.
114195         While I'm here, refactor the code slightly to make its behavior more
114196         clear and correct (previously, we would repeatedly double our buffer
114197         size when we could have just sized it correctly on the second try).
114198
114199         * platform/graphics/chromium/FontLinux.cpp:
114200         (WebCore::TextRunWalker::TextRunWalker):
114201         (WebCore::TextRunWalker::nextScriptRun):
114202         (WebCore::TextRunWalker::createGlyphArrays):
114203         (WebCore::TextRunWalker::shapeGlyphs):
114204
114205 2010-06-24  Adele Peterson  <adele@apple.com>
114206
114207         Reviewed by Sam Weinig.
114208
114209         Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
114210         https://bugs.webkit.org/show_bug.cgi?id=41085
114211
114212         Covered by existing tests.
114213
114214         * editing/EditorCommand.cpp:
114215         (WebCore::executePasteAsPlainText): Added.
114216         (WebCore::createCommandMap): Added pasteAsPlainText command.
114217
114218 2010-06-24  Adam Barth  <abarth@webkit.org>
114219
114220         Reviewed by Eric Seidel.
114221
114222         Sketch out BeforeHTMLMode state
114223         https://bugs.webkit.org/show_bug.cgi?id=41133
114224
114225         In this patch, we switch the TreeBuidler over to using AtomicHTMLTokens
114226         and sketch out another state.  These states don't actually do anything
114227         yet, I'm still just getting the structure of the spec into the code so
114228         we can implement the details incrementally.
114229
114230         * html/HTMLTreeBuilder.cpp:
114231         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
114232         (WebCore::HTMLTreeBuilder::processToken):
114233         (WebCore::HTMLTreeBuilder::insertDoctype):
114234         (WebCore::HTMLTreeBuilder::insertComment):
114235         * html/HTMLTreeBuilder.h:
114236         (WebCore::HTMLTreeBuilder::parseError):
114237
114238 2010-06-24  Adam Barth  <abarth@webkit.org>
114239
114240         Reviewed by Eric Seidel.
114241
114242         Add AtomicHTMLToken
114243         https://bugs.webkit.org/show_bug.cgi?id=41131
114244
114245         We need an atomized version of the token for use in the tree builder.
114246         Eventually, we should make the existing HTMLToken an internal detail of
114247         the HTMLTokenizer.  This new AtomicHTMLToken should be also be more
114248         easily cached between the preload scanner and the tree builder.
114249
114250         * html/HTMLToken.h:
114251         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
114252         (WebCore::AtomicHTMLToken::type):
114253         (WebCore::AtomicHTMLToken::name):
114254         (WebCore::AtomicHTMLToken::selfClosing):
114255         (WebCore::AtomicHTMLToken::attributes):
114256         (WebCore::AtomicHTMLToken::characters):
114257         (WebCore::AtomicHTMLToken::comment):
114258         (WebCore::AtomicHTMLToken::publicIdentifier):
114259         (WebCore::AtomicHTMLToken::systemIdentifier):
114260         (WebCore::AtomicHTMLToken::forceQuirks):
114261         * html/HTMLTreeBuilder.cpp:
114262         (WebCore::convertToOldStyle):
114263         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
114264
114265 2010-06-24  Eric Seidel  <eric@webkit.org>
114266
114267         Reviewed by Adam Barth.
114268
114269         Add RawDataDocumentParser to get rid of a bunch of copy/paste code in DocumentParser subclasses
114270         https://bugs.webkit.org/show_bug.cgi?id=41136
114271
114272         I think this is likely far from the final design,
114273         however this is almost entirely minus lines which is a
114274         good thing.
114275
114276         The original authors of these DocumentParser subclasses
114277         seem to have just copied the files whole, as they all
114278         had the same includes, many of which were unnecessary for
114279         some of the files.
114280
114281         I think eventually the FrameLoader will call a virtual
114282         DocumentParser::appendData which will in turn decode
114283         and call another write/appendData call.  In the case
114284         of these RawDataDocumentParsers, they will just override
114285         the low-level appendData call instead of needing
114286         DocumentWriter to have a special if based on
114287         DocumentParser::wantsRawData.
114288
114289         No functional change, thus no tests.
114290
114291         * GNUmakefile.am:
114292         * WebCore.gypi:
114293         * WebCore.pro:
114294         * WebCore.xcodeproj/project.pbxproj:
114295         * dom/DocumentParser.h:
114296         (WebCore::DocumentParser::writeRawData):
114297         * loader/ImageDocument.cpp:
114298         (WebCore::ImageDocumentParser::ImageDocumentParser):
114299         (WebCore::ImageDocumentParser::finish):
114300         * loader/MediaDocument.cpp:
114301         (WebCore::MediaDocumentParser::MediaDocumentParser):
114302         (WebCore::MediaDocumentParser::writeRawData):
114303         * loader/PluginDocument.cpp:
114304         (WebCore::PluginDocumentParser::PluginDocumentParser):
114305         * loader/SinkDocument.cpp:
114306         (WebCore::SinkDocument::createParser):
114307
114308 2010-06-23  Peter Kasting  <pkasting@google.com>
114309
114310         Reviewed by Adam Barth.
114311
114312         REGRESSION (r61619): Memory corruption in open-source ICO decoder
114313         https://bugs.webkit.org/show_bug.cgi?id=41107
114314
114315         * platform/image-decoders/bmp/BMPImageReader.cpp:
114316         (WebCore::BMPImageReader::processInfoHeader): Fix memory corruption.
114317         * platform/image-decoders/ico/ICOImageDecoder.cpp:
114318         (WebCore::ICOImageDecoder::processDirectoryEntries): Handle sizing failure correctly (though failure should be impossible).
114319
114320 2010-06-24  Sheriff Bot  <webkit.review.bot@gmail.com>
114321
114322         Unreviewed, rolling out r61783.
114323         http://trac.webkit.org/changeset/61783
114324         https://bugs.webkit.org/show_bug.cgi?id=41179
114325
114326         Caused a couple of test failures (Requested by japhet on
114327         #webkit).
114328
114329         * dom/DOMImplementation.cpp:
114330         (WebCore::DOMImplementation::createDocument):
114331         (WebCore::DOMImplementation::createHTMLDocument):
114332         * dom/DOMImplementation.h:
114333         * dom/Document.cpp:
114334         (WebCore::Document::Document):
114335         (WebCore::Document::initSecurityContext):
114336         * dom/Document.h:
114337         (WebCore::Document::create):
114338         (WebCore::Document::createXHTML):
114339         * html/HTMLDocument.cpp:
114340         (WebCore::HTMLDocument::HTMLDocument):
114341         * html/HTMLDocument.h:
114342         (WebCore::HTMLDocument::create):
114343         * html/HTMLViewSourceDocument.cpp:
114344         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
114345         * html/HTMLViewSourceDocument.h:
114346         (WebCore::HTMLViewSourceDocument::create):
114347         * loader/CachedFont.cpp:
114348         (WebCore::CachedFont::ensureSVGFontData):
114349         * loader/DocumentWriter.cpp:
114350         (WebCore::DocumentWriter::createDocument):
114351         (WebCore::DocumentWriter::begin):
114352         * loader/DocumentWriter.h:
114353         * loader/FTPDirectoryDocument.cpp:
114354         (WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
114355         * loader/FTPDirectoryDocument.h:
114356         (WebCore::FTPDirectoryDocument::create):
114357         * loader/ImageDocument.cpp:
114358         (WebCore::ImageDocument::ImageDocument):
114359         * loader/ImageDocument.h:
114360         (WebCore::ImageDocument::create):
114361         * loader/MediaDocument.cpp:
114362         (WebCore::MediaDocument::MediaDocument):
114363         * loader/MediaDocument.h:
114364         (WebCore::MediaDocument::create):
114365         * loader/PlaceholderDocument.h:
114366         (WebCore::PlaceholderDocument::create):
114367         (WebCore::PlaceholderDocument::PlaceholderDocument):
114368         * loader/PluginDocument.cpp:
114369         (WebCore::PluginDocument::PluginDocument):
114370         * loader/PluginDocument.h:
114371         (WebCore::PluginDocument::create):
114372         * loader/SinkDocument.cpp:
114373         (WebCore::SinkDocument::SinkDocument):
114374         * loader/SinkDocument.h:
114375         (WebCore::SinkDocument::create):
114376         * loader/TextDocument.cpp:
114377         (WebCore::TextDocument::TextDocument):
114378         * loader/TextDocument.h:
114379         (WebCore::TextDocument::create):
114380         * svg/SVGDocument.cpp:
114381         (WebCore::SVGDocument::SVGDocument):
114382         * svg/SVGDocument.h:
114383         (WebCore::SVGDocument::create):
114384         * xml/DOMParser.cpp:
114385         (WebCore::DOMParser::parseFromString):
114386         * xml/XMLHttpRequest.cpp:
114387         (WebCore::XMLHttpRequest::responseXML):
114388         * xml/XSLTProcessor.cpp:
114389         (WebCore::XSLTProcessor::createDocumentFromSource):
114390
114391 2010-06-24  Martin Robinson  <mrobinson@igalia.com>
114392
114393         Reviewed by Xan Lopez.
114394
114395         [GTK] Small code cleanup in RenderThemeGtk
114396         https://bugs.webkit.org/show_bug.cgi?id=40989
114397
114398         Reduce the amount of duplicated code slightly and prepare this section for
114399         future improvements, such as sharing the clipping rectangle calculation with
114400         the slow path.
114401
114402         No new tests as functionality has not changed.
114403
114404         * platform/gtk/RenderThemeGtk.cpp:
114405         (WebCore::paintMozillaGtkWidget): Small code cleanup.
114406
114407 2010-06-24  Nate Chapin  <japhet@chromium.org>
114408
114409         Reviewed by Adam Barth.
114410
114411         Take a KURL parameter in Document's constructor.
114412         This will remove the one case where Document::url() 
114413         and FrameLoader::url() are not equal, allowing us to
114414         remove FrameLoader::url().
114415
114416         https://bugs.webkit.org/show_bug.cgi?id=41166
114417
114418         Refactor only, no new tests.
114419
114420         * dom/DOMImplementation.cpp:
114421         (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
114422         (WebCore::DOMImplementation::createHTMLDocument):
114423         * dom/DOMImplementation.h:
114424         * dom/Document.cpp:
114425         (WebCore::Document::Document): Call setURL() for non-empty KURL input parameters.
114426         (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
114427             of m_frame->loader()->url() for initializing the SecurityOrigin.
114428         * dom/Document.h:
114429         (WebCore::Document::create):
114430         (WebCore::Document::createXHTML):
114431         * html/HTMLDocument.cpp:
114432         * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
114433         * html/HTMLViewSourceDocument.cpp:
114434         * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
114435         * loader/CachedFont.cpp:
114436         (WebCore::CachedFont::ensureSVGFontData):
114437         * loader/DocumentWriter.cpp:
114438         (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
114439         (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
114440             redundant Document::setURL() call.
114441         * loader/DocumentWriter.h:
114442         * loader/FTPDirectoryDocument.cpp:
114443         * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
114444         * loader/ImageDocument.cpp:
114445         * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
114446         * loader/MediaDocument.cpp:
114447         * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
114448         * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
114449         * loader/PluginDocument.cpp:
114450         * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
114451         * loader/SinkDocument.cpp:
114452         * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
114453         * loader/TextDocument.cpp:
114454         * loader/TextDocument.h: Add KURL parameter to create() and constructor.
114455         * svg/SVGDocument.cpp:
114456         * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
114457         * xml/DOMParser.cpp:
114458         (WebCore::DOMParser::parseFromString):
114459         * xml/XMLHttpRequest.cpp:
114460         (WebCore::XMLHttpRequest::responseXML):
114461         * xml/XSLTProcessor.cpp:
114462         (WebCore::XSLTProcessor::createDocumentFromSource):
114463
114464 2010-06-24  Brady Eidson  <beidson@apple.com>
114465
114466         Reviewed by Sam Weinig.
114467
114468         <rdar://problem/8044645> and https://bugs.webkit.org/show_bug.cgi?id=41082
114469
114470         Webarchives will null main resource cause a repro crash.
114471
114472         Test: webarchive/loading/mainresource-null-mimetype-crash.html
114473
114474         * loader/archive/cf/LegacyWebArchive.cpp:
114475         (WebCore::LegacyWebArchive::createResource): Fail to create the archive resource if the main resource's
114476           mime type is null.
114477
114478 2010-06-24  Damian Kaleta  <dkaleta@apple.com>
114479
114480         Reviewed by Sam Weinig.
114481
114482         Provide a way to obtain the rendered rectangle for box elements.
114483
114484         * WebCore.base.exp: Export the symbol so we can see it in WebKit.
114485         * dom/Node.cpp:
114486         (WebCore::Node::renderRect): Added new ethod that will return a rendered rectangle for box elements.
114487         * dom/Node.h: Ditto.
114488
114489 2010-06-24  Vangelis Kokkevis  <vangelis@chromium.org>
114490
114491         Reviewed by Darin Fisher.
114492
114493         [Chromium] Create specialized classes for Transform,
114494         Image and WebGL layers to replace the rather monolithic LayerChromium class.
114495         Layers can now own the GL texture they use for backing store and a different
114496         shading program can be used by the compositor for each layer type. WebGL layers
114497         are not yet hooked up to GraphicsContext3D.
114498         https://bugs.webkit.org/show_bug.cgi?id=41106
114499
114500         * WebCore.gypi:
114501         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
114502         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
114503         (WebCore::GraphicsLayerChromium::setContentsToImage):
114504         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
114505         * platform/graphics/chromium/GraphicsLayerChromium.h:
114506         (WebCore::GraphicsLayerChromium::):
114507         * platform/graphics/chromium/ImageLayerChromium.cpp: Added.
114508         (WebCore::ImageLayerChromium::create):
114509         (WebCore::ImageLayerChromium::ImageLayerChromium):
114510         (WebCore::ImageLayerChromium::setContents):
114511         (WebCore::ImageLayerChromium::updateTextureContents):
114512         * platform/graphics/chromium/ImageLayerChromium.h: Added.
114513         (WebCore::ImageLayerChromium::drawsContent):
114514         * platform/graphics/chromium/LayerChromium.cpp:
114515         (WebCore::LayerChromium::create):
114516         (WebCore::LayerChromium::LayerChromium):
114517         (WebCore::LayerChromium::updateTextureContents):
114518         (WebCore::LayerChromium::updateTextureRect):
114519         * platform/graphics/chromium/LayerChromium.h:
114520         (WebCore::LayerChromium::drawsContent):
114521         (WebCore::LayerChromium::ownsTexture):
114522         (WebCore::LayerChromium::textureId):
114523         (WebCore::LayerChromium::setShaderProgramId):
114524         (WebCore::LayerChromium::shaderProgramId):
114525         * platform/graphics/chromium/LayerRendererChromium.cpp:
114526         (WebCore::LayerRendererChromium::createLayerShader):
114527         (WebCore::ShaderProgram::ShaderProgram):
114528         (WebCore::LayerRendererChromium::LayerRendererChromium):
114529         (WebCore::LayerRendererChromium::~LayerRendererChromium):
114530         (WebCore::LayerRendererChromium::useShaderProgram):
114531         (WebCore::LayerRendererChromium::drawTexturedQuad):
114532         (WebCore::LayerRendererChromium::drawLayers):
114533         (WebCore::LayerRendererChromium::drawDebugBorder):
114534         (WebCore::LayerRendererChromium::updateLayersRecursive):
114535         (WebCore::LayerRendererChromium::drawLayer):
114536         (WebCore::LayerRendererChromium::bindCommonAttribLocations):
114537         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
114538         * platform/graphics/chromium/LayerRendererChromium.h:
114539         (WebCore::LayerRendererChromium::):
114540         * platform/graphics/chromium/TransformLayerChromium.cpp: Added.
114541         (WebCore::TransformLayerChromium::create):
114542         (WebCore::TransformLayerChromium::TransformLayerChromium):
114543         * platform/graphics/chromium/TransformLayerChromium.h: Added.
114544         (WebCore::TransformLayerChromium::drawsContent):
114545         * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
114546         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
114547         (WebCore::WebGLLayerChromium::textureId):
114548         (WebCore::WebGLLayerChromium::updateTextureContents):
114549         (WebCore::WebGLLayerChromium::setContext):
114550         * platform/graphics/chromium/WebGLLayerChromium.h: Added.
114551         (WebCore::WebGLLayerChromium::drawsContent):
114552         (WebCore::WebGLLayerChromium::ownsTexture):
114553         (WebCore::WebGLLayerChromium::shaderProgramId):
114554         (WebCore::WebGLLayerChromium::setShaderProgramId):
114555
114556 2010-06-24  Pavel Feldman  <pfeldman@chromium.org>
114557
114558         Reviewed by Yury Semikhatsky.
114559  
114560         Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
114561
114562         https://bugs.webkit.org/show_bug.cgi?id=41094
114563
114564         - Removed a bunch of unused methods from all over the place
114565         - Added client callbacks for states surviving navigation
114566         - Implemented more user-friendly stub for InspectorFrontendHost.platform
114567
114568         * inspector/InspectorClient.h:
114569         (WebCore::InspectorClient::resourceTrackingWasEnabled):
114570         (WebCore::InspectorClient::resourceTrackingWasDisabled):
114571         (WebCore::InspectorClient::timelineProfilerWasStarted):
114572         (WebCore::InspectorClient::timelineProfilerWasStopped):
114573         * inspector/InspectorController.cpp:
114574         (WebCore::InspectorController::enableResourceTracking):
114575         (WebCore::InspectorController::disableResourceTracking):
114576         (WebCore::InspectorController::ensureSettingsLoaded):
114577         (WebCore::InspectorController::startTimelineProfiler):
114578         (WebCore::InspectorController::stopTimelineProfiler):
114579         * inspector/InspectorFrontend.cpp:
114580         * inspector/InspectorFrontend.h:
114581         * inspector/front-end/InspectorBackendStub.js:
114582         * inspector/front-end/InspectorFrontendHostStub.js:
114583         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
114584
114585 2010-06-23  Alexey Proskuryakov  <ap@apple.com>
114586
114587         Reviewed by Darin Adler.
114588
114589         https://bugs.webkit.org/show_bug.cgi?id=41099
114590         Assertion failure: !m_suspended when XMLHttpRequest fails
114591
114592         This was a general problem with load failure timer not being deferred.
114593
114594         Test: manual-tests/xhr-failure-behind-alert.html
114595
114596         * manual-tests/xhr-failure-behind-alert.html: Added.
114597
114598         * platform/network/ResourceHandle.cpp:
114599         (WebCore::ResourceHandle::fireFailure): Added an empty case for NoFailure. Reset
114600         m_scheduledFailureType to NoFailure when firing.
114601         (WebCore::ResourceHandle::setDefersLoading): Stop failure timer when deferring, restart when
114602         un-deferring loads.
114603
114604         * platform/network/ResourceHandle.h: Renamed m_failureType to m_scheduledFailureType to
114605         make it clear that it is only set when a timer is scheduled.
114606
114607         * platform/network/ResourceHandleInternal.h:
114608         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Initialize m_scheduledFailureType
114609         to NoFailure, so that we can look at it when un-deferring loads.
114610
114611         * platform/network/android/ResourceHandleAndroid.cpp:
114612         (WebCore::ResourceHandle::platformSetDefersLoading):
114613         * platform/network/cf/ResourceHandleCFNet.cpp:
114614         (WebCore::ResourceHandle::platformSetDefersLoading):
114615         * platform/network/curl/ResourceHandleCurl.cpp:
114616         (WebCore::ResourceHandle::platformSetDefersLoading):
114617         * platform/network/mac/ResourceHandleMac.mm:
114618         (WebCore::ResourceHandle::platformSetDefersLoading):
114619         * platform/network/qt/ResourceHandleQt.cpp:
114620         (WebCore::ResourceHandle::platformSetDefersLoading):
114621         * platform/network/soup/ResourceHandleSoup.cpp:
114622         Platform specific parts of setDefersLoading() are now in a separate function.
114623
114624 2010-06-24  Pavel Feldman  <pfeldman@chromium.org>
114625
114626         Not reviewed: revert 61766.
114627
114628         * inspector/InspectorClient.h:
114629         * inspector/InspectorController.cpp:
114630         (WebCore::InspectorController::enableResourceTracking):
114631         (WebCore::InspectorController::disableResourceTracking):
114632         (WebCore::InspectorController::ensureSettingsLoaded):
114633         (WebCore::InspectorController::startTimelineProfiler):
114634         (WebCore::InspectorController::stopTimelineProfiler):
114635         * inspector/InspectorFrontend.cpp:
114636         (WebCore::InspectorFrontend::setAttachedWindow):
114637         * inspector/InspectorFrontend.h:
114638         * inspector/front-end/InspectorBackendStub.js:
114639         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
114640         * inspector/front-end/InspectorFrontendHostStub.js:
114641         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
114642
114643 2010-06-23  Pavel Feldman  <pfeldman@chromium.org>
114644
114645         Reviewed by Yury Semikhatsky.
114646
114647         Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
114648         
114649         https://bugs.webkit.org/show_bug.cgi?id=41094
114650
114651         - Removed a bunch of unused methods from all over the place
114652         - Added client callbacks for states surviving navigation
114653         - Implemented more user-friendly stub for InspectorFrontendHost.platform
114654
114655         * inspector/InspectorClient.h:
114656         (WebCore::InspectorClient::resourceTrackingWasEnabled):
114657         (WebCore::InspectorClient::resourceTrackingWasDisabled):
114658         (WebCore::InspectorClient::timelineProfilerWasStarted):
114659         (WebCore::InspectorClient::timelineProfilerWasStopped):
114660         * inspector/InspectorController.cpp:
114661         (WebCore::InspectorController::enableResourceTracking):
114662         (WebCore::InspectorController::disableResourceTracking):
114663         (WebCore::InspectorController::ensureSettingsLoaded):
114664         (WebCore::InspectorController::startTimelineProfiler):
114665         (WebCore::InspectorController::stopTimelineProfiler):
114666         * inspector/InspectorFrontend.cpp:
114667         * inspector/InspectorFrontend.h:
114668         * inspector/front-end/InspectorBackendStub.js:
114669         * inspector/front-end/InspectorFrontendHostStub.js:
114670         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
114671
114672 2010-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
114673
114674         Reviewed by Dirk Schulze.
114675
114676         Inspector & SVG Text have problems, kids of RenderSVGText are not properly placed.
114677         https://bugs.webkit.org/show_bug.cgi?id=41143
114678
114679         Simplify code path taken for SVG text in InspectorController, take the code path currently only used for RenderInline,
114680         that just calls absoluteQuads(), and displays the result. Refactored code that all SVG renderers (except RenderSVGRoot)
114681         take this code path -> highlighting now works as expected.
114682
114683         Don't use absoluteClippedOverlowRect() in the various RenderSVG*::absoluteQuads() methods, as we're loosing floating-point precision.
114684         Instead use localToAbsoluteQuad(strokeBoundingBox()) in order to highlight the unclipped, unfiltered, etc.. region that this renderer would paint.
114685
114686         No new tests, as this is only manual testable - at least I didn't find any Inspector-Highlighting tests, if someone knows please mail me.
114687
114688         * inspector/InspectorController.cpp:
114689         (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
114690         (WebCore::InspectorController::drawNodeHighlight):
114691         * rendering/RenderSVGBlock.cpp:
114692         (WebCore::RenderSVGBlock::absoluteRects): ASSERT_NOT_REACHED() here. SVG should only be inspected through absoluteQuads().
114693         * rendering/RenderSVGBlock.h: Add absoluteRects() in this base class for RenderForeignObject/RenderSVGText.
114694         * rendering/RenderSVGHiddenContainer.cpp: Remove absoluteRects() - RenderSVGModelObject already has it.
114695         * rendering/RenderSVGHiddenContainer.h: Ditto.
114696         * rendering/RenderSVGImage.cpp: 
114697         (WebCore::RenderSVGImage::absoluteRects): ASSERT_NOT_REACHED() here.
114698         (WebCore::RenderSVGImage::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
114699         * rendering/RenderSVGImage.h:
114700         (WebCore::RenderSVGImage::objectBoundingBox): Inlined
114701         * rendering/RenderSVGInline.cpp: 
114702         (WebCore::RenderSVGInline::absoluteQuads): Take RenderSVGText translation into account, allows inspecting <tspan>/<tref> etc.
114703         * rendering/RenderSVGInline.h:
114704         * rendering/RenderSVGModelObject.cpp: 
114705         (WebCore::RenderSVGModelObject::absoluteRects): ASSERT_NOT_REACHED() here.
114706         (WebCore::RenderSVGModelObject::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
114707         * rendering/RenderSVGModelObject.h:
114708         * rendering/RenderSVGRoot.cpp: Fix typo in license s/aint/along. Need to touch this file in order to let Mac build.
114709         * rendering/RenderSVGText.cpp:
114710         (WebCore::RenderSVGText::mapLocalToContainer): Remove hack, which moved the transformState by x()/y(). Not needed anymore.
114711         (WebCore::RenderSVGText::absoluteQuads): Proper implementation, respecting x/y translation.
114712         * rendering/RenderSVGText.h: Reorder some functions. 
114713         * rendering/SVGRenderSupport.h: Removed last virtual function strokeBoundingBox().
114714
114715 2010-06-24  Kent Tamura  <tkent@chromium.org>
114716
114717         Unreviewed. Build fix for Tiger.
114718
114719         * platform/mac/ThemeMac.mm:
114720         (WebCore::setControlSize):
114721
114722 2010-06-24  Kent Tamura  <tkent@chromium.org>
114723
114724         Unreviewed. Build fix for Tiger.
114725
114726         * platform/mac/ThemeMac.mm:
114727         (WebCore::setControlSize):
114728         (WebCore::ThemeMac::inflateControlPaintRect):
114729
114730 2010-06-24  Kent Tamura  <tkent@chromium.org>
114731
114732         Unreviewed.  Build fix for Chromium Mac.
114733
114734         * html/HTMLInputElement.cpp:
114735         (WebCore::HTMLInputElement::isSpeechEnabled):
114736
114737 2010-06-24  Simon Hausmann  <simon.hausmann@nokia.com>
114738
114739         Unreviewed Symbian build fix.
114740
114741         The QML WebKit integration needs to be part of QtWebKit.sis
114742
114743         * WebCore.pro: Deploy qmlwebkitplugin.dll.
114744
114745 2010-06-24  Satish Sampath  <satish@chromium.org>
114746
114747         Reviewed by Kent Tamura.
114748
114749         Add a speech button to input elements, no rendering or actions yet.
114750
114751         Speech Input: Add a speech button to text input element (no rendering or actions yet)
114752         https://bugs.webkit.org/show_bug.cgi?id=40925
114753
114754         No new tests. Will create a layout test in a subsequent patch.
114755
114756         * css/CSSPrimitiveValueMappings.h:
114757         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
114758         * css/CSSSelector.cpp:
114759         (WebCore::CSSSelector::pseudoId):
114760         (WebCore::nameToPseudoTypeMap):
114761         (WebCore::CSSSelector::extractPseudoType):
114762         * css/CSSSelector.h:
114763         (WebCore::CSSSelector::):
114764         * css/CSSValueKeywords.in:
114765         * css/html.css:
114766         (input::-webkit-input-speech-button):
114767         * dom/InputElement.h:
114768         * html/HTMLAttributeNames.in:
114769         * html/HTMLInputElement.cpp:
114770         (WebCore::HTMLInputElement::isSpeechEnabled):
114771         * html/HTMLInputElement.h:
114772         * platform/ThemeTypes.h:
114773         (WebCore::):
114774         * rendering/RenderTextControlSingleLine.cpp:
114775         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
114776         (WebCore::RenderTextControlSingleLine::forwardEvent):
114777         (WebCore::RenderTextControlSingleLine::styleDidChange):
114778         (WebCore::RenderTextControlSingleLine::hasControlClip):
114779         (WebCore::RenderTextControlSingleLine::controlClipRect):
114780         (WebCore::RenderTextControlSingleLine::textBlockWidth):
114781         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
114782         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
114783         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
114784         (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
114785         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
114786         * rendering/RenderTextControlSingleLine.h:
114787         * rendering/RenderTheme.cpp:
114788         (WebCore::RenderTheme::adjustStyle):
114789         (WebCore::RenderTheme::paint):
114790         (WebCore::RenderTheme::paintBorderOnly):
114791         (WebCore::RenderTheme::paintDecorations):
114792         * rendering/TextControlInnerElements.cpp:
114793         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
114794         (WebCore::InputFieldSpeechButtonElement::create):
114795         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
114796         * rendering/TextControlInnerElements.h:
114797         * rendering/style/RenderStyleConstants.h:
114798         (WebCore::):
114799
114800 2010-06-24  Kent Tamura  <tkent@chromium.org>
114801
114802         Reviewed by Adam Barth.
114803
114804         [Mac] The upper button of <input type=number> has no visual effect on click
114805         https://bugs.webkit.org/show_bug.cgi?id=38380
114806
114807         Because we have no ways to draw an NSStepperCell with its up button
114808         highlighted, use HIThemeDrawButton() instead.
114809
114810         Test: platform/mac/fast/forms/input-appearance-spinbutton-up.html
114811
114812         * platform/mac/ThemeMac.mm:
114813         (WebCore::controlSizeFromPixelSize):
114814           New function. Made from a part of setControlSize().
114815         (WebCore::setControlSize):
114816         (WebCore::convertControlStatesToThemeDrawState):
114817         (WebCore::paintStepper): Use HITheme API instead of NSStepperCell.
114818         (WebCore::ThemeMac::inflateControlPaintRect):
114819           Use controlSizeFromPixelSize().
114820
114821 2010-06-24  Yury Semikhatsky  <yurys@chromium.org>
114822
114823         Reviewed by Pavel Feldman.
114824
114825         Web Inspector: implement layout tests for debugger
114826         https://bugs.webkit.org/show_bug.cgi?id=40774
114827
114828         Test: inspector/debugger-pause-on-debugger-statement.html
114829
114830         * bindings/js/ScriptDebugServer.cpp: remove unused obsolete code that deals with global listeners.
114831         (WebCore::ScriptDebugServer::ScriptDebugServer):
114832         (WebCore::ScriptDebugServer::removeListener):
114833         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
114834         (WebCore::ScriptDebugServer::pauseIfNeeded):
114835         (WebCore::ScriptDebugServer::didAddListener):
114836         (WebCore::ScriptDebugServer::didRemoveListener):
114837         * bindings/js/ScriptDebugServer.h:
114838         * platform/mac/EventLoopMac.mm:
114839         (WebCore::EventLoop::cycle): wait at most 10ms for new event, otherwise layout tests would
114840         hang because in their case there may be no events ever.
114841
114842 2010-06-24  Andrey Kosyakov  <caseq@chromium.org>
114843
114844         Reviewed by Yury Semikhatsky.
114845
114846         Fixed evaluation & logging of null values in console.
114847         Changed handling of null and undefined in ScriptValue::toString()
114848         to match JSC bindings (i.e. "null" and "undefined" instead of "").
114849         https://bugs.webkit.org/show_bug.cgi?id=40980
114850
114851         * bindings/v8/ScriptValue.cpp:
114852         (WebCore::ScriptValue::toString):
114853         * inspector/front-end/InjectedScript.js:
114854         (injectedScriptConstructor):
114855
114856 2010-06-24  Yury Semikhatsky  <yurys@chromium.org>
114857
114858         Reviewed by Pavel Feldman.
114859
114860         Web Inspector: live edit doesn't work when resource tracking is off
114861         https://bugs.webkit.org/show_bug.cgi?id=41076
114862
114863         * inspector/front-end/ScriptView.js:
114864         (WebInspector.ScriptView.prototype._sourceIDForLine): implement this method for ScriptView,
114865         it's needed for editLine to work.
114866
114867 2010-06-23  Adam Barth  <abarth@webkit.org>
114868
114869         Reviewed by Eric Seidel.
114870
114871         Sketch out InitialMode of HTML5 tree builder
114872         https://bugs.webkit.org/show_bug.cgi?id=41126
114873
114874         Transliterated from the spec.  Currently doesn't do anything.  Mostly
114875         an experiment to see where this goes.
114876
114877         * html/HTMLTreeBuilder.cpp:
114878         (WebCore::HTMLTreeBuilder::processToken):
114879         (WebCore::HTMLTreeBuilder::insertDoctype):
114880         (WebCore::HTMLTreeBuilder::insertComment):
114881         * html/HTMLTreeBuilder.h:
114882
114883 2010-06-23  Adam Barth  <abarth@webkit.org>
114884
114885         Reviewed by Eric Seidel.
114886
114887         Add all the HTML5 tree builder insertion modes
114888         https://bugs.webkit.org/show_bug.cgi?id=41124
114889
114890         These are just copied verbatim from the spec.  No tests because these
114891         don't do anything yet.
114892
114893         * html/HTMLTreeBuilder.cpp:
114894         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
114895         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
114896         * html/HTMLTreeBuilder.h:
114897         (WebCore::HTMLTreeBuilder::):
114898
114899 2010-06-23  Eric Seidel  <eric@webkit.org>
114900
114901         Unreviewed.  Fix namespace indent.  Just whitespace changes.
114902
114903         * dom/DocumentParser.h:
114904         (WebCore::DocumentParser::~DocumentParser):
114905         (WebCore::DocumentParser::isExecutingScript):
114906         (WebCore::DocumentParser::stopParsing):
114907         (WebCore::DocumentParser::processingData):
114908         (WebCore::DocumentParser::wantsRawData):
114909         (WebCore::DocumentParser::writeRawData):
114910         (WebCore::DocumentParser::wellFormed):
114911         (WebCore::DocumentParser::lineNumber):
114912         (WebCore::DocumentParser::columnNumber):
114913         (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
114914         (WebCore::DocumentParser::htmlTreeBuilder):
114915         (WebCore::DocumentParser::asHTMLDocumentParser):
114916         (WebCore::DocumentParser::inViewSourceMode):
114917         (WebCore::DocumentParser::setInViewSourceMode):
114918         (WebCore::DocumentParser::document):
114919         (WebCore::DocumentParser::xssAuditor):
114920         (WebCore::DocumentParser::setXSSAuditor):
114921         (WebCore::DocumentParser::DocumentParser):
114922
114923 2010-06-23  Eric Seidel  <eric@webkit.org>
114924
114925         Unreviewed.  Speculative build fix for Qt.
114926
114927         Move Document* down onto DocumentParser, since every DocumentParser needs one.
114928         https://bugs.webkit.org/show_bug.cgi?id=41117
114929
114930         XMLDocumentParserQt is a huge pile of donkey barf.
114931         I can't believe I ever r+'d the creation of this pile of
114932         copy/paste code.
114933
114934         I clearly missed removing m_doc from this code as well and thus
114935         broke Qt.
114936
114937         We really need to fix both XMLDocumentParserLibxml2 and
114938         XMLDocumentParserQt not to be so poorly abstracted so
114939         that if we're going to have two of them they can at least
114940         share some code.
114941
114942         * dom/XMLDocumentParserQt.cpp:
114943         (WebCore::XMLDocumentParser::XMLDocumentParser):
114944         (WebCore::XMLDocumentParser::~XMLDocumentParser):
114945         (WebCore::XMLDocumentParser::doWrite):
114946         (WebCore::XMLDocumentParser::doEnd):
114947         (WebCore::XMLDocumentParser::parse):
114948         (WebCore::XMLDocumentParser::startDocument):
114949         (WebCore::XMLDocumentParser::parseStartElement):
114950         (WebCore::XMLDocumentParser::parseEndElement):
114951         (WebCore::XMLDocumentParser::parseProcessingInstruction):
114952         (WebCore::XMLDocumentParser::parseCdata):
114953         (WebCore::XMLDocumentParser::parseComment):
114954         (WebCore::XMLDocumentParser::parseDtd):
114955
114956 2010-06-23  Eric Seidel  <eric@webkit.org>
114957
114958         Reviewed by Adam Barth.
114959
114960         Move Document* down onto DocumentParser, since every DocumentParser needs one.
114961         https://bugs.webkit.org/show_bug.cgi?id=41117
114962
114963         This eliminated the need for document() on HTMLDocumentParser.
114964         This paves the way for more code sharing between various
114965         DocumentParser subclasses.
114966
114967         * dom/DocumentParser.h:
114968         (WebCore::DocumentParser::inViewSourceMode):
114969         (WebCore::DocumentParser::setInViewSourceMode):
114970         (WebCore::DocumentParser::document):
114971         (WebCore::DocumentParser::DocumentParser):
114972         * dom/XMLDocumentParser.cpp:
114973         (WebCore::XMLDocumentParser::isWMLDocument):
114974         (WebCore::XMLDocumentParser::pushCurrentNode):
114975         (WebCore::XMLDocumentParser::popCurrentNode):
114976         (WebCore::XMLDocumentParser::clearCurrentNodeStack):
114977         (WebCore::XMLDocumentParser::enterText):
114978         (WebCore::XMLDocumentParser::end):
114979         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
114980         * dom/XMLDocumentParser.h:
114981         * dom/XMLDocumentParserLibxml2.cpp:
114982         (WebCore::XMLDocumentParser::XMLDocumentParser):
114983         (WebCore::XMLDocumentParser::~XMLDocumentParser):
114984         (WebCore::XMLDocumentParser::doWrite):
114985         (WebCore::XMLDocumentParser::startElementNs):
114986         (WebCore::XMLDocumentParser::endElementNs):
114987         (WebCore::XMLDocumentParser::processingInstruction):
114988         (WebCore::XMLDocumentParser::cdataBlock):
114989         (WebCore::XMLDocumentParser::comment):
114990         (WebCore::XMLDocumentParser::startDocument):
114991         (WebCore::XMLDocumentParser::internalSubset):
114992         (WebCore::XMLDocumentParser::initializeParserContext):
114993         (WebCore::XMLDocumentParser::doEnd):
114994         * html/HTMLDocumentParser.cpp:
114995         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
114996         * html/HTMLDocumentParser.h:
114997         * html/LegacyHTMLDocumentParser.cpp:
114998         (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
114999         (WebCore::LegacyHTMLDocumentParser::begin):
115000         (WebCore::LegacyHTMLDocumentParser::scriptHandler):
115001         (WebCore::LegacyHTMLDocumentParser::scriptExecution):
115002         (WebCore::LegacyHTMLDocumentParser::parseTag):
115003         (WebCore::LegacyHTMLDocumentParser::continueProcessing):
115004         (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
115005         (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
115006         (WebCore::LegacyHTMLDocumentParser::write):
115007         (WebCore::LegacyHTMLDocumentParser::stopParsing):
115008         (WebCore::LegacyHTMLDocumentParser::timerFired):
115009         (WebCore::LegacyHTMLDocumentParser::end):
115010         (WebCore::LegacyHTMLDocumentParser::processToken):
115011         (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
115012         (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
115013         (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
115014         (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
115015         * html/LegacyHTMLDocumentParser.h:
115016         * loader/ImageDocument.cpp:
115017         (WebCore::ImageDocumentParser::ImageDocumentParser):
115018         (WebCore::ImageDocumentParser::imageDocument):
115019         (WebCore::ImageDocumentParser::write):
115020         (WebCore::ImageDocumentParser::writeRawData):
115021         (WebCore::ImageDocumentParser::finish):
115022         (WebCore::ImageDocumentParser::finishWasCalled):
115023         (WebCore::ImageDocumentParser::isWaitingForScripts):
115024         (WebCore::ImageDocument::createParser):
115025         * loader/MediaDocument.cpp:
115026         (WebCore::MediaDocumentParser::MediaDocumentParser):
115027         (WebCore::MediaDocumentParser::createDocumentStructure):
115028         (WebCore::MediaDocumentParser::finish):
115029         (WebCore::MediaDocumentParser::finishWasCalled):
115030         * loader/PluginDocument.cpp:
115031         (WebCore::PluginDocumentParser::PluginDocumentParser):
115032         (WebCore::PluginDocumentParser::createDocumentStructure):
115033         (WebCore::PluginDocumentParser::writeRawData):
115034         (WebCore::PluginDocumentParser::finish):
115035         (WebCore::PluginDocumentParser::finishWasCalled):
115036         * loader/SinkDocument.cpp:
115037         (WebCore::SinkDocumentParser::SinkDocumentParser):
115038         * loader/TextDocument.cpp:
115039         (WebCore::TextDocumentParser::TextDocumentParser):
115040         (WebCore::TextDocumentParser::write):
115041         (WebCore::TextDocumentParser::finish):
115042         (WebCore::TextDocumentParser::finishWasCalled):
115043
115044 2010-06-23  Eric Seidel  <eric@webkit.org>
115045
115046         Reviewed by Adam Barth.
115047
115048         Start to clean up DocumentParser interface
115049         https://bugs.webkit.org/show_bug.cgi?id=41114
115050
115051         The first of many cleanups needed to the DocumentParser
115052         interface.  Rename executingScript() to isExecutingScript()
115053         and make it return a bool instead of an int.  Also added a
115054         FIXME to XMLDocumentParser about implementing it and did
115055         some minor other cleanup to the XMLDocumentParser header.
115056
115057         No functional change, thus no tests.
115058
115059         * dom/Document.cpp:
115060         (WebCore::Document::open):
115061         * dom/DocumentParser.h:
115062         (WebCore::DocumentParser::isExecutingScript):
115063         * dom/XMLDocumentParser.h:
115064         (WebCore::XMLDocumentParser::wellFormed):
115065         * html/HTMLDocumentParser.cpp:
115066         (WebCore::HTMLDocumentParser::attemptToEnd):
115067         (WebCore::HTMLDocumentParser::endIfDelayed):
115068         (WebCore::HTMLDocumentParser::isExecutingScript):
115069         * html/HTMLDocumentParser.h:
115070         * html/LegacyHTMLDocumentParser.h:
115071         (WebCore::LegacyHTMLDocumentParser::isExecutingScript):
115072
115073 2010-06-22  Maciej Stachowiak  <mjs@apple.com>
115074
115075         Reviewed by Simon Fraser.
115076
115077         Implement IDL attribute for HTML5 hidden
115078         https://bugs.webkit.org/show_bug.cgi?id=41039
115079
115080         Test: fast/html/hidden-attr-dom.html
115081
115082         * html/HTMLElement.idl: Just add to the IDL file. [Reflect] takes
115083         care of the rest.
115084
115085 2010-06-23  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
115086
115087         Reviewed by Chris Fleizach.
115088
115089         [Gtk] nameFromChildren is obsolete
115090         https://bugs.webkit.org/show_bug.cgi?id=36128
115091
115092         Look to the AtkText interface implemented by the objects in
115093         question.
115094
115095         Test: platform/gtk/accessibility/name-from-label.html
115096
115097         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
115098         (webkit_accessible_get_name):
115099         (webkit_accessible_table_get_column_description):
115100         (webkit_accessible_table_get_row_description):
115101
115102 2010-06-23  Kwang Yul Seo  <skyul@company100.net>
115103
115104         Reviewed by Kent Tamura.
115105
115106         [BREWMP] Port FileSystem
115107         https://bugs.webkit.org/show_bug.cgi?id=34323
115108
115109         Port FileSystem with IFileMgr interface.
115110
115111         * platform/FileSystem.h:
115112         * platform/brew/FileSystemBrew.cpp: Added.
115113         (WebCore::getFileSize):
115114         (WebCore::getFileModificationTime):
115115         (WebCore::fileExists):
115116         (WebCore::deleteFile):
115117         (WebCore::deleteEmptyDirectory):
115118         (WebCore::pathByAppendingComponent):
115119         (WebCore::fileSystemRepresentation):
115120         (WebCore::canonicalPath):
115121         (WebCore::makeAllDirectories):
115122         (WebCore::homeDirectoryPath):
115123         (WebCore::pathGetFileName):
115124         (WebCore::directoryName):
115125         (WebCore::openTemporaryFile):
115126         (WebCore::closeFile):
115127         (WebCore::writeToFile):
115128         (WebCore::unloadModule):
115129         (WebCore::listDirectory):
115130
115131 2010-06-23  Alexendar Pavlov  <apavlov@chromium.org>
115132
115133         Reviewed by David Hyatt.
115134
115135         Swap checks in Position::isCandidate so that the less expensive
115136         nodeIsUserSelectNode  (node && node->renderer() &&
115137         node->renderer()->style()->userSelect() == SELECT_NONE) came first.
115138
115139         (Was Web Inspector: Hangup when expanding elements with enormous
115140         text node content in Elements panel).
115141
115142         https://bugs.webkit.org/show_bug.cgi?id=35926
115143
115144         * dom/Position.cpp:
115145         (WebCore::Position::isCandidate):
115146         * dom/PositionIterator.cpp:
115147         (WebCore::PositionIterator::isCandidate):
115148
115149 2010-06-23  Kwang Yul Seo  <skyul@company100.net>
115150
115151         Reviewed by Kent Tamura.
115152
115153         [BREWMP] Add PopupMenu implementation
115154         https://bugs.webkit.org/show_bug.cgi?id=40226
115155
115156         Delegate PopupMenu handling to ChromeClientBrew.
115157
115158         * page/brew/ChromeClientBrew.h: Added.
115159         * platform/PopupMenu.h:
115160         * platform/brew/PopupMenuBrew.cpp: Added.
115161         (WebCore::PopupMenu::PopupMenu):
115162         (WebCore::PopupMenu::~PopupMenu):
115163         (WebCore::PopupMenu::show):
115164         (WebCore::PopupMenu::hide):
115165         (WebCore::PopupMenu::updateFromElement):
115166         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
115167
115168 2010-06-23  Kenneth Russell  <kbr@google.com>
115169
115170         Reviewed by Dimitri Glazkov.
115171
115172         Implement format conversions in texImage2D and texSubImage2D taking HTML data
115173         https://bugs.webkit.org/show_bug.cgi?id=40319
115174
115175         Generalized code supporting premultiplication of alpha and
115176         vertical flip to pack texture data into requested format and type.
115177         Handled incoming image data of various formats, RGBA and BGRA in
115178         particular, both to reduce the number of temporary copies during
115179         texture upload and to support premultiplying alpha for the
115180         texImage2D and texSubImage2D entry points taking ArrayBufferView
115181         in a subsequent bug. Added test case exercising all combinations
115182         of format/type combinations, premultiplication of alpha, and
115183         Image/ImageData upload. (Incorporated pnglib.js under
115184         fast/canvas/webgl/resources/ to be able to generate Image elements
115185         programmatically.) Tested in Safari on Mac OS X and in Chromium on
115186         Mac OS X, Windows and Linux.
115187
115188         Test: fast/canvas/webgl/tex-image-with-format-and-type.html
115189
115190         * html/canvas/WebGLRenderingContext.cpp:
115191         (WebCore::WebGLRenderingContext::readPixels):
115192         (WebCore::WebGLRenderingContext::texImage2DImpl):
115193         (WebCore::WebGLRenderingContext::texImage2D):
115194         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
115195         (WebCore::WebGLRenderingContext::texSubImage2D):
115196         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
115197         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
115198         * platform/graphics/GraphicsContext3D.cpp:
115199         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
115200         (WebCore::GraphicsContext3D::extractImageData):
115201         (WebCore::GraphicsContext3D::flipVertically):
115202         (WebCore::doUnpackingAndPacking):
115203         (WebCore::doPacking):
115204         (WebCore::GraphicsContext3D::packPixels):
115205         * platform/graphics/GraphicsContext3D.h:
115206         (WebCore::GraphicsContext3D::):
115207         * platform/graphics/cg/GraphicsContext3DCG.cpp:
115208         (WebCore::GraphicsContext3D::getImageData):
115209         * platform/graphics/mac/GraphicsContext3DMac.mm:
115210         (WebCore::narrowInternalFormat):
115211         (WebCore::GraphicsContext3D::texImage2D):
115212         * platform/graphics/qt/GraphicsContext3DQt.cpp:
115213         (WebCore::GraphicsContext3D::getImageData):
115214         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
115215         (WebCore::GraphicsContext3D::getImageData):
115216
115217 2010-06-23  Stephen White  <senorblanco@chromium.org>
115218
115219         Unreviewed; correcting bad patch.
115220
115221         In my haste to land r61710, I mistakenly landed the wrong version, in
115222         which a chunk of code was moved.  This patch moves that chunk of code
115223         to where it was in the patch that was reviewed.  Mea culpa.
115224
115225         * rendering/RenderBoxModelObject.cpp:
115226         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
115227
115228 2010-06-23  Stephen White  <senorblanco@chromium.org>
115229
115230         Reviewed by David Hyatt.
115231
115232         This is a tweak to the resize algorithm introduced in r61341, and
115233         is a fix for the regression described in
115234         https://bugs.webkit.org/show_bug.cgi?id=41036
115235
115236         The goal is to bring back the some of old behaviour, without regressing
115237         too much of the performance gains in r61341.
115238
115239         The old algorithm was:
115240         - on first resize, draw in high quality and record the paint time
115241         - if we've already drawn at this size, use the same quality as last time
115242         - on subsequent resizes, if the resize occurs within X ms of the
115243           previous one, draw at low quality and set a timer (one timer per
115244           image).
115245         - when each timer expires, draw that image at high quality
115246
115247         The r61341 algorithm was:  
115248         - on first resize, draw the image in low quality, add it to a list of
115249           resized images, and set a timer (one timer for all images)
115250         - when the timer expires, redraw all resized images in high quality
115251
115252         The new algorithm is:
115253         - on first resize, if no other animated resizes are outstanding, draw in
115254           high quality and set the timer (one timer for all images)
115255         - if any images have been resized to two different sizes in the last
115256           X ms, draw all resized images in low quality and kick the timer
115257           forward
115258         - when the timer expires, if any animated resizes occured, redraw all
115259           resized images in high quality, and reset the flag
115260
115261         This should cause GUIMark and the IE9 demos to have good performance 
115262         after the first frame, while other pages with only static resizes
115263         should be unaffected.
115264
115265         * rendering/RenderBoxModelObject.cpp:
115266         Change the LastPaintTimeMap to a LastPaintSizeMap:  we now record the
115267         last size an image was resized to, rather than the time it was painted
115268         (the time actually became redundant in r61341 when I added the
115269         check for m_timer.isActive():  we only care if anything is resizing
115270         while the timer is active).
115271         (WebCore::ImageQualityController::ImageQualityController):
115272         Add an initializer for the m_animatedResizeIsActive flag.
115273         (WebCore::ImageQualityController::objectDestroyed):
115274         Reset the m_animatedResizeIsActive flag if this was the last object
115275         in the list.
115276         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
115277         Only repaint all the images if there was an animated resize (otherwise,
115278         everything is already high quality).
115279         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
115280         Implement the above algorithm.
115281
115282 2010-06-23  Abhishek Arya  <inferno@chromium.org>
115283
115284         Reviewed by Kenneth Rohde Christiansen.
115285
115286         Bad cast after DOM mutation in RenderMenuList
115287         https://bugs.webkit.org/show_bug.cgi?id=40828
115288  
115289         Firing the onchange event on select which changes its size > 1 causes the select
115290         object to change from a menulist to a listbox. However, when propogating the events,
115291         we do a bad cast assuming the object will remain a menulist. Added proper checks to
115292         make sure we check the renderer after the onchange is fired and propogate the event
115293         based on correct object type.
115294
115295         Test: fast/events/select-onchange-crash.html
115296
115297         * dom/SelectElement.cpp:
115298         (WebCore::SelectElement::setSelectedIndex):
115299
115300 2010-06-23  Andy Estes  <aestes@apple.com>
115301
115302         Reviewed by Alexey Proskuryakov.
115303         
115304         <rdar://problem/8107855> Prevent a crash in WebCore when removing an
115305         object element with an invalid data URL in in a listener to its
115306         beforeload event.
115307         https://bugs.webkit.org/show_bug.cgi?id=41054
115308
115309         Tests: fast/dom/beforeload/remove-bad-object-in-beforeload-listener.html
115310
115311         * html/HTMLObjectElement.cpp:
115312         (WebCore::HTMLObjectElement::renderFallbackContent): Exit early if the
115313         object element is not in the document.
115314         * rendering/RenderEmbeddedObject.cpp:
115315         (WebCore::RenderEmbeddedObject::updateWidget): If RenderWidget::destroy()
115316         was called during processing of onbeforeload, do not proceed with loading
115317         the object.
115318
115319 2010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
115320
115321         Reviewed by Xan Lopez.
115322
115323         [gtk] web fonts not loaded properly in scribd html5 reader
115324         https://bugs.webkit.org/show_bug.cgi?id=38758
115325
115326         Drop filling the pattern with default values, because this
115327         restricts the matching more than we want.
115328
115329         * platform/graphics/cairo/FontCacheCairo.cpp:
115330         (WebCore::FontCache::createFontPlatformData):
115331
115332 2010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
115333
115334         Reviewed by Xan Lopez.
115335
115336         [gtk] web fonts not loaded properly in scribd html5 reader
115337         https://bugs.webkit.org/show_bug.cgi?id=38758
115338
115339         Also special-case `sans' amd `mono', which are aliases commonly
115340         used in GTK+ applications.
115341
115342         * platform/graphics/cairo/FontCacheCairo.cpp:
115343         (WebCore::isWellKnownFontName):
115344
115345 2010-06-23  Justin Schuh  <jschuh@chromium.org>
115346
115347         Unreviewed, rolling out r61695.
115348         http://trac.webkit.org/changeset/61695
115349         https://bugs.webkit.org/show_bug.cgi?id=40798
115350
115351         61695 broke all the Linux builds.
115352
115353         * platform/image-decoders/png/PNGImageDecoder.cpp:
115354         (WebCore::PNGImageDecoder::rowAvailable):
115355
115356 2010-06-23  Kevin Ollivier  <kevino@theolliviers.com>
115357
115358         Reviewed by Darin Adler.
115359
115360         Fix PluginViewNone.cpp compilation for ports that also compile PluginView.cpp
115361         https://bugs.webkit.org/show_bug.cgi?id=37939
115362
115363         * plugins/PluginViewNone.cpp:
115364         (WebCore::PluginView::handleFocusInEvent):
115365         (WebCore::PluginView::handleFocusOutEvent):
115366         (WebCore::PluginView::keepAlive):
115367         (WebCore::PluginView::privateBrowsingStateChanged):
115368         (WebCore::PluginView::setJavaScriptPaused):
115369
115370 2010-06-23  Cris Neckar  <cdn@chromium.org>
115371
115372         Reviewed by Darin Fisher.
115373
115374         [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
115375         https://bugs.webkit.org/show_bug.cgi?id=40798
115376
115377         Catches error in row callback for libPNG when extra rows are returned.
115378
115379         Test: fast/images/png-extra-row-crash.html
115380
115381         * platform/image-decoders/png/PNGImageDecoder.cpp:
115382         (WebCore::PNGImageDecoder::rowAvailable):
115383
115384 2010-06-23  James Robinson  <jamesr@chromium.org>
115385
115386         Reviewed by Dan Bernstein.
115387
115388         Do not set needsLayout when the style attribute changes on an SVG element
115389         https://bugs.webkit.org/show_bug.cgi?id=40366
115390
115391         SVGSVGElement::svgAttributeChanged was incorrectly calling renderer()->setNeedsLayout(true)
115392         whenever the styleAttr changed on its element.  This could happen during layout in some
115393         circumstances due to lazy style attribute synchronization.  When it did, it could cause the
115394         layout flags to become inconsistent.  See the test case for details.
115395
115396         Changes to an element's style attribute always mark an element as needing layout anyway so
115397         this call was redundant.
115398
115399         Test: fast/repaint/svg-layout-root-style-attr-update.html
115400
115401         * svg/SVGStyledElement.cpp:
115402         (WebCore::SVGStyledElement::isKnownAttribute):
115403
115404 2010-06-23  Simon Fraser  <simon.fraser@apple.com>
115405
115406         Reviewed by Dan Bernstein.
115407
115408         r61215 broke Acid3
115409         https://bugs.webkit.org/show_bug.cgi?id=41034
115410         
115411         The code added in r61215, which tests whether the root renderer will fill
115412         the entire viewport, should not run for subframes. So bail from
115413         RenderView::paintBoxDecorations() if document()->ownerElement() is not null.
115414         The old code was trying to do this by checking 'elt', but that ends up as 
115415         null after the for loop above.
115416         
115417         We can also bail early if the is no FrameView().
115418
115419         Test: fast/frames/paint-iframe-background.html
115420
115421         * rendering/RenderView.cpp:
115422         (WebCore::RenderView::paintBoxDecorations):
115423
115424 2010-06-23  Pavel Feldman  <pfeldman@chromium.org>
115425
115426         Reviewed by Yury Semikhatsky.
115427
115428         Web Inspector: do not reset profiles panel on navigation.
115429
115430         https://bugs.webkit.org/show_bug.cgi?id=41068
115431
115432         * inspector/InspectorController.cpp:
115433         (WebCore::InspectorController::didCommitLoad):
115434         * inspector/InspectorFrontend.cpp:
115435         (WebCore::InspectorFrontend::resetProfilesPanel):
115436         * inspector/InspectorFrontend.h:
115437         * inspector/front-end/ProfilesPanel.js:
115438         (WebInspector.ProfilesPanel):
115439         (WebInspector.ProfilesPanel.prototype.populateInterface):
115440         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
115441         (WebInspector.ProfilesPanel.prototype._reset):
115442         (WebInspector.ProfilesPanel.prototype._clearProfiles):
115443         * inspector/front-end/inspector.js:
115444         (WebInspector.resetProfilesPanel):
115445
115446 2010-06-23  Yury Semikhatsky  <yurys@chromium.org>
115447
115448         Reviewed by Pavel Feldman.
115449
115450         Web Inspector: InspectorController should be added only once as ScriptDebugListener to
115451         ScriptDebugServer.
115452         https://bugs.webkit.org/show_bug.cgi?id=41070
115453
115454         * inspector/InspectorController.cpp:
115455         (WebCore::InspectorController::connectFrontend):
115456         (WebCore::InspectorController::disconnectFrontend):
115457         (WebCore::InspectorController::enableDebuggerFromFrontend):
115458         * inspector/front-end/ScriptsPanel.js:
115459         (WebInspector.ScriptsPanel): don't call InspectorBackend.enableDebugger if debugger is always enabled,
115460         InspectorController will do this on its side when the front end is connected.
115461
115462 2010-06-23  Pavel Podivilov  <podivilov@chromium.org>
115463
115464         Reviewed by Yury Semikhatsky.
115465
115466         Clear breakpoints before restoring them, not after.
115467         https://bugs.webkit.org/show_bug.cgi?id=41071
115468
115469         * inspector/InspectorController.cpp:
115470         (WebCore::InspectorController::enableDebuggerFromFrontend):
115471
115472 2010-06-23  Benjamin Poulain  <benjamin.poulain@nokia.com>
115473
115474         Reviewed by Kenneth Rohde Christiansen.
115475
115476         Do not render the full frame when there is some elements with fixed positioning
115477         https://bugs.webkit.org/show_bug.cgi?id=33150
115478
115479         Do not render the full frame when there is some elements with fixed positioning
115480         https://bugs.webkit.org/show_bug.cgi?id=33150
115481
115482         The frame view take into acount the list of fixed object when scrolling
115483         the view. If the number of object is lower than a certain threshold, the pixel
115484         are blitted, and the invalidated area updated.
115485
115486         * page/FrameView.cpp:
115487         (WebCore::FrameView::addFixedObject):
115488         (WebCore::FrameView::removeFixedObject):
115489         (WebCore::FrameView::scrollContentsFastPath):
115490         * page/FrameView.h:
115491         * platform/ScrollView.cpp:
115492         (WebCore::ScrollView::scrollContents):
115493         (WebCore::ScrollView::scrollContentsFastPath):
115494         * platform/ScrollView.h:
115495         * rendering/RenderLayer.cpp:
115496         (WebCore::RenderLayer::repaintRectIncludingDescendants):
115497         * rendering/RenderLayer.h:
115498         * rendering/RenderObject.cpp:
115499         (WebCore::RenderObject::styleWillChange):
115500
115501 2010-06-23  Mikhail Naganov  <mnaganov@chromium.org>
115502
115503         Reviewed by Pavel Feldman.
115504
115505         Web Inspector: Fix displaying of several CPU profiles with the same name.
115506
115507         https://bugs.webkit.org/show_bug.cgi?id=40992
115508
115509         * inspector/front-end/ProfilesPanel.js:
115510         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
115511
115512 2010-06-23  Adam Barth  <abarth@webkit.org>
115513
115514         Unreviewed.  clean-header-guards that were made dirty by recent
115515         renames.
115516
115517         * html/HTMLDocumentParser.h:
115518         * html/HTMLPreloadScanner.h:
115519         * html/HTMLTokenizer.h:
115520         * html/HTMLTreeBuilder.h:
115521         * html/LegacyHTMLDocumentParser.h:
115522         * html/LegacyHTMLTreeBuilder.h:
115523         * html/LegacyPreloadScanner.h:
115524
115525 2010-06-23  Adam Barth  <abarth@webkit.org>
115526
115527         Reviewed by Eric Seidel.
115528
115529         Rename LegacyHTMLTreeConstructor to LegacyHTMLTreeBuilder
115530         https://bugs.webkit.org/show_bug.cgi?id=41053
115531
115532         There was some debate about whether to call this class (and the
115533         non-legacy version) "tree builder" or "tree constructor".  Maciej
115534         pointed out that other implementations (including Mozilla and HTML5Lib)
115535         call it a tree builder.  The path of least resistance seems to be call
115536         it that for now.
115537
115538         * Android.mk:
115539         * CMakeLists.txt:
115540         * GNUmakefile.am:
115541         * WebCore.gypi:
115542         * WebCore.pro:
115543         * WebCore.vcproj/WebCore.vcproj:
115544         * WebCore.xcodeproj/project.pbxproj:
115545         * dom/Document.cpp:
115546         * dom/DocumentParser.h:
115547         (WebCore::DocumentParser::htmlTreeConstructor):
115548         * html/HTMLDocumentParser.cpp:
115549         (WebCore::HTMLDocumentParser::htmlTreeConstructor):
115550         * html/HTMLDocumentParser.h:
115551         * html/HTMLFormControlElement.cpp:
115552         (WebCore::HTMLFormControlElement::removedFromTree):
115553         * html/HTMLInputElement.cpp:
115554         * html/HTMLMeterElement.cpp:
115555         * html/HTMLProgressElement.cpp:
115556         * html/HTMLTreeBuilder.cpp:
115557         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
115558         * html/HTMLTreeBuilder.h:
115559         (WebCore::HTMLTreeBuilder::legacyTreeConstructor):
115560         * html/LegacyHTMLDocumentParser.cpp:
115561         (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
115562         * html/LegacyHTMLDocumentParser.h:
115563         (WebCore::LegacyHTMLDocumentParser::htmlTreeConstructor):
115564         * html/LegacyHTMLTreeBuilder.cpp: Copied from WebCore/html/LegacyHTMLTreeConstructor.cpp.
115565         (WebCore::LegacyHTMLTreeBuilder::LegacyHTMLTreeBuilder):
115566         (WebCore::LegacyHTMLTreeBuilder::~LegacyHTMLTreeBuilder):
115567         (WebCore::LegacyHTMLTreeBuilder::reset):
115568         (WebCore::LegacyHTMLTreeBuilder::setCurrent):
115569         (WebCore::LegacyHTMLTreeBuilder::limitDepth):
115570         (WebCore::LegacyHTMLTreeBuilder::insertNodeAfterLimitDepth):
115571         (WebCore::LegacyHTMLTreeBuilder::parseToken):
115572         (WebCore::LegacyHTMLTreeBuilder::parseDoctypeToken):
115573         (WebCore::LegacyHTMLTreeBuilder::insertNode):
115574         (WebCore::LegacyHTMLTreeBuilder::handleError):
115575         (WebCore::LegacyHTMLTreeBuilder::textCreateErrorCheck):
115576         (WebCore::LegacyHTMLTreeBuilder::commentCreateErrorCheck):
115577         (WebCore::LegacyHTMLTreeBuilder::headCreateErrorCheck):
115578         (WebCore::LegacyHTMLTreeBuilder::bodyCreateErrorCheck):
115579         (WebCore::LegacyHTMLTreeBuilder::framesetCreateErrorCheck):
115580         (WebCore::LegacyHTMLTreeBuilder::formCreateErrorCheck):
115581         (WebCore::LegacyHTMLTreeBuilder::isindexCreateErrorCheck):
115582         (WebCore::LegacyHTMLTreeBuilder::selectCreateErrorCheck):
115583         (WebCore::LegacyHTMLTreeBuilder::ddCreateErrorCheck):
115584         (WebCore::LegacyHTMLTreeBuilder::dtCreateErrorCheck):
115585         (WebCore::LegacyHTMLTreeBuilder::rpCreateErrorCheck):
115586         (WebCore::LegacyHTMLTreeBuilder::rtCreateErrorCheck):
115587         (WebCore::LegacyHTMLTreeBuilder::nestedCreateErrorCheck):
115588         (WebCore::LegacyHTMLTreeBuilder::nestedPCloserCreateErrorCheck):
115589         (WebCore::LegacyHTMLTreeBuilder::nestedStyleCreateErrorCheck):
115590         (WebCore::LegacyHTMLTreeBuilder::tableCellCreateErrorCheck):
115591         (WebCore::LegacyHTMLTreeBuilder::tableSectionCreateErrorCheck):
115592         (WebCore::LegacyHTMLTreeBuilder::noembedCreateErrorCheck):
115593         (WebCore::LegacyHTMLTreeBuilder::noframesCreateErrorCheck):
115594         (WebCore::LegacyHTMLTreeBuilder::noscriptCreateErrorCheck):
115595         (WebCore::LegacyHTMLTreeBuilder::pCloserCreateErrorCheck):
115596         (WebCore::LegacyHTMLTreeBuilder::pCloserStrictCreateErrorCheck):
115597         (WebCore::LegacyHTMLTreeBuilder::mapCreateErrorCheck):
115598         (WebCore::LegacyHTMLTreeBuilder::getNode):
115599         (WebCore::LegacyHTMLTreeBuilder::allowNestedRedundantTag):
115600         (WebCore::LegacyHTMLTreeBuilder::processCloseTag):
115601         (WebCore::LegacyHTMLTreeBuilder::isHeadingTag):
115602         (WebCore::LegacyHTMLTreeBuilder::isInline):
115603         (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
115604         (WebCore::LegacyHTMLTreeBuilder::isAffectedByResidualStyle):
115605         (WebCore::LegacyHTMLTreeBuilder::handleResidualStyleCloseTagAcrossBlocks):
115606         (WebCore::LegacyHTMLTreeBuilder::reopenResidualStyleTags):
115607         (WebCore::LegacyHTMLTreeBuilder::pushBlock):
115608         (WebCore::LegacyHTMLTreeBuilder::popBlock):
115609         (WebCore::LegacyHTMLTreeBuilder::popOneBlockCommon):
115610         (WebCore::LegacyHTMLTreeBuilder::popOneBlock):
115611         (WebCore::LegacyHTMLTreeBuilder::moveOneBlockToStack):
115612         (WebCore::LegacyHTMLTreeBuilder::checkIfHasPElementInScope):
115613         (WebCore::LegacyHTMLTreeBuilder::popInlineBlocks):
115614         (WebCore::LegacyHTMLTreeBuilder::freeBlock):
115615         (WebCore::LegacyHTMLTreeBuilder::createHead):
115616         (WebCore::LegacyHTMLTreeBuilder::handleIsindex):
115617         (WebCore::LegacyHTMLTreeBuilder::startBody):
115618         (WebCore::LegacyHTMLTreeBuilder::finished):
115619         (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
115620         * html/LegacyHTMLTreeBuilder.h: Copied from WebCore/html/LegacyHTMLTreeConstructor.h.
115621         * html/LegacyHTMLTreeConstructor.cpp: Removed.
115622         * html/LegacyHTMLTreeConstructor.h: Removed.
115623         * html/StepRange.cpp:
115624         * html/ValidityState.cpp:
115625         * rendering/RenderSlider.cpp:
115626
115627 2010-06-23  Adam Barth  <abarth@webkit.org>
115628
115629         Reviewed by Eric Seidel.
115630
115631         Rename the preload scanners
115632         https://bugs.webkit.org/show_bug.cgi?id=41052
115633
115634         Renames PreloadScanner to LegacyPreloadScanner because this code is now
115635         off by default.  Also, rename HTML5PreloadScanner to
115636         HTMLPreloadScanner.  We're not calling it PreloadScanner because we've
115637         factored out the CSSPreloadScanner and the HTMLPreloadScanner from the
115638         original PreloadScanner.
115639
115640         * Android.mk:
115641         * CMakeLists.txt:
115642         * GNUmakefile.am:
115643         * WebCore.gypi:
115644         * WebCore.pro:
115645         * WebCore.vcproj/WebCore.vcproj:
115646         * WebCore.xcodeproj/project.pbxproj:
115647         * html/HTML5PreloadScanner.cpp: Removed.
115648         * html/HTML5PreloadScanner.h: Removed.
115649         * html/HTMLDocumentParser.cpp:
115650         (WebCore::HTMLDocumentParser::pumpTokenizer):
115651         * html/HTMLDocumentParser.h:
115652         * html/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTML5PreloadScanner.cpp.
115653         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
115654         (WebCore::HTMLPreloadScanner::appendToEnd):
115655         (WebCore::HTMLPreloadScanner::scan):
115656         (WebCore::HTMLPreloadScanner::processToken):
115657         (WebCore::HTMLPreloadScanner::scanningBody):
115658         * html/HTMLPreloadScanner.h: Copied from WebCore/html/HTML5PreloadScanner.h.
115659         * html/LegacyHTMLDocumentParser.cpp:
115660         (WebCore::LegacyHTMLDocumentParser::scriptHandler):
115661         (WebCore::LegacyHTMLDocumentParser::scriptExecution):
115662         * html/LegacyHTMLDocumentParser.h:
115663         * html/LegacyPreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
115664         (WebCore::LegacyPreloadScanner::LegacyPreloadScanner):
115665         (WebCore::LegacyPreloadScanner::~LegacyPreloadScanner):
115666         (WebCore::LegacyPreloadScanner::begin):
115667         (WebCore::LegacyPreloadScanner::end):
115668         (WebCore::LegacyPreloadScanner::reset):
115669         (WebCore::LegacyPreloadScanner::scanningBody):
115670         (WebCore::LegacyPreloadScanner::write):
115671         (WebCore::LegacyPreloadScanner::clearLastCharacters):
115672         (WebCore::LegacyPreloadScanner::rememberCharacter):
115673         (WebCore::LegacyPreloadScanner::lastCharactersMatch):
115674         (WebCore::LegacyPreloadScanner::consumeEntity):
115675         (WebCore::LegacyPreloadScanner::tokenize):
115676         (WebCore::LegacyPreloadScanner::processAttribute):
115677         (WebCore::LegacyPreloadScanner::emitCharacter):
115678         (WebCore::LegacyPreloadScanner::tokenizeCSS):
115679         (WebCore::LegacyPreloadScanner::emitTag):
115680         (WebCore::LegacyPreloadScanner::emitCSSRule):
115681         * html/LegacyPreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
115682         * html/PreloadScanner.cpp: Removed.
115683         * html/PreloadScanner.h: Removed.
115684         * page/XSSAuditor.cpp:
115685         (WebCore::XSSAuditor::decodeHTMLEntities):
115686
115687 2010-06-23  Adam Barth  <abarth@webkit.org>
115688
115689         Reviewed by Eric Seidel.
115690
115691         Yet more HTML5 => HTML renames
115692         https://bugs.webkit.org/show_bug.cgi?id=41051
115693
115694         This patch renames HTML5DocumentParser to HTMLDocumentParser and
115695         HTML5TreeBuilder to HTMLTreeBuilder.  There was some discussion about
115696         whether to use the name HTMLTreeBuilder or HTMLTreeConstructor, but
115697         tree builder seems to be the dominate name in other implementations.
115698
115699         * Android.mk:
115700         * CMakeLists.txt:
115701         * GNUmakefile.am:
115702         * WebCore.gypi:
115703         * WebCore.pro:
115704         * WebCore.vcproj/WebCore.vcproj:
115705         * WebCore.xcodeproj/project.pbxproj:
115706         * dom/DocumentFragment.cpp:
115707         (WebCore::DocumentFragment::parseHTML):
115708         * html/HTML5DocumentParser.cpp: Removed.
115709         * html/HTML5DocumentParser.h: Removed.
115710         * html/HTML5PreloadScanner.cpp:
115711         (WebCore::HTML5PreloadScanner::scan):
115712         (WebCore::HTML5PreloadScanner::processToken):
115713         * html/HTML5TreeBuilder.cpp: Removed.
115714         * html/HTML5TreeBuilder.h: Removed.
115715         * html/HTMLDocument.cpp:
115716         (WebCore::HTMLDocument::createParser):
115717         * html/HTMLDocumentParser.cpp: Copied from WebCore/html/HTML5DocumentParser.cpp.
115718         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
115719         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
115720         (WebCore::HTMLDocumentParser::begin):
115721         (WebCore::HTMLDocumentParser::stopParsing):
115722         (WebCore::HTMLDocumentParser::processingData):
115723         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
115724         (WebCore::HTMLDocumentParser::isScheduledForResume):
115725         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
115726         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeConstructor):
115727         (WebCore::HTMLDocumentParser::pumpTokenizer):
115728         (WebCore::HTMLDocumentParser::willPumpLexer):
115729         (WebCore::HTMLDocumentParser::didPumpLexer):
115730         (WebCore::HTMLDocumentParser::write):
115731         (WebCore::HTMLDocumentParser::end):
115732         (WebCore::HTMLDocumentParser::attemptToEnd):
115733         (WebCore::HTMLDocumentParser::endIfDelayed):
115734         (WebCore::HTMLDocumentParser::finish):
115735         (WebCore::HTMLDocumentParser::finishWasCalled):
115736         (WebCore::HTMLDocumentParser::executingScript):
115737         (WebCore::HTMLDocumentParser::inScriptExecution):
115738         (WebCore::HTMLDocumentParser::lineNumber):
115739         (WebCore::HTMLDocumentParser::columnNumber):
115740         (WebCore::HTMLDocumentParser::htmlTreeConstructor):
115741         (WebCore::HTMLDocumentParser::isWaitingForScripts):
115742         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
115743         (WebCore::HTMLDocumentParser::watchForLoad):
115744         (WebCore::HTMLDocumentParser::stopWatchingForLoad):
115745         (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
115746         (WebCore::HTMLDocumentParser::notifyFinished):
115747         (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
115748         (WebCore::HTMLDocumentParser::script):
115749         * html/HTMLDocumentParser.h: Copied from WebCore/html/HTML5DocumentParser.h.
115750         * html/HTMLParserScheduler.cpp:
115751         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
115752         * html/HTMLParserScheduler.h:
115753         * html/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTML5TreeBuilder.cpp.
115754         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
115755         (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder):
115756         (WebCore::HTMLTreeBuilder::handleScriptStartTag):
115757         (WebCore::HTMLTreeBuilder::handleScriptEndTag):
115758         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
115759         (WebCore::HTMLTreeBuilder::adjustedLexerState):
115760         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
115761         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
115762         (WebCore::HTMLTreeBuilder::processToken):
115763         (WebCore::HTMLTreeBuilder::finished):
115764         (WebCore::HTMLTreeBuilder::isScriptingFlagEnabled):
115765         * html/HTMLTreeBuilder.h: Copied from WebCore/html/HTML5TreeBuilder.h.
115766
115767 2010-06-23  Adam Barth  <abarth@webkit.org>
115768
115769         Reviewed by Eric Seidel.
115770
115771         More HTML5 => HTML renames
115772         https://bugs.webkit.org/show_bug.cgi?id=41049
115773
115774         This patch renames HTML5ScriptRunner, HTML5ScriptRunnerHost, and
115775         HTML5Token to remove the "5" from their names.  These clases aren't
115776         specific to HTML5 and will be used going forward.
115777
115778         * Android.mk:
115779         * CMakeLists.txt:
115780         * GNUmakefile.am:
115781         * WebCore.gypi:
115782         * WebCore.pro:
115783         * WebCore.vcproj/WebCore.vcproj:
115784         * WebCore.xcodeproj/project.pbxproj:
115785         * html/CSSPreloadScanner.cpp:
115786         (WebCore::CSSPreloadScanner::scan):
115787         * html/CSSPreloadScanner.h:
115788         * html/HTML5DocumentParser.cpp:
115789         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
115790         (WebCore::HTML5DocumentParser::notifyFinished):
115791         * html/HTML5DocumentParser.h:
115792         * html/HTML5PreloadScanner.cpp:
115793         (WebCore::HTMLNames::PreloadTask::PreloadTask):
115794         (WebCore::HTMLNames::PreloadTask::processAttributes):
115795         (WebCore::HTML5PreloadScanner::processToken):
115796         * html/HTML5PreloadScanner.h:
115797         * html/HTML5ScriptRunner.cpp: Removed.
115798         * html/HTML5ScriptRunner.h: Removed.
115799         * html/HTML5ScriptRunnerHost.h: Removed.
115800         * html/HTML5Token.h: Removed.
115801         * html/HTML5TreeBuilder.cpp:
115802         (WebCore::convertToOldStyle):
115803         (WebCore::HTML5TreeBuilder::handleScriptEndTag):
115804         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
115805         (WebCore::HTML5TreeBuilder::constructTreeFromToken):
115806         (WebCore::HTML5TreeBuilder::processToken):
115807         * html/HTML5TreeBuilder.h:
115808         * html/HTMLScriptRunner.cpp: Copied from WebCore/html/HTML5ScriptRunner.cpp.
115809         (WebCore::HTMLScriptRunner::HTMLScriptRunner):
115810         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
115811         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
115812         (WebCore::HTMLScriptRunner::isPendingScriptReady):
115813         (WebCore::HTMLScriptRunner::executePendingScript):
115814         (WebCore::HTMLScriptRunner::executeScript):
115815         (WebCore::HTMLScriptRunner::hasScriptsWaitingForLoad):
115816         (WebCore::HTMLScriptRunner::watchForLoad):
115817         (WebCore::HTMLScriptRunner::stopWatchingForLoad):
115818         (WebCore::HTMLScriptRunner::execute):
115819         (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
115820         (WebCore::HTMLScriptRunner::executeParsingBlockingScripts):
115821         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
115822         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
115823         (WebCore::HTMLScriptRunner::requestScript):
115824         (WebCore::HTMLScriptRunner::runScript):
115825         * html/HTMLScriptRunner.h: Copied from WebCore/html/HTML5ScriptRunner.h.
115826         * html/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTML5ScriptRunnerHost.h.
115827         (WebCore::HTMLScriptRunnerHost::~HTMLScriptRunnerHost):
115828         * html/HTMLToken.h: Copied from WebCore/html/HTML5Token.h.
115829         (WebCore::HTMLToken::HTMLToken):
115830         * html/HTMLTokenizer.cpp:
115831         (WebCore::HTMLTokenizer::nextToken):
115832         (WebCore::HTMLTokenizer::emitCharacter):
115833         (WebCore::HTMLTokenizer::emitCurrentToken):
115834         (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
115835         * html/HTMLTokenizer.h:
115836
115837 2010-06-23  Adam Barth  <abarth@webkit.org>
115838
115839         Reviewed by Eric Seidel.
115840
115841         Rename HTML5EntityParser to HTMLEntityParser
115842         https://bugs.webkit.org/show_bug.cgi?id=41048
115843
115844         Mostly the result of do-webcore-rename, but I tweaked the header guard
115845         and the name of the free function.
115846
115847         * Android.mk:
115848         * CMakeLists.txt:
115849         * GNUmakefile.am:
115850         * WebCore.gypi:
115851         * WebCore.pro:
115852         * WebCore.vcproj/WebCore.vcproj:
115853         * WebCore.xcodeproj/project.pbxproj:
115854         * html/HTML5EntityParser.cpp: Removed.
115855         * html/HTML5EntityParser.h: Removed.
115856         * html/HTMLEntityParser.cpp: Copied from WebCore/html/HTML5EntityParser.cpp.
115857         (WebCore::consumeHTMLEntity):
115858         * html/HTMLEntityParser.h: Copied from WebCore/html/HTML5EntityParser.h.
115859         * html/HTMLTokenizer.cpp:
115860         (WebCore::HTMLTokenizer::processEntity):
115861         (WebCore::HTMLTokenizer::nextToken):
115862
115863 2010-06-22  Yuta Kitamura  <yutak@chromium.org>
115864
115865         Reviewed by Alexey Proskuryakov.
115866
115867         Add a new class that stores information about WebSocket handshake response.
115868
115869         In the future, instances of the new class will be passed to the Web Inspector
115870         so that it will be able to display information about WebSocket handshake
115871         response.
115872
115873         WebSocket: Add WebSocketHandshakeResponse
115874         https://bugs.webkit.org/show_bug.cgi?id=38728
115875
115876         Test: websocket/tests/handshake-fail-by-no-cr.html
115877
115878         * GNUmakefile.am:
115879         * WebCore.gypi:
115880         * WebCore.pro:
115881         * WebCore.vcproj/WebCore.vcproj:
115882         * WebCore.xcodeproj/project.pbxproj:
115883         * websockets/WebSocketHandshake.cpp:
115884         (WebCore::trimConsoleMessage):
115885         (WebCore::WebSocketHandshake::readServerHandshake):
115886         (WebCore::WebSocketHandshake::serverHandshakeResponse):
115887         (WebCore::WebSocketHandshake::readStatusLine): Moved from extractResponseCode.
115888         Add more error checks and make error messages more descriptive.
115889         (WebCore::WebSocketHandshake::readHTTPHeaders):
115890         (WebCore::WebSocketHandshake::processHeaders):
115891         * websockets/WebSocketHandshake.h:
115892         * websockets/WebSocketHandshakeResponse.cpp: Added.
115893         (WebCore::WebSocketHandshakeResponse::ChallengeResponse::ChallengeResponse):
115894         (WebCore::WebSocketHandshakeResponse::ChallengeResponse::set):
115895         (WebCore::WebSocketHandshakeResponse::WebSocketHandshakeResponse):
115896         (WebCore::WebSocketHandshakeResponse::~WebSocketHandshakeResponse):
115897         (WebCore::WebSocketHandshakeResponse::statusCode):
115898         (WebCore::WebSocketHandshakeResponse::setStatusCode):
115899         (WebCore::WebSocketHandshakeResponse::statusText):
115900         (WebCore::WebSocketHandshakeResponse::setStatusText):
115901         (WebCore::WebSocketHandshakeResponse::headerFields):
115902         (WebCore::WebSocketHandshakeResponse::addHeaderField):
115903         (WebCore::WebSocketHandshakeResponse::clearHeaderFields):
115904         (WebCore::WebSocketHandshakeResponse::challengeResponse):
115905         (WebCore::WebSocketHandshakeResponse::setChallengeResponse):
115906         * websockets/WebSocketHandshakeResponse.h: Added.
115907
115908 2010-06-23  Yuzo Fujishima  <yuzo@google.com>
115909
115910         Reviewed by Shinichiro Hamaji.
115911
115912         Implement page format data programming interface.
115913         The final goal is to implement CSS Paged Media Module Level 3 (http://dev.w3.org/csswg/css3-page/).
115914         To begin with, this change adds methods to know:
115915         - if page box is visible,
115916         - the page area rectangle, and
115917         - preferred page size.
115918
115919         https://bugs.webkit.org/show_bug.cgi?id=37538
115920
115921         Test: printing/page-format-data.html
115922
115923         * WebCore.base.exp:
115924         * css/CSSParser.cpp:
115925         (WebCore::CSSParser::parseSizeParameter):
115926         * css/CSSStyleSelector.cpp:
115927         (WebCore::CSSStyleSelector::applyProperty):
115928         (WebCore::CSSStyleSelector::applyPageSizeProperty):
115929         (WebCore::CSSStyleSelector::pageSizeFromName):
115930         (WebCore::CSSStyleSelector::mmLength):
115931         (WebCore::CSSStyleSelector::inchLength):
115932         * css/CSSStyleSelector.h:
115933         * css/html.css:
115934         (@page):
115935         * dom/Document.cpp:
115936         (WebCore::Document::isPageBoxVisible):
115937         (WebCore::Document::pageAreaRectInPixels):
115938         (WebCore::Document::preferredPageSizeInPixels):
115939         * dom/Document.h:
115940         * page/PrintContext.cpp:
115941         (WebCore::PrintContext::isPageBoxVisible):
115942         (WebCore::PrintContext::pageAreaRectInPixels):
115943         (WebCore::PrintContext::preferredPageSizeInPixels):
115944         * page/PrintContext.h:
115945         * rendering/style/RenderStyle.h:
115946         (WebCore::InheritedFlags::pageSize):
115947         (WebCore::InheritedFlags::setPageSize):
115948         * rendering/style/StyleRareNonInheritedData.h:
115949
115950 2010-06-23  Adam Barth  <abarth@webkit.org>
115951
115952         Reviewed by Eric Seidel.
115953
115954         Rename lexer and m_lexer to tokenizer and m_tokenizer, respectively
115955         https://bugs.webkit.org/show_bug.cgi?id=41046
115956
115957         This is a follow up to the recent HTML5Lexer => HTMLTokenizer rename.
115958
115959         * html/HTML5DocumentParser.cpp:
115960         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
115961         (WebCore::HTML5DocumentParser::begin):
115962         (WebCore::HTML5DocumentParser::pumpLexer):
115963         (WebCore::HTML5DocumentParser::willPumpLexer):
115964         (WebCore::HTML5DocumentParser::didPumpLexer):
115965         (WebCore::HTML5DocumentParser::lineNumber):
115966         (WebCore::HTML5DocumentParser::columnNumber):
115967         * html/HTML5DocumentParser.h:
115968         * html/HTML5PreloadScanner.cpp:
115969         (WebCore::HTML5PreloadScanner::scan):
115970         (WebCore::HTML5PreloadScanner::processToken):
115971         * html/HTML5PreloadScanner.h:
115972         * html/HTML5TreeBuilder.cpp:
115973         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
115974         (WebCore::HTML5TreeBuilder::handleScriptStartTag):
115975         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
115976         * html/HTML5TreeBuilder.h:
115977         * html/HTMLTokenizer.h:
115978         * html/LegacyHTMLDocumentParser.h:
115979
115980 2010-06-23  Nikolas Zimmermann  <nzimmermann@rim.com>
115981
115982         Reviewed by Eric Seidel.
115983
115984         Reproducible crash in com.apple.WebCore 0x01ed3784 WebCore::RenderLineBoxList::appendLineBox(WebCore::InlineFlowBox*) + 36
115985         https://bugs.webkit.org/show_bug.cgi?id=40953
115986
115987         REGRESSION (r58209-58231): Memory corruption with invalid SVG
115988         https://bugs.webkit.org/show_bug.cgi?id=40173
115989
115990         Fix several crashes, all related to <foreignObject> and/or invalid SVG documents.
115991         - Only allow <svg> nodes, as direct children of a <foreignObject>, not any other "partial" SVG content.
115992         - Assure to create RenderSVGRoot objects for <svg> nodes in <foreignObject>, treat them as "outermost SVG elements".
115993         - Never allow any partial SVG content to appear in any document. Only <svg> elements are allowed.
115994
115995         Tests: svg/custom/bug45331.svg
115996                svg/foreignObject/disallowed-svg-nodes-as-direct-children.svg
115997                svg/foreignObject/no-crash-with-svg-content-in-html-document.svg
115998                svg/foreignObject/svg-document-as-direct-child.svg
115999                svg/foreignObject/svg-document-in-html-document.svg
116000                svg/foreignObject/text-tref-02-b.svg
116001
116002         * dom/Element.cpp: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
116003         (WebCore::Element::childShouldCreateRenderer): Only create a renderer for a SVG child, if we're a SVG element, or if the child is a <svg> element.
116004         * dom/Element.h: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
116005         * svg/SVGForeignObjectElement.cpp:
116006         (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): Disallow arbitary SVG content, only <svg> elements are allowed as direct children of a <foreignObject>
116007         * svg/SVGSVGElement.cpp:
116008         (WebCore::SVGSVGElement::isOutermostSVG): Be sure to create RenderSVGRoot objects for <svg> elements inside <foreignObject>
116009
116010 2010-06-22  Adam Barth  <abarth@webkit.org>
116011
116012         Reviewed by Eric Seidel.
116013
116014         Rename HTML5Lexer to HTMLTokenizer
116015         https://bugs.webkit.org/show_bug.cgi?id=41045
116016
116017         This might be slightly confusing given that the old class was called
116018         HTMLTokenizer, but it matches the terminology in the HTML5 spec.
116019
116020         * Android.mk:
116021         * CMakeLists.txt:
116022         * GNUmakefile.am:
116023         * WebCore.gypi:
116024         * WebCore.pro:
116025         * WebCore.vcproj/WebCore.vcproj:
116026         * WebCore.xcodeproj/project.pbxproj:
116027         * html/HTML5DocumentParser.cpp:
116028         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
116029         (WebCore::HTML5DocumentParser::pumpLexer):
116030         * html/HTML5DocumentParser.h:
116031         * html/HTML5Lexer.cpp: Removed.
116032         * html/HTML5Lexer.h: Removed.
116033         * html/HTML5PreloadScanner.cpp:
116034         (WebCore::HTML5PreloadScanner::processToken):
116035         * html/HTML5PreloadScanner.h:
116036         * html/HTML5TreeBuilder.cpp:
116037         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
116038         (WebCore::HTML5TreeBuilder::handleScriptStartTag):
116039         (WebCore::HTML5TreeBuilder::adjustedLexerState):
116040         * html/HTML5TreeBuilder.h:
116041         * html/HTMLTokenizer.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
116042         (WebCore::HTMLNames::isEndTagBufferingState):
116043         (WebCore::HTMLTokenizer::HTMLTokenizer):
116044         (WebCore::HTMLTokenizer::~HTMLTokenizer):
116045         (WebCore::HTMLTokenizer::reset):
116046         (WebCore::HTMLTokenizer::processEntity):
116047         (WebCore::HTMLTokenizer::nextToken):
116048         (WebCore::HTMLTokenizer::temporaryBufferIs):
116049         (WebCore::HTMLTokenizer::addToPossibleEndTag):
116050         (WebCore::HTMLTokenizer::isAppropriateEndTag):
116051         (WebCore::HTMLTokenizer::emitCharacter):
116052         (WebCore::HTMLTokenizer::emitCodePoint):
116053         (WebCore::HTMLTokenizer::emitParseError):
116054         (WebCore::HTMLTokenizer::emitCurrentToken):
116055         (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
116056         * html/HTMLTokenizer.h: Copied from WebCore/html/HTML5Lexer.h.
116057
116058 2010-06-22  Simon Hausmann  <simon.hausmann@nokia.com>
116059
116060         Unreviewed Qt/Symbian build fix.
116061
116062         Fix "make clean" to not try to execute clean commands for
116063         the extra targets we use to simulate "make install".
116064
116065         * WebCore.pro: Use no_clean in CONFIG of extra compilers.
116066
116067 2010-06-22  Eric Seidel  <eric@webkit.org>
116068
116069         Reviewed by Adam Barth.
116070
116071         Run clean-header-guards to fix some header guards
116072         https://bugs.webkit.org/show_bug.cgi?id=41044
116073
116074         No functional changes, thus no tests.
116075
116076         This entire change was generated by running
116077         clean-header-guards, and then reverting changes
116078         to files which shouldn't be changed.  Those which
116079         are left all should be updated.
116080
116081         Some of these changes are just fixing 755 permissions
116082         to be 644, since it seems various files have the wrong
116083         execute bit which don't need it.  clean-header-guards
116084         made those (welcome) permission fixes unintentionally.
116085
116086         * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
116087         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
116088         * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
116089         * dom/Touch.h:
116090         * dom/TouchList.h:
116091         * dom/XMLDocumentParser.h:
116092         * dom/XMLDocumentParserScope.h:
116093         * html/HTML5DocumentParser.h:
116094         * html/LegacyHTMLTreeConstructor.h:
116095         * loader/CrossOriginPreflightResultCache.h:
116096         * page/OriginAccessEntry.h:
116097         * page/win/FrameWin.h:
116098         * platform/ThreadTimers.h:
116099         * platform/chromium/KeyboardCodes.h:
116100         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
116101         * platform/graphics/chromium/FontUtilsChromiumWin.h:
116102         * platform/graphics/filters/FEBlend.h:
116103         * platform/graphics/filters/FEColorMatrix.h:
116104         * platform/graphics/filters/FEComponentTransfer.h:
116105         * platform/graphics/filters/FEComposite.h:
116106         * platform/graphics/gstreamer/DataSourceGStreamer.h:
116107         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
116108          - I checked, this crazy define was not referenced
116109            anywhere else.  It's safe to change the name. :)
116110         * platform/graphics/haiku/FontPlatformData.h:
116111         * platform/graphics/qt/FontCustomPlatformData.h:
116112         * platform/graphics/skia/SkiaFontWin.h:
116113         * platform/graphics/win/GraphicsLayerCACF.h:
116114         * platform/graphics/win/QTMovieWinTimer.h:
116115         * platform/graphics/win/RefCountedGDIHandle.h:
116116         * platform/graphics/win/WebLayer.h:
116117         * platform/graphics/win/WebTiledLayer.h:
116118         * platform/graphics/wince/FontPlatformData.h:
116119         * platform/graphics/wx/FontPlatformData.h:
116120         * platform/network/CredentialStorage.h:
116121         * platform/network/cf/FormDataStreamCFNet.h:
116122         * platform/network/curl/FormDataStreamCurl.h:
116123         * platform/network/qt/DnsPrefetchHelper.h:
116124         * platform/network/qt/QNetworkReplyHandler.h:
116125         * platform/win/PlatformScrollBar.h:
116126         * plugins/PluginDatabase.h:
116127         * plugins/PluginPackage.h:
116128         * plugins/PluginStream.h:
116129         * plugins/qt/PluginContainerQt.h:
116130         * plugins/symbian/npinterface.h:
116131         * rendering/RenderSelectionInfo.h:
116132         * rendering/SVGRenderSupport.h:
116133         * storage/IDBObjectStoreImpl.h:
116134         * svg/animation/SMILTimeContainer.h:
116135         * wml/WMLErrorHandling.h:
116136
116137 2010-06-22  Adam Barth  <abarth@webkit.org>
116138
116139         Reviewed by Eric Seidel.
116140
116141         Rename HTMLDocumentParser to LegacyHTMLDocumentParser
116142         https://bugs.webkit.org/show_bug.cgi?id=41043
116143
116144         As requested by Darin Adler.
116145
116146         * Android.mk:
116147         * CMakeLists.txt:
116148         * GNUmakefile.am:
116149         * WebCore.gypi:
116150         * WebCore.pro:
116151         * WebCore.vcproj/WebCore.vcproj:
116152         * WebCore.xcodeproj/project.pbxproj:
116153         * css/CSSStyleSheet.cpp:
116154         (WebCore::CSSStyleSheet::checkLoaded):
116155         * dom/Document.cpp:
116156         (WebCore::Document::write):
116157         * dom/DocumentFragment.cpp:
116158         * dom/DocumentParser.h:
116159         (WebCore::DocumentParser::asHTMLDocumentParser):
116160         * dom/XMLDocumentParserLibxml2.cpp:
116161         * dom/XMLDocumentParserQt.cpp:
116162         * html/HTML5Lexer.h:
116163         (WebCore::HTML5Lexer::columnNumber):
116164         * html/HTML5TreeBuilder.cpp:
116165         * html/HTMLDocument.cpp:
116166         (WebCore::HTMLDocument::createParser):
116167         * html/HTMLDocumentParser.cpp: Removed.
116168         * html/HTMLDocumentParser.h: Removed.
116169         * html/HTMLFormControlElement.cpp:
116170         * html/HTMLParserScheduler.cpp:
116171         (WebCore::parserChunkSize):
116172         * html/HTMLViewSourceDocument.cpp:
116173         (WebCore::HTMLViewSourceDocument::createParser):
116174         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
116175         * html/HTMLViewSourceDocument.h:
116176         * html/LegacyHTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
116177         (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
116178         (WebCore::LegacyHTMLDocumentParser::reset):
116179         (WebCore::LegacyHTMLDocumentParser::begin):
116180         (WebCore::LegacyHTMLDocumentParser::setForceSynchronous):
116181         (WebCore::LegacyHTMLDocumentParser::processListing):
116182         (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
116183         (WebCore::LegacyHTMLDocumentParser::scriptHandler):
116184         (WebCore::LegacyHTMLDocumentParser::scriptExecution):
116185         (WebCore::LegacyHTMLDocumentParser::parseComment):
116186         (WebCore::LegacyHTMLDocumentParser::parseServer):
116187         (WebCore::LegacyHTMLDocumentParser::parseProcessingInstruction):
116188         (WebCore::LegacyHTMLDocumentParser::parseText):
116189         (WebCore::LegacyHTMLDocumentParser::parseEntity):
116190         (WebCore::LegacyHTMLDocumentParser::parseDoctype):
116191         (WebCore::LegacyHTMLDocumentParser::parseTag):
116192         (WebCore::LegacyHTMLDocumentParser::continueProcessing):
116193         (WebCore::LegacyHTMLDocumentParser::advance):
116194         (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
116195         (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
116196         (WebCore::LegacyHTMLDocumentParser::write):
116197         (WebCore::LegacyHTMLDocumentParser::stopParsing):
116198         (WebCore::LegacyHTMLDocumentParser::processingData):
116199         (WebCore::LegacyHTMLDocumentParser::timerFired):
116200         (WebCore::LegacyHTMLDocumentParser::end):
116201         (WebCore::LegacyHTMLDocumentParser::finish):
116202         (WebCore::LegacyHTMLDocumentParser::finishWasCalled):
116203         (WebCore::LegacyHTMLDocumentParser::processToken):
116204         (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
116205         (WebCore::LegacyHTMLDocumentParser::~LegacyHTMLDocumentParser):
116206         (WebCore::LegacyHTMLDocumentParser::enlargeBuffer):
116207         (WebCore::LegacyHTMLDocumentParser::enlargeScriptBuffer):
116208         (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
116209         (WebCore::LegacyHTMLDocumentParser::notifyFinished):
116210         (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
116211         (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
116212         (WebCore::LegacyHTMLDocumentParser::continueExecutingExternalScripts):
116213         (WebCore::LegacyHTMLDocumentParser::isWaitingForScripts):
116214         (WebCore::LegacyHTMLDocumentParser::setSrc):
116215         (WebCore::parseLegacyHTMLDocumentFragment):
116216         * html/LegacyHTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
116217         (WebCore::LegacyHTMLDocumentParser::asHTMLDocumentParser):
116218         * html/LegacyHTMLTreeConstructor.cpp:
116219         (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
116220         * html/LegacyHTMLTreeConstructor.h:
116221         * loader/FTPDirectoryDocument.cpp:
116222         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
116223         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
116224         (WebCore::FTPDirectoryDocumentParser::finish):
116225         * page/XSSAuditor.h:
116226
116227 2010-06-22  Shinichiro Hamaji  <hamaji@chromium.org>
116228
116229         Unreviewed attempt to fix the windows build.
116230
116231         Split out HTML5DocumentParser yield/resume logic into a separate class
116232         https://bugs.webkit.org/show_bug.cgi?id=41018
116233
116234         * WebCore.vcproj/WebCore.vcproj:
116235
116236 2010-06-22  Eric Seidel  <eric@webkit.org>
116237
116238         Reviewed by Adam Barth.
116239
116240         Split out HTML5DocumentParser yield/resume logic into a separate class
116241         https://bugs.webkit.org/show_bug.cgi?id=41018
116242
116243         The HTML5DocumentParser is just the coordinator, and shouldn't have
116244         any real parsing logic of his own.  Continuing along that path, I'm
116245         moving the when-to-yield/resume logic out into a separate class.
116246
116247         I could have create a new HTMLParserSchedulerHost virtual interface
116248         to allow the HTMLParserScheduler to talk back to the
116249         HTML5DocumentParser, but instead I just exposed the one method it
116250         needs (resumeParsing()) as a public method.  Since no code besides
116251         HTMLDocument (and DocumentFrament) ever should know about the
116252         HTML5DocumentParser DocumentParser subclass, no class should ever
116253         see the resumeParsing() method anyway.
116254
116255         Most of this change is just moving code from HTML5DocumentParser
116256         to the new HTMLParserScheduler.
116257
116258         Some of this change is wrapping previous direct access to
116259         m_continueNextChunkTimer.isActive() with isScheduledForResume().
116260
116261         * Android.mk:
116262         * CMakeLists.txt:
116263         * GNUmakefile.am:
116264         * WebCore.gypi:
116265         * WebCore.pro:
116266         * WebCore.xcodeproj/project.pbxproj:
116267         * html/HTML5DocumentParser.cpp:
116268         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
116269         (WebCore::HTML5DocumentParser::stopParsing):
116270         (WebCore::HTML5DocumentParser::processingData):
116271         (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
116272         (WebCore::HTML5DocumentParser::isScheduledForResume):
116273         (WebCore::HTML5DocumentParser::resumeParsing):
116274         (WebCore::HTML5DocumentParser::pumpLexer):
116275         (WebCore::HTML5DocumentParser::end):
116276         (WebCore::HTML5DocumentParser::attemptToEnd):
116277         (WebCore::HTML5DocumentParser::endIfDelayed):
116278         * html/HTML5DocumentParser.h:
116279         (WebCore::HTML5DocumentParser::document):
116280          - Exposed for HTMLParserScheduler.
116281         * html/HTMLParserScheduler.cpp: Added.
116282         (WebCore::parserTimeLimit): Moved from HTML5DocumentParser.
116283         (WebCore::parserChunkSize): ditto.
116284         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
116285         (WebCore::HTMLParserScheduler::~HTMLParserScheduler):
116286         (WebCore::isLayoutTimerActive):
116287         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
116288          - Moved from HTML5DocumentParser.
116289         * html/HTMLParserScheduler.h: Added.
116290         (WebCore::HTMLParserScheduler::PumpSession::PumpSession):
116291          - Moved from HTML5DocumentParser.
116292         (WebCore::HTMLParserScheduler::shouldContinueParsing):
116293         (WebCore::HTMLParserScheduler::isScheduledForResume):
116294
116295 2010-06-22  Pavel Feldman  <pfeldman@chromium.org>
116296
116297         Reviewed by Yury Semikhatsky.
116298
116299         Web Inspector: move nodeByPath from InjectedScript to InspectorBackend.
116300
116301         https://bugs.webkit.org/show_bug.cgi?id=40988
116302
116303         * inspector/InjectedScriptHost.cpp:
116304         * inspector/InjectedScriptHost.h:
116305         * inspector/InjectedScriptHost.idl:
116306         * inspector/InspectorBackend.cpp:
116307         (WebCore::InspectorBackend::pushNodeByPathToFrontend):
116308         * inspector/InspectorBackend.h:
116309         * inspector/InspectorBackend.idl:
116310         * inspector/InspectorDOMAgent.cpp:
116311         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
116312         (WebCore::InspectorDOMAgent::nodeForPath):
116313         * inspector/InspectorDOMAgent.h:
116314         * inspector/InspectorFrontend.cpp:
116315         (WebCore::InspectorFrontend::didPushNodeByPathToFrontend):
116316         * inspector/InspectorFrontend.h:
116317         * inspector/front-end/DOMAgent.js:
116318         * inspector/front-end/ElementsPanel.js:
116319         (WebInspector.ElementsPanel.prototype.setDocument):
116320         * inspector/front-end/InjectedScript.js:
116321         * inspector/front-end/InjectedScriptAccess.js:
116322
116323 2010-06-22  David Levin  <levin@chromium.org>
116324
116325         Reviewed by Alexey Proskuryakov.
116326
116327         REGRESSION: (r47291): Upload progress events are not fired for simple cross-site XHR.
116328         https://bugs.webkit.org/show_bug.cgi?id=39029
116329
116330         Specifically, WebKit should fire upload events if one or more event listeners are
116331         registered on the XMLHttpRequestUpload object when send is called in an async manner.
116332
116333         * xml/XMLHttpRequest.cpp:
116334         (WebCore::XMLHttpRequest::createRequest): Allow upload events to be fired when there are
116335         handlers for them in the cross-origin simple request case.
116336
116337 2010-06-22  Kent Tamura  <tkent@chromium.org>
116338
116339         Reviewed by Adam Barth.
116340
116341         Fix uninitialized SubframeLoader::m_containsPlugins
116342         https://bugs.webkit.org/show_bug.cgi?id=41035
116343
116344         * loader/SubframeLoader.cpp:
116345         (WebCore::SubframeLoader::SubframeLoader):
116346          Initialize m_containsPlugins with false.
116347
116348 2010-06-22  Kinuko Yasuda  <kinuko@chromium.org>
116349
116350         Reviewed by Adam Barth.
116351
116352         Add BlobBuilder.idl to expose BlobBuilder interface
116353         https://bugs.webkit.org/show_bug.cgi?id=40593
116354
116355         (Resubmitting with the correct file set.)
116356
116357         BlobBuilder is defined in FileAPI's FileWriter spec.
116358         (http://dev.w3.org/2009/dap/file-system/file-writer.html)
116359
116360         Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.
116361
116362         Tests: http/tests/local/blob/send-data-blob.html
116363                http/tests/local/blob/send-hybrid-blob.html
116364                http/tests/local/blob/send-sliced-data-blob.html
116365
116366         * Android.derived.jscbindings.mk:
116367         * Android.derived.v8bindings.mk:
116368         * CMakeLists.txt:
116369         * DerivedSources.cpp:
116370         * DerivedSources.make:
116371         * GNUmakefile.am:
116372         * WebCore.gypi:
116373         * WebCore.pri:
116374         * WebCore.pro:
116375         * WebCore.vcproj/WebCore.vcproj:
116376         * WebCore.xcodeproj/project.pbxproj:
116377         * html/BlobBuilder.cpp:
116378         (WebCore::BlobBuilder::append):
116379         * html/BlobBuilder.h:
116380         * html/BlobBuilder.idl: Added.
116381         * page/DOMWindow.idl:
116382
116383 2010-06-22  Kent Tamura  <tkent@chromium.org>
116384
116385         Unreviewed, build fix for r61648.
116386
116387         * platform/graphics/GraphicsContext3D.h:
116388
116389 2010-06-22  Vangelis Kokkevis  <vangelis@chromium.org>
116390
116391         Reviewed by Kent Tamura.
116392
116393         Define GraphicsContext3D::platformLayer() for all remaining (non PLATFORM(MAC))
116394         ports to get RenderLayerBacking.cpp compiling again.
116395         https://bugs.webkit.org/show_bug.cgi?id=41026
116396
116397         * platform/graphics/GraphicsContext3D.h:
116398         (WebCore::GraphicsContext3D::platformLayer):
116399
116400 2010-06-22  Eric Seidel  <eric@webkit.org>
116401
116402         Unreviewed.  Rolling out http://trac.webkit.org/changeset/61638
116403         made a few tests crash.
116404
116405         Make PendingScript hold a CachedResourceClient open for its lifetime
116406         https://bugs.webkit.org/show_bug.cgi?id=40968
116407
116408         * html/HTML5DocumentParser.cpp:
116409         (WebCore::HTML5DocumentParser::watchForLoad):
116410         (WebCore::HTML5DocumentParser::notifyFinished):
116411         * html/HTML5ScriptRunner.cpp:
116412         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
116413         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
116414         (WebCore::HTML5ScriptRunner::isPendingScriptReady):
116415         (WebCore::HTML5ScriptRunner::executePendingScript):
116416         (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
116417         (WebCore::HTML5ScriptRunner::watchForLoad):
116418         (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
116419         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
116420         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
116421         (WebCore::HTML5ScriptRunner::requestScript):
116422         * html/HTML5ScriptRunner.h:
116423         (WebCore::HTML5ScriptRunner::PendingScript::):
116424         (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
116425         (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
116426         * html/HTML5ScriptRunnerHost.h:
116427
116428 2010-06-22  Adele Peterson  <adele@apple.com>
116429
116430         Reviewed by Darin Adler.
116431
116432         Fix for Crash when the renderer for the button in <input type="number"> goes away during event handling
116433         https://bugs.webkit.org/show_bug.cgi?id=41013
116434
116435         Test: fast/forms/input-number-crash.html
116436
116437         * rendering/TextControlInnerElements.cpp: (WebCore::SpinButtonElement::defaultEventHandler):
116438         Nil check the RenderBox since its possible the renderer has gone away during event handling.
116439
116440 2010-06-22  Tony Gentilcore  <tonyg@chromium.org>
116441
116442         Reviewed by Eric Seidel.
116443
116444         Pull script line number from DocumentParser instead of pushing it to ScriptController
116445         https://bugs.webkit.org/show_bug.cgi?id=40649
116446
116447         This approach is cleaner and improves WebCore/benchmarks/parser/html-parser.html by ~2%.
116448
116449         Tests: fast/js/script-line-number.html
116450
116451         * bindings/js/ScriptController.cpp:
116452         (WebCore::ScriptController::ScriptController):
116453         (WebCore::ScriptController::eventHandlerLineNumber):
116454         * bindings/js/ScriptController.h:
116455         * bindings/v8/ScriptController.cpp:
116456         (WebCore::ScriptController::eventHandlerLineNumber):
116457         (WebCore::ScriptController::eventHandlerColumnNumber):
116458         * bindings/v8/ScriptController.h:
116459         * bindings/v8/ScriptEventListener.cpp:
116460         (WebCore::createAttributeEventListener):
116461         * bindings/v8/V8Proxy.h:
116462         * dom/XMLDocumentParserLibxml2.cpp:
116463         (WebCore::XMLDocumentParser::startElementNs):
116464         * html/HTML5DocumentParser.cpp:
116465         (WebCore::HTML5DocumentParser::pumpLexer):
116466         * html/HTMLDocumentParser.cpp:
116467         (WebCore::HTMLDocumentParser::processToken):
116468
116469 2010-06-22  Tony Gentilcore  <tonyg@chromium.org>
116470
116471         Reviewed by Eric Seidel.
116472
116473         Make PendingScript hold a CachedResourceClient open for its lifetime
116474         https://bugs.webkit.org/show_bug.cgi?id=40968
116475
116476         This replaces the mechanism introduced in r61374 with a simpler
116477         approach from preventing unexpected purges; always keep a client open.
116478         This will approach will allow deferred scripts to add a client after
116479         the resource may have already been loaded without having to worry about
116480         the buffer being purged in the meantime.
116481
116482         No new tests because making a CachedResource purge itself is not
116483         testable from a LayoutTest.
116484
116485         * html/HTML5DocumentParser.cpp:
116486         (WebCore::HTML5DocumentParser::watchForLoad):
116487         (WebCore::HTML5DocumentParser::notifyFinished):
116488         * html/HTML5ScriptRunner.cpp:
116489         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
116490         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
116491         (WebCore::HTML5ScriptRunner::isPendingScriptReady):
116492         (WebCore::HTML5ScriptRunner::executePendingScript):
116493         (WebCore::HTML5ScriptRunner::watchForLoad):
116494         (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
116495         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
116496         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
116497         (WebCore::HTML5ScriptRunner::requestScript):
116498         * html/HTML5ScriptRunner.h:
116499         (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
116500         (WebCore::HTML5ScriptRunner::PendingScript::~PendingScript):
116501         (WebCore::HTML5ScriptRunner::PendingScript::setCachedScript):
116502         (WebCore::HTML5ScriptRunner::PendingScript::cachedScript):
116503         (WebCore::HTML5ScriptRunner::PendingScript::notifyFinished):
116504         * html/HTML5ScriptRunnerHost.h:
116505
116506 2010-06-22  Eric Seidel  <eric@webkit.org>
116507
116508         Reviewed by Adam Barth.
116509
116510         Fragment parsing needs to go through the HTML5 Parser code path
116511         https://bugs.webkit.org/show_bug.cgi?id=40645
116512
116513         Added a new HTML5DocumentParser::parseHTMLDocumentFragment
116514         codepath which optionally calls through to the old fragment
116515         parsing path, now renamed parseLegacyHTMLDocumentFragment.
116516
116517         * dom/Element.cpp:
116518         (WebCore::Element::createContextualFragment):
116519          - Use document()->createDocumentFragment() instead
116520            of DocumentFragment::create() to match other callers
116521            (and not depend on DocumentFragment.h).
116522          - Update call to parseHTMLDocumentFragment to use the new
116523            HTML5 parser codepath.
116524         * dom/MappedAttributeEntry.h:
116525          - Add a FIXME about this horrible enum placement.
116526            Sadly this will cause a world-rebuild for everyone.
116527         * html/HTML5DocumentParser.cpp:
116528         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
116529         (WebCore::HTML5DocumentParser::runScriptsForPausedTreeConstructor):
116530          - The main pumpLexer function has gotten to large.  Move the script
116531            running logic into this new function.
116532          - Handle the case where we have no m_scriptRunner (fragment case).
116533         (WebCore::HTML5DocumentParser::pumpLexer):
116534          - Use new runScriptsForPausedTreeConstructor().
116535         (WebCore::HTML5DocumentParser::executingScript):
116536         (WebCore::HTML5DocumentParser::inScriptExecution):
116537          - New function to handle the case where m_scriptRunner is null.
116538         (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
116539          - Use inScriptExecution() instead of m_scriptRunner->inScriptExecution().
116540         (WebCore::HTML5DocumentParser::executeScript): ditto.
116541         (WebCore::HTML5DocumentParser::notifyFinished): ditto.
116542         (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets): ditto.
116543         (WebCore::shouldUseLegacyParser):
116544          - Helper function to check the html5ParserEnabled() setting.
116545         (WebCore::HTML5DocumentParser::parseHTMLDocumentFragment):
116546          - Run HTML5DocumentParser in fragment mode, or optionally run
116547            the legacy parser if !html5ParserEnabled().
116548         * html/HTML5DocumentParser.h:
116549         * html/HTML5TreeBuilder.cpp:
116550         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
116551         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
116552          - Implement the FragmentScriptingNotAllowed hack for platform/Pasteboard.
116553         * html/HTML5TreeBuilder.h:
116554         * html/HTMLDocumentParser.cpp:
116555         (WebCore::parseLegacyHTMLDocumentFragment):
116556          - Renamed from parseHTMLDocumentFragment
116557         * html/HTMLDocumentParser.h:
116558         * html/HTMLElement.cpp:
116559         (WebCore::HTMLElement::insertAdjacentHTML):
116560          - Call HTML5DocumentParser::parseHTMLDocumentFragment.
116561         * platform/mac/PasteboardMac.mm:
116562         (WebCore::Pasteboard::documentFragment): ditto.
116563         * xml/XSLTProcessor.cpp:
116564         (WebCore::createFragmentFromSource): ditto.
116565
116566 2010-06-22  Chris Marrin  <cmarrin@apple.com>
116567
116568         Reviewed by Simon Fraser.
116569
116570         https://bugs.webkit.org/show_bug.cgi?id=40643
116571         
116572         Final phase of moving ownership of WebGLLayer to GraphicsContext3D.
116573         As it turns out, I still have to have a separate CGLContextObj for
116574         rendering because Core Animation composites in a separate thread,
116575         so we need to disconnect WebGL rendering from CA compositing. But
116576         this change is still worthwhile because it reduces dependencies
116577         and makes it easier to port WebGL to other platforms.
116578         
116579         No new tests since this is just restructuring and the current tests
116580         are all still valid and do a sufficient test of WebGL functionality.
116581
116582         * platform/graphics/GraphicsContext3D.h:
116583         (WebCore::GraphicsContext3D::platformLayer):
116584         * platform/graphics/GraphicsLayer.h:
116585         (WebCore::GraphicsLayer::setContentsToWebGL):
116586         (WebCore::GraphicsLayer::setWebGLNeedsDisplay):
116587         * platform/graphics/mac/GraphicsContext3DMac.mm: Add creation of WebGLLayer
116588         (WebCore::GraphicsContext3D::GraphicsContext3D):
116589         * platform/graphics/mac/GraphicsLayerCA.h:
116590         (WebCore::GraphicsLayerCA::):
116591         * platform/graphics/mac/GraphicsLayerCA.mm: Handle setting of WebGLLayer as content the same as for MediaLayer. Also changed WebGL related names for clarity
116592         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
116593         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
116594         (WebCore::GraphicsLayerCA::updateContentsWebGLLayer):
116595         (WebCore::GraphicsLayerCA::setContentsToWebGL):
116596         (WebCore::GraphicsLayerCA::setWebGLNeedsDisplay):
116597         * platform/graphics/mac/WebGLLayer.h:
116598         * platform/graphics/mac/WebGLLayer.mm: Got rid of storage for context and texture, now just store GraphicsContext3D and get them from there when needed
116599         (-[WebGLLayer copyCGLPixelFormatForDisplayMask:]):
116600         (-[WebGLLayer copyCGLContextForPixelFormat:]):
116601         (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
116602         (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
116603         * rendering/RenderLayerBacking.cpp: Changed init of WebGL contentsLayer to pass WebGLLayer rather than GraphicsContext3D
116604         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
116605         (WebCore::RenderLayerBacking::rendererContentChanged):
116606
116607 2010-06-22  Darin Adler  <darin@apple.com>
116608
116609         Reviewed by Dave Hyatt.
116610
116611         * html/HTMLTableCellElement.cpp:
116612         (WebCore::HTMLTableCellElement::parseMappedAttribute): Removed incorrect FIXME comments.
116613
116614 2010-06-22  Dan Bernstein  <mitz@apple.com>
116615
116616         Reviewed by Anders Carlsson.
116617
116618         <rdar://problem/8119403> REGRESSION (r61548): PLT is almost 1.5% slower, Google page cycler slower
116619         https://bugs.webkit.org/show_bug.cgi?id=41012
116620
116621         * rendering/RenderBlockLineLayout.cpp:
116622         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Removed a redundant statement that was
116623         left over in the original patch and resulted in double the calls to RenderText::width() here.
116624         (WebCore::RenderBlock::findNextLineBreak): Changed the order of evaluating conditions for a
116625         potential speedup.
116626
116627 2010-06-22  Darin Adler  <darin@apple.com>
116628
116629         Reviewed by Alexey Proskuryakov.
116630
116631         Alexey asked me to take out the autorelease pools because he believes
116632         that there is no code that should be running using Objective-C
116633         autorelease. Most likely, the code that is triggering these stderr
116634         messages is incorrect, and that bug should be fixed instead.
116635
116636         * workers/WorkerRunLoop.cpp:
116637         (WebCore::WorkerRunLoop::run): Roll out use of AutodrainedPool.
116638
116639 2010-06-22  Darin Adler  <darin@apple.com>
116640
116641         Reviewed by Brady Eidson.
116642
116643         Fix autorelease problem seen when running worker regression tests.
116644         We were seeing logs to stderr saying autorelease was used without
116645         an autorelease pool being set up.
116646
116647         * workers/WorkerRunLoop.cpp:
116648         (WebCore::WorkerRunLoop::run): Use an AutodrainedPool as the file
116649         thread, icon database, and database thread do. No effect on platforms
116650         other than Mac.
116651
116652 2010-06-22  Chris Fleizach  <cfleizach@apple.com>
116653
116654         Reviewed by Darin Adler.
116655
116656         AX: If an element that is a continuation is removed, its parent tree is not notified appropriately that their children have changed
116657         https://bugs.webkit.org/show_bug.cgi?id=41000
116658
116659         Test: accessibility/removed-continuation-element-causes-crash.html
116660
116661         * accessibility/AccessibilityObject.h:
116662         (WebCore::AccessibilityObject::updateChildrenIfNecessary):
116663         * accessibility/AccessibilityRenderObject.cpp:
116664         (WebCore::AccessibilityRenderObject::childrenChanged):
116665         (WebCore::AccessibilityRenderObject::addChildren):
116666         * accessibility/AccessibilityRenderObject.h:
116667
116668 2010-06-22  Peter Kasting  <pkasting@google.com>
116669
116670         Reviewed by Adam Barth.
116671
116672         Override setFailed() in each image decoder to clean up any temporary
116673         objects.
116674         https://bugs.webkit.org/show_bug.cgi?id=35411
116675         
116676         In a few cases, we need to be careful to avoid deleting objects until
116677         after they're no longer needed.  These cases usually mean some jumping
116678         through hoops, to the detriment of code simplicity.
116679
116680         No layout tests because this does not change the visible output of
116681         decoding in any way.
116682
116683         * platform/image-decoders/ImageDecoder.h:
116684         (WebCore::ImageDecoder::setData):
116685         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
116686         (WebCore::BMPImageDecoder::setFailed):
116687         (WebCore::BMPImageDecoder::decode):
116688         * platform/image-decoders/bmp/BMPImageDecoder.h:
116689         * platform/image-decoders/bmp/BMPImageReader.cpp:
116690         (WebCore::BMPImageReader::decodeBMP):
116691         (WebCore::BMPImageReader::readInfoHeaderSize):
116692         (WebCore::BMPImageReader::processInfoHeader):
116693         (WebCore::BMPImageReader::readInfoHeader):
116694         (WebCore::BMPImageReader::processBitmasks):
116695         (WebCore::BMPImageReader::processColorTable):
116696         (WebCore::BMPImageReader::processRLEData):
116697         (WebCore::BMPImageReader::processNonRLEData):
116698         * platform/image-decoders/bmp/BMPImageReader.h:
116699         (WebCore::BMPImageReader::):
116700         * platform/image-decoders/gif/GIFImageDecoder.cpp:
116701         (WebCore::GIFImageDecoder::setFailed):
116702         (WebCore::GIFImageDecoder::decode):
116703         * platform/image-decoders/gif/GIFImageDecoder.h:
116704         * platform/image-decoders/ico/ICOImageDecoder.cpp:
116705         (WebCore::ICOImageDecoder::setFailed):
116706         (WebCore::ICOImageDecoder::decode):
116707         * platform/image-decoders/ico/ICOImageDecoder.h:
116708         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
116709         (WebCore::JPEGImageReader::decode):
116710         (WebCore::JPEGImageDecoder::setFailed):
116711         (WebCore::JPEGImageDecoder::decode):
116712         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
116713         * platform/image-decoders/png/PNGImageDecoder.cpp:
116714         (WebCore::PNGImageReader::decode):
116715         (WebCore::PNGImageDecoder::PNGImageDecoder):
116716         (WebCore::PNGImageDecoder::setFailed):
116717         (WebCore::PNGImageDecoder::headerAvailable):
116718         (WebCore::PNGImageDecoder::decode):
116719         * platform/image-decoders/png/PNGImageDecoder.h:
116720
116721 2010-06-04  Dimitri Glazkov  <dglazkov@chromium.org>
116722
116723         Reviewed by Darin Adler.
116724
116725         Remove side effects of form submission and prepare FormDataBuilder for splitting up.
116726         https://bugs.webkit.org/show_bug.cgi?id=40184
116727
116728         Refactoring, covered by existing tests.
116729
116730         * html/HTMLFormElement.cpp:
116731         (WebCore::HTMLFormElement::prepareFormSubmission):
116732             * Changed to use new accessors on FormDataBuilder;
116733             * Simplified the logic around action URL;
116734             * Removed form submission side effect of element's enctype property being updated when
116735                 submitting a mailto form;
116736             * Removed unnecessary updating of action URL for mailto forms.
116737         (WebCore::HTMLFormElement::submit): Moved action URL check into prepareFormSubmission.
116738         (WebCore::HTMLFormElement::parseMappedAttribute): Updated to use new methods on FormDataBuilder.
116739         * html/HTMLFormElement.h: Removed decls for isMailtoForm and dataEncoding methods;
116740             moved m_target and m_url to FormDataBuilder.
116741         * platform/network/FormData.cpp:
116742         (WebCore::FormData::appendDOMFormData): Removed unnecessary instantiation of FormDataBuilder.
116743         * platform/network/FormDataBuilder.cpp:
116744         (WebCore::FormDataBuilder::parseAction): Moved from HTMLFormControl.
116745         * platform/network/FormDataBuilder.h:
116746         (WebCore::FormDataBuilder::action): Ditto.
116747         (WebCore::FormDataBuilder::target): Ditto.
116748         (WebCore::FormDataBuilder::setTarget): Ditto.
116749
116750 2010-06-22  Yuta Kitamura  <yutak@chromium.org>
116751
116752         Reviewed by Alexey Proskuryakov.
116753
116754         Fix WebSocketHandshakeRequest so that it fits the new handshake protocol.
116755
116756         The new WebSocket specification (draft 76 and later) allows a browser to
116757         send header fields in arbitrary order. Thus we can use a HTTPHeaderMap to
116758         store header fields instead of Vector of pairs of a field name and
116759         a field value.
116760
116761         This patch also does refactoring of WebSocketHandshakeRequest class
116762         to make it simpler and easier to use.
116763
116764         Fix WebSocketHandshakeRequest so that it fits the new handshake protocol
116765         https://bugs.webkit.org/show_bug.cgi?id=39864
116766
116767         No new tests, because there is no functional change.
116768
116769         * websockets/WebSocketHandshake.cpp:
116770         (WebCore::WebSocketHandshake::clientHandshakeRequest):
116771         * websockets/WebSocketHandshakeRequest.cpp:
116772         (WebCore::WebSocketHandshakeRequest::Key3::Key3):
116773         (WebCore::WebSocketHandshakeRequest::Key3::set):
116774         (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
116775         (WebCore::WebSocketHandshakeRequest::requestMethod):
116776         (WebCore::WebSocketHandshakeRequest::url):
116777         (WebCore::WebSocketHandshakeRequest::addHeaderField):
116778         (WebCore::WebSocketHandshakeRequest::headerFields):
116779         (WebCore::WebSocketHandshakeRequest::key3):
116780         (WebCore::WebSocketHandshakeRequest::setKey3):
116781         * websockets/WebSocketHandshakeRequest.h:
116782
116783 2010-06-20  MORITA Hajime  <morrita@google.com>
116784
116785         Reviewed by Kent Tamura.
116786
116787         <meter> should be yellow when  min < value < low < optimum
116788         https://bugs.webkit.org/show_bug.cgi?id=40824
116789         
116790         Fixed a wrong conditional on HTMLMeterElement::gaugeRegion().
116791         
116792         * html/HTMLMeterElement.cpp:
116793         (WebCore::HTMLMeterElement::gaugeRegion):
116794
116795         Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
116796                fast/dom/HTMLMeterElement/meter-optimums.html
116797
116798 2010-06-22  Adam Barth  <abarth@webkit.org>
116799
116800         Reviewed by Eric Seidel.
116801
116802         Follow the HTML5 spec more closely w.r.t. when to save the insertion point
116803         https://bugs.webkit.org/show_bug.cgi?id=40976
116804
116805         The spec always increments the nesting level and saves the insertion
116806         point at the same time.  In this patch, we now do those operations
116807         packaged as a RAII.
116808
116809         As a side effect, the test case below no longer ASSERTs.  (The output
116810         is wrong, but we'll get to that next.)
116811
116812         Test: fast/tokenizer/write-on-load.html
116813
116814         * html/HTML5ScriptRunner.cpp:
116815         (WebCore::NestScript::NestScript):
116816         (WebCore::NestScript::~NestScript):
116817         (WebCore::HTML5ScriptRunner::executePendingScript):
116818         (WebCore::HTML5ScriptRunner::executeScript):
116819         (WebCore::HTML5ScriptRunner::requestScript):
116820         (WebCore::HTML5ScriptRunner::runScript):
116821         * html/HTMLInputStream.h:
116822
116823 2010-06-22  Adam Barth  <abarth@webkit.org>
116824
116825         Reviewed by Eric Seidel.
116826
116827         Expose HTMLInputStream to ScriptRunner so that ScriptRunner can save the insertion point itself
116828         https://bugs.webkit.org/show_bug.cgi?id=40975
116829
116830         This saves us having to call back into the HTML5DocumentParser each
116831         time we need to save the insertion point.  This prepares us for another
116832         place we need to save the insertion point.
116833
116834         * html/HTML5DocumentParser.cpp:
116835         * html/HTML5DocumentParser.h:
116836         (WebCore::HTML5DocumentParser::inputStream):
116837         * html/HTML5ScriptRunner.cpp:
116838         (WebCore::HTML5ScriptRunner::executeScript):
116839         (WebCore::HTML5ScriptRunner::requestScript):
116840         * html/HTML5ScriptRunnerHost.h:
116841
116842 2010-06-22  Adam Barth  <abarth@webkit.org>
116843
116844         Reviewed by Eric Seidel.
116845
116846         Move HTMLInputStream to its own file
116847         https://bugs.webkit.org/show_bug.cgi?id=40974
116848
116849         No new tests, just code motion.
116850
116851         * GNUmakefile.am:
116852         * WebCore.gypi:
116853         * WebCore.vcproj/WebCore.vcproj:
116854         * WebCore.xcodeproj/project.pbxproj:
116855         * html/HTML5DocumentParser.h:
116856
116857 2010-06-21  Adam Barth  <abarth@webkit.org>
116858
116859         Reviewed by Eric Seidel.
116860
116861         Save the insertion point before beforeload events
116862         https://bugs.webkit.org/show_bug.cgi?id=40973
116863
116864         We need to save the insertion point before dispatching the beforeload
116865         event in case someone decides to document.write during beforeload.
116866         Prior to this patch, such writes would pump the lexer too much and
116867         tokenize the rest of the document before executing the script.
116868
116869         * html/HTML5DocumentParser.cpp:
116870         (WebCore::HTML5DocumentParser::dispatchBeforeLoad):
116871         * html/HTML5DocumentParser.h:
116872         * html/HTML5ScriptRunner.cpp:
116873         (WebCore::HTML5ScriptRunner::requestScript):
116874         * html/HTML5ScriptRunnerHost.h:
116875
116876 2010-06-21  Adam Barth  <abarth@webkit.org>
116877
116878         Reviewed by Eric Seidel.
116879
116880         document.write from BeforeLoad should not assert
116881         https://bugs.webkit.org/show_bug.cgi?id=40971
116882
116883         We're setting the parse blocking script too early.  It's not actually
116884         blocking parsing yet.
116885
116886         Test: fast/tokenizer/write-before-load.html
116887
116888         * html/HTML5ScriptRunner.cpp:
116889         (WebCore::HTML5ScriptRunner::requestScript):
116890
116891 2010-06-21  Chris Fleizach  <cfleizach@apple.com>
116892
116893         No review. QT build fix again.
116894
116895         AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
116896         https://bugs.webkit.org/show_bug.cgi?id=40927
116897
116898         * accessibility/AXObjectCache.h:
116899         (WebCore::AXObjectCache::postNotification):
116900
116901 2010-06-21  Chris Fleizach  <cfleizach@apple.com>
116902
116903         No review. QT build fix.
116904
116905         AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
116906         https://bugs.webkit.org/show_bug.cgi?id=40927
116907
116908         * accessibility/AXObjectCache.h:
116909         (WebCore::AXObjectCache::postNotification):
116910
116911 2010-06-21  Chris Fleizach  <cfleizach@apple.com>
116912
116913         Reviewed by Beth Dakin.
116914
116915         AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
116916         https://bugs.webkit.org/show_bug.cgi?id=40927
116917
116918         Test: platform/mac/accessibility/aria-expanded-notifications.html
116919
116920         * accessibility/AXObjectCache.cpp:
116921         (WebCore::AXObjectCache::handleAriaExpandedChange):
116922         * accessibility/AXObjectCache.h:
116923         (WebCore::AXObjectCache::handleAriaExpandedChange):
116924         * accessibility/AccessibilityObject.h:
116925         (WebCore::AccessibilityObject::handleAriaExpandedChanged):
116926         * accessibility/AccessibilityRenderObject.cpp:
116927         (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
116928         * accessibility/AccessibilityRenderObject.h:
116929         * accessibility/mac/AXObjectCacheMac.mm:
116930         (WebCore::AXObjectCache::postPlatformNotification):
116931         * dom/Element.cpp:
116932         (WebCore::Element::updateAfterAttributeChanged):
116933
116934 2010-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
116935
116936         Unreviewed, rolling out r61585.
116937         http://trac.webkit.org/changeset/61585
116938         https://bugs.webkit.org/show_bug.cgi?id=40950
116939
116940         It broke builds (Requested by kinuko on #webkit).
116941
116942         * Android.derived.jscbindings.mk:
116943         * Android.derived.v8bindings.mk:
116944         * CMakeLists.txt:
116945         * DerivedSources.cpp:
116946         * DerivedSources.make:
116947         * GNUmakefile.am:
116948         * WebCore.gypi:
116949         * WebCore.pri:
116950         * WebCore.vcproj/WebCore.vcproj:
116951         * WebCore.xcodeproj/project.pbxproj:
116952         * html/BlobBuilder.cpp:
116953         (WebCore::BlobBuilder::appendString):
116954         (WebCore::BlobBuilder::appendBlob):
116955         * html/BlobBuilder.h:
116956         * page/DOMWindow.idl:
116957
116958 2010-06-21  Kinuko Yasuda  <kinuko@chromium.org>
116959
116960         Reviewed by Adam Barth.
116961
116962         Add BlobBuilder.idl to expose BlobBuilder interface
116963         https://bugs.webkit.org/show_bug.cgi?id=40593
116964
116965         BlobBuilder is defined in FileAPI's FileWriter spec.
116966         (http://dev.w3.org/2009/dap/file-system/file-writer.html)
116967
116968         Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.
116969
116970         Tests: http/tests/local/blob/send-data-blob.html
116971                http/tests/local/blob/send-hybrid-blob.html
116972                http/tests/local/blob/send-sliced-data-blob.html
116973
116974         * Android.derived.jscbindings.mk:
116975         * Android.derived.v8bindings.mk:
116976         * CMakeLists.txt:
116977         * DerivedSources.cpp:
116978         * DerivedSources.make:
116979         * GNUmakefile.am:
116980         * WebCore.gypi:
116981         * WebCore.pri:
116982         * WebCore.pro:
116983         * WebCore.vcproj/WebCore.vcproj:
116984         * WebCore.xcodeproj/project.pbxproj:
116985         * html/BlobBuilder.cpp:
116986         (WebCore::BlobBuilder::append):
116987         * html/BlobBuilder.h:
116988         * html/BlobBuilder.idl: Added.
116989         * page/DOMWindow.idl:
116990
116991 2010-06-21  Nate Chapin  <japhet@chromium.org>
116992
116993         Reviewed by Adam Barth.
116994
116995         FrameLoader cleanup: Split high level subframe and plugin
116996         loading functions into a separate class.
116997         https://bugs.webkit.org/show_bug.cgi?id=40453
116998
116999         Refactor only, no new tests.
117000
117001         * Android.mk:
117002         * CMakeLists.txt:
117003         * GNUmakefile.am:
117004         * WebCore.base.exp:
117005         * WebCore.gypi:
117006         * WebCore.pro:
117007         * WebCore.vcproj/WebCore.vcproj:
117008         * WebCore.xcodeproj/project.pbxproj:
117009         * dom/DOMImplementation.cpp:
117010         * history/PageCache.cpp:
117011         * html/HTMLFrameElementBase.cpp:
117012         * html/HTMLMediaElement.cpp:
117013         * loader/FrameLoader.cpp:
117014         * loader/FrameLoader.h:
117015         (WebCore::FrameLoader::subframeLoader):
117016         * loader/PluginDocument.cpp:
117017         * loader/SubframeLoader.cpp: Added.
117018         (WebCore::SubframeLoader::SubframeLoader):
117019         (WebCore::toPlugInElement):
117020         (WebCore::SubframeLoader::clear):
117021         (WebCore::SubframeLoader::requestFrame):
117022         (WebCore::SubframeLoader::requestObject):
117023         (WebCore::FrameLoader::loadMediaPlayerProxyPlugin):
117024         (WebCore::SubframeLoader::createJavaAppletWidget):
117025         (WebCore::SubframeLoader::loadSubframe):
117026         (WebCore::SubframeLoader::allowPlugins):
117027         (WebCore::SubframeLoader::shouldUsePlugin):
117028         (WebCore::SubframeLoader::loadPlugin):
117029         (WebCore::SubframeLoader::completeURL):
117030         * loader/SubframeLoader.h: Added.
117031         (WebCore::SubframeLoader::containsPlugins):
117032         * page/Page.cpp:
117033         * page/XSSAuditor.h:
117034         * platform/graphics/wince/MediaPlayerProxy.cpp:
117035         * plugins/MimeType.cpp:
117036         * rendering/RenderApplet.cpp:
117037         * rendering/RenderEmbeddedObject.cpp:
117038
117039 2010-06-21  Nate Chapin  <japhet@chromium.org>
117040
117041         Unreviewed, build fix.
117042
117043         Bad merge, left a reference to m_committedFirstRealDocumentLoad in
117044         http://trac.webkit.org/changeset/61568.
117045
117046         * loader/FrameLoader.cpp:
117047         (WebCore::FrameLoader::transitionToCommitted):
117048
117049 2010-06-21  Nate Chapin  <japhet@chromium.org>
117050
117051         Reviewed by Adam Barth.
117052
117053         Remove a couple of FrameLoader's unused boolean members
117054         (m_receivedData, m_cancellingWithLoadInProcess) and merge
117055         several more into a single state machine called FrameLoaderStateMachine
117056         (m_firstLayoutDone, m_creatingInitialEmptyDocument,
117057         m_isDisplayingInitialEmptyDocument, m_committedFirstRealDocumentLoad).
117058
117059         https://bugs.webkit.org/show_bug.cgi?id=39695
117060
117061         Refactor only, so no new tests.
117062
117063         * WebCore.base.exp:
117064         * WebCore.xcodeproj/project.pbxproj:
117065         * loader/DocumentWriter.cpp:
117066         (WebCore::DocumentWriter::createDocument):
117067         (WebCore::DocumentWriter::begin):
117068         * loader/FrameLoader.cpp:
117069         (WebCore::FrameLoader::FrameLoader):
117070         (WebCore::FrameLoader::init):
117071         (WebCore::FrameLoader::stopLoading):
117072         (WebCore::FrameLoader::didOpenURL):
117073         (WebCore::FrameLoader::didExplicitOpen):
117074         (WebCore::FrameLoader::clear):
117075         (WebCore::FrameLoader::didBeginDocument):
117076         (WebCore::FrameLoader::finishedParsing):
117077         (WebCore::FrameLoader::provisionalLoadStarted):
117078         (WebCore::FrameLoader::logCanCachePageDecision):
117079         (WebCore::FrameLoader::logCanCacheFrameDecision):
117080         (WebCore::FrameLoader::frameHasLoaded):
117081         (WebCore::FrameLoader::commitProvisionalLoad):
117082         (WebCore::FrameLoader::transitionToCommitted):
117083         (WebCore::FrameLoader::finishedLoadingDocument):
117084         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
117085         (WebCore::FrameLoader::didFirstLayout):
117086         (WebCore::FrameLoader::frameLoadCompleted):
117087         (WebCore::FrameLoader::dispatchDidCommitLoad):
117088         * loader/FrameLoader.h:
117089         (WebCore::FrameLoader::stateMachine):
117090         * loader/FrameLoaderStateMachine.cpp: Added.
117091         * loader/FrameLoaderStateMachine.h: Added.
117092         * loader/HistoryController.cpp:
117093         (WebCore::HistoryController::restoreScrollPositionAndViewState):
117094         (WebCore::HistoryController::saveDocumentState):
117095         * loader/ProgressTracker.cpp:
117096         (WebCore::ProgressTracker::incrementProgress):
117097         * loader/RedirectScheduler.cpp:
117098         (WebCore::RedirectScheduler::scheduleLocationChange):
117099         (WebCore::RedirectScheduler::scheduleFormSubmission):
117100
117101 2010-06-21  Kevin Ollivier  <kevino@theolliviers.com>
117102
117103         [wx] Build fix. Fix header includes for ENABLE(DATABASE)
117104
117105         * bindings/js/JSExceptionBase.cpp:
117106
117107 2010-06-21  Anders Carlsson  <andersca@apple.com>
117108
117109         Fix clang++ build.
117110
117111         * loader/FormSubmission.h:
117112
117113 2010-06-21  Dimitri Glazkov  <dglazkov@chromium.org>
117114
117115         Unreviewed, build fix.
117116
117117         Add a missing include in AsyncImageResizer.h
117118
117119         * html/AsyncImageResizer.h: Added the IntSize include.
117120
117121 2010-06-21  Adam Roben  <aroben@apple.com>
117122
117123         Call NotifyAddrChange again each time we are notified of a change
117124
117125         NotifyAddrChange only notifies you of a single change. If you want to
117126         listen for subsequent changes, you have to call it again.
117127
117128         Fixes <http://webkit.org/b/33004> NetworkStateNotifier ignores all
117129         state changes after the first.
117130
117131         No test possible, as we don't have a way to modify the system's
117132         network adapters when running tests.
117133
117134         Reviewed by Anders Carlsson.
117135
117136         * platform/network/win/NetworkStateNotifierWin.cpp:
117137         (WebCore::NetworkStateNotifier::addrChangeCallback): Call
117138         registerForAddressChange as soon as we're notified of an address
117139         change, so we'll also get notified of the *next* address change. I
117140         added the call here instead of in addressChanged (which is called
117141         later on the main thread) to minimize the time between the callback
117142         and registering again (so that we won't miss changes that happen in
117143         rapid succession).
117144
117145 2010-06-21  Dan Bernstein  <mitz@apple.com>
117146
117147         Release build fix
117148
117149         * rendering/RenderBlockLineLayout.cpp:
117150         (WebCore::tryHyphenating):
117151
117152 2010-06-21  Dan Bernstein  <mitz@apple.com>
117153
117154         Windows build fix
117155
117156         * WebCore.vcproj/WebCore.vcproj: Fixed a typo.
117157
117158 2010-06-21  Dan Bernstein  <mitz@apple.com>
117159
117160         Reviewed by Darin Adler.
117161
117162         CSS3: Implement the 'hyphens' and 'hyphenate-character' properties
117163         https://bugs.webkit.org/show_bug.cgi?id=10228
117164
117165         Tests: fast/text/hyphenate-character.html
117166                fast/text/hyphens.html
117167
117168         Added -webkit-hyphens and -webkit-hyphenate-character as specified in
117169         <http://www.w3.org/TR/2010/WD-css3-gcpm-20100608/#hyphenation>.
117170
117171         * Android.mk: Added Hyphenation.cpp.
117172         * CMakeLists.txt: Ditto.
117173         * GNUmakefile.am: Added Hyphenation.{cpp,h}.
117174         * WebCore.base.exp: Exported wkGetHyphenationLocationBeforeIndex().
117175         * WebCore.gypi: Added Hyphenation.{cpp,h}.
117176         * WebCore.pro: Added Hyphenation.{cpp,h}.
117177         * WebCore.vcproj/WebCore.vcproj: Added Hyphenation.{cpp,h}.
117178         * WebCore.xcodeproj/project.pbxproj: Added Hyphenation.{cpp,h}.
117179         * css/CSSComputedStyleDeclaration.cpp:
117180         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added the -webkit-hyphenate-character
117181         and -webkit-hyphens cases.
117182         * css/CSSParser.cpp:
117183         (WebCore::CSSParser::parseValue): Validate values for the new properties.
117184         * css/CSSPrimitiveValueMappings.h:
117185         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added. Maps from a Hyphens value to an identifier.
117186         (WebCore::CSSPrimitiveValue::operator Hyphens): Added. Maps from an identifier to a Hyphens value.
117187         * css/CSSPropertyNames.in: Added -webkit-hyphenate-character and -webkit-hyphens.
117188         * css/CSSStyleSelector.cpp:
117189         (WebCore::CSSStyleSelector::applyProperty): Apply the new properties to the RenderStyle.
117190         * css/CSSValueKeywords.in:
117191         * platform/mac/WebCoreSystemInterface.h: Added wkGetHyphenationLocationBeforeIndex.
117192         * platform/mac/WebCoreSystemInterface.mm: Ditto.
117193         * platform/text/CharacterNames.h: Added the hyphen character.
117194         * platform/text/Hyphenation.cpp: Added.
117195         (WebCore::lastHyphenLocation): Added this default implementation for platforms that do not implement
117196         hyphenation yet. It calls notImplemented() and returns 0.
117197         * platform/text/Hyphenation.h: Added.
117198         * platform/text/cf/HyphenationCF.cpp: Added.
117199         (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
117200         the given index. Uses the current search locale (which is based on the top language preference of the user)
117201         for hyphenation.
117202         * platform/text/mac/HyphenationMac.mm: Added.
117203         (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
117204         the given index. Returns 0 if the current search locale is not "en", because the platform only knows how to
117205         hyphenate English.
117206         * rendering/BidiRun.h:
117207         (WebCore::BidiRun::BidiRun): Added a boolean member, m_hasHyphen, and initialized it to false in the constructor.
117208         * rendering/InlineBox.h:
117209         (WebCore::InlineBox::InlineBox): Renamed m_hasEllipsisBox to m_hasEllipsisBoxOrHyphen, because this bit is now
117210         shared by two subclass: RootInlineBox uses it for hasEllipsisBox(), while InlineTextBox uses it for hasHyphen().
117211         * rendering/InlineTextBox.cpp:
117212         (WebCore::adjustCharactersAndLengthForHyphen): Added this helper function to get the hyphen string from the style
117213         and return a UChar* and length for the concatenation of the given text with the hyphen string.
117214         (WebCore::InlineTextBox::selectionRect): If the selected range touches the end and the box has a hyphen,
117215         compute the width of the text with the hyphen string concatenated to it.
117216         (WebCore::InlineTextBox::paint): If the box has a hyphen, draw the text with the hyphen string concatenated to it.
117217         (WebCore::InlineTextBox::paintSelection): Similarly concatenate the hyphen string.
117218         * rendering/InlineTextBox.h:
117219         (WebCore::InlineTextBox::hasHyphen): Added this accessor.
117220         (WebCore::InlineTextBox::setHasHyphen): Ditto.
117221         * rendering/RenderBlock.h:
117222         * rendering/RenderBlockLineLayout.cpp:
117223         (WebCore::RenderBlock::constructLine): Copy the m_hasHyphen flag from the run to its text box.
117224         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Add the width of the hyphen string when computing the
117225         width of a box that has a hyphen.
117226         (WebCore::RenderBlock::layoutInlineChildren): If the line was hyphenated, set the m_hasHyphen flag on the
117227         logically last run.
117228         (WebCore::tryHyphenating): Added this helper function which checks if a piece of text that does not fit on the
117229         line could be hyphenated such that the part before the hyphen, including the hyphen, would fit. Given the amount
117230         of space remaining on the line, it finds the longest prefix that can fit in the remaining space (which leaving room for
117231         the hyphen), and then checks for a hyphenation location within that prefix.
117232         (WebCore::RenderBlock::findNextLineBreak): In the 'hyphens: none' case, prevent line breaks at soft hyphens.
117233         In the 'hyphens: auto' case, try hyphenating when a word will not fit in the remaining space on the line.
117234         * rendering/RootInlineBox.cpp:
117235         (WebCore::RootInlineBox::detachEllipsisBox): Changed to use hasEllipsisBox() and setHasEllipsisBox().
117236         (WebCore::RootInlineBox::clearTruncation): Ditto.
117237         (WebCore::RootInlineBox::placeEllipsis): Ditto.
117238         (WebCore::RootInlineBox::paintEllipsisBox): Ditto.
117239         (WebCore::RootInlineBox::nodeAtPoint): Ditto.
117240         (WebCore::RootInlineBox::ellipsisBox): Ditto.
117241         * rendering/RootInlineBox.h:
117242         (WebCore::RootInlineBox::hasEllipsisBox): Added this accessor.
117243         (WebCore::RootInlineBox::setHasEllipsisBox): Ditto.
117244         * rendering/style/RenderStyle.cpp:
117245         (WebCore::RenderStyle::diff): Return a layout hint if the hyphens setting or hyphenate-character differs.
117246         (WebCore::RenderStyle::hyphenString): Added. For hyphenate-character: auto, returns the hyphen character.
117247         * rendering/style/RenderStyle.h:
117248         (WebCore::InheritedFlags::hyphens): Added this accessor.
117249         (WebCore::InheritedFlags::hyphenateCharacter): Ditto.
117250         (WebCore::InheritedFlags::setHyphens): Ditto.
117251         (WebCore::InheritedFlags::setHyphenateCharacter): Ditto.
117252         (WebCore::InheritedFlags::initialHyphens): Added. Returns HyphensManual.
117253         (WebCore::InheritedFlags::initialHyphenateCharacter): Added. Returns the null string, corresponding to
117254         a value of 'auto'.
117255         * rendering/style/RenderStyleConstants.h:
117256         Added a Hyphens enum.
117257         * rendering/style/StyleRareInheritedData.cpp:
117258         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize and copy the new members.
117259         (WebCore::StyleRareInheritedData::operator==): Compare the new members.
117260         * rendering/style/StyleRareInheritedData.h: Added two new members: hyphens and hyphenateCharacter.
117261
117262 2010-06-03  Dimitri Glazkov  <dglazkov@chromium.org>
117263
117264         Reviewed by Darin Adler.
117265
117266         Plumb FormSubmission through to ScheduledFormSubmission.
117267         https://bugs.webkit.org/show_bug.cgi?id=40137
117268
117269         No behavior change, covered by existing tests.
117270
117271         * html/HTMLFormElement.cpp:
117272         (WebCore::HTMLFormElement::prepareFormSubmission): Moved creation of action URL
117273             instance here from FrameLoader::submit, because it makes more sense here,
117274             also added a FIXME to investigate existing code later.
117275         * loader/FormSubmission.cpp:
117276         (WebCore::FormSubmission::FormSubmission): Changed action to be a KURL, not a String.
117277         (WebCore::FormSubmission::create): Ditto.
117278         (WebCore::FormSubmission::populateFrameLoadRequest): Added, moving the logic from
117279             FrameLoader::submit closer to the data.
117280         * loader/FormSubmission.h:
117281         (WebCore::FormSubmission::action): Changed type to KURL.
117282         (WebCore::FormSubmission::clearTarget): Added.
117283         (WebCore::FormSubmission::referrer): Added.
117284         (WebCore::FormSubmission::setReferrer): Added.
117285         (WebCore::FormSubmission::origin): Added.
117286         (WebCore::FormSubmission::setOrigin): Added.
117287         * loader/FrameLoader.cpp:
117288         (WebCore::FrameLoader::submitForm): Cleaned up to make it more about decision-making,
117289             not data manipulation.
117290         * loader/RedirectScheduler.cpp:
117291         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): Changed to accept FormSubmission as argument.
117292         (WebCore::ScheduledFormSubmission::fire): Changed to use FormSubmission.
117293         (WebCore::RedirectScheduler::scheduleFormSubmission): Removed assert that no longer makes sense,
117294             changed to use FormSubmission.
117295         * loader/RedirectScheduler.h: Updated ScheduledFormSubmission decl to hold FormSubmission ref.
117296
117297 2010-06-21  Satish Sampath  <satish@chromium.org>
117298
117299         Reviewed by Steve Block.
117300
117301         Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
117302         https://bugs.webkit.org/show_bug.cgi?id=40878
117303
117304         No new tests are needed, because there is no new functionality.
117305
117306         * Configurations/FeatureDefines.xcconfig:
117307         * GNUmakefile.am:
117308         * WebCore.pri:
117309
117310 2010-06-21  Hans Wennborg  <hans@chromium.org>
117311
117312         Reviewed by Jeremy Orlow.
117313
117314         Delete DOM storage databases when they are empty.
117315         https://bugs.webkit.org/show_bug.cgi?id=40767
117316
117317         Even if a page clears its local storage, the database file for it stays around,
117318         and there is currently no mechanism that deletes them.
117319
117320         After doing the "final sync" of a storage area, the StorageAreaSyncMaster should
117321         see if the database is empty, and in that case delete it.
117322
117323         Tests:
117324          manual-tests/localstorage-empty-database.html
117325
117326         * manual-tests/localstorage-empty-database.html:
117327         Added link to clear local storage for testing that the file is removed.
117328         * storage/LocalStorageTask.cpp:
117329         (WebCore::LocalStorageTask::LocalStorageTask):
117330         Added local storage task type DeleteEmptyDatabase.
117331         (WebCore::LocalStorageTask::performTask):
117332         Ditto.
117333         * storage/LocalStorageTask.h:
117334         (WebCore::LocalStorageTask::):
117335         Ditto.
117336         (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
117337         Ditto.
117338         * storage/StorageAreaSync.cpp:
117339         (WebCore::StorageAreaSync::scheduleFinalSync):
117340         When scheduling final sync, also schedule DeleteEmptyDatabase.
117341         (WebCore::StorageAreaSync::sync):
117342         Return early if final sync has nothing to sync.
117343         (WebCore::StorageAreaSync::deleteEmptyDatabase):
117344         Added function to check if a database is empty and in that case delete it.
117345         * storage/StorageAreaSync.h:
117346         Ditto.
117347         * storage/StorageSyncManager.cpp:
117348         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
117349         Added function for scheduling DeleteEmptyDatabase task.
117350         * storage/StorageSyncManager.h:
117351         Ditto.
117352
117353 2010-06-21  Balazs Kelemen  <kb@inf.u-szeged.hu>
117354
117355         Reviewed by Simon Hausmann.
117356
117357         [Qt] Avoid unnecessary image conversion in RGBA32Buffer::zeroFill()
117358         https://bugs.webkit.org/show_bug.cgi?id=40910
117359
117360         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
117361         (WebCore::RGBA32Buffer::zeroFill):
117362
117363 2010-06-21  Benjamin Poulain  <benjamin.poulain@nokia.com>
117364
117365         Reviewed by Kenneth Rohde Christiansen.
117366
117367         [Qt] Decode images directly to QPixmap
117368         https://bugs.webkit.org/show_bug.cgi?id=40797
117369
117370         Decode images to QPixmap directly instead of QImage when possible.
117371         RGBA32Buffer transforms the pixmap back to image if
117372         necessary.
117373
117374         This improve the performance with certain graphic system, and
117375         can reduce memory usage.
117376
117377         * platform/graphics/qt/ImageDecoderQt.cpp:
117378         (WebCore::ImageDecoderQt::setData):
117379         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
117380         * platform/image-decoders/ImageDecoder.h:
117381         (WebCore::RGBA32Buffer::getAddr):
117382         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
117383         (WebCore::RGBA32Buffer::clear):
117384         (WebCore::RGBA32Buffer::zeroFill):
117385         (WebCore::RGBA32Buffer::copyBitmapData):
117386         (WebCore::RGBA32Buffer::setSize):
117387         (WebCore::RGBA32Buffer::asNewNativeImage):
117388         (WebCore::RGBA32Buffer::setPixmap):
117389
117390 2010-06-20  Dumitru Daniliuc  <dumi@chromium.org>
117391
117392         Reviewed by Adam Barth.
117393
117394         Adding the SQLException class which will be used to report sync DB errors.
117395         https://bugs.webkit.org/show_bug.cgi?id=40607
117396
117397         * Android.derived.jscbindings.mk:
117398         * Android.derived.v8bindings.mk:
117399         * CMakeLists.txt:
117400         * DerivedSources.cpp:
117401         * DerivedSources.make:
117402         * GNUmakefile.am:
117403         * WebCore.gypi:
117404         * WebCore.pri:
117405         * WebCore.vcproj/WebCore.vcproj:
117406         * WebCore.xcodeproj/project.pbxproj:
117407         * bindings/js/JSDOMBinding.cpp:
117408         (WebCore::setDOMException):
117409         * bindings/js/JSExceptionBase.cpp:
117410         (WebCore::toExceptionBase):
117411         * bindings/v8/V8Proxy.cpp:
117412         (WebCore::V8Proxy::setDOMException):
117413         * bindings/v8/V8Proxy.h:
117414         * dom/ExceptionCode.cpp:
117415         (WebCore::):
117416         (WebCore::getExceptionCodeDescription):
117417         * dom/ExceptionCode.h:
117418         (WebCore::):
117419         * page/DOMWindow.idl:
117420         * storage/SQLException.h: Added.
117421         (WebCore::SQLException::create):
117422         (WebCore::SQLException::):
117423         (WebCore::SQLException::SQLException):
117424         * storage/SQLException.idl: Added.
117425
117426 2010-06-20  Yury Semikhatsky  <yurys@chromium.org>
117427
117428         Reviewed by Pavel Feldman.
117429
117430         [v8] Web Inspector: don't add ScriptDebugServer as v8 listener if browser exposes
117431         v8 debugging protocol.
117432         https://bugs.webkit.org/show_bug.cgi?id=40844
117433
117434         * bindings/v8/ScriptDebugServer.cpp:
117435         (WebCore::ScriptDebugServer::ScriptDebugServer):
117436         (WebCore::ScriptDebugServer::addListener):
117437         (WebCore::ScriptDebugServer::setEnabled):
117438         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
117439         * bindings/v8/ScriptDebugServer.h:
117440
117441 2010-06-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
117442
117443         Unreviewed build fix.
117444
117445         [EFL] Build break for r61527
117446         https://bugs.webkit.org/post_bug.cgi 
117447
117448         * CMakeLists.txt: Add loader/FormSubmission.cpp
117449
117450 2010-06-20  Anders Carlsson  <andersca@apple.com>
117451
117452         Reviewed by Dan Bernstein.
117453
117454         Remove bogus const qualifiers.
117455
117456         * platform/mac/PasteboardHelper.h:
117457
117458 2010-06-20  Patrick Gansterer  <paroga@paroga.com>
117459
117460         Reviewed by Kent Tamura.
117461
117462         Buildfix for NotificationCenter.h.
117463         https://bugs.webkit.org/show_bug.cgi?id=40890
117464
117465         ScriptExecutionContext::completeURL is used in header,
117466         but ScriptExecutionContext.h wasn't included.
117467
117468         * notifications/NotificationCenter.h:
117469
117470 2010-06-20  Tony Gentilcore  <tonyg@chromium.org>
117471
117472         Reviewed by Eric Seidel.
117473
117474         Recognize async attribute on HTML script tags.
117475         https://bugs.webkit.org/show_bug.cgi?id=39026
117476
117477         This does not implement async behavior, it only parses the async
117478         attribute for HTML script tags. SVG script tags continue to not
117479         support the async attribute.
117480
117481         Tests: fast/dom/HTMLScriptElement/script-async-attr.html
117482                svg/dom/SVGScriptElement/script-async-attr.svg
117483
117484         * dom/ScriptElement.cpp:
117485         (WebCore::ScriptElementData::isAsynchronous):
117486         (WebCore::ScriptElementData::isDeferred):
117487         * dom/ScriptElement.h:
117488         * html/HTMLAttributeNames.in:
117489         * html/HTMLScriptElement.cpp:
117490         (WebCore::HTMLScriptElement::async):
117491         (WebCore::HTMLScriptElement::setAsync):
117492         (WebCore::HTMLScriptElement::defer):
117493         (WebCore::HTMLScriptElement::asyncAttributeValue):
117494         (WebCore::HTMLScriptElement::deferAttributeValue):
117495         * html/HTMLScriptElement.h:
117496         * html/HTMLScriptElement.idl:
117497         * svg/SVGScriptElement.cpp:
117498         (WebCore::SVGScriptElement::asyncAttributeValue):
117499         (WebCore::SVGScriptElement::deferAttributeValue):
117500         * svg/SVGScriptElement.h:
117501
117502 2010-06-20  Nikita Vasilyev  <me@elv1s.ru>
117503
117504         Reviewed by Joseph Pecoraro.
117505
117506         Web Inspector: Auto-completion for CSS property names in Styles pane
117507         https://bugs.webkit.org/show_bug.cgi?id=17374
117508
117509         Added autocompletion for CSS properties. A suggestion for a property
117510         shows when you type. You can also cycle through known property names
117511         using the Up and Down arrow keys.
117512
117513         * WebCore.gypi:
117514         * inspector/front-end/CSSCompletions.js: Added.
117515         (WebInspector.CSSCompletions):
117516         (WebInspector.CSSCompletions.startsWith):
117517         (WebInspector.CSSCompletions.firstStartsWith):
117518         (WebInspector.CSSCompletions._firstIndexOfPrefix):
117519         (WebInspector.CSSCompletions.next):
117520         (WebInspector.CSSCompletions.previous):
117521         (WebInspector.CSSCompletions._closest):
117522         * inspector/front-end/StylesSidebarPane.js:
117523         (WebInspector.StylePropertyTreeElement.prototype):
117524         * inspector/front-end/WebKit.qrc:
117525         * inspector/front-end/inspector.html:
117526         * inspector/front-end/utilities.js:
117527         (Text.prototype.select):
117528         ():
117529
117530 2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
117531
117532         Reviewed by Darin Adler.
117533
117534         Introduce FormSubmission, the structure representing a form submission.
117535         https://bugs.webkit.org/show_bug.cgi?id=40084
117536
117537         No change in functionality, covered by existing tests.
117538
117539         * GNUmakefile.am: Added FormSubmission.h/cpp.
117540         * WebCore.gypi: Ditto.
117541         * WebCore.pro: Ditto.
117542         * WebCore.vcproj/WebCore.vcproj: Ditto.
117543         * WebCore.xcodeproj/project.pbxproj: Ditto.
117544         * html/HTMLFormElement.cpp:
117545         (WebCore::HTMLFormElement::prepareFormSubmission): Renamed prepareFormData to prepareFormSubmission,
117546             added code for populating a FormSubmission instance, moved the loop of accumulating text input
117547             values into this functions (it belongs here logically).
117548         (WebCore::HTMLFormElement::submit): Modified to use prepareFormSubmission.
117549         * html/HTMLFormElement.h:
117550         * loader/FormSubmission.cpp: Added.
117551         * loader/FormSubmission.h: Added.
117552         * loader/FrameLoader.cpp:
117553         (WebCore::FrameLoader::submitForm): Modified to use FormSubmission. Stopped plumbing further to keep
117554             the patch size down.
117555         * loader/FrameLoader.h: Modified submitForm signature.
117556
117557 2010-06-20  Joseph Pecoraro  <joepeck@webkit.org>
117558
117559         Unreviewed rollout r61506, because it made 1 test crash.
117560
117561         Causes crash. Will approach the solution in a different way.
117562
117563 2010-06-20  Joseph Pecoraro  <joepeck@webkit.org>
117564
117565         Reviewed by Timothy Hatcher.
117566
117567         Web Inspector: Should Autocomplete Style Properties
117568         https://bugs.webkit.org/show_bug.cgi?id=38448
117569
117570         This Autocompletes style properties when in the console.
117571
117572         * inspector/front-end/InjectedScript.js:
117573         (injectedScriptConstructor):
117574
117575 2010-06-20  Robert Hogan  <robert@webkit.org>
117576
117577         Reviewed by Simon Hausmann.
117578
117579         [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
117580
117581         https://bugs.webkit.org/show_bug.cgi?id=36702
117582
117583         setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
117584         work for DRT. So call it if we are in DRT mode and the window geometry
117585         has changed.
117586
117587         Unskips plugins/reentrant-update-widget-positions.html
117588
117589         * plugins/qt/PluginViewQt.cpp:
117590         (WebCore::PluginView::updatePluginWidget):
117591
117592 2010-06-19  Tony Gentilcore  <tonyg@chromium.org>
117593
117594         Reviewed by Adam Barth.
117595
117596         Persist V8's ScriptData to the memory cache.
117597         https://bugs.webkit.org/show_bug.cgi?id=38661
117598
117599         This stores V8's ScriptData in the memory cache and also causes the
117600         network platform layer to be notified of the available cacheable
117601         metadata.
117602
117603         Chromium's morejs benchmark showed a ~7% improvement when this was
117604         originally submitted (before it had to be rolled back).
117605
117606         Test: fast/js/parser-high-byte-character.html
117607
117608         * bindings/v8/ScriptSourceCode.h:
117609         (WebCore::ScriptSourceCode::ScriptSourceCode):
117610         (WebCore::ScriptSourceCode::cachedScript):
117611         * bindings/v8/V8Proxy.cpp:
117612         (WebCore::V8Proxy::compileScript):
117613         (WebCore::V8Proxy::precompileScript):
117614         (WebCore::V8Proxy::evaluate):
117615         * bindings/v8/V8Proxy.h:
117616
117617 2010-06-19  Kwang Yul Seo  <skyul@company100.net>
117618
117619         Reviewed by Kent Tamura.
117620
117621         [BREWMP] Port SocketStream
117622         https://bugs.webkit.org/show_bug.cgi?id=39671
117623
117624         Port SocketStream with BREW MP's ISocket interface.
117625
117626         * platform/network/brew/SocketStreamError.h: Added.
117627         (WebCore::SocketStreamError::SocketStreamError):
117628         * platform/network/brew/SocketStreamHandle.h: Added.
117629         (WebCore::SocketStreamHandle::create):
117630         * platform/network/brew/SocketStreamHandleBrew.cpp: Added.
117631         (WebCore::socketStreamConnectCallback):
117632         (WebCore::getHostByNameCallback):
117633         (WebCore::socketReadableCallback):
117634         (WebCore::networkManager):
117635         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
117636         (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate):
117637         (WebCore::SocketStreamHandlePrivate::socketConnected):
117638         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
117639         (WebCore::SocketStreamHandlePrivate::connect):
117640         (WebCore::SocketStreamHandlePrivate::send):
117641         (WebCore::SocketStreamHandlePrivate::close):
117642         (WebCore::SocketStreamHandlePrivate::socketClosed):
117643         (WebCore::SocketStreamHandlePrivate::socketError):
117644         (WebCore::SocketStreamHandle::SocketStreamHandle):
117645         (WebCore::SocketStreamHandle::~SocketStreamHandle):
117646         (WebCore::SocketStreamHandle::platformSend):
117647         (WebCore::SocketStreamHandle::platformClose):
117648         (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge):
117649         (WebCore::SocketStreamHandle::receivedCredential):
117650         (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
117651         (WebCore::SocketStreamHandle::receivedCancellation):
117652         * platform/network/brew/SocketStreamHandlePrivate.h: Added.
117653
117654 2010-06-19  Nikita Vasilyev  <me@elv1s.ru>
117655
117656         Reviewed by Pavel Feldman.
117657
117658         Web Inspector: Prevent from copying "filename.css" in Styles pane
117659         https://bugs.webkit.org/show_bug.cgi?id=40420
117660
117661         * inspector/front-end/Section.js:
117662         (WebInspector.Section.prototype.set subtitle):
117663         (WebInspector.Section.prototype.get subtitleAsText):
117664         * inspector/front-end/StylesSidebarPane.js:
117665         (WebInspector.StylePropertiesSection):
117666         * inspector/front-end/inspector.css:
117667         (.styles-section .subtitle::before, .styles-section .subtitle a::before):
117668
117669 2010-06-19  Alex Milowski  <alex@milowski.com>
117670
117671         Reviewed by Darin Adler.
117672
117673         A fix for a change in https://bugs.webkit.org/show_bug.cgi?id=39941 
117674         that caused a compile error in MathML.
117675         https://bugs.webkit.org/show_bug.cgi?id=40827
117676
117677         * mathml/MathMLElement.cpp:
117678         (WebCore::MathMLElement::MathMLElement):
117679
117680 2010-06-19  Kartikaya Gupta  <kagupta@rim.com>
117681
117682         Reviewed by Nikolas Zimmermann.
117683
117684         CPP bindings missing some APIs
117685         https://bugs.webkit.org/show_bug.cgi?id=40570
117686
117687         Add missing C++ DOM API bindings. Specifically:
117688         - NodeFilter callback support
117689         - Missing custom method implementations in HTMLCollection and HTMLOptionsCollection
117690         - Missing EventTarget static type-determination methods
117691         - Fix CPP binding generator to not generate d-ptrs for classes that extend EventTarget and just use the parent's d-ptr instead
117692         - Switch binding generator to use DOMWindow instead of AbstractView so that necessary W3C-defined methods (e.g. getComputedStyle) are accessible.
117693
117694         * bindings/cpp/WebDOMDOMWindowCustom.cpp: Added.
117695         (WebDOMDOMWindow::addEventListener):
117696         (WebDOMDOMWindow::removeEventListener):
117697         * bindings/cpp/WebDOMEventTarget.cpp:
117698         (toWebKit):
117699         * bindings/cpp/WebDOMEventTarget.h:
117700         * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Added.
117701         (WebDOMHTMLCollection::item):
117702         (WebDOMHTMLCollection::namedItem):
117703         * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Added.
117704         (WebDOMHTMLOptionsCollection::length):
117705         (WebDOMHTMLOptionsCollection::setLength):
117706         * bindings/cpp/WebDOMNodeFilterCustom.cpp: Added.
117707         (WebDOMNodeFilter::acceptNode):
117708         (toWebKit):
117709         * bindings/cpp/WebNativeNodeFilterCondition.cpp: Added.
117710         (WebNativeNodeFilterCondition::WebNativeNodeFilterCondition):
117711         (WebNativeNodeFilterCondition::~WebNativeNodeFilterCondition):
117712         (WebNativeNodeFilterCondition::acceptNode):
117713         * bindings/cpp/WebNativeNodeFilterCondition.h: Added.
117714         (WebNativeNodeFilterCondition::create):
117715         * bindings/scripts/CodeGeneratorCPP.pm:
117716         * dom/NodeFilter.idl:
117717         * page/DOMWindow.idl:
117718
117719 2010-06-19  Vangelis Kokkevis  <vangelis@chromium.org>
117720
117721         Reviewed by Dimitri Glazkov.
117722
117723         [chromium] Adding a conditional gyp dependency for the WebCore target to 
117724         the gles2_c_lib which is required by the gpu compositor. The dependency will
117725         only kick in if the accelerated_compositing path is enabled.
117726         https://bugs.webkit.org/show_bug.cgi?id=40801
117727
117728         * WebCore.gyp/WebCore.gyp:
117729
117730 2010-06-19  Yael Aharon  <yael.aharon@nokia.com>
117731
117732         Reviewed by Kenneth Rohde Christiansen.
117733
117734         [Qt] Platform plugin's multi-select does not take OptGroup into account
117735         https://bugs.webkit.org/show_bug.cgi?id=40718
117736
117737         In multi-select elements, optgroup elements are counted in the index calculation,
117738         but in single-select they are not. Keep the same logic even when NO_LISTBOX_RENDERING
117739         is enabled.
117740         Added tests to the existing manual test, as testing this requires a special build, in which
117741         NO_LISTBOX_RENDERING is enabled.
117742
117743         * html/HTMLSelectElement.cpp:
117744         (WebCore::HTMLSelectElement::listBoxSelectItem):
117745         * manual-tests/no-listbox-rendering.html:
117746         * rendering/RenderMenuList.cpp:
117747         (WebCore::RenderMenuList::listBoxSelectItem):
117748
117749 2010-06-19  Thomas Van Lenten  <thomasvl@chromium.org>
117750
117751         Reviewed by David Levin.
117752
117753         Warnings from -Wextra in a Chromium Mac build
117754         1. checks of unsigned >= 0
117755         2. enumeral and non-enumeral type in conditional expression
117756         3. copy ctors that don't call the super copy ctor or ctor
117757         No functionality change so no new tests.
117758
117759         https://bugs.webkit.org/show_bug.cgi?id=40791
117760
117761         * platform/chromium/ChromiumDataObject.cpp:
117762         (WebCore::ChromiumDataObject::ChromiumDataObject):
117763         * platform/chromium/ThemeChromiumMac.mm:
117764         (WebCore::updateStates):
117765         * rendering/RenderThemeChromiumMac.mm:
117766         (WebCore::RenderThemeChromiumMac::updateActiveState):
117767
117768 2010-06-19  Ben Murdoch  <benm@google.com>
117769
117770         Reviewed by Pavel Feldman.
117771
117772         Fix build break with inspector disabled.
117773         https://bugs.webkit.org/show_bug.cgi?id=40790
117774
117775         Replace a #include with a forward declaration.
117776
117777         Fixing a build break so no new tests required.
117778
117779         * inspector/InspectorController.h: Forward declare InspectorValue
117780            rather than #including its header which has its content guarded
117781            out.
117782
117783 2010-06-19  Zhe Su  <suzhe@chromium.org>
117784
117785         Reviewed by Darin Fisher.
117786
117787         [chromium]Refactor input method related APIs.
117788         https://bugs.webkit.org/show_bug.cgi?id=40608
117789
117790         No new tests are needed, because there is no new functionality.
117791
117792         * page/FocusController.cpp:
117793         (WebCore::FocusController::setFocusedNode):
117794
117795 2010-06-19  George Wright  <gwright@rim.com>
117796
117797         Reviewed by George Staikos.
117798
117799         https://bugs.webkit.org/show_bug.cgi?id=40720
117800
117801         Make setWapInputFormat() public again as CSSStyleSelector.cpp calls this when WCSS is enabled.
117802
117803         * html/HTMLInputElement.h:
117804         (WebCore::HTMLInputElement::data):
117805
117806 2010-06-02  Robert Hogan  <robert@webkit.org>
117807
117808         Reviewed by Adam Barth.
117809
117810         [Qt] Support evaluateScriptInIsolatedWorld()
117811
117812         https://bugs.webkit.org/show_bug.cgi?id=40079
117813
117814         getOwnPropertyNames() crashes if PropertyNameArray is size 0. This change allows
117815         http/tests/world-reuse.html and didClearWindowObject.html to fail instead of crash.
117816
117817         * WebCore.pro: Add qwebscriptworld.*
117818         * bridge/qt/qt_runtime.cpp:
117819         (JSC::Bindings::convertValueToQVariant):
117820
117821 2010-06-19  Tony Gentilcore  <tonyg@chromium.org>
117822
117823         Reviewed by Eric Seidel.
117824
117825         Some very minor cleanups for HTML5 Parser
117826         https://bugs.webkit.org/show_bug.cgi?id=40638
117827
117828         No new tests because no new functionality.
117829
117830         * html/HTML5DocumentParser.cpp:
117831         (WebCore::): Make ctor explicit.
117832         * html/HTML5DocumentParser.h:
117833         (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord): Make ctor explicit.
117834         * html/HTML5Lexer.cpp:
117835         (WebCore::HTMLNames::isEndTagBufferingState): Use switch to generate an efficient table with single branch.
117836         * html/HTML5Token.h:
117837         (WebCore::HTML5Token::forceQuirks): Add const.
117838         * html/HTML5TreeBuilder.h:
117839         (WebCore::HTML5TreeBuilder::isPaused): Add const.
117840
117841 2010-06-18  Aaron Boodman  <aa@chromium.org>
117842
117843         Remove WebKit::WebDocument::isXHTMLDocument.
117844         https://bugs.webkit.org/show_bug.cgi?id=40815
117845
117846         * dom/Document.h: remove isXHTML() getter.
117847
117848 2010-06-19  Aaron Boodman  <aa@chromium.org>
117849
117850         Unreviewed, rolling out r61466.
117851         http://trac.webkit.org/changeset/61466
117852         https://bugs.webkit.org/show_bug.cgi?id=40816
117853
117854         Landed wrong change
117855
117856         * bindings/v8/V8DOMWindowShell.cpp:
117857         (WebCore::V8DOMWindowShell::initContextIfNeeded):
117858         * bindings/v8/V8DOMWindowShell.h:
117859
117860 2010-06-18  Aaron Boodman  <aa@chromium.org>
117861
117862         WebKit API: Undo static hooks into V8 when WebKit is shut down.
117863         https://bugs.webkit.org/show_bug.cgi?id=40816
117864
117865         * bindings/v8/V8DOMWindowShell.cpp:
117866         (WebCore::V8DOMWindowShell::initContextIfNeeded):
117867         (WebCore::V8DOMWindowShell::initializeV8IfNeeded):
117868         (WebCore::V8DOMWindowShell::uninitializeV8IfNeeded):
117869         * bindings/v8/V8DOMWindowShell.h:
117870
117871 2010-06-18  Jessie Berlin  <jberlin@webkit.org>
117872
117873         Reviewed by Darin Adler.
117874
117875         Bug 19509 - Database Tables in the Inspector should be sortable
117876         https://bugs.webkit.org/show_bug.cgi?id=19509
117877
117878         * inspector/front-end/StoragePanel.js:
117879         (WebInspector.StoragePanel.prototype.dataGridForResult):
117880         Make each column in the DataGrid sortable.
117881         (WebInspector.StoragePanel.prototype._sortDataGrid.comparator):
117882         Make sure to sort numeric columns by their numeric values, instead of lexicographically.
117883         (WebInspector.StoragePanel.prototype._sortDataGrid):
117884         Sort the entries in the DataGrid based on the selected column.
117885
117886 2010-06-18  Anders Carlsson  <andersca@apple.com>
117887
117888         Reviewed by Oliver Hunt.
117889
117890         More clang++ warning fixes.
117891
117892         * inspector/InspectorFrontendClientLocal.cpp:
117893         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
117894         * platform/graphics/mac/FontPlatformData.h:
117895         * platform/graphics/mac/WebLayer.mm:
117896         (-[CALayer _descriptionWithPrefix:]):
117897
117898 2010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
117899
117900         Unreviewed, build fix.
117901
117902         * WebCore.gyp/WebCore.gyp: Modified inclusion rule in to actually add WebSystemInterface.mm.
117903
117904 2010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
117905
117906         Unreviewed, build fix.
117907
117908         * WebCore.gyp/WebCore.gyp: Renamed WebSystemInterface.m to WebSystemInterface.mm.
117909
117910 2010-06-18  Anders Carlsson  <andersca@apple.com>
117911
117912         Reviewed by Sam Weinig.
117913
117914         Make WebCoreSystemInterface.h a C++ only header
117915         https://bugs.webkit.org/show_bug.cgi?id=40867
117916
117917         * platform/mac/WebCoreSystemInterface.h:
117918
117919 2010-06-18  Abhishek Arya  <inferno@chromium.org>
117920
117921         Reviewed by Adam Barth.
117922
117923         Convert column span from an unsigned short type to an unsigned int
117924         type. Fixes a divide-by-zero crash arising from using a zero colspan
117925         value coming from a narrow cast of an int to an unsigned short.
117926         https://bugs.webkit.org/show_bug.cgi?id=40812
117927
117928         Test: fast/table/zero-colspan-crash.html
117929
117930         * rendering/RenderTable.h: Change span from unsigned short to unsigned int.
117931         * rendering/RenderTableSection.cpp: Fix a compiler warning with comparing
117932           unsigned int with signed int. Value of an unsigned int here cannot be
117933           greater than maximum positive value of a signed int.
117934         (WebCore::RenderTableSection::addCell):
117935
117936 2010-06-18  Ananth Jasty  <ext-ananth.jasty@nokia.com>
117937
117938         Reviewed by Simon Hausmann.
117939
117940         [Qt] Text spacing miscalculation when using wordSpacing.
117941         https://bugs.webkit.org/show_bug.cgi?id=40483
117942
117943         Removed wordSpacing compensation in FontQt whitespace width
117944         calculation. The QFontMetrics::width() overload that takes
117945         a character does not take QFont's word spacing into account.
117946
117947         * platform/graphics/qt/FontQt.cpp:
117948         (WebCore::Font::floatWidthForComplexText):
117949
117950 2010-06-18  Anders Carlsson  <andersca@apple.com>
117951
117952         Reviewed by Darin Adler.
117953
117954         Get rid of PluginDataMac.mm and use the plug-in strategy instead
117955         https://bugs.webkit.org/show_bug.cgi?id=40860
117956
117957         * WebCore.xcodeproj/project.pbxproj:
117958         * page/mac/WebCoreViewFactory.h:
117959         * plugins/PluginData.cpp:
117960         (WebCore::PluginData::refresh):
117961         (WebCore::PluginData::initPlugins):
117962         * plugins/PluginStrategy.h:
117963         * plugins/mac/PluginDataMac.mm: Removed.
117964
117965 2010-06-18  Anders Carlsson  <andersca@apple.com>
117966
117967         Reviewed by Dan Bernstein.
117968
117969         Fix some (not all) clang++ warnings.
117970
117971         * dom/Position.h:
117972         (WebCore::lastOffsetInNode):
117973         * editing/CompositeEditCommand.cpp:
117974         (WebCore::CompositeEditCommand::deleteInsignificantText):
117975         * loader/appcache/ApplicationCache.cpp:
117976         (WebCore::ApplicationCache::resourceForRequest):
117977         * platform/graphics/mac/ComplexTextController.cpp:
117978         (WebCore::ComplexTextController::offsetForPosition):
117979         (WebCore::ComplexTextController::collectComplexTextRuns):
117980         * platform/network/CredentialStorage.cpp:
117981         (WebCore::protectionSpaceMapKeyFromURL):
117982         * rendering/style/StyleRareNonInheritedData.h:
117983
117984 2010-06-18  Anders Carlsson  <andersca@apple.com>
117985
117986         Reviewed by Dan Bernstein.
117987
117988         Add stubbed out WebPlatformStrategies class to WebKit.
117989         https://bugs.webkit.org/show_bug.cgi?id=40851
117990
117991         * WebCore.base.exp:
117992         * platform/PlatformStrategies.cpp:
117993         * platform/PlatformStrategies.h:
117994         (WebCore::PlatformStrategies::~PlatformStrategies):
117995
117996 2010-06-18  Anders Carlsson  <andersca@apple.com>
117997
117998         Reviewed by Darin Adler.
117999
118000         Fix build errors when building with clang++.
118001
118002         * loader/archive/cf/LegacyWebArchiveMac.mm:
118003         Move the const qualifier to the right place.
118004
118005         * page/EditorClient.h:
118006         * platform/Pasteboard.h:
118007         Use @class when forward declaring Objective-C classes in Objective-C.
118008
118009 2010-06-18  Alexey Proskuryakov  <ap@apple.com>
118010
118011         Reviewed by Geoff Garen.
118012
118013         https://bugs.webkit.org/show_bug.cgi?id=40852
118014         <rdar://problem/8105498> Limit simultaneous DNS prefetch request number (40852)
118015
118016         No change in functionality, so no tests.
118017
118018         We still queue up to 64 names, but only make up to 8 requests at once. If there are names
118019         remaining in queue, we retry after a short timeout (which is easier than posting
118020         notifications from client callback).
118021
118022         * platform/network/cf/DNSCFNet.cpp:
118023         (WebCore::DNSResolveQueue::add):
118024         (WebCore::DNSResolveQueue::fired):
118025
118026 2010-06-18  Zhenyao Mo  <zmo@google.com>
118027
118028         Reviewed by Simon Fraser.
118029
118030         WebGL demos show bad flicker
118031         https://bugs.webkit.org/show_bug.cgi?id=38560
118032
118033         * platform/graphics/mac/GraphicsContext3DMac.mm:
118034         (WebCore::GraphicsContext3D::prepareTexture): Move ensureContext() out of if-block so it's always executed.
118035
118036 2010-06-18  Anders Carlsson  <andersca@apple.com>
118037
118038         Reviewed by Sam Weinig.
118039
118040         Add PlatformStrategies and PluginStrategy classes.
118041         https://bugs.webkit.org/show_bug.cgi?id=40850
118042
118043         * WebCore.xcodeproj/project.pbxproj:
118044         * platform/PlatformStrategies.cpp: Added.
118045         (WebCore::PlatformStrategies::~PlatformStrategies):
118046         (WebCore::platformStrategies):
118047         (WebCore::setPlatformStrategies):
118048         * platform/PlatformStrategies.h: Added.
118049         (WebCore::PlatformStrategies::pluginStrategy):
118050         (WebCore::PlatformStrategies::PlatformStrategies):
118051         * plugins/PluginData.cpp:
118052         * plugins/PluginStrategy.h: Added.
118053         (WebCore::PluginStrategy::~PluginStrategy):
118054
118055 2010-06-18  Martin Robinson  <mrobinson@igalia.com>
118056
118057         Unreviewed.
118058
118059         Fix the GTK+ build after r61413 and 61379.
118060
118061         * bindings/scripts/CodeGeneratorGObject.pm:
118062         Produce a g_value_set that uses getterExpressionPrefix instead of the raw getter.
118063         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
118064         (webkit_dom_test_obj_get_property): Update expected test results.
118065
118066 2010-06-18  Leandro Pereira  <leandro@profusion.mobi>
118067
118068         [EFL] Unreviewed build fix.
118069
118070         * CMakeLists.txt: Add inspector/ScriptBreakpoint.cpp.
118071
118072 2010-06-18  Andy Estes  <aestes@apple.com>
118073
118074         Rubber-stamped by Sam Weinig.
118075
118076         Update copyright header.
118077
118078         * html/HTMLLinkElement.h:
118079
118080 2010-06-17  Andy Estes  <aestes@apple.com>
118081
118082         Reviewed by Dan Bernstein.
118083
118084         <rdar://problem/8091385> Prevent a crash in WebCore when removing a stylesheet link element in
118085         in a listener to its beforeload event.
118086         https://bugs.webkit.org/show_bug.cgi?id=40742
118087         
118088         Postpone loading of link elements until after they have been inserted into the DOM and
118089         attached. This prevents DOM mutations triggered by beforeload handlers from firing in the
118090         midst of DOM insertion, which can lead to assertion failures and crashes.
118091
118092         Test: fast/dom/beforeload/remove-link-in-beforeload-listener.html
118093
118094         * html/HTMLLinkElement.cpp:
118095         (WebCore::HTMLLinkElement::HTMLLinkElement): Initialize m_shouldProcessAfterAttach to false.
118096         (WebCore::HTMLLinkElement::processCallback): Add a static callback function which calls
118097         HTMLLinkElement::process().
118098         (WebCore::HTMLLinkElement::insertedIntoDocument): Instead of calling process() directly, set
118099         m_shouldProcessAfterAttach to true to indicate that process() should be called after attach().
118100         (WebCore::HTMLLinkElement::removedFromDocument): Set m_shouldProcessAfterAttach to false.
118101         (WebCore::HTMLLinkElement::attach): If m_shouldProcessAfterAttach is true, register
118102         HTMLLinkElement::processCallback() as a post-attach callback.
118103         * html/HTMLLinkElement.h: Add m_shouldProcessAfterAttach.
118104         (WebCore::HTMLLinkElement::canLazyAttach): Override canLazyAttach() to return false to
118105         indicate that a full attach should be performed.  This ensures the post-attach callbacks are
118106         fired.
118107
118108 2010-06-18  Chris Fleizach  <cfleizach@apple.com>
118109
118110         Unreviewed. Windows build fix.
118111
118112         AX: presentational role needs to be inherited by required elements
118113         https://bugs.webkit.org/show_bug.cgi?id=40132
118114
118115         * accessibility/AccessibilityRenderObject.cpp:
118116         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
118117
118118 2010-06-18  Chris Fleizach  <cfleizach@apple.com>
118119
118120         Reviewed by David Kilzer.
118121
118122         AX: presentational role needs to be inherited by required elements
118123         https://bugs.webkit.org/show_bug.cgi?id=40132
118124
118125         Test: platform/mac/accessibility/inherited-presentational-lists.html
118126
118127         * accessibility/AccessibilityRenderObject.cpp:
118128         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
118129         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
118130         * accessibility/AccessibilityRenderObject.h:
118131         (WebCore::AccessibilityRenderObject::node):
118132
118133 2010-06-18  Darin Adler  <darin@apple.com>
118134
118135         Fix GTK build after reflection change.
118136
118137         * bindings/scripts/CodeGeneratorGObject.pm: Changed code
118138         that emits setters to convey the correct type of the attribute.
118139         The GObject code generator takes a different approach to attributes
118140         than the others, so it's hacked a bit to make it more like them.
118141         We should find a way to share more code between the different generators.
118142
118143         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
118144         Updated to expect correct results.
118145
118146 2010-06-18  Yury Semikhatsky  <yurys@chromium.org>
118147
118148         Unreviewed: Qt build fix.
118149
118150         * inspector/InspectorController.cpp:
118151
118152 2010-06-18  Justin Garcia  <justin.garcia@apple.com>
118153
118154         Reviewed by Ojan Vafai.
118155
118156         https://bugs.webkit.org/show_bug.cgi?id=39798
118157         No selection change notification for editing operation that doesn't change the selection's DOM position
118158         
118159         Some editing operations change the selection visually without affecting its position within 
118160         the DOM.  This was previously known to occur for certain typing commands, but it can also 
118161         occur for some Pastes and changes to block style.
118162
118163         * editing/Editor.cpp:
118164         (WebCore::Editor::appliedEditing):
118165         (WebCore::Editor::unappliedEditing):
118166         (WebCore::Editor::reappliedEditing):
118167         (WebCore::Editor::changeSelectionAfterCommand):
118168         * editing/Editor.h:
118169
118170 2010-06-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
118171
118172         Unreviewed build fix.
118173
118174         [EFL] Build break on Debug build.
118175         https://bugs.webkit.org/show_bug.cgi?id=40810
118176
118177         * CMakeLists.txt: Add CSSPreloadScanner.cpp
118178
118179 2010-06-18  Pavel Podivilov  <podivilov@chromium.org>
118180
118181         Reviewed by Yury Semikhatsky.
118182
118183         Web Inspector: persist breakpoints in inspector settings.
118184         https://bugs.webkit.org/show_bug.cgi?id=14190
118185
118186         * GNUmakefile.am:
118187         * WebCore.gypi:
118188         * WebCore.pro:
118189         * WebCore.vcproj/WebCore.vcproj:
118190         * WebCore.xcodeproj/project.pbxproj:
118191         * inspector/InspectorController.cpp:
118192         (WebCore::InspectorController::InspectorController):
118193         (WebCore::InspectorController::setSessionSettings):
118194         (WebCore::InspectorController::didCommitLoad):
118195         (WebCore::InspectorController::setBreakpoint):
118196         (WebCore::InspectorController::removeBreakpoint):
118197         (WebCore::InspectorController::didParseSource):
118198         (WebCore::InspectorController::breakpointsSettingKey):
118199         (WebCore::InspectorController::loadBreakpoints):
118200         (WebCore::InspectorController::saveBreakpoints):
118201         * inspector/InspectorController.h:
118202         * inspector/InspectorValues.cpp:
118203         (WebCore::InspectorValue::parseJSON):
118204         * inspector/InspectorValues.h:
118205         * inspector/ScriptBreakpoint.cpp: Added.
118206         (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
118207         (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
118208         * inspector/ScriptBreakpoint.h:
118209         * inspector/front-end/BreakpointManager.js:
118210         (WebInspector.BreakpointManager.prototype.addBreakpoint):
118211         (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
118212         (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
118213         (WebInspector.BreakpointManager.prototype.breakpointsForURL):
118214         (WebInspector.BreakpointManager.prototype._addBreakpoint):
118215         * inspector/front-end/inspector.js:
118216         (WebInspector.restoredBreakpoint):
118217
118218 2010-06-18  Darin Adler  <darin@apple.com>
118219
118220         Reviewed by Sam Weinig.
118221
118222         Implement additional DOM attribute reflection for bindings
118223         https://bugs.webkit.org/show_bug.cgi?id=39936
118224
118225         - Added support for [Reflect] for long, unsigned long, and boolean
118226           attributes.
118227         - Fixed code that set attributes like this: <video controls="controls">
118228           to instead set them like this: <video controls>.
118229         - Added lots more uses of [Reflect].
118230         - Removed now-unneeded [ConvertFromString].
118231         - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
118232           of most uses of the latter.
118233         - Made [Reflect] automatically lowercase the name of the reflected
118234           content attribute to minimize the need to specify a custom content
118235           attribute name.
118236
118237         One thing this patch does *not* do is remove the unneeded functions
118238         in the various DOM classes that are no longer used by the bindings.
118239         We should do that in a followup.
118240
118241         * bindings/scripts/CodeGenerator.pm: Added new functions so code
118242         can be shared across bindings, GetterExpressionPrefix and
118243         SetterExpressionPrefix. We can do a lot more refactoring like
118244         this in the future.
118245
118246         * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
118247         ConvertFromString handling, changed to use the new
118248         GetterExpressionPrefix and SetterExpressionPrefix functions
118249         to better handle reflected DOM attributes.
118250
118251         * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
118252         ConvertFromString handling, changed to use the new
118253         GetterExpressionPrefix and SetterExpressionPrefix functions
118254         to better handle reflected DOM attributes. Fixed a few things
118255         in the output so the .cpp file will have more WebKit style.
118256         The .h file should be GTK style, but the .cpp file can be the
118257         standard WebKit style eventually.
118258
118259         * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
118260         GetterExpressionPrefix and SetterExpressionPrefix functions
118261         and removed a now-unneeded IsSVGAnimatedType special case since
118262         the new functions take care of it. Made reflected attributes
118263         automatically convert null to the null string without a
118264         separate ConvertNullToNullString attribute.
118265
118266         * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
118267         GetterExpressionPrefix and SetterExpressionPrefix functions
118268         and removed a now-unneeded IsSVGAnimatedType special case since
118269         the new functions take care of it. Redid the special cases for
118270         ownerDocument and for operator to fit better with the new code
118271         paths. Removed unneeded ConvertFromString handling.
118272
118273         * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
118274         GetterExpressionPrefix and SetterExpressionPrefix functions
118275         and removed a now-unneeded IsSVGAnimatedType special case since
118276         the new functions take care of it. Made reflected attributes
118277         automatically convert null to the null string without a
118278         separate ConvertNullToNullString attribute.
118279
118280         * bindings/scripts/test/TestObj.idl: Added some test cases for
118281         content attribute reflection and for exceptions in string-typed
118282         attributes.
118283
118284         * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
118285         * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
118286         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
118287         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
118288         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
118289         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
118290         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
118291         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
118292         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
118293
118294         * dom/Element.cpp:
118295         (WebCore::Element::getIntegralAttribute): Added.
118296         (WebCore::Element::setIntegralAttribute): Added.
118297         (WebCore::Element::getUnsignedIntegralAttribute): Added.
118298         (WebCore::Element::setUnsignedIntegralAttribute): Added.
118299         * dom/Element.h: Added new attribute get/set functions for bindings.
118300
118301         * html/HTMLMediaElement.cpp:
118302         (WebCore::HTMLMediaElement::isURLAttribute): Added. Returns true for
118303         srcAttr.
118304         * html/HTMLMediaElement.h: Added isURLAttribute.
118305
118306         * html/HTMLVideoElement.cpp:
118307         (WebCore::HTMLVideoElement::isURLAttribute): Changed to call
118308         HTMLMediaElement::isURLAttribute before checking for posterAttr.
118309
118310         * html/HTMLAnchorElement.idl:
118311         * html/HTMLAppletElement.idl:
118312         * html/HTMLAreaElement.idl:
118313         * html/HTMLBRElement.idl:
118314         * html/HTMLBaseElement.idl:
118315         * html/HTMLBaseFontElement.idl:
118316         * html/HTMLBlockquoteElement.idl:
118317         * html/HTMLBodyElement.idl:
118318         * html/HTMLButtonElement.idl:
118319         * html/HTMLDListElement.idl:
118320         * html/HTMLDirectoryElement.idl:
118321         * html/HTMLDivElement.idl:
118322         * html/HTMLElement.idl:
118323         * html/HTMLEmbedElement.idl:
118324         * html/HTMLFontElement.idl:
118325         * html/HTMLFormElement.idl:
118326         * html/HTMLFrameElement.idl:
118327         * html/HTMLFrameSetElement.idl:
118328         * html/HTMLHRElement.idl:
118329         * html/HTMLHeadElement.idl:
118330         * html/HTMLHeadingElement.idl:
118331         * html/HTMLHtmlElement.idl:
118332         * html/HTMLIFrameElement.idl:
118333         * html/HTMLImageElement.idl:
118334         * html/HTMLInputElement.idl:
118335         * html/HTMLIsIndexElement.idl:
118336         * html/HTMLLIElement.idl:
118337         * html/HTMLLabelElement.idl:
118338         * html/HTMLLegendElement.idl:
118339         * html/HTMLLinkElement.idl:
118340         * html/HTMLMapElement.idl:
118341         * html/HTMLMediaElement.idl:
118342         * html/HTMLMenuElement.idl:
118343         * html/HTMLMetaElement.idl:
118344         * html/HTMLModElement.idl:
118345         * html/HTMLOListElement.idl:
118346         * html/HTMLObjectElement.idl:
118347         * html/HTMLOptGroupElement.idl:
118348         * html/HTMLOptionElement.idl:
118349         * html/HTMLParagraphElement.idl:
118350         * html/HTMLParamElement.idl:
118351         * html/HTMLPreElement.idl:
118352         * html/HTMLQuoteElement.idl:
118353         * html/HTMLScriptElement.idl:
118354         * html/HTMLStyleElement.idl:
118355         * html/HTMLTableCaptionElement.idl:
118356         * html/HTMLTableCellElement.idl:
118357         * html/HTMLTableColElement.idl:
118358         * html/HTMLTableElement.idl:
118359         * html/HTMLTableRowElement.idl:
118360         * html/HTMLTableSectionElement.idl:
118361         * html/HTMLTextAreaElement.idl:
118362         * html/HTMLUListElement.idl:
118363         * html/HTMLVideoElement.idl:
118364         * svg/SVGElement.idl:
118365         Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
118366         are now unneeded since [Reflect] now implies that. Changed formatting to be
118367         simpler and consistent without all the lining up and multiple lines.
118368
118369 2010-06-17  Dumitru Daniliuc  <dumi@chromium.org>
118370
118371         Reviewed by Dimitri Glazkov.
118372
118373         Remove some unnecessary checks that cause compiler warnings.
118374         https://bugs.webkit.org/show_bug.cgi?id=40772
118375
118376         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
118377         (WebCore::V8SQLResultSetRowList::itemCallback):
118378         * bindings/v8/npruntime.cpp:
118379
118380 2010-06-18  Mikhail Naganov  <mnaganov@chromium.org>
118381
118382         Reviewed by Yury Semikhatsky.
118383
118384         Implement 'takeHeapSnapshot' in InspectorController.
118385
118386         https://bugs.webkit.org/show_bug.cgi?id=40834
118387
118388         * bindings/js/ScriptProfiler.h:
118389         (WebCore::ScriptProfiler::takeHeapSnapshot):
118390         * bindings/v8/ScriptProfiler.cpp:
118391         (WebCore::ScriptProfiler::takeHeapSnapshot):
118392         * bindings/v8/ScriptProfiler.h:
118393         * inspector/InspectorBackend.cpp:
118394         (WebCore::InspectorBackend::takeHeapSnapshot):
118395         * inspector/InspectorBackend.h:
118396         * inspector/InspectorBackend.idl:
118397         * inspector/InspectorController.cpp:
118398         (WebCore::InspectorController::takeHeapSnapshot):
118399         * inspector/InspectorController.h:
118400
118401 2010-06-18  Dan Bernstein  <mitz@apple.com>
118402
118403         Reviewed by Anders Carlsson.
118404
118405         REGRESSION (r61379?): Assertion failure in Element::getURLAttribute() when accessing the src attribute of a script element
118406         https://bugs.webkit.org/show_bug.cgi?id=40831
118407
118408         Test: fast/dom/HTMLScriptElement/isURLAttribute.html
118409
118410         * html/HTMLScriptElement.cpp:
118411         (WebCore::HTMLScriptElement::isURLAttribute): Check for the 'src' attribute.
118412
118413 2010-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
118414
118415         Unreviewed, rolling out r61405.
118416         http://trac.webkit.org/changeset/61405
118417         https://bugs.webkit.org/show_bug.cgi?id=40838
118418
118419         broke chromium mac compile (Requested by tonyg-cr1 on
118420         #webkit).
118421
118422         * bindings/v8/ScriptSourceCode.h:
118423         (WebCore::ScriptSourceCode::ScriptSourceCode):
118424         * bindings/v8/V8Proxy.cpp:
118425         (WebCore::V8Proxy::compileScript):
118426         (WebCore::V8Proxy::evaluate):
118427         * bindings/v8/V8Proxy.h:
118428
118429 2010-06-18  Zhenyao Mo  <zmo@google.com>
118430
118431         Reviewed by Dimitri Glazkov.
118432
118433         Fix WebGLRenderingContext helper functions find{Texture/Renderbuffer/Buffer}
118434         https://bugs.webkit.org/show_bug.cgi?id=40176
118435
118436         * html/canvas/WebGLBuffer.cpp: Remove constructor with existing name.
118437         * html/canvas/WebGLBuffer.h: Ditto.
118438         * html/canvas/WebGLRenderingContext.cpp:
118439         (WebCore::WebGLRenderingContext::getVertexAttrib): Use findBuffer instead of creating a new WebGLBuffer.
118440         (WebCore::WebGLRenderingContext::findTexture): Deal with name == 0 case and return raw pointer.
118441         (WebCore::WebGLRenderingContext::findRenderbuffer): Ditto.
118442         (WebCore::WebGLRenderingContext::findBuffer): Find WebGLBuffer object using given name.
118443         * html/canvas/WebGLRenderingContext.h: Add findBuffer function declaration, change return type to raw pointer.
118444
118445 2010-06-18  Tony Gentilcore  <tonyg@chromium.org>
118446
118447         Reviewed by David Levin.
118448
118449         Persist V8's ScriptData to the memory cache.
118450         https://bugs.webkit.org/show_bug.cgi?id=38661
118451
118452         This stores V8's ScriptData in the memory cache and also causes the
118453         network platform layer to be notified of the available cacheable
118454         metadata.
118455
118456         Chromium's morejs benchmark showed a ~7% improvement when this was
118457         originally submitted (before it had to be rolled back).
118458
118459         Test: fast/js/parser-high-byte-character.html
118460
118461         * bindings/v8/ScriptSourceCode.h:
118462         (WebCore::ScriptSourceCode::ScriptSourceCode):
118463         (WebCore::ScriptSourceCode::cachedScript):
118464         * bindings/v8/V8Proxy.cpp:
118465         (WebCore::V8Proxy::compileScript):
118466         (WebCore::V8Proxy::precompileScript):
118467         (WebCore::V8Proxy::evaluate):
118468         * bindings/v8/V8Proxy.h:
118469
118470 2010-06-18  Anton Muhin  <antonm@chromium.org>
118471
118472         Reviewed by Dimitri Glazkov.
118473
118474         [v8] Finish migration to new named property query API
118475         https://bugs.webkit.org/show_bug.cgi?id=40771
118476         Remove definition which allowed gradual transition to new API.
118477         See https://bugs.webkit.org/show_bug.cgi?id=40303 for first phase.
118478
118479         * config.h:
118480
118481 2010-06-17  Pavel Feldman  <pfeldman@chromium.org>
118482
118483         Reviewed by Yury Semikhatsky.
118484
118485         Web Inspector: bring XHR console records back.
118486         - adds "Enable XHR Monitor" / "Disable XHR Monitor" actions to the console's context menu
118487         - make the chosen option persist in the settings.
118488
118489         https://bugs.webkit.org/show_bug.cgi?id=40799
118490
118491         * English.lproj/localizedStrings.js:
118492         * inspector/InspectorBackend.cpp:
118493         (WebCore::InspectorBackend::disableSearchingForNode):
118494         (WebCore::InspectorBackend::enableMonitoringXHR):
118495         (WebCore::InspectorBackend::disableMonitoringXHR):
118496         * inspector/InspectorBackend.h:
118497         * inspector/InspectorBackend.idl:
118498         * inspector/InspectorController.cpp:
118499         (WebCore::InspectorController::InspectorController):
118500         (WebCore::InspectorController::setMonitoringXHR):
118501         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
118502         (WebCore::InspectorController::identifierForInitialRequest):
118503         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
118504         (WebCore::InspectorController::ensureSettingsLoaded):
118505         * inspector/InspectorController.h:
118506         * inspector/InspectorFrontend.cpp:
118507         (WebCore::InspectorFrontend::monitoringXHRWasEnabled):
118508         (WebCore::InspectorFrontend::monitoringXHRWasDisabled):
118509         * inspector/InspectorFrontend.h:
118510         * inspector/front-end/ConsoleView.js:
118511         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
118512         (WebInspector.ConsoleView.prototype._registerShortcuts):
118513         * inspector/front-end/InjectedScript.js:
118514         (injectedScriptConstructor.):
118515         * inspector/front-end/InspectorBackendStub.js:
118516         (.WebInspector.InspectorBackendStub):
118517         (.WebInspector.InspectorBackendStub.prototype.enableMonitoringXHR):
118518         (.WebInspector.InspectorBackendStub.prototype.disableMonitoringXHR):
118519         * inspector/front-end/inspector.js:
118520         (WebInspector.monitoringXHRWasEnabled):
118521         (WebInspector.monitoringXHRWasDisabled):
118522         * xml/XMLHttpRequest.cpp:
118523         (WebCore::XMLHttpRequest::didFinishLoading):
118524
118525 2010-06-18  Nikolas Zimmermann  <nzimmermann@rim.com>
118526
118527         Reviewed by Dirk Schulze.
118528
118529         Modernize SVG Text code, following the HTML design
118530         https://bugs.webkit.org/show_bug.cgi?id=40663
118531
118532         SVG Text does not support subpixel positioning
118533         https://bugs.webkit.org/show_bug.cgi?id=12172
118534
118535         RenderSVGText can't do partial repaints
118536         https://bugs.webkit.org/show_bug.cgi?id=15386
118537
118538         HTML and SVG need to share more text painting code
118539         https://bugs.webkit.org/show_bug.cgi?id=15644
118540
118541         Rewrite SVG Text rendering, only keeping the layout of the actual characters/chunks as it was.
118542         We're now drawing SVG Text very similar to HTML Text, utilizing the SVGInlineFlowBox/SVGInlineTextBox structure,
118543         instead of painting all text content of a <text> element from the SVGRootInlineBox, as it was the last years.
118544
118545         Rough overview of the changes:
118546         - Partial repainting support for text selections (startPos/endPos are respected), no more redrawing of the whole <text> content while selecting
118547         - Subpixel positioning (near pixel-perfect rendering for all W3C tests that contain text, finally!)
118548           -> much better textPath results, characters now align as expected, as all rounding hacks are disabled for SVG text runs, and subpixel precision is used while painting
118549         - No more custom handling of selection, the standard methods offsetFromPosition() / selectionRectForText() are used instead.
118550         - Selection works as expected on stretched/squeezed text (lengthAdjust="spacingAndGlyphs"), takes 'includePartialGlyphs' into account - just like HTML text
118551         - Correct text decoration drawing (proper with and positions and rendering-order, underline/overline before text, strike-through afterwards)
118552         - Proper sizing of all InlineBoxes, starting from the SVGRootInlineBox, down to every single flow & text box
118553           -> correct DRT results, no more weird negative offsets of text runs, etc. Looks exactly like the HTML text test results.
118554         - Rewritten SVGTextContentElement API to take per-character / per-chunk transformations into account.
118555         - Speeeeeed! Drawing is much faster now.
118556
118557         Add 24 new testcases covering basic selection features and the SVGTextContentElement API. Each test draws a half-opaque red rectangle, calculated using
118558         SVGTextContentElement API to highlight the area that is supposed to be selected. Then eventSender API is utilized to move the mouse to the calculated
118559         start origin, holding it down and moving it to the end position.
118560
118561         A detailed list of tests that show progression, can be found in the corresponding LayoutTests/ChangeLog.
118562         Note that this requires a rebaselining of all SVG tests containing text elements.
118563
118564         Tests: svg/hixie/text/001.xml (moved from svg/hixie/text/001-broken.xml)
118565                svg/text/lengthAdjust-text-metrics.html
118566                svg/text/select-textLength-spacing-squeeze-1.svg
118567                svg/text/select-textLength-spacing-squeeze-2.svg
118568                svg/text/select-textLength-spacing-squeeze-3.svg
118569                svg/text/select-textLength-spacing-squeeze-4.svg
118570                svg/text/select-textLength-spacing-stretch-1.svg
118571                svg/text/select-textLength-spacing-stretch-2.svg
118572                svg/text/select-textLength-spacing-stretch-3.svg
118573                svg/text/select-textLength-spacing-stretch-4.svg
118574                svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg
118575                svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg
118576                svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg
118577                svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg
118578                svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg
118579                svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg
118580                svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg
118581                svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg
118582                svg/text/select-x-list-1.svg
118583                svg/text/select-x-list-2.svg
118584                svg/text/select-x-list-3.svg
118585                svg/text/select-x-list-4.svg
118586                svg/text/select-x-list-with-tspans-1.svg
118587                svg/text/select-x-list-with-tspans-2.svg
118588                svg/text/select-x-list-with-tspans-3.svg
118589                svg/text/select-x-list-with-tspans-4.svg
118590
118591         * rendering/InlineBox.h: Remove not needed isInlineBox() method.
118592         (WebCore::InlineBox::isInlineTextBox): Constify this method.
118593         (WebCore::InlineBox::isSVGInlineTextBox): Added, with ENABLE(SVG) guards, just like the existing isSVGRootInlineBox().
118594         (WebCore::InlineBox::isSVGRootInlineBox): Constify this method.
118595         (WebCore::InlineBox::calculateBoundaries): Added, with ENABLE(SVG) guards, used to calculate the whole boundaries of a InlineText/FlowBox, only used in SVG text.
118596         * rendering/InlineFlowBox.h: Devirtualize placeBoxesHorizontally(), SVG no more overrides it.
118597         * rendering/InlineTextBox.h: Virtualize selectionStartEnd() - SVGInlineTextBox needs to change start/endPositions based on the current text chunk part that it's rendering.
118598                                      SVGTextChunkLayoutInfo.h contains a detailed documentation what a SVGTextChunk/SVGTextChunkPart is, and why they are necessary.
118599         (WebCore::InlineTextBox::isInlineTextBox): Constify this method.
118600         * rendering/RenderBlock.h:
118601         (WebCore::RenderBlock::forceLayoutInlineChildren): Add helper method, used only by RenderSVGText, to use a simplified layout strategy, which is a big speed win.
118602         * rendering/RenderBlockLineLayout.cpp:
118603         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Remove all isSVGText() special cases, as this function is not called anymore for SVG text.
118604         (WebCore::RenderBlock::layoutInlineChildren): Don't call computeHorizontalPositionsForLine() for SVG text. computePerCharacterLayoutInformation() overrides it anyway.
118605         * rendering/RenderSVGInline.cpp: Remove custom absoluteRects/absoluteQuads code, all shared with RenderInline now.
118606         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): Added, forward to SVGRenderBase, just like all other non-text SVG renderers do.
118607         (WebCore::RenderSVGInline::computeRectForRepaint): Ditto.
118608         (WebCore::RenderSVGInline::mapLocalToContainer): Ditto
118609         * rendering/RenderSVGInline.h: 
118610         * rendering/RenderSVGInlineText.cpp: Remove destroy() hack, which called setNeedsLayoutAndPrefWidthsRecalc/repaint on destruction.
118611                                              As repaint rects work properly now, this hack is no longer necessary, it was only hiding the real problem.
118612         (WebCore::RenderSVGInlineText::styleDidChange): Don't skip RenderText::styleDidChange() anymore, which automatically schedules layout changes for us.
118613         (WebCore::RenderSVGInlineText::localCaretRect): Remove outdated comment, localCaretRect() is not yet needed in SVG text code.
118614         * rendering/RenderSVGInlineText.h: Remove custom absoluteRects/absoluteQuads/selectionRectForRepaint/positionForPoint/destroy/computeRectForRepaint* code, all shared with RenderText now.
118615         * rendering/RenderSVGText.cpp: 
118616         (WebCore::RenderSVGText::mapLocalToContainer): Take x/y translation into account, but do NOT include in localToParentTransform(), as that would affect rendering.
118617         (WebCore::RenderSVGText::layout): Use super-simplified layout strategy, removing a lot of uncessary stuff done by RenderBlock, that SVG does not need.
118618         (WebCore::RenderSVGText::absoluteRects): Remove dead-code, retreving the RenderSVGRoot* object, not necessary since a longer time.
118619         (WebCore::RenderSVGText::absoluteQuads): Ditto.
118620         (WebCore::RenderSVGText::paint): Early exit if we're not in PaintPhaseForeground/PaintPhaseSelfOutline. We're not interessted in other phases.
118621         (WebCore::RenderSVGText::strokeBoundingBox): Fix stroke width calculation, no need to special case SVGFonts.
118622         * rendering/RenderSVGText.h: Remove updateFirstLineBlock/updateFirstLetter overrides, the new RenderSVGText::layout() code, doesn't use these methods at all.
118623                                      We asked RenderBlock to layout before, which was calling updateFirstLetter & co, this is gone now, as it was all not needed.
118624         (WebCore::RenderSVGText::objectBoundingBox): Directly return the frameRect here, inlined for speed.
118625         * rendering/RootInlineBox.cpp:
118626         (WebCore::RootInlineBox::verticallyAlignBoxes): Early-exit if we're a SVGRootInlineBox. SVG handles this on its own.
118627         * rendering/RootInlineBox.h: Devirtualize verticallyAlignBoxes(), SVG no longer overrides it. Remove virtual computePerCharacterLayoutInformation() method, only lives in SVGRootInlineBox now.
118628         * rendering/SVGCharacterData.h: Remove no longer needed SVGTextDecorationInfo.
118629         * rendering/SVGCharacterLayoutInfo.cpp: Don't pass a reference to a Vector<SVGChar> to SVGCharacterLayoutInfo, let it create it.
118630         (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
118631         * rendering/SVGCharacterLayoutInfo.h:
118632         * rendering/SVGInlineFlowBox.cpp: 
118633         (WebCore::SVGInlineFlowBox::paint): Ask children to paint.
118634         (WebCore::SVGInlineFlowBox::calculateBoundaries): Calculate boundaries by uniting all direct children boundaries.
118635         * rendering/SVGInlineFlowBox.h: Remove placeBoxesHorizontally, which does not get called anymore, and does not need to be overriden.
118636         * rendering/SVGInlineTextBox.cpp: 
118637         (WebCore::SVGInlineTextBox::SVGInlineTextBox): Don't use abbrevations for variable names, initialize new member variables.
118638         (WebCore::SVGInlineTextBox::measureCharacter): New helper function extracted from buildLayoutInformation, replacing calculateGlyphWidth/Height.
118639         (WebCore::SVGInlineTextBox::offsetForPosition): Implement this method by utilizing Font::offsetForPosition(), but respecting the text chunk parts.
118640         (WebCore::SVGInlineTextBox::positionForOffset): No change here, still not used.
118641         (WebCore::SVGInlineTextBox::selectionRect): Rewritten, utilizing Font::selectionRectForText(), taking text chunk parts into account, and the supplied startPos/endPos.
118642         (WebCore::SVGInlineTextBox::paint): Rewritten, to handle paint servers much more elegant, than the old solution. See code for details, too much to explain here.
118643         (WebCore::SVGInlineTextBox::acquirePaintingResource): Helper function, used from paint().
118644         (WebCore::SVGInlineTextBox::releasePaintingResource): Ditto.
118645         (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Ditto.
118646         (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting): Ditto.
118647         (WebCore::SVGInlineTextBox::constructTextRun): Helper function centralizing the creation of a TextRun object, used to draw/measure SVG text.
118648         (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoChunkPartCoordinates): Important helper function, mapping a startPos/endPos from InlineTextBox
118649                                                                                    coordinate space to the SVGInlineTextBox, respecting the current text chunk part.
118650         (WebCore::SVGInlineTextBox::selectionStartEnd): Call InlineTextBox::selectionStartEnd(), and apply post fixes when m_currentChunkPart is set. (called when painting a selected chunk part)
118651         (WebCore::positionOffsetForDecoration): Refactored from old paintDecoration() code.
118652         (WebCore::thicknessForDecoration): Ditto.
118653         (WebCore::findRenderObjectDefininingTextDecoration): Ditto.
118654         (WebCore::SVGInlineTextBox::paintDecoration): Ditto. (Can not share the code with HTML, as we need floating point precision, and directly call fillRect, instead of drawHighlightForText.)
118655         (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
118656         (WebCore::SVGInlineTextBox::paintSelection): New method, painting text selections with floating-point precision.
118657         (WebCore::SVGInlineTextBox::paintText): New method, painting text with floating-point precision, correctly handling selected text, removing the need for special SVG text sub-paint phases.
118658                                                 (GlyphFill/StrokeSelectionPhase, GlyphFill/StrokePhase)
118659         (WebCore::SVGInlineTextBox::buildLayoutInformation): Use new measureCharacter() helper function, renamed some variables, to avoid abbrevations.
118660         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Rewritten to use new measureCharacter() helper function.
118661         (WebCore::SVGInlineTextBox::calculateBoundaries): Rewritten to take text chunk parts into account, serves as central method used to layout InlineBoxes (see SVGRootInlineBox.)
118662         * rendering/SVGInlineTextBox.h:
118663         (WebCore::SVGInlineTextBox::isSVGInlineTextBox): Added.
118664         (WebCore::SVGInlineTextBox::setHeight): Rename variable, to avoid abbrevations.
118665         (WebCore::SVGInlineTextBox::chunkTransformation): New helper function, returning the transformation, that gets applied to the complete text chunk, if any.
118666         (WebCore::SVGInlineTextBox::setChunkTransformation): New helper function used by SVGRrootInlineBox, to set the chunk transformation, during text chunk part propagation phase.
118667         (WebCore::SVGInlineTextBox::addChunkPartInformation): Ditto.
118668         (WebCore::SVGInlineTextBox::svgTextChunkParts): Ditto.
118669         * rendering/SVGRootInlineBox.cpp: Virtually rewritten, to be designed more like HTMLs RootInlineBox, diving into children for painting.
118670         (WebCore::SVGRootInlineBox::paint): Ask children to paint, nothing more. No more traversing through the SVGTextChunks, figuring out which part to render, this is done in layout phase now.
118671         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Completly redesigned, see SVGTextChunkLayoutInfo.h for a high-level overview.
118672         (WebCore::SVGRootInlineBox::buildLayoutInformation): Just small cleanups, nothing changed here.
118673         (WebCore::SVGRootInlineBox::layoutChildBoxes): New helper function, extracted from old layoutInlineBoxes().
118674         (WebCore::SVGRootInlineBox::layoutRootBox): Ditto.
118675         (WebCore::SVGRootInlineBox::propagateTextChunkPartInformation): Key-concept of the new design, builds "text chunk parts" and propagates that knownledge to all child SVGInlineTextBoxes.
118676         * rendering/SVGRootInlineBox.h:
118677         (WebCore::SVGRootInlineBox::isSVGRootInlineBox): Constified method.
118678         (WebCore::SVGRootInlineBox::setHeight): Change variable name, to avoid abbrevations.
118679         * rendering/SVGTextChunkLayoutInfo.cpp: Remove if 0, enable compilation.
118680         * rendering/SVGTextChunkLayoutInfo.h: Add large comment explaining text chunk parts, the key concept of the new design. Remove SVGTextChunkWalker & friends, no longer used.
118681         (WebCore::SVGTextChunkPart::SVGTextChunkPart):
118682         (WebCore::SVGTextChunkPart::isValid):
118683         (WebCore::SVGTextChunk::SVGTextChunk):
118684         (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
118685         (WebCore::SVGTextChunkLayoutInfo::textChunks):
118686         * rendering/SVGTextLayoutUtilities.cpp:
118687         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
118688         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
118689         (WebCore::svgTextRunForInlineTextBox): Disable rounding hacks, explain parameters with comments, why they have which values.
118690         * rendering/SVGTextLayoutUtilities.h: Remove SVGTextPaintSubphase and SVGTextPaintInfo.
118691         * rendering/SVGTextQuery.cpp: Remove if 0, enable compilation.
118692         * rendering/SVGTextQuery.h: Ditto.
118693         * svg/SVGStyledElement.cpp: Very important change! Do not treat CSS attributes as recognized attributes, that would lead to setNeedsLayout() calls, reducing performance!
118694                                     This hack existed, as we were not dealing with text updates correctly, now that RenderSVGInlineText::styleDidChange is fixed, it's no longer necessary.
118695         (WebCore::SVGStyledElement::isKnownAttribute):
118696         * svg/SVGTextContentElement.cpp: Completely remove the SVGTextContentElement API, that manually traversed all text chunks, instead use the new SVGTextQuery API.
118697         (WebCore::SVGTextContentElement::getNumberOfChars):
118698         (WebCore::SVGTextContentElement::getComputedTextLength):
118699         (WebCore::SVGTextContentElement::getSubStringLength):
118700         (WebCore::SVGTextContentElement::getStartPositionOfChar):
118701         (WebCore::SVGTextContentElement::getEndPositionOfChar):
118702         (WebCore::SVGTextContentElement::getExtentOfChar):
118703         (WebCore::SVGTextContentElement::getRotationOfChar):
118704         (WebCore::SVGTextContentElement::getCharNumAtPosition):
118705         * svg/SVGTextElement.cpp: Very important change! Do not calls setNeedsLayout() on RenderSVGText, if childrenChanged() has been called.
118706         * svg/SVGTextElement.h: Completly remove childrenChanged() - no longer necessary, updates work as expected without it now.
118707
118708 2010-06-18  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
118709
118710         Reviewed by David Levin.
118711
118712         Fix compilation when filters are disabled. Revision r60689
118713         changed the signature of SVGRenderBase::prepareToRenderSVGContent()
118714         but didn't change the unsused parameters when filters are disabled.
118715         https://bugs.webkit.org/show_bug.cgi?id=40625
118716
118717         No new tests. Compilation fix.
118718
118719         * rendering/SVGRenderSupport.cpp:
118720         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
118721
118722 2010-06-18  Adam Barth  <abarth@webkit.org>
118723
118724         Reviewed by Darin Adler.
118725
118726         noAccess url schemes block access to inline stylesheets
118727         https://bugs.webkit.org/show_bug.cgi?id=32309
118728
118729         Instead of using baseURL() to grab the security context we should just
118730         use finalURL directly.  When I wrote the original patch that added this
118731         security check, finalURL didn't exist yet.
118732
118733         If finalURL is an empty URL, that means we generated the style sheet
118734         from text that didn't have a URL.  It would be slightly safer to store
118735         a bit on CSSStyleSheet indicating whether it came from an inline style
118736         sheet, but I think this check is fairly accurate.
118737
118738         Test: http/tests/security/data-url-inline.css.html
118739
118740         * css/CSSStyleSheet.cpp:
118741         (WebCore::CSSStyleSheet::cssRules):
118742
118743 2010-06-18  Adam Barth  <abarth@webkit.org>
118744
118745         Reviewed by Darin Adler.
118746
118747         Remove unneeded custom code for WebSocket.send
118748         https://bugs.webkit.org/show_bug.cgi?id=38180
118749
118750         We don't appear to require a custom binding here.  The old function was
118751         wacky in two ways:
118752
118753         1) It required all of its arguments.
118754
118755         2) If the toString of its argument threw, it would catch the exception
118756            and re-throw a different exception.
118757
118758         I've kept the first behavior but changed the second (and documented it
118759         with a test).
118760
118761         Test: websocket/tests/send-throw.html
118762
118763         * bindings/js/JSWebSocketCustom.cpp:
118764         * bindings/v8/custom/V8WebSocketCustom.cpp:
118765         * websockets/WebSocket.idl:
118766
118767 2010-06-15  Dumitru Daniliuc  <dumi@chromium.org>
118768
118769         Reviewed by Adam Barth.
118770
118771         Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
118772         https://bugs.webkit.org/show_bug.cgi?id=39041
118773
118774         * WebCore.base.exp
118775         * bindings/generic/RuntimeEnabledFeatures.cpp:
118776         (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
118777         (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
118778         * page/DOMWindow.cpp:
118779         (WebCore::DOMWindow::openDatabase):
118780         * storage/AbstractDatabase.cpp:
118781         (WebCore::AbstractDatabase::isAvailable):
118782         (WebCore::AbstractDatabase::setIsAvailable):
118783         * storage/AbstractDatabase.h:
118784         * storage/Database.cpp:
118785         * storage/Database.h:
118786         * storage/DatabaseSync.cpp:
118787         * storage/DatabaseSync.h:
118788         * workers/WorkerContext.cpp:
118789         (WebCore::WorkerContext::openDatabase):
118790         (WebCore::WorkerContext::openDatabaseSync):
118791         * workers/WorkerContext.h:
118792
118793 2010-06-18  Adam Barth  <abarth@webkit.org>
118794
118795         Rubber-stamped by Eric Seidel.
118796
118797         Fix the namespace indent for HTML5Lexer.  This patch changes
118798         white-space only.
118799
118800         * html/HTML5Lexer.h:
118801         (WebCore::HTML5Lexer::):
118802         (WebCore::HTML5Lexer::lineNumber):
118803         (WebCore::HTML5Lexer::columnNumber):
118804         (WebCore::HTML5Lexer::state):
118805         (WebCore::HTML5Lexer::setState):
118806         (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
118807         (WebCore::HTML5Lexer::InputStreamPreprocessor::InputStreamPreprocessor):
118808         (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
118809         (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
118810         (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
118811
118812 2010-06-18  Fumitoshi Ukai  <ukai@chromium.org>
118813
118814         Unreviewed test breakage fix.
118815
118816         WebSocket: resume should not process buffer if already processing.
118817         https://bugs.webkit.org/show_bug.cgi?id=39340
118818
118819         MessageLoop runs in main thread, so we don't need to use timer in worker thread.
118820         Also, we should not use Timer in worker thread.
118821
118822         * websockets/ThreadableWebSocketChannelClientWrapper.h:
118823         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
118824         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
118825
118826 2010-06-17  Sheriff Bot  <webkit.review.bot@gmail.com>
118827
118828         Unreviewed, rolling out r61379.
118829         http://trac.webkit.org/changeset/61379
118830         https://bugs.webkit.org/show_bug.cgi?id=40813
118831
118832         Broke multiple tests on all platforms (Requested by tkent on
118833         #webkit).
118834
118835         * bindings/scripts/CodeGenerator.pm:
118836         * bindings/scripts/CodeGeneratorCPP.pm:
118837         * bindings/scripts/CodeGeneratorGObject.pm:
118838         * bindings/scripts/CodeGeneratorJS.pm:
118839         * bindings/scripts/CodeGeneratorObjC.pm:
118840         * bindings/scripts/CodeGeneratorV8.pm:
118841         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
118842         (WebDOMTestObj::attrWithException):
118843         (WebDOMTestObj::setAttrWithException):
118844         (WebDOMTestObj::attrWithSetterException):
118845         (WebDOMTestObj::attrWithGetterException):
118846         (WebDOMTestObj::setAttrWithGetterException):
118847         * bindings/scripts/test/CPP/WebDOMTestObj.h:
118848         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
118849         (webkit_dom_test_callback_callback_with_class1param):
118850         (webkit_dom_test_callback_callback_with_class2param):
118851         (webkit_dom_test_callback_callback_with_non_bool_return_type):
118852         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
118853         (webkit_dom_test_obj_void_method):
118854         (webkit_dom_test_obj_void_method_with_args):
118855         (webkit_dom_test_obj_int_method):
118856         (webkit_dom_test_obj_int_method_with_args):
118857         (webkit_dom_test_obj_obj_method):
118858         (webkit_dom_test_obj_obj_method_with_args):
118859         (webkit_dom_test_obj_method_that_requires_all_args):
118860         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
118861         (webkit_dom_test_obj_serialized_value):
118862         (webkit_dom_test_obj_method_with_exception):
118863         (webkit_dom_test_obj_with_dynamic_frame):
118864         (webkit_dom_test_obj_with_dynamic_frame_and_arg):
118865         (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
118866         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
118867         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
118868         (webkit_dom_test_obj_with_script_state_void):
118869         (webkit_dom_test_obj_with_script_state_obj):
118870         (webkit_dom_test_obj_with_script_state_void_exception):
118871         (webkit_dom_test_obj_with_script_state_obj_exception):
118872         (webkit_dom_test_obj_with_script_execution_context):
118873         (webkit_dom_test_obj_method_with_optional_arg):
118874         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
118875         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
118876         (webkit_dom_test_obj_get_read_only_int_attr):
118877         (webkit_dom_test_obj_get_read_only_string_attr):
118878         (webkit_dom_test_obj_get_read_only_test_obj_attr):
118879         (webkit_dom_test_obj_get_int_attr):
118880         (webkit_dom_test_obj_set_int_attr):
118881         (webkit_dom_test_obj_get_long_long_attr):
118882         (webkit_dom_test_obj_set_long_long_attr):
118883         (webkit_dom_test_obj_get_unsigned_long_long_attr):
118884         (webkit_dom_test_obj_set_unsigned_long_long_attr):
118885         (webkit_dom_test_obj_get_string_attr):
118886         (webkit_dom_test_obj_set_string_attr):
118887         (webkit_dom_test_obj_get_test_obj_attr):
118888         (webkit_dom_test_obj_set_test_obj_attr):
118889         (webkit_dom_test_obj_get_attr_with_exception):
118890         (webkit_dom_test_obj_set_attr_with_exception):
118891         (webkit_dom_test_obj_get_attr_with_setter_exception):
118892         (webkit_dom_test_obj_set_attr_with_setter_exception):
118893         (webkit_dom_test_obj_get_attr_with_getter_exception):
118894         (webkit_dom_test_obj_set_attr_with_getter_exception):
118895         (webkit_dom_test_obj_get_script_string_attr):
118896         (webkit_dom_test_obj_get_conditional_attr1):
118897         (webkit_dom_test_obj_set_conditional_attr1):
118898         (webkit_dom_test_obj_get_conditional_attr2):
118899         (webkit_dom_test_obj_set_conditional_attr2):
118900         (webkit_dom_test_obj_get_conditional_attr3):
118901         (webkit_dom_test_obj_set_conditional_attr3):
118902         (webkit_dom_test_obj_get_description):
118903         (webkit_dom_test_obj_get_id):
118904         (webkit_dom_test_obj_set_id):
118905         (webkit_dom_test_obj_get_hash):
118906         (webkit_dom_test_obj_set_property):
118907         (webkit_dom_test_obj_get_property):
118908         (webkit_dom_test_obj_class_init):
118909         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
118910         * bindings/scripts/test/JS/JSTestObj.cpp:
118911         (WebCore::):
118912         (WebCore::jsTestObjAttrWithException):
118913         (WebCore::jsTestObjAttrWithSetterException):
118914         (WebCore::jsTestObjAttrWithGetterException):
118915         (WebCore::setJSTestObjAttrWithException):
118916         (WebCore::setJSTestObjAttrWithGetterException):
118917         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
118918         * bindings/scripts/test/JS/JSTestObj.h:
118919         * bindings/scripts/test/ObjC/DOMTestObj.h:
118920         * bindings/scripts/test/ObjC/DOMTestObj.mm:
118921         (-[DOMTestObj attrWithException]):
118922         (-[DOMTestObj setAttrWithException:]):
118923         (-[DOMTestObj attrWithSetterException]):
118924         (-[DOMTestObj attrWithGetterException]):
118925         (-[DOMTestObj setAttrWithGetterException:]):
118926         * bindings/scripts/test/TestObj.idl:
118927         * bindings/scripts/test/V8/V8TestObj.cpp:
118928         (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
118929         (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
118930         (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
118931         (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
118932         (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
118933         (WebCore::TestObjInternal::overloadedMethodCallback):
118934         (WebCore::):
118935         * dom/Element.cpp:
118936         * dom/Element.h:
118937         * html/HTMLAnchorElement.idl:
118938         * html/HTMLAppletElement.idl:
118939         * html/HTMLAreaElement.idl:
118940         * html/HTMLBRElement.idl:
118941         * html/HTMLBaseElement.idl:
118942         * html/HTMLBaseFontElement.idl:
118943         * html/HTMLBlockquoteElement.idl:
118944         * html/HTMLBodyElement.idl:
118945         * html/HTMLButtonElement.idl:
118946         * html/HTMLDListElement.idl:
118947         * html/HTMLDirectoryElement.idl:
118948         * html/HTMLDivElement.idl:
118949         * html/HTMLElement.idl:
118950         * html/HTMLEmbedElement.idl:
118951         * html/HTMLFontElement.idl:
118952         * html/HTMLFormElement.idl:
118953         * html/HTMLFrameElement.idl:
118954         * html/HTMLFrameSetElement.idl:
118955         * html/HTMLHRElement.idl:
118956         * html/HTMLHeadElement.idl:
118957         * html/HTMLHeadingElement.idl:
118958         * html/HTMLHtmlElement.idl:
118959         * html/HTMLIFrameElement.idl:
118960         * html/HTMLImageElement.idl:
118961         * html/HTMLInputElement.idl:
118962         * html/HTMLIsIndexElement.idl:
118963         * html/HTMLLIElement.idl:
118964         * html/HTMLLabelElement.idl:
118965         * html/HTMLLegendElement.idl:
118966         * html/HTMLLinkElement.idl:
118967         * html/HTMLMapElement.idl:
118968         * html/HTMLMediaElement.idl:
118969         * html/HTMLMenuElement.idl:
118970         * html/HTMLMetaElement.idl:
118971         * html/HTMLModElement.idl:
118972         * html/HTMLOListElement.idl:
118973         * html/HTMLObjectElement.idl:
118974         * html/HTMLOptGroupElement.idl:
118975         * html/HTMLOptionElement.idl:
118976         * html/HTMLParagraphElement.idl:
118977         * html/HTMLParamElement.idl:
118978         * html/HTMLPreElement.idl:
118979         * html/HTMLQuoteElement.idl:
118980         * html/HTMLScriptElement.idl:
118981         * html/HTMLStyleElement.idl:
118982         * html/HTMLTableCaptionElement.idl:
118983         * html/HTMLTableCellElement.idl:
118984         * html/HTMLTableColElement.idl:
118985         * html/HTMLTableElement.idl:
118986         * html/HTMLTableRowElement.idl:
118987         * html/HTMLTableSectionElement.idl:
118988         * html/HTMLTextAreaElement.idl:
118989         * html/HTMLUListElement.idl:
118990         * html/HTMLVideoElement.idl:
118991         * svg/SVGElement.idl:
118992
118993 2010-06-17  Rob Buis  <rwlbuis@gmail.com>
118994
118995         Reviewed by Dave Hyatt.
118996
118997         CSS3 "Property is declared twice in rule" test fails
118998         https://bugs.webkit.org/show_bug.cgi?id=36282
118999
119000         Filter out duplicate properties in style declaration.
119001
119002         Test: fast/css/duplicate-property-in-rule.html
119003
119004         * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
119005         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
119006         * css/CSSParser.cpp:
119007         (WebCore::CSSParser::parseValue): Discard negative padding values
119008         * css/CSSStyleSelector.cpp: Remove negative padding check
119009         (WebCore::CSSStyleSelector::applyProperty):
119010
119011 2010-06-17  Darin Adler  <darin@apple.com>
119012
119013         Reviewed by Sam Weinig.
119014
119015         Implement additional DOM attribute reflection for bindings
119016         https://bugs.webkit.org/show_bug.cgi?id=39936
119017
119018         - Added support for [Reflect] for long, unsigned long, and boolean
119019           attributes.
119020         - Fixed code that set attributes like this: <video controls="controls">
119021           to instead set them like this: <video controls>.
119022         - Added lots more uses of [Reflect].
119023         - Removed now-unneeded [ConvertFromString].
119024         - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
119025           of most uses of the latter.
119026         - Made [Reflect] automatically lowercase the name of the reflected
119027           content attribute to minimize the need to specify a custom content
119028           attribute name.
119029
119030         One thing this patch does *not* do is remove the unneeded functions
119031         in the various DOM classes that are no longer used by the bindings.
119032         We should do that in a followup.
119033
119034         * bindings/scripts/CodeGenerator.pm: Added new functions so code
119035         can be shared across bindings, GetterExpressionPrefix and
119036         SetterExpressionPrefix. We can do a lot more refactoring like
119037         this in the future.
119038
119039         * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
119040         ConvertFromString handling, changed to use the new
119041         GetterExpressionPrefix and SetterExpressionPrefix functions
119042         to better handle reflected DOM attributes.
119043
119044         * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
119045         ConvertFromString handling, changed to use the new
119046         GetterExpressionPrefix and SetterExpressionPrefix functions
119047         to better handle reflected DOM attributes. Fixed a few things
119048         in the output so the .cpp file will have more WebKit style.
119049         The .h file should be GTK style, but the .cpp file can be the
119050         standard WebKit style eventually.
119051
119052         * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
119053         GetterExpressionPrefix and SetterExpressionPrefix functions
119054         and removed a now-unneeded IsSVGAnimatedType special case since
119055         the new functions take care of it. Made reflected attributes
119056         automatically convert null to the null string without a
119057         separate ConvertNullToNullString attribute.
119058
119059         * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
119060         GetterExpressionPrefix and SetterExpressionPrefix functions
119061         and removed a now-unneeded IsSVGAnimatedType special case since
119062         the new functions take care of it. Redid the special cases for
119063         ownerDocument and for operator to fit better with the new code
119064         paths. Removed unneeded ConvertFromString handling.
119065
119066         * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
119067         GetterExpressionPrefix and SetterExpressionPrefix functions
119068         and removed a now-unneeded IsSVGAnimatedType special case since
119069         the new functions take care of it. Made reflected attributes
119070         automatically convert null to the null string without a
119071         separate ConvertNullToNullString attribute.
119072
119073         * bindings/scripts/test/TestObj.idl: Added some test cases for
119074         content attribute reflection and for exceptions in string-typed
119075         attributes.
119076
119077         * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
119078         * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
119079         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
119080         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
119081         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
119082         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
119083         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
119084         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
119085         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
119086
119087         * dom/Element.cpp:
119088         (WebCore::Element::getIntegralAttribute): Added.
119089         (WebCore::Element::setIntegralAttribute): Added.
119090         (WebCore::Element::getUnsignedIntegralAttribute): Added.
119091         (WebCore::Element::setUnsignedIntegralAttribute): Added.
119092         * dom/Element.h: Added new attribute get/set functions for bindings.
119093
119094         * html/HTMLAnchorElement.idl:
119095         * html/HTMLAppletElement.idl:
119096         * html/HTMLAreaElement.idl:
119097         * html/HTMLBRElement.idl:
119098         * html/HTMLBaseElement.idl:
119099         * html/HTMLBaseFontElement.idl:
119100         * html/HTMLBlockquoteElement.idl:
119101         * html/HTMLBodyElement.idl:
119102         * html/HTMLButtonElement.idl:
119103         * html/HTMLDListElement.idl:
119104         * html/HTMLDirectoryElement.idl:
119105         * html/HTMLDivElement.idl:
119106         * html/HTMLElement.idl:
119107         * html/HTMLEmbedElement.idl:
119108         * html/HTMLFontElement.idl:
119109         * html/HTMLFormElement.idl:
119110         * html/HTMLFrameElement.idl:
119111         * html/HTMLFrameSetElement.idl:
119112         * html/HTMLHRElement.idl:
119113         * html/HTMLHeadElement.idl:
119114         * html/HTMLHeadingElement.idl:
119115         * html/HTMLHtmlElement.idl:
119116         * html/HTMLIFrameElement.idl:
119117         * html/HTMLImageElement.idl:
119118         * html/HTMLInputElement.idl:
119119         * html/HTMLIsIndexElement.idl:
119120         * html/HTMLLIElement.idl:
119121         * html/HTMLLabelElement.idl:
119122         * html/HTMLLegendElement.idl:
119123         * html/HTMLLinkElement.idl:
119124         * html/HTMLMapElement.idl:
119125         * html/HTMLMediaElement.idl:
119126         * html/HTMLMenuElement.idl:
119127         * html/HTMLMetaElement.idl:
119128         * html/HTMLModElement.idl:
119129         * html/HTMLOListElement.idl:
119130         * html/HTMLObjectElement.idl:
119131         * html/HTMLOptGroupElement.idl:
119132         * html/HTMLOptionElement.idl:
119133         * html/HTMLParagraphElement.idl:
119134         * html/HTMLParamElement.idl:
119135         * html/HTMLPreElement.idl:
119136         * html/HTMLQuoteElement.idl:
119137         * html/HTMLScriptElement.idl:
119138         * html/HTMLStyleElement.idl:
119139         * html/HTMLTableCaptionElement.idl:
119140         * html/HTMLTableCellElement.idl:
119141         * html/HTMLTableColElement.idl:
119142         * html/HTMLTableElement.idl:
119143         * html/HTMLTableRowElement.idl:
119144         * html/HTMLTableSectionElement.idl:
119145         * html/HTMLTextAreaElement.idl:
119146         * html/HTMLUListElement.idl:
119147         * html/HTMLVideoElement.idl:
119148         * svg/SVGElement.idl:
119149         Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
119150         are now unneeded since [Reflect] now implies that. Changed formatting to be
119151         simpler and consistent without all the lining up and multiple lines.
119152
119153 2010-06-17  MORITA Hajime  <morrita@google.com>
119154
119155         Unreviewd, fixed a build break.
119156
119157         * css/CSSSelector.cpp:
119158         (WebCore::CSSSelector::pseudoId):
119159
119160 2010-06-16  MORITA Hajime  <morrita@google.com>
119161
119162         Reviewed by Kent Tamura.
119163
119164         <meter> should allow styling for each gauge-level and component
119165         https://bugs.webkit.org/show_bug.cgi?id=40280
119166
119167         - Introduced following new pseudo classes for <meter> element.
119168         
119169           - -webkit-meter-horizontal-bar
119170           - -webkit-meter-vertical-bar
119171           - -webkit-meter-horizontal-optimum-value
119172           - -webkit-meter-vertical-optimum-value
119173           - -webkit-meter-horizontal-suboptimal-value
119174           - -webkit-meter-vertical-suboptimal-value
119175           - -webkit-meter-horizontal-even-less-good-value
119176           - -webkit-meter-vertical-even-less-good-value
119177         
119178         - Introduced 2 shadow nodes for RenderMeter to handle CSS styling. 
119179           one for bar part and another for value part.
119180         - Removed RenderTheme::paintMeter() implementation because it can be
119181           handled by styled painting without RenderTheme.
119182         - Pulled RenderIndicator up to super class from RenderProgress,
119183           then make RenderMeter a subclass of it.
119184         - Moved shadow related methods from RenderProgress to ShadowBlockElement
119185           to share it with RenderMeter.
119186         - Added rules for html.css for new pseudo classes.
119187         
119188         Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
119189                fast/dom/HTMLMeterElement/meter-styles.html
119190
119191         * CMakeLists.txt:
119192         * GNUmakefile.am:
119193         * WebCore.gypi:
119194         * WebCore.pro:
119195         * WebCore.vcproj/WebCore.vcproj:
119196         * WebCore.xcodeproj/project.pbxproj:
119197         * css/CSSSelector.cpp:
119198         (WebCore::CSSSelector::pseudoId):
119199         (WebCore::nameToPseudoTypeMap):
119200         (WebCore::CSSSelector::extractPseudoType):
119201         * css/CSSSelector.h:
119202         (WebCore::CSSSelector::):
119203         * css/html.css:
119204         (meter::-webkit-meter-horizontal-bar):
119205         (meter::-webkit-meter-vertical-bar):
119206         (meter::-webkit-meter-horizontal-optimum-value):
119207         (meter::-webkit-meter-horizontal-suboptimal-value):
119208         (meter::-webkit-meter-horizontal-even-less-good-value):
119209         (meter::-webkit-meter-vertical-optimum-value):
119210         (meter::-webkit-meter-vertical-suboptimal-value):
119211         (meter::-webkit-meter-vertical-even-less-good-value):
119212         * rendering/RenderIndicator.cpp: Added.
119213         (WebCore::RenderIndicator::RenderIndicator):
119214         (WebCore::RenderIndicator::~RenderIndicator):
119215         (WebCore::RenderIndicator::layout):
119216         (WebCore::RenderIndicator::styleDidChange):
119217         (WebCore::RenderIndicator::updateFromElement):
119218         (WebCore::RenderIndicator::hasParts):
119219         (WebCore::RenderIndicator::requestLayoutForParts):
119220         * rendering/RenderIndicator.h: Added.
119221         (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation):
119222         * rendering/RenderMeter.cpp:
119223         (WebCore::RenderMeter::RenderMeter):
119224         (WebCore::RenderMeter::~RenderMeter):
119225         (WebCore::RenderMeter::layoutParts): Added.
119226         (WebCore::RenderMeter::shouldHaveParts): Added.
119227         (WebCore::RenderMeter::valueRatio): Added.
119228         (WebCore::RenderMeter::barPartRect): Added.
119229         (WebCore::RenderMeter::valuePartRect): Added.
119230         (WebCore::RenderMeter::isHorizontal): Added.
119231         (WebCore::RenderMeter::valuePseudoId): Added.
119232         (WebCore::RenderMeter::barPseudoId): Added.
119233         (WebCore::RenderMeter::updatePartsState): Added.
119234         * rendering/RenderMeter.h:
119235         * rendering/RenderProgress.cpp:
119236         (WebCore::RenderProgress::RenderProgress):
119237         (WebCore::RenderProgress::updateFromElement):
119238         (WebCore::RenderProgress::paint):
119239         (WebCore::RenderProgress::layoutParts): Added.
119240         (WebCore::RenderProgress::shouldHaveParts): Added.
119241         (WebCore::RenderProgress::updatePartsState):
119242         (WebCore::RenderProgress::valuePartRect):
119243         * rendering/RenderProgress.h:
119244         * rendering/RenderTheme.cpp:
119245         (WebCore::RenderTheme::isControlStyled):
119246         (WebCore::RenderTheme::paintMeter):
119247         * rendering/RenderTheme.h:
119248         (WebCore::RenderTheme::supportsMeter): Added.
119249         * rendering/RenderThemeMac.h:
119250         * rendering/RenderThemeMac.mm:
119251         (WebCore::RenderThemeMac::supportsMeter): Added.
119252         * rendering/ShadowElement.cpp:
119253         (WebCore::ShadowBlockElement::layoutAsPart): Added.
119254         (WebCore::ShadowBlockElement::updateStyleForPart): Added.
119255         (WebCore::ShadowBlockElement::createForPart): Added.
119256         (WebCore::ShadowBlockElement::createStyleForPart): Added.
119257         (WebCore::ShadowBlockElement::partShouldHaveStyle): Added.
119258         * rendering/ShadowElement.h:
119259         * rendering/style/RenderStyleConstants.h:
119260         (WebCore::):
119261
119262 2010-06-17  Fumitoshi Ukai  <ukai@chromium.org>
119263
119264         Reviewed by Alexey Proskuryakov.
119265
119266         WebSocket: resume should not process buffer if already processing.
119267         https://bugs.webkit.org/show_bug.cgi?id=39340
119268
119269         Test: websocket/tests/alert-in-event-handler.html
119270
119271         While running an event handler of WebSocket object, it may be suspended
119272         and resumed in various reason. e.g. alert() will suspend/resume
119273         ActiveDOM objects. In chromium, sending IPC message would also
119274         suspend/resume ActiveDOM objects.
119275         If resume process pending buffer in this case, another event might
119276         be fired while running the initial event handler.
119277         Thus, resume should not process pending buffer immediately.
119278         Pending buffer would be processed after the current task has been
119279         finished.
119280
119281         * websockets/ThreadableWebSocketChannelClientWrapper.h:
119282         * websockets/WebSocketChannel.cpp:
119283         (WebCore::WebSocketChannel::WebSocketChannel):
119284         (WebCore::WebSocketChannel::resume):
119285          Just set one shot timer for resumeTimerFired() if not yet set.
119286         (WebCore::WebSocketChannel::resumeTimerFired):
119287          Process pending event after resume was called.
119288         * websockets/WebSocketChannel.h:
119289
119290 2010-06-17  Eric Seidel  <eric@webkit.org>
119291
119292         Reviewed by Adam Barth.
119293
119294         REGRESSION(HTML5 parser): editing/selection/leave-requested-block.html can fail or crash
119295         https://bugs.webkit.org/show_bug.cgi?id=40764
119296
119297         HTML5ScriptRunner was careful to only call CachedResource::addClient
119298         for cases where the resource was not already loaded.  This was to
119299         avoid getting synchronous notifyFinished callbacks from inside
119300         addClient.  (The old HTMLDocumentParser also has hacks to work around
119301         addClient's synchronous notifyFinished behavior for already-loaded
119302         resources as well.)
119303
119304         It turns out that CachedResource will mark itself as purgeable if it
119305         has no clients, thus it could have its data cleared (but itself not
119306         deleted) in the case where we yield back to the runloop to wait for
119307         CSS to load before executing the loaded script.
119308
119309         The fix is to act more like the old parser and always call addClient
119310         on every CachedScript we load.  But unlike the old parser, we're
119311         careful not to re-enter from addClient -> notifyFinished
119312         using guards in HTML5DocumentParser::watchForLoad.
119313
119314         I do not know how to make a CachedResource purge itself
119315         from a LayoutTest, so this is not currently testable.
119316         If anyone knows how I'm happy to make a test.
119317
119318         * html/HTML5DocumentParser.cpp:
119319         (WebCore::HTML5DocumentParser::watchForLoad):
119320          - It is now expected to call watchForLoad with a loaded script.
119321         (WebCore::HTML5DocumentParser::notifyFinished):
119322          - Now that watchForLoad is called with loaded scripts, notifyFinished
119323            may be be called from addClient, thus we may be in the middle of
119324            script execution when it's called.  It's OK.  We pass the call
119325            along to HTML5ScriptRunner::executeScriptsWaitingForLoad
119326            and it knows how to ignore the call in that case.
119327         * html/HTML5DocumentParser.h:
119328          - Document these member variables more.
119329         * html/HTML5ScriptRunner.cpp:
119330         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
119331         (WebCore::HTML5ScriptRunner::executePendingScript):
119332         (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
119333         (WebCore::HTML5ScriptRunner::watchForLoad):
119334          - Set the pending script to RegisteringForWatch state before
119335            watching and WatchingForLoad after.
119336         (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
119337          - Set the pending script to NotWatchingForLoad.
119338         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
119339          - Assert that callers checked hasScriptsWaitingForLoad()
119340         (WebCore::HTML5ScriptRunner::requestScript):
119341         * html/HTML5ScriptRunner.h:
119342         (WebCore::HTML5ScriptRunner::PendingScript::):
119343         (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
119344         (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
119345         * html/HTML5ScriptRunnerHost.h:
119346          - Document the new expectations of watchForLoad
119347
119348 2010-06-17  Tony Gentilcore  <tonyg@chromium.org>
119349
119350         Reviewed by Eric Seidel.
119351
119352         Prevent HTML5PreloadScanner from loading resources in <noscript> tags.
119353         https://bugs.webkit.org/show_bug.cgi?id=40779
119354
119355         No new tests. Will create a layout test in a subsequent patch.
119356
119357         * html/HTML5PreloadScanner.cpp:
119358         (WebCore::HTML5PreloadScanner::processToken):
119359         * html/HTML5TreeBuilder.cpp:
119360         (WebCore::HTML5TreeBuilder::adjustedLexerState):
119361         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
119362         (WebCore::HTML5TreeBuilder::isScriptingFlagEnabled):
119363         * html/HTML5TreeBuilder.h:
119364
119365 2010-06-17  Adam Barth  <abarth@webkit.org>
119366
119367         Reviewed by Eric Seidel.
119368
119369         HTML5PreloadScanner parses <script> in DataState
119370         https://bugs.webkit.org/show_bug.cgi?id=40804
119371
119372         The ScriptDataState is handled separately from the rest of the lexer
119373         state changes because it's more complicted in the tree builder.  The
119374         easiest thing is to just handle it separately in the preloader too.
119375
119376         * html/HTML5PreloadScanner.cpp:
119377         (WebCore::HTML5PreloadScanner::processToken):
119378
119379 2010-06-17  Adam Barth  <abarth@webkit.org>
119380
119381         Reviewed by Eric Seidel.
119382
119383         Add CSS scanning to HTML5PreloadScanner
119384         https://bugs.webkit.org/show_bug.cgi?id=40802
119385
119386         This patch just cribs the CSS preload scanning algorithm from the old
119387         preload scanner.  We also invented a way of testing the preload
119388         scanner.
119389
119390         Tests: fast/preloader/image.html
119391                fast/preloader/link.html
119392                fast/preloader/script.html
119393                fast/preloader/style.html
119394
119395         * Android.mk:
119396         * GNUmakefile.am:
119397         * WebCore.gypi:
119398         * WebCore.pro:
119399         * WebCore.vcproj/WebCore.vcproj:
119400         * WebCore.xcodeproj/project.pbxproj:
119401         * html/CSSPreloadScanner.cpp: Added.
119402         (WebCore::isWhitespace):
119403         (WebCore::CSSPreloadScanner::CSSPreloadScanner):
119404         (WebCore::CSSPreloadScanner::reset):
119405         (WebCore::CSSPreloadScanner::scan):
119406         (WebCore::CSSPreloadScanner::tokenize):
119407         (WebCore::CSSPreloadScanner::emitRule):
119408         * html/CSSPreloadScanner.h: Added.
119409         (WebCore::CSSPreloadScanner::):
119410         * html/HTML5PreloadScanner.cpp:
119411         (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
119412         (WebCore::HTML5PreloadScanner::processToken):
119413         (WebCore::HTML5PreloadScanner::scanningBody):
119414         * html/HTML5PreloadScanner.h:
119415
119416 2010-06-17  Abhishek Arya  <inferno@chromium.org>
119417
119418         Reviewed by David Kilzer.
119419
119420         (Landed by Dirk Pranke).
119421
119422         Check for a null frame before setting drag selection.
119423         https://bugs.webkit.org/show_bug.cgi?id=38893
119424         Same Layout test as https://bugs.webkit.org/show_bug.cgi?id=37168.
119425
119426         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html  
119427
119428         Note that you need to run the test manually 20-30 times for the crash
119429         to reproduce.
119430
119431         * editing/SelectionController.cpp:
119432         (WebCore::SelectionController::setSelection):
119433
119434 2010-06-17  Benjamin Poulain  <benjamin.poulain@nokia.com>
119435
119436         Reviewed by Simon Hausmann.
119437
119438         [Qt] Get rid of the the unused imageSize of ImageDecoderQt::internalHandleCurrentImage()
119439         https://bugs.webkit.org/show_bug.cgi?id=40620
119440
119441         Remove an unused variable.
119442
119443         * platform/graphics/qt/ImageDecoderQt.cpp:
119444         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
119445
119446 2010-06-17  Jeremy Moskovich  <jeremy@chromium.org>
119447
119448         Reviewed by Darin Fisher.
119449
119450         [Chromium API] Implement WebSandboxSupport on OS X and add stubs to allow
119451         OOP loading of fonts.
119452
119453         https://bugs.webkit.org/show_bug.cgi?id=40544
119454
119455         * platform/chromium/ChromiumBridge.h: Add prototype for loadFont()
119456
119457 2010-06-17  Nicolas Weber  <thakis@chromium.org>
119458
119459         Reviewed by Eric Seidel.
119460
119461         Fix various warnings that are reported when building with clang
119462         https://bugs.webkit.org/show_bug.cgi?id=40503
119463
119464         * accessibility/AccessibilityRenderObject.cpp:
119465         (WebCore::AccessibilityRenderObject::labelElementContainer):
119466         * accessibility/AccessibilityTableCell.cpp:
119467         (WebCore::AccessibilityTableCell::parentTable):
119468         * bindings/v8/NPV8Object.cpp:
119469         (WebCore::npObjectTypeInfo):
119470         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
119471         (WebCore::):
119472         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
119473         (WebCore::):
119474         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
119475         (WebCore::):
119476         * css/CSSStyleSheet.h:
119477         * html/HTMLFormElement.cpp:
119478         (WebCore::HTMLFormElement::getNamedElements):
119479         * inspector/InspectorValues.cpp:
119480         (WebCore::InspectorObject::getObject):
119481         (WebCore::InspectorObject::getArray):
119482         * page/animation/AnimationBase.h:
119483         * platform/graphics/BitmapImage.h:
119484         (WTF::):
119485         * platform/graphics/mac/FontPlatformData.h:
119486         * rendering/RenderBlock.h:
119487         * rendering/RootInlineBox.cpp:
119488         (WebCore::RootInlineBox::ellipsisBox):
119489         * storage/StorageNamespaceImpl.cpp:
119490         (WebCore::StorageNamespaceImpl::storageArea):
119491
119492 2010-06-17  Kwang Yul Seo  <skyul@company100.net>
119493
119494         Reviewed by Pavel Feldman.
119495
119496         Add ENABLE(INSPECTOR) guard for m_sessionSettings
119497         https://bugs.webkit.org/show_bug.cgi?id=40611
119498
119499         Build fix.
119500
119501         * inspector/InspectorController.h:
119502
119503 2010-06-17  Eric Seidel  <eric@webkit.org>
119504
119505         Reviewed by Adam Barth.
119506
119507         Add FIXME to explain HTMLDocumentParser's forceSynchronous bool
119508         https://bugs.webkit.org/show_bug.cgi?id=40609
119509
119510         No functional change, just adding comment.
119511
119512         * dom/Document.cpp:
119513         (WebCore::Document::write):
119514
119515 2010-06-13  Robert Hogan  <robert@webkit.org>
119516
119517         Reviewed by Kenneth Rohde Christiansen.
119518
119519         WebCore EventHandler needs to take account of onLoad events 
119520         fired before layout() complete
119521
119522         https://bugs.webkit.org/show_bug.cgi?id=40102
119523
119524         WebCore 'cheats' by firing onLoad events before the frame's layout
119525         has been performed. This can result in event listeners performing
119526         operations that depend on the document's final layout, such as
119527         scrolling operations.
119528
119529         When scrolling a frameview in eventhandler ensure the layout is complete.
119530
119531         * page/EventHandler.cpp:
119532         (WebCore::EventHandler::scrollRecursively):
119533
119534 2010-06-16  Dumitru Daniliuc  <dumi@chromium.org>
119535
119536         Reviewed by Dimitri Glazkov.
119537
119538         Add the error codes defined in the async DB spec to SQLError.idl and SQLError.h.
119539         https://bugs.webkit.org/show_bug.cgi?id=40748
119540
119541         Test: storage/sql-error-codes.html
119542
119543         * storage/SQLError.h:
119544         (WebCore::SQLError::):
119545         * storage/SQLError.idl:
119546         * storage/SQLStatement.cpp:
119547         (WebCore::SQLStatement::execute):
119548         (WebCore::SQLStatement::setDatabaseDeletedError):
119549         (WebCore::SQLStatement::setVersionMismatchedError):
119550         (WebCore::SQLStatement::setFailureDueToQuota):
119551         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
119552         * storage/SQLTransaction.cpp:
119553         (WebCore::SQLTransaction::openTransactionAndPreflight):
119554         (WebCore::SQLTransaction::deliverTransactionCallback):
119555         (WebCore::SQLTransaction::handleCurrentStatementError):
119556         (WebCore::SQLTransaction::deliverStatementCallback):
119557         (WebCore::SQLTransaction::postflightAndCommit):
119558
119559 2010-06-17  Kinuko Yasuda  <kinuko@chromium.org>
119560
119561         Reviewed by Jian Li.
119562
119563         Fix CRLF ending conversion in StringBlobItem.
119564         https://bugs.webkit.org/show_bug.cgi?id=40736
119565         Also: fix referencing uninitialized member bug and slice length bug
119566         in hybrid blob case.
119567
119568         Tests will be added when we add BlobBuilder jsc bindings.
119569
119570         * platform/BlobItem.cpp:
119571         (WebCore::StringBlobItem::convertToCString):
119572         (WebCore::DataRangeBlobItem::DataRangeBlobItem):
119573
119574 2010-06-17  Dimitri Glazkov  <dglazkov@chromium.org>
119575
119576         Unreviewed, rolling out r61340.
119577         http://trac.webkit.org/changeset/61340
119578         https://bugs.webkit.org/show_bug.cgi?id=36282
119579
119580         Broke several editing tests.
119581
119582         * css/CSSMutableStyleDeclaration.cpp:
119583         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
119584         * css/CSSParser.cpp:
119585         (WebCore::CSSParser::parseValue):
119586         * css/CSSStyleSelector.cpp:
119587         (WebCore::CSSStyleSelector::applyProperty):
119588
119589 2010-06-17  Jian Li  <jianli@chromium.org>
119590
119591         Reviewed by David Levin.
119592
119593         Add optional contentType parameter to Blob.slice per latest File API spec.
119594         https://bugs.webkit.org/show_bug.cgi?id=40647
119595
119596         Tested by http/tests/local/resources/send-sliced-dragged-file.html.
119597
119598         * html/Blob.cpp:
119599         (WebCore::Blob::slice):
119600         * html/Blob.h:
119601         * html/Blob.idl:
119602
119603 2010-06-17  Jesus Sanchez-Palencia  <jesus@webkit.org>, Kenneth Rohde Christiansen  <kenneth@webkit.org>
119604
119605         Reviewed by Simon Hausmann.
119606
119607         [Qt] QtWebKit does not support viewport meta tag
119608         https://bugs.webkit.org/show_bug.cgi?id=39902
119609
119610         Add windowRect() to page client.
119611
119612         * platform/qt/QWebPageClient.h:
119613
119614 2010-06-17  Stephen White  <senorblanco@chromium.org>
119615
119616         Reviewed by David Levin.
119617
119618         Fix for slow multiple animated resize issue.
119619         https://bugs.webkit.org/show_bug.cgi?id=38233
119620
119621         The timer-based resize quality approach implemented in
119622         http://trac.webkit.org/changeset/34210 is a good idea, but doesn't
119623         scale to multiple images with animated resizes.  This fix unifies all
119624         outstanding resize timers into a single timer, and removes the "use
119625         last quality" check (which doesn't work when images are overlapping). 
119626         It also refactors the copy of this code implemented in
119627         RenderBoxModelObject in http://trac.webkit.org/changeset/53949.
119628
119629         This improves Safari performance for the following IE9 platform demos on my C2D MacPro (10.5):
119630         http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html (4->60fps)
119631         http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html (3->16fps)
119632         http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html (9->60fps)
119633
119634         * rendering/RenderBoxModelObject.cpp:
119635         (WebCore::ImageQualityController::ImageQualityController):
119636         Unify all timers into a single timer, rename RenderBoxModelScaleObserver
119637         to ImageQualityController, and remove the resize quality "stickness",
119638         since it doesn't work with multiple outstanding resizes.
119639         (WebCore::ImageQualityController::objectDestroyed):
119640         gImages global is now m_lastPaintTimeMap member.
119641         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
119642         Function made non-static; repaint all pending resizes (not just one).
119643         (WebCore::ImageQualityController::restartTimer):
119644         Added function to restart timer at 1.05x threshold.
119645         (WebCore::imageQualityController):
119646         Static function to return singleton.
119647         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
119648         Use m_lastPaintTimeMap, not gImages global.  Implement new timer
119649         algorithm.  Remove resize "stickiness".
119650         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
119651         Implement shouldPaintAtLowQuality, which pulls out "this" and passes
119652         the call to the ImageQualityController.
119653         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
119654         Call ImageQualityController singleton's objectDestroyed() instead of
119655         old static function.
119656         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
119657         Modify shouldPaintAtLowQuality() call to match new class name and
119658         function signature.
119659         * rendering/RenderBoxModelObject.h:
119660         Expose shouldPaintAtLowQuality as a member function.
119661         * rendering/RenderImage.cpp:
119662         (WebCore::RenderImage::~RenderImage):
119663         No need to call objectDestroyed() here anymore, since the
119664         RenderBoxModelObject destructor will do this for us.
119665         (WebCore::RenderImage::paintIntoRect):
119666         Rip out RenderImageScaleObserver, and call
119667         RenderBoxModelObject::shouldPaintAtLowQuality() instead.
119668
119669 2010-06-17  Rob Buis  <rwlbuis@gmail.com>
119670
119671         Reviewed by Dave Hyatt.
119672
119673         CSS3 "Property is declared twice in rule" test fails
119674         https://bugs.webkit.org/show_bug.cgi?id=36282
119675
119676         Filter out duplicate properties in style declaration.
119677
119678         Test: fast/css/duplicate-property-in-rule.html
119679
119680         * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
119681         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
119682         * css/CSSParser.cpp:
119683         (WebCore::CSSParser::parseValue): Discard negative padding values
119684         * css/CSSStyleSelector.cpp: Remove negative padding check
119685         (WebCore::CSSStyleSelector::applyProperty):
119686
119687 2010-06-17  Kenneth Russell  <kbr@google.com>
119688
119689         Reviewed by Dimitri Glazkov.
119690
119691         Clean up error conditions for Typed Arrays
119692         https://bugs.webkit.org/show_bug.cgi?id=40755
119693
119694         * bindings/js/JSArrayBufferCustom.cpp:
119695         (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
119696          - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
119697         * bindings/js/JSArrayBufferViewHelper.h:
119698         (WebCore::constructArrayBufferView):
119699          - Changed all error code paths to throw exceptions. Clarified exception types.
119700         * bindings/js/JSFloat32ArrayCustom.cpp:
119701         (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
119702          - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119703         * bindings/js/JSInt16ArrayCustom.cpp:
119704         (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
119705          - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119706         * bindings/js/JSInt32ArrayCustom.cpp:
119707         (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
119708          - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119709         * bindings/js/JSInt8ArrayCustom.cpp:
119710         (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
119711          - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119712         * bindings/js/JSUint16ArrayCustom.cpp:
119713         (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
119714          - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119715         * bindings/js/JSUint32ArrayCustom.cpp:
119716         (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
119717          - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119718         * bindings/js/JSUint8ArrayCustom.cpp:
119719         (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
119720          - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119721         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
119722         (WebCore::V8ArrayBuffer::constructorCallback):
119723          - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
119724            Clarified exception types.
119725         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
119726         (WebCore::constructWebGLArray):
119727          - Clarified exception types and throwing of exceptions along all error code paths.
119728         * html/canvas/TypedArrayBase.h:
119729         (WebCore::TypedArrayBase::create):
119730          - Added necessary null checks during allocation.
119731
119732 2010-06-17  Shu Chang  <chang.shu@nokia.com>
119733
119734         Reviewed by Kenneth Rohde Christiansen.
119735
119736         [Qt] Fix the link error on symbian with ENABLE_JIT=0.
119737         1. Add "#if ENABLE(JIT)" in the header file;
119738         2. Put feature enable/disable logic to a common.pri so
119739         that both JavaScriptCore.pri and WebCore.pri can share.
119740
119741         https://bugs.webkit.org/show_bug.cgi?id=40780
119742
119743         * WebCore.pri:
119744
119745 2010-06-17  Kenneth Russell  <kbr@google.com>
119746
119747         Reviewed by Oliver Hunt.
119748
119749         Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
119750         https://bugs.webkit.org/show_bug.cgi?id=40750
119751
119752         Added V8Proxy::throwTypeError() and throwSyntaxError for parity
119753         with JSC::throwTypeError() and throwSyntaxError. Changed
119754         CodeGeneratorV8.pm to use throwTypeError for overload resolution
119755         failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
119756         instead of manual call to JSValue::encode. Deleted now-unnecessary
119757         Chromium expectations for fast/canvas/webgl/texImageTest.html.
119758
119759         * bindings/scripts/CodeGeneratorJS.pm:
119760         * bindings/scripts/CodeGeneratorV8.pm:
119761         * bindings/v8/V8Proxy.cpp:
119762         (WebCore::V8Proxy::throwTypeError):
119763         (WebCore::V8Proxy::throwSyntaxError):
119764         * bindings/v8/V8Proxy.h:
119765
119766 2010-06-17  Darin Fisher  <darin@chromium.org>
119767
119768         Reviewed by Brady Eidson.
119769
119770         If Page::goToItem is passed a HistoryItem that is the current item,
119771         then the page should be loaded again.
119772
119773         https://bugs.webkit.org/show_bug.cgi?id=40660
119774
119775         * loader/HistoryController.cpp:
119776         (WebCore::HistoryController::recursiveGoToItem): Add a check to
119777         recursiveGoToItem that matches the one in FrameLoader::loadItem.
119778
119779 2010-06-17  Kwang Yul Seo  <skyul@company100.net>
119780
119781         Reviewed by Kent Tamura.
119782
119783         [BREWMP] Build fix for DragDataBrew
119784         https://bugs.webkit.org/show_bug.cgi?id=40610
119785
119786         http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp.
119787         Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL.
119788
119789         * platform/brew/DragDataBrew.cpp:
119790         (WebCore::DragData::containsURL):
119791         (WebCore::DragData::asURL):
119792
119793 2010-06-17  Zhenyao Mo  <zmo@google.com>
119794
119795         Reviewed by David Levin.
119796
119797         Rename internalformat to internalFormat
119798         https://bugs.webkit.org/show_bug.cgi?id=40149
119799
119800         * html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat.
119801         (WebCore::WebGLFramebuffer::getColorBufferFormat):
119802         * html/canvas/WebGLRenderbuffer.cpp: Ditto.
119803         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
119804         * html/canvas/WebGLRenderbuffer.h: Ditto.
119805         (WebCore::WebGLRenderbuffer::setInternalFormat):
119806         (WebCore::WebGLRenderbuffer::getInternalFormat):
119807         * html/canvas/WebGLRenderingContext.cpp: Ditto.
119808         (WebCore::WebGLRenderingContext::copyTexImage2D):
119809         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
119810         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
119811         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
119812         (WebCore::WebGLRenderingContext::renderbufferStorage):
119813         (WebCore::WebGLRenderingContext::texImage2DBase):
119814         (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
119815         * html/canvas/WebGLRenderingContext.h: Ditto.
119816         * html/canvas/WebGLTexture.cpp: Ditto.
119817         (WebCore::WebGLTexture::WebGLTexture):
119818         * html/canvas/WebGLTexture.h: Ditto.
119819         (WebCore::WebGLTexture::setInternalFormat):
119820         (WebCore::WebGLTexture::getInternalFormat):
119821
119822 2010-06-17  Zhenyao Mo  <zmo@google.com>
119823
119824         Reviewed by David Levin.
119825
119826         Remove input parameter validation for "level" upper limit in *tex* functions
119827         https://bugs.webkit.org/show_bug.cgi?id=40603
119828
119829         * html/canvas/WebGLRenderingContext.cpp:
119830         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit.
119831
119832 2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
119833
119834         Reviewed by Eric Seidel.
119835
119836         Clean EFL header files in order to diminish the compilation time with
119837         EFL from subversion. We remove the EFL includes from header files and use
119838         forward declarations, including the headers in correspondent source
119839         files when needed. This causes only the needed source files to be
119840         recompiled in case a new version of EFL is installed instead of
119841         triggering a recompilation of almost all WebCore/WebKit.
119842         https://bugs.webkit.org/show_bug.cgi?id=40575
119843
119844         No new functionalities, so no new tests.
119845
119846         * CMakeListsEfl.txt:
119847         * platform/PlatformKeyboardEvent.h: forward declaration.
119848         * platform/PlatformMouseEvent.h: forward declaration and change method
119849         signature to not require enum.
119850         * platform/PlatformWheelEvent.h: forward declaration.
119851         * platform/Widget.h: forward declaration.
119852         * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
119853         * platform/efl/PlatformMouseEventEfl.cpp:
119854         (WebCore::PlatformMouseEvent::setClickCount): change method signature
119855         as mentioned above.
119856         * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
119857         * platform/efl/RenderThemeEfl.cpp: include needed header
119858         * platform/efl/RenderThemeEfl.h: forward declaration.
119859         * platform/efl/ScrollbarEfl.cpp: include needed header.
119860         * platform/efl/ScrollbarEfl.h: forward declaration.
119861         * platform/efl/WidgetEfl.cpp: include needed header.
119862         * platform/graphics/FloatRect.h: remove unused method.
119863         * platform/graphics/Icon.h: forward declaration.
119864         * platform/graphics/IntRect.h: remove unused method.
119865         * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
119866         implementing an unused method.
119867         * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
119868         implementing an unused method.
119869
119870 2010-06-17  Alex Milowski  <alex@milowski.com>
119871
119872         Reviewed by Darin Adler.
119873
119874         Fixed a compile error in the paint() methods by making them use the
119875         new visitedDependentColor() method.
119876         https://bugs.webkit.org/show_bug.cgi?id=40327
119877
119878         * mathml/RenderMathMLRoot.cpp:
119879         (WebCore::RenderMathMLRoot::paint):
119880         (WebCore::RenderMathMLRoot::layout): Fixed a crash where every child 
119881         was assumed to be a RenderMathMLBlock instance when that isn't the 
119882         case.  Also, layout() needed to mark the index for layout before 
119883         calling layout() on the index.
119884         * mathml/RenderMathMLSquareRoot.cpp:
119885         (WebCore::RenderMathMLSquareRoot::paint):
119886
119887 2010-06-17  Darin Adler  <darin@apple.com>
119888
119889         Reviewed by Sam Weinig.
119890
119891         Use adoptRef and create functions in more code paths
119892         https://bugs.webkit.org/show_bug.cgi?id=40760
119893
119894         This helps prepare for an assertion that fires if you ref or destroy an
119895         object before calling adoptRef on it. That will help us catch mistakes
119896         that can lead to storage leaks.
119897
119898         * WebCore.base.exp: Updated export now that Frame::create is not an
119899         inline function.
119900
119901         * css/CSSInitialValue.h:
119902         (WebCore::CSSInitialValue::createExplicit): Use create.
119903         (WebCore::CSSInitialValue::createImplicit): Ditto.
119904         (WebCore::CSSInitialValue::create): Added.
119905
119906         * css/CSSPrimitiveValue.cpp:
119907         (WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added.
119908         (WebCore::CSSPrimitiveValue::createUncachedColor): Added.
119909         (WebCore::CSSPrimitiveValue::createUncached): Added.
119910         (WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier
119911         instead of using new directly.
119912         (WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead
119913         of using new directly.
119914         (WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using
119915         new directly.
119916         * css/CSSPrimitiveValue.h: Declare the new functions above.
119917
119918         * css/CSSStyleSelector.cpp:
119919         (WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of
119920         explicitly deleting it.
119921
119922         * loader/SubresourceLoader.cpp:
119923         (WebCore::SubresourceLoader::SubresourceLoader): Move the call to
119924         addSubresourceLoader out of here.
119925         (WebCore::SubresourceLoader::create): Move it in here. This makes it so
119926         we don't ref the loader before finishing its creation and calling adoptRef.
119927
119928         * page/Frame.cpp:
119929         (WebCore::Frame::Frame): Move the call to setMainFrame out of here.
119930         Also refactor the code so an assertion is easier to read.
119931         (WebCore::Frame::create): Move the call to setMainFrame in here.
119932         This makes it so we don't ref the frame before finishing its creation
119933         and calling adoptRef.
119934         * page/Frame.h: Made the create function non-inline.
119935
119936         * platform/text/BidiContext.cpp:
119937         (WebCore::BidiContext::createUncached): Added.
119938         (WebCore::BidiContext::create): Call createUncached instead of callling
119939         new directly.
119940         * platform/text/BidiContext.h: Declare createUncached.
119941
119942         * rendering/RenderSVGResourceFilter.cpp:
119943         (WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and
119944         RefPtr instead of OwnPtr. And use the create function instead of new.
119945         * rendering/RenderSVGResourceFilter.h: Ditto.
119946         * rendering/SVGRenderTreeAsText.cpp:
119947         (WebCore::writeSVGResourceContainer): Ditto.
119948
119949         * storage/StorageAreaImpl.cpp:
119950         (WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls
119951         StorageAreaSync::create out of here.
119952         (WebCore::StorageAreaImpl::create): Move it in here. This makes it so we
119953         don't ref the storage area before finishing its creation and calling adoptRef.
119954
119955         * svg/SVGPaint.cpp:
119956         (WebCore::SVGPaint::defaultFill): Use create instead of new.
119957         (WebCore::SVGPaint::defaultStroke): Ditto.
119958
119959         * svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private
119960         and added a create function since this is a reference counted object and
119961         should not be constructed directly.
119962
119963 2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
119964
119965         Reviewed by Gustavo Noronha.
119966
119967         Update CMake build system to use new script for generating source files
119968         with gperf (r61091).
119969         This updates also the build system to cope with recent changes to
119970         source files list.
119971         https://bugs.webkit.org/show_bug.cgi?id=40628
119972
119973         No new tests since it's just compilation fixes.
119974
119975         * CMakeLists.txt:
119976
119977 2010-06-17  Darin Adler  <darin@apple.com>
119978
119979         Reviewed by Sam Weinig.
119980
119981         Fix boolean reflected attributes to use empty string consistently for the content attribute value
119982         https://bugs.webkit.org/show_bug.cgi?id=40758
119983
119984         Test: fast/dom/boolean-attribute-reflection.html
119985
119986         The HTML5 specification and other browsers are all consistent:
119987         When setting a boolean IDL attribute to true, the attribute value
119988         gets set to the empty string. The guidelines for authors allow either
119989         the empty string or the name of the attribute, but for implementers
119990         of the DOM, the reflected attribute gets empty string.
119991
119992         * dom/Element.cpp:
119993         (WebCore::Element::setBooleanAttribute): Use emptyAtom to set the
119994         attribute to the empty string.
119995
119996         * html/HTMLFormControlElement.cpp:
119997         (WebCore::HTMLFormControlElement::setAutofocus): Use the empty string,
119998         not "autofocus".
119999         (WebCore::HTMLFormControlElement::setRequired): Use the empty string,
120000         not "required".
120001
120002 2010-06-17  Pavel Feldman  <pfeldman@chromium.org>
120003
120004         Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods.
120005
120006         * inspector/front-end/InspectorBackendStub.js:
120007         (.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages):
120008         (.WebInspector.InspectorBackendStub.prototype.getOuterHTML):
120009         (.WebInspector.InspectorBackendStub.prototype.setOuterHTML):
120010         (.WebInspector.InspectorBackendStub.prototype.addInspectedNode):
120011
120012 2010-06-17  Mark Brand  <mabrand@mabrand.nl>
120013
120014         Reviewed by Simon Hausmann.
120015
120016         [Qt] use "win32-g++*" scope to match all MinGW makespecs
120017
120018         The scope "win32-g++" comes from the name of the makespec. However, it
120019         is frequently used to check for MinGW. This works fine as long as
120020         win32-g++ is the only makespec for MinGW. Now we need the wildcard
120021         to cover "win32-g++-cross" as well.
120022
120023         * WebCore.pro:
120024
120025 2010-06-16  Pavel Feldman  <pfeldman@chromium.org>
120026
120027         Reviewed by Joe Pecoraro.
120028
120029         Web Inspector: move get/setOuterHTML, addInspectedNode and
120030         clearConsole to native InspectorDOMAgent. This is done to allow
120031         inspected nodes array to store nodes from different domains,
120032         also moves outerhtml manipulation closer to the rest of the DOM
120033         operations. In addition to that, we are slowly getting rid of
120034         InjectedScriptAccess in favor of IDL-defined InspectorBackend
120035         interface for clearer remote debugging API.
120036
120037         https://bugs.webkit.org/show_bug.cgi?id=40733
120038
120039         * inspector/InjectedScriptHost.cpp:
120040         (WebCore::InjectedScriptHost::inspectedNode):
120041         * inspector/InjectedScriptHost.h:
120042         * inspector/InspectorBackend.cpp:
120043         (WebCore::InspectorBackend::changeTagName):
120044         (WebCore::InspectorBackend::getOuterHTML):
120045         (WebCore::InspectorBackend::setOuterHTML):
120046         (WebCore::InspectorBackend::addInspectedNode):
120047         (WebCore::InspectorBackend::clearConsoleMessages):
120048         * inspector/InspectorBackend.h:
120049         * inspector/InspectorBackend.idl:
120050         * inspector/InspectorDOMAgent.cpp:
120051         (WebCore::InspectorDOMAgent::inspectedNode):
120052         (WebCore::InspectorDOMAgent::changeTagName):
120053         (WebCore::InspectorDOMAgent::getOuterHTML):
120054         (WebCore::InspectorDOMAgent::setOuterHTML):
120055         (WebCore::InspectorDOMAgent::addInspectedNode):
120056         * inspector/InspectorDOMAgent.h:
120057         * inspector/InspectorFrontend.cpp:
120058         (WebCore::InspectorFrontend::didGetOuterHTML):
120059         (WebCore::InspectorFrontend::didSetOuterHTML):
120060         * inspector/InspectorFrontend.h:
120061         * inspector/front-end/ConsoleView.js:
120062         (WebInspector.ConsoleView.prototype.requestClearMessages):
120063         * inspector/front-end/DOMAgent.js:
120064         * inspector/front-end/ElementsPanel.js:
120065         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
120066         (WebInspector.ElementsPanel):
120067         * inspector/front-end/ElementsTreeOutline.js:
120068         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
120069         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
120070         ():
120071         * inspector/front-end/InjectedScript.js:
120072         (injectedScriptConstructor):
120073         * inspector/front-end/InjectedScriptAccess.js:
120074
120075 2010-06-17  John Gregg  <johnnyg@google.com>
120076
120077         Reviewed by David Levin.
120078
120079         Move the call to the notification presenter that a Notification is being
120080         destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed
120081         method.
120082
120083         Also fix up an incorrect reference loss in the V8 bindings code for Notifications.
120084         https://bugs.webkit.org/show_bug.cgi?id=40097
120085
120086         No new tests; code paths are well-covered by existing tests.
120087
120088         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
120089         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
120090         (WebCore::V8NotificationCenter::createNotificationCallback):
120091         * notifications/Notification.cpp:
120092         (WebCore::Notification::~Notification):
120093         (WebCore::Notification::contextDestroyed):
120094         * notifications/Notification.h:
120095
120096 2010-06-17  Csaba Osztrogonác  <ossy@webkit.org>
120097
120098         Unreviewed rollout r61311, because it made 2 tests fail on Qt bot.
120099
120100         [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
120101         https://bugs.webkit.org/show_bug.cgi?id=36702
120102
120103         * plugins/qt/PluginViewQt.cpp:
120104         (WebCore::PluginView::updatePluginWidget):
120105
120106 2010-05-28  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
120107
120108         Reviewed by Simon Hausmann, Antti Koivisto
120109
120110         Make repaint throttling parameters runtime configurable.
120111         https://bugs.webkit.org/show_bug.cgi?id=38401
120112
120113         REPAINT_THROTTLING now chooses default values for throttling parameters.
120114         Should be removed when applications start using runtime configuration.
120115
120116         * page/FrameView.cpp:
120117         (WebCore::FrameView::reset):
120118         (WebCore::FrameView::updateDeferredRepaintDelay):
120119         (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
120120         (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
120121         (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
120122         (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
120123         * page/FrameView.h:
120124
120125 2010-06-17  Robert Hogan  <robert@webkit.org>
120126
120127         Reviewed by Kenneth Rohde Christiansen.
120128
120129         [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
120130
120131         https://bugs.webkit.org/show_bug.cgi?id=36702
120132
120133         setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
120134         work for DRT. So call it if we are in DRT mode and the window geometry
120135         has changed.
120136
120137         Unskips plugins/reentrant-update-widget-positions.html
120138
120139         * plugins/qt/PluginViewQt.cpp:
120140         (WebCore::PluginView::updatePluginWidget):
120141
120142 2010-06-17  Simon Hausmann  <simon.hausmann@nokia.com>
120143
120144         Reviewed by Kenneth Christiansen.
120145
120146         [Qt] Avoid unnecessary calls to save() and restore() when drawing images
120147
120148         Avoid calling the expensive save() and restore() on the GraphicsContext just
120149         for changing the composition mode. Instead save and restore it manually
120150         on QPainter.
120151
120152         Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the
120153         call to QPainter::setCompositionMode doesn't do anything if the mode hasn't
120154         changed.
120155
120156         * platform/graphics/GraphicsContext.h:
120157         * platform/graphics/qt/GraphicsContextQt.cpp:
120158         (WebCore::GraphicsContext::toQtCompositionMode):
120159         * platform/graphics/qt/ImageQt.cpp:
120160         (WebCore::BitmapImage::draw):
120161
120162 2010-06-16  Dawit Alemayehu  <adawit@kde.org>
120163
120164         Reviewed by Simon Hausmann.
120165
120166         [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
120167         https://bugs.webkit.org/show_bug.cgi?id=40567
120168
120169         Avoid preventable crashes by ensuring gtk_init() is called in the
120170         flash viewer plugins before calling NP_Initialize.
120171
120172         * plugins/qt/PluginPackageQt.cpp:
120173         (WebCore::PluginPackage::load):
120174
120175 2010-06-16  Tony Gentilcore  <tonyg@chromium.org>
120176
120177         Reviewed by David Levin.
120178
120179         Guarantee that references are held for CachedScripts in HTMLDocumentParser.
120180         https://bugs.webkit.org/show_bug.cgi?id=40177
120181
120182         No new tests because no new functionality.
120183
120184         * html/HTMLDocumentParser.cpp:
120185         (WebCore::HTMLDocumentParser::reset):
120186         (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
120187
120188 2010-06-16  Qi Zhang  <qi.2.zhang@nokia.com>
120189
120190         Reviewed by Laszlo Gombos.
120191
120192          [Qt] Repeat pattern should start from origin
120193          https://bugs.webkit.org/show_bug.cgi?id=39225
120194
120195          Patterns must be painted so that the top left of the first image 
120196          is anchored at the origin of the coordinate space.
120197
120198         * platform/graphics/qt/GraphicsContextQt.cpp:
120199         (WebCore::drawRepeatPattern):
120200         (WebCore::GraphicsContext::fillRect):
120201
120202 2010-06-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
120203
120204         Reviewed by Simon Hausmann.
120205
120206         [Qt] WebGL viewport does not show up on N900  
120207         https://bugs.webkit.org/show_bug.cgi?id=38528
120208
120209         With OGLES2 add default precision to the shader code.
120210         Use GLsizeiptr and GLintptr with OGLES2.
120211         Call paint() in beginPaint() so that drawTexture() is used 
120212         whenever possible.
120213
120214         * platform/graphics/qt/GraphicsContext3DQt.cpp:
120215         (WebCore::GraphicsContext3D::beginPaint):
120216         (WebCore::GraphicsContext3D::paint):
120217         (WebCore::GraphicsContext3D::shaderSource):
120218
120219 2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>
120220
120221         Reviewed by Simon Fraser.
120222
120223         Spatial Navigation: refactor scrollInDirection to work with scrollable content
120224         https://bugs.webkit.org/show_bug.cgi?id=39195
120225
120226         scrollInDirection now receives as parameter the node that the Spatial Navigation
120227         found as the more appropriated to move focus to. If it is in a scrollable container
120228         (e.g. <div> with clipped overflow content), it scrolls recursively starting from
120229         the container, not the current focused node.
120230
120231         Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html
120232
120233         * page/FocusController.cpp:
120234         (WebCore::FocusController::advanceFocusDirectionally):
120235         * page/SpatialNavigation.cpp:
120236         (WebCore::scrollInDirection):
120237         * page/SpatialNavigation.h:
120238
120239 2010-06-16  Brady Eidson  <beidson@apple.com>
120240
120241         Reviewed by Eric Carlson
120242
120243         <rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749
120244         ResourceLoader::willCacheResponse() needs to null-check Frame::Settings()
120245
120246         No new tests. (Discovered via crash reports, no reproducible cases noted)
120247
120248         * loader/ResourceLoader.cpp:
120249         (WebCore::ResourceLoader::willCacheResponse):  Null check m_frame->settings(), 
120250           but also add an ASSERT so debug-build developers can learn more about why
120251           this might be happening.
120252
120253 2010-06-16  Darin Adler  <darin@apple.com>
120254
120255         Try to fix the MathML build.
120256
120257         * mathml/MathMLMathElement.h: Added missing return type.
120258
120259 2010-06-16  Darin Adler  <darin@apple.com>
120260
120261         Reviewed by David Levin.
120262
120263         Deploy adoptRef in more places, including all HTML and MathML elements
120264         https://bugs.webkit.org/show_bug.cgi?id=39941
120265
120266         * dom/Element.cpp:
120267         (WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new
120268         in commented-out code.
120269         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
120270
120271         * dom/Node.h: Removed now-unused CreateElementZeroRefCount and
120272         CreateHTMLElementZeroRefCount.
120273
120274         * editing/InsertListCommand.cpp:
120275         (WebCore::InsertListCommand::insertList): Use create instead of new, fixing
120276         a storage leak.
120277
120278         * editing/ModifySelectionListLevel.cpp:
120279         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
120280         Removed "WithType" from function name. Use create instead of new, fixing a
120281         storage leak.
120282         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use
120283         create instead of new, fixing a storage leak.
120284
120285         * storage/IndexedDatabaseImpl.cpp:
120286         (WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak.
120287
120288         * editing/ModifySelectionListLevel.h: Added create functions.
120289
120290         * html/HTMLAnchorElement.cpp:
120291         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
120292         * html/HTMLFrameOwnerElement.cpp:
120293         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
120294         * html/HTMLMeterElement.cpp:
120295         (WebCore::HTMLMeterElement::HTMLMeterElement):
120296         * html/HTMLProgressElement.cpp:
120297         (WebCore::HTMLProgressElement::HTMLProgressElement):
120298         Removed code to explicitly pass CreateHTMLElement construction type since that's
120299         now the type used for all HTML elements.
120300
120301         * html/HTMLFormControlElement.cpp:
120302         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
120303         * html/HTMLFormControlElement.h:
120304         Removed construction type argument, since CreateHTMLElement is now the type used
120305         for all HTML elements.
120306
120307         * mathml/MathMLElement.cpp:
120308         (WebCore::MathMLElement::MathMLElement): Removed construction type of
120309         CreateStyledElementZeroRefCount so we'll use the default construction
120310         type, CreateStyledElement.
120311         (WebCore::MathMLElement::create): Use adoptRef.
120312
120313         * mathml/MathMLElement.h: Made isMathMLElement function private and
120314         removed unneeded override of createRenderer, because it did the
120315         same thing as the base class's createRenderer function.
120316
120317         * mathml/MathMLInlineContainerElement.cpp:
120318         (WebCore::MathMLInlineContainerElement::create): Use adoptRef.
120319         (WebCore::MathMLInlineContainerElement::createRenderer):
120320         Removed unnecessarily initialization of local variable and removed the
120321         case for mathTag, since that uses a different derived class.
120322
120323         * mathml/MathMLInlineContainerElement.h: Made createRenderrer override
120324         private.
120325
120326         * mathml/MathMLMathElement.cpp:
120327         (WebCore::MathMLMathElement::MathMLMathElement): Marked inline since
120328         it is called in only one place.
120329         (WebCore::MathMLMathElement::create): Use adoptRef.
120330         (WebCore::MathMLMathElement::createRenderer): Added. Creates a
120331         RenderMathMLMath object.
120332
120333         * mathml/MathMLMathElement.h: Made constructor private and added a
120334         private override of createRenderer.
120335
120336         * mathml/MathMLTextElement.cpp:
120337         (WebCore::MathMLTextElement::MathMLTextElement): Marked inline since
120338         it is called in only one place.
120339         (WebCore::MathMLTextElement::create): Use adoptRef.
120340         (WebCore::MathMLTextElement::createRenderer): Changed to call through
120341         to the base class instead of calling RenderObject::createObject directly.
120342
120343         * mathml/MathMLTextElement.h: Made the constructor and createRenderer
120344         function private.
120345
120346         * rendering/RenderFileUploadControl.cpp:
120347         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
120348         Removed an unneeded initializer.
120349
120350         * rendering/RenderProgress.cpp: Tweaked includes.
120351
120352         * rendering/ShadowElement.cpp: Added a "using namespace" directive.
120353         * rendering/ShadowElement.h: Tweaked formatting. Made more functions
120354         private.
120355
120356         * editing/DeleteButton.cpp:
120357         (WebCore::DeleteButton::create):
120358         * html/HTMLAudioElement.cpp:
120359         (WebCore::HTMLAudioElement::create):
120360         (WebCore::HTMLAudioElement::createForJSConstructor):
120361         * html/HTMLBRElement.cpp:
120362         (WebCore::HTMLBRElement::create):
120363         * html/HTMLBaseElement.cpp:
120364         (WebCore::HTMLBaseElement::create):
120365         * html/HTMLBaseFontElement.cpp:
120366         (WebCore::HTMLBaseFontElement::create):
120367         * html/HTMLBlockquoteElement.cpp:
120368         (WebCore::HTMLBlockquoteElement::create):
120369         * html/HTMLBodyElement.cpp:
120370         (WebCore::HTMLBodyElement::create):
120371         * html/HTMLButtonElement.cpp:
120372         (WebCore::HTMLButtonElement::create):
120373         * html/HTMLCanvasElement.cpp:
120374         (WebCore::HTMLCanvasElement::create):
120375         * html/HTMLDListElement.cpp:
120376         (WebCore::HTMLDListElement::create):
120377         * html/HTMLDataGridCellElement.cpp:
120378         (WebCore::HTMLDataGridCellElement::create):
120379         * html/HTMLDataGridColElement.cpp:
120380         (WebCore::HTMLDataGridColElement::create):
120381         * html/HTMLDataGridElement.cpp:
120382         (WebCore::HTMLDataGridElement::create):
120383         * html/HTMLDataGridRowElement.cpp:
120384         (WebCore::HTMLDataGridRowElement::create):
120385         * html/HTMLDataListElement.cpp:
120386         (WebCore::HTMLDataListElement::create):
120387         * html/HTMLDivElement.cpp:
120388         (WebCore::HTMLDivElement::create):
120389         * html/HTMLElement.cpp:
120390         (WebCore::HTMLElement::create):
120391         * html/HTMLElement.h:
120392         (WebCore::HTMLElement::HTMLElement):
120393         * html/HTMLFieldSetElement.cpp:
120394         (WebCore::HTMLFieldSetElement::create):
120395         * html/HTMLFontElement.cpp:
120396         (WebCore::HTMLFontElement::create):
120397         * html/HTMLFormElement.cpp:
120398         (WebCore::HTMLFormElement::create):
120399         * html/HTMLFrameSetElement.cpp:
120400         (WebCore::HTMLFrameSetElement::create):
120401         * html/HTMLHRElement.cpp:
120402         (WebCore::HTMLHRElement::create):
120403         * html/HTMLHeadElement.cpp:
120404         (WebCore::HTMLHeadElement::create):
120405         * html/HTMLHeadingElement.cpp:
120406         (WebCore::HTMLHeadingElement::create):
120407         * html/HTMLHtmlElement.cpp:
120408         (WebCore::HTMLHtmlElement::create):
120409         * html/HTMLImageElement.cpp:
120410         (WebCore::HTMLImageElement::create):
120411         (WebCore::HTMLImageElement::createForJSConstructor):
120412         * html/HTMLInputElement.cpp:
120413         (WebCore::HTMLInputElement::create):
120414         * html/HTMLIsIndexElement.cpp:
120415         (WebCore::HTMLIsIndexElement::create):
120416         * html/HTMLKeygenElement.cpp:
120417         (WebCore::HTMLKeygenElement::create):
120418         * html/HTMLLIElement.cpp:
120419         (WebCore::HTMLLIElement::create):
120420         * html/HTMLLabelElement.cpp:
120421         (WebCore::HTMLLabelElement::create):
120422         * html/HTMLLegendElement.cpp:
120423         (WebCore::HTMLLegendElement::create):
120424         * html/HTMLLinkElement.cpp:
120425         (WebCore::HTMLLinkElement::create):
120426         * html/HTMLMapElement.cpp:
120427         (WebCore::HTMLMapElement::create):
120428         * html/HTMLMarqueeElement.cpp:
120429         (WebCore::HTMLMarqueeElement::create):
120430         * html/HTMLMenuElement.cpp:
120431         (WebCore::HTMLMenuElement::create):
120432         * html/HTMLMetaElement.cpp:
120433         (WebCore::HTMLMetaElement::create):
120434         * html/HTMLModElement.cpp:
120435         (WebCore::HTMLModElement::create):
120436         * html/HTMLNoScriptElement.cpp:
120437         (WebCore::HTMLNoScriptElement::create):
120438         * html/HTMLOListElement.cpp:
120439         (WebCore::HTMLOListElement::create):
120440         * html/HTMLOptGroupElement.cpp:
120441         (WebCore::HTMLOptGroupElement::create):
120442         * html/HTMLOptionElement.cpp:
120443         (WebCore::HTMLOptionElement::create):
120444         (WebCore::HTMLOptionElement::createForJSConstructor):
120445         * html/HTMLParagraphElement.cpp:
120446         (WebCore::HTMLParagraphElement::create):
120447         * html/HTMLParamElement.cpp:
120448         (WebCore::HTMLParamElement::create):
120449         * html/HTMLPreElement.cpp:
120450         (WebCore::HTMLPreElement::create):
120451         * html/HTMLQuoteElement.cpp:
120452         (WebCore::HTMLQuoteElement::create):
120453         * html/HTMLScriptElement.cpp:
120454         (WebCore::HTMLScriptElement::create):
120455         * html/HTMLSelectElement.cpp:
120456         (WebCore::HTMLSelectElement::create):
120457         * html/HTMLSourceElement.cpp:
120458         (WebCore::HTMLSourceElement::create):
120459         * html/HTMLStyleElement.cpp:
120460         (WebCore::HTMLStyleElement::create):
120461         * html/HTMLTableCaptionElement.cpp:
120462         (WebCore::HTMLTableCaptionElement::create):
120463         * html/HTMLTableCellElement.cpp:
120464         (WebCore::HTMLTableCellElement::create):
120465         * html/HTMLTableColElement.cpp:
120466         (WebCore::HTMLTableColElement::create):
120467         * html/HTMLTableElement.cpp:
120468         (WebCore::HTMLTableElement::create):
120469         * html/HTMLTableRowElement.cpp:
120470         (WebCore::HTMLTableRowElement::create):
120471         * html/HTMLTableSectionElement.cpp:
120472         (WebCore::HTMLTableSectionElement::create):
120473         * html/HTMLTextAreaElement.cpp:
120474         (WebCore::HTMLTextAreaElement::create):
120475         * html/HTMLTitleElement.cpp:
120476         (WebCore::HTMLTitleElement::create):
120477         * html/HTMLUListElement.cpp:
120478         (WebCore::HTMLUListElement::create):
120479         * html/HTMLVideoElement.cpp:
120480         (WebCore::HTMLVideoElement::create):
120481         * loader/ImageDocument.cpp:
120482         (WebCore::ImageDocumentElement::create):
120483         * rendering/MediaControlElements.cpp:
120484         (WebCore::MediaControlShadowRootElement::create):
120485         (WebCore::MediaControlElement::create):
120486         (WebCore::MediaControlTimelineContainerElement::create):
120487         (WebCore::MediaControlVolumeSliderContainerElement::create):
120488         (WebCore::MediaControlStatusDisplayElement::create):
120489         (WebCore::MediaControlMuteButtonElement::create):
120490         (WebCore::MediaControlPlayButtonElement::create):
120491         (WebCore::MediaControlSeekButtonElement::create):
120492         (WebCore::MediaControlRewindButtonElement::create):
120493         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
120494         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
120495         (WebCore::MediaControlTimelineElement::create):
120496         (WebCore::MediaControlVolumeSliderElement::create):
120497         (WebCore::MediaControlFullscreenButtonElement::create):
120498         (WebCore::MediaControlTimeDisplayElement::create):
120499         * rendering/RenderSlider.cpp:
120500         (WebCore::SliderThumbElement::create):
120501         * rendering/TextControlInnerElements.cpp:
120502         (WebCore::TextControlInnerElement::create):
120503         (WebCore::TextControlInnerTextElement::create):
120504         (WebCore::SearchFieldResultsButtonElement::create):
120505         (WebCore::SearchFieldCancelButtonElement::create):
120506         (WebCore::SpinButtonElement::create):
120507         Use adoptRef.
120508
120509 2010-06-16  Adam Barth  <abarth@webkit.org>
120510
120511         Reviewed by Eric Seidel.
120512
120513         HTML5 parser crash when setTimeout document.write after slow script
120514         https://bugs.webkit.org/show_bug.cgi?id=40726
120515
120516         According to the HTML5 spec, we're supposed to open() a new document if
120517         we receive a document.write() after we've received EOF for the network.
120518         The old parser just dumped those bytes onto the end of the network
120519         stream.  After this patch, our behavior matches Minefield.
120520
120521         Test: http/tests/misc/write-while-waiting.html
120522
120523         * WebCore.xcodeproj/project.pbxproj:
120524         * dom/Document.cpp:
120525         (WebCore::Document::write):
120526         * dom/DocumentParser.h:
120527         * dom/XMLDocumentParser.cpp:
120528         (WebCore::XMLDocumentParser::finishWasCalled):
120529         * dom/XMLDocumentParser.h:
120530         * html/HTML5DocumentParser.cpp:
120531         (WebCore::HTML5DocumentParser::finishWasCalled):
120532         * html/HTML5DocumentParser.h:
120533         (WebCore::HTML5DocumentParser::InputStream::isClosed):
120534         * html/HTMLDocumentParser.cpp:
120535         (WebCore::HTMLDocumentParser::finishWasCalled):
120536         * html/HTMLDocumentParser.h:
120537         * loader/ImageDocument.cpp:
120538         (WebCore::ImageTokenizer::finishWasCalled):
120539         * loader/MediaDocument.cpp:
120540         (WebCore::MediaDocumentParser::finishWasCalled):
120541         * loader/PluginDocument.cpp:
120542         (WebCore::PluginDocumentParser::finishWasCalled):
120543         * loader/SinkDocument.cpp:
120544         (WebCore::SinkDocumentParser::finishWasCalled):
120545         * loader/TextDocument.cpp:
120546         (WebCore::TextDocumentParser::finishWasCalled):
120547
120548 2010-06-16  Martin Robinson  <mrobinson@igalia.com>
120549
120550         Reviewed by Gustavo Noronha Silva.
120551
120552         [GTK] ClipboardGtk::setURL does not match the behavior of other platforms
120553         https://bugs.webkit.org/show_bug.cgi?id=40640
120554
120555         Instead of writing URL labels to the text portion of the clipboard or
120556         drag-and-drop data, write the URL itself. Also escape the label text
120557         of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and
120558         PasteboardGtk can share it.
120559
120560         Tests for this issue will be activated when dropping support has been
120561         added to the GTK+ EventSender.
120562
120563         * platform/gtk/ClipboardGtk.cpp:
120564         (WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL.
120565         * platform/gtk/DataObjectGtk.cpp:
120566         (WebCore::DataObjectGtk::setURL):
120567         Added. Write URL to the text portion and remember to escape the
120568         label when creating the markup portion.
120569         * platform/gtk/DataObjectGtk.h: Add declaration of new method.
120570         * platform/gtk/PasteboardGtk.cpp: 
120571         (WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL.
120572
120573 2010-06-16  Adam Barth  <abarth@webkit.org>
120574
120575         Reviewed by Eric Seidel.
120576
120577         Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier
120578         https://bugs.webkit.org/show_bug.cgi?id=40729
120579
120580         This was a copy/paste error.  Yay for ASSERTs.
120581
120582         * html/HTML5Lexer.cpp:
120583         (WebCore::HTML5Lexer::nextToken):
120584
120585 2010-06-16  Stuart Morgan  <stuartmorgan@chromium.org>
120586
120587         Reviewed by Anders Carlsson.
120588
120589         Bring npapi.h more in line with upstream npapi-headers version:
120590         - Remove obsolete XP_MAC sections.
120591         - Remove Metrowerks defines.
120592         - Add OS/2 defines.
120593         - Add Maemo defines.
120594         - Add new version of the custom Carbon event definitions.
120595         - Sync platform define style/details
120596
120597         https://bugs.webkit.org/show_bug.cgi?id=38666
120598
120599         * bridge/npapi.h:
120600
120601 2010-06-16  Simon Fraser  <simon.fraser@apple.com>
120602
120603         Reviewed by Sam Weinig.
120604
120605         Allow transitions and animations of clip: rect
120606         https://bugs.webkit.org/show_bug.cgi?id=38130
120607         
120608         Make the CSS clip property animatable.
120609
120610         Test: transitions/clip-transition.html
120611
120612         * page/animation/AnimationBase.cpp:
120613         (WebCore::blendFunc): New blend function for LengthBox
120614         (WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes.
120615
120616         * platform/LengthBox.h:
120617         (WebCore::LengthBox::LengthBox): New ctor that takes 4 length values.
120618         * rendering/style/RenderStyle.h:
120619         (WebCore::InheritedFlags::setClip): New method that takes a LengthBox.
120620
120621 2010-06-16  Simon Fraser  <simon.fraser@apple.com>
120622
120623         Reviewed by Dan Bernstein.
120624
120625         Fix clipping via CSS clip: with composited descendants
120626         https://bugs.webkit.org/show_bug.cgi?id=40579
120627         
120628         Consult the 'clip' style, as well as overflow, when creating clipping
120629         compositing layers.
120630
120631         Tests: compositing/geometry/clip.html
120632                compositing/overflow/clip-descendents.html
120633
120634         * rendering/RenderLayerBacking.cpp:
120635         (WebCore::clipBox): Utility function that returns the union of the clip and overflow
120636         boxes.
120637         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to
120638         get the correct clipping rectangle.
120639         * rendering/RenderLayerCompositor.cpp:
120640         (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for
120641         clip as well as overflow.
120642         (WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto.
120643
120644 2010-06-16  Simon Fraser  <simon.fraser@apple.com>
120645
120646         Reviewed by Darin Adler.
120647
120648         REGRESSION: Undocked inspector toolbar is white
120649         https://bugs.webkit.org/show_bug.cgi?id=40644
120650
120651         Make the html element 100% height so that we don't erase the background to white, after r61215.
120652
120653         * inspector/front-end/inspector.css:
120654         (html):
120655
120656 2010-06-16  Brian Weinstein  <bweinstein@apple.com>
120657
120658         Reviewed by Darin Adler.
120659
120660         User scripts injected on start are not run on image documents.
120661         https://bugs.webkit.org/show_bug.cgi?id=40722
120662         <rdar://8087394>
120663         
120664         User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable,
120665         but this is never called from ImageDocument, so call it when we create a document element for
120666         our image document.
120667
120668         * loader/ImageDocument.cpp:
120669         (WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable
120670             after creating our document element.
120671
120672 2010-06-16  Brady Eidson  <beidson@apple.com>
120673
120674         Reviewed by NOBODY (Build fix for Mac)
120675
120676         * WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root.
120677
120678 2010-06-16  Chris Marrin  <cmarrin@apple.com>
120679
120680         Reviewed by Eric Carlson.
120681
120682         https://bugs.webkit.org/show_bug.cgi?id=40643
120683         
120684         Second of three steps - rename Canvas3DLayer to WebGLLayer
120685
120686         * WebCore.xcodeproj/project.pbxproj:
120687         * platform/graphics/mac/Canvas3DLayer.h: Removed.
120688         * platform/graphics/mac/Canvas3DLayer.mm: Removed.
120689         * platform/graphics/mac/GraphicsLayerCA.mm:
120690         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
120691         * platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h.
120692         * platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm.
120693
120694 2010-06-16  Chris Marrin  <cmarrin@apple.com>
120695
120696         Reviewed by Simon Fraser.
120697
120698         https://bugs.webkit.org/show_bug.cgi?id=40643
120699         
120700         Rename GraphicsContext3DMac.cpp so it can interact with CALayer
120701
120702         * platform/graphics/mac/GraphicsContext3DMac.cpp: Removed.
120703         * platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp.
120704         * WebCore.xcodeproj/project.pbxproj
120705
120706 2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>
120707
120708         Reviewed by Dirk Schulze.
120709
120710         Add new files, needed in SVG Text rewrite
120711         https://bugs.webkit.org/show_bug.cgi?id=40676
120712
120713         Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed
120714         in a later patch, completing the SVG Text rewrite, that will enable them.
120715
120716         Doesn't affect any code for now, it should just reduce the review amount.
120717
120718         * Android.mk:
120719         * CMakeLists.txt:
120720         * GNUmakefile.am:
120721         * WebCore.gypi:
120722         * WebCore.pro:
120723         * WebCore.vcproj/WebCore.vcproj:
120724         * WebCore.xcodeproj/project.pbxproj:
120725         * rendering/SVGTextChunkLayoutInfo.cpp: Added.
120726         (WebCore::cummulatedWidthOrHeightOfTextChunk):
120727         (WebCore::cummulatedWidthOfTextChunk):
120728         (WebCore::cummulatedHeightOfTextChunk):
120729         (WebCore::calculateTextAnchorShiftForTextChunk):
120730         (WebCore::applyTextAnchorToTextChunk):
120731         (WebCore::calculateTextLengthCorrectionForTextChunk):
120732         (WebCore::applyTextLengthCorrectionToTextChunk):
120733         (WebCore::SVGTextChunkLayoutInfo::startTextChunk):
120734         (WebCore::SVGTextChunkLayoutInfo::closeTextChunk):
120735         (WebCore::SVGTextChunkLayoutInfo::buildTextChunks):
120736         (WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks):
120737         (WebCore::SVGTextChunkLayoutInfo::layoutTextChunks):
120738         * rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail.
120739         * rendering/SVGTextQuery.cpp: Added.
120740         (WebCore::SVGTextQuery::Data::Data):
120741         (WebCore::flowBoxForRenderer):
120742         (WebCore::mapLengthThroughChunkTransformation):
120743         (WebCore::SVGTextQuery::SVGTextQuery):
120744         (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
120745         (WebCore::SVGTextQuery::executeQuery):
120746         (WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates):
120747         (WebCore::SVGTextQuery::measureCharacterRange):
120748         (WebCore::NumberOfCharactersData::NumberOfCharactersData):
120749         (WebCore::SVGTextQuery::numberOfCharactersCallback):
120750         (WebCore::SVGTextQuery::numberOfCharacters):
120751         (WebCore::TextLengthData::TextLengthData):
120752         (WebCore::SVGTextQuery::textLengthCallback):
120753         (WebCore::SVGTextQuery::textLength):
120754         (WebCore::SubStringLengthData::SubStringLengthData):
120755         (WebCore::SVGTextQuery::subStringLengthCallback):
120756         (WebCore::SVGTextQuery::subStringLength):
120757         (WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData):
120758         (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
120759         (WebCore::SVGTextQuery::startPositionOfCharacter):
120760         (WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData):
120761         (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
120762         (WebCore::SVGTextQuery::endPositionOfCharacter):
120763         (WebCore::RotationOfCharacterData::RotationOfCharacterData):
120764         (WebCore::SVGTextQuery::rotationOfCharacterCallback):
120765         (WebCore::SVGTextQuery::rotationOfCharacter):
120766         (WebCore::ExtentOfCharacterData::ExtentOfCharacterData):
120767         (WebCore::SVGTextQuery::extentOfCharacterCallback):
120768         (WebCore::SVGTextQuery::extentOfCharacter):
120769         (WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData):
120770         (WebCore::SVGTextQuery::characterNumberAtPositionCallback):
120771         (WebCore::SVGTextQuery::characterNumberAtPosition):
120772         * rendering/SVGTextQuery.h: Added.
120773
120774 2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>
120775
120776         Reviewed by Dirk Schulze.
120777
120778         Provide floating-point support for text selection framework
120779         https://bugs.webkit.org/show_bug.cgi?id=40665
120780
120781         This is the first chunk of the SVG Text rewrite patches.
120782         offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead
120783         of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac.
120784         selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer.
120785         Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch.
120786
120787         Add a glyphScale parameter to TextRun, that will be used to support text selection
120788         in lengthAdjust/textLength scenarios in SVG text, soon.
120789
120790         Doesn't affect any testcases so far. HTML is not affected in any way,
120791         as it only ever passes integers to these functions.
120792
120793         * platform/graphics/Font.cpp:
120794         (WebCore::Font::selectionRectForText):
120795         (WebCore::Font::offsetForPosition):
120796         * platform/graphics/Font.h:
120797         * platform/graphics/FontFastPath.cpp:
120798         (WebCore::Font::selectionRectForSimpleText):
120799         (WebCore::Font::offsetForPositionForSimpleText):
120800         * platform/graphics/TextRun.h:
120801         (WebCore::TextRun::TextRun):
120802         (WebCore::TextRun::glyphScale):
120803         (WebCore::TextRun::setGlyphScale):
120804         (WebCore::TextRun::applyGlyphScaling):
120805         * platform/graphics/WidthIterator.cpp:
120806         (WebCore::WidthIterator::advance):
120807         * platform/graphics/chromium/FontChromiumWin.cpp:
120808         (WebCore::Font::selectionRectForComplexText):
120809         (WebCore::Font::offsetForPositionForComplexText):
120810         * platform/graphics/chromium/FontLinux.cpp:
120811         (WebCore::Font::offsetForPositionForComplexText):
120812         (WebCore::Font::selectionRectForComplexText):
120813         * platform/graphics/efl/FontEfl.cpp:
120814         (WebCore::Font::offsetForPositionForComplexText):
120815         (WebCore::Font::selectionRectForComplexText):
120816         * platform/graphics/gtk/FontGtk.cpp:
120817         (WebCore::Font::offsetForPositionForComplexText):
120818         (WebCore::Font::selectionRectForComplexText):
120819         * platform/graphics/haiku/FontHaiku.cpp:
120820         (WebCore::Font::selectionRectForComplexText):
120821         (WebCore::Font::offsetForPositionForComplexText):
120822         * platform/graphics/mac/ComplexTextController.cpp:
120823         (WebCore::ComplexTextController::offsetForPosition):
120824         * platform/graphics/mac/ComplexTextController.h:
120825         * platform/graphics/mac/FontComplexTextMac.cpp:
120826         (WebCore::Font::selectionRectForComplexText):
120827         (WebCore::Font::offsetForPositionForComplexText):
120828         * platform/graphics/qt/FontQt.cpp:
120829         (WebCore::Font::offsetForPositionForSimpleText):
120830         (WebCore::Font::offsetForPositionForComplexText):
120831         (WebCore::Font::selectionRectForSimpleText):
120832         (WebCore::Font::selectionRectForComplexText):
120833         * platform/graphics/win/FontWin.cpp:
120834         (WebCore::Font::selectionRectForComplexText):
120835         (WebCore::Font::offsetForPositionForComplexText):
120836         * platform/graphics/wince/FontWince.cpp:
120837         (WebCore::Font::offsetForPositionForComplexText):
120838         (WebCore::Font::selectionRectForComplexText):
120839         * platform/graphics/wx/FontWx.cpp:
120840         (WebCore::Font::selectionRectForComplexText):
120841         (WebCore::Font::offsetForPositionForComplexText):
120842         * svg/SVGFont.cpp:
120843         (WebCore::Font::selectionRectForTextUsingSVGFont):
120844         (WebCore::Font::offsetForPositionForTextUsingSVGFont):
120845
120846 2010-06-16  Anton Muhin  <antonm@chromium.org>
120847
120848         Reviewed by Nate Chapin.
120849
120850         [v8] Introduce single element caches for WebCore::String to v8::String conversions
120851         https://bugs.webkit.org/show_bug.cgi?id=40435
120852         Measurements show that for some web apps (GMail, Wave) and some scenarios
120853         (intensive reading and/or keeping a tab open for a long time),
120854         hit rate lies in 30--50% interval.
120855         Inlining fast case gives another minor performance win.
120856
120857         * bindings/v8/V8Binding.cpp:
120858         (WebCore::getStringCache):
120859         (WebCore::v8ExternalStringSlow):
120860         * bindings/v8/V8Binding.h:
120861         (WebCore::v8ExternalString):
120862
120863 2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>
120864
120865         Reviewed by Kenneth Christiansen.
120866
120867         Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
120868         https://bugs.webkit.org/show_bug.cgi?id=39439
120869
120870         As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
120871         "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
120872         that's just the distance from the offsetParent, not the absolute position".
120873
120874         Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
120875         starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
120876         because all tests were done in htmls where the {i}frame element was a directly a child of the body,
120877         e.g. <html>...<body><iframe src=xxx>....<body></html>.
120878
120879         Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html
120880
120881         * page/SpatialNavigation.cpp:
120882         (WebCore::renderRectRelativeToRootDocument):
120883
120884 2010-06-16  Dan Bernstein  <mitz@apple.com>
120885
120886         Try to fix the Tiger build
120887
120888         * platform/graphics/mac/SimpleFontDataMac.mm:
120889         (WebCore::SimpleFontData::platformBoundsForGlyph):
120890
120891 2010-06-16  Dan Bernstein  <mitz@apple.com>
120892
120893         Try to fix the Tiger build
120894
120895         * platform/graphics/mac/SimpleFontDataMac.mm:
120896         (WebCore::SimpleFontData::platformBoundsForGlyph):
120897
120898 2010-06-16  Dan Bernstein  <mitz@apple.com>
120899
120900         Reviewed by Alexey Proskuryakov.
120901
120902         <rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines.
120903         https://bugs.webkit.org/show_bug.cgi?id=40386
120904
120905         Test: platform/mac/fast/text/x-height.html
120906
120907         The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of
120908         -[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this.
120909
120910         * platform/graphics/mac/SimpleFontDataMac.mm:
120911         (WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline
120912         correctly.
120913         (WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger
120914         as well.
120915
120916 2010-06-16  Adam Barth  <abarth@webkit.org>
120917
120918         Reviewed by Eric Seidel.
120919
120920         Don't crash when a document ends with an entity
120921         https://bugs.webkit.org/show_bug.cgi?id=40658
120922
120923         When we SWITCH_TO a state, we're expecting our caller to have advanced
120924         the source.  Rather than have all the callers check for empty, we do
120925         that ourselves.
120926
120927         * html/HTML5Lexer.cpp:
120928
120929 2010-06-15  Adam Barth  <abarth@webkit.org>
120930
120931         Reviewed by Eric Seidel.
120932
120933         Enable HTML5 lexer
120934         https://bugs.webkit.org/show_bug.cgi?id=40650
120935
120936         * page/Settings.cpp:
120937         (WebCore::Settings::Settings):
120938
120939 2010-06-15  Mark Rowe  <mrowe@apple.com>
120940
120941         Rubber-stamped by David Harrison.
120942
120943         sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases.
120944         Explicitly initialize it to null, just to be safe.
120945
120946         * platform/sql/SQLiteStatement.cpp:
120947         (WebCore::SQLiteStatement::prepare):
120948
120949 2010-06-15  Mark Rowe  <mrowe@apple.com>
120950
120951         Reviewed by Brady Eidson.
120952
120953         <rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation
120954
120955         Back/forward navigation currently does not create or update items in the global history. This is usually
120956         desirable, except for in the event where the back/forward list was created programmatically and attached
120957         to the WebView and the initial load in that WebView is being performed as a result of a back/forward
120958         navigation. In that situation it is preferable to ensure that global history item is created or updated.
120959
120960         No test case is added because DumpRenderTree is not able to test the scenario where the initial
120961         load in a WebView occurs via a back/forward navigation.
120962
120963         * loader/FrameLoader.cpp:
120964         (WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a
120965         back/forward navigation then we should update the history as if it were a standard load, with the
120966         exception of updating the back/forward list.
120967         * loader/HistoryController.cpp:
120968         (WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating
120969         the back/forward list.
120970         * loader/HistoryController.h:
120971         (WebCore::HistoryController::):
120972
120973 2010-06-15  Kinuko Yasuda  <kinuko@chromium.org>
120974
120975         Reviewed by David Levin.
120976
120977         Fix compilation errors in BlobBuilder with FILE_WRITER enabled
120978         https://bugs.webkit.org/show_bug.cgi?id=40606
120979
120980         No functionality change so no new tests.
120981
120982         * html/BlobBuilder.cpp:
120983         * html/BlobBuilder.h:
120984
120985 2010-06-15  Jian Li  <jianli@chromium.org>
120986
120987         Reviewed by David Levin.
120988
120989         Move type attribute from File.idl to Blob.idl per latest File API spec.
120990         https://bugs.webkit.org/show_bug.cgi?id=40642
120991
120992         * html/Blob.idl:
120993         * html/File.idl:
120994
120995 2010-06-15  Darin Adler  <darin@apple.com>
120996
120997         Reviewed by Adam Barth.
120998
120999         Move functions out of Frame class that were marked "move to Chrome"
121000         https://bugs.webkit.org/show_bug.cgi?id=39636
121001
121002         Refactoring that does not require new tests.
121003
121004         * loader/FrameLoader.cpp:
121005         (WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus
121006         on DOMWindow rather than going through Frame.
121007         (WebCore::FrameLoader::open): Ditto.
121008         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call
121009         shouldClose on this object instead of going through Frame.
121010
121011         * page/DOMWindow.cpp:
121012         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call
121013         shouldClose on FrameLoader instead of going through Frame.
121014         (WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow
121015         in here.
121016         (WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow
121017         in here.
121018         (WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose
121019         in here.
121020         (WebCore::DOMWindow::setStatus): Moved the code from
121021         Frame::setJSStatusBarText in here.
121022         (WebCore::DOMWindow::setDefaultStatus): Moved the code from
121023         Frame::setJSDefaultStatusBarText in here.
121024
121025         * page/DOMWindow.h: Added m_status and m_defaultStatus members to
121026         store the status messages being set by the DOM.
121027
121028         * page/Frame.cpp: Removed all the functions that were marked
121029         "to be moved into Chrome".
121030         * page/Frame.h: Ditto.
121031
121032 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
121033
121034         Fix crashing tests; need to check for null documentElement().
121035
121036         * rendering/RenderView.cpp:
121037         (WebCore::RenderView::paintBoxDecorations):
121038
121039 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
121040
121041         Reviewed by Dave Hyatt.
121042
121043         Garbage shown outside HTML if HTML is absolutely positioned
121044         https://bugs.webkit.org/show_bug.cgi?id=36163
121045         
121046         Add a check that the root renderer (the document element's renderer) covers
121047         the entire viewport before deciding that we don't need the RenderView
121048         to paint its background. Fixes lack of painting with positioned, floated, and
121049         display: table html elements.
121050
121051         Test: fast/repaint/positioned-document-element.html
121052
121053         * rendering/RenderView.cpp:
121054         (WebCore::RenderView::paintBoxDecorations):
121055
121056 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
121057
121058         Reviewed by Dan Bernstein.
121059
121060         Safari 5 does not clear background with transformed html element
121061         https://bugs.webkit.org/show_bug.cgi?id=40498
121062         
121063         When the document element is composited, ensure that the FrameView
121064         paints the background, because the composited layer may be transparent,
121065         or might get moved via animation.
121066
121067         Test: compositing/repaint/composited-document-element.html
121068
121069         * rendering/RenderView.cpp:
121070         (WebCore::isComposited):
121071         (WebCore::rendererObscuresBackground):
121072
121073 2010-06-15  Xan Lopez  <xlopez@igalia.com>
121074
121075         Try to fix GTK+ build.
121076
121077         * platform/gtk/GtkVersioning.h:
121078
121079 2010-06-15  Darin Fisher  <darin@chromium.org>
121080
121081         Reviewed by Brady Eidson.
121082
121083         Introduce HistoryItem::itemSequenceNumber and use it to identify
121084         HistoryItems that are clones of one another.
121085
121086         Changes HistoryController::recursiveGoToItem to use itemSequenceNumber
121087         equality instead of isTargetItem as the pre-requisite for not calling
121088         FrameLoader::loadItem.
121089
121090         Changes FrameLoader::loadItem to require equivalent
121091         documentSequenceNumber before initiating a same document navigation.
121092         This alone would appear to fix the bug, but it does not go far enough
121093         since without the itemSequenceNumber equality check, we'd re-load more
121094         often than we should.
121095
121096         Moves documentSequenceNumber assignment into createItemTree as cleanup
121097         and to ensure that it gets called properly whenever we create a cloned
121098         HistoryItem.  (createItemTree's mission is to create clones up until
121099         or including the target frame depending on the value of the doClip
121100         parameter.)
121101
121102         Removes the now unused HistoryController::urlsMatchItem.
121103
121104         https://bugs.webkit.org/show_bug.cgi?id=40451
121105
121106         Test: fast/history/history-back-within-subframe.html
121107               http/tests/navigation/history-back-across-form-submission-to-fragment.html
121108
121109         * history/HistoryItem.cpp:
121110         (WebCore::generateSequenceNumber):
121111         (WebCore::HistoryItem::HistoryItem):
121112         * history/HistoryItem.h:
121113         (WebCore::HistoryItem::setItemSequenceNumber):
121114         (WebCore::HistoryItem::itemSequenceNumber):
121115         * loader/FrameLoader.cpp:
121116         (WebCore::FrameLoader::loadItem):
121117         * loader/HistoryController.cpp:
121118         (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
121119         (WebCore::HistoryController::createItemTree):
121120         (WebCore::HistoryController::recursiveGoToItem):
121121         (WebCore::HistoryController::pushState):
121122         * loader/HistoryController.h:
121123
121124 2010-06-15  Xan Lopez  <xlopez@igalia.com>
121125
121126         Reviewed by Gustavo Noronha.
121127
121128         [GTK] Does not compile with -DGSEAL_ENABLE
121129         https://bugs.webkit.org/show_bug.cgi?id=37851
121130
121131         Fix compilation with GSEAL_ENABLE.
121132
121133         * platform/gtk/GtkVersioning.h:
121134         * platform/gtk/PlatformScreenGtk.cpp:
121135         (WebCore::screenDepth):
121136         (WebCore::screenDepthPerComponent):
121137         * platform/gtk/PopupMenuGtk.cpp:
121138         (WebCore::PopupMenu::show):
121139         * platform/gtk/ScrollbarGtk.cpp:
121140         (ScrollbarGtk::detachAdjustment):
121141         (ScrollbarGtk::updateThumbPosition):
121142         (ScrollbarGtk::updateThumbProportion):
121143         * plugins/gtk/PluginViewGtk.cpp:
121144         (WebCore::PluginView::paint):
121145         (WebCore::PluginView::initXEvent):
121146         (WebCore::PluginView::platformGetValue):
121147         (WebCore::PluginView::platformStart):
121148         * plugins/gtk/gtk2xtbin.c:
121149         (gtk_xtbin_realize):
121150         (gtk_xtbin_new):
121151         (gtk_xtbin_set_position):
121152         (gtk_xtbin_unrealize):
121153
121154 2010-06-15  Xan Lopez  <xlopez@igalia.com>
121155
121156         Unreviewed build fix.
121157
121158         Fix the build when WebSockets are disabled.
121159
121160         * bindings/js/JSWorkerContextCustom.cpp:
121161
121162 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
121163
121164         Reviewed by Dan Bernstein.
121165
121166         YouTube thumbnail borders vanish during transition
121167         https://bugs.webkit.org/show_bug.cgi?id=40551
121168         
121169         Turn off the direct image optimization if the image has a clip style, so that is is
121170         correctly rendered with the clip.
121171
121172         Test: compositing/images/clip-on-directly-composited-image.html
121173
121174         * rendering/RenderLayerBacking.cpp:
121175         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
121176
121177 2010-06-15  Yury Semikhatsky  <yurys@chromium.org>
121178
121179         Reviewed by Pavel Feldman.
121180
121181         [v8] Web Inspector: make ui tests pass when ScriptDebugServer is used
121182         https://bugs.webkit.org/show_bug.cgi?id=40623
121183
121184         * bindings/v8/JavaScriptCallFrame.cpp:
121185         (WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous].
121186         * bindings/v8/ScriptDebugServer.cpp:
121187         (WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and
121188         not much to inspect.
121189
121190 2010-06-15  Adam Roben  <aroben@apple.com>
121191
121192         Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds
121193
121194         Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>.
121195
121196         Reviewed by Sam Weinig.
121197
121198         * WebCore.vcproj/WebCore.make: Copy the contents of WebCore's
121199         DerivedSources directory to AppleInternal/Sources/WebCore.
121200
121201 2010-06-15  Zhenyao Mo  <zmo@google.com>
121202
121203         Reviewed by Dimitri Glazkov.
121204
121205         Bring framebuffer functions to GLES2 conformance
121206         https://bugs.webkit.org/show_bug.cgi?id=40175
121207
121208         Test: fast/canvas/webgl/framebuffer-test.html
121209
121210         * html/canvas/WebGLRenderingContext.cpp:
121211         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation.
121212         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters.
121213         (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
121214         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
121215         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters.
121216         * html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters.
121217
121218 2010-06-15  Patrick Gansterer  <paroga@paroga.com>
121219
121220         Reviewed by David Levin.
121221
121222         Buildfix for ResourceHandleWin after r24202 and r55542.
121223         https://bugs.webkit.org/show_bug.cgi?id=32963
121224
121225         * platform/network/win/ResourceHandleWin.cpp:
121226         (WebCore::ResourceHandle::onHandleCreated):
121227         (WebCore::ResourceHandle::onRequestComplete):
121228         (WebCore::transferJobStatusCallback):
121229         (WebCore::ResourceHandle::start):
121230
121231 2010-06-12  Pavel Feldman  <pfeldman@chromium.org>
121232
121233         Reviewed by Joe Pecoraro.
121234
121235         Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web.
121236
121237         https://bugs.webkit.org/show_bug.cgi?id=40500
121238
121239         * inspector/front-end/InjectedScript.js:
121240         (injectedScriptConstructor):
121241         (injectedScriptConstructor.):
121242
121243 2010-06-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
121244
121245         Reviewed by Simon Hausmann.
121246
121247         [Qt] The qt_webkit_version.pri file gets overwritten on install
121248         https://bugs.webkit.org/show_bug.cgi?id=40487
121249
121250         Don't install qt_webkit_version.pri when building WebKit inside of Qt.
121251         The import of WebKit into Qt will take care of providing the file
121252         in mkspecs/modules and it'll be installed through projects.pro.
121253
121254         * WebCore.pro:
121255
121256 2010-06-15  Tony Chang  <tony@chromium.org>
121257
121258         Reviewed by Ojan Vafai.
121259
121260         resolve urls in text/html clipboard data
121261         https://bugs.webkit.org/show_bug.cgi?id=40044
121262
121263         Allow text/html data copied from a page to contain full URLs when
121264         dragging or copy/pasting.
121265
121266         Tests: editing/pasteboard/copy-resolves-urls.html
121267                http/tests/misc/copy-resolves-urls.html
121268
121269         * WebCore.base.exp:
121270         * editing/markup.cpp:
121271         (WebCore::appendStartMarkup):
121272         (WebCore::getStartMarkup):
121273         (WebCore::MarkupAccumulator::appendMarkup):
121274         (WebCore::createMarkup):
121275         * editing/markup.h:
121276         (WebCore::):
121277         * platform/chromium/ClipboardChromium.cpp:
121278         (WebCore::ClipboardChromium::writeRange):
121279         * platform/chromium/PasteboardChromium.cpp:
121280         (WebCore::Pasteboard::writeSelection):
121281         * platform/gtk/ClipboardGtk.cpp:
121282         (WebCore::ClipboardGtk::writeRange):
121283         * platform/gtk/DataObjectGtk.cpp:
121284         (WebCore::DataObjectGtk::markup):
121285         * platform/gtk/PasteboardGtk.cpp:
121286         (WebCore::Pasteboard::writeSelection):
121287         * platform/haiku/PasteboardHaiku.cpp:
121288         (WebCore::Pasteboard::writeSelection):
121289         * platform/qt/ClipboardQt.cpp:
121290         (WebCore::ClipboardQt::writeRange):
121291         * platform/qt/PasteboardQt.cpp:
121292         (WebCore::Pasteboard::writeSelection):
121293
121294 2010-06-14  Chris Fleizach  <cfleizach@apple.com>
121295
121296         No review. GTK build fix.
121297
121298         AX: need ListItemRole and PresentationalRole
121299         https://bugs.webkit.org/show_bug.cgi?id=40133
121300
121301         Mostly speculative fix to make GTK unit tests work.
121302
121303         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
121304         (atkRole):
121305         (webkit_accessible_get_role):
121306
121307 2010-06-14  Eric Carlson  <eric.carlson@apple.com>
121308
121309         Reviewed by Dan Bernstein.
121310
121311         <rdar://problem/8090895> Update http streaming MIME types
121312
121313         * platform/MIMETypeRegistry.cpp:
121314         (WebCore::TypeExtensionPair::): Add http streaming MIME synonyms.
121315
121316 2010-06-14  Eric Carlson  <eric.carlson@apple.com>
121317
121318         Reviewed by Oliver Hunt.
121319
121320         audio/x-mp3 MIME type not recognized
121321         <rdar://problem/7875393>
121322         https://bugs.webkit.org/show_bug.cgi?id=40594
121323         
121324         Allow MIMETypeRegistry to have more than one MIME type for a
121325         media file extension, and have the QTKit media engine register
121326         all MIME types it can find for each file type QTKit supports.
121327
121328         Test: media/media-can-play-mp3.html
121329
121330         * platform/MIMETypeRegistry.cpp:
121331         (WebCore::mediaMIMETypeMap): Update for new HashMap format.
121332         (WebCore::TypeExtensionPair::): Store String+Vector<String>
121333         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult
121334         mediaMIMETypeMap(), it has the canonical answer.
121335         (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return
121336         a Vector of all MIME types for an extension.
121337         * platform/MIMETypeRegistry.h:
121338         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
121339         (WebCore::addFileTypesToCache): Add all MIME types returned in the 
121340         getMediaMIMETypesForExtension Vector.
121341
121342 2010-06-14  Mark Rowe  <mrowe@apple.com>
121343
121344         Reviewed by Brady Eidson.
121345
121346         <rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder
121347
121348         * platform/sql/SQLiteStatement.cpp:
121349         (WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may
121350         not be the case with some versions of SQLite. Instead we must null-check before dereferencing.
121351
121352 2010-06-14  Anders Carlsson  <andersca@apple.com>
121353
121354         Fix Tiger build.
121355
121356         * plugins/mac/PluginDataMac.mm:
121357
121358 2010-06-14  Anders Carlsson  <andersca@apple.com>
121359
121360         Reviewed by Darin Adler.
121361
121362         Use an array for extensions in MimeClassInfo
121363         https://bugs.webkit.org/show_bug.cgi?id=40602
121364
121365         Get rid of MimeClassInfo::suffixes and replace it with an array of extensions.
121366
121367         * plugins/MimeType.cpp:
121368         (WebCore::MimeType::suffixes):
121369         Create a string of joined extensions.
121370
121371         * plugins/MimeType.h:
121372         * plugins/PluginData.h:
121373         (WebCore::operator==):
121374         * plugins/chromium/PluginDataChromium.cpp:
121375         (WebCore::getPluginMimeTypeFromExtension):
121376         * plugins/gtk/PluginDataGtk.cpp:
121377         (WebCore::PluginData::initPlugins):
121378         * plugins/mac/PluginDataMac.mm:
121379         (WebCore::PluginData::initPlugins):
121380         * plugins/qt/PluginDataQt.cpp:
121381         (WebCore::PluginData::initPlugins):
121382         * plugins/win/PluginDataWin.cpp:
121383         (WebCore::PluginData::initPlugins):
121384         * plugins/wx/PluginDataWx.cpp:
121385         (WebCore::PluginData::initPlugins):
121386
121387 2010-06-14  Adam Barth  <abarth@webkit.org>
121388
121389         Unreviewed.
121390
121391         Add an include to try to fix Chromium build.
121392
121393         * html/HTML5DocumentParser.cpp:
121394
121395 2010-06-14  Eric Seidel  <eric@webkit.org>
121396
121397         Reviewed by Adam Barth.
121398
121399         Safari beach-balls loading large pages with HTML5 parser
121400         https://bugs.webkit.org/show_bug.cgi?id=40596
121401
121402         Implement parser yielding, similar to how the old
121403         HTMLDocumentParser yields.
121404
121405         This implementation re-uses the tokenizerTimeDelay and
121406         tokenizerChunkSize settings even though they don't map exactly
121407         to the token loop that the HTML5 parser uses.
121408
121409         * dom/DocumentParser.h:
121410          - Add a FIXME for processingData() and clarify how the
121411            appendData flag is used by renaming it to isFromNetwork.
121412         * html/HTML5DocumentParser.cpp:
121413         (WebCore::parserTimeLimit):
121414          - Defaults accessor, probably belongs on Page.
121415         (WebCore::parserChunkSize):
121416          - Defaults accessor, probably belongs on Page.
121417         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
121418         (WebCore::HTML5DocumentParser::stopParsing):
121419          - Stop the continue-parsing timer if active.
121420         (WebCore::HTML5DocumentParser::processingData):
121421          - Implement this poorly understood accessor to match
121422            the old parser's behavior.  It's unclear what this does
121423            and it does not affect any layout tests to my knowledge
121424            but likely affects the WebKit API in some way.
121425         (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
121426          - Pass SynchronousMode.
121427          - Do not ever pump if we've yielded to the timer.
121428         (WebCore::HTML5DocumentParser::PumpSession::PumpSession):
121429          - A struct for storing the yield counters.
121430         (WebCore::HTML5DocumentParser::shouldContinueParsing):
121431          - Mostly matches HTMLDocumentParser::shouldContinueParsing.
121432         (WebCore::HTML5DocumentParser::pumpLexer):
121433          - Respect SynchronousMode.
121434          - ASSERT that a timer is not scheduled if we're pumping.
121435         (WebCore::isLayoutTimerActive):
121436          - This belongs on Document.
121437         (WebCore::HTML5DocumentParser::continueNextChunkTimerFired):
121438         (WebCore::HTML5DocumentParser::write):
121439         (WebCore::HTML5DocumentParser::end):
121440          - We should never end() if a timer is still outstanding.
121441         (WebCore::HTML5DocumentParser::attemptToEnd):
121442         (WebCore::HTML5DocumentParser::endIfDelayed):
121443         (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
121444         * html/HTML5DocumentParser.h:
121445         (WebCore::HTML5DocumentParser::):
121446         * html/HTMLDocumentParser.cpp:
121447          - Clarify the old TimeDelay and ChunkSize constants.
121448
121449 2010-06-14  Adam Barth  <abarth@webkit.org>
121450
121451         Reviewed by Eric Seidel.
121452
121453         Add a preload scanner for the HTML5 parser
121454         https://bugs.webkit.org/show_bug.cgi?id=40557
121455
121456         This patch adds a simple preload scanner for the HTML5 parser.  This
121457         preload scanner is not as awesome as the old one because it doesn't
121458         scan CSS, but it's much simpler.
121459
121460         * Android.mk:
121461         * CMakeLists.txt:
121462         * GNUmakefile.am:
121463         * WebCore.gypi:
121464         * WebCore.pro:
121465         * WebCore.vcproj/WebCore.vcproj:
121466         * WebCore.xcodeproj/project.pbxproj:
121467             - Build file torture.
121468         * html/HTML5DocumentParser.cpp:
121469         (WebCore::HTML5DocumentParser::write):
121470             - Call into the preload scanner when waiting for a script.
121471         * html/HTML5DocumentParser.h:
121472         * html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
121473         (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
121474         (WebCore::HTML5PreloadScanner::scan):
121475             - A simple loop to pump the preload scanner's lexer.
121476         (WebCore::HTML5PreloadScanner::processToken):
121477             - Preload interesting resources.  Stolen from the old preload
121478               scanner.
121479         (WebCore::HTML5PreloadScanner::scanningBody):
121480         * html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
121481
121482 2010-06-14  Adam Barth  <abarth@webkit.org>
121483
121484         Reviewed by Eric Seidel.
121485
121486         Constify some HTML5Token methods
121487         https://bugs.webkit.org/show_bug.cgi?id=40592
121488
121489         I keep wanting these methods to be const.  Eric wanted this in a
121490         separate patch.
121491
121492         * html/HTML5Lexer.h:
121493         (WebCore::HTML5Lexer::state):
121494         * html/HTML5Token.h:
121495         (WebCore::HTML5Token::attributes):
121496         (WebCore::HTML5Token::name):
121497         (WebCore::HTML5Token::characters):
121498         (WebCore::HTML5Token::comment):
121499         (WebCore::HTML5Token::publicIdentifier):
121500         (WebCore::HTML5Token::systemIdentifier):
121501         * html/HTML5TreeBuilder.cpp:
121502         (WebCore::convertToOldStyle):
121503         (WebCore::HTML5TreeBuilder::adjustedLexerState):
121504             - Technically, this might belong in the other patch, but I think
121505               it's fine here.
121506         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
121507         * html/HTML5TreeBuilder.h:
121508
121509 2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>
121510
121511         Unreviewed, build fix.
121512
121513         * WebCore.xcodeproj/project.pbxproj:
121514
121515 2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
121516
121517         Unreviewed, build fix.
121518
121519         Remove accidental specifying of the class name twice.
121520
121521         * html/HTMLFormElement.cpp:
121522         (WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo.
121523
121524 2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>
121525
121526         Reviewed by Adam Barth.
121527
121528         Get DatabaseTracker ready for sync DBs.
121529         https://bugs.webkit.org/show_bug.cgi?id=39041
121530
121531         * storage/AbstractDatabase.cpp:
121532         (WebCore::AbstractDatabase::~AbstractDatabase):
121533         * storage/AbstractDatabase.h:
121534         * storage/Database.cpp:
121535         (WebCore::Database::closeImmediately):
121536         * storage/Database.h:
121537         (WebCore::Database::scriptExecutionContext):
121538         * storage/DatabaseTracker.cpp:
121539         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
121540         (WebCore::DatabaseTracker::databaseChanged):
121541         (WebCore::DatabaseTracker::addOpenDatabase):
121542         (WebCore::DatabaseTracker::removeOpenDatabase):
121543         (WebCore::DatabaseTracker::getOpenDatabases):
121544         (WebCore::DatabaseTracker::deleteDatabaseFile):
121545         * storage/DatabaseTracker.h:
121546         * storage/OriginQuotaManager.cpp:
121547         (WebCore::OriginQuotaManager::markDatabase):
121548         * storage/OriginQuotaManager.h:
121549         * storage/chromium/DatabaseObserver.h:
121550         * storage/chromium/DatabaseTrackerChromium.cpp:
121551         (WebCore::DatabaseTracker::addOpenDatabase):
121552         (WebCore::TrackerRemoveOpenDatabaseTask::create):
121553         (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
121554         (WebCore::DatabaseTracker::removeOpenDatabase):
121555         (WebCore::DatabaseTracker::getOpenDatabases):
121556         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
121557
121558 2010-06-14  Alexey Proskuryakov  <ap@apple.com>
121559
121560         Reviewed by Darin Adler.
121561
121562         https://bugs.webkit.org/show_bug.cgi?id=40529
121563         eventSender.keyDown("delete") incorrectly sends a backspace on some platforms
121564
121565         * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
121566         Use virtual key code to force correct character code for clarity. Also, reworded comment,
121567         since saying that "backspace needs to always be 8" misleadingly implied that it could
121568         "sometimes" be such without this code.
121569
121570 2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
121571
121572         Reviewed by Darin Adler.
121573
121574         Refactor form submission code in HTMLFormElement to add clarity.
121575         https://bugs.webkit.org/show_bug.cgi?id=39430
121576
121577         Covered by existing tests in fast/forms/mailto.
121578
121579         * html/HTMLFormElement.cpp:
121580         (WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl,
121581             removed clearing out of the FormData and moved it to a new place (next to the call site).
121582         (WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of
121583             prepareing FormData here, including the use of appendMailtoPostFormDataToURL.
121584         (WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm().
121585         * html/HTMLFormElement.h: Renamed createFormData to prepareFormData.
121586
121587 2010-06-14  Chris Fleizach  <cfleizach@apple.com>
121588
121589         Reviewed by Darin Adler.
121590
121591         AX: need ListItemRole and PresentationalRole
121592         https://bugs.webkit.org/show_bug.cgi?id=40133
121593
121594         * accessibility/AccessibilityObject.cpp:
121595         (WebCore::createARIARoleMap):
121596         * accessibility/AccessibilityObject.h:
121597         (WebCore::AccessibilityObject::isListItem):
121598         * accessibility/AccessibilityRenderObject.cpp:
121599         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
121600         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
121601         * accessibility/mac/AccessibilityObjectWrapper.mm:
121602         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
121603
121604 2010-06-14  Anders Carlsson  <andersca@apple.com>
121605
121606         Reviewed by Sam Weinig.
121607
121608         Remove pluginIndex from MimeClassInfo
121609         https://bugs.webkit.org/show_bug.cgi?id=40588
121610
121611         * plugins/PluginData.h:
121612         * plugins/gtk/PluginDataGtk.cpp:
121613         (WebCore::PluginData::initPlugins):
121614         * plugins/mac/PluginDataMac.mm:
121615         (WebCore::PluginData::initPlugins):
121616         * plugins/qt/PluginDataQt.cpp:
121617         (WebCore::PluginData::initPlugins):
121618         * plugins/win/PluginDataWin.cpp:
121619         (WebCore::PluginData::initPlugins):
121620         * plugins/wx/PluginDataWx.cpp:
121621         (WebCore::PluginData::initPlugins):
121622
121623 2010-06-14  Kinuko Yasuda  <kinuko@chromium.org>
121624
121625         Reviewed by Jian Li.
121626
121627         Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter
121628         https://bugs.webkit.org/show_bug.cgi?id=36903
121629
121630         No new tests; they will be added when we add jsc bindings.
121631
121632         * CMakeLists.txt:
121633         * GNUmakefile.am:
121634         * WebCore.gypi:
121635         * WebCore.pro:
121636         * WebCore.vcproj/WebCore.vcproj:
121637         * WebCore.xcodeproj/project.pbxproj:
121638         * html/BlobBuilder.cpp: Added.
121639         * html/BlobBuilder.h: Added.
121640         (WebCore::BlobBuilder::create):
121641         * platform/BlobItem.cpp:
121642         (WebCore::StringBlobItem::convertToCString): Added EndingNative support.
121643         * platform/BlobItem.h: Added EndingNative line-ending type.
121644         (WebCore::):
121645
121646 2010-06-14  Anders Carlsson  <andersca@apple.com>
121647
121648         Reviewed by Darin Adler.
121649
121650         Stop using MimeClassInfo::pluginIndex
121651         https://bugs.webkit.org/show_bug.cgi?id=40582
121652
121653         Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex.
121654
121655         * plugins/MimeType.cpp:
121656         (WebCore::MimeType::enabledPlugin):
121657         Get the plug-in index from the mimePluginIndices vector.
121658         
121659         * plugins/Plugin.cpp:
121660         (WebCore::Plugin::item):
121661         Compare the mime plugin index as well.
121662         
121663         * plugins/PluginData.cpp:
121664         (WebCore::PluginData::PluginData):
121665         Populate the m_mimePluginIndices vector.
121666
121667         (WebCore::PluginData::pluginNameForMimeType):
121668         Get the plug-in index from the m_mimePluginIndices vector.
121669
121670         * plugins/PluginData.h:
121671         (WebCore::operator==):
121672         Don't check for pluginIndex.
121673
121674         (WebCore::PluginData::mimePluginIndices):
121675         Add getter for m_mimePluginIndices.
121676
121677 2010-06-14  Sam Weinig  <sam@webkit.org>
121678
121679         Better build fix.
121680
121681         * bindings/js/JSBindingsAllInOne.cpp:
121682
121683 2010-06-14  Sam Weinig  <sam@webkit.org>
121684
121685         Another windows build fix.
121686
121687         * bindings/js/JSBindingsAllInOne.cpp:
121688
121689 2010-06-14  Sam Weinig  <sam@webkit.org>
121690
121691         Another build fix.
121692
121693         * bindings/js/JSDOMWindowCustom.cpp:
121694
121695 2010-06-14  Sam Weinig  <sam@webkit.org>
121696
121697         Add missing comma to fix GTK build.
121698
121699         * xml/XSLTProcessor.idl:
121700
121701 2010-06-14  Sam Weinig  <sam@webkit.org>
121702
121703         Reviewed by Alexey Proskuryakov.
121704
121705         Fix for https://bugs.webkit.org/show_bug.cgi?id=40581
121706         Auto-generate most of the JS constructors
121707
121708         - Auto-generates all the JS constructors that don't have custom
121709           names (eg, Not Image(), Audio() or Option())
121710         - Fixes two typos.
121711             (new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor])
121712             (new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor])
121713
121714         * Android.jscbindings.mk:
121715         * CMakeLists.txt:
121716         * GNUmakefile.am:
121717         * WebCore.gypi:
121718         * WebCore.pro:
121719         * WebCore.vcproj/WebCore.vcproj:
121720         * WebCore.xcodeproj/project.pbxproj:
121721         * bindings/js/JSArrayBufferConstructor.cpp: Removed.
121722         * bindings/js/JSArrayBufferConstructor.h: Removed.
121723         * bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp.
121724         (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
121725         * bindings/js/JSArrayBufferViewHelper.h:
121726         (WebCore::constructArrayBufferView):
121727         * bindings/js/JSBindingsAllInOne.cpp:
121728         * bindings/js/JSDOMWindowCustom.cpp:
121729         * bindings/js/JSEventSourceConstructor.cpp: Removed.
121730         * bindings/js/JSEventSourceConstructor.h: Removed.
121731         * bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp.
121732         (WebCore::JSEventSourceConstructor::constructJSEventSource):
121733         * bindings/js/JSFloat32ArrayConstructor.cpp: Removed.
121734         * bindings/js/JSFloat32ArrayConstructor.h: Removed.
121735         * bindings/js/JSFloat32ArrayCustom.cpp:
121736         (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
121737         * bindings/js/JSInt16ArrayConstructor.cpp: Removed.
121738         * bindings/js/JSInt16ArrayConstructor.h: Removed.
121739         * bindings/js/JSInt16ArrayCustom.cpp:
121740         (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
121741         * bindings/js/JSInt32ArrayConstructor.cpp: Removed.
121742         * bindings/js/JSInt32ArrayConstructor.h: Removed.
121743         * bindings/js/JSInt32ArrayCustom.cpp:
121744         (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
121745         * bindings/js/JSInt8ArrayConstructor.cpp: Removed.
121746         * bindings/js/JSInt8ArrayConstructor.h: Removed.
121747         * bindings/js/JSInt8ArrayCustom.cpp:
121748         (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
121749         * bindings/js/JSMessageChannelConstructor.cpp: Removed.
121750         * bindings/js/JSMessageChannelConstructor.h: Removed.
121751         * bindings/js/JSMessageChannelCustom.cpp:
121752         (WebCore::JSMessageChannelConstructor::constructJSMessageChannel):
121753         * bindings/js/JSSharedWorkerConstructor.cpp: Removed.
121754         * bindings/js/JSSharedWorkerConstructor.h: Removed.
121755         * bindings/js/JSSharedWorkerCustom.cpp:
121756         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
121757         * bindings/js/JSUint16ArrayConstructor.cpp: Removed.
121758         * bindings/js/JSUint16ArrayConstructor.h: Removed.
121759         * bindings/js/JSUint16ArrayCustom.cpp:
121760         (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
121761         * bindings/js/JSUint32ArrayConstructor.cpp: Removed.
121762         * bindings/js/JSUint32ArrayConstructor.h: Removed.
121763         * bindings/js/JSUint32ArrayCustom.cpp:
121764         (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
121765         * bindings/js/JSUint8ArrayConstructor.cpp: Removed.
121766         * bindings/js/JSUint8ArrayConstructor.h: Removed.
121767         * bindings/js/JSUint8ArrayCustom.cpp:
121768         (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
121769         * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed.
121770         * bindings/js/JSWebKitCSSMatrixConstructor.h: Removed.
121771         * bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp.
121772         (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
121773         * bindings/js/JSWebKitPointConstructor.cpp: Removed.
121774         * bindings/js/JSWebKitPointConstructor.h: Removed.
121775         * bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp.
121776         (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
121777         * bindings/js/JSWebSocketConstructor.cpp: Removed.
121778         * bindings/js/JSWebSocketConstructor.h: Removed.
121779         * bindings/js/JSWebSocketCustom.cpp:
121780         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
121781         * bindings/js/JSWorkerConstructor.cpp: Removed.
121782         * bindings/js/JSWorkerConstructor.h: Removed.
121783         * bindings/js/JSWorkerContextCustom.cpp:
121784         * bindings/js/JSWorkerCustom.cpp:
121785         (WebCore::JSWorkerConstructor::constructJSWorker):
121786         * bindings/js/JSXSLTProcessorConstructor.cpp: Removed.
121787         * bindings/js/JSXSLTProcessorConstructor.h: Removed.
121788         * bindings/js/JSXSLTProcessorCustom.cpp:
121789         (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
121790         * bindings/scripts/CodeGeneratorJS.pm:
121791         * css/WebKitCSSMatrix.idl:
121792         * dom/MessageChannel.idl:
121793         * html/canvas/ArrayBuffer.idl:
121794         * html/canvas/Float32Array.idl:
121795         * html/canvas/Int16Array.idl:
121796         * html/canvas/Int32Array.idl:
121797         * html/canvas/Int8Array.idl:
121798         * html/canvas/Uint16Array.idl:
121799         * html/canvas/Uint32Array.idl:
121800         * html/canvas/Uint8Array.idl:
121801         * page/EventSource.idl:
121802         * page/WebKitPoint.idl:
121803         * websockets/WebSocket.idl:
121804         * workers/SharedWorker.idl:
121805         * workers/Worker.idl:
121806         * xml/XSLTProcessor.idl:
121807
121808 2010-05-16  Antonio Gomes  <tonikitoo@webkit.org>
121809
121810         Unreviewed naming fixes of local variables used in Spatial Navigation methods.
121811
121812         Summary:
121813             * "candidate" renamed to "node";
121814             * "currentFocusCandidate" renamed to "candidate"
121815             * "closestFocusCandidate" renamed to "closest"
121816
121817         That way naming is more consistent in the various Spatial Navigation methods.
121818
121819         * page/FocusController.cpp:
121820         (WebCore::FocusController::findFocusableNodeInDirection):
121821         (WebCore::FocusController::deepFindFocusableNodeInDirection):
121822
121823 2010-06-14  Antonio Gomes  <tonikitoo@webkit.org>
121824
121825         Reviewed by Simon Fraser and Kenneth Christiansen.
121826
121827         Spatial Navigation: make it work with focusable elements in overflow content
121828         https://bugs.webkit.org/show_bug.cgi?id=36463
121829
121830         This patch addresses the problem with Spatial Navigation. It currently does not
121831         properly traverse scrollable contents, including scrollable div's. For this to work,
121832         a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
121833         keeps track of the current scrollable box Node wrapping a FocusCandidate.
121834
121835         To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
121836         (FocusController::findNextFocusableInDirection) was changed as follows: when it
121837         encounters a scrollable Node, each focusable node which is 'inner' keeps track of
121838         the container reference. By the time a sibling of the scrollable Node is encountered,
121839         there is no need to track this reference any more and the traversal algorithm continues
121840         normally.
121841
121842         The common case is obviously that there is no scrollable container wrapping it.
121843
121844         updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
121845         newly introduced enclosingScrollableBox class member, getting simpler and more
121846         easily maintainable.
121847
121848         Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
121849                fast/events/spatial-navigation/snav-clipped-overflow-content.html
121850
121851         * page/FocusController.cpp:
121852         (WebCore::updateFocusCandidateInSameContainer):
121853         (WebCore::updateFocusCandidateIfCloser):
121854         (WebCore::FocusController::findFocusableNodeInDirection):
121855         (WebCore::FocusController::deepFindFocusableNodeInDirection):
121856         * page/SpatialNavigation.cpp:
121857         (WebCore::isScrollableContainerNode):
121858         * page/SpatialNavigation.h:
121859         (WebCore::FocusCandidate::FocusCandidate):
121860         (WebCore::FocusCandidate::isInScrollableContainer):
121861
121862 2010-06-14  Jian Li  <jianli@chromium.org>
121863
121864         Unreviewed. Fix build break in GTK.
121865
121866         * bindings/scripts/CodeGeneratorGObject.pm:
121867         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
121868         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
121869         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
121870         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
121871         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
121872
121873 2010-06-14  Chris Fleizach  <cfleizach@apple.com>
121874
121875         Reviewed by Beth Dakin.
121876
121877         AX: AXUnknown objects are being returned
121878         https://bugs.webkit.org/show_bug.cgi?id=40574
121879
121880         Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html
121881
121882         * accessibility/mac/AccessibilityObjectMac.mm:
121883         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
121884
121885 2010-06-14  Jian Li  <jianli@chromium.org>
121886
121887         Reviewed by Darin Adler.
121888
121889         Fix code generators to better support Conditional attribute and add test
121890         coverage for it.
121891         https://bugs.webkit.org/show_bug.cgi?id=39512
121892
121893         * bindings/scripts/CodeGeneratorGObject.pm:
121894         * bindings/scripts/CodeGeneratorObjC.pm:
121895         * bindings/scripts/CodeGeneratorV8.pm:
121896         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
121897         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
121898         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
121899         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
121900         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
121901         (webkit_dom_test_obj_get_conditional_attr1):
121902         (webkit_dom_test_obj_set_conditional_attr1):
121903         (webkit_dom_test_obj_get_conditional_attr2):
121904         (webkit_dom_test_obj_set_conditional_attr2):
121905         (webkit_dom_test_obj_get_conditional_attr3):
121906         (webkit_dom_test_obj_set_conditional_attr3):
121907         (webkit_dom_test_obj_set_property):
121908         (webkit_dom_test_obj_get_property):
121909         (webkit_dom_test_obj_class_init):
121910         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
121911         * bindings/scripts/test/JS/JSTestInterface.cpp:
121912         * bindings/scripts/test/JS/JSTestInterface.h:
121913         * bindings/scripts/test/JS/JSTestObj.cpp:
121914         (WebCore::):
121915         (WebCore::jsTestObjConditionalAttr1):
121916         (WebCore::jsTestObjConditionalAttr2):
121917         (WebCore::jsTestObjConditionalAttr3):
121918         (WebCore::setJSTestObjConditionalAttr1):
121919         (WebCore::setJSTestObjConditionalAttr2):
121920         (WebCore::setJSTestObjConditionalAttr3):
121921         * bindings/scripts/test/JS/JSTestObj.h:
121922         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
121923         * bindings/scripts/test/ObjC/DOMTestObj.h:
121924         * bindings/scripts/test/ObjC/DOMTestObj.mm:
121925         (-[DOMTestObj conditionalAttr1]):
121926         (-[DOMTestObj setConditionalAttr1:]):
121927         (-[DOMTestObj conditionalAttr2]):
121928         (-[DOMTestObj setConditionalAttr2:]):
121929         (-[DOMTestObj conditionalAttr3]):
121930         (-[DOMTestObj setConditionalAttr3:]):
121931         * bindings/scripts/test/TestInterface.idl:
121932         * bindings/scripts/test/TestObj.idl:
121933         * bindings/scripts/test/V8/V8TestInterface.cpp:
121934         * bindings/scripts/test/V8/V8TestInterface.h:
121935         * bindings/scripts/test/V8/V8TestObj.cpp:
121936         (WebCore::TestObjInternal::conditionalAttr1AttrGetter):
121937         (WebCore::TestObjInternal::conditionalAttr1AttrSetter):
121938         (WebCore::TestObjInternal::conditionalAttr2AttrGetter):
121939         (WebCore::TestObjInternal::conditionalAttr2AttrSetter):
121940         (WebCore::TestObjInternal::conditionalAttr3AttrGetter):
121941         (WebCore::TestObjInternal::conditionalAttr3AttrSetter):
121942         (WebCore::):
121943
121944 2010-06-14  Chang Shu  <chang.shu@nokia.com>
121945
121946         Reviewed by Kenneth Rohde Christiansen.
121947
121948         Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext.
121949         Using IntSize loses precision and fails the test.
121950         Note: This code change fixes Qt port but Mac is still failing due to
121951         platform issue.
121952
121953         https://bugs.webkit.org/show_bug.cgi?id=40434
121954
121955         * html/canvas/CanvasRenderingContext2D.cpp:
121956         (WebCore::CanvasRenderingContext2D::applyShadow):
121957         * platform/graphics/GraphicsContext.cpp:
121958         (WebCore::GraphicsContext::setShadow):
121959         (WebCore::GraphicsContext::getShadow):
121960         * platform/graphics/GraphicsContext.h:
121961         * platform/graphics/GraphicsContextPrivate.h:
121962         * platform/graphics/cairo/FontCairo.cpp:
121963         (WebCore::Font::drawGlyphs):
121964         * platform/graphics/cairo/GraphicsContextCairo.cpp:
121965         (WebCore::GraphicsContext::calculateShadowBufferDimensions):
121966         (WebCore::drawPathShadow):
121967         (WebCore::drawBorderlessRectShadow):
121968         (WebCore::GraphicsContext::setPlatformShadow):
121969         * platform/graphics/cairo/ImageCairo.cpp:
121970         (WebCore::BitmapImage::draw):
121971         * platform/graphics/cg/GraphicsContextCG.cpp:
121972         (WebCore::GraphicsContext::setPlatformShadow):
121973         * platform/graphics/chromium/FontChromiumWin.cpp:
121974         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
121975         (WebCore::Font::drawComplexText):
121976         * platform/graphics/gtk/FontGtk.cpp:
121977         (WebCore::Font::drawComplexText):
121978         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
121979         (WebCore::GraphicsContext::setPlatformShadow):
121980         * platform/graphics/mac/FontMac.mm:
121981         (WebCore::Font::drawGlyphs):
121982         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
121983         (WebCore::GraphicsContext::setPlatformShadow):
121984         * platform/graphics/qt/FontQt.cpp:
121985         (WebCore::drawTextCommon):
121986         * platform/graphics/qt/GraphicsContextQt.cpp:
121987         (WebCore::GraphicsContext::drawRect):
121988         (WebCore::GraphicsContext::drawLine):
121989         (WebCore::GraphicsContext::strokeArc):
121990         (WebCore::GraphicsContext::drawConvexPolygon):
121991         (WebCore::drawFilledShadowPath):
121992         (WebCore::GraphicsContext::strokePath):
121993         (WebCore::drawBorderlessRectShadow):
121994         (WebCore::GraphicsContext::setPlatformShadow):
121995         * platform/graphics/qt/ImageQt.cpp:
121996         (WebCore::BitmapImage::draw):
121997         * platform/graphics/skia/GraphicsContextSkia.cpp:
121998         (WebCore::GraphicsContext::setPlatformShadow):
121999         * platform/graphics/skia/SkiaFontWin.cpp:
122000         (WebCore::windowsCanHandleDrawTextShadow):
122001         * platform/graphics/win/FontCGWin.cpp:
122002         (WebCore::drawGDIGlyphs):
122003         (WebCore::Font::drawGlyphs):
122004         * platform/graphics/wince/GraphicsContextWince.cpp:
122005         (WebCore::GraphicsContext::fillRoundedRect):
122006         (WebCore::GraphicsContext::setPlatformShadow):
122007         (WebCore::GraphicsContext::drawText):
122008         * platform/graphics/wx/GraphicsContextWx.cpp:
122009         (WebCore::GraphicsContext::setPlatformShadow):
122010
122011 2010-06-14  Dan Bernstein  <mitz@apple.com>
122012
122013         Reviewed by Simon Fraser.
122014
122015         <rdar://problem/7752961> Unevenly distributed space in justified text
122016         https://bugs.webkit.org/show_bug.cgi?id=36105
122017
122018         Test: fast/text/justify-padding-distribution.html
122019
122020         * platform/graphics/WidthIterator.cpp:
122021         (WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total
122022         padding and the number of spaces rather than truncating it.
122023         (WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference
122024         between its old and new values, when rounded, to the advance.
122025         * platform/graphics/mac/ComplexTextController.cpp:
122026         (WebCore::ComplexTextController::ComplexTextController):
122027         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
122028         * platform/graphics/win/UniscribeController.cpp:
122029         (WebCore::UniscribeController::UniscribeController):
122030         (WebCore::UniscribeController::shapeAndPlaceItem):
122031         * platform/graphics/win/UniscribeController.h:
122032
122033 2010-06-14  Andreas Kling  <andreas.kling@nokia.com>
122034
122035         Reviewed by Tor Arne Vestbø.
122036
122037         [Qt] Stack overflow when converting navigator object to QVariant
122038         https://bugs.webkit.org/show_bug.cgi?id=40572
122039
122040         Protect against infinite recursion in JSValue->QVariant conversion.
122041         This fixes a crash when trying to convert MimeType objects (they
122042         recurse infinitely and on-the-fly via the enabledPlugin property.)
122043
122044         * bridge/qt/qt_runtime.cpp:
122045         (JSC::Bindings::convertValueToQVariant):
122046
122047 2010-06-14  Yong Li  <yoli@rim.com>
122048
122049         Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn>
122050
122051         Reviewed by Darin Adler.
122052
122053         https://bugs.webkit.org/show_bug.cgi?id=38910
122054
122055         Suspend Document::m_executeScriptSoonTimer objects when the page is deferred.
122056         There's no reason why we suspend all active DOM timers on the page but not suspend
122057         this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers.
122058
122059         It can only be tested manually.
122060         * manual-tests/load-deferrer-script-element.html: Added.
122061         * manual-tests/resources/load-deferrer-script-element.js: Added.
122062
122063         * dom/Document.cpp:
122064         (WebCore::Document::executeScriptSoon):
122065         (WebCore::Document::suspendExecuteScriptSoonTimer): Added.
122066         (WebCore::Document::resumeExecuteScriptSoonTimer): Added.
122067         * dom/Document.h:
122068         * page/PageGroupLoadDeferrer.cpp:
122069         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
122070         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
122071
122072 2010-06-13  Yael Aharon  <yael.aharon@nokia.com>
122073
122074         Reviewed by Kenneth Rohde Christiansen.
122075
122076         [Qt] Platform plugin support for Notifications UI
122077         https://bugs.webkit.org/show_bug.cgi?id=40005
122078
122079         To avoid race condition when GC is run during shutdown,
122080         disconnect the Notification from the NotificationPresenter
122081         when the presenter deletes itself.
122082         This cannot be tested by a layout test, the race condition happens only
122083         when GC is run during shutdown. It can be tested manually by loading
122084         manually any notification test and closing the browser.
122085
122086         * notifications/Notification.cpp:
122087         (WebCore::Notification::~Notification):
122088         * notifications/Notification.h:
122089         (WebCore::Notification::detachPresenter):
122090
122091 2010-06-08  Marcus Bulach  <bulach@chromium.org>
122092
122093         Reviewed by Jeremy Orlow.
122094
122095         Adds IndexedDB's KeyRange.
122096         https://bugs.webkit.org/show_bug.cgi?id=40250
122097
122098         Test: storage/indexeddb/idb-keyrange.html
122099
122100         * Android.derived.jscbindings.mk:
122101         * Android.derived.v8bindings.mk:
122102         * Android.mk:
122103         * CMakeLists.txt:
122104         * DerivedSources.cpp:
122105         * DerivedSources.make:
122106         * GNUmakefile.am:
122107         * WebCore.gypi:
122108         * WebCore.pri:
122109         * WebCore.pro:
122110         * WebCore.vcproj/WebCore.vcproj:
122111         * WebCore.xcodeproj/project.pbxproj:
122112         * storage/IDBKeyRange.cpp: Added.
122113         (WebCore::IDBKeyRange::IDBKeyRange):
122114         * storage/IDBKeyRange.h: Added.
122115         (WebCore::IDBKeyRange::):
122116         (WebCore::IDBKeyRange::create):
122117         (WebCore::IDBKeyRange::~IDBKeyRange):
122118         (WebCore::IDBKeyRange::left):
122119         (WebCore::IDBKeyRange::right):
122120         (WebCore::IDBKeyRange::flags):
122121         * storage/IDBKeyRange.idl: Added.
122122         * storage/IndexedDatabaseRequest.cpp:
122123         (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
122124         (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
122125         (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
122126         (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
122127         * storage/IndexedDatabaseRequest.h:
122128         * storage/IndexedDatabaseRequest.idl:
122129
122130 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122131
122132         And another.
122133
122134         * storage/IndexedDatabaseRequest.h:
122135
122136 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122137
122138         More build fixes.
122139
122140         * storage/IndexedDatabaseRequest.h:
122141
122142 2010-06-14  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
122143
122144         Reviewed by Laszlo Gombos.
122145
122146         [Qt] navigator.geolocation support for Qt port
122147         https://bugs.webkit.org/show_bug.cgi?id=39724
122148
122149         Implemetion for Qt port of navigator.gelocation. Using qtmobility location service.
122150
122151         * WebCore.pri:
122152         * WebCore.pro:
122153         * platform/qt/GeolocationServiceQt.cpp: Added.
122154         (WebCore::GeolocationServiceQt::create):
122155         (WebCore::GeolocationServiceQt::GeolocationServiceQt):
122156         (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
122157         (WebCore::GeolocationServiceQt::positionUpdated):
122158         (WebCore::GeolocationServiceQt::startUpdating):
122159         (WebCore::GeolocationServiceQt::stopUpdating):
122160         * platform/qt/GeolocationServiceQt.h: Added.
122161         (WebCore::GeolocationServiceQt::lastPosition):
122162         (WebCore::GeolocationServiceQt::lastError):
122163
122164 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122165
122166         2 more build fixes.
122167
122168         * storage/IDBDatabaseImpl.h:
122169         * storage/IndexedDatabaseRequest.h:
122170
122171 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122172
122173         Unreviewed build fix for my last.
122174
122175         * workers/WorkerScriptLoaderClient.h:
122176
122177 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122178
122179         Reviewed by Darin Fisher.
122180
122181         [V8] Clean up SerializedScriptValue
122182         https://bugs.webkit.org/show_bug.cgi?id=40482
122183
122184         SerializedScriptValue doesn't follow WebKit's style guidelines very well
122185         and needlessly inlines quite a bit within the .h file. This change cleans
122186         things up. No funcitonal changes.
122187
122188         No change in behavior.
122189
122190         * bindings/v8/SerializedScriptValue.cpp:
122191         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
122192         (WebCore::SerializedScriptValue::create):
122193         (WebCore::SerializedScriptValue::createFromWire):
122194         (WebCore::SerializedScriptValue::release):
122195         (WebCore::SerializedScriptValue::SerializedScriptValue):
122196         * bindings/v8/SerializedScriptValue.h:
122197
122198 2010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>
122199
122200         Reviewed by Pavel Feldman.
122201
122202         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
122203         data from inspected page to WebInspector as JSON string via http. The native
122204         serialization to JSON string is supported by InspectorValue's classes. This patch
122205         has the implementation of sendMessageToFrontend function. WebKit version of it still
122206         uses ScriptFunctionCall and will be switched to another transport a little bit later.
122207         https://bugs.webkit.org/show_bug.cgi?id=40134
122208
122209         * inspector/InspectorClient.h:
122210         * inspector/InspectorController.cpp:
122211         (WebCore::InspectorController::connectFrontend):
122212         (WebCore::InspectorController::disconnectFrontend):
122213         * inspector/InspectorController.h:
122214         * inspector/InspectorFrontend.cpp:
122215         (WebCore::InspectorFrontend::InspectorFrontend):
122216         * inspector/InspectorFrontend.h:
122217         * inspector/InspectorFrontendClientLocal.cpp:
122218         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
122219         * inspector/InspectorValues.cpp:
122220         (WebCore::InspectorObject::writeJSON):
122221         * inspector/front-end/inspector.js:
122222         (WebInspector.dispatchMessageToFrontend):
122223         * loader/EmptyClients.h:
122224         (WebCore::EmptyInspectorClient::sendMessageToFrontend):
122225
122226 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122227
122228         Reviewed by Darin Adler.
122229
122230         Reenable IDBDatabaseRequest's description attribute
122231         https://bugs.webkit.org/show_bug.cgi?id=39826
122232
122233         On the 26th, Beth commented out the description attribute in
122234         IDBDatabaseRequest because it was causing problems with the
122235         objective c bindings.  Turns out that this is the same bug as
122236         in http://trac.webkit.org/changeset/19486.  (Thanks for the
122237         pointer, Mark!)
122238  
122239         The solution is to change the objective C bindings generator
122240         to change the name in the generated code.  id and hash both
122241         just appended "Name" to them in the past.  I couldn't think
122242         of anything else particularly better to append, so I just
122243         went with name as well.
122244
122245         Test: building the world works on the first try.  Layout
122246               test verifies description works again.
122247
122248         * bindings/scripts/CodeGeneratorObjC.pm:
122249         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
122250         (webkit_dom_test_obj_get_description):
122251         (webkit_dom_test_obj_get_id):
122252         (webkit_dom_test_obj_set_id):
122253         (webkit_dom_test_obj_get_hash):
122254         (webkit_dom_test_obj_set_property):
122255         (webkit_dom_test_obj_get_property):
122256         (webkit_dom_test_obj_class_init):
122257         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
122258         * bindings/scripts/test/JS/JSTestObj.cpp:
122259         (WebCore::):
122260         (WebCore::jsTestObjDescription):
122261         (WebCore::jsTestObjId):
122262         (WebCore::jsTestObjHash):
122263         (WebCore::setJSTestObjId):
122264         * bindings/scripts/test/JS/JSTestObj.h:
122265         * bindings/scripts/test/ObjC/DOMTestObj.h:
122266         * bindings/scripts/test/ObjC/DOMTestObj.mm:
122267         (-[DOMTestObj descriptionName]):
122268         (-[DOMTestObj idName]):
122269         (-[DOMTestObj setIdName:]):
122270         (-[DOMTestObj hashName]):
122271         * bindings/scripts/test/TestObj.idl:
122272         * bindings/scripts/test/V8/V8TestObj.cpp:
122273         (WebCore::TestObjInternal::descriptionAttrGetter):
122274         (WebCore::TestObjInternal::idAttrGetter):
122275         (WebCore::TestObjInternal::idAttrSetter):
122276         (WebCore::TestObjInternal::hashAttrGetter):
122277         (WebCore::):
122278         * storage/IDBDatabaseRequest.idl:
122279
122280 2010-06-13  Anders Bakken  <agbakken@gmail.com>
122281
122282         Reviewed by Eric Seidel.
122283
122284         [Qt] ScreenQt.cpp has coding-style errors
122285         https://bugs.webkit.org/show_bug.cgi?id=39766
122286
122287         * platform/qt/ScreenQt.cpp:
122288
122289 2010-06-13  Eric Seidel  <eric@webkit.org>
122290
122291         Reviewed by Adam Barth.
122292
122293         Rename HTMLParser to LegacyHTMLTreeConstructor
122294         https://bugs.webkit.org/show_bug.cgi?id=40554
122295
122296         This makes our old HTML parsing system closer match the
122297         HTML5 spec, and thus easier to compare to the new HTML5
122298         parsing system.
122299
122300         This rename was entirely automatic.  Done by do-webcore-rename.
122301
122302         * Android.mk:
122303         * CMakeLists.txt:
122304         * GNUmakefile.am:
122305         * WebCore.gypi:
122306         * WebCore.pro:
122307         * WebCore.vcproj/WebCore.vcproj:
122308         * WebCore.xcodeproj/project.pbxproj:
122309         * dom/Document.cpp:
122310         * dom/DocumentParser.h:
122311         (WebCore::DocumentParser::htmlTreeConstructor):
122312         * html/HTML5DocumentParser.cpp:
122313         (WebCore::HTML5DocumentParser::htmlTreeConstructor):
122314         * html/HTML5DocumentParser.h:
122315         * html/HTML5TreeBuilder.cpp:
122316         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
122317         * html/HTML5TreeBuilder.h:
122318         (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
122319         * html/HTMLDocumentParser.cpp:
122320         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
122321         * html/HTMLDocumentParser.h:
122322         (WebCore::HTMLDocumentParser::htmlTreeConstructor):
122323         * html/HTMLFormControlElement.cpp:
122324         (WebCore::HTMLFormControlElement::removedFromTree):
122325         * html/HTMLInputElement.cpp:
122326         * html/HTMLMeterElement.cpp:
122327         * html/HTMLProgressElement.cpp:
122328         * html/LegacyHTMLTreeConstructor.cpp: Renamed from WebCore/html/HTMLParser.cpp.
122329         (WebCore::addTags):
122330         (WebCore::HTMLStackElem::HTMLStackElem):
122331         (WebCore::HTMLStackElem::derefNode):
122332         (WebCore::LegacyHTMLTreeConstructor::LegacyHTMLTreeConstructor):
122333         (WebCore::LegacyHTMLTreeConstructor::~LegacyHTMLTreeConstructor):
122334         (WebCore::LegacyHTMLTreeConstructor::reset):
122335         (WebCore::LegacyHTMLTreeConstructor::setCurrent):
122336         (WebCore::tagPriorityOfNode):
122337         (WebCore::LegacyHTMLTreeConstructor::limitDepth):
122338         (WebCore::LegacyHTMLTreeConstructor::insertNodeAfterLimitDepth):
122339         (WebCore::LegacyHTMLTreeConstructor::parseToken):
122340         (WebCore::LegacyHTMLTreeConstructor::parseDoctypeToken):
122341         (WebCore::isTableSection):
122342         (WebCore::isTablePart):
122343         (WebCore::isTableRelated):
122344         (WebCore::isScopingTag):
122345         (WebCore::LegacyHTMLTreeConstructor::insertNode):
122346         (WebCore::LegacyHTMLTreeConstructor::handleError):
122347         (WebCore::LegacyHTMLTreeConstructor::textCreateErrorCheck):
122348         (WebCore::LegacyHTMLTreeConstructor::commentCreateErrorCheck):
122349         (WebCore::LegacyHTMLTreeConstructor::headCreateErrorCheck):
122350         (WebCore::LegacyHTMLTreeConstructor::bodyCreateErrorCheck):
122351         (WebCore::LegacyHTMLTreeConstructor::framesetCreateErrorCheck):
122352         (WebCore::LegacyHTMLTreeConstructor::formCreateErrorCheck):
122353         (WebCore::LegacyHTMLTreeConstructor::isindexCreateErrorCheck):
122354         (WebCore::LegacyHTMLTreeConstructor::selectCreateErrorCheck):
122355         (WebCore::LegacyHTMLTreeConstructor::ddCreateErrorCheck):
122356         (WebCore::LegacyHTMLTreeConstructor::dtCreateErrorCheck):
122357         (WebCore::LegacyHTMLTreeConstructor::rpCreateErrorCheck):
122358         (WebCore::LegacyHTMLTreeConstructor::rtCreateErrorCheck):
122359         (WebCore::LegacyHTMLTreeConstructor::nestedCreateErrorCheck):
122360         (WebCore::LegacyHTMLTreeConstructor::nestedPCloserCreateErrorCheck):
122361         (WebCore::LegacyHTMLTreeConstructor::nestedStyleCreateErrorCheck):
122362         (WebCore::LegacyHTMLTreeConstructor::tableCellCreateErrorCheck):
122363         (WebCore::LegacyHTMLTreeConstructor::tableSectionCreateErrorCheck):
122364         (WebCore::LegacyHTMLTreeConstructor::noembedCreateErrorCheck):
122365         (WebCore::LegacyHTMLTreeConstructor::noframesCreateErrorCheck):
122366         (WebCore::LegacyHTMLTreeConstructor::noscriptCreateErrorCheck):
122367         (WebCore::LegacyHTMLTreeConstructor::pCloserCreateErrorCheck):
122368         (WebCore::LegacyHTMLTreeConstructor::pCloserStrictCreateErrorCheck):
122369         (WebCore::LegacyHTMLTreeConstructor::mapCreateErrorCheck):
122370         (WebCore::mapTagToFunc):
122371         (WebCore::mapTagsToFunc):
122372         (WebCore::LegacyHTMLTreeConstructor::getNode):
122373         (WebCore::LegacyHTMLTreeConstructor::allowNestedRedundantTag):
122374         (WebCore::LegacyHTMLTreeConstructor::processCloseTag):
122375         (WebCore::LegacyHTMLTreeConstructor::isHeadingTag):
122376         (WebCore::LegacyHTMLTreeConstructor::isInline):
122377         (WebCore::LegacyHTMLTreeConstructor::isResidualStyleTag):
122378         (WebCore::LegacyHTMLTreeConstructor::isAffectedByResidualStyle):
122379         (WebCore::LegacyHTMLTreeConstructor::handleResidualStyleCloseTagAcrossBlocks):
122380         (WebCore::LegacyHTMLTreeConstructor::reopenResidualStyleTags):
122381         (WebCore::LegacyHTMLTreeConstructor::pushBlock):
122382         (WebCore::LegacyHTMLTreeConstructor::popBlock):
122383         (WebCore::LegacyHTMLTreeConstructor::popOneBlockCommon):
122384         (WebCore::LegacyHTMLTreeConstructor::popOneBlock):
122385         (WebCore::LegacyHTMLTreeConstructor::moveOneBlockToStack):
122386         (WebCore::LegacyHTMLTreeConstructor::checkIfHasPElementInScope):
122387         (WebCore::LegacyHTMLTreeConstructor::popInlineBlocks):
122388         (WebCore::LegacyHTMLTreeConstructor::freeBlock):
122389         (WebCore::LegacyHTMLTreeConstructor::createHead):
122390         (WebCore::LegacyHTMLTreeConstructor::handleIsindex):
122391         (WebCore::LegacyHTMLTreeConstructor::startBody):
122392         (WebCore::LegacyHTMLTreeConstructor::finished):
122393         (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
122394         (WebCore::shouldCreateImplicitHead):
122395         (WebCore::serializeForNumberType):
122396         (WebCore::parseToDoubleForNumberType):
122397         * html/LegacyHTMLTreeConstructor.h: Renamed from WebCore/html/HTMLParser.h.
122398         (WebCore::LegacyHTMLTreeConstructor::skipMode):
122399         (WebCore::LegacyHTMLTreeConstructor::isHandlingResidualStyleAcrossBlocks):
122400         (WebCore::LegacyHTMLTreeConstructor::setSkipMode):
122401         (WebCore::LegacyHTMLTreeConstructor::popBlock):
122402         (WebCore::LegacyHTMLTreeConstructor::hasPElementInScope):
122403         (WebCore::LegacyHTMLTreeConstructor::reportError):
122404         (WebCore::LegacyHTMLTreeConstructor::):
122405         (WebCore::shouldCreateImplicitHead):
122406         * html/StepRange.cpp:
122407         * html/ValidityState.cpp:
122408         * rendering/RenderSlider.cpp:
122409
122410 2010-06-13  Eric Seidel  <eric@webkit.org>
122411
122412         Reviewed by Darin Adler.
122413
122414         Rename m_parser, htmlParser() to m_treeConstructor, htmlTreeConstructor() in preparation for renaming HTMLParser
122415         https://bugs.webkit.org/show_bug.cgi?id=40514
122416
122417         This rename was done by hand.  I realize now I should have
122418         renamed HTMLParser to HTMLTreeConstructor before renaming HTMLTokenizer.
122419
122420         No functional changes, thus no tests.
122421
122422         * dom/DocumentParser.h:
122423         (WebCore::DocumentParser::htmlTreeConstructor):
122424         * html/HTML5DocumentParser.cpp:
122425         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
122426         (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
122427         (WebCore::HTML5DocumentParser::pumpLexer):
122428         (WebCore::HTML5DocumentParser::end):
122429         (WebCore::HTML5DocumentParser::htmlTreeConstructor):
122430         (WebCore::HTML5DocumentParser::isWaitingForScripts):
122431         (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
122432         (WebCore::HTML5DocumentParser::notifyFinished):
122433         (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
122434         * html/HTML5DocumentParser.h:
122435         * html/HTML5TreeBuilder.cpp:
122436         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
122437         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
122438         (WebCore::HTML5TreeBuilder::finished):
122439         * html/HTML5TreeBuilder.h:
122440         (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
122441         * html/HTMLDocumentParser.cpp:
122442         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
122443         (WebCore::HTMLDocumentParser::scriptHandler):
122444         (WebCore::HTMLDocumentParser::parseTag):
122445         (WebCore::HTMLDocumentParser::end):
122446         (WebCore::HTMLDocumentParser::processToken):
122447         (WebCore::HTMLDocumentParser::processDoctypeToken):
122448         * html/HTMLDocumentParser.h:
122449         (WebCore::HTMLDocumentParser::htmlTreeConstructor):
122450         * html/HTMLFormControlElement.cpp:
122451         (WebCore::HTMLFormControlElement::removedFromTree):
122452
122453 2010-06-13  Eric Seidel  <eric@webkit.org>
122454
122455         Reviewed by Darin Adler.
122456
122457         Rename tok, asHTMLTokenizer to parser, asHTMLDocumentParser
122458         https://bugs.webkit.org/show_bug.cgi?id=40513
122459
122460         Last set of Tokenizer related renames, also done via do-webcore-rename:
122461         asHTMLTokenizer => asHTMLDocumentParser
122462         tok => parser
122463
122464         No functional changes, thus no tests.
122465
122466         * dom/Document.cpp:
122467         (WebCore::Document::write):
122468         * dom/DocumentParser.h:
122469         (WebCore::DocumentParser::asHTMLDocumentParser):
122470         * html/HTMLDocumentParser.cpp:
122471         (WebCore::parseHTMLDocumentFragment):
122472         * html/HTMLDocumentParser.h:
122473         (WebCore::HTMLDocumentParser::asHTMLDocumentParser):
122474         * loader/DocumentLoader.cpp:
122475         (WebCore::DocumentLoader::isLoadingInAPISense):
122476
122477 2010-06-13  Eric Seidel  <eric@webkit.org>
122478
122479         Reviewed by Darin Adler.
122480
122481         Fix the rest of the references to the old Tokenizer class (now DocumentParser)
122482         https://bugs.webkit.org/show_bug.cgi?id=40512
122483
122484         No functional changes, thus no new tests.
122485         This was mostly done by do-webcore-rename:
122486         tokenizer => parser
122487         m_tokenizer => m_parser
122488         createTextTokenizer => createTextDocumentParser
122489         createTokenizer => createParser
122490         getTokenizer => getParser
122491
122492         However had to be careful to avoid renaming things related to
122493         css/tokenizer.flex (which we should later rename to CSSTokenizer.flex)
122494
122495         Still a couple references with "tok" and "asHTMLTokenizer" which I'll
122496         get in the next patch.
122497
122498         * accessibility/AccessibilityRenderObject.cpp:
122499         (WebCore::AccessibilityRenderObject::isLoaded):
122500         * bindings/v8/ScriptEventListener.cpp:
122501         (WebCore::createAttributeEventListener):
122502         * dom/Document.cpp:
122503         (WebCore::Document::removedLastRef):
122504         (WebCore::Document::~Document):
122505         (WebCore::Document::createParser):
122506         (WebCore::Document::open):
122507         (WebCore::Document::cancelParsing):
122508         (WebCore::Document::implicitOpen):
122509         (WebCore::Document::implicitClose):
122510         (WebCore::Document::write):
122511         (WebCore::Document::finishParsing):
122512         (WebCore::Document::removePendingSheet):
122513         * dom/Document.h:
122514         (WebCore::Document::parser):
122515         * dom/DocumentParser.h:
122516         * dom/ViewportArguments.cpp:
122517         (WebCore::reportViewportWarning):
122518         * dom/XMLDocumentParserLibxml2.cpp:
122519         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
122520         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
122521         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
122522         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
122523         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
122524         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
122525         (WebCore::PendingCallbacks::PendingCommentCallback::call):
122526         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
122527         (WebCore::PendingCallbacks::):
122528         (WebCore::getParser):
122529         (WebCore::startElementNsHandler):
122530         (WebCore::endElementNsHandler):
122531         (WebCore::charactersHandler):
122532         (WebCore::processingInstructionHandler):
122533         (WebCore::cdataBlockHandler):
122534         (WebCore::commentHandler):
122535         (WebCore::warningHandler):
122536         (WebCore::fatalErrorHandler):
122537         (WebCore::normalErrorHandler):
122538         (WebCore::getEntityHandler):
122539         (WebCore::startDocumentHandler):
122540         (WebCore::endDocumentHandler):
122541         (WebCore::internalSubsetHandler):
122542         (WebCore::externalSubsetHandler):
122543         (WebCore::parseXMLDocumentFragment):
122544         * dom/XMLDocumentParserQt.cpp:
122545         (WebCore::parseXMLDocumentFragment):
122546         * html/HTML5EntityParser.cpp:
122547         * html/HTMLDocument.cpp:
122548         (WebCore::HTMLDocument::createParser):
122549         * html/HTMLDocument.h:
122550         * html/HTMLDocumentParser.cpp:
122551         (WebCore::HTMLDocumentParser::write):
122552         (WebCore::HTMLDocumentParser::stopParsing):
122553         * html/HTMLFormControlElement.cpp:
122554         (WebCore::HTMLFormControlElement::removedFromTree):
122555         * html/HTMLParser.cpp:
122556         (WebCore::HTMLParser::finished):
122557         (WebCore::HTMLParser::reportErrorToConsole):
122558         * html/HTMLViewSourceDocument.cpp:
122559         (WebCore::HTMLViewSourceDocument::createParser):
122560         (WebCore::HTMLViewSourceDocument::addLine):
122561         * html/HTMLViewSourceDocument.h:
122562         * loader/DocumentLoader.cpp:
122563         (WebCore::DocumentLoader::isLoadingInAPISense):
122564         * loader/DocumentWriter.cpp:
122565         (WebCore::DocumentWriter::begin):
122566         (WebCore::DocumentWriter::addData):
122567         * loader/FTPDirectoryDocument.cpp:
122568         (WebCore::FTPDirectoryDocument::createParser):
122569         * loader/FTPDirectoryDocument.h:
122570         * loader/FrameLoader.cpp:
122571         (WebCore::FrameLoader::stopLoading):
122572         (WebCore::FrameLoader::stop):
122573         * loader/ImageDocument.cpp:
122574         (WebCore::ImageDocument::createParser):
122575         * loader/ImageDocument.h:
122576         * loader/MediaDocument.cpp:
122577         (WebCore::MediaDocument::createParser):
122578         * loader/MediaDocument.h:
122579         * loader/PluginDocument.cpp:
122580         (WebCore::PluginDocument::createParser):
122581         * loader/PluginDocument.h:
122582         * loader/SinkDocument.cpp:
122583         (WebCore::SinkDocument::createParser):
122584         * loader/SinkDocument.h:
122585         * loader/TextDocument.cpp:
122586         (WebCore::TextDocument::createParser):
122587         (WebCore::createTextDocumentParser):
122588         * loader/TextDocument.h:
122589         * svg/SVGDocumentExtensions.cpp:
122590         (WebCore::SVGDocumentExtensions::reportWarning):
122591         (WebCore::SVGDocumentExtensions::reportError):
122592         * wml/WMLDocument.cpp:
122593         (WebCore::WMLDocument::finishedParsing):
122594         * wml/WMLErrorHandling.cpp:
122595         (WebCore::reportWMLError):
122596         * wml/WMLTemplateElement.cpp:
122597         (WebCore::WMLTemplateElement::registerTemplatesInDocument):
122598
122599 2010-06-13  Chris Fleizach  <cfleizach@apple.com>
122600
122601         Reviewed by Darin Adler.
122602
122603         AX: link won't return linked element if URL contains #
122604         https://bugs.webkit.org/show_bug.cgi?id=40192
122605
122606         Test: platform/mac/accessibility/internal-link-when-document-has-fragment.html
122607
122608         * accessibility/AccessibilityRenderObject.cpp:
122609         (WebCore::AccessibilityRenderObject::internalLinkElement):
122610
122611 2010-06-13  Sam Weinig  <sam@webkit.org>
122612
122613         Try and fix the chrome build.
122614
122615         * bindings/scripts/CodeGeneratorV8.pm:
122616         * xml/XMLHttpRequest.idl:
122617
122618 2010-06-13  Sam Weinig  <sam@webkit.org>
122619
122620         Reviewed by Anders Carlsson.
122621
122622         Fix for https://bugs.webkit.org/show_bug.cgi?id=40550
122623         XMLHttpRequest constructor object should expose the constants from the IDL.
122624
122625         Test: fast/dom/XMLHttpRequest-constants.html
122626
122627         * Android.jscbindings.mk:
122628         * CMakeLists.txt:
122629         * GNUmakefile.am:
122630         * WebCore.gypi:
122631         * WebCore.pro:
122632         * WebCore.vcproj/WebCore.vcproj:
122633         * WebCore.xcodeproj/project.pbxproj:
122634         * bindings/js/JSBindingsAllInOne.cpp:
122635         * bindings/js/JSDOMWindowCustom.cpp:
122636         * bindings/js/JSWorkerContextCustom.cpp:
122637         * bindings/js/JSXMLHttpRequestConstructor.cpp: Removed.
122638         * bindings/js/JSXMLHttpRequestConstructor.h: Removed.
122639         * bindings/js/JSXMLHttpRequestCustom.cpp:
122640         (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
122641         * bindings/scripts/CodeGeneratorJS.pm:
122642         * xml/XMLHttpRequest.idl:
122643
122644 2010-06-13  Simon Fraser  <simon.fraser@apple.com>
122645
122646         Reviewed by Dan Bernstein.
122647
122648         -webkit-transition font-size and font-family
122649         https://bugs.webkit.org/show_bug.cgi?id=33429
122650         
122651         When animating font-size, update the font with a saved
122652         version of the font selector to ensure that we don't clobber
122653         the font family.        
122654
122655         Test: transitions/font-family-during-transition.html
122656
122657         * rendering/style/RenderStyle.cpp:
122658         (WebCore::RenderStyle::setBlendedFontSize):
122659
122660 2010-06-13  Tony Chang  <tony@chromium.org>
122661
122662         Build fix, not reviewed.
122663
122664         fix chromium compile after r61094 (id attribute refactor)
122665         https://bugs.webkit.org/show_bug.cgi?id=40553
122666
122667         * bindings/v8/custom/V8NamedNodesCollection.cpp:
122668         (WebCore::V8NamedNodesCollection::itemWithName):
122669
122670 2010-06-13  Darin Adler  <darin@apple.com>
122671
122672         Reviewed by Alexey Proskuryakov.
122673
122674         Partly done support for alternate ID attributes should be removed
122675         https://bugs.webkit.org/show_bug.cgi?id=39692
122676
122677         Removed the include of "HTMLNames.h" from "Element.h". This prevents
122678         near-world-rebuilds every time you change HTMLTagNames.in.
122679
122680         Renamed the getIDAttribute function in the Element class to
122681         idForStyleResolution, since it returns a value of the id attribute
122682         that has been lowercased as appropriate for style matching, not the
122683         actual value of the attribute. With the old name it was easy to
122684         misuse it in non-style contexts.
122685
122686         Got rid of the idAttributeName function on Element, since it is
122687         easy to use it wrong. Replace it with isIdAttributeName, getIdAttribute,
122688         and setIdAttribute functions, which are a good fit for the needs of
122689         most call sites that were dealing with the id attribute.
122690
122691         Added an idAttributeName function to Document. This is for a future
122692         where a document can have a custom id attribute name specified in its
122693         doctype. It's possible this will be insufficient because the same
122694         document might have XHTML or SVG elements in it, and it's possible
122695         that on those elements we will want the attribute named "id" with
122696         no namespace to still work. We can deal with that when we implement
122697         the actual feature, though. For now, it seems OK to fetch the name
122698         of the id attribute from the document.
122699
122700         * dom/DynamicNodeList.cpp:
122701         (WebCore::DynamicNodeList::itemWithName):
122702         * dom/StaticNodeList.cpp:
122703         (WebCore::StaticNodeList::itemWithName):
122704         * rendering/RenderSVGResourceContainer.h:
122705         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
122706         (WebCore::RenderSVGResourceContainer::idChanged):
122707         * svg/SVGUseElement.cpp:
122708         (WebCore::SVGUseElement::handleDeepUseReferencing):
122709         * svg/animation/SMILTimeContainer.cpp:
122710         (WebCore::SMILTimeContainer::updateAnimations):
122711         Use the new idForStyleResolution function, which is the new name of
122712         the getIDAttribute function. There's a good chance these call sites are
122713         incorrect, which is something we should investigate later, so there's
122714         a FIXME at each call site.
122715
122716         * dom/Document.cpp:
122717         (WebCore::Document::Document): Initialize m_idAttributeName to the
122718         standard id attribute from HTML.
122719         (WebCore::Document::getElementById): Use Element::getIdAttribute.
122720         * dom/Document.h: Added Document::idAttributeName.
122721
122722         * dom/Element.cpp:
122723         (WebCore::Element::setAttribute): Use Document::idAttributeName.
122724         (WebCore::Element::setAttributeMap): Use Element::isIdAttributeName.
122725         (WebCore::Element::insertedIntoDocument): Use Document::idAttributeName.
122726         (WebCore::Element::removedFromDocument): Ditto.
122727         (WebCore::Element::formatForDebugger): Use Element::getIdAttribute.
122728         * dom/Element.h: Added isIdAttributeName, getIdAttribute, setIdAttribute,
122729         idForStyleResolution. Removed rareIDAttributeName.
122730
122731         * dom/ElementRareData.h: Removed m_idAttributeName.
122732
122733         * dom/NamedNodeMap.cpp:
122734         (WebCore::NamedNodeMap::setAttributes): Use Document::idAttributeName.
122735         * dom/NamedNodeMap.h: Renamed id, setID, and m_id to idForStyleResolution,
122736         setIdForStyleResolution, and m_idForStyleResolution since this is not the
122737         value of the id attribute because it gets lowercased for compatibility-mode
122738         documents.
122739
122740         * rendering/RenderIFrame.cpp:
122741         * rendering/RenderLayerCompositor.cpp:
122742         * rendering/RenderProgress.cpp:
122743         Added include of HTMLNames.h now that Element.h no longer includes it.
122744
122745         * editing/SetNodeAttributeCommand.h:
122746         * editing/markup.cpp:
122747         * html/HTMLParser.cpp:
122748         Removed unneeded includes.
122749
122750         * html/HTMLParser.h: Sorted includes.
122751
122752         * css/CSSStyleSelector.cpp:
122753         (WebCore::CSSStyleSelector::matchRules): Use idForStyleResolution.
122754         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Use idForStyleResolution.
122755         * dom/Attr.cpp:
122756         (WebCore::Attr::isId): Use Document::idAttributeName.
122757         * dom/StyledElement.cpp:
122758         (WebCore::StyledElement::parseMappedAttribute): Use isIdAttributeName,
122759         and setIdForStyleResolution.
122760         * editing/DeleteButtonController.cpp:
122761         (WebCore::DeleteButtonController::createDeletionUI): Use setIdAttribute.
122762         * editing/EditorCommand.cpp:
122763         (WebCore::executeInsertHorizontalRule): Ditto.
122764         * html/HTMLAppletElement.cpp:
122765         (WebCore::HTMLAppletElement::parseMappedAttribute): Use isIdAttributeName.
122766         (WebCore::HTMLAppletElement::createRenderer): Use getIdAttribute.
122767         * html/HTMLCollection.cpp:
122768         (WebCore::HTMLCollection::checkForNameMatch): Use getIdAttribute.
122769         (WebCore::HTMLCollection::updateNameCache): Use getIdAttribute.
122770         * html/HTMLDataGridColElement.cpp:
122771         (WebCore::HTMLDataGridColElement::ensureColumn): Use getIdAttribute.
122772         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Use isIdAttributeName.
122773         * html/HTMLElement.cpp:
122774         (WebCore::HTMLElement::parseMappedAttribute): Use isIdAttributeName.
122775         * html/HTMLFormCollection.cpp:
122776         (WebCore::HTMLFormCollection::nextNamedItem): Added missing braces.
122777         (WebCore::HTMLFormCollection::updateNameCache): Use getIdAttribute.
122778         * html/HTMLFrameElementBase.cpp:
122779         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Use isIdAttributeName.
122780         (WebCore::HTMLFrameElementBase::setName): Use getIdAttribute.
122781         * html/HTMLImageElement.cpp:
122782         (WebCore::HTMLImageElement::parseMappedAttribute): Use isIdAttributeName.
122783         * html/HTMLMapElement.cpp:
122784         (WebCore::HTMLMapElement::parseMappedAttribute): Use isIdAttributeName.
122785         Also restructured the function a bit to make its structure clearer and added
122786         a comment pointing out that it can't be quite right.
122787         * html/HTMLNameCollection.cpp:
122788         (WebCore::HTMLNameCollection::itemAfter): Use getIdAttribute.
122789         * html/HTMLObjectElement.cpp:
122790         (WebCore::HTMLObjectElement::parseMappedAttribute): Use isIdAttributeName.
122791         * html/HTMLParamElement.cpp:
122792         (WebCore::HTMLParamElement::parseMappedAttribute): Use isIdAttributeName.
122793         * loader/CachedFont.cpp:
122794         (WebCore::CachedFont::getSVGFontById): Use getIdAttribute.
122795         * rendering/RenderLayerBacking.cpp:
122796         (WebCore::RenderLayerBacking::nameForLayer): Use getIdAttribute.
122797         * rendering/SVGRenderTreeAsText.cpp:
122798         (WebCore::writeSVGPaintingResource): Use getIdAttribute.
122799         (WebCore::writeSVGResourceContainer): Ditto.
122800         * svg/SVGElement.cpp:
122801         (WebCore::SVGElement::insertedIntoDocument): Use getIdAttribute.
122802         * svg/SVGStyledElement.cpp:
122803         (WebCore::SVGStyledElement::isKnownAttribute): Use isIdAttributeName.
122804         (WebCore::SVGStyledElement::svgAttributeChanged): Use isIdAttributeName.
122805         * wml/WMLElement.cpp:
122806         (WebCore::WMLElement::parseMappedAttribute): Use isIdAttributeName.
122807
122808 2010-06-13  Dan Bernstein  <mitz@apple.com>
122809
122810         Reviewed by Darin Adler.
122811
122812         <rdar://problem/8087385> REGRESSION (r60974): Continuous wheel scrolling is too fast in list boxes and in Safari Reader
122813         https://bugs.webkit.org/show_bug.cgi?id=40537
122814
122815         * platform/mac/WheelEventMac.mm:
122816         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Only multiply by pixelsPerLineStep() if the
122817         event is not continuous, as was before r56012.
122818
122819 2010-06-13  Andras Becsi  <abecsi@webkit.org>
122820
122821         Reviewed by Darin Adler.
122822
122823         Centralize the gperf code generation commands into make-hash-tools.pl
122824         to avoid redundancy across multiple build systems.
122825         Do this in preparation of refactoring the usage of these generated
122826         sources to fix the debug linking error on Linux with gcc >= 4.4.0.
122827
122828         webkit.org/b/29244
122829
122830         No functionality change, so no new tests needed.
122831
122832         * DerivedSources.make:
122833         * GNUmakefile.am:
122834         * WebCore.gyp/WebCore.gyp:
122835         * WebCore.gyp/scripts/rule_gperf.py: Removed.
122836         * WebCore.pri:
122837         * WebCore.xcodeproj/project.pbxproj:
122838         * css/CSSParser.cpp:
122839         (WebCore::cssPropertyID):
122840         (WebCore::cssValueKeywordID):
122841         * css/makeprop.pl:
122842         * css/makevalues.pl:
122843         * html/DocTypeStrings.gperf:
122844         * html/HTML5EntityParser.cpp:
122845         * html/HTMLDocumentParser.cpp:
122846         * html/HTMLEntityNames.gperf:
122847         * html/PreloadScanner.cpp:
122848         * make-hash-tools.pl: Added.
122849         * platform/ColorData.gperf:
122850         * platform/graphics/Color.cpp:
122851
122852 2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
122853
122854         Reviewed by Kenneth Rohde Christiansen.
122855
122856         [Qt] tests/hybridPixmap fails
122857         https://bugs.webkit.org/show_bug.cgi?id=37316
122858
122859         The problem was that JSC::Instance::createRuntimeObject was never called.
122860         This is fixed by overloading newRuntimeObject and calling Instance::createRuntimeObject
122861         in between, instead of creating the runtime object directly inside the static function
122862         QtPixmapInstance::createRuntimeObject, which had to be renamed as to not overshadow the virtual function.
122863
122864         This fixes an existing test, tests/hybridPixmap
122865
122866         * bridge/qt/qt_pixmapruntime.cpp:
122867         (JSC::Bindings::QtPixmapInstance::newRuntimeObject):
122868         (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
122869         * bridge/qt/qt_pixmapruntime.h:
122870         * bridge/qt/qt_runtime.cpp:
122871         (JSC::Bindings::convertQVariantToValue):
122872
122873 2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
122874
122875         Reviewed by Darin Adler.
122876
122877         GraphicsContext3D.h in the Qt port includes too many unnecessary files
122878         https://bugs.webkit.org/show_bug.cgi?id=40536
122879
122880         Removed unncessary includes.
122881
122882         No new tests; Compilation improvement.
122883
122884         * platform/graphics/GraphicsContext3D.h:
122885         * platform/graphics/qt/GraphicsContext3DQt.cpp:
122886
122887 2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
122888
122889         Reviewed by Eric Seidel.
122890
122891         [Qt] GraphicsLayer: recaching images creates an unnecessary deep copy
122892         https://bugs.webkit.org/show_bug.cgi?id=40535
122893
122894         Made sure the painter ends its operation before copying the pixmap.
122895
122896         No new tests: this is an optimization.
122897
122898         * platform/graphics/qt/GraphicsLayerQt.cpp:
122899         (WebCore::GraphicsLayerQtImpl::recache):
122900
122901 2010-06-13  Clemmitt Sigler  <cmsigler@gmail.com>
122902
122903         Reviewed by Eric Seidel.
122904
122905         Patch to fix missing references to RenderMathMLRoot,
122906         RenderMathMLSquareRoot when building GtkLauncher.
122907         https://bugs.webkit.org/show_bug.cgi?id=40326
122908
122909         No change in functionality so no new tests.
122910
122911         * GNUmakefile.am:
122912
122913 2010-06-12  Brian Weinstein  <bweinstein@apple.com>
122914
122915         Reviewed by Dan Bernstein.
122916         
122917         https://bugs.webkit.org/show_bug.cgi?id=40538
122918         
122919         Some machines have started to see the return of the dreaded: WebCore.lib : fatal error LNK1106: invalid 
122920         file or disk full. Since we don't have the hotfix for VS2005, work around this in the meantime
122921         by creating an EditingAllInOne file, that includes all of the cpp files in the editing subdirectory.
122922         
122923         * WebCore.vcproj/WebCore.vcproj: Prevnt the editing cpp from building, so we only compile EditingAllInOne.
122924         * editing/EditingAllInOne.cpp: Added. Includes all of the editing cpp files.
122925
122926 2010-06-12  Sheriff Bot  <webkit.review.bot@gmail.com>
122927
122928         Unreviewed, rolling out r61031.
122929         http://trac.webkit.org/changeset/61031
122930         https://bugs.webkit.org/show_bug.cgi?id=40539
122931
122932         Crashes Dromaeo jslib test in Release Chromium (Requested by
122933         dimich_ on #webkit).
122934
122935         * bindings/v8/V8Binding.cpp:
122936         (WebCore::v8ExternalString):
122937         * bindings/v8/V8Binding.h:
122938
122939 2010-06-12  Eric Seidel  <eric@webkit.org>
122940
122941         Reviewed by Adam Barth.
122942
122943         Rename the last few *Tokenizer classes (which don't have their own files) to *DocumentParser
122944         https://bugs.webkit.org/show_bug.cgi?id=40508
122945
122946         This was a very simple do-webcore-rename-generated patch.
122947
122948         PluginTokenizer => PluginDocumentParser
122949         TextTokenizer => TextDocumentParser
122950         SinkTokenizer => SinkDocumentParser
122951         MediaTokenizer => MediaDocumentParser
122952         FTPDirectoryTokenizer => FTPDirectoryDocumentParser
122953
122954         No functional changes, thus no tests.
122955
122956         * html/HTMLViewSourceDocument.cpp:
122957         (WebCore::HTMLViewSourceDocument::createTokenizer):
122958         * html/HTMLViewSourceDocument.h:
122959         * loader/FTPDirectoryDocument.cpp:
122960         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
122961         (WebCore::FTPDirectoryDocumentParser::appendEntry):
122962         (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
122963         (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
122964         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
122965         (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
122966         (WebCore::FTPDirectoryDocumentParser::write):
122967         (WebCore::FTPDirectoryDocumentParser::finish):
122968         (WebCore::FTPDirectoryDocument::createTokenizer):
122969         * loader/MediaDocument.cpp:
122970         (WebCore::MediaDocumentParser::MediaDocumentParser):
122971         (WebCore::MediaDocumentParser::write):
122972         (WebCore::MediaDocumentParser::createDocumentStructure):
122973         (WebCore::MediaDocumentParser::writeRawData):
122974         (WebCore::MediaDocumentParser::finish):
122975         (WebCore::MediaDocumentParser::isWaitingForScripts):
122976         (WebCore::MediaDocument::createTokenizer):
122977         * loader/PluginDocument.cpp:
122978         (WebCore::PluginDocumentParser::PluginDocumentParser):
122979         (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
122980         (WebCore::PluginDocumentParser::write):
122981         (WebCore::PluginDocumentParser::createDocumentStructure):
122982         (WebCore::PluginDocumentParser::writeRawData):
122983         (WebCore::PluginDocumentParser::finish):
122984         (WebCore::PluginDocumentParser::isWaitingForScripts):
122985         (WebCore::PluginDocument::createTokenizer):
122986         (WebCore::PluginDocument::pluginWidget):
122987         * loader/SinkDocument.cpp:
122988         (WebCore::SinkDocumentParser::SinkDocumentParser):
122989         (WebCore::SinkDocumentParser::finish):
122990         (WebCore::SinkDocument::createTokenizer):
122991         * loader/TextDocument.cpp:
122992         (WebCore::TextDocumentParser::TextDocumentParser):
122993         (WebCore::TextDocumentParser::~TextDocumentParser):
122994         (WebCore::TextDocumentParser::write):
122995         (WebCore::TextDocumentParser::finish):
122996         (WebCore::TextDocumentParser::isWaitingForScripts):
122997         (WebCore::TextDocument::createTokenizer):
122998         (WebCore::createTextTokenizer):
122999
123000 2010-06-12  Anders Bakken  <agbakken@gmail.com>
123001
123002         Reviewed by Eric Seidel.
123003
123004         [Qt] EventHandlerQt.cpp has coding-style errors
123005         https://bugs.webkit.org/show_bug.cgi?id=40259
123006
123007         Coding style change only.
123008
123009         * page/qt/EventHandlerQt.cpp:
123010         (WebCore::EventHandler::eventActivatedView):
123011
123012 2010-06-12  Kwang Yul Seo  <skyul@company100.net>
123013
123014         Reviewed by Darin Adler.
123015
123016         Unify fileSystemRepresentation and filenameFromString
123017         https://bugs.webkit.org/show_bug.cgi?id=40201
123018
123019         Remove filenameFromString and use fileSystemRepresentation instead
123020         as they do the same job.
123021
123022         * platform/FileSystem.cpp: Removed.
123023         * platform/FileSystem.h:
123024         * platform/efl/FileSystemEfl.cpp:
123025         (WebCore::fileSystemRepresentation):
123026         * platform/gtk/FileChooserGtk.cpp:
123027         (WebCore::FileChooser::basenameForWidth):
123028         * platform/gtk/FileSystemGtk.cpp:
123029         (WebCore::fileSystemRepresentation):
123030         (WebCore::filenameForDisplay):
123031         (WebCore::fileExists):
123032         (WebCore::deleteFile):
123033         (WebCore::deleteEmptyDirectory):
123034         (WebCore::getFileSize):
123035         (WebCore::getFileModificationTime):
123036         (WebCore::makeAllDirectories):
123037         (WebCore::pathGetFileName):
123038         (WebCore::directoryName):
123039         (WebCore::listDirectory):
123040         * platform/gtk/SharedBufferGtk.cpp:
123041         (WebCore::SharedBuffer::createWithContentsOfFile):
123042         * platform/network/soup/ResourceHandleSoup.cpp:
123043         (WebCore::startHttp):
123044         * platform/posix/SharedBufferPOSIX.cpp:
123045         (WebCore::SharedBuffer::createWithContentsOfFile):
123046
123047 2010-06-12  Patrick Gansterer  <paroga@paroga.com>
123048
123049         Reviewed by Eric Seidel.
123050
123051         [Haiku] Cleanup SharedBuffer::createWithContentsOfFile
123052         https://bugs.webkit.org/show_bug.cgi?id=39003
123053
123054         * platform/haiku/SharedBufferHaiku.cpp:
123055         (WebCore::SharedBuffer::createWithContentsOfFile):
123056
123057 2010-06-12  Anders Bakken  <agbakken@gmail.com>
123058
123059         Reviewed by Eric Seidel.
123060
123061         [Qt] WheelEventQt.cpp has coding-style errors
123062         https://bugs.webkit.org/show_bug.cgi?id=39760
123063
123064         * platform/qt/WheelEventQt.cpp:
123065         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
123066
123067 2010-06-12  Kwang Yul Seo  <skyul@company100.net>
123068
123069         Reviewed by Kent Tamura.
123070
123071         [BREWMP] Don't include POSIX headers in WebCorePrefix.h
123072         https://bugs.webkit.org/show_bug.cgi?id=39411
123073
123074         When building for BREW MP, don't include POSIX headers:
123075         <fcntl.h>, <pthread.h> and <sys/types.h>.
123076
123077         * WebCorePrefix.h:
123078
123079 2010-06-11  Eric Seidel  <eric@webkit.org>
123080
123081         Reviewed by Adam Barth.
123082
123083         Rename the rest of the *Tokenizer classes to *DocumentParser
123084         https://bugs.webkit.org/show_bug.cgi?id=40507
123085
123086         This search/replace was done by do-webcore-rename.
123087         Just looking for a rubber stamp.
123088         
123089         XMLTokenizer => XMLDocumentParser
123090         XMLTokenizerLibxml2 => XMLDocumentParserLibxml2
123091         XMLTokenizerQt => XMLDocumentParserQt
123092         XMLTokenizerScope => XMLDocumentParserScope
123093         HTML5Tokenizer => HTML5DocumentParser
123094         HTMLTokenizer => HTMLDocumentParser
123095
123096         No functional change, thus no tests.
123097
123098         * Android.mk:
123099         * CMakeLists.txt:
123100         * GNUmakefile.am:
123101         * WebCore.gypi:
123102         * WebCore.pro:
123103         * WebCore.vcproj/WebCore.vcproj:
123104         * WebCore.xcodeproj/project.pbxproj:
123105         * css/CSSStyleSheet.cpp:
123106         (WebCore::CSSStyleSheet::checkLoaded):
123107         * dom/Document.cpp:
123108         (WebCore::Document::createTokenizer):
123109         (WebCore::Document::write):
123110         * dom/Document.h:
123111         (WebCore::Document::setXMLEncoding):
123112         * dom/DocumentParser.h:
123113         (WebCore::DocumentParser::asHTMLTokenizer):
123114         * dom/Element.cpp:
123115         * dom/ProcessingInstruction.cpp:
123116         * dom/XMLDocumentParser.cpp: Added.
123117         (WebCore::XMLDocumentParser::isWMLDocument):
123118         (WebCore::XMLDocumentParser::pushCurrentNode):
123119         (WebCore::XMLDocumentParser::popCurrentNode):
123120         (WebCore::XMLDocumentParser::clearCurrentNodeStack):
123121         (WebCore::XMLDocumentParser::write):
123122         (WebCore::XMLDocumentParser::handleError):
123123         (WebCore::XMLDocumentParser::enterText):
123124         (WebCore::toString):
123125         (WebCore::XMLDocumentParser::exitText):
123126         (WebCore::XMLDocumentParser::end):
123127         (WebCore::XMLDocumentParser::finish):
123128         (WebCore::createXHTMLParserErrorHeader):
123129         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
123130         (WebCore::XMLDocumentParser::notifyFinished):
123131         (WebCore::XMLDocumentParser::isWaitingForScripts):
123132         (WebCore::XMLDocumentParser::pauseParsing):
123133         * dom/XMLDocumentParser.h: Added.
123134         (WebCore::XMLParserContext::context):
123135         (WebCore::XMLParserContext::XMLParserContext):
123136         (WebCore::XMLDocumentParser::):
123137         (WebCore::XMLDocumentParser::setIsXHTMLDocument):
123138         (WebCore::XMLDocumentParser::isXHTMLDocument):
123139         (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
123140         (WebCore::XMLDocumentParser::isXHTMLMPDocument):
123141         (WebCore::XMLDocumentParser::wellFormed):
123142         (WebCore::XMLDocumentParser::context):
123143         * dom/XMLDocumentParserLibxml2.cpp: Added.
123144         (WebCore::PendingCallbacks::~PendingCallbacks):
123145         (WebCore::PendingCallbacks::appendStartElementNSCallback):
123146         (WebCore::PendingCallbacks::appendEndElementNSCallback):
123147         (WebCore::PendingCallbacks::appendCharactersCallback):
123148         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
123149         (WebCore::PendingCallbacks::appendCDATABlockCallback):
123150         (WebCore::PendingCallbacks::appendCommentCallback):
123151         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
123152         (WebCore::PendingCallbacks::appendErrorCallback):
123153         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
123154         (WebCore::PendingCallbacks::isEmpty):
123155         (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
123156         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
123157         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
123158         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
123159         (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
123160         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
123161         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
123162         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
123163         (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
123164         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
123165         (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
123166         (WebCore::PendingCallbacks::PendingCommentCallback::call):
123167         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
123168         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
123169         (WebCore::PendingCallbacks::):
123170         (WebCore::matchFunc):
123171         (WebCore::OffsetBuffer::OffsetBuffer):
123172         (WebCore::OffsetBuffer::readOutBytes):
123173         (WebCore::shouldAllowExternalLoad):
123174         (WebCore::openFunc):
123175         (WebCore::readFunc):
123176         (WebCore::writeFunc):
123177         (WebCore::closeFunc):
123178         (WebCore::errorFunc):
123179         (WebCore::XMLParserContext::createStringParser):
123180         (WebCore::XMLParserContext::createMemoryParser):
123181         (WebCore::XMLDocumentParser::XMLDocumentParser):
123182         (WebCore::XMLParserContext::~XMLParserContext):
123183         (WebCore::XMLDocumentParser::~XMLDocumentParser):
123184         (WebCore::XMLDocumentParser::doWrite):
123185         (WebCore::toString):
123186         (WebCore::handleElementNamespaces):
123187         (WebCore::handleElementAttributes):
123188         (WebCore::XMLDocumentParser::startElementNs):
123189         (WebCore::XMLDocumentParser::endElementNs):
123190         (WebCore::XMLDocumentParser::characters):
123191         (WebCore::XMLDocumentParser::error):
123192         (WebCore::XMLDocumentParser::processingInstruction):
123193         (WebCore::XMLDocumentParser::cdataBlock):
123194         (WebCore::XMLDocumentParser::comment):
123195         (WebCore::XMLDocumentParser::startDocument):
123196         (WebCore::XMLDocumentParser::endDocument):
123197         (WebCore::XMLDocumentParser::internalSubset):
123198         (WebCore::getTokenizer):
123199         (WebCore::hackAroundLibXMLEntityBug):
123200         (WebCore::startElementNsHandler):
123201         (WebCore::endElementNsHandler):
123202         (WebCore::charactersHandler):
123203         (WebCore::processingInstructionHandler):
123204         (WebCore::cdataBlockHandler):
123205         (WebCore::commentHandler):
123206         (WebCore::warningHandler):
123207         (WebCore::fatalErrorHandler):
123208         (WebCore::normalErrorHandler):
123209         (WebCore::):
123210         (WebCore::sharedXHTMLEntity):
123211         (WebCore::getXHTMLEntity):
123212         (WebCore::getEntityHandler):
123213         (WebCore::startDocumentHandler):
123214         (WebCore::endDocumentHandler):
123215         (WebCore::internalSubsetHandler):
123216         (WebCore::externalSubsetHandler):
123217         (WebCore::ignorableWhitespaceHandler):
123218         (WebCore::XMLDocumentParser::initializeParserContext):
123219         (WebCore::XMLDocumentParser::doEnd):
123220         (WebCore::xmlDocPtrForString):
123221         (WebCore::XMLDocumentParser::lineNumber):
123222         (WebCore::XMLDocumentParser::columnNumber):
123223         (WebCore::XMLDocumentParser::stopParsing):
123224         (WebCore::XMLDocumentParser::resumeParsing):
123225         (WebCore::parseXMLDocumentFragment):
123226         (WebCore::attributesStartElementNsHandler):
123227         (WebCore::parseAttributes):
123228         * dom/XMLDocumentParserQt.cpp: Added.
123229         (WebCore::EntityResolver::resolveUndeclaredEntity):
123230         (WebCore::XMLDocumentParser::XMLDocumentParser):
123231         (WebCore::XMLDocumentParser::~XMLDocumentParser):
123232         (WebCore::XMLDocumentParser::doWrite):
123233         (WebCore::XMLDocumentParser::initializeParserContext):
123234         (WebCore::XMLDocumentParser::doEnd):
123235         (WebCore::XMLDocumentParser::lineNumber):
123236         (WebCore::XMLDocumentParser::columnNumber):
123237         (WebCore::XMLDocumentParser::stopParsing):
123238         (WebCore::XMLDocumentParser::resumeParsing):
123239         (WebCore::parseXMLDocumentFragment):
123240         (WebCore::attributesStartElementNsHandler):
123241         (WebCore::parseAttributes):
123242         (WebCore::prefixFromQName):
123243         (WebCore::handleElementNamespaces):
123244         (WebCore::handleElementAttributes):
123245         (WebCore::XMLDocumentParser::parse):
123246         (WebCore::XMLDocumentParser::startDocument):
123247         (WebCore::XMLDocumentParser::parseStartElement):
123248         (WebCore::XMLDocumentParser::parseEndElement):
123249         (WebCore::XMLDocumentParser::parseCharacters):
123250         (WebCore::XMLDocumentParser::parseProcessingInstruction):
123251         (WebCore::XMLDocumentParser::parseCdata):
123252         (WebCore::XMLDocumentParser::parseComment):
123253         (WebCore::XMLDocumentParser::endDocument):
123254         (WebCore::XMLDocumentParser::hasError):
123255         (WebCore::XMLDocumentParser::parseDtd):
123256         * dom/XMLDocumentParserScope.cpp: Added.
123257         (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
123258         (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
123259         * dom/XMLDocumentParserScope.h: Added.
123260         * dom/XMLTokenizer.cpp: Removed.
123261         * dom/XMLTokenizer.h: Removed.
123262         * dom/XMLTokenizerLibxml2.cpp: Removed.
123263         * dom/XMLTokenizerQt.cpp: Removed.
123264         * dom/XMLTokenizerScope.cpp: Removed.
123265         * dom/XMLTokenizerScope.h: Removed.
123266         * html/HTML5DocumentParser.cpp: Added.
123267         (WebCore::):
123268         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
123269         (WebCore::HTML5DocumentParser::~HTML5DocumentParser):
123270         (WebCore::HTML5DocumentParser::begin):
123271         (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
123272         (WebCore::HTML5DocumentParser::pumpLexer):
123273         (WebCore::HTML5DocumentParser::write):
123274         (WebCore::HTML5DocumentParser::end):
123275         (WebCore::HTML5DocumentParser::attemptToEnd):
123276         (WebCore::HTML5DocumentParser::endIfDelayed):
123277         (WebCore::HTML5DocumentParser::finish):
123278         (WebCore::HTML5DocumentParser::executingScript):
123279         (WebCore::HTML5DocumentParser::lineNumber):
123280         (WebCore::HTML5DocumentParser::columnNumber):
123281         (WebCore::HTML5DocumentParser::htmlParser):
123282         (WebCore::HTML5DocumentParser::isWaitingForScripts):
123283         (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
123284         (WebCore::HTML5DocumentParser::watchForLoad):
123285         (WebCore::HTML5DocumentParser::stopWatchingForLoad):
123286         (WebCore::HTML5DocumentParser::shouldLoadExternalScriptFromSrc):
123287         (WebCore::HTML5DocumentParser::executeScript):
123288         (WebCore::HTML5DocumentParser::notifyFinished):
123289         (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
123290         (WebCore::HTML5DocumentParser::script):
123291         * html/HTML5DocumentParser.h: Added.
123292         (WebCore::HTML5DocumentParser::InputStream::InputStream):
123293         (WebCore::HTML5DocumentParser::InputStream::appendToEnd):
123294         (WebCore::HTML5DocumentParser::InputStream::insertAtCurrentInsertionPoint):
123295         (WebCore::HTML5DocumentParser::InputStream::close):
123296         (WebCore::HTML5DocumentParser::InputStream::current):
123297         (WebCore::HTML5DocumentParser::InputStream::splitInto):
123298         (WebCore::HTML5DocumentParser::InputStream::mergeFrom):
123299         (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord):
123300         (WebCore::HTML5DocumentParser::InsertionPointRecord::~InsertionPointRecord):
123301         (WebCore::HTML5DocumentParser::inWrite):
123302         * html/HTML5Lexer.h:
123303         (WebCore::HTML5Lexer::columnNumber):
123304         * html/HTML5Tokenizer.cpp: Removed.
123305         * html/HTML5Tokenizer.h: Removed.
123306         * html/HTML5TreeBuilder.cpp:
123307         * html/HTMLDocument.cpp:
123308         (WebCore::HTMLDocument::createTokenizer):
123309         * html/HTMLDocumentParser.cpp: Added.
123310         (WebCore::):
123311         (WebCore::fixUpChar):
123312         (WebCore::tagMatch):
123313         (WebCore::Token::addAttribute):
123314         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
123315         (WebCore::HTMLDocumentParser::reset):
123316         (WebCore::HTMLDocumentParser::begin):
123317         (WebCore::HTMLDocumentParser::setForceSynchronous):
123318         (WebCore::HTMLDocumentParser::processListing):
123319         (WebCore::HTMLDocumentParser::parseNonHTMLText):
123320         (WebCore::HTMLDocumentParser::scriptHandler):
123321         (WebCore::HTMLDocumentParser::scriptExecution):
123322         (WebCore::HTMLDocumentParser::parseComment):
123323         (WebCore::HTMLDocumentParser::parseServer):
123324         (WebCore::HTMLDocumentParser::parseProcessingInstruction):
123325         (WebCore::HTMLDocumentParser::parseText):
123326         (WebCore::HTMLDocumentParser::parseEntity):
123327         (WebCore::HTMLDocumentParser::parseDoctype):
123328         (WebCore::HTMLDocumentParser::parseTag):
123329         (WebCore::HTMLDocumentParser::continueProcessing):
123330         (WebCore::HTMLDocumentParser::advance):
123331         (WebCore::HTMLDocumentParser::willWriteHTML):
123332         (WebCore::HTMLDocumentParser::didWriteHTML):
123333         (WebCore::HTMLDocumentParser::write):
123334         (WebCore::HTMLDocumentParser::stopParsing):
123335         (WebCore::HTMLDocumentParser::processingData):
123336         (WebCore::HTMLDocumentParser::timerFired):
123337         (WebCore::HTMLDocumentParser::end):
123338         (WebCore::HTMLDocumentParser::finish):
123339         (WebCore::HTMLDocumentParser::processToken):
123340         (WebCore::HTMLDocumentParser::processDoctypeToken):
123341         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
123342         (WebCore::HTMLDocumentParser::enlargeBuffer):
123343         (WebCore::HTMLDocumentParser::enlargeScriptBuffer):
123344         (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
123345         (WebCore::HTMLDocumentParser::notifyFinished):
123346         (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
123347         (WebCore::HTMLDocumentParser::executeExternalScriptsTimerFired):
123348         (WebCore::HTMLDocumentParser::continueExecutingExternalScripts):
123349         (WebCore::HTMLDocumentParser::isWaitingForScripts):
123350         (WebCore::HTMLDocumentParser::setSrc):
123351         (WebCore::parseHTMLDocumentFragment):
123352         (WebCore::decodeNamedEntity):
123353         * html/HTMLDocumentParser.h: Added.
123354         (WebCore::Token::Token):
123355         (WebCore::Token::~Token):
123356         (WebCore::Token::isOpenTag):
123357         (WebCore::Token::isCloseTag):
123358         (WebCore::Token::reset):
123359         (WebCore::Token::addViewSourceChar):
123360         (WebCore::):
123361         (WebCore::DoctypeToken::DoctypeToken):
123362         (WebCore::DoctypeToken::reset):
123363         (WebCore::DoctypeToken::state):
123364         (WebCore::DoctypeToken::setState):
123365         (WebCore::HTMLDocumentParser::forceSynchronous):
123366         (WebCore::HTMLDocumentParser::executingScript):
123367         (WebCore::HTMLDocumentParser::lineNumber):
123368         (WebCore::HTMLDocumentParser::columnNumber):
123369         (WebCore::HTMLDocumentParser::processingContentWrittenByScript):
123370         (WebCore::HTMLDocumentParser::htmlParser):
123371         (WebCore::HTMLDocumentParser::asHTMLTokenizer):
123372         (WebCore::HTMLDocumentParser::checkBuffer):
123373         (WebCore::HTMLDocumentParser::checkScriptBuffer):
123374         (WebCore::HTMLDocumentParser::):
123375         (WebCore::HTMLDocumentParser::State::State):
123376         (WebCore::HTMLDocumentParser::State::tagState):
123377         (WebCore::HTMLDocumentParser::State::setTagState):
123378         (WebCore::HTMLDocumentParser::State::entityState):
123379         (WebCore::HTMLDocumentParser::State::setEntityState):
123380         (WebCore::HTMLDocumentParser::State::inScript):
123381         (WebCore::HTMLDocumentParser::State::setInScript):
123382         (WebCore::HTMLDocumentParser::State::inStyle):
123383         (WebCore::HTMLDocumentParser::State::setInStyle):
123384         (WebCore::HTMLDocumentParser::State::inXmp):
123385         (WebCore::HTMLDocumentParser::State::setInXmp):
123386         (WebCore::HTMLDocumentParser::State::inTitle):
123387         (WebCore::HTMLDocumentParser::State::setInTitle):
123388         (WebCore::HTMLDocumentParser::State::inIFrame):
123389         (WebCore::HTMLDocumentParser::State::setInIFrame):
123390         (WebCore::HTMLDocumentParser::State::inPlainText):
123391         (WebCore::HTMLDocumentParser::State::setInPlainText):
123392         (WebCore::HTMLDocumentParser::State::inProcessingInstruction):
123393         (WebCore::HTMLDocumentParser::State::setInProcessingInstruction):
123394         (WebCore::HTMLDocumentParser::State::inComment):
123395         (WebCore::HTMLDocumentParser::State::setInComment):
123396         (WebCore::HTMLDocumentParser::State::inDoctype):
123397         (WebCore::HTMLDocumentParser::State::setInDoctype):
123398         (WebCore::HTMLDocumentParser::State::inTextArea):
123399         (WebCore::HTMLDocumentParser::State::setInTextArea):
123400         (WebCore::HTMLDocumentParser::State::escaped):
123401         (WebCore::HTMLDocumentParser::State::setEscaped):
123402         (WebCore::HTMLDocumentParser::State::inServer):
123403         (WebCore::HTMLDocumentParser::State::setInServer):
123404         (WebCore::HTMLDocumentParser::State::skipLF):
123405         (WebCore::HTMLDocumentParser::State::setSkipLF):
123406         (WebCore::HTMLDocumentParser::State::startTag):
123407         (WebCore::HTMLDocumentParser::State::setStartTag):
123408         (WebCore::HTMLDocumentParser::State::discardLF):
123409         (WebCore::HTMLDocumentParser::State::setDiscardLF):
123410         (WebCore::HTMLDocumentParser::State::allowYield):
123411         (WebCore::HTMLDocumentParser::State::setAllowYield):
123412         (WebCore::HTMLDocumentParser::State::loadingExtScript):
123413         (WebCore::HTMLDocumentParser::State::setLoadingExtScript):
123414         (WebCore::HTMLDocumentParser::State::forceSynchronous):
123415         (WebCore::HTMLDocumentParser::State::setForceSynchronous):
123416         (WebCore::HTMLDocumentParser::State::inAnyNonHTMLText):
123417         (WebCore::HTMLDocumentParser::State::hasTagState):
123418         (WebCore::HTMLDocumentParser::State::hasEntityState):
123419         (WebCore::HTMLDocumentParser::State::needsSpecialWriteHandling):
123420         (WebCore::HTMLDocumentParser::State::):
123421         (WebCore::HTMLDocumentParser::State::setBit):
123422         (WebCore::HTMLDocumentParser::State::testBit):
123423         * html/HTMLElement.cpp:
123424         * html/HTMLFormControlElement.cpp:
123425         * html/HTMLParser.cpp:
123426         (WebCore::HTMLParser::reportErrorToConsole):
123427         * html/HTMLParser.h:
123428         * html/HTMLTokenizer.cpp: Removed.
123429         * html/HTMLTokenizer.h: Removed.
123430         * html/HTMLViewSourceDocument.cpp:
123431         (WebCore::HTMLViewSourceDocument::createTokenizer):
123432         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
123433         * html/HTMLViewSourceDocument.h:
123434         * loader/DocumentLoader.cpp:
123435         * loader/FTPDirectoryDocument.cpp:
123436         (WebCore::FTPDirectoryTokenizer::FTPDirectoryTokenizer):
123437         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
123438         (WebCore::FTPDirectoryTokenizer::finish):
123439         * loader/FrameLoader.cpp:
123440         * loader/ImageDocument.cpp:
123441         * loader/MediaDocument.cpp:
123442         * loader/PluginDocument.cpp:
123443         * loader/TextDocument.cpp:
123444         * page/XSSAuditor.h:
123445         * svg/SVGDocumentExtensions.cpp:
123446         * wml/WMLErrorHandling.cpp:
123447         (WebCore::reportWMLError):
123448         * xml/XSLStyleSheetLibxslt.cpp:
123449         (WebCore::XSLStyleSheet::parseString):
123450         * xml/XSLTProcessor.cpp:
123451         * xml/XSLTProcessorLibxslt.cpp:
123452
123453 2010-06-12  Andreas Kling  <andreas.kling@nokia.com>
123454
123455         Reviewed by Darin Adler.
123456
123457         Window object should have CanvasGradient and CanvasPattern
123458         https://bugs.webkit.org/show_bug.cgi?id=40394
123459
123460         This fixes the following tests:
123461         - canvas/philip/tests/2d.gradient.object.return.html
123462         - canvas/philip/tests/2d.pattern.basic.type.html
123463
123464         * html/canvas/CanvasGradient.idl:
123465         * html/canvas/CanvasPattern.idl:
123466         * page/DOMWindow.idl:
123467
123468 2010-06-12  Dan Bernstein  <mitz@apple.com>
123469
123470         Reviewed by Oliver Hunt.
123471
123472         <rdar://problem/8025267> REGRESSION (Safari 4-TOT): Crash when a frame’s resize handler removes the frame
123473         https://bugs.webkit.org/show_bug.cgi?id=40534
123474
123475         Test: fast/replaced/frame-removed-during-resize.html
123476
123477         * rendering/RenderWidget.cpp:
123478         (WebCore::RenderWidget::updateWidgetPosition): Null-check m_widget, since resizing the widget
123479         may trigger an iframe’s resize handler, which may destroy the widget.
123480
123481 2010-06-12  Dean Jackson  <dino@apple.com>
123482
123483         Reviewed by Darin Adler.
123484
123485         Animation keyframe timing functions are applying incorrectly
123486         https://bugs.webkit.org/show_bug.cgi?id=38963
123487         
123488         When copying RenderStyles, we have to clone the AnimationList so that each keyframe
123489         can have its own timing function.
123490
123491         Tests: animations/keyframe-timing-functions-transform.html
123492                animations/keyframe-timing-functions2.html
123493
123494         * platform/animation/Animation.h:
123495         (WebCore::Animation::create):
123496         * platform/animation/AnimationList.cpp:
123497         (WebCore::AnimationList::AnimationList):
123498         * platform/animation/AnimationList.h:
123499         (WebCore::AnimationList::AnimationList):
123500
123501 2010-06-12  Dan Bernstein  <mitz@apple.com>
123502
123503         Reviewed by Dave Hyatt.
123504
123505         <rdar://problem/7882140> -webkit-column-break-* properties don’t do anything
123506         https://bugs.webkit.org/show_bug.cgi?id=40531
123507
123508         Test: fast/multicol/break-properties.html
123509
123510         * rendering/RenderBlock.cpp:
123511         (WebCore::RenderBlock::paintChildren): Check for -webkit-column-break-{before,after}: always
123512         and -webkit-column-break-inside: avoid when doing column layout.
123513
123514 2010-06-13  Robert Hogan  <robert@webkit.org>
123515
123516         Reviewed by Alexey Proskuryakov.
123517
123518         FrameLoader::clear() clears JS objects that cached pages later rely on
123519
123520         https://bugs.webkit.org/show_bug.cgi?id=37725
123521         https://bugs.webkit.org/show_bug.cgi?id=31626
123522
123523         Fix the following tests for Qt:
123524
123525         fast/events/pageshow-pagehide-on-back-cached.html
123526         fast/events/pageshow-pagehide-on-back-cached-with-frames.html
123527         fast/loader/input-element-page-cache-crash.html
123528         fast/dom/Window/timer-resume-on-navigation-back.html
123529         loader/go-back-to-different-window-size.html
123530         fast/dom/javascript-url-crash-function.html
123531         fast/dom/location-new-window-no-crash.html
123532         http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html
123533
123534         which currently fail because the page's Qt-bindings runtime objects are
123535         cleared when navigating away from the page containing them.
123536
123537         Track Qt-bindings objects in a separate ScriptController::cacheableRootBindingObject().
123538         RuntimeObjects tracked by this root object will not get invalidated on page navigations,
123539         so they will still be available when the pages containing them are retrieved from the
123540         b/f cache.
123541
123542         This means the Qt bindings objects will only get cleared on Frame::pageDestroyed().
123543
123544         * bindings/js/ScriptController.cpp:
123545         (WebCore::ScriptController::~ScriptController):
123546         (WebCore::ScriptController::cacheableBindingRootObject):
123547         * bindings/js/ScriptController.h:
123548
123549 2010-06-12  Kent Tamura  <tkent@chromium.org>
123550
123551         Reviewed by Darin Adler.
123552
123553         REGRESSION: Can't submit a form with <input type=radio required>
123554         https://bugs.webkit.org/show_bug.cgi?id=40429
123555
123556         Validity state was not updated correctly for radio buttons, and it
123557         prevents form submission even if a radio button group has a
123558         checked radio button.
123559
123560         Test: fast/forms/interactive-validation-required-radio.html
123561
123562         * html/HTMLInputElement.cpp:
123563         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
123564          Call setNeedsValidityCheck() for all of radio buttons in the same group
123565          to update validity state.
123566         (WebCore::HTMLInputElement::setChecked):
123567          Remove setNeedsValidityCheck() call because it is called in
123568          updateCheckedRadioButtons().
123569
123570 2010-06-12  Kent Tamura  <tkent@chromium.org>
123571
123572         Reviewed by Dimitri Glazkov.
123573
123574         Disable interactive form validation in non-strict modes
123575         https://bugs.webkit.org/show_bug.cgi?id=40218
123576
123577         The interactive validation feature of HTML5 is not compatible with
123578         HTML4, and users and page authors don't expect existing sites work
123579         differently in WebKit. For example, maxlength and required attributes
123580         in existing sites unexpectedly prevented form submission.
123581         So, we disable the interactive validation feature in non-strict
123582         modes to improve compatibility.
123583
123584         Test: fast/forms/interactive-validation-compat-mode.html
123585               fast/forms/interactive-validation-html4.html
123586
123587         * html/HTMLFormElement.cpp:
123588         (WebCore::HTMLFormElement::validateInteractively):
123589          Process interactive validation only in the strict mode.
123590
123591 2010-06-12  Eric Seidel  <eric@webkit.org>
123592
123593         Reviewed by David Levin.
123594
123595         Rename Tokenizer to DocumentParser to match what it actually does
123596         https://bugs.webkit.org/show_bug.cgi?id=40504
123597
123598         The rename was entirely done by do-webcore-rename.
123599         The only manual changes were removing out-dated comments
123600         and fixing Tokenizer_h to DocumentParser_h in the header guards.
123601
123602         I'll do all the rest of the renames (like the tokenizer subclasses
123603         and the tokenizer() createTokenizer() methods) in separate changes.
123604
123605         No functional change, thus no tests.
123606
123607         * GNUmakefile.am:
123608         * WebCore.gypi:
123609         * WebCore.vcproj/WebCore.vcproj:
123610         * WebCore.xcodeproj/project.pbxproj:
123611         * bindings/js/JSHTMLDocumentCustom.cpp:
123612         * bindings/v8/ScriptEventListener.cpp:
123613         * dom/Document.cpp:
123614         (WebCore::Document::createTokenizer):
123615         * dom/Document.h:
123616         (WebCore::Document::tokenizer):
123617         * dom/DocumentParser.h: Added.
123618         (WebCore::DocumentParser::~DocumentParser):
123619         (WebCore::DocumentParser::stopParsing):
123620         (WebCore::DocumentParser::processingData):
123621         (WebCore::DocumentParser::executingScript):
123622         (WebCore::DocumentParser::wantsRawData):
123623         (WebCore::DocumentParser::writeRawData):
123624         (WebCore::DocumentParser::inViewSourceMode):
123625         (WebCore::DocumentParser::setInViewSourceMode):
123626         (WebCore::DocumentParser::wellFormed):
123627         (WebCore::DocumentParser::lineNumber):
123628         (WebCore::DocumentParser::columnNumber):
123629         (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
123630         (WebCore::DocumentParser::htmlParser):
123631         (WebCore::DocumentParser::asHTMLTokenizer):
123632         (WebCore::DocumentParser::xssAuditor):
123633         (WebCore::DocumentParser::setXSSAuditor):
123634         (WebCore::DocumentParser::DocumentParser):
123635         * dom/Tokenizer.h: Removed.
123636         * dom/ViewportArguments.cpp:
123637         (WebCore::reportViewportWarning):
123638         * dom/XMLTokenizer.h:
123639         * dom/XMLTokenizerLibxml2.cpp:
123640         (WebCore::XMLTokenizer::stopParsing):
123641         * dom/XMLTokenizerQt.cpp:
123642         (WebCore::XMLTokenizer::stopParsing):
123643         * html/HTML5Tokenizer.cpp:
123644         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
123645         * html/HTML5Tokenizer.h:
123646         * html/HTMLDocument.cpp:
123647         (WebCore::HTMLDocument::createTokenizer):
123648         * html/HTMLDocument.h:
123649         * html/HTMLFormControlElement.cpp:
123650         (WebCore::HTMLFormControlElement::removedFromTree):
123651         * html/HTMLTokenizer.cpp:
123652         (WebCore::HTMLTokenizer::HTMLTokenizer):
123653         (WebCore::HTMLTokenizer::stopParsing):
123654         * html/HTMLTokenizer.h:
123655         * html/HTMLViewSourceDocument.cpp:
123656         (WebCore::HTMLViewSourceDocument::createTokenizer):
123657         * html/HTMLViewSourceDocument.h:
123658         * loader/DocumentLoader.cpp:
123659         (WebCore::DocumentLoader::isLoadingInAPISense):
123660         * loader/DocumentWriter.cpp:
123661         (WebCore::DocumentWriter::addData):
123662         * loader/FTPDirectoryDocument.cpp:
123663         (WebCore::FTPDirectoryDocument::createTokenizer):
123664         * loader/FTPDirectoryDocument.h:
123665         * loader/ImageDocument.cpp:
123666         (WebCore::ImageDocument::createTokenizer):
123667         * loader/ImageDocument.h:
123668         * loader/MediaDocument.cpp:
123669         (WebCore::MediaDocument::createTokenizer):
123670         * loader/MediaDocument.h:
123671         * loader/PluginDocument.cpp:
123672         (WebCore::PluginDocument::createTokenizer):
123673         * loader/PluginDocument.h:
123674         * loader/SinkDocument.cpp:
123675         (WebCore::SinkDocument::createTokenizer):
123676         * loader/SinkDocument.h:
123677         * loader/TextDocument.cpp:
123678         (WebCore::TextTokenizer::TextTokenizer):
123679         (WebCore::TextDocument::createTokenizer):
123680         (WebCore::createTextTokenizer):
123681         * loader/TextDocument.h:
123682         * wml/WMLDocument.cpp:
123683         (WebCore::WMLDocument::finishedParsing):
123684
123685 2010-06-12  Eric Seidel  <eric@webkit.org>
123686
123687         Reviewed by Adam Barth.
123688
123689         HTML5Tokenizer needs to tell the InspectorTimelineAgent before and after it writes
123690         https://bugs.webkit.org/show_bug.cgi?id=40417
123691
123692         This "fixes" inspector/timeline-script-tag-1.html.  HTML5 results
123693         differ from the old parser for expected reasons.
123694
123695         HTML5Tokenizer calls InspectorTimelineAgent::will/didWriteHTML every
123696         time we pump the lexer instead of every write() call.
123697         We end up pumping the lexer slightly more often than the old code called
123698         write() in order to cleanly handle unclosed-entities, unclosed tags,
123699         buffered characters, etc. at the end of a document.
123700
123701         I discussed this extensively with James Robinson in #webkit and we decided
123702         that it was better for the HTML5Tokenizer to call for every pump and
123703         that the Inspector should later filter out empty pumps.
123704
123705         We can't filter out empty pumps yet, because the number of parsed
123706         characters is passed in willWrite instead of didWrite and thus is
123707         speculative (and wrong).  This is a problem independent of this change
123708         as willWrite's "length" argument is wrong in different ways for the old
123709         parser, including always being 0 when the old parser resumes.
123710
123711         Tested by inspector/timeline-script-tag-1.html
123712
123713         * html/HTML5Tokenizer.cpp:
123714         (WebCore::HTML5Tokenizer::willPumpLexer):
123715          - Notify the InspectorTimelineAgent we're about to process input.
123716         (WebCore::HTML5Tokenizer::didPumpLexer):
123717          - Notify the InspectorTimelineAgent we did process tokens.
123718         (WebCore::HTML5Tokenizer::pumpLexer):
123719          - Call willPump and didPump
123720         * html/HTML5Tokenizer.h:
123721         * inspector/InspectorTimelineAgent.h:
123722          - Add a FIXME about passing length to didWrite instead of willWrite.
123723
123724 2010-06-11  Sheriff Bot  <webkit.review.bot@gmail.com>
123725
123726         Unreviewed, rolling out r61052.
123727         http://trac.webkit.org/changeset/61052
123728         https://bugs.webkit.org/show_bug.cgi?id=40517
123729
123730         "Broke fast/forms/caret-rtl.html on Mac bots" (Requested by
123731         eseidel on #webkit).
123732
123733         * html/HTMLElement.cpp:
123734         (WebCore::HTMLElement::mapToEntry):
123735         (WebCore::HTMLElement::parseMappedAttribute):
123736
123737 2010-06-11  Maciej Stachowiak  <mjs@apple.com>
123738
123739         Reviewed by Ojan Vafai.
123740
123741         Implement HTML5 hidden attribute
123742         https://bugs.webkit.org/show_bug.cgi?id=40511
123743
123744         Test: fast/html/hidden-attr.html
123745         
123746         Note: I used the mapped attribute mechanism for this instead of a rule in the UA stylesheet
123747         to avoid a performance hit from adding a global attribute rule to the UA stylesheet.
123748
123749         * html/HTMLElement.cpp:
123750         (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
123751         (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
123752
123753 2010-06-10  Abhishek Arya  <inferno@chromium.org>
123754
123755         Reviewed by Dave Hyatt.
123756
123757         Do not render CSS Styles :first-letter and :first-line in a SVG text element context. 
123758         https://bugs.webkit.org/show_bug.cgi?id=40031
123759
123760         Test: svg/text/text-style-invalid.svg
123761
123762         * rendering/RenderSVGText.cpp:
123763         (WebCore::RenderSVGText::firstLineBlock):
123764         (WebCore::RenderSVGText::updateFirstLetter):
123765         * rendering/RenderSVGText.h:
123766
123767 2010-06-11  Kenneth Russell  <kbr@google.com>
123768
123769         Reviewed by Dimitri Glazkov.
123770
123771         getParameter with UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL is buggy
123772         https://bugs.webkit.org/show_bug.cgi?id=40506
123773
123774         Return the data members of WebGLRenderingContext for these
123775         parameter queries rather than asking OpenGL, which knows nothing
123776         about them.
123777
123778         * html/canvas/WebGLRenderingContext.cpp:
123779         (WebCore::WebGLRenderingContext::getParameter):
123780
123781 2010-06-11  Simon Fraser  <simon.fraser@apple.com>
123782
123783         Reviewed by Dr Dan Bernstein.
123784
123785         REGRESSION: crash when unloading an iFrame with Flash from the DOM
123786         https://bugs.webkit.org/show_bug.cgi?id=40161
123787         <rdar://problem/7994710>
123788         
123789         Null-check the ownerElement of the RenderView's document when unhooking the compositing
123790         root of an iframe whose layers are parented via the enclosing document. Fixes a crash when
123791         dynamically removing such an iframe.
123792
123793         Test: compositing/iframes/remove-iframe-crash.html
123794
123795         * rendering/RenderLayerCompositor.cpp:
123796         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
123797
123798 2010-06-11  Abhishek Arya  <inferno@chromium.org>
123799
123800         Reviewed by David Hyatt.
123801
123802         Don't process floats if parent node is not a RenderBlock.
123803         https://bugs.webkit.org/show_bug.cgi?id=40033
123804
123805         Test: svg/text/clear-floats-crash.svg
123806
123807         * rendering/RenderBlock.cpp:
123808         (WebCore::RenderBlock::clearFloats):
123809
123810 2010-06-11  Sheriff Bot  <webkit.review.bot@gmail.com>
123811
123812         Unreviewed, rolling out r61036.
123813         http://trac.webkit.org/changeset/61036
123814         https://bugs.webkit.org/show_bug.cgi?id=40499
123815
123816         broke chromium compile (Requested by jamesr on #webkit).
123817
123818         * bindings/v8/SerializedScriptValue.cpp:
123819         * bindings/v8/SerializedScriptValue.h:
123820         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
123821         (WebCore::SerializedScriptValue::create):
123822         (WebCore::SerializedScriptValue::createFromWire):
123823         (WebCore::SerializedScriptValue::release):
123824         (WebCore::SerializedScriptValue::SerializedScriptValue):
123825
123826 2010-06-11  Kenneth Russell  <kbr@google.com>
123827
123828         Reviewed by Dimitri Glazkov.
123829
123830         Add texImage2D and texSubImage2D signatures with internal format, etc.
123831         https://bugs.webkit.org/show_bug.cgi?id=40318
123832
123833         Added new texImage2D and texSubImage2D entry points following
123834         WebGL specification changes. Added UNPACK_FLIP_Y_WEBGL and
123835         UNPACK_PREMULTIPLY_ALPHA_WEBGL pixelStorei parameters, honored
123836         them for the new entry points taking HTML elements, and added
123837         support to getParameter. Added warnings to the console for calls
123838         to the obsolete entry points, which will be removed in a few
123839         weeks.  Updated all layout tests to use the new entry points and
123840         pixelStorei parameters, and associated expectations. No other new
123841         tests.
123842
123843         * html/canvas/WebGLRenderingContext.cpp:
123844         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
123845         (WebCore::WebGLRenderingContext::getParameter):
123846         (WebCore::WebGLRenderingContext::pixelStorei):
123847         (WebCore::WebGLRenderingContext::texImage2DImpl):
123848         (WebCore::WebGLRenderingContext::texImage2D):
123849         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
123850         (WebCore::WebGLRenderingContext::texSubImage2D):
123851         (WebCore::WebGLRenderingContext::printWarningToConsole):
123852         * html/canvas/WebGLRenderingContext.h:
123853         * html/canvas/WebGLRenderingContext.idl:
123854         * platform/graphics/GraphicsContext3D.h:
123855         (WebCore::GraphicsContext3D::):
123856
123857 2010-06-11  James Robinson  <jamesr@chromium.org>
123858
123859         Reviewed by Dimitri Glazkov.
123860
123861         [chromium] Skia mispaints pages with border-radius
123862         https://bugs.webkit.org/show_bug.cgi?id=40456
123863
123864         Skia mispaints pages that have border radius set in some cases. The bug is in the anti aliased
123865         clip path logic used to implement anti aliased curves in Skia.  Since Skia internally only supports
123866         1-bit clips, anti aliased clipping is emulated by creating a new alpha layer, storing a set of
123867         clip paths on the side, and then 'erasing' the regions outside the clip.  See r49641.
123868         PlatformContextSkia maintains a stack of PlatformContextSkia::State objects that preserve information
123869         like fill color, drawing mode, etc that is manipulated by GraphicsContext::save() / 
123870         GraphicsContext::restore() calls as well some internal functions.  Whenever a new State object is pushed
123871         a new copy of the current State object is pushed onto the top of this stack using the copy c'tor.  The
123872         set of anti alias clip paths is also stored on the State object, but not copied when new entries are
123873         added as the paths only apply to that entry on the stack.
123874
123875         The bug is that the state stack is stored in a WTF::Vector.  When this vector exceeds its capacity
123876         (by default at 16 elements) all of the existing State entries are copied into the new buffer using
123877         State's copy constructor.  This does not preserve the anti alias clip paths, so when the State entries
123878         are popped the anti aliasing info is lost.  This corrupts all further paint operations since it results
123879         in inbalanced save/restore calls to the underlying SkCanvas.
123880
123881         The fix is to make the PlatformContextSkia::State copy constructor copy all fields and to add a new
123882         function PlatformContextSkia::State::cloneInheritedProperties to use when pushing new State entries
123883         that copies everything except for the anti aliased clip paths.
123884
123885         Test: fast/css/nested-rounded-corners.html
123886
123887         * platform/graphics/skia/PlatformContextSkia.cpp:
123888         (PlatformContextSkia::State::State):
123889         (PlatformContextSkia::State::cloneInheritedProperties):
123890         (PlatformContextSkia::save):
123891
123892 2010-06-11  Jeremy Orlow  <jorlow@chromium.org>
123893
123894         Reviewed by Darin Fisher.
123895
123896         [V8] Clean up SerializedScriptValue
123897         https://bugs.webkit.org/show_bug.cgi?id=40482
123898
123899         SerializedScriptValue doesn't follow WebKit's style guidelines very well
123900         and needlessly inlines quite a bit within the .h file. This change cleans
123901         things up. No funcitonal changes.
123902
123903         No change in behavior.
123904
123905         * bindings/v8/SerializedScriptValue.cpp:
123906         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
123907         (WebCore::SerializedScriptValue::create):
123908         (WebCore::SerializedScriptValue::createFromWire):
123909         (WebCore::SerializedScriptValue::release):
123910         (WebCore::SerializedScriptValue::SerializedScriptValue):
123911         * bindings/v8/SerializedScriptValue.h:
123912
123913 2010-06-11  Anton Muhin  <antonm@chromium.org>
123914
123915         Reviewed by Adam Barth.
123916
123917         [v8] Introduce single element caches for WebCore::String to v8::String conversions
123918         https://bugs.webkit.org/show_bug.cgi?id=40435
123919         Measurements show that for some web apps (GMail, Wave) and some scenarios
123920         (intensive reading and/or keeping a tab open for a long time),
123921         hit rate lies in 30--50% interval.
123922         Inlining fast case gives another minor performance win.
123923
123924         * bindings/v8/V8Binding.cpp:
123925         (WebCore::getStringCache):
123926         (WebCore::v8ExternalStringSlow):
123927         * bindings/v8/V8Binding.h:
123928         (WebCore::v8ExternalString):
123929
123930 2010-06-11  Leandro Pereira  <leandro@profusion.mobi>
123931
123932         Reviewed by Gustavo Noronha Silva.
123933
123934         [EFL] Build fix: remove unneeded file (npapi.cpp) and add
123935         other files that got added to the tree.
123936         http://webkit.org/b/40331
123937
123938         * CMakeLists.txt:
123939         * CMakeListsEfl.txt:
123940
123941 2010-06-11  Tony Gentilcore  <tonyg@chromium.org>
123942
123943         Reviewed by Eric Seidel.
123944
123945         Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
123946         https://bugs.webkit.org/show_bug.cgi?id=40454
123947
123948         This required exposing the HTMLParser which we definitely don't want to
123949         do, but the good news is that it can go away when the HTMLParser goes
123950         away.
123951
123952         No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.
123953
123954         * dom/Tokenizer.h:
123955         (WebCore::Tokenizer::htmlParser):
123956         * html/HTML5Tokenizer.cpp:
123957         (WebCore::HTML5Tokenizer::htmlParser):
123958         * html/HTML5Tokenizer.h:
123959         * html/HTML5TreeBuilder.h:
123960         (WebCore::HTML5TreeBuilder::htmlParser):
123961         * html/HTMLFormControlElement.cpp:
123962         (WebCore::HTMLFormControlElement::removedFromTree):
123963         * html/HTMLTokenizer.h:
123964         (WebCore::HTMLTokenizer::htmlParser):
123965
123966 2010-06-11  Kenneth Russell  <kbr@google.com>
123967
123968         Reviewed by Dimitri Glazkov.
123969
123970         Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
123971         https://bugs.webkit.org/show_bug.cgi?id=40443
123972
123973         Deleted custom JSC bindings for bufferData, texImage2D and
123974         texSubImage2D and fixed minor associated issues in code generator
123975         and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
123976         which now runs as intended. Ran all layout tests, including WebGL
123977         tests, in Safari.
123978
123979         * bindings/js/JSWebGLRenderingContextCustom.cpp:
123980          - Deleted custom bindings.
123981         * bindings/scripts/CodeGeneratorJS.pm:
123982          - Made overload helper functions static to fix compiler warnings.
123983          - Added needed isObject check for overloads between object and non-object arguments.
123984          - Added JSValue::encode to exception return path, needed on Leopard in particular.
123985         * html/HTMLCanvasElement.idl:
123986         * html/HTMLImageElement.idl:
123987         * html/HTMLVideoElement.idl:
123988          - Added GenerateNativeConverter extended attribute.
123989         * html/canvas/WebGLRenderingContext.idl:
123990          - Deleted #ifdefs for custom JSC bindings.
123991
123992 2010-06-11  Kevin Ollivier  <kevino@theolliviers.com>
123993
123994         [wx] Build fix, add KillRingNone.cpp until we can implement it.
123995
123996         * wscript:
123997
123998 2010-06-11  Hans Wennborg  <hans@chromium.org>
123999
124000         Reviewed by Jeremy Orlow.
124001
124002         DOM storage should only create databases when needed
124003         https://bugs.webkit.org/show_bug.cgi?id=40301
124004
124005         As soon as a page attempts to use localstorage, StorageAreaSync will
124006         create an empty database if one doesn't already exist. This can lead to
124007         lots of unnecessary database files. In particular, they are created
124008         even when the privacy settings or private browsing mode disallow
124009         localstorage data, which may seem odd to the user.
124010
124011         Database creation should be put off in StorageAreaSync until it is time
124012         to actually write something to the database.
124013
124014         Tests:
124015          manual-tests/localstorage-empty-database.html
124016
124017         * manual-tests/localstorage-empty-database.html: Added.
124018         * storage/StorageAreaSync.cpp:
124019         (WebCore::StorageAreaSync::StorageAreaSync):
124020         (WebCore::StorageAreaSync::openDatabase):
124021         (WebCore::StorageAreaSync::performImport):
124022         (WebCore::StorageAreaSync::sync):
124023         * storage/StorageAreaSync.h:
124024         (WebCore::StorageAreaSync::):
124025
124026 2010-06-11  Ilya Tikhonovsky  <loislo@chromium.org>
124027
124028         Reviewed by Eric Seidel.
124029
124030         Perl scripts for bindings don't use strict keyword.
124031         As result some problems in the script code were not detected at compile stage.
124032         https://bugs.webkit.org/show_bug.cgi?id=40468
124033
124034         * bindings/scripts/CodeGenerator.pm:
124035         * bindings/scripts/IDLParser.pm:
124036         * bindings/scripts/IDLStructure.pm:
124037
124038 2010-06-11  Eric Seidel  <eric@webkit.org>
124039
124040         Reviewed by Adam Barth.
124041
124042         HTML5Tokenizer should not delete itself while running scripts
124043         https://bugs.webkit.org/show_bug.cgi?id=40458
124044
124045         Tested by fast/dom/document-clear.html
124046
124047         * html/HTML5Tokenizer.cpp:
124048         (WebCore::HTML5Tokenizer::attemptToEnd):
124049          - Don't ever end() while running scripts.
124050            This matches the old HTMLTokenizer.cpp
124051
124052 2010-06-11  Zhenyao Mo  <zmo@google.com>
124053
124054         Reviewed by Dimitri Glazkov.
124055
124056         getActiveUniform must ensure names of arrays end in "[0]"
124057         https://bugs.webkit.org/show_bug.cgi?id=38709
124058
124059         Test: fast/canvas/webgl/get-active-test.html
124060
124061         * html/canvas/WebGLRenderingContext.cpp:
124062         (WebCore::WebGLRenderingContext::getActiveAttrib): Append "[0]" to the name if needed.
124063
124064 2010-06-11  Zhenyao Mo  <zmo@google.com>
124065
124066         Reviewed by Dimitri Glazkov.
124067
124068         readPixels with negative width/height should generate INVALID_VALUE and return
124069         https://bugs.webkit.org/show_bug.cgi?id=39704
124070
124071         * html/canvas/WebGLRenderingContext.cpp: Deal with negative width/height.
124072         (WebCore::WebGLRenderingContext::readPixels):
124073         * html/canvas/WebGLRenderingContext.h: Change width/height type from unsigned long to long.
124074         * html/canvas/WebGLRenderingContext.idl: Ditto.
124075
124076 2010-06-11  Zhenyao Mo  <zmo@google.com>
124077
124078         Reviewed by Dimitri Glazkov.
124079
124080         uniform* entry points must ignore the call if a null WebGLUniformLocation is passed
124081         https://bugs.webkit.org/show_bug.cgi?id=38707
124082
124083         * html/canvas/WebGLRenderingContext.cpp: uniform* entry points ignore the call if a null WebGLUniformLocation is passed.
124084         (WebCore::WebGLRenderingContext::uniform1f):
124085         (WebCore::WebGLRenderingContext::uniform1fv):
124086         (WebCore::WebGLRenderingContext::uniform1i):
124087         (WebCore::WebGLRenderingContext::uniform1iv):
124088         (WebCore::WebGLRenderingContext::uniform2f):
124089         (WebCore::WebGLRenderingContext::uniform2fv):
124090         (WebCore::WebGLRenderingContext::uniform2i):
124091         (WebCore::WebGLRenderingContext::uniform2iv):
124092         (WebCore::WebGLRenderingContext::uniform3f):
124093         (WebCore::WebGLRenderingContext::uniform3fv):
124094         (WebCore::WebGLRenderingContext::uniform3i):
124095         (WebCore::WebGLRenderingContext::uniform3iv):
124096         (WebCore::WebGLRenderingContext::uniform4f):
124097         (WebCore::WebGLRenderingContext::uniform4fv):
124098         (WebCore::WebGLRenderingContext::uniform4i):
124099         (WebCore::WebGLRenderingContext::uniform4iv):
124100         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
124101         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
124102         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
124103
124104 2010-06-11  Zhenyao Mo  <zmo@google.com>
124105
124106         Reviewed by Dimitri Glazkov.
124107
124108         drawElements/drawArrays should validate input parameters according to GLES2 spec
124109         https://bugs.webkit.org/show_bug.cgi?id=38700
124110
124111         Tests: fast/canvas/webgl/draw-arrays-out-of-bounds.html
124112                fast/canvas/webgl/draw-elements-out-of-bounds.html
124113
124114         * html/canvas/WebGLRenderingContext.cpp:
124115         (WebCore::WebGLRenderingContext::drawArrays): Validate input parameters.
124116         (WebCore::WebGLRenderingContext::drawElements): Ditto.
124117         (WebCore::WebGLRenderingContext::validateDrawMode): Validate mode for draw{Arrays/Elements}.
124118         * html/canvas/WebGLRenderingContext.h: Add validateDrawMode, fix incorrect parameter types.
124119         * html/canvas/WebGLRenderingContext.idl: Fix incorrect parameter types.
124120
124121 2010-06-11  Luiz Agostini  <luiz.agostini@openbossa.org>
124122
124123         Reviewed by Antti Koivisto.
124124
124125         CSS3 Media Queries are not serialized according to CSSOM
124126         https://bugs.webkit.org/show_bug.cgi?id=39220
124127
124128         MediaQuery serialization according to specification
124129         http://dev.w3.org/csswg/cssom/#serializing-media-queries.
124130
124131         MediaQuery objects now ignore duplicated expressions. MediaQueryEvaluator::eval()
124132         now does not proccess MediaQuery objects that are known to be invalid.
124133
124134         Test: fast/media/media-query-serialization.html
124135
124136         * css/MediaQuery.cpp:
124137         (WebCore::stringCompare):
124138         (WebCore::MediaQuery::serialize):
124139         (WebCore::MediaQuery::MediaQuery):
124140         (WebCore::MediaQuery::~MediaQuery):
124141         (WebCore::MediaQuery::operator==):
124142         (WebCore::MediaQuery::cssText):
124143         (WebCore::MediaQuery::append):
124144         * css/MediaQuery.h:
124145         (WebCore::MediaQuery::ignored):
124146         (WebCore::MediaQuery::begin):
124147         (WebCore::MediaQuery::end):
124148         * css/MediaQueryExp.cpp:
124149         (WebCore::MediaQueryExp::serialize):
124150         * css/MediaQueryExp.h:
124151         * css/MediaQueryEvaluator.cpp:
124152         (WebCore::MediaQueryEvaluator::eval):
124153
124154
124155 2010-06-10  Jeremy Orlow  <jorlow@chromium.org>
124156
124157         Reviewed by Steve Block.
124158
124159         Implement more of IndexedDB's Indexes and ObjectStores
124160         https://bugs.webkit.org/show_bug.cgi?id=40424
124161
124162         Clean up both of these classes a bit and add create/open/remove
124163         methods as needed.
124164
124165         Tests in a future patch (promise).
124166
124167         * storage/IDBDatabase.h:
124168         * storage/IDBDatabaseImpl.cpp:
124169         (WebCore::IDBDatabaseImpl::objectStores):
124170         (WebCore::IDBDatabaseImpl::createObjectStore):
124171         (WebCore::IDBDatabaseImpl::objectStore):
124172         (WebCore::IDBDatabaseImpl::removeObjectStore):
124173         * storage/IDBDatabaseImpl.h:
124174         (WebCore::IDBDatabaseImpl::name):
124175         (WebCore::IDBDatabaseImpl::description):
124176         (WebCore::IDBDatabaseImpl::version):
124177         * storage/IDBDatabaseRequest.cpp:
124178         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
124179         (WebCore::IDBDatabaseRequest::createObjectStore):
124180         (WebCore::IDBDatabaseRequest::objectStore):
124181         (WebCore::IDBDatabaseRequest::removeObjectStore):
124182         * storage/IDBDatabaseRequest.h:
124183         (WebCore::IDBDatabaseRequest::create):
124184         (WebCore::IDBDatabaseRequest::name):
124185         (WebCore::IDBDatabaseRequest::description):
124186         (WebCore::IDBDatabaseRequest::version):
124187         (WebCore::IDBDatabaseRequest::objectStores):
124188         * storage/IDBDatabaseRequest.idl:
124189         * storage/IDBObjectStore.h:
124190         * storage/IDBObjectStoreImpl.h:
124191         * storage/IDBObjectStoreRequest.cpp:
124192         (WebCore::IDBObjectStoreRequest::get):
124193         (WebCore::IDBObjectStoreRequest::add):
124194         (WebCore::IDBObjectStoreRequest::modify):
124195         (WebCore::IDBObjectStoreRequest::addOrModify):
124196         (WebCore::IDBObjectStoreRequest::remove):
124197         (WebCore::IDBObjectStoreRequest::createIndex):
124198         (WebCore::IDBObjectStoreRequest::index):
124199         (WebCore::IDBObjectStoreRequest::removeIndex):
124200         * storage/IDBObjectStoreRequest.h:
124201         * storage/IDBObjectStoreRequest.idl:
124202
124203 2010-06-11  Alexander Pavlov  <apavlov@chromium.org>
124204
124205         Reviewed by Pavel Feldman.
124206
124207         Web Inspector: Enable serialization/deserialization of the frontend state
124208         https://bugs.webkit.org/show_bug.cgi?id=40228
124209
124210         * inspector/InspectorBackend.cpp:
124211         (WebCore::InspectorBackend::saveApplicationSettings):
124212         (WebCore::InspectorBackend::saveSessionSettings):
124213         * inspector/InspectorBackend.h:
124214         * inspector/InspectorBackend.idl:
124215         * inspector/InspectorController.cpp:
124216         (WebCore::InspectorController::InspectorController):
124217         (WebCore::InspectorController::setSessionSettings):
124218         (WebCore::InspectorController::populateScriptObjects):
124219         (WebCore::InspectorController::didCommitLoad):
124220         * inspector/InspectorController.h:
124221         * inspector/InspectorFrontend.cpp:
124222         (WebCore::InspectorFrontend::populateApplicationSettings):
124223         (WebCore::InspectorFrontend::populateSessionSettings):
124224         * inspector/InspectorFrontend.h:
124225         * inspector/front-end/ConsoleView.js:
124226         (WebInspector.ConsoleView.prototype._settingsLoaded):
124227         (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
124228         (WebInspector.ConsoleView.prototype._enterKeyPressed):
124229         * inspector/front-end/EventListenersSidebarPane.js:
124230         (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
124231         (WebInspector.EventListenersSidebarPane.prototype):
124232         ():
124233         * inspector/front-end/InspectorBackendStub.js:
124234         (.WebInspector.InspectorBackendStub.prototype.saveApplicationSettings):
124235         (.WebInspector.InspectorBackendStub.prototype.saveSessionSettings):
124236         * inspector/front-end/ResourceView.js:
124237         (WebInspector.ResourceView.prototype._selectTab):
124238         (WebInspector.ResourceView.prototype._selectHeadersTab):
124239         (WebInspector.ResourceView.prototype.selectContentTab):
124240         * inspector/front-end/ResourcesPanel.js:
124241         (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
124242         (WebInspector.ResourcesPanel.prototype._settingsLoaded):
124243         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
124244         * inspector/front-end/ScriptsPanel.js:
124245         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
124246         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
124247         * inspector/front-end/Settings.js:
124248         (WebInspector.populateApplicationSettings):
124249         (WebInspector.populateSessionSettings):
124250         (WebInspector.Settings):
124251         (WebInspector.Settings.prototype.reset):
124252         (WebInspector.Settings.prototype._load):
124253         (WebInspector.Settings.prototype._set):
124254         * inspector/front-end/StylesSidebarPane.js:
124255         (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
124256         (WebInspector.StylesSidebarPane.prototype.update):
124257         (WebInspector.StylesSidebarPane.prototype._changeSetting):
124258         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
124259         (WebInspector.ComputedStyleSidebarPane.settingsLoaded):
124260         (WebInspector.ComputedStyleSidebarPane.showInheritedToggleFunction):
124261         (WebInspector.ComputedStyleSidebarPane):
124262         * inspector/front-end/WatchExpressionsSidebarPane.js:
124263         (WebInspector.WatchExpressionsSidebarPane):
124264         (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
124265         (WebInspector.WatchExpressionsSection):
124266         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
124267         * inspector/front-end/inspector.js:
124268         (WebInspector.loaded):
124269         (WebInspector.reset):
124270
124271 2010-06-10  Pavel Feldman  <pfeldman@chromium.org>
124272
124273         Reviewed by Yury Semikhatsky.
124274
124275         Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.
124276
124277         https://bugs.webkit.org/show_bug.cgi?id=40422
124278
124279         * inspector/InjectedScriptHost.cpp:
124280         (WebCore::InjectedScriptHost::addNodesToSearchResult):
124281         * inspector/InspectorBackend.cpp:
124282         (WebCore::InspectorBackend::performSearch):
124283         (WebCore::InspectorBackend::searchCanceled):
124284         * inspector/InspectorBackend.h:
124285         * inspector/InspectorBackend.idl:
124286         * inspector/InspectorDOMAgent.cpp:
124287         (WebCore::):
124288         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
124289         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
124290         (WebCore::InspectorDOMAgent::performSearch):
124291         (WebCore::InspectorDOMAgent::searchCanceled):
124292         (WebCore::InspectorDOMAgent::onMatchJobsTimer):
124293         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
124294         * inspector/InspectorDOMAgent.h:
124295         (WebCore::MatchJob::~MatchJob):
124296         (WebCore::MatchJob::MatchJob):
124297         (WebCore::MatchJob::addNodesToResults):
124298         * inspector/InspectorFrontend.cpp:
124299         (WebCore::InspectorFrontend::addNodesToSearchResult):
124300         * inspector/InspectorFrontend.h:
124301         * inspector/InspectorResource.cpp:
124302         (WebCore::InspectorResource::updateScriptObject):
124303         * inspector/front-end/ElementsPanel.js:
124304         (WebInspector.ElementsPanel.prototype.searchCanceled):
124305         (WebInspector.ElementsPanel.prototype.performSearch):
124306         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
124307         * inspector/front-end/InjectedScript.js:
124308         (injectedScriptConstructor):
124309         * inspector/front-end/InjectedScriptAccess.js:
124310
124311 2010-06-11  Mikhail Naganov  <mnaganov@chromium.org>
124312
124313         Reviewed by Pavel Feldman.
124314
124315         [Chromium] Restore 'console.profiles' access.
124316
124317         https://bugs.webkit.org/show_bug.cgi?id=39840
124318
124319         * bindings/v8/ScriptProfiler.cpp:
124320         (WebCore::ScriptProfiler::stop):
124321         * bindings/v8/custom/V8ConsoleCustom.cpp:
124322         (WebCore::V8Console::profilesAccessorGetter):
124323         * inspector/InspectorController.cpp:
124324         (WebCore::InspectorController::stopUserInitiatedProfiling):
124325
124326 2010-06-10  Nikita Vasilyev  <me@elv1s.ru>
124327
124328         Reviewed by Pavel Feldman.
124329
124330         Web Inspector: Make a close brace in Styles pane selectable.
124331         https://bugs.webkit.org/show_bug.cgi?id=40157
124332
124333         * inspector/front-end/inspector.css:
124334         (.styles-selector):
124335         (.styles-section .properties li):
124336         (.styles-section):
124337
124338 2010-06-11  Yury Semikhatsky  <yurys@chromium.org>
124339
124340         Reviewed by Pavel Feldman.
124341
124342         Web Inspector: localize missing script source message
124343         https://bugs.webkit.org/show_bug.cgi?id=40467
124344
124345         * English.lproj/localizedStrings.js:
124346         * inspector/InspectorController.cpp:
124347         (WebCore::InspectorController::didParseSource): fixed typo in comment.
124348
124349 2010-06-11  Zhenyao Mo  <zmo@google.com>
124350
124351         Reviewed by Dimitri Glazkov.
124352
124353         Vertex attributes enabled as arrays but not bound to buffers must generate INVALID_OPERATION
124354         https://bugs.webkit.org/show_bug.cgi?id=40315
124355
124356         * html/canvas/WebGLRenderingContext.cpp:
124357         (WebCore::WebGLRenderingContext::validateRenderingState): Check if an enabled vertext attribs is bound to a buffer.
124358         (WebCore::WebGLRenderingContext::vertexAttribPointer): Set bound buffer in vertex attrib state.
124359         * html/canvas/WebGLRenderingContext.h: Add a member in vertex attrib state to track bound buffer.
124360
124361 2010-05-31  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
124362
124363         Reviewed by Simon Hausmann.
124364
124365         [Qt] Implement the simple text code path.
124366         https://bugs.webkit.org/show_bug.cgi?id=40077
124367
124368         Remove the FONT_FAST_PATH macro and use the Qt's
124369         fast text implementation instead of the one of WebKit.
124370
124371         The Qt::TextBypassShaping flag is used to tell Qt to
124372         only use the glyph advances.
124373
124374         Qt 4.7 is needed to get this flag thus the complex path is always
124375         used if QtWebKit is compiled against an earlier version.
124376
124377         Contrary to the WebKit's implementation, the complex code path
124378         is taken if the text is RightToLeft, justified or is formatted
124379         with non-zero letter or word spacing.
124380
124381         * platform/graphics/Font.cpp:
124382         (WebCore::Font::drawText):
124383         (WebCore::Font::floatWidth):
124384         (WebCore::Font::selectionRectForText):
124385         (WebCore::Font::offsetForPosition):
124386         * platform/graphics/Font.h:
124387         (WebCore::Font::isRoundingHackCharacter):
124388         * platform/graphics/qt/FontQt.cpp:
124389         (WebCore::fromRawDataWithoutRef):
124390         (WebCore::needComplexCodePath):
124391         (WebCore::setupPlatformContext):
124392         (WebCore::Font::canReturnFallbackFontsForComplexText):
124393         (WebCore::Font::drawSimpleText):
124394         (WebCore::Font::drawComplexText):
124395         (WebCore::Font::floatWidthForSimpleText):
124396         (WebCore::Font::offsetForPositionForSimpleText):
124397         (WebCore::Font::selectionRectForSimpleText):
124398
124399 2010-06-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
124400
124401         Reviewed by Simon Hausmann.
124402
124403         Move the text code path detection code from FontFastPath.cpp to Font.cpp.
124404         https://bugs.webkit.org/show_bug.cgi?id=40077
124405
124406         This is a patch preliminary to the implementation of the
124407         simple font code path for the Qt port.
124408
124409         * platform/graphics/Font.cpp:
124410         (WebCore::Font::setCodePath):
124411         (WebCore::Font::codePath):
124412         * platform/graphics/Font.h:
124413         * platform/graphics/FontFastPath.cpp:
124414
124415 2010-06-11  Sterling Swigart  <sswigart@google.com>
124416
124417         Reviewed by Dmitry Titov.
124418
124419         Added AsyncImageResizer and ImageResizerThread classes, which after further
124420         patches will be capable of resizing images.
124421         https://bugs.webkit.org/show_bug.cgi?id=40018
124422
124423         * Android.mk:
124424         * CMakeLists.txt:
124425         * GNUmakefile.am:
124426         * WebCore.gypi:
124427         * WebCore.pro:
124428         * WebCore.vcproj/WebCore.vcproj:
124429         * WebCore.xcodeproj/project.pbxproj:
124430         * html/AsyncImageResizer.cpp: Added.
124431         (WebCore::AsyncImageResizer::create):
124432         (WebCore::AsyncImageResizer::AsyncImageResizer):
124433         (WebCore::AsyncImageResizer::~AsyncImageResizer):
124434         (WebCore::AsyncImageResizer::notifyFinished):
124435         * html/AsyncImageResizer.h: Added.
124436         (WebCore::AsyncImageResizer::CallbackInfo::CallbackInfo):
124437         (WebCore::AsyncImageResizer::):
124438         (WebCore::AsyncImageResizer::resizeComplete):
124439         (WebCore::AsyncImageResizer::resizeError):
124440         * html/ImageResizerThread.cpp: Added.
124441         (WebCore::returnBlobOrError):
124442         (WebCore::ImageResizerThread::start):
124443         (WebCore::ImageResizerThread::ImageResizerThread):
124444         (WebCore::ImageResizerThread::~ImageResizerThread):
124445         (WebCore::ImageResizerThread::imageResizerThreadStart):
124446         (WebCore::ImageResizerThread::imageResizerThread):
124447         * html/ImageResizerThread.h: Added.
124448
124449 2010-06-11  Steve Block  <steveblock@google.com>
124450
124451         Reviewed by Alexey Proskuryakov.
124452
124453         Client-based Geolocation does not handle multiple simultaneous requests
124454         https://bugs.webkit.org/show_bug.cgi?id=40148
124455
124456         Test: fast/dom/Geolocation/multiple-requests.html
124457
124458         The Geolocation must handle multiple calls to addObserver() from the same Geolocation object.
124459
124460         * page/GeolocationController.cpp:
124461         (WebCore::GeolocationController::addObserver):
124462
124463 2010-06-11  Nikita Vasilyev  <me@elv1s.ru>
124464
124465         Reviewed by Pavel Feldman.
124466
124467         Web Inspector: When completing using a tab key, select very first value, not a second.
124468         https://bugs.webkit.org/show_bug.cgi?id=40409
124469
124470         * inspector/front-end/TextPrompt.js:
124471         (WebInspector.TextPrompt.prototype._completionsReady):
124472
124473 2010-06-10  Yuzo Fujishima  <yuzo@google.com>
124474
124475         Reviewed by Shinichiro Hamaji.
124476
124477         Implement render style selection for pages to support CSS3 Paged Media.
124478         https://bugs.webkit.org/show_bug.cgi?id=35961
124479
124480         Test: printing/page-rule-selection.html
124481
124482         * WebCore.base.exp:
124483         * css/CSSGrammar.y:
124484         * css/CSSSelector.cpp:
124485         (WebCore::CSSSelector::specificity):
124486         (WebCore::CSSSelector::specificityForPage):
124487         * css/CSSSelector.h:
124488         (WebCore::CSSSelector::CSSSelector):
124489         (WebCore::CSSSelector::isForPage):
124490         (WebCore::CSSSelector::setForPage):
124491         * css/CSSStyleSelector.cpp:
124492         (WebCore::CSSStyleSelector::styleForPage):
124493         (WebCore::CSSStyleSelector::matchPageRules):
124494         (WebCore::CSSStyleSelector::matchPageRulesForList):
124495         (WebCore::CSSStyleSelector::isLeftPage):
124496         (WebCore::CSSStyleSelector::isFirstPage):
124497         (WebCore::CSSStyleSelector::pageName):
124498         * css/CSSStyleSelector.h:
124499         (WebCore::CSSStyleSelector::isRightPage):
124500         * css/html.css:
124501         (@page):
124502         * dom/Document.cpp:
124503         (WebCore::Document::styleForPage):
124504         * dom/Document.h:
124505         * page/PrintContext.cpp:
124506         (WebCore::PrintContext::pageProperty):
124507         * page/PrintContext.h:
124508
124509
124510 2010-06-10  Yuzo Fujishima  <yuzo@google.com>
124511
124512         Reviewed by Shinichiro Hamaji.
124513
124514         Fix Bug 40452: REGRESSION: printing is broken if stylesheet has @page
124515         https://bugs.webkit.org/show_bug.cgi?id=40452
124516
124517         Test: printing/page-rule-in-media-query.html
124518
124519         * css/CSSStyleSelector.cpp:
124520         (WebCore::CSSRuleSet::addRulesFromSheet):
124521         (WebCore::CSSRuleSet::addStyleRule):
124522
124523 2010-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
124524
124525         Unreviewed, rolling out r60989.
124526         http://trac.webkit.org/changeset/60989
124527         https://bugs.webkit.org/show_bug.cgi?id=40462
124528
124529         It makes things crash (Requested by abarth on #webkit).
124530
124531         * dom/Tokenizer.h:
124532         (WebCore::Tokenizer::isHTMLTokenizer):
124533         * html/HTML5Tokenizer.cpp:
124534         * html/HTML5Tokenizer.h:
124535         * html/HTML5TreeBuilder.h:
124536         * html/HTMLFormControlElement.cpp:
124537         (WebCore::HTMLFormControlElement::removedFromTree):
124538         * html/HTMLTokenizer.h:
124539         (WebCore::HTMLTokenizer::isHTMLTokenizer):
124540         (WebCore::HTMLTokenizer::htmlParser):
124541
124542 2010-06-10  Tony Gentilcore  <tonyg@chromium.org>
124543
124544         Reviewed by Eric Seidel.
124545
124546         Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
124547         https://bugs.webkit.org/show_bug.cgi?id=40454
124548
124549         This required exposing the HTMLParser which we definitely don't want to
124550         do, but the good news is that it can go away when the HTMLParser goes
124551         away.
124552
124553         No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.
124554
124555         * dom/Tokenizer.h:
124556         (WebCore::Tokenizer::htmlParser):
124557         * html/HTML5Tokenizer.cpp:
124558         (WebCore::HTML5Tokenizer::htmlParser):
124559         * html/HTML5Tokenizer.h:
124560         * html/HTML5TreeBuilder.h:
124561         (WebCore::HTML5TreeBuilder::htmlParser):
124562         * html/HTMLFormControlElement.cpp:
124563         (WebCore::HTMLFormControlElement::removedFromTree):
124564         * html/HTMLTokenizer.h:
124565         (WebCore::HTMLTokenizer::htmlParser):
124566
124567 2010-06-10  Tony Chang  <tony@chromium.org>
124568
124569         Reviewed by Kent Tamura.
124570
124571         crash when focus is changed while trying to focus next element
124572         https://bugs.webkit.org/show_bug.cgi?id=40407
124573
124574         Test: fast/events/focus-change-crash.html
124575
124576         * dom/Element.cpp:
124577         (WebCore::Element::focus):
124578
124579 2010-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
124580
124581         Unreviewed, rolling out r60979.
124582         http://trac.webkit.org/changeset/60979
124583         https://bugs.webkit.org/show_bug.cgi?id=40450
124584
124585         Broke build on Leopard (Requested by kbr_google on #webkit).
124586
124587         * bindings/js/JSWebGLRenderingContextCustom.cpp:
124588         (WebCore::JSWebGLRenderingContext::bufferData):
124589         (WebCore::JSWebGLRenderingContext::bufferSubData):
124590         (WebCore::JSWebGLRenderingContext::texImage2D):
124591         (WebCore::JSWebGLRenderingContext::texSubImage2D):
124592         * bindings/scripts/CodeGeneratorJS.pm:
124593         * html/HTMLCanvasElement.idl:
124594         * html/HTMLImageElement.idl:
124595         * html/HTMLVideoElement.idl:
124596         * html/canvas/WebGLRenderingContext.idl:
124597
124598 2010-06-10  Kenneth Russell  <kbr@google.com>
124599
124600         Reviewed by Dimitri Glazkov.
124601
124602         Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
124603         https://bugs.webkit.org/show_bug.cgi?id=40443
124604
124605         Deleted custom JSC bindings for bufferData, texImage2D and
124606         texSubImage2D and fixed minor associated issues in code generator
124607         and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
124608         which now runs as intended. Ran all layout tests, including WebGL
124609         tests, in Safari.
124610
124611         * bindings/js/JSWebGLRenderingContextCustom.cpp:
124612          - Deleted custom bindings.
124613         * bindings/scripts/CodeGeneratorJS.pm:
124614          - Made overload helper functions static to fix compiler warnings.
124615          - Added needed isObject check for overloads between object and non-object arguments.
124616         * html/HTMLCanvasElement.idl:
124617         * html/HTMLImageElement.idl:
124618         * html/HTMLVideoElement.idl:
124619          - Added GenerateNativeConverter extended attribute.
124620         * html/canvas/WebGLRenderingContext.idl:
124621          - Deleted #ifdefs for custom JSC bindings.
124622
124623 2010-06-10  David Hyatt  <hyatt@apple.com>
124624
124625         Reviewed by John Sullivan.
124626
124627         https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
124628         wheel delta values.
124629
124630         * platform/mac/WebCoreSystemInterface.h:
124631         * platform/mac/WebCoreSystemInterface.mm:
124632         * platform/mac/WheelEventMac.mm:
124633         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
124634
124635 2010-06-10  Abhishek Arya  <inferno@chromium.org>
124636
124637         Reviewed by Dimitri Glazkov.
124638
124639         Add null pointer checks for nativeImageForCurrentFrame
124640         function calls.
124641         https://bugs.webkit.org/show_bug.cgi?id=39797
124642
124643         * platform/chromium/PasteboardChromium.cpp:
124644         (WebCore::Pasteboard::writeImage):
124645         * platform/graphics/qt/GraphicsContext3DQt.cpp:
124646         (WebCore::GraphicsContext3D::getImageData):
124647         * platform/qt/PasteboardQt.cpp:
124648         (WebCore::Pasteboard::writeImage):
124649
124650 2010-06-09  Kenneth Russell  <kbr@google.com>
124651
124652         Reviewed by Dimitri Glazkov.
124653
124654         Implement TypedArray BYTES_PER_ELEMENT
124655         https://bugs.webkit.org/show_bug.cgi?id=39100
124656
124657         Implemented BYTES_PER_ELEMENT on all ArrayBufferView subclasses.
124658         Required bug fixes to JSC bindings' custom constructors. Updated
124659         fast/canvas/webgl/array-unit-tests.html to verify. Ran all WebGL
124660         layout tests in Safari and Chromium.
124661
124662         * bindings/js/JSFloat32ArrayConstructor.cpp:
124663         (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
124664         (WebCore::JSFloat32ArrayConstructor::getOwnPropertySlot):
124665         (WebCore::JSFloat32ArrayConstructor::getOwnPropertyDescriptor):
124666         * bindings/js/JSFloat32ArrayConstructor.h:
124667         (WebCore::JSFloat32ArrayConstructor::createStructure):
124668         * bindings/js/JSInt16ArrayConstructor.cpp:
124669         (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
124670         (WebCore::JSInt16ArrayConstructor::getOwnPropertySlot):
124671         (WebCore::JSInt16ArrayConstructor::getOwnPropertyDescriptor):
124672         * bindings/js/JSInt16ArrayConstructor.h:
124673         (WebCore::JSInt16ArrayConstructor::createStructure):
124674         * bindings/js/JSInt32ArrayConstructor.cpp:
124675         (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
124676         (WebCore::JSInt32ArrayConstructor::getOwnPropertySlot):
124677         (WebCore::JSInt32ArrayConstructor::getOwnPropertyDescriptor):
124678         * bindings/js/JSInt32ArrayConstructor.h:
124679         (WebCore::JSInt32ArrayConstructor::createStructure):
124680         * bindings/js/JSInt8ArrayConstructor.cpp:
124681         (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
124682         (WebCore::JSInt8ArrayConstructor::getOwnPropertySlot):
124683         (WebCore::JSInt8ArrayConstructor::getOwnPropertyDescriptor):
124684         * bindings/js/JSInt8ArrayConstructor.h:
124685         (WebCore::JSInt8ArrayConstructor::createStructure):
124686         * bindings/js/JSUint16ArrayConstructor.cpp:
124687         (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
124688         (WebCore::JSUint16ArrayConstructor::getOwnPropertySlot):
124689         (WebCore::JSUint16ArrayConstructor::getOwnPropertyDescriptor):
124690         * bindings/js/JSUint16ArrayConstructor.h:
124691         (WebCore::JSUint16ArrayConstructor::createStructure):
124692         * bindings/js/JSUint32ArrayConstructor.cpp:
124693         (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
124694         (WebCore::JSUint32ArrayConstructor::getOwnPropertySlot):
124695         (WebCore::JSUint32ArrayConstructor::getOwnPropertyDescriptor):
124696         * bindings/js/JSUint32ArrayConstructor.h:
124697         (WebCore::JSUint32ArrayConstructor::createStructure):
124698         * bindings/js/JSUint8ArrayConstructor.cpp:
124699         (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
124700         (WebCore::JSUint8ArrayConstructor::getOwnPropertySlot):
124701         (WebCore::JSUint8ArrayConstructor::getOwnPropertyDescriptor):
124702         * bindings/js/JSUint8ArrayConstructor.h:
124703         (WebCore::JSUint8ArrayConstructor::createStructure):
124704         * html/canvas/Float32Array.idl:
124705         * html/canvas/Int16Array.idl:
124706         * html/canvas/Int32Array.idl:
124707         * html/canvas/Int8Array.idl:
124708         * html/canvas/Uint16Array.idl:
124709         * html/canvas/Uint32Array.idl:
124710         * html/canvas/Uint8Array.idl:
124711
124712 2010-06-10  Eric Seidel  <eric@webkit.org>
124713
124714         Reviewed by Adam Barth.
124715
124716         HTML5 Parser should continue parsing after script execution
124717         https://bugs.webkit.org/show_bug.cgi?id=40416
124718
124719         The previous code was just wrong.  We were always blocking
124720         the parser after any script execution.  Now we correctly continue
124721         parsing after a successful script execution and only block the
124722         parser when we weren't able to execute the script immediately.
124723
124724         Added a new haveParsingBlockingScript() function to HTML5ScriptRunner
124725         to make some of the code more self-documenting.
124726
124727        Test: fast/tokenizer/write-multiple-scripts.html
124728              fast/js/implicit-call-with-global-reentry.html
124729
124730         * html/HTML5ScriptRunner.cpp:
124731         (WebCore::HTML5ScriptRunner::execute):
124732          - Remove some old (now bogus) FIXMEs and notImplemented() calls.
124733          - Fix the logic to match the HTML5 spec by continuing parsing
124734            after script execution and only blocking the parser when the
124735            script wasn't able to immediately run.
124736         (WebCore::HTML5ScriptRunner::haveParsingBlockingScript):
124737          - New function to make some of the code read better.
124738         (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
124739          - Use haveParsingBlockingScript().
124740         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
124741          - Use haveParsingBlockingScript().
124742         (WebCore::HTML5ScriptRunner::runScript):
124743          - Use haveParsingBlockingScript().
124744         * html/HTML5ScriptRunner.h:
124745
124746 2010-06-10  Yury Semikhatsky  <yurys@chromium.org>
124747
124748         Reviewed by Pavel Feldman.
124749
124750         Web Inspector: to reduce the front end start up time don't push script
124751         sources to frontend if debugger is always enabled, instead request
124752         script content lazily at the moment it should be displyed. It is critical for
124753         always enabled debugger because in that case lots of script may have
124754         already been parsed when the front end is opening and pushing all
124755         of them at once may slow things down(even though the script sources will never
124756         be used if scripts panel isn't open).
124757         https://bugs.webkit.org/show_bug.cgi?id=40364
124758
124759         * inspector/InspectorBackend.cpp:
124760         (WebCore::InspectorBackend::getScriptSource):
124761         * inspector/InspectorBackend.h:
124762         * inspector/InspectorBackend.idl:
124763         * inspector/InspectorController.cpp:
124764         (WebCore::InspectorController::didCommitLoad):
124765         (WebCore::InspectorController::getScriptSource):
124766         (WebCore::InspectorController::didParseSource):
124767         * inspector/InspectorController.h:
124768         * inspector/InspectorFrontend.cpp:
124769         (WebCore::InspectorFrontend::didGetScriptSource):
124770         * inspector/InspectorFrontend.h:
124771         * inspector/front-end/InspectorBackendStub.js:
124772         (.WebInspector.InspectorBackendStub.prototype.editScriptSource):
124773         (.WebInspector.InspectorBackendStub.prototype.getScriptSource):
124774         * inspector/front-end/ScriptView.js:
124775         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
124776         (WebInspector.ScriptView.prototype._didGetScriptSource):
124777         (WebInspector.ScriptView.prototype._sourceFrameSetupFinished):
124778
124779 2010-06-10  Adam Barth  <abarth@webkit.org>
124780
124781         Reviewed by Eric Seidel.
124782
124783         Use allowRequestIfNoIllegalURICharacters instead of context for XSSAuditor::canLoadExternalScriptFromSrc
124784         https://bugs.webkit.org/show_bug.cgi?id=40404
124785
124786         We originally added the context parameter to
124787         canLoadExternalScriptFromSrc to work around some false positives caused
124788         by folks checking external script URLs on the server.  Our thought was
124789         that we could tell these were not real XSS attacks because the
124790         surrounding context wouldn't match in the URL and the document.
124791
124792         Implementing this feature in the HTML5 parser is hard because it
124793         pierces a layer of abstraction (the token abstraction of the input
124794         stream).  We could hack this into the new parser, but instead I think
124795         it's better to switch to using the allowRequestIfNoIllegalURICharacters
124796         heuristic.
124797
124798         We designed the allowRequestIfNoIllegalURICharacters after the context
124799         heuristic to deal with other cases where the server was validating
124800         input before echoing it.  However, we never tried applying it to
124801         canLoadExternalScriptFromSrc.
124802
124803         It's possible that this will cause false positives and will need to be
124804         reverted, which is why I've left in some of the infrustructure for
124805         computing context.  We don't have a good way to know if that will
124806         happen except to try.  We do know, however, that this heuristic will
124807         work for the original false positives we saw.
124808
124809         * html/HTML5Tokenizer.cpp:
124810         (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
124811         * html/HTMLTokenizer.cpp:
124812         (WebCore::HTMLTokenizer::parseTag):
124813         * page/XSSAuditor.cpp:
124814         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
124815         * page/XSSAuditor.h:
124816
124817 2010-06-10  Kwang Yul Seo  <skyul@company100.net>
124818
124819         Reviewed by Kent Tamura.
124820
124821         Add ENABLE(DATABASE) guard for DatabaseAuthorizer.cpp
124822         https://bugs.webkit.org/show_bug.cgi?id=40399
124823
124824         Build fix for ENABLE(DATABASE)=0.
124825
124826         * storage/DatabaseAuthorizer.cpp:
124827
124828 2010-06-10  Shu Chang  <chang.shu@nokia.com>
124829
124830         Reviewed by Kenneth Rohde Christiansen.
124831
124832         Change the type of ShadowBlur from int to float in GraphicsContext.
124833         Using int for ShadowBlur loses precision and fails the test.
124834         Note: This code change fixes Qt port but Mac is still failing due to
124835         platform issue. Function CGContextSetShadowWithColor() does not take
124836         a blur value less than 0.5.
124837
124838         https://bugs.webkit.org/show_bug.cgi?id=40370
124839
124840         * platform/graphics/GraphicsContext.cpp:
124841         (WebCore::GraphicsContext::setShadow):
124842         (WebCore::GraphicsContext::getShadow):
124843         * platform/graphics/GraphicsContext.h:
124844         * platform/graphics/GraphicsContextPrivate.h:
124845         * platform/graphics/cairo/FontCairo.cpp:
124846         (WebCore::Font::drawGlyphs):
124847         * platform/graphics/cairo/GraphicsContextCairo.cpp:
124848         (WebCore::GraphicsContext::calculateShadowBufferDimensions):
124849         (WebCore::drawPathShadow):
124850         (WebCore::drawBorderlessRectShadow):
124851         (WebCore::GraphicsContext::setPlatformShadow):
124852         * platform/graphics/cairo/ImageCairo.cpp:
124853         (WebCore::BitmapImage::draw):
124854         * platform/graphics/cg/GraphicsContextCG.cpp:
124855         (WebCore::GraphicsContext::setPlatformShadow):
124856         * platform/graphics/chromium/FontChromiumWin.cpp:
124857         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
124858         (WebCore::Font::drawComplexText):
124859         * platform/graphics/gtk/FontGtk.cpp:
124860         (WebCore::Font::drawComplexText):
124861         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
124862         (WebCore::GraphicsContext::setPlatformShadow):
124863         * platform/graphics/mac/FontMac.mm:
124864         (WebCore::Font::drawGlyphs):
124865         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
124866         (WebCore::GraphicsContext::setPlatformShadow):
124867         * platform/graphics/qt/FontQt.cpp:
124868         (WebCore::Font::drawComplexText):
124869         * platform/graphics/qt/GraphicsContextQt.cpp:
124870         (WebCore::GraphicsContext::drawRect):
124871         (WebCore::GraphicsContext::drawLine):
124872         (WebCore::GraphicsContext::strokeArc):
124873         (WebCore::GraphicsContext::drawConvexPolygon):
124874         (WebCore::drawFilledShadowPath):
124875         (WebCore::GraphicsContext::strokePath):
124876         (WebCore::drawBorderlessRectShadow):
124877         (WebCore::GraphicsContext::setPlatformShadow):
124878         * platform/graphics/qt/ImageQt.cpp:
124879         (WebCore::BitmapImage::draw):
124880         * platform/graphics/skia/GraphicsContextSkia.cpp:
124881         (WebCore::GraphicsContext::setPlatformShadow):
124882         * platform/graphics/skia/SkiaFontWin.cpp:
124883         (WebCore::windowsCanHandleDrawTextShadow):
124884         * platform/graphics/win/FontCGWin.cpp:
124885         (WebCore::drawGDIGlyphs):
124886         (WebCore::Font::drawGlyphs):
124887         * platform/graphics/wince/GraphicsContextWince.cpp:
124888         (WebCore::GraphicsContext::fillRoundedRect):
124889         (WebCore::GraphicsContext::setPlatformShadow):
124890         (WebCore::GraphicsContext::drawText):
124891         * platform/graphics/wx/GraphicsContextWx.cpp:
124892         (WebCore::GraphicsContext::setPlatformShadow):
124893
124894 2010-06-10  Yael Aharon  <yael.aharon@nokia.com>
124895
124896         Reviewed by Kenneth Rohde Christiansen.
124897
124898         Support for loading notification icons
124899         https://bugs.webkit.org/show_bug.cgi?id=40396
124900
124901         Make notification objects download the icon needed for displaying the
124902         notification before calling the NotificationPresenter to display the
124903         notification.
124904
124905         An error during the download would cause the notification to be displayed
124906         without an icon.
124907
124908         If a notification is in the process of download, and a new notification
124909         is created with the same ReplaceId, the download is not cancelled
124910         immediately and the notification is removed only after the download is
124911         complete.
124912   
124913         Tests: http/tests/notifications/icon-does-not-exist.html
124914                http/tests/notifications/icon-exists-cancel.html
124915                http/tests/notifications/icon-exists-show-alert-during-load.html
124916                http/tests/notifications/icon-exists.html
124917                http/tests/notifications/icon-requires-auth.html
124918
124919         * notifications/Notification.cpp:
124920         (WebCore::Notification::Notification):
124921         (WebCore::Notification::~Notification):
124922         (WebCore::Notification::show):
124923         (WebCore::Notification::cancel):
124924         (WebCore::Notification::startLoading):
124925         (WebCore::Notification::stopLoading):
124926         (WebCore::Notification::didReceiveResponse):
124927         (WebCore::Notification::didReceiveData):
124928         (WebCore::Notification::didFinishLoading):
124929         (WebCore::Notification::didFail):
124930         (WebCore::Notification::didFailRedirectCheck):
124931         (WebCore::Notification::didReceiveAuthenticationCancellation):
124932         (WebCore::Notification::finishLoading):
124933         * notifications/Notification.h:
124934         (WebCore::Notification::iconData):
124935         (WebCore::Notification::releaseIconData):
124936         (WebCore::Notification::):
124937
124938 2010-06-10  Raine Makelainen  <raine.makelainen@nokia.com>
124939
124940         Reviewed by Kenneth Rohde Christiansen.
124941
124942         Impossible to set input method hints based HTML5 input types
124943         https://bugs.webkit.org/show_bug.cgi?id=40107
124944
124945         Helper methods for checking "tel", "number", "email",
124946         and "url" input element types.
124947
124948         * html/HTMLInputElement.h:
124949         (WebCore::HTMLInputElement::isTelephoneField):
124950         (WebCore::HTMLInputElement::isNumberField):
124951         (WebCore::HTMLInputElement::isEmailField):
124952         (WebCore::HTMLInputElement::isUrlField):
124953
124954 2010-06-10  Daniel Cheng  <dcheng@chromium.org>
124955
124956         Reviewed by Jian Li.
124957
124958         Don't convert filenames to URLs in edit drags.
124959         https://bugs.webkit.org/show_bug.cgi?id=38826
124960
124961         For security reasons, we don't want to expose file system paths to web
124962         content, so we filter them out of edit drags.
124963
124964         Test: editing/pasteboard/file-drag-to-editable.html
124965
124966         * page/DragController.cpp:
124967         (WebCore::documentFragmentFromDragData):
124968         * platform/DragData.h:
124969         (WebCore::DragData::):
124970         * platform/android/DragDataAndroid.cpp:
124971         (WebCore::DragData::containsURL):
124972         (WebCore::DragData::asURL):
124973         * platform/chromium/DragDataChromium.cpp:
124974         (WebCore::DragData::containsURL):
124975         (WebCore::DragData::asURL):
124976         * platform/efl/DragDataEfl.cpp:
124977         (WebCore::DragData::containsURL):
124978         (WebCore::DragData::asURL):
124979         * platform/gtk/DragDataGtk.cpp:
124980         (WebCore::DragData::containsURL):
124981         (WebCore::DragData::asURL):
124982         * platform/haiku/DragDataHaiku.cpp:
124983         (WebCore::DragData::containsURL):
124984         (WebCore::DragData::asURL):
124985         * platform/mac/DragDataMac.mm:
124986         (WebCore::DragData::containsURL):
124987         (WebCore::DragData::asURL):
124988         * platform/qt/DragDataQt.cpp:
124989         (WebCore::DragData::asPlainText):
124990         (WebCore::DragData::containsURL):
124991         (WebCore::DragData::asURL):
124992         * platform/win/ClipboardUtilitiesWin.cpp:
124993         (WebCore::getURL):
124994         (WebCore::getPlainText):
124995         * platform/win/ClipboardUtilitiesWin.h:
124996         * platform/win/ClipboardWin.cpp:
124997         (WebCore::ClipboardWin::getData):
124998         * platform/win/DragDataWin.cpp:
124999         (WebCore::DragData::containsURL):
125000         (WebCore::DragData::asURL):
125001         * platform/wince/DragDataWince.cpp:
125002         (WebCore::DragData::containsURL):
125003         (WebCore::DragData::asURL):
125004         * platform/wx/DragDataWx.cpp:
125005         (WebCore::DragData::containsURL):
125006         (WebCore::DragData::asURL):
125007
125008 2010-06-10  Mike Belshe  <mbelshe@chromium.org>
125009
125010         Reviewed by David Levin
125011
125012         Track whether a resource is loaded via a proxy.
125013
125014         https://bugs.webkit.org/show_bug.cgi?id=40312
125015
125016         * platform/network/chromium/ResourceResponse.h:
125017         (WebCore::ResourceResponse::wasFetchedViaProxy):
125018         (WebCore::ResourceResponse::setWasFetchedViaProxy):
125019
125020 2010-06-10  Jungshik Shin  <jshin@chromium.org>
125021
125022         Reviewed by Kent Tamura
125023
125024         Bug 38224 - [chromium] Enable rendering of Ethiopic, Lao, Tibetan 
125025                     and a few other scripts on Win XP
125026
125027         https://bugs.webkit.org/show_bug.cgi?id=38224
125028
125029         Make it possible to specify a list of fonts for per-script
125030         fallback instead of a single font per script. This is
125031         necessary for Malayalam (for which Windows font doesn't
125032         support Unicode 5.x fully on Vista or earlier), Ethiopic 
125033         (we want to support on XP with a 3rd party font because XP
125034         doesn't have any Ethiopic font out of the box) and some other
125035         scripts. This is a short-term 'fix' until we have per-script
125036         font preferences.
125037
125038         No layout test is added because the test results would be
125039         dependent on which fonts are present. 
125040
125041         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
125042         (WebCore::):
125043         (WebCore::FontMap::ScriptToFontFamilies::):
125044
125045 2010-06-09  Andrei Popescu  <andreip@google.com>
125046
125047         Reviewed by Adam Barth.
125048
125049         CodeGeneratorJS.pm incorrectly increments $paramIndex when a method is declared with [CallWith]
125050         https://bugs.webkit.org/show_bug.cgi?id=40372
125051
125052         Use two variables to keep track of the number of arguments passed from JavaScript vs the number
125053         of arguments passed to the corresponding C++ method. These numbers can be different since
125054         the parameter declared via [CallWith] is generated in the bindings instead of being passed
125055         from JavaScript.
125056
125057         Test: storage/indexeddb/idb-objectstore-request.html
125058
125059         * bindings/scripts/CodeGeneratorJS.pm:
125060         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
125061         (WebDOMTestObj::withScriptExecutionContext):
125062         * bindings/scripts/test/CPP/WebDOMTestObj.h:
125063         * bindings/scripts/test/JS/JSTestObj.cpp:
125064         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
125065         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
125066         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
125067         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
125068
125069 2010-06-09  MORITA Hajime  <morrita@google.com>
125070
125071         Reviewed by Kent Tamura.
125072
125073         Refactoring: Simple shadow elements should be factored out .
125074         https://bugs.webkit.org/show_bug.cgi?id=40400
125075         
125076         Pulled ShadowElement class up from SliderThumbElement,
125077         ProgressValueElement, ShadowInputElement. 
125078         And renamed ProgressValueElement to ShadowBlockElement.
125079
125080         No new tests. Because there is no functional change.
125081
125082         * CMakeLists.txt:
125083         * GNUmakefile.am:
125084         * WebCore.gypi:
125085         * WebCore.pro:
125086         * WebCore.vcproj/WebCore.vcproj:
125087         * WebCore.xcodeproj/project.pbxproj:
125088         * rendering/RenderFileUploadControl.cpp:
125089         * rendering/RenderProgress.cpp:
125090         (WebCore::RenderProgress::updateValuePartState):
125091         * rendering/RenderProgress.h:
125092         * rendering/RenderSlider.cpp:
125093         (WebCore::SliderThumbElement::SliderThumbElement):
125094         (WebCore::SliderThumbElement::defaultEventHandler):
125095         (WebCore::SliderThumbElement::detach):
125096         * rendering/ShadowElement.cpp: Added.
125097         (WebCore::ShadowBlockElement::create):
125098         (WebCore::ShadowBlockElement::ShadowBlockElement):
125099         (WebCore::ShadowInputElement::create):
125100         (WebCore::ShadowInputElement::ShadowInputElement):
125101         * rendering/ShadowElement.h: Added.
125102         (WebCore::ShadowElement::ShadowElement):
125103         (WebCore::ShadowElement::isShadowNode):
125104         (WebCore::ShadowElement::shadowParentNode):
125105
125106 2010-06-10  Eric Seidel  <eric@webkit.org>
125107
125108         Reviewed by Adam Barth.
125109
125110         Reduce FrameView.h includes to speed up build times
125111         https://bugs.webkit.org/show_bug.cgi?id=40408
125112
125113         Another fix for Qt.
125114
125115         * page/Frame.h:
125116          - Include CSSMutableStyleDeclaration.h since it's used by m_typingStyle = 0;
125117
125118 2010-06-10  Eric Seidel  <eric@webkit.org>
125119
125120         Reviewed by Adam Barth.
125121
125122         Reduce FrameView.h includes to speed up build times
125123         https://bugs.webkit.org/show_bug.cgi?id=40408
125124
125125         More attempted build fixes for Tiger and Qt.
125126
125127         * page/Frame.cpp:
125128         * page/Frame.h:
125129
125130 2010-06-10  Eric Seidel  <eric@webkit.org>
125131
125132         Reviewed by Adam Barth.
125133
125134         Reduce FrameView.h includes to speed up build times
125135         https://bugs.webkit.org/show_bug.cgi?id=40408
125136
125137         Add a few more RenderLayer.h includes to fix non-mac builds.
125138
125139         * page/FrameView.cpp:
125140         * rendering/RenderObject.cpp:
125141         * rendering/RenderTreeAsText.cpp:
125142
125143 2010-06-10  Eric Seidel  <eric@webkit.org>
125144
125145         Reviewed by Adam Barth.
125146
125147         Reduce FrameView.h includes to speed up build times
125148         https://bugs.webkit.org/show_bug.cgi?id=40408
125149
125150         Cleaned up FrameView.h includes and then propagated the
125151         cascade of includes to the necessary .cpp files.
125152         This should reduce the set of files rebuilt every
125153         time FrameView.h changes, and should also reduce the size
125154         of some .o files.
125155
125156         No functional changes, thus no tests.
125157
125158         * accessibility/AccessibilityRenderObject.cpp:
125159         * dom/ContainerNode.cpp:
125160         * dom/Document.cpp:
125161         * dom/Element.cpp:
125162         * dom/EventTarget.h:
125163         * dom/Node.cpp:
125164         * editing/EditorCommand.cpp:
125165         * editing/SelectionController.cpp:
125166         * html/HTML5Tokenizer.cpp:
125167         (WebCore::HTML5Tokenizer::script):
125168          - No need for this to be inline.  Being inline required
125169            Frame.h in the header, which causes huge include cascade.
125170         * html/HTML5Tokenizer.h:
125171         * page/DragController.cpp:
125172         * page/EventHandler.cpp:
125173         * page/Frame.h:
125174         * page/FrameView.h:
125175         * page/PrintContext.cpp:
125176         * page/SpatialNavigation.cpp:
125177         * rendering/RenderBlock.cpp:
125178         * rendering/RenderBlockLineLayout.cpp:
125179         * rendering/RenderImage.cpp:
125180         * rendering/RenderInline.cpp:
125181         * rendering/RenderObject.h:
125182         * rendering/RenderTextControlSingleLine.cpp:
125183         * rendering/RenderWidget.cpp:
125184         * rendering/SVGRenderSupport.cpp:
125185
125186 2010-06-10  Adam Barth  <abarth@webkit.org>
125187
125188         Reviewed by Eric Seidel.
125189
125190         Move HTML5 entity parser to its own file
125191         https://bugs.webkit.org/show_bug.cgi?id=40406
125192
125193         Moving this algorithm to its own file better encapsulates its
125194         dependencies and makes it callable from other parts of WebCore.
125195
125196         * Android.mk:
125197         * CMakeLists.txt:
125198         * GNUmakefile.am:
125199         * WebCore.gypi:
125200         * WebCore.pro:
125201         * WebCore.vcproj/WebCore.vcproj:
125202         * WebCore.xcodeproj/project.pbxproj:
125203         * html/HTML5EntityParser.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
125204         (WebCore::):
125205         (WebCore::consumeHTML5Entity):
125206         * html/HTML5EntityParser.h: Copied from WebCore/html/HTML5Lexer.h.
125207         * html/HTML5Lexer.cpp:
125208         (WebCore::HTML5Lexer::processEntity):
125209         (WebCore::HTML5Lexer::nextToken):
125210         * html/HTML5Lexer.h:
125211
125212 2010-06-09  Tony Gentilcore  <tonyg@chromium.org>
125213
125214         Reviewed by Adam Barth.
125215
125216         HTML5 Parser: Fix fast/profiler tests that depend on event handler line numbers
125217         https://bugs.webkit.org/show_bug.cgi?id=40393
125218
125219         This emulated the old behavior in HTMLTokenizer:processToken()
125220
125221         No new tests because covered by:
125222          - fast/profiler/dead-time.html
125223          - fast/profiler/inline-event-handler.html
125224          - fast/profiler/stop-profiling-after-setTimeout.html
125225          - fast/profiler/throw-exception-from-eval.html
125226
125227         * html/HTML5Tokenizer.cpp:
125228         (WebCore::HTML5Tokenizer::pumpLexer):
125229
125230 2010-06-09  Alexey Proskuryakov  <ap@apple.com>
125231
125232         Reviewed by Dan Bernstein.
125233
125234         https://bugs.webkit.org/show_bug.cgi?id=9504
125235         img tag rewritten by innerHTML doesn't use image map
125236
125237         Test: fast/dom/replaced-image-map.html
125238
125239         * html/HTMLMapElement.cpp:
125240         (WebCore::HTMLMapElement::~HTMLMapElement): Destructor is not a good place to make changes
125241         that affect page behavior, because destructors are called by garbage collector. Don't
125242         undregister the image map from here.
125243         (WebCore::HTMLMapElement::parseMappedAttribute): Only tell document about the map if it's
125244         actually in document. A map in a detached subtree isn't used by Firefox at least.
125245         (WebCore::HTMLMapElement::insertedIntoDocument): Register the map.
125246         (WebCore::HTMLMapElement::removedFromDocument): Unregister the map.
125247
125248         * html/HTMLMapElement.h: Added insertedIntoDocument/removedFromDocument overrides.
125249
125250 2010-06-09  Roland Steiner  <rolandsteiner@chromium.org>
125251
125252         Reviewed by Ojan Vafai.
125253
125254         Bug 35632 -  htmlediting.cpp : isEmptyTableCell() is incomplete
125255         https://bugs.webkit.org/show_bug.cgi?id=35632
125256
125257         Correct isEmptyTableCell to check for the presence of other renderer
125258         children.
125259
125260         Test: editing/deleting/delete-br-in-last-table-cell.html
125261
125262         * editing/htmlediting.cpp:
125263         (WebCore::isEmptyTableCell):
125264
125265 2010-06-09  Qi Zhang  <qi.2.zhang@nokia.com>
125266
125267         Reviewed by Laszlo Gombos.
125268
125269         [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.transformation.html
125270         https://bugs.webkit.org/show_bug.cgi?id=38598
125271
125272         In path transform function handle path only have moveElement case.
125273
125274         * platform/graphics/qt/PathQt.cpp:
125275         (WebCore::Path::transform):
125276
125277 2010-06-09  Anton Muhin  <antonm@chromium.org>
125278
125279         Reviewed by Nate Chapin.
125280
125281         [v8] First phase of switching to new named property query API
125282         https://bugs.webkit.org/show_bug.cgi?id=40303
125283
125284         To allow better management of attributes of intercepted properties,
125285         we're starting to switch to new named property query API which
125286         now could return attributes instead of simple property present/absent
125287         flag.  The next step would remove USE_NEW_QUERY_CALLBACK, then
125288         v8 would have them enabled by default.
125289
125290         * bindings/scripts/CodeGeneratorV8.pm:
125291         * bindings/v8/NPV8Object.cpp:
125292         * bindings/v8/ScriptArray.cpp:
125293         * bindings/v8/ScriptCallStack.cpp:
125294         * bindings/v8/SerializedScriptValue.cpp:
125295         * bindings/v8/V8Binding.cpp:
125296         * bindings/v8/V8DOMWrapper.cpp:
125297         * bindings/v8/V8GCController.cpp:
125298         * bindings/v8/V8IsolatedContext.cpp:
125299         * bindings/v8/V8NPObject.cpp:
125300         (WebCore::npObjectQueryProperty):
125301         * bindings/v8/V8Proxy.cpp:
125302         * bindings/v8/custom/V8PopStateEventCustom.cpp:
125303         * bindings/v8/custom/V8StorageCustom.cpp:
125304         (WebCore::V8Storage::namedPropertyQuery):
125305         * config.h:
125306
125307 2010-06-09  Steve Block  <steveblock@google.com>
125308
125309         Reviewed by Jeremy Orlow.
125310
125311         Need to include V8Proxy.h in V8 generated bindings for toV8Context()
125312         https://bugs.webkit.org/show_bug.cgi?id=40290
125313
125314         No new tests, build fix only.
125315
125316         * bindings/scripts/CodeGeneratorV8.pm:
125317
125318 2010-06-09  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
125319
125320         Reviewed by Kenneth Rohde Christiansen.
125321
125322         WebGL rendering context does not activate unless accelerated
125323         compositing is enabled from settings.
125324         https://bugs.webkit.org/show_bug.cgi?id=37772
125325
125326         * html/HTMLCanvasElement.cpp:
125327         (WebCore::HTMLCanvasElement::getContext):
125328
125329 2010-06-09  Yong Li  <yoli@rim.com>
125330
125331         Reviewed by George Staikos.
125332
125333         https://bugs.webkit.org/show_bug.cgi?id=40252
125334         Make image down-sampling threshold runtime adjustable.
125335
125336         No new test needed.
125337
125338         * platform/graphics/ImageSource.cpp:
125339         (WebCore::ImageSource::setData):
125340         * platform/graphics/ImageSource.h:
125341         (WebCore::ImageSource::maxPixelsPerDecodedImage):
125342         (WebCore::ImageSource::setMaxPixelsPerDecodedImage):
125343
125344 2010-06-09  Adam Barth  <abarth@webkit.org>
125345
125346         Reviewed by Eric Seidel.
125347
125348         Fix handling of bytes received from the network while in document.write
125349         https://bugs.webkit.org/show_bug.cgi?id=40356
125350
125351         The old tokenizer has specially logic for handling the case of
125352         receiving bytes from the network while in a nested call to
125353         document.write.  This patch implements similar logic for the HTML5
125354         tokenizer.  Also, this patch abstracts the tricky shuffling of
125355         SegmentedStrings behind a simple API.
125356
125357         I'm not sure how to trigger this case.  My guess is we can trigger it
125358         using a nested event loop, e.g., via alert(), but I'm not sure how to
125359         test that in a LayoutTest.  There don't appear to be any LayoutTests
125360         that currently test this behavior despite it being present in the old
125361         tokenizer.
125362
125363         * html/HTML5Tokenizer.cpp:
125364         (WebCore::HTML5Tokenizer::pumpLexer):
125365         (WebCore::HTML5Tokenizer::write):
125366             - Added a branch for the |append| argument.
125367         (WebCore::HTML5Tokenizer::end):
125368         (WebCore::HTML5Tokenizer::finish):
125369         (WebCore::HTML5Tokenizer::executeScript):
125370             - Switch over to using a RAII pattern for recording and restoring
125371               insertion points.
125372         * html/HTML5Tokenizer.h:
125373         (WebCore::HTML5Tokenizer::InputStream::InputStream):
125374         (WebCore::HTML5Tokenizer::InputStream::appendToEnd):
125375         (WebCore::HTML5Tokenizer::InputStream::insertAtCurrentInsertionPoint):
125376         (WebCore::HTML5Tokenizer::InputStream::close):
125377             - Putting the close() method on InputStream makes it much easier to
125378               handle EOF.  We now just close the last buffer in the stream when
125379               the network says it's done.
125380         (WebCore::HTML5Tokenizer::InputStream::current):
125381             - This class could be moved to its own file, but it shouldn't be
125382               used outside of the tokenizer.
125383         (WebCore::HTML5Tokenizer::InsertionPointRecord::InsertionPointRecord):
125384         (WebCore::HTML5Tokenizer::InsertionPointRecord::~InsertionPointRecord):
125385             - A simple RAII class for managing saved insertion points.
125386         * platform/text/SegmentedString.cpp:
125387         (WebCore::SegmentedString::operator=):
125388             - Fix a related bug where m_closed was not being copied properly in
125389               the assignment operator.
125390
125391 2010-06-09  Tony Gentilcore  <tonyg@chromium.org>
125392
125393         Reviewed by Adam Barth.
125394
125395         Fix fast/parser/hex-entities-length.html for HTML5 parser
125396         https://bugs.webkit.org/show_bug.cgi?id=40385
125397
125398         Stripping surrogate pair values appears to be a problem with the spec
125399         in "Preprocessing the input stream." Minefield doesn't appear to
125400         implement the part in question. So this patch removes that guard and
125401         adds a FIXME to track the issue.
125402
125403         No new tests because covered by fast/parser/hex-entities-length.html
125404
125405         * html/HTML5Lexer.h:
125406         (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
125407
125408 2010-06-09  Kenneth Russell  <kbr@google.com>
125409
125410         Reviewed by Dimitri Glazkov.
125411
125412         Update readPixels to take ArrayBufferView rather than returning it
125413         https://bugs.webkit.org/show_bug.cgi?id=40322
125414
125415         No new tests; covered by existing tests, which have been modified.
125416
125417         * html/canvas/WebGLRenderingContext.cpp:
125418         (WebCore::WebGLRenderingContext::readPixels):
125419         * html/canvas/WebGLRenderingContext.h:
125420         * html/canvas/WebGLRenderingContext.idl:
125421
125422 2010-06-09  Enrico Ros  <eros@codeaurora.org>
125423
125424         Reviewed by Ariya Hidayat.
125425
125426         Fix drawing zero-sized gradients on Canvas.
125427         https://bugs.webkit.org/show_bug.cgi?id=40340
125428
125429         HTML5 draft says that nothing must be painted if the gradient start
125430         point equals the stop point.
125431
125432         This commit fixes the following canvas test:
125433         http://philip.html5.org/tests/canvas/suite/tests/2d.gradient.interpolate.zerosize.html
125434
125435         * html/canvas/CanvasRenderingContext2D.cpp:
125436         (WebCore::CanvasRenderingContext2D::fillRect): skip zero-sized linear gradients
125437         * platform/graphics/Gradient.h:
125438         (WebCore::Gradient::isRadial): made public
125439         (WebCore::Gradient::isZeroSize): true if start == stop
125440
125441 2010-06-09  Leandro Pereira  <leandro@profusion.mobi>
125442
125443         Reviewed by Adam Treat.
125444
125445         [EFL] Allow building core libraries as shared objects to speed up
125446         linking time on machines with small amounts of memory.
125447         http://webkit.org/b/39899
125448
125449         * CMakeLists.txt: If building with shared core, install the lib.
125450         Remove npapi.cpp (causes conflicts when linking dynamically).
125451         * CMakeListsEfl.txt: EFL libraries are needed to link dynamically.
125452
125453 2010-06-09  Mark Rowe  <mrowe@apple.com>
125454
125455         Reviewed by Adele Peterson.
125456
125457         <rdar://problem/8070662> REGRESSION (r51629): WebBackForwardList created via -init crashes when -addItem: is called.
125458
125459         A WebBackForwardList created via -init results in a BackForwardList being created with a null m_page.
125460         BackForwardList needs to be careful not to dereference m_page without first ensuring it's not null.
125461
125462         * history/BackForwardList.cpp:
125463         (WebCore::BackForwardList::addItem): Null-check m_page.
125464         (WebCore::BackForwardList::goBack): Ditto.
125465         (WebCore::BackForwardList::goForward): Ditto.
125466         (WebCore::BackForwardList::goToItem): Ditto.
125467         (WebCore::BackForwardList::setCapacity): Ditto.
125468
125469 2010-06-09  Kwang Yul Seo  <skyul@company100.net>
125470
125471         Reviewed by Kent Tamura.
125472
125473         [BREWMP] Add dummy Context Menu implementation
125474         https://bugs.webkit.org/show_bug.cgi?id=40223
125475
125476         Brew MP does not use Context Menu. Add dummy implementation.
125477
125478         * platform/brew/ContextMenuBrew.cpp: Added.
125479         (WebCore::ContextMenu::ContextMenu):
125480         (WebCore::ContextMenu::~ContextMenu):
125481         (WebCore::ContextMenu::itemCount):
125482         (WebCore::ContextMenu::insertItem):
125483         (WebCore::ContextMenu::appendItem):
125484         (WebCore::ContextMenu::itemWithAction):
125485         (WebCore::ContextMenu::itemAtIndex):
125486         (WebCore::ContextMenu::setPlatformDescription):
125487         (WebCore::ContextMenu::platformDescription):
125488         (WebCore::ContextMenu::releasePlatformDescription):
125489         * platform/brew/ContextMenuItemBrew.cpp: Added.
125490         (WebCore::ContextMenuItem::ContextMenuItem):
125491         (WebCore::ContextMenuItem::~ContextMenuItem):
125492         (WebCore::ContextMenuItem::releasePlatformDescription):
125493         (WebCore::ContextMenuItem::type):
125494         (WebCore::ContextMenuItem::action):
125495         (WebCore::ContextMenuItem::title):
125496         (WebCore::ContextMenuItem::platformSubMenu):
125497         (WebCore::ContextMenuItem::setType):
125498         (WebCore::ContextMenuItem::setAction):
125499         (WebCore::ContextMenuItem::setTitle):
125500         (WebCore::ContextMenuItem::setSubMenu):
125501         (WebCore::ContextMenuItem::setChecked):
125502         (WebCore::ContextMenuItem::setEnabled):
125503         (WebCore::ContextMenuItem::enabled):
125504
125505 2010-06-09  Kwang Yul Seo  <skyul@company100.net>
125506
125507         Reviewed by Kent Tamura.
125508
125509         [BREWMP] Port Clipboard
125510         https://bugs.webkit.org/show_bug.cgi?id=35734
125511
125512         Add dummy Clipboard.
125513
125514         * platform/brew/ClipboardBrew.cpp: Added.
125515         (WebCore::ClipboardBrew::ClipboardBrew):
125516         (WebCore::ClipboardBrew::~ClipboardBrew):
125517         (WebCore::ClipboardBrew::clearData):
125518         (WebCore::ClipboardBrew::clearAllData):
125519         (WebCore::ClipboardBrew::getData):
125520         (WebCore::ClipboardBrew::setData):
125521         (WebCore::ClipboardBrew::types):
125522         (WebCore::ClipboardBrew::files):
125523         (WebCore::ClipboardBrew::setDragImage):
125524         (WebCore::ClipboardBrew::setDragImageElement):
125525         (WebCore::ClipboardBrew::createDragImage):
125526         (WebCore::ClipboardBrew::declareAndWriteDragImage):
125527         (WebCore::ClipboardBrew::writeURL):
125528         (WebCore::ClipboardBrew::writeRange):
125529         (WebCore::ClipboardBrew::writePlainText):
125530         (WebCore::ClipboardBrew::hasData):
125531         * platform/brew/ClipboardBrew.h: Added.
125532
125533 2010-06-09  Anders Bakken  <agbakken@gmail.com>
125534
125535         Reviewed by David Levin.
125536
125537         [Qt] ClipboardQt.cpp has coding-style errors
125538         https://bugs.webkit.org/show_bug.cgi?id=39781
125539
125540         * platform/qt/ClipboardQt.cpp:
125541         (WebCore::ClipboardQt::declareAndWriteDragImage):
125542
125543 2010-06-09  Kenneth Russell  <kbr@google.com>
125544
125545         Reviewed by Dimitri Glazkov.
125546
125547         Rename FloatArray to Float32Array
125548         https://bugs.webkit.org/show_bug.cgi?id=40323
125549
125550         Used do-webcore-rename to perform renaming. Manually undid
125551         incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp,
125552         WebCore/manual-tests/resources/ArrayParameterTestApplet.java and
125553         ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran
125554         all layout tests on Safari; built Chromium and ran selected WebGL
125555         tests.
125556
125557         * CMakeLists.txt:
125558         * DerivedSources.make:
125559         * GNUmakefile.am:
125560         * WebCore.gypi:
125561         * WebCore.pri:
125562         * WebCore.pro:
125563         * WebCore.xcodeproj/project.pbxproj:
125564         * bindings/generic/RuntimeEnabledFeatures.h:
125565         (WebCore::RuntimeEnabledFeatures::float32ArrayEnabled):
125566         * bindings/js/JSArrayBufferViewCustom.cpp:
125567         (WebCore::toJS):
125568         * bindings/js/JSDOMWindowCustom.cpp:
125569         (WebCore::JSDOMWindow::float32Array):
125570         (WebCore::JSDOMWindow::webGLFloatArray):
125571         * bindings/js/JSFloat32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSFloatArrayConstructor.cpp.
125572         (WebCore::):
125573         (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
125574         (WebCore::constructCanvasFloatArray):
125575         (WebCore::JSFloat32ArrayConstructor::getConstructData):
125576         * bindings/js/JSFloat32ArrayConstructor.h: Copied from WebCore/bindings/js/JSFloatArrayConstructor.h.
125577         * bindings/js/JSFloat32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSFloatArrayCustom.cpp.
125578         (WebCore::JSFloat32Array::indexSetter):
125579         (WebCore::toJS):
125580         (WebCore::JSFloat32Array::set):
125581         * bindings/js/JSFloatArrayConstructor.cpp: Removed.
125582         * bindings/js/JSFloatArrayConstructor.h: Removed.
125583         * bindings/js/JSFloatArrayCustom.cpp: Removed.
125584         * bindings/js/JSWebGLRenderingContextCustom.cpp:
125585         (WebCore::dataFunctionf):
125586         (WebCore::dataFunctionMatrix):
125587         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
125588         (WebCore::toV8):
125589         * bindings/v8/custom/V8DOMWindowCustom.cpp:
125590         (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
125591         * bindings/v8/custom/V8Float32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8FloatArrayCustom.cpp.
125592         (WebCore::V8Float32Array::constructorCallback):
125593         (WebCore::V8Float32Array::setCallback):
125594         (WebCore::toV8):
125595         * bindings/v8/custom/V8FloatArrayCustom.cpp: Removed.
125596         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
125597         (WebCore::vertexAttribAndUniformHelperf):
125598         (WebCore::uniformMatrixHelper):
125599         * html/canvas/Float32Array.cpp: Copied from WebCore/html/canvas/FloatArray.cpp.
125600         (WebCore::Float32Array::create):
125601         (WebCore::Float32Array::Float32Array):
125602         (WebCore::Float32Array::slice):
125603         * html/canvas/Float32Array.h: Copied from WebCore/html/canvas/FloatArray.h.
125604         * html/canvas/Float32Array.idl: Copied from WebCore/html/canvas/FloatArray.idl.
125605         * html/canvas/FloatArray.cpp: Removed.
125606         * html/canvas/FloatArray.h: Removed.
125607         * html/canvas/FloatArray.idl: Removed.
125608         * html/canvas/WebGLGetInfo.cpp:
125609         (WebCore::WebGLGetInfo::WebGLGetInfo):
125610         (WebCore::WebGLGetInfo::getWebGLFloatArray):
125611         * html/canvas/WebGLGetInfo.h:
125612         * html/canvas/WebGLRenderingContext.cpp:
125613         (WebCore::WebGLRenderingContext::getUniform):
125614         (WebCore::WebGLRenderingContext::getVertexAttrib):
125615         (WebCore::WebGLRenderingContext::uniform1fv):
125616         (WebCore::WebGLRenderingContext::uniform2fv):
125617         (WebCore::WebGLRenderingContext::uniform3fv):
125618         (WebCore::WebGLRenderingContext::uniform4fv):
125619         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
125620         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
125621         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
125622         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
125623         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
125624         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
125625         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
125626         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
125627         * html/canvas/WebGLRenderingContext.h:
125628         * html/canvas/WebGLRenderingContext.idl:
125629         * page/DOMWindow.idl:
125630         * platform/graphics/GraphicsContext3D.h:
125631         * platform/graphics/mac/GraphicsContext3DMac.cpp:
125632         * platform/graphics/qt/GraphicsContext3DQt.cpp:
125633
125634 2010-06-09  Eric Seidel  <eric@webkit.org>
125635
125636         Reviewed by Adam Barth.
125637
125638         HTML5 Parser needs to integrate with the XSSAuditor
125639         https://bugs.webkit.org/show_bug.cgi?id=40287
125640
125641         This fixes most of the XSSAuditor tests, except for the ones
125642         which rely on the srcValue "context".  The previous HTMLTokenizer
125643         implementation was both Lexer and ScriptRunner and thus could
125644         provide the XSSAuditor with the un-modified attribute source.
125645         This naive implementation will fail the context-sensitive tests
125646         but Adam Barth says he'll just have to find a new way to provide
125647         the required information to the XSSAuditor in a later patch.
125648
125649         Covered by numerous http/tests/security/xssAuditor tests.
125650
125651         * html/HTML5ScriptRunner.cpp:
125652         (WebCore::HTML5ScriptRunner::requestScript):
125653          - Ask the HTML5ScriptRunner host before running any scripts.
125654         * html/HTML5ScriptRunnerHost.h:
125655          - Add a shouldLoadExternalScriptFromSrc declaration.
125656         * html/HTML5Tokenizer.cpp:
125657         (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
125658          - Ask the XSSAuditor if we're allowed to run the passed script.
125659         * html/HTML5Tokenizer.h:
125660
125661 2010-06-09  Tony Gentilcore  <tonyg@chromium.org>
125662
125663         Reviewed by Adam Barth.
125664
125665         Fix script-after-frameset test in HTML5 parser
125666         https://bugs.webkit.org/show_bug.cgi?id=40274
125667
125668         The old HTMLTokenizer enforced this in scriptHandler(). We don't use
125669         that code anymore, so it needs to be implemented. The spec does this
125670         as a part of "insertion mode"->"after frameset", so this adds an
125671         InsertionMode enum instead of a one-off boolean.
125672
125673         No new tests because covered by fast/tokenizer/script-after-frameset.html
125674
125675         * html/HTML5TreeBuilder.cpp:
125676         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
125677         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
125678         * html/HTML5TreeBuilder.h:
125679         (WebCore::HTML5TreeBuilder::):
125680         (WebCore::HTML5TreeBuilder::setInsertionMode):
125681         (WebCore::HTML5TreeBuilder::insertionMode):
125682
125683 2010-06-09  Kwang Yul Seo  <skyul@company100.net>
125684
125685         Reviewed by Kent Tamura.
125686
125687         [BREWMP] Add EventLoop
125688         https://bugs.webkit.org/show_bug.cgi?id=39401
125689
125690         BREW MP does not have an explicit event loop. Add dummy EventLoop::cycle.
125691
125692         * platform/brew/EventLoopBrew.cpp: Added.
125693         (WebCore::EventLoop::cycle):
125694
125695 2010-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
125696
125697         Unreviewed, rolling out r60889.
125698         http://trac.webkit.org/changeset/60889
125699         https://bugs.webkit.org/show_bug.cgi?id=40365
125700
125701         gtk bot has some kind of memory corruption (Requested by
125702         loislo on #webkit).
125703
125704         * inspector/InspectorClient.h:
125705         * inspector/InspectorController.cpp:
125706         (WebCore::InspectorController::setFrontend):
125707         * inspector/InspectorController.h:
125708         * inspector/InspectorFrontend.cpp:
125709         (WebCore::InspectorFrontend::InspectorFrontend):
125710         * inspector/InspectorFrontend.h:
125711         * inspector/InspectorFrontendClientLocal.cpp:
125712         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
125713         * inspector/InspectorValues.cpp:
125714         (WebCore::InspectorObject::writeJSON):
125715         * inspector/front-end/inspector.js:
125716         * loader/EmptyClients.h:
125717
125718 2010-06-09  Kent Tamura  <tkent@chromium.org>
125719
125720         Reviewed by Eric Carlson.
125721
125722         [Windows] Build fix on Japanese Windows
125723         https://bugs.webkit.org/show_bug.cgi?id=40358
125724
125725         cl.exe on Japanese Windows assumes files with invalid CP932
125726         sequences broken and doesn't build them at all.
125727
125728         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Remove non-ASCII characters
125729         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: ditto.
125730         * platform/graphics/win/WKCAImageQueue.cpp: ditto.
125731         * platform/graphics/win/WKCAImageQueue.h: ditto.
125732
125733 2010-06-09  Pavel Podivilov  <podivilov@chromium.org>
125734
125735         Reviewed by Yury Semikhatsky.
125736
125737         Web Inspector: Add isDebuggerAlwaysEnabled method to ScriptDebugServer.
125738         This method returns true if debugger should always be enabled when
125739         frontend is attached.
125740         https://bugs.webkit.org/show_bug.cgi?id=40289
125741
125742         * bindings/js/ScriptDebugServer.cpp:
125743         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
125744         * bindings/js/ScriptDebugServer.h:
125745         * bindings/v8/ScriptDebugServer.cpp:
125746         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
125747         * bindings/v8/ScriptDebugServer.h:
125748         * inspector/InspectorController.cpp:
125749         (WebCore::InspectorController::setFrontend):
125750
125751 2010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>
125752
125753         Reviewed by Pavel Feldman.
125754
125755         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
125756         data from inspected page to WebInspector as JSON string via http. The native
125757         serialization to JSON string is supported by InspectorValue's classes. This patch
125758         has the implementation of sendMessageToFrontend function. WebKit version of it still
125759         uses ScriptFunctionCall and will be switched to another transport a little bit later.
125760         https://bugs.webkit.org/show_bug.cgi?id=40134
125761
125762         * inspector/InspectorClient.h:
125763         * inspector/InspectorController.cpp:
125764         (WebCore::InspectorController::connectFrontend):
125765         (WebCore::InspectorController::disconnectFrontend):
125766         * inspector/InspectorController.h:
125767         * inspector/InspectorFrontend.cpp:
125768         (WebCore::InspectorFrontend::InspectorFrontend):
125769         * inspector/InspectorFrontend.h:
125770         * inspector/InspectorFrontendClientLocal.cpp:
125771         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
125772         * inspector/InspectorValues.cpp:
125773         (WebCore::InspectorObject::writeJSON):
125774         * inspector/front-end/inspector.js:
125775         (WebInspector.dispatchMessageToFrontend):
125776         * loader/EmptyClients.h:
125777         (WebCore::EmptyInspectorClient::sendMessageToFrontend):
125778
125779 2010-06-09  Csaba Osztrogonác  <ossy@webkit.org>
125780
125781         Reviewed by Dirk Schulze.
125782
125783         [Qt] Imperfect dependency for generated SVGNames.cpp
125784         https://bugs.webkit.org/show_bug.cgi?id=40359
125785
125786         * WebCore.pri: Missing dependency added.
125787
125788 2010-06-08  Dirk Schulze  <krit@webkit.org>
125789
125790         Reviewed by Nikolas Zimmermann.
125791
125792         Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
125793         https://bugs.webkit.org/show_bug.cgi?id=31438
125794         
125795         This is the implementation of the SVG property vector-effect according
125796         to the specification of SVG Tiny 1.2.
125797         getScreenCTM() was not able to calculate the transformation matrix in
125798         comparison to the host coordinate system for objects, that get refereced
125799         by a use element. This is fixed and covered by the the new test as well.
125800         This patch is based upon a patch of Jeff Schiller.
125801
125802         Test: svg/custom/non-scaling-stroke.svg
125803
125804         * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
125805         (WebCore::):
125806         * css/CSSPrimitiveValueMappings.h:
125807         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
125808         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
125809         * css/SVGCSSComputedStyleDeclaration.cpp:
125810         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
125811         * css/SVGCSSParser.cpp:
125812         (WebCore::CSSParser::parseSVGValue):
125813         * css/SVGCSSPropertyNames.in:
125814         * css/SVGCSSStyleSelector.cpp:
125815         (WebCore::CSSStyleSelector::applySVGProperty):
125816         * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
125817         * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
125818         (WebCore::fillAndStrokePath):
125819         * rendering/RenderSVGResourceContainer.h:
125820         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
125821         * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
125822         (WebCore::RenderSVGResourceGradient::applyResource):
125823         * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
125824         (WebCore::RenderSVGResourcePattern::applyResource):
125825         * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
125826         (WebCore::SVGRenderStyle::NonInheritedFlags::):
125827         (WebCore::SVGRenderStyle::setBitDefaults):
125828         * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
125829         (WebCore::):
125830         * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
125831         (WebCore::SVGLocatable::computeCTM):
125832         * svg/SVGStyledElement.cpp:
125833         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
125834         * svg/svgattrs.in:
125835
125836 2010-06-08  Mark Rowe  <mrowe@apple.com>
125837
125838         Reviewed by Adele Peterson.
125839
125840         <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
125841
125842         Revert the change to ContextMenu::addInspectElementItem from r56051. It was made without
125843         explanation and broke a reliance that WebKit has on the presence of a separator before the
125844         Inspect Element menu item. This also restores the context menu item to the correct location
125845         at the bottom of the context menu in applications built against the Mac OS X 10.4 SDK.
125846
125847         * platform/ContextMenu.cpp:
125848         (WebCore::ContextMenu::addInspectElementItem):
125849
125850 2010-06-08  Roland Steiner  <rolandsteiner@chromium.org>
125851
125852         Unreviewed build fix
125853
125854         Bug 38145 - Validate *tex* functions input parameters according to ES2 conformance
125855         https://bugs.webkit.org/show_bug.cgi?id=38145
125856         https://bugs.webkit.org/show_bug.cgi?id=40346
125857
125858         Fix for 38145 broke the build ('log2 not found' on Windows),
125859         the fix from 40346 also didn't catch ('log ambiguous').
125860
125861         2nd quick fix: add explicit casts to double and use double constants.
125862
125863         No new tests.
125864
125865         * html/canvas/WebGLRenderingContext.cpp:
125866         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
125867
125868 2010-05-18  Yuzo Fujishima  <yuzo@google.com>
125869
125870         Reviewed by Shinichiro Hamaji.
125871
125872         Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
125873         Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
125874         Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
125875         https://bugs.webkit.org/show_bug.cgi?id=34529
125876
125877         Test: fast/css/selector-text-escape.html
125878
125879         * Android.mk:
125880         * CMakeLists.txt:
125881         * GNUmakefile.am:
125882         * WebCore.gypi:
125883         * WebCore.pro:
125884         * WebCore.vcproj/WebCore.vcproj:
125885         * WebCore.xcodeproj/project.pbxproj:
125886         * css/CSSOMUtils.cpp: Added.
125887         (WebCore::appendCharacter):
125888         (WebCore::serializeCharacter):
125889         (WebCore::serializeCharacterAsCodePoint):
125890         (WebCore::serializeIdentifier):
125891         (WebCore::serializeString):
125892         * css/CSSOMUtils.h: Added.
125893         * css/CSSSelector.cpp:
125894         (WebCore::CSSSelector::selectorText):
125895
125896 2010-06-08  Ryosuke Niwa  <rniwa@webkit.org>
125897
125898         Reviewed by Justin Garcia
125899
125900         InsertListCommand needs cleanup
125901         https://bugs.webkit.org/show_bug.cgi?id=36430
125902
125903         Separated code for listifying and unlistifying paragraphs.
125904         Also isolated the dependency on the selection in doApply.
125905
125906         No test is added since this is a cleanup.
125907
125908         * editing/InsertListCommand.cpp:
125909         (WebCore::InsertListCommand::doApply): isolated code to listify / unlistify paragraphs
125910         (WebCore::InsertListCommand::unlistifyParagraph): ditto
125911         (WebCore::InsertListCommand::listifyParagraph): ditto
125912         * editing/InsertListCommand.h:
125913
125914 2010-06-08  Kenneth Russell  <kbr@google.com>
125915
125916         Unreviewed, build fix.
125917
125918         Fix build breakage from 38145
125919         https://bugs.webkit.org/show_bug.cgi?id=40346
125920
125921         The fix for bug 38145 broke the Chromium Win build because
125922         Microsoft's cmath doesn't define log2. Suggested fix by zmo is to
125923         change log2(x) to log(x) / log(2). Built and ran WebGL layout
125924         tests in Safari on Mac OS X. Changed download mirrors for
125925         python-irclib to working ones.
125926
125927         * html/canvas/WebGLRenderingContext.cpp:
125928         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
125929
125930 2010-06-08  Zhenyao Mo  <zmo@google.com>
125931
125932         Reviewed by Dimitri Glazkov.
125933
125934         Validate *tex* functions input parameters according to ES2 conformance
125935         https://bugs.webkit.org/show_bug.cgi?id=38145
125936
125937         Test: fast/canvas/webgl/tex-input-validation.html
125938
125939         * html/canvas/WebGLFramebuffer.cpp:
125940         (WebCore::WebGLFramebuffer::getColorBufferFormat): Get color buffer internalformat.
125941         * html/canvas/WebGLFramebuffer.h: Ditto.
125942         * html/canvas/WebGLRenderingContext.cpp:
125943         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with max tex units and max texture size.
125944         (WebCore::WebGLRenderingContext::copyTexImage2D): Validate input parameters.
125945         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
125946         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
125947         (WebCore::WebGLRenderingContext::texParameterf): Ditto.
125948         (WebCore::WebGLRenderingContext::texParameteri): Ditto.
125949         (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
125950         (WebCore::WebGLRenderingContext::handleNPOTTextures): Deal with max tex units.
125951         (WebCore::WebGLRenderingContext::isTexInternalformatColorBufferCombinationValid): Check whether the texture format and framebuffer color buffer internalformat combination is valid.
125952         (WebCore::WebGLRenderingContext::getTextureBinding): get the current bound texture for given target.
125953         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Validate input format/type for *tex* functions.
125954         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Validate input parameters for *tex* functions.
125955         (WebCore::WebGLRenderingContext::texParameter): Base function for texParameteri and texParameterf.
125956         * html/canvas/WebGLRenderingContext.h: Deal with max tex units.
125957         * html/canvas/WebGLTexture.cpp:
125958         (WebCore::WebGLTexture::WebGLTexture): Cache internalformat.
125959         * html/canvas/WebGLTexture.h: Ditto.
125960         (WebCore::WebGLTexture::setInternalformat):
125961         (WebCore::WebGLTexture::getInternalformat):
125962         * platform/graphics/GraphicsContext3D.cpp: internalformat and format need to be the same.
125963         (WebCore::GraphicsContext3D::extractImageData):
125964
125965 2010-06-08  Erik Arvidsson  <arv@chromium.org>
125966
125967         Reviewed by Ojan Vafai.
125968
125969         REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
125970         https://bugs.webkit.org/show_bug.cgi?id=38548
125971
125972         Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
125973
125974         * page/FocusController.cpp:
125975         (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
125976                                            returns false.
125977
125978 2010-06-08  Enrico Ros  <eros@codeaurora.org>
125979
125980         Reviewed by Ariya Hidayat.
125981
125982         [Qt] Crashfix on Path::contains
125983         https://bugs.webkit.org/show_bug.cgi?id=40253
125984
125985         Fix accessing the first item of an empty vector, that happens when
125986         CanvasRenderingContext2D::isPointInPath is invoked over a borderless
125987         path (e.g. a path made of just a MoveTo operation).
125988
125989         * platform/graphics/qt/PathQt.cpp:
125990         (WebCore::isPointOnPathBorder):
125991
125992 2010-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
125993
125994         Unreviewed, rolling out r60859.
125995         http://trac.webkit.org/changeset/60859
125996         https://bugs.webkit.org/show_bug.cgi?id=40334
125997
125998         Included debugging statements. Caused a test to fail.
125999         (Requested by ojan on #webkit).
126000
126001         * page/FocusController.cpp:
126002         (WebCore::clearSelectionIfNeeded):
126003
126004 2010-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
126005
126006         Unreviewed, rolling out r60858.
126007         http://trac.webkit.org/changeset/60858
126008         https://bugs.webkit.org/show_bug.cgi?id=40325
126009
126010         Qt needs a clean build. Rolling out the patch for now and fix
126011         it tomorrow (Requested by krit on #webkit).
126012
126013         * css/CSSComputedStyleDeclaration.cpp:
126014         (WebCore::):
126015         * css/CSSPrimitiveValueMappings.h:
126016         * css/SVGCSSComputedStyleDeclaration.cpp:
126017         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
126018         * css/SVGCSSParser.cpp:
126019         (WebCore::CSSParser::parseSVGValue):
126020         * css/SVGCSSPropertyNames.in:
126021         * css/SVGCSSStyleSelector.cpp:
126022         (WebCore::CSSStyleSelector::applySVGProperty):
126023         * css/SVGCSSValueKeywords.in:
126024         * rendering/RenderPath.cpp:
126025         (WebCore::fillAndStrokePath):
126026         * rendering/RenderSVGResourceContainer.h:
126027         * rendering/RenderSVGResourceGradient.cpp:
126028         (WebCore::RenderSVGResourceGradient::applyResource):
126029         * rendering/RenderSVGResourcePattern.cpp:
126030         (WebCore::RenderSVGResourcePattern::applyResource):
126031         * rendering/style/SVGRenderStyle.h:
126032         (WebCore::SVGRenderStyle::NonInheritedFlags::):
126033         (WebCore::SVGRenderStyle::setBitDefaults):
126034         * rendering/style/SVGRenderStyleDefs.h:
126035         (WebCore::):
126036         * svg/SVGLocatable.cpp:
126037         (WebCore::SVGLocatable::computeCTM):
126038         * svg/SVGStyledElement.cpp:
126039         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
126040         * svg/svgattrs.in:
126041
126042 2010-06-08  Daniel Bates  <dbates@rim.com>
126043
126044         Unreviewed, fix Xcode project file after change-set 60841.
126045
126046         Xcode is not happy about the entries for files EditingBehavior.h and
126047         EditingBehaviorTypes.h that were added in change-set 60841 (Bug # 39854).
126048         Lets make Xcode happy.
126049
126050         Also, lets place these entries in alphabetic order.
126051
126052         * WebCore.xcodeproj/project.pbxproj:
126053
126054 2010-06-08  Erik Arvidsson  <arv@chromium.org>
126055
126056         Reviewed by Ojan Vafai.
126057
126058         REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
126059         https://bugs.webkit.org/show_bug.cgi?id=38548
126060
126061         We should not clear the selection when canStartSelection returns false.
126062
126063         Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
126064
126065         * page/FocusController.cpp:
126066         (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
126067                                            returns false.
126068
126069 2010-06-08  Dirk Schulze  <krit@webkit.org>
126070
126071         Reviewed by Nikolas Zimmermann.
126072
126073         Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
126074         https://bugs.webkit.org/show_bug.cgi?id=31438
126075         
126076         This is the implementation of the SVG property vector-effect according
126077         to the specification of SVG Tiny 1.2.
126078         getScreenCTM() was not able to calculate the transformation matrix in
126079         comparison to the host coordinate system for objects, that get refereced
126080         by a use element. This is fixed and covered by the the new test as well.
126081         This patch is based upon a patch of Jeff Schiller.
126082
126083         Test: svg/custom/non-scaling-stroke.svg
126084
126085         * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
126086         (WebCore::):
126087         * css/CSSPrimitiveValueMappings.h:
126088         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
126089         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
126090         * css/SVGCSSComputedStyleDeclaration.cpp:
126091         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
126092         * css/SVGCSSParser.cpp:
126093         (WebCore::CSSParser::parseSVGValue):
126094         * css/SVGCSSPropertyNames.in:
126095         * css/SVGCSSStyleSelector.cpp:
126096         (WebCore::CSSStyleSelector::applySVGProperty):
126097         * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
126098         * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
126099         (WebCore::fillAndStrokePath):
126100         * rendering/RenderSVGResourceContainer.h:
126101         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
126102         * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
126103         (WebCore::RenderSVGResourceGradient::applyResource):
126104         * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
126105         (WebCore::RenderSVGResourcePattern::applyResource):
126106         * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
126107         (WebCore::SVGRenderStyle::NonInheritedFlags::):
126108         (WebCore::SVGRenderStyle::setBitDefaults):
126109         * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
126110         (WebCore::):
126111         * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
126112         (WebCore::SVGLocatable::computeCTM):
126113         * svg/SVGStyledElement.cpp:
126114         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
126115         * svg/svgattrs.in:
126116
126117 2010-06-08  Alexey Proskuryakov  <ap@apple.com>
126118
126119         * GNUmakefile.am: Also adding platform/Cursor.cpp to Gtk build.
126120
126121 2010-06-08  Csaba Osztrogonác  <ossy@webkit.org>
126122
126123         [Qt] Unreviewed buildfix after r60849.
126124
126125         * WebCore.pro: platform/Cursor.cpp is added to Qt build system.
126126
126127 2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
126128
126129         Unreviewed Buildbot fix.
126130
126131         Reset the Qt TextBreakIterator when reusing it.
126132
126133         * platform/text/qt/TextBreakIteratorQt.cpp:
126134         (WebCore::setUpIterator):
126135
126136 2010-06-04  Alexey Proskuryakov  <ap@apple.com>
126137
126138         Reviewed by John Sullivan.
126139
126140         https://bugs.webkit.org/show_bug.cgi?id=15779
126141         <rdar://problem/8002964> Custom CSS .cur cursor anchor point is ignored
126142
126143         Test: manual-tests/cur-hotspot.html
126144
126145         Currently, this patch only has effect in Safari 5 on Windows. Other platforms will need
126146         to implement getting hot spot information from .cur files.
126147
126148         * WebCore.vcproj/WebCore.vcproj:
126149         * WebCore.xcodeproj/project.pbxproj:
126150         Added Cursor.cpp. Looks like TextWrangler fixed line endings in vcproj file.
126151
126152         * css/CSSCursorImageValue.cpp:
126153         (WebCore::CSSCursorImageValue::CSSCursorImageValue): Renamed "hotspot" to "hotSpot" to match
126154         other code.
126155         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Ditto. Added a FIXME about possibly
126156         incorrect code for resolving differences with CSS specified hotspot.
126157
126158         * css/CSSCursorImageValue.h:
126159         (WebCore::CSSCursorImageValue::create):
126160         (WebCore::CSSCursorImageValue::hotSpot):
126161         Renamed "hotspot" to "hotSpot" to match other code.
126162
126163         * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Start with an invalid value for hot
126164         spot, so that we can differentiate between missing and (0, 0) CSS hot spots. Missing and
126165         invalid (-1, -1) are treated identically by Firefox, so we don't need to differentiate these.
126166
126167         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Renamed "hotspot" to
126168         "hotSpot" to match other code.
126169
126170         * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor): Don't ignore cursors with
126171         invalid CSS hot spots. Firefox ignores only the hot spot, not the whole cursor in this case
126172         (and IE doesn't support CSS3 cursor declarations).
126173
126174         * platform/Cursor.cpp: Added. (WebCore::determineHotSpot): Added a function that decides
126175         where hot spot is, provided an image and a possible out of band coordinate specification.
126176
126177         * platform/Cursor.h: Added determineHotSpot().
126178
126179         * platform/graphics/BitmapImage.cpp:
126180         (WebCore::BitmapImage::getHotSpot):
126181         * platform/graphics/BitmapImage.h:
126182         * platform/graphics/Image.h:
126183         (WebCore::Image::getHotSpot):
126184         * platform/graphics/ImageSource.cpp:
126185         (WebCore::ImageSource::getHotSpot):
126186         * platform/graphics/ImageSource.h:
126187         Added plumbing to get hot spot data from an image provider.
126188
126189         * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::getHotSpot): CG implemantation.
126190
126191         * platform/mac/CursorMac.mm: (WebCore::createCustomCursor): Call determineHotSpot() to 
126192         determine where hot spot should be.
126193         (WebCore::Cursor::Cursor): Renamed "hotspot" to "hotSpot" to match other code.
126194
126195         * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Call determineHotSpot() to determine
126196         where hot spot should be.
126197
126198         * platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): Ditto. This must be done despite
126199         this platform not having an implementation for ImageSource::getHotSpot(), because we no longer
126200         check for out of bounds hot spots in EventHandler::selectCursor().
126201
126202         * platform/qt/CursorQt.cpp: (WebCore::Cursor::Cursor): Ditto.
126203
126204 2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
126205
126206         Reviewed by Antti Koivisto.
126207
126208         [Qt] TextBreakIterator Qt performance
126209         https://bugs.webkit.org/show_bug.cgi?id=39958
126210
126211         Rework TextBreakIteratorQt to be more in line with the ICU version.
126212
126213         We now reuse iterators where ever possible. The string data is compared
126214         with memcmp, which should be faster than using a hash, as you need
126215         to traverse the full buffer in the case the strings don't match,
126216         where as the compare would fail quickly.
126217
126218         * platform/text/qt/TextBreakIteratorQt.cpp:
126219         (WebCore::TextBreakIterator::TextBreakIterator):
126220         (WebCore::setUpIterator):
126221         (WebCore::wordBreakIterator):
126222         (WebCore::characterBreakIterator):
126223         (WebCore::lineBreakIterator):
126224         (WebCore::sentenceBreakIterator):
126225
126226 2010-06-08  Andras Becsi  <abecsi@webkit.org>
126227
126228         Unreviewed build fix after r60785.
126229
126230         [GTK] Add missing GtkVersioning.h include to fix the build
126231         on older GTK+ versions.
126232
126233         No new tests needed.
126234
126235         * platform/gtk/WidgetGtk.cpp:
126236
126237 2010-06-08  Yury Semikhatsky  <yurys@chromium.org>
126238
126239         Reviewed by Pavel Feldman.
126240
126241         Web Inspector: extend ScriptDebugServer to support script source editing
126242         https://bugs.webkit.org/show_bug.cgi?id=40297
126243
126244         * bindings/js/ScriptDebugServer.cpp:
126245         (WebCore::ScriptDebugServer::editScriptSource):
126246         * bindings/js/ScriptDebugServer.h:
126247         * bindings/v8/ScriptDebugServer.cpp:
126248         (WebCore::ScriptDebugServer::editScriptSource):
126249         * bindings/v8/ScriptDebugServer.h:
126250         * inspector/InspectorBackend.cpp:
126251         (WebCore::InspectorBackend::editScriptSource):
126252         * inspector/InspectorBackend.h:
126253         * inspector/InspectorBackend.idl:
126254         * inspector/InspectorController.cpp:
126255         (WebCore::InspectorController::InspectorController):
126256         (WebCore::InspectorController::disableDebugger):
126257         (WebCore::InspectorController::editScriptSource):
126258         (WebCore::InspectorController::currentCallFrames):
126259         (WebCore::InspectorController::didPause):
126260         (WebCore::InspectorController::didContinue):
126261         * inspector/InspectorController.h:
126262         * inspector/InspectorFrontend.cpp:
126263         (WebCore::InspectorFrontend::didEditScriptSource):
126264         * inspector/InspectorFrontend.h:
126265         * inspector/front-end/Script.js:
126266         * inspector/front-end/ScriptsPanel.js:
126267         (WebInspector.ScriptsPanel.prototype.canEditScripts):
126268         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
126269         (WebInspector.ScriptsPanel.prototype.editScriptSource):
126270         * inspector/front-end/Settings.js:
126271         * inspector/front-end/SourceView.js:
126272         (WebInspector.SourceView.prototype._editLine):
126273         * inspector/front-end/TextViewer.js:
126274         (WebInspector.TextViewer.prototype._handleDoubleClick):
126275         (WebInspector.TextViewer.prototype._commitEditingLine):
126276         * inspector/front-end/inspector.css:
126277         (#scripts-files option.extension-script):
126278
126279 2010-06-08  Antonio Gomes  <tonikitoo@webkit.org>
126280
126281         Reviewed by Ojan Vafai and Darin Adler.
126282
126283         Refactor platform dependent editing behavior code out of Settings
126284         https://bugs.webkit.org/show_bug.cgi?id=39854
126285
126286         As per discussion in bug 36627, Darin Adler suggested: "before the addition of any new EditingBehavior,
126287         I think we to add functions to translate the overall behavior policy into specific behaviors rather than
126288         directly saying 'behavior == Mac' or 'behavior == Windows'. Helper functions that expression the different
126289         rules in plain language.". Patch addresses this request.
126290
126291         No behavior change, so no new tests.
126292
126293         * GNUmakefile.am:
126294         * WebCore.pro:
126295         * WebCore/WebCore.vcproj/WebCore.vcproj
126296         * WebCore/WebCore.xcodeproj/project.pbxproj
126297         * page/Settings.cpp:
126298         (WebCore::Settings::Settings):
126299         * page/Settings.h: Moved out EditingBehavior enum to WebCore/editing/EditingBehaviorTypes.h,
126300         and renamed to EditingBehaviorTypes.
126301         (WebCore::Settings::setEditingBehaviorType): Renamed from setEditingBehavior.
126302         (WebCore::Settings::editingBehaviorType): Renamed from editingBehavior.
126303         * editing/EditingBehavior.h: Added.
126304         (WebCore::EditingBehavior::EditingBehavior): Class to work as a central point for
126305         editing behavior that might have to be handled differently in the different platforms/ports.
126306         Class should be not used or instantiated directly, but rather implicitly constructed
126307         through the Editor class.
126308         (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
126309         (WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
126310         (WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
126311         * editing/EditingBehaviorTypes.h: Added.
126312         (WebCore::):
126313         * editing/Editor.cpp:
126314         (WebCore::Editor::behavior): Getter for EditingBehavior class.
126315         * editing/Editor.h:
126316         * editing/EditorCommand.cpp:
126317         (WebCore::executeToggleStyle):
126318         * editing/SelectionController.cpp:
126319         (WebCore::SelectionController::setSelection):
126320         (WebCore::SelectionController::setIsDirectional):
126321         (WebCore::SelectionController::positionForPlatform):
126322         (WebCore::SelectionController::modify):
126323         * page/EventHandler.cpp:
126324         (WebCore::EventHandler::handleMousePressEventSingleClick):
126325         * rendering/RenderBlock.cpp:
126326         (WebCore::RenderBlock::positionForPointWithInlineChildren):
126327
126328         - Call sites will look like:
126329         if (frame->editor()->behavior().shouldThisIfThat()))
126330            // do something
126331
126332 2010-06-08  Steve Block  <steveblock@google.com>
126333
126334         Reviewed by Jeremy Orlow.
126335
126336         Prevent Geolocation making callbacks to a ScriptExecutionContext that no longer exists
126337         https://bugs.webkit.org/show_bug.cgi?id=40162
126338
126339         Before making callbacks, we check that the relevant ScriptExecutionContext still exists.
126340         To achieve this, the callbacks inherit from ActiveDOMObject.
126341
126342         The ScriptExecutionContext is ref'ed from script, so may not be GC'ed for some time after
126343         it is disconnected from its frame. Making the callback currently involves accessing the
126344         Frame, so an additional check for the Frame is required.
126345
126346         This change also prevents the V8 bindings from incorrectly holding a reference to the Frame.
126347
126348         Test: fast/dom/Geolocation/callback-to-deleted-context.html
126349
126350         * bindings/js/JSCallbackData.cpp:
126351         (WebCore::JSCallbackData::invokeCallback):
126352         * bindings/js/JSCustomPositionCallback.cpp:
126353         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
126354         (WebCore::JSCustomPositionCallback::handleEvent):
126355         * bindings/js/JSCustomPositionErrorCallback.cpp:
126356         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
126357         (WebCore::JSCustomPositionErrorCallback::handleEvent):
126358         * bindings/v8/custom/V8CustomPositionCallback.cpp:
126359         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback):
126360         (WebCore::V8CustomPositionCallback::handleEvent):
126361         * bindings/v8/custom/V8CustomPositionCallback.h:
126362         (WebCore::V8CustomPositionCallback::create):
126363         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
126364         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback):
126365         (WebCore::V8CustomPositionErrorCallback::handleEvent):
126366         * bindings/v8/custom/V8CustomPositionErrorCallback.h:
126367         (WebCore::V8CustomPositionErrorCallback::create):
126368         * bindings/v8/custom/V8GeolocationCustom.cpp:
126369         (WebCore::createPositionCallback):
126370         (WebCore::createPositionErrorCallback):
126371         * page/PositionCallback.h:
126372         (WebCore::PositionCallback::PositionCallback):
126373         * page/PositionErrorCallback.h:
126374         (WebCore::PositionErrorCallback::PositionErrorCallback):
126375
126376 2010-06-08  Xan Lopez  <xlopez@igalia.com>
126377
126378         Reviewed by Gustavo Noronha.
126379
126380         [GTK] Avoid duplicated signals in DOM bindings
126381         https://bugs.webkit.org/show_bug.cgi?id=40170
126382
126383         Do not create duplicated event signals between a class and its
126384         ancestor.
126385
126386         * bindings/scripts/CodeGeneratorGObject.pm:
126387
126388 2010-06-08  MORITA Hajime  <morrita@google.com>
126389
126390         Unreviewd. Touched the file to force rebuild.
126391
126392         * html/HTMLMeterElement.idl:
126393
126394 2010-06-08  Vangelis Kokkevis  <vangelis@chromium.org>
126395
126396         Reviewed by Dimitri Glazkov.
126397
126398         [Chromium] Fix the math for transform matrices of composited layers. There
126399         were problems both with how content layers were setting their position and
126400         how the overal matrix stack was computed when the layer anchor isn't at the
126401         center of the layer.
126402         https://bugs.webkit.org/post_bug.cgi
126403
126404         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
126405         (WebCore::GraphicsLayerChromium::updateContentsRect):
126406         * platform/graphics/chromium/LayerRendererChromium.cpp:
126407         (WebCore::LayerRendererChromium::updateLayersRecursive):
126408         (WebCore::LayerRendererChromium::drawLayer):
126409
126410 2010-06-07  Eric Seidel  <eric@webkit.org>
126411
126412         Reviewed by Adam Barth.
126413
126414         HTML5Lexer does not handle <div FOO ><img><img></div> correctly
126415         https://bugs.webkit.org/show_bug.cgi?id=40283
126416
126417         Fix a typo in the AfterAttributeNameState.
126418         The compiler really should have caught this since the typo
126419         resulted in unreachable code.
126420
126421         Tests:
126422          10 tables/mozilla/marvin/colgroup* tests.
126423          Also added a new sub-test in html5lib/resources/webkit01.dat
126424
126425         * html/HTML5Lexer.cpp:
126426         (WebCore::HTML5Lexer::nextToken):
126427          - Fix typo of = instead of >
126428
126429 2010-06-08  Adam Barth  <abarth@webkit.org>
126430
126431         Reviewed by Eric Seidel.
126432
126433         Implement HTML5's forceQuirks flag
126434         https://bugs.webkit.org/show_bug.cgi?id=40284
126435
126436         I didn't implement this before because I didn't know how to test it,
126437         but now I do.
126438         
126439         Tests:
126440           * fast/doctypes/doctype-parsing.html.
126441
126442         When we actually implement the quirks mode handling in the tree
126443         builder, we'll probably want to add to this test.
126444
126445         * html/HTML5Lexer.cpp:
126446         (WebCore::HTML5Lexer::nextToken):
126447         * html/HTML5Token.h:
126448         (WebCore::HTML5Token::forceQuirks):
126449         (WebCore::HTML5Token::setForceQuirks):
126450         * html/HTML5TreeBuilder.cpp:
126451         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
126452         * html/HTMLParser.cpp:
126453         (WebCore::HTMLParser::parseDoctypeToken):
126454         * html/HTMLTokenizer.h:
126455         (WebCore::DoctypeToken::reset):
126456
126457 2010-06-08  Adam Barth  <abarth@webkit.org>
126458
126459         Reviewed by Eric Seidel.
126460
126461         Remove ASSERT in ~HTML5Tokenizer
126462         https://bugs.webkit.org/show_bug.cgi?id=40282
126463
126464         We thought this ASSERT would be a good idea, but the problem is that
126465         this object is deleted without warning in some circumstances, so
126466         there's no way to know whether it has reached the end of its state
126467         machine.
126468
126469         * html/HTML5Tokenizer.cpp:
126470         (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
126471
126472 2010-06-07  MORITA Hajime  <morrita@google.com>
126473
126474         Reviewed by Kent Tamura.
126475
126476         [Mac] <meter> elements should be rendered as level indicators.        
126477         https://bugs.webkit.org/show_bug.cgi?id=40217
126478
126479         Implemented RenderThemeMac::paintMeter() using NSLevelIndicatorCell.
126480         
126481         This change also added new -webkit-appearance values to select the
126482         style of level indicators:
126483         
126484         - relevancy-level-indicator,
126485         - continuous-capacity-level-indicator,
126486         - discrete-capacity-level-indicator, and 
126487         - rating-level-indicator.
126488         
126489         The size of elements are adjusted based on the bounds of the indicator
126490         to make room for painting whole indicator cells.
126491
126492         Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
126493                fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
126494                fast/dom/HTMLMeterElement/meter-optimums.html
126495
126496         * css/CSSPrimitiveValueMappings.h:
126497         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
126498         * css/CSSValueKeywords.in:
126499         * html/HTMLMeterElement.cpp:
126500         (WebCore::HTMLMeterElement::gaugeRegion):
126501         * html/HTMLMeterElement.h:
126502         (WebCore::HTMLMeterElement::):
126503         * platform/ThemeTypes.h:
126504         (WebCore::):
126505         * rendering/RenderMeter.cpp:
126506         (WebCore::RenderMeter::calcWidth):
126507         (WebCore::RenderMeter::calcHeight):
126508         * rendering/RenderMeter.h:
126509         * rendering/RenderTheme.cpp:
126510         (WebCore::RenderTheme::adjustStyle):
126511         (WebCore::RenderTheme::paint):
126512         (WebCore::RenderTheme::paintBorderOnly):
126513         (WebCore::RenderTheme::paintDecorations):
126514         (WebCore::RenderTheme::meterSizeForBounds):
126515         * rendering/RenderTheme.h:
126516         * rendering/RenderThemeMac.h:
126517         * rendering/RenderThemeMac.mm:
126518         (WebCore::RenderThemeMac::meterSizeForBounds):
126519         (WebCore::RenderThemeMac::paintMeter):
126520         (WebCore::RenderThemeMac::levelIndicatorStyleFor):
126521         (WebCore::RenderThemeMac::levelIndicatorFor):
126522
126523 2010-06-07  MORITA Hajime  <morrita@google.com>
126524         
126525         Reviewed by Kent Tamura.
126526         
126527         [Mac] ENABLE_METER_TAG should be enabled.
126528         https://bugs.webkit.org/show_bug.cgi?id=40219
126529         
126530         * Configurations/FeatureDefines.xcconfig:
126531         * WebCore.xcodeproj/project.pbxproj:
126532         
126533 2010-06-07  Eric Seidel  <eric@webkit.org>
126534
126535         Unreviewed.  Just commit an edit Xcode keeps making automatically.
126536
126537         It appears someone hand-edited the file, Xcode no-like.
126538
126539         * WebCore.xcodeproj/project.pbxproj:
126540
126541 2010-06-07  Eric Seidel  <eric@webkit.org>
126542
126543         Reviewed by Adam Barth.
126544
126545         HTML5 Parser fails script-tests which use document.write
126546         https://bugs.webkit.org/show_bug.cgi?id=40276
126547
126548         We were leaving the TreeBuilder paused when executing the scripts
126549         resulting in document.write() calls being ignored.
126550
126551         I don't see a good way to ASSERT this correct behavior, since
126552         the HTML5ScriptRunner and the HTML5TreeBuilder do not know about
126553         each other.  We should never have document.write() called while
126554         the HTML5TreeBuilder is paused, however both document.write and
126555         the network call the same HTML5Tokenizer::write method.  It's OK
126556         to be paused when the network writes, but during document.write
126557         (or any other script execution).
126558
126559         Tested by all of fast/url and numerous other tests.
126560
126561         * html/HTML5Tokenizer.cpp:
126562         (WebCore::HTML5Tokenizer::notifyFinished):
126563          - Unpause the treebuilder before executing scripts.
126564         (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
126565          - Unpause the treebuilder before executing scripts.
126566
126567 2010-06-07  Eric Seidel  <eric@webkit.org>
126568
126569         Reviewed by Adam Barth.
126570
126571         HTML5 Parser hits ASSERT in fast/events/stop-load-in-unload-handler-using-document-write.html
126572         https://bugs.webkit.org/show_bug.cgi?id=40268
126573
126574         Teach HTML5Tokenizer about m_parserStopped.
126575
126576         While tracking down how m_parserStopped was used, I found
126577         several useless implementations of stopParsing() which I removed.
126578
126579         I also found a comment in HTMLTokenizer which still talks about the
126580         "part" (an old class now split into Frame, Page, FrameLoader, etc.)
126581         and an nearly empty FrameLoader::tokenizerProcessedData which I just
126582         inlined into its one caller.
126583
126584         Tests:
126585          fast/events/stop-load-in-unload-handler-using-document-write.html
126586          http/tests/security/xssAuditor/full-block-base-href.html
126587
126588         * html/HTML5Tokenizer.cpp:
126589         (WebCore::HTML5Tokenizer::pumpLexerIfPossible):
126590          - New method used instead of direct calls to pumpLexer for when
126591            callers would like to pump the lexer if possible, but don't want
126592            to check if the parser is stopped, etc.
126593         (WebCore::HTML5Tokenizer::pumpLexer):
126594          - Added an ASSERT that the parser is not stopped.
126595          - Stop pumping if the parser is stopped.
126596         (WebCore::HTML5Tokenizer::write):
126597          - Ignore the write if the parser is already stopped.
126598         (WebCore::HTML5Tokenizer::end):
126599         (WebCore::HTML5Tokenizer::attemptToEnd):
126600          - Move comment back to finish() which was incorrectly moved here.
126601         (WebCore::HTML5Tokenizer::endIfDelayed):
126602         (WebCore::HTML5Tokenizer::finish):
126603          - Move comment back here from attemptToEnd()
126604         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
126605          - Remove a bogus ASSERT.  The lexer will stop when it needs
126606            more data, which may not necessarily mean m_source.isEmpty().
126607         * html/HTML5Tokenizer.h:
126608          - Add pumpLexerIfPossible().
126609         * html/HTMLTokenizer.cpp:
126610         (WebCore::HTMLTokenizer::stopParsing):
126611          - Add a FIXME about if we really should call checkCompleted() here.
126612          - Inline FrameLoader::tokenizerProcessedData() since this was the only caller.
126613         * loader/FrameLoader.cpp:
126614          - Remove tokenizerProcessedData()
126615         * loader/FrameLoader.h:
126616          - Remove tokenizerProcessedData()
126617         * loader/MediaDocument.cpp:
126618          - Remove unneeded Tokenizer::stopParsing() override.
126619         * loader/PluginDocument.cpp:
126620          - Remove unneeded Tokenizer::stopParsing() override.
126621         * loader/SinkDocument.cpp:
126622          - Remove unneeded Tokenizer::stopParsing() override.
126623
126624 2010-06-07  Adam Barth  <abarth@webkit.org>
126625
126626         Reviewed by Eric Seidel.
126627
126628         Fix XFrameOptions and xssAuditor crashes in HTML5 parser
126629         https://bugs.webkit.org/show_bug.cgi?id=40265
126630
126631         We're not supposed to call end() while the tokenizer's write() method.
126632         This causes a bunch of LayoutTests to crash.  In particular, this patch
126633         fixes crashes in the following tests:
126634
126635         Tests:
126636           * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
126637           * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
126638           * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
126639           * http/tests/security/xssAuditor/full-block-base-href.html
126640           * http/tests/security/xssAuditor/full-block-get-from-iframe.html
126641           * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
126642           * http/tests/security/xssAuditor/full-block-link-onclick.html
126643           * http/tests/security/xssAuditor/full-block-post-from-iframe.html
126644           * http/tests/security/xssAuditor/full-block-script-tag.html
126645           * http/tests/security/xssAuditor/xss-protection-parsing-01.html
126646
126647         * html/HTML5Tokenizer.cpp:
126648         (WebCore::):
126649         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
126650         (WebCore::HTML5Tokenizer::write):
126651         (WebCore::HTML5Tokenizer::attemptToEnd):
126652         (WebCore::HTML5Tokenizer::endIfDelayed):
126653         (WebCore::HTML5Tokenizer::finish):
126654         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
126655         * html/HTML5Tokenizer.h:
126656         (WebCore::HTML5Tokenizer::inWrite):
126657
126658 2010-06-07  Eric Seidel  <eric@webkit.org>
126659
126660         Reviewed by Adam Barth.
126661
126662         HTML5 parser hits ASSERT in http/tests/misc/window-dot-stop.html
126663         https://bugs.webkit.org/show_bug.cgi?id=40264
126664
126665         * html/HTML5Tokenizer.cpp:
126666         (WebCore::HTML5Tokenizer::executeScript):
126667
126668 2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>
126669
126670         Unreviewed.
126671
126672         Avoid "warning: no previous prototype for" in Snow Leopard compilation.
126673
126674         * platform/BlobItem.cpp: Added static to getFileSnapshotModificationTime().
126675
126676 2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>
126677
126678         Reviewed by Jian Li.
126679
126680         Refactor FormData and Blob for better support of Blobs synthesized by BlobBuilder.
126681         https://bugs.webkit.org/show_bug.cgi?id=39083
126682
126683         - Introduces a new class BlobItem as a basic component of Blob and FormDataList.
126684         - File would become a special type of Blob that contains only one FileBlobItem.
126685         - Fix the dependency violation in FormData so that the files under platform/ do not include any html/ files.
126686
126687         The patch doesn't support the latest File API changes (e.g. type,
126688         url and slice's type parameters) and should not change any of its
126689         existing behaviors.
126690
126691         The existing tests should be able to be used for regression.
126692
126693         * CMakeLists.txt:
126694         * GNUmakefile.am:
126695         * WebCore.gypi:
126696         * WebCore.pro:
126697         * WebCore.vcproj/WebCore.vcproj:
126698         * WebCore.xcodeproj/project.pbxproj:
126699         * html/Blob.cpp:
126700         (WebCore::Blob::Blob):
126701         (WebCore::Blob::size):
126702         (WebCore::Blob::path):
126703         (WebCore::Blob::append):
126704         (WebCore::Blob::slice):
126705         * html/Blob.h:
126706         (WebCore::Blob::create):
126707         (WebCore::Blob::type):
126708         (WebCore::Blob::items):
126709         (WebCore::Blob::Blob):
126710         * html/File.cpp:
126711         (WebCore::File::File):
126712         (WebCore::File::name):
126713         * html/File.h:
126714         (WebCore::File::fileName):
126715         * html/FileReader.cpp:
126716         (WebCore::FileReader::readAsBinaryString):
126717         (WebCore::FileReader::readAsText):
126718         * html/FileStream.cpp:
126719         (WebCore::FileStream::openForRead):
126720         * html/FormDataList.cpp:
126721         (WebCore::FormDataList::appendString): Moved the line ending fix logic to StringBlobItem::convertToCString.
126722         (WebCore::FormDataList::appendBlob):
126723         * html/FormDataList.h:
126724         (WebCore::FormDataList::items):
126725         * html/HTMLFormElement.cpp:
126726         (WebCore::HTMLFormElement::createFormData):
126727         * html/HTMLProgressElement.cpp:
126728         * platform/BlobItem.cpp: Added.
126729         * platform/BlobItem.h: Added.
126730         * platform/network/FormData.cpp:
126731         (WebCore::FormDataElement::FormDataElement):
126732         (WebCore::FormData::create):
126733         (WebCore::FormData::createMultiPart):
126734         (WebCore::FormData::deepCopy):
126735         (WebCore::FormData::appendData):
126736         (WebCore::FormData::appendString):
126737         (WebCore::FormData::appendFile):
126738         (WebCore::FormData::appendFileRange):
126739         (WebCore::FormData::appendItems):
126740         (WebCore::FormData::appendItem):
126741         (WebCore::FormData::appendKeyValuePairItems):
126742         * platform/network/FormData.h:
126743         (WebCore::operator!=):
126744         * platform/network/mac/FormDataStreamMac.mm:
126745         (WebCore::closeCurrentStream):
126746         (WebCore::advanceCurrentStream):
126747         (WebCore::formCreate):
126748         (WebCore::formRead):
126749         (WebCore::setHTTPBody):
126750         * xml/XMLHttpRequest.cpp:
126751         (WebCore::XMLHttpRequest::send):
126752
126753 2010-06-07  Vangelis Kokkevis  <vangelis@chromium.org>
126754
126755         Reviewed by Dimitri Glazkov.
126756
126757         [chromium] Decoupled transform matrix update of composited layers from
126758         drawing and interposed a sorting step so that the layers are now composited
126759         back to front to get transparency working correctly. Also added missing code
126760         for the preserves3D CSS property.
126761
126762         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
126763         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
126764         * platform/graphics/chromium/LayerChromium.h:
126765         (WebCore::LayerChromium::setDrawTransform):
126766         (WebCore::LayerChromium::drawTransform):
126767         (WebCore::LayerChromium::setDrawOpacity):
126768         (WebCore::LayerChromium::drawOpacity):
126769         (WebCore::LayerChromium::preserves3D):
126770         * platform/graphics/chromium/LayerRendererChromium.cpp:
126771         (WebCore::compareLayerZ):
126772         (WebCore::LayerRendererChromium::drawLayers):
126773         (WebCore::LayerRendererChromium::updateLayersRecursive):
126774         (WebCore::LayerRendererChromium::drawLayer):
126775         * platform/graphics/chromium/LayerRendererChromium.h:
126776
126777 2010-06-07  Anton Muhin  <antonm@chromium.org>
126778
126779         Reviewed by Nate Chapin.
126780
126781         [Chromium] convert a key to AtomicString in V8NodeList::namedPropertyGetter
126782         https://bugs.webkit.org/show_bug.cgi?id=40238
126783
126784         Comparison to "length" below could be performed faster in this (major) case
126785         as it would only require direct pointer comparison (cf. to full text
126786         comparison if key is converted to WebCore::String.)
126787
126788         * bindings/v8/custom/V8NodeListCustom.cpp:
126789         (WebCore::V8NodeList::namedPropertyGetter):
126790
126791 2010-06-07  Ariya Hidayat  <ariya.hidayat@codeaurora.org>
126792
126793         Reviewed by Kenneth Rohde Christiansen.
126794
126795         [Qt] Fix GraphicsContext::clipOut to take the transformation matrix into account.
126796
126797         * platform/graphics/qt/GraphicsContextQt.cpp:
126798         (WebCore::GraphicsContext::clipOut):
126799
126800 2010-06-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
126801
126802         Reviewed by Xan Lopez.
126803
126804         [gtk] web fonts not loaded properly in scribd html5 reader
126805         https://bugs.webkit.org/show_bug.cgi?id=38758
126806
126807         Avoid always giving a positive reply in createFontPlatformData. We
126808         do not want every non-existing family name to be considered a hit,
126809         or weird usage of local sources in @font-face rules will make
126810         WebKitGTK+ never consider the online fonts.
126811
126812         * GNUmakefile.am:
126813         * platform/graphics/cairo/FontCacheCairo.cpp:
126814         (WebCore::isWellKnownFontName):
126815         (WebCore::FontCache::createFontPlatformData):
126816         * platform/graphics/cairo/GOwnPtrCairo.cpp: Added.
126817         (WTF::FcPattern):
126818         (WTF::FcObjectSet):
126819         (WTF::FcFontSet):
126820         * platform/graphics/cairo/GOwnPtrCairo.h: Added.
126821
126822 2010-06-07  Adam Barth  <abarth@webkit.org>
126823
126824         Reviewed by Eric Seidel.
126825
126826         "Fix" fast/dom/stripNullFromTextNodes.html in HTML5 parser
126827         https://bugs.webkit.org/show_bug.cgi?id=40200
126828
126829         The proper handling of null characters is to replace them with U+FFFD.
126830         This patch "fixes" fast/dom/stripNullFromTextNodes.html in the sense
126831         that it makes it give the proper output w.r.t. HTML5.  However, that
126832         doesn't match the behavior of the old parser, which just stripped the
126833         nulls.
126834
126835         * html/HTML5Lexer.h:
126836         (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
126837
126838 2010-06-07  Adam Barth  <abarth@webkit.org>
126839
126840         Reviewed by Eric Seidel.
126841
126842         HTML5 parser should normalize line endings
126843         https://bugs.webkit.org/show_bug.cgi?id=40199
126844
126845         When reading characters from the source, we need to normalize line
126846         endings, which means treating \r as \n and folding \r\n sequences into
126847         a single \n.  Doing this requires a slightly tighter pattern for
126848         advancing the source (to make sure we update our state machine
126849         correctly).
126850
126851         Fixes fast/css/first-child-pseudo-class.html and hundreds of other
126852         LayoutTests in the HTML5 parser.
126853
126854         * html/HTML5Lexer.cpp:
126855         (WebCore::HTML5Lexer::nextToken):
126856         * html/HTML5Lexer.h:
126857         (WebCore::HTML5Lexer::InputStreamPreprocessor::LineEndingNormalizer):
126858             - Introduced InputStreamPreprocessor to keep track of our line
126859               endings state machine.  This class will grow to eventually do
126860               all the input stream preprocessing required by the HTML5 spec.
126861         (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
126862             - We need to be careful not to read *source more than
126863               once because we need to know whether we've transformed the
126864               character.  Keeping the next input character in this state
126865               machine requires some careful coding, but seems advantageous.
126866         (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
126867         (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
126868
126869 2010-06-07  Andrei Popescu  <andreip@google.com>
126870
126871         Reviewed by Jeremy Orlow.
126872
126873         run-bindings-tests results broken by Changeset 60776
126874         https://bugs.webkit.org/show_bug.cgi?id=40230
126875
126876         The change to CodeGeneratorJS.pm in 
126877         http://trac.webkit.org/changeset/60776/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
126878         added the possibility to use [CallWith=ScriptExecutionContext] in idl files.
126879
126880         Before the above change was submitted, CodeGeneratorJS.pm was modified so that native
126881         functions return EncodedJSValue instead of JSValues. This was done in
126882         http://trac.webkit.org/changeset/60631/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
126883
126884         This CL updates the CodeGeneratorJS.pm to correctly return an EncodedJSValue in the case
126885         where the ScriptExecutionContext pointer is 0 at the time when the native function is invoked.
126886
126887         No new tests, just fixing run-bindings-tests.
126888
126889         * bindings/scripts/CodeGeneratorJS.pm:
126890         * bindings/scripts/test/JS/JSTestObj.cpp:
126891         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
126892         * bindings/scripts/test/JS/JSTestObj.h:
126893
126894 2010-06-07  Kwang Yul Seo  <skyul@company100.net>
126895
126896         Reviewed by Eric Seidel.
126897
126898         [BREWMP] Add dummy SearchPopupMenu implementation
126899         https://bugs.webkit.org/show_bug.cgi?id=40224
126900
126901         Add dummy implementation of SearchPopupMenu.
126902
126903         * platform/brew/SearchPopupMenuBrew.cpp: Added.
126904         (WebCore::SearchPopupMenu::saveRecentSearches):
126905         (WebCore::SearchPopupMenu::loadRecentSearches):
126906         (WebCore::SearchPopupMenu::SearchPopupMenu):
126907         (WebCore::SearchPopupMenu::enabled):
126908
126909 2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
126910
126911         Unreviewed, reverting my HTML comment parsing change as it
126912         breaks Gtk and Qt.
126913
126914         * html/HTMLTokenizer.cpp:
126915         (WebCore::HTMLTokenizer::parseComment):
126916         (WebCore::HTMLTokenizer::parseTag):
126917         * html/HTMLTokenizer.h:
126918
126919 2010-06-07  Martin Robinson  <mrobinson@igalia.com>
126920
126921         Reviewed by Oliver Hunt.
126922
126923         [GTK] HTML5 input type=range is not drawn
126924         https://bugs.webkit.org/show_bug.cgi?id=39561
126925
126926         Support HTML5 range widgets. They are now drawn using the standard
126927         GTK+ theme drawing mechanism.
126928
126929         * platform/gtk/RenderThemeGtk.cpp:
126930         (WebCore::supportsFocus): Add focus support for parts of sliders.
126931         (WebCore::setMozillaState):
126932         Add the GtkThemeWidgetType argument and honor depressed states for slider thumbs.
126933         (WebCore::paintMozillaGtkWidget): Pass in the widget type to setMozillaState.
126934         (WebCore::RenderThemeGtk::paintSliderTrack): Added.
126935         (WebCore::RenderThemeGtk::adjustSliderTrackStyle): Added.
126936         (WebCore::RenderThemeGtk::paintSliderThumb): Added.
126937         (WebCore::RenderThemeGtk::adjustSliderThumbStyle): Added.
126938         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Added support for non-media sliders.
126939         * platform/gtk/RenderThemeGtk.h: Added new method declarations.
126940
126941 2010-06-07  Martin Robinson  <mrobinson@igalia.com>
126942
126943         Reviewed by Xan Lopez.
126944
126945         [GTK] gtk_widget_get_window should replace widget->window
126946         https://bugs.webkit.org/show_bug.cgi?id=40180
126947
126948         Replace all uses of widget->window with gtk_widget_get_window. For older
126949         GTK+ versions, #define gtk_widget_get_window in GtkVersioning.h.
126950
126951         No tests necessary as functionality has not changed.
126952
126953         * platform/gtk/GtkPluginWidget.cpp:
126954         (WebCore::GtkPluginWidget::invalidateRect): Replace widget->window use.
126955         * platform/gtk/GtkVersioning.h: Add gtk_widget_get_window for old GTK+ versions.
126956         * platform/gtk/PlatformScreenGtk.cpp: 
126957         (WebCore::getVisual): Replace widget->window use.
126958         (WebCore::screenRect): Ditto.
126959         * platform/gtk/PopupMenuGtk.cpp:
126960         (WebCore::PopupMenu::show): Ditto.
126961         * platform/gtk/WidgetGtk.cpp:
126962         (WebCore::gdkDrawable): Ditto.
126963         (WebCore::Widget::setCursor): Ditto.
126964
126965 2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
126966
126967         Reviewed by Sam Weinig.
126968
126969         Add CPP bindings generator
126970         https://bugs.webkit.org/show_bug.cgi?id=38279
126971
126972         Add CPP bindings generator used in Olympia platform.
126973         We can succesfully generate cpp bindings for all IDLs except:
126974         - DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
126975         - inspector/ (not needed for us at all)
126976         - svg/ (needs custom handling, related to animated attributes)
126977
126978         All generated files are free of style issues: "Total errors found: 0 in 510 files"
126979         Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.
126980
126981         * bindings/cpp: Added.
126982         * bindings/cpp/WebDOMCString.cpp: Added.
126983         (WebDOMCString::reset):
126984         (WebDOMCString::assign):
126985         (WebDOMCString::length):
126986         (WebDOMCString::data):
126987         (WebDOMCString::utf16):
126988         (WebDOMCString::fromUTF16):
126989         (WebDOMCString::WebDOMCString):
126990         (WebDOMCString::operator=):
126991         (WebDOMCString::operator WTF::CString):
126992         * bindings/cpp/WebDOMCString.h: Added.
126993         (WebDOMCString::~WebDOMCString):
126994         (WebDOMCString::WebDOMCString):
126995         (WebDOMCString::operator=):
126996         (WebDOMCString::isEmpty):
126997         (WebDOMCString::isNull):
126998         * bindings/cpp/WebDOMEventListenerCustom.cpp: Added.
126999         (WebDOMEventListener::handleEvent):
127000         (toWebKit):
127001         * bindings/cpp/WebDOMEventTarget.cpp: Added.
127002         (WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate):
127003         (WebDOMEventTarget::WebDOMEventTarget):
127004         (WebDOMEventTarget::~WebDOMEventTarget):
127005         (WebDOMEventTarget::impl):
127006         (toWebCore):
127007         (toWebKit):
127008         * bindings/cpp/WebDOMEventTarget.h: Added.
127009         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added.
127010         (documentWrite):
127011         (WebDOMHTMLDocument::write):
127012         (WebDOMHTMLDocument::writeln):
127013         * bindings/cpp/WebDOMNodeCustom.cpp: Added.
127014         (WebDOMNode::insertBefore):
127015         (WebDOMNode::replaceChild):
127016         (WebDOMNode::removeChild):
127017         (WebDOMNode::appendChild):
127018         (WebDOMNode::addEventListener):
127019         (WebDOMNode::removeEventListener):
127020         * bindings/cpp/WebDOMObject.h: Added.
127021         (WebDOMObject::WebDOMObject):
127022         (WebDOMObject::~WebDOMObject):
127023         * bindings/cpp/WebDOMString.cpp: Added.
127024         (WebDOMString::reset):
127025         (WebDOMString::assign):
127026         (WebDOMString::length):
127027         (WebDOMString::data):
127028         (WebDOMString::utf8):
127029         (WebDOMString::fromUTF8):
127030         (WebDOMString::WebDOMString):
127031         (WebDOMString::operator=):
127032         (WebDOMString::operator WebCore::String):
127033         (WebDOMString::operator WebCore::AtomicString):
127034         (WebDOMString::equals):
127035         * bindings/cpp/WebDOMString.h: Added.
127036         (WebDOMString::~WebDOMString):
127037         (WebDOMString::WebDOMString):
127038         (WebDOMString::operator=):
127039         (WebDOMString::isEmpty):
127040         (WebDOMString::isNull):
127041         * bindings/cpp/WebExceptionHandler.cpp: Added.
127042         (globalExceptionHandler):
127043         (webInstallExceptionHandler):
127044         (webRaiseDOMException):
127045         * bindings/cpp/WebExceptionHandler.h: Added.
127046         (webDOMRaiseError):
127047         * bindings/cpp/WebNativeEventListener.cpp: Added.
127048         (WebNativeEventListener::WebNativeEventListener):
127049         (WebNativeEventListener::~WebNativeEventListener):
127050         (WebNativeEventListener::handleEvent):
127051         (WebNativeEventListener::reportError):
127052         (WebNativeEventListener::operator==):
127053         * bindings/cpp/WebNativeEventListener.h: Added.
127054         (WebNativeEventListener::create):
127055         (WebNativeEventListener::cast):
127056         * bindings/scripts/CodeGeneratorCPP.pm: Added.
127057         * bindings/scripts/test/CPP: Added.
127058         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added.
127059         (WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate):
127060         (WebDOMTestCallback::WebDOMTestCallback):
127061         (WebDOMTestCallback::impl):
127062         (WebDOMTestCallback::~WebDOMTestCallback):
127063         (WebDOMTestCallback::callbackWithClass1Param):
127064         (WebDOMTestCallback::callbackWithClass2Param):
127065         (WebDOMTestCallback::callbackWithNonBoolReturnType):
127066         (toWebCore):
127067         (toWebKit):
127068         * bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
127069         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added.
127070         (WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate):
127071         (WebDOMTestInterface::WebDOMTestInterface):
127072         (WebDOMTestInterface::impl):
127073         (WebDOMTestInterface::~WebDOMTestInterface):
127074         (toWebCore):
127075         (toWebKit):
127076         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
127077         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added.
127078         (WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate):
127079         (WebDOMTestObj::WebDOMTestObj):
127080         (WebDOMTestObj::impl):
127081         (WebDOMTestObj::~WebDOMTestObj):
127082         (WebDOMTestObj::readOnlyIntAttr):
127083         (WebDOMTestObj::readOnlyStringAttr):
127084         (WebDOMTestObj::readOnlyTestObjAttr):
127085         (WebDOMTestObj::intAttr):
127086         (WebDOMTestObj::setIntAttr):
127087         (WebDOMTestObj::longLongAttr):
127088         (WebDOMTestObj::setLongLongAttr):
127089         (WebDOMTestObj::unsignedLongLongAttr):
127090         (WebDOMTestObj::setUnsignedLongLongAttr):
127091         (WebDOMTestObj::stringAttr):
127092         (WebDOMTestObj::setStringAttr):
127093         (WebDOMTestObj::testObjAttr):
127094         (WebDOMTestObj::setTestObjAttr):
127095         (WebDOMTestObj::attrWithException):
127096         (WebDOMTestObj::setAttrWithException):
127097         (WebDOMTestObj::attrWithSetterException):
127098         (WebDOMTestObj::setAttrWithSetterException):
127099         (WebDOMTestObj::attrWithGetterException):
127100         (WebDOMTestObj::setAttrWithGetterException):
127101         (WebDOMTestObj::scriptStringAttr):
127102         (WebDOMTestObj::voidMethod):
127103         (WebDOMTestObj::voidMethodWithArgs):
127104         (WebDOMTestObj::intMethod):
127105         (WebDOMTestObj::intMethodWithArgs):
127106         (WebDOMTestObj::objMethod):
127107         (WebDOMTestObj::objMethodWithArgs):
127108         (WebDOMTestObj::methodThatRequiresAllArgs):
127109         (WebDOMTestObj::methodThatRequiresAllArgsAndThrows):
127110         (WebDOMTestObj::serializedValue):
127111         (WebDOMTestObj::methodWithException):
127112         (WebDOMTestObj::addEventListener):
127113         (WebDOMTestObj::removeEventListener):
127114         (WebDOMTestObj::withDynamicFrame):
127115         (WebDOMTestObj::withDynamicFrameAndArg):
127116         (WebDOMTestObj::withDynamicFrameAndOptionalArg):
127117         (WebDOMTestObj::withScriptStateVoid):
127118         (WebDOMTestObj::withScriptStateObj):
127119         (WebDOMTestObj::withScriptStateVoidException):
127120         (WebDOMTestObj::withScriptStateObjException):
127121         (WebDOMTestObj::methodWithOptionalArg):
127122         (WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg):
127123         (WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs):
127124         (toWebCore):
127125         (toWebKit):
127126         * bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
127127         * css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
127128         * dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
127129         * dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
127130         * dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
127131         * dom/EventListener.h: Add CPPEventListenerType.
127132         * dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
127133         * dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
127134         * html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
127135         * html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
127136         * html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
127137         * html/TextMetrics.h: Add missing PassRefPtr.h include.
127138         * html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
127139         * page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
127140         * page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
127141         * page/WebKitPoint.h: Add missing PassRefPtr.h include.
127142         * storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
127143         * workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
127144         * workers/WorkerContext.idl: Hide constructors from cpp bindings.
127145
127146 2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
127147
127148         Reviewed by Alexey Proskuryakov.
127149
127150         Space should be allowed between -- and > in comment end
127151         https://bugs.webkit.org/show_bug.cgi?id=21945
127152
127153         Implemented the HTML comment parsing algorithm so that we match HTML5 and
127154         FF when parsing comments. Missing from this patch is
127155         the parser errors, which will be added in a follow up patch.
127156
127157         Added tests cases for broken comments.
127158
127159         Tests: fast/parser/broken-comment-1.html
127160                fast/parser/broken-comment-2.html
127161                fast/parser/broken-comment-3.html
127162                fast/parser/broken-comment-4.html
127163                fast/parser/broken-comment-5.html
127164                fast/parser/broken-comment-6.html
127165                fast/parser/broken-comment-in-head-1.html
127166                fast/parser/broken-comment-in-head-2.html
127167                fast/parser/broken-comment-in-head-3.html
127168                fast/parser/broken-comment-in-head-4.html
127169                fast/parser/broken-comment-in-head-5.html
127170
127171         * html/HTMLTokenizer.cpp:
127172         (WebCore::HTMLTokenizer::parseComment): Now we use a state machine
127173         that matches the HTML5 specification.
127174         (WebCore::HTMLTokenizer::emitCommentToken): This emits the comment token
127175         and keep some of the original behavior as parseComment is called in wrong
127176         context (inside a <title> for example). Added a more explicit comment about
127177         this.
127178         (WebCore::HTMLTokenizer::parseTag): Remove the handling of <!--> in quirks mode.
127179         HTML5 specifies that we should accept this in strict mode too.
127180         * html/HTMLTokenizer.h:
127181         (WebCore::HTMLTokenizer::): Added a new enum for the comment parsing state.
127182
127183 2010-06-07  Mahesh Kulakrni  <mahesh.kulkarni@nokia.com>
127184
127185         Reviewed by Simon Hausmann.
127186
127187         [QT] QT_BEARER flag is not enabled on S60 properly
127188         https://bugs.webkit.org/show_bug.cgi?id=39357
127189
127190         enable QT_BEARER for all platform based on qtmobility + 
127191         bearer module availability or for qt 4.7+
127192
127193         * WebCore.pri: 
127194
127195 2010-06-07  Leon Clarke  <leonclarke@google.com>
127196
127197         Reviewed by Jeremy Orlow.
127198
127199         Fix indexeddb idls in android makefile
127200         https://bugs.webkit.org/show_bug.cgi?id=40169
127201
127202         No new tests. Android-specific build fix.
127203
127204         * Android.derived.v8bindings.mk:
127205
127206 2010-06-07  Andrei Popescu  <andreip@google.com>
127207
127208         Reviewed by Jeremy Orlow.
127209
127210         [indexedDB] It is impossible to create object stores
127211         https://bugs.webkit.org/show_bug.cgi?id=40054
127212
127213         No new tests. Layout tests will be added separately.
127214
127215         * Android.mk:
127216         * CMakeLists.txt:
127217         * GNUmakefile.am:
127218         * WebCore.gypi:
127219         * WebCore.pro:
127220         * WebCore.vcproj/WebCore.vcproj:
127221         * WebCore.xcodeproj/project.pbxproj:
127222         * bindings/scripts/CodeGeneratorJS.pm:
127223         * bindings/scripts/CodeGeneratorV8.pm:
127224         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
127225         (webkit_dom_test_obj_with_script_execution_context):
127226         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
127227         * bindings/scripts/test/JS/JSTestObj.cpp:
127228         (WebCore::):
127229         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
127230         * bindings/scripts/test/JS/JSTestObj.h:
127231         * bindings/scripts/test/ObjC/DOMTestObj.h:
127232         * bindings/scripts/test/ObjC/DOMTestObj.mm:
127233         (-[DOMTestObj withScriptExecutionContext]):
127234         * bindings/scripts/test/TestObj.idl:
127235         * bindings/scripts/test/V8/V8TestObj.cpp:
127236         (WebCore::TestObjInternal::withScriptExecutionContextCallback):
127237         (WebCore::):
127238         * page/DOMWindow.cpp:
127239         (WebCore::DOMWindow::clear):
127240         (WebCore::DOMWindow::indexedDB):
127241         * storage/IDBCallbacks.h:
127242         * storage/IDBDatabase.h:
127243         * storage/IDBDatabaseImpl.cpp:
127244         (WebCore::IDBDatabaseImpl::createObjectStore):
127245         * storage/IDBDatabaseImpl.h:
127246         * storage/IDBDatabaseRequest.cpp:
127247         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
127248         (WebCore::IDBDatabaseRequest::createObjectStore):
127249         * storage/IDBDatabaseRequest.h:
127250         * storage/IDBDatabaseRequest.idl:
127251         * storage/IDBObjectStore.cpp: Removed.
127252         * storage/IDBObjectStore.h:
127253         (WebCore::IDBObjectStore::~IDBObjectStore):
127254         * storage/IDBObjectStoreImpl.cpp: Added.
127255         (WebCore::IDBObjectStoreImpl::~IDBObjectStoreImpl):
127256         (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
127257         (WebCore::IDBObjectStoreImpl::indexNames):
127258         (WebCore::IDBObjectStoreImpl::createIndex):
127259         (WebCore::IDBObjectStoreImpl::index):
127260         (WebCore::IDBObjectStoreImpl::removeIndex):
127261         * storage/IDBObjectStoreImpl.h: Added.
127262         (WebCore::IDBObjectStoreImpl::create):
127263         (WebCore::IDBObjectStoreImpl::name):
127264         (WebCore::IDBObjectStoreImpl::keyPath):
127265         * storage/IDBObjectStoreRequest.cpp:
127266         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
127267         * storage/IDBObjectStoreRequest.h:
127268         (WebCore::IDBObjectStoreRequest::create):
127269         * storage/IDBRequest.cpp:
127270         (WebCore::IDBRequest::onSuccess):
127271         * storage/IDBRequest.h:
127272         * storage/IndexedDatabaseRequest.cpp:
127273         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
127274         (WebCore::IndexedDatabaseRequest::open):
127275         * storage/IndexedDatabaseRequest.h:
127276         (WebCore::IndexedDatabaseRequest::create):
127277         * storage/IndexedDatabaseRequest.idl:
127278
127279 2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
127280
127281         Not reviewed. Updated run-bindings-tests results.
127282
127283         * bindings/scripts/test/JS/JSTestInterface.cpp:
127284         (WebCore::JSTestInterfaceConstructor::constructTestInterface):
127285         * bindings/scripts/test/JS/JSTestObj.cpp:
127286         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
127287         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
127288         (WebCore::jsTestObjPrototypeFunctionIntMethod):
127289         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
127290         (WebCore::jsTestObjPrototypeFunctionObjMethod):
127291         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
127292         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
127293         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
127294         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
127295         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
127296         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
127297         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
127298         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
127299         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
127300         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
127301         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
127302         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
127303         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
127304         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
127305         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
127306         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
127307         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
127308         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
127309         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
127310         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
127311         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
127312         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
127313         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
127314         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
127315         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
127316         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
127317         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
127318         * bindings/scripts/test/JS/JSTestObj.h:
127319
127320 2010-06-07  Pavel Podivilov  <podivilov@chromium.org>
127321
127322         Reviewed by Pavel Feldman.
127323
127324         Web Inspector: Implement JSON parsing for InspectorValue.
127325         https://bugs.webkit.org/show_bug.cgi?id=40064
127326
127327         * inspector/InspectorValues.cpp:
127328         (WebCore::):
127329         (WebCore::InspectorValue::asBool):
127330         (WebCore::InspectorValue::asNumber):
127331         (WebCore::InspectorValue::asString):
127332         (WebCore::InspectorValue::asObject):
127333         (WebCore::InspectorValue::asArray):
127334         (WebCore::InspectorValue::readJSON):
127335         (WebCore::InspectorValue::writeJSON):
127336         (WebCore::InspectorBasicValue::asBool):
127337         (WebCore::InspectorBasicValue::asNumber):
127338         (WebCore::InspectorBasicValue::writeJSON):
127339         (WebCore::InspectorString::asString):
127340         (WebCore::InspectorObject::asObject):
127341         (WebCore::InspectorObject::getBool):
127342         (WebCore::InspectorObject::getNumber):
127343         (WebCore::InspectorObject::getString):
127344         (WebCore::InspectorObject::getObject):
127345         (WebCore::InspectorObject::getArray):
127346         (WebCore::InspectorObject::get):
127347         (WebCore::InspectorArray::asArray):
127348         * inspector/InspectorValues.h:
127349         (WebCore::InspectorObject::begin):
127350         (WebCore::InspectorObject::end):
127351
127352 2010-06-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
127353
127354         Reviewed by Simon Hausmann.
127355
127356         [Qt] Fix text selection drawing.
127357         https://bugs.webkit.org/show_bug.cgi?id=40221
127358
127359         The regression was introduced in r60169.
127360
127361         * platform/graphics/qt/FontQt.cpp:
127362         (WebCore::drawTextCommon):
127363
127364 2010-06-07  Yury Semikhatsky  <yurys@chromium.org>
127365
127366         Reviewed by Pavel Feldman.
127367
127368         Web Inspector: should be possible to distinguish extension scripts from main world scripts
127369         https://bugs.webkit.org/show_bug.cgi?id=40220
127370
127371         * bindings/js/ScriptDebugServer.cpp: remove global listeners set which is not used anymore.
127372         (WebCore::ScriptDebugServer::dispatchDidParseSource): pass script wrold type to the listeners.
127373         (WebCore::currentWorldType):
127374         (WebCore::ScriptDebugServer::sourceParsed):
127375         * bindings/js/ScriptDebugServer.h:
127376         * bindings/v8/ScriptDebugServer.cpp:
127377         (WebCore::ScriptDebugServer::dispatchDidParseSource):
127378         * inspector/InspectorController.cpp:
127379         (WebCore::InspectorController::didParseSource):
127380         * inspector/InspectorController.h:
127381         * inspector/InspectorFrontend.cpp:
127382         (WebCore::InspectorFrontend::parsedScriptSource):
127383         * inspector/InspectorFrontend.h:
127384         * inspector/ScriptDebugListener.h: pass type of the isolated world where the script was compiled to didParseSource.
127385         (WebCore::):
127386         * inspector/front-end/InjectedScript.js:
127387         (injectedScriptConstructor):
127388         * inspector/front-end/Script.js:
127389         (WebInspector.Script):
127390         * inspector/front-end/ScriptsPanel.js:
127391         (WebInspector.ScriptsPanel.prototype.addScript):
127392         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): use different style to highlight content scripts.
127393         * inspector/front-end/inspector.css:
127394         (#scripts-files option.extension-script):
127395         * inspector/front-end/inspector.js:
127396         (WebInspector.parsedScriptSource):
127397
127398 2010-06-06  MORITA Hajime  <morrita@google.com>
127399
127400         Unreviewd, Chromium windows build fix.
127401
127402         * rendering/RenderThemeChromiumWin.cpp:
127403         (WebCore::RenderThemeChromiumWin::paintProgressBar):
127404
127405 2010-06-06  MORITA Hajime  <morrita@google.com>
127406
127407         Reviewed by Kent Tamura.
127408
127409         ASSERTION FAILED with -webkit-appearance:progress-bar for non <progress> elements
127410         https://bugs.webkit.org/show_bug.cgi?id=40158
127411
127412         paintProgressBar() and paintMeter() assumed given RenderObject is
127413         RenderProgress or RenderMeter respectively, but arbitrary elements
127414         can have -webkit-appearance: progress-bar and such elements
127415         violates that assumption. So this change added type check before
127416         downcasting the RenderObject.
127417
127418         * platform/qt/RenderThemeQt.cpp:
127419         (WebCore::RenderThemeQt::paintProgressBar):
127420         * rendering/RenderTheme.cpp:
127421         (WebCore::RenderTheme::paintMeter):
127422         * rendering/RenderThemeChromiumSkia.cpp:
127423         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
127424         * rendering/RenderThemeChromiumWin.cpp:
127425         (WebCore::RenderThemeChromiumWin::paintProgressBar):
127426         * rendering/RenderThemeMac.mm:
127427         (WebCore::RenderThemeMac::paintProgressBar):
127428
127429 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
127430
127431         Reviewed by NOBODY (Qt build fix pt 2).
127432
127433         * bridge/qt/qt_runtime.cpp:
127434         (JSC::Bindings::findMethodIndex):
127435         (JSC::Bindings::QtRuntimeMetaMethod::call):
127436         (JSC::Bindings::QtRuntimeConnectionMethod::call):
127437
127438 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
127439
127440         Reviewed by NOBODY (Qt build fix).
127441
127442         * bridge/qt/qt_runtime.cpp:
127443         (JSC::Bindings::findMethodIndex):
127444         (JSC::Bindings::QtRuntimeMetaMethod::call):
127445         (JSC::Bindings::QtRuntimeConnectionMethod::call):
127446
127447 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
127448
127449         Reviewed by Sam Weinig.
127450
127451         Bug 40214 - Clean up error construction / throwing in JSC.
127452         
127453         The one egregious insanity here is that creating an error requires
127454         a VM-entry-esqe-host call (the string argument is wrapped as a JS
127455         object & pushed on the RegisterFile, then unwrapped back to a
127456         UString).  Changing this also means you only require a global
127457         object, not an ExecState, to create an error.
127458
127459         The methods to create error objects are also parameterized
127460         requiring a switch on the type, which can be made cleaner and
127461         faster by moving to a separate method per error type.  Code to add
127462         divot information to error had been duplicated, and is coalesced
127463         back into a single function.
127464
127465         Convenience methods added to create & throw type & syntax error
127466         with a default error message, since this is a common case.
127467
127468         Also, errors are currently thrown either using
127469         "throwError(exec, error)" or "exec->setException(error)" - unify
127470         on the former, since this is more commonly used.  Add
127471         "throwVMError(exec, error)" equivalents, as a convenience for
127472         cases where the result was being wrapped in "JSValue::encode(...)".
127473
127474         * WebCore.xcodeproj/project.pbxproj:
127475         * bindings/js/JSArrayBufferConstructor.h:
127476         (WebCore::construct):
127477         * bindings/js/JSArrayBufferViewHelper.h:
127478         (WebCore::setWebGLArrayHelper):
127479         * bindings/js/JSAudioConstructor.cpp:
127480         (WebCore::constructAudio):
127481         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
127482         (WebCore::JSCanvasRenderingContext2D::setFillColor):
127483         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
127484         (WebCore::JSCanvasRenderingContext2D::drawImage):
127485         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
127486         (WebCore::JSCanvasRenderingContext2D::setShadow):
127487         (WebCore::JSCanvasRenderingContext2D::createPattern):
127488         (WebCore::JSCanvasRenderingContext2D::fillText):
127489         (WebCore::JSCanvasRenderingContext2D::strokeText):
127490         * bindings/js/JSClipboardCustom.cpp:
127491         (WebCore::JSClipboard::clearData):
127492         (WebCore::JSClipboard::getData):
127493         (WebCore::JSClipboard::setDragImage):
127494         * bindings/js/JSDOMBinding.cpp:
127495         (WebCore::setDOMException):
127496         (WebCore::toJSSequence):
127497         * bindings/js/JSDOMWrapper.cpp:
127498         (WebCore::DOMObject::defineOwnProperty):
127499         * bindings/js/JSDesktopNotificationsCustom.cpp:
127500         (WebCore::JSNotificationCenter::requestPermission):
127501         * bindings/js/JSEventSourceConstructor.cpp:
127502         (WebCore::constructEventSource):
127503         * bindings/js/JSHTMLDocumentCustom.cpp:
127504         (WebCore::JSHTMLDocument::open):
127505         * bindings/js/JSHTMLInputElementCustom.cpp:
127506         (WebCore::JSHTMLInputElement::selectionStart):
127507         (WebCore::JSHTMLInputElement::setSelectionStart):
127508         (WebCore::JSHTMLInputElement::selectionEnd):
127509         (WebCore::JSHTMLInputElement::setSelectionEnd):
127510         (WebCore::JSHTMLInputElement::setSelectionRange):
127511         * bindings/js/JSImageConstructor.cpp:
127512         (WebCore::constructImage):
127513         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
127514         (WebCore::JSJavaScriptCallFrame::evaluate):
127515         * bindings/js/JSMessageChannelConstructor.cpp:
127516         (WebCore::JSMessageChannelConstructor::construct):
127517         * bindings/js/JSMessagePortCustom.cpp:
127518         (WebCore::fillMessagePortArray):
127519         * bindings/js/JSOptionConstructor.cpp:
127520         (WebCore::constructHTMLOptionElement):
127521         * bindings/js/JSSVGMatrixCustom.cpp:
127522         (WebCore::JSSVGMatrix::multiply):
127523         * bindings/js/JSSharedWorkerConstructor.cpp:
127524         (WebCore::constructSharedWorker):
127525         * bindings/js/JSWebGLRenderingContextCustom.cpp:
127526         (WebCore::JSWebGLRenderingContext::bufferData):
127527         (WebCore::JSWebGLRenderingContext::bufferSubData):
127528         (WebCore::getObjectParameter):
127529         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
127530         (WebCore::JSWebGLRenderingContext::getParameter):
127531         (WebCore::JSWebGLRenderingContext::getProgramParameter):
127532         (WebCore::JSWebGLRenderingContext::getShaderParameter):
127533         (WebCore::JSWebGLRenderingContext::getUniform):
127534         (WebCore::JSWebGLRenderingContext::texImage2D):
127535         (WebCore::JSWebGLRenderingContext::texSubImage2D):
127536         (WebCore::dataFunctionf):
127537         (WebCore::dataFunctioni):
127538         (WebCore::dataFunctionMatrix):
127539         * bindings/js/JSWebSocketConstructor.cpp:
127540         (WebCore::constructWebSocket):
127541         * bindings/js/JSWebSocketCustom.cpp:
127542         (WebCore::JSWebSocket::send):
127543         * bindings/js/JSWorkerConstructor.cpp:
127544         (WebCore::constructWorker):
127545         * bindings/js/JSXMLHttpRequestConstructor.cpp:
127546         (WebCore::constructXMLHttpRequest):
127547         * bindings/js/JSXMLHttpRequestCustom.cpp:
127548         (WebCore::JSXMLHttpRequest::open):
127549         * bindings/js/SerializedScriptValue.cpp:
127550         (WebCore::BaseWalker::throwStackOverflow):
127551         (WebCore::BaseWalker::throwInterruptedException):
127552         (WebCore::SerializingTreeWalker::startArray):
127553         (WebCore::SerializingTreeWalker::startObject):
127554         * bindings/js/WorkerScriptController.cpp:
127555         (WebCore::WorkerScriptController::setException):
127556         * bindings/scripts/CodeGeneratorJS.pm:
127557         * bridge/c/c_instance.cpp:
127558         (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
127559         (JSC::Bindings::CInstance::invokeMethod):
127560         (JSC::Bindings::CInstance::invokeDefaultMethod):
127561         (JSC::Bindings::CInstance::invokeConstruct):
127562         * bridge/jni/jsc/JNIBridgeJSC.cpp:
127563         (JavaField::dispatchValueFromInstance):
127564         (JavaField::dispatchSetValueToInstance):
127565         * bridge/jni/jsc/JavaInstanceJSC.cpp:
127566         (JavaInstance::invokeMethod):
127567         * bridge/objc/objc_instance.mm:
127568         (ObjcInstance::moveGlobalExceptionToExecState):
127569         (ObjcInstance::invokeMethod):
127570         * bridge/objc/objc_runtime.mm:
127571         (JSC::Bindings::ObjcField::valueFromInstance):
127572         (JSC::Bindings::ObjcField::setValueToInstance):
127573         (JSC::Bindings::ObjcArray::setValueAt):
127574         (JSC::Bindings::ObjcArray::valueAt):
127575         (JSC::Bindings::callObjCFallbackObject):
127576         * bridge/objc/objc_utility.h:
127577         * bridge/objc/objc_utility.mm:
127578         (JSC::Bindings::throwError):
127579         * bridge/runtime_array.cpp:
127580         (JSC::RuntimeArray::put):
127581         * bridge/runtime_method.cpp:
127582         (JSC::callRuntimeMethod):
127583         * bridge/runtime_object.cpp:
127584         (JSC::Bindings::RuntimeObject::throwInvalidAccessError):
127585
127586 2010-06-06  Dirk Schulze  <krit@webkit.org>
127587
127588         Reviewed by Nikolas Zimmermann.
127589
127590         hit testing does not respect clip paths
127591         https://bugs.webkit.org/show_bug.cgi?id=15162
127592
127593         Test: svg/dynamic-updates/SVGClipPath-influences-hitTesting.html
127594         
127595         Added a check, if a float point is not only in the shape/object boundaries
127596         but also is not in the clipped away area of a clipPath.
127597
127598         * rendering/HitTestRequest.h:
127599         (WebCore::HitTestRequest::):
127600         (WebCore::HitTestRequest::svgClipContent):
127601         * rendering/RenderPath.cpp:
127602         (WebCore::RenderPath::fillContains):
127603         (WebCore::RenderPath::nodeAtFloatPoint):
127604         * rendering/RenderPath.h:
127605         * rendering/RenderSVGContainer.cpp:
127606         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
127607         * rendering/RenderSVGImage.cpp:
127608         (WebCore::RenderSVGImage::nodeAtFloatPoint):
127609         * rendering/RenderSVGResourceClipper.cpp:
127610         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
127611         * rendering/RenderSVGResourceClipper.h:
127612         * rendering/RenderSVGText.cpp:
127613         (WebCore::RenderSVGText::nodeAtFloatPoint):
127614         * rendering/SVGRenderSupport.cpp:
127615         (WebCore::pointInClippingArea):
127616         * rendering/SVGRenderSupport.h:
127617
127618 2010-06-06  Dirk Schulze  <krit@webkit.org>
127619
127620         Reviewed by Nikolas Zimmermann.
127621
127622         SVG Pattern/Gradient clean-up
127623         https://bugs.webkit.org/show_bug.cgi?id=40205
127624
127625         Transformations of SVG Patterns and Gradients can be bundeled.
127626         This calculation also needs just to be calculated once. It's not a great speed-up for most platforms,
127627         but a clean-up and preparation for new features like vectorEffects and others.
127628         Now, that we don't recalucluate the gradient and its transformations, it was necessary to add a way
127629         to transform alreday existing gradients on Cairo. This is done in the same way like Skia transforms
127630         gradients after they were created.
127631         
127632         This patch doesn't change functionality, so no new tests added.
127633
127634         * platform/graphics/Gradient.cpp:
127635         * platform/graphics/cairo/GradientCairo.cpp:
127636         (WebCore::Gradient::setPlatformGradientSpaceTransform):
127637         * rendering/RenderSVGResourceGradient.cpp:
127638         (WebCore::RenderSVGResourceGradient::applyResource):
127639         * rendering/RenderSVGResourceGradient.h:
127640         * rendering/RenderSVGResourcePattern.cpp:
127641         (WebCore::RenderSVGResourcePattern::applyResource):
127642         (WebCore::RenderSVGResourcePattern::createTileImage):
127643         (WebCore::RenderSVGResourcePattern::buildPattern):
127644         * rendering/RenderSVGResourcePattern.h:
127645
127646 2010-06-05  Dumitru Daniliuc  <dumi@chromium.org>
127647
127648         Unreviewed, typo/build fix.
127649
127650         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
127651         (WebCore::V8SQLStatementErrorCallback::handleEvent):
127652
127653 2010-05-28  Dumitru Daniliuc  <dumi@chromium.org>
127654
127655         Reviewed by Adam Barth.
127656
127657         Do not pass empty handles to v8.
127658         https://bugs.webkit.org/show_bug.cgi?id=39896
127659
127660         Passing an empty handle to v8 results in a crash with a stack
127661         trace that doesn't give us much information about the cause of the
127662         crash. Instead, if we check the handles we pass to v8 and crash
127663         when they are empty, we do not make things worse, and should get a
127664         more informative stack trace.
127665
127666         * bindings/scripts/CodeGeneratorV8.pm:
127667         * bindings/scripts/test/V8/V8TestCallback.cpp:
127668         (WebCore::V8TestCallback::callbackWithClass1Param):
127669         (WebCore::V8TestCallback::callbackWithClass2Param):
127670         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
127671         (WebCore::V8SQLStatementErrorCallback::handleEvent):
127672
127673 2010-05-30  Antonio Gomes  <tonikitoo@webkit.org>
127674
127675         Reviewed by Darin Adler.
127676
127677         Add a convenient helper getter for Frame* to RenderObject
127678         https://bugs.webkit.org/show_bug.cgi?id=39928
127679
127680         document()->frame() is being called enough from RenderObject derivated classes
127681         that it worth adding a helper Frame getter as a shortcut.
127682
127683         No behavior change, so no new tests.
127684
127685         * accessibility/AccessibilityRenderObject.cpp:
127686         (WebCore::AccessibilityRenderObject::isOffScreen):
127687         (WebCore::AccessibilityRenderObject::stringValue):
127688         (WebCore::AccessibilityRenderObject::selection):
127689         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
127690         * page/EventHandler.cpp:
127691         (WebCore::canAutoscroll):
127692         * rendering/InlineTextBox.cpp:
127693         (WebCore::InlineTextBox::paint):
127694         (WebCore::InlineTextBox::paintCustomHighlight):
127695         (WebCore::InlineTextBox::paintTextMatchMarker):
127696         * rendering/RenderBlock.cpp:
127697         (WebCore::RenderBlock::paintCaret):
127698         * rendering/RenderBox.cpp:
127699         (WebCore::RenderBox::paintCustomHighlight):
127700         * rendering/RenderDataGrid.cpp:
127701         (WebCore::RenderDataGrid::isActive):
127702         * rendering/RenderFrameSet.cpp:
127703         (WebCore::RenderFrameSet::flattenFrameSet):
127704         * rendering/RenderImage.cpp:
127705         (WebCore::RenderImage::paintFocusRings):
127706         * rendering/RenderInline.cpp:
127707         (WebCore::RenderInline::addDashboardRegions):
127708         * rendering/RenderLayer.cpp:
127709         (WebCore::RenderLayer::~RenderLayer):
127710         (WebCore::RenderLayer::panScrollFromPoint):
127711         (WebCore::RenderLayer::scrollByRecursively):
127712         (WebCore::RenderLayer::scrollToOffset):
127713         (WebCore::RenderLayer::autoscroll):
127714         (WebCore::RenderLayer::isActive):
127715         (showLayerTree):
127716         * rendering/RenderLayerBacking.cpp:
127717         (WebCore::inspectorTimelineAgent):
127718         * rendering/RenderListBox.cpp:
127719         (WebCore::RenderListBox::paintItemForeground):
127720         (WebCore::RenderListBox::paintItemBackground):
127721         (WebCore::RenderListBox::panScroll):
127722         (WebCore::RenderListBox::autoscroll):
127723         (WebCore::RenderListBox::isActive):
127724         * rendering/RenderObject.cpp:
127725         (WebCore::RenderObject::~RenderObject):
127726         (WebCore::RenderObject::selectionBackgroundColor):
127727         (WebCore::RenderObject::selectionForegroundColor):
127728         (WebCore::RenderObject::destroy):
127729         (WebCore::RenderObject::addDashboardRegions):
127730         (WebCore::RenderObject::animation):
127731         * rendering/RenderObject.h:
127732         (WebCore::RenderObject::document):
127733         (WebCore::RenderObject::frame):
127734
127735 2010-06-05  Jonathan Kliegman  <kliegs@chromium.org>
127736
127737         Reviewed by Dirk Schulze.
127738
127739         SVG doesn't support rgba colors
127740         https://bugs.webkit.org/show_bug.cgi?id=16183
127741
127742         Enabled processing of rgba, hsl and hsla color specifications
127743         for SVG files.  SVG spec calls for CSS2 but common usage and
127744         other browsers suppor CSS3 colors being used in SVG files
127745
127746         Removed unused svg paramater from CSSParser::parseColorFromValue
127747
127748         Tests: svg/custom/fill-opacity-hsl.svg
127749                svg/custom/fill-opacity-rgba.svg
127750
127751         * css/CSSParser.cpp:
127752         (WebCore::CSSParser::parseColorFromValue):
127753         * css/CSSParser.h:
127754         * css/SVGCSSParser.cpp:
127755         (WebCore::CSSParser::parseSVGValue):
127756         (WebCore::CSSParser::parseSVGPaint):
127757         (WebCore::CSSParser::parseSVGColor):
127758         * svg/SVGColor.cpp:
127759         (WebCore::SVGColor::colorFromRGBColorString):
127760
127761 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127762
127763         Reviewed by Eric Seidel.
127764
127765         [Qt] ContextMenuItemQt.cpp has coding-style errors
127766         https://bugs.webkit.org/show_bug.cgi?id=39780
127767
127768         * platform/qt/ContextMenuItemQt.cpp:
127769
127770 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127771
127772         Reviewed by Eric Seidel.
127773
127774         [Qt] ContextMenuQt.cpp has coding-style errors
127775         https://bugs.webkit.org/show_bug.cgi?id=39779
127776
127777         * platform/qt/ContextMenuQt.cpp:
127778
127779 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127780
127781         Reviewed by Eric Seidel.
127782
127783         [Qt] DragDataQt.cpp has coding-style errors
127784         https://bugs.webkit.org/show_bug.cgi?id=39777
127785
127786         * platform/qt/DragDataQt.cpp:
127787
127788 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127789
127790         Reviewed by Eric Seidel.
127791
127792         [Qt] FileChooserQt.cpp has coding-style errors
127793         https://bugs.webkit.org/show_bug.cgi?id=39776
127794
127795         * platform/qt/FileChooserQt.cpp:
127796
127797 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127798
127799         Reviewed by Eric Seidel.
127800
127801         [Qt] FileSystemQt.cpp has coding-style errors
127802         https://bugs.webkit.org/show_bug.cgi?id=39775
127803
127804         * platform/qt/FileSystemQt.cpp:
127805
127806 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127807
127808         Reviewed by Eric Seidel.
127809
127810         [Qt] KURLQt.cpp has coding-style errors
127811         https://bugs.webkit.org/show_bug.cgi?id=39774
127812
127813         * platform/qt/KURLQt.cpp:
127814
127815 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127816
127817         Reviewed by Eric Seidel.
127818
127819         [Qt] LoggingQt.cpp has coding-style errors
127820         https://bugs.webkit.org/show_bug.cgi?id=39772
127821
127822         * platform/qt/LoggingQt.cpp:
127823
127824 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127825
127826         Reviewed by Eric Seidel.
127827
127828         [Qt] PlatformKeyboardEventQt.cpp has coding-style errors
127829         https://bugs.webkit.org/show_bug.cgi?id=39770
127830
127831         * platform/qt/PlatformKeyboardEventQt.cpp:
127832         (WebCore::keyIdentifierForQtKeyCode):
127833         (WebCore::windowsKeyCodeForKeyEvent):
127834         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
127835
127836 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127837
127838         Reviewed by Eric Seidel.
127839
127840         [Qt] PlatformScreenQt.cpp has coding-style errors
127841         https://bugs.webkit.org/show_bug.cgi?id=39768
127842
127843         * platform/qt/PlatformMouseEventQt.cpp:
127844         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
127845
127846 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127847
127848         Reviewed by Eric Seidel.
127849
127850         [Qt] RenderThemeQt.cpp has coding-style errors
127851         https://bugs.webkit.org/show_bug.cgi?id=39767
127852
127853         * platform/qt/RenderThemeQt.cpp:
127854
127855 2010-06-05  Anders Bakken  <agbakken@gmail.com>
127856
127857         Reviewed by Eric Seidel.
127858
127859         [Qt] ScrollbarQt.cpp has coding-style errors
127860         https://bugs.webkit.org/show_bug.cgi?id=39765
127861
127862         * platform/qt/ScrollbarQt.cpp:
127863
127864 2010-06-04  Adam Barth  <abarth@webkit.org>
127865
127866         Reviewed by Eric Seidel.
127867
127868         Make HTML5Lexer go fast
127869         https://bugs.webkit.org/show_bug.cgi?id=40048
127870
127871         This patch changes us from using a jump table for each character to
127872         using absolute jumps between parser states.  This appears to be about a
127873         1% improvement on the parser bench mark (which is 1/10th of what we
127874         need to catch the old parser).
127875
127876         I've kept the underlying logic as close to the old logic as possible.
127877         This new form will make it easier to handle the input stream part of
127878         the spec and to make further performance improvements.
127879
127880         * html/HTML5Lexer.cpp:
127881         (WebCore::HTML5Lexer::reset):
127882         (WebCore::HTML5Lexer::nextToken):
127883         (WebCore::HTML5Lexer::emitCurrentToken):
127884         * html/HTML5Lexer.h:
127885
127886 2010-06-04  Adam Barth  <abarth@webkit.org>
127887
127888         Reviewed by Darin Adler.
127889
127890         HTML5 parser should be within 1% of old parser performance
127891         https://bugs.webkit.org/show_bug.cgi?id=40172
127892
127893         Stop using adopt().  I think this function is cause us to do extra
127894         mallocs that are hurting performance.  Instead of caching AtomicString
127895         on HTML5Token, just use the AtomicString on the old token.  Also,
127896         reserve inline capacity for 10 attributes.
127897
127898         * html/HTML5Lexer.cpp:
127899         (WebCore::HTML5Lexer::isAppropriateEndTag):
127900         * html/HTML5Lexer.h:
127901         * html/HTML5Token.h:
127902         (WebCore::HTML5Token::beginStartTag):
127903         (WebCore::HTML5Token::beginEndTag):
127904         (WebCore::HTML5Token::beginCharacter):
127905         (WebCore::HTML5Token::beginComment):
127906         (WebCore::HTML5Token::beginDOCTYPE):
127907         (WebCore::HTML5Token::name):
127908         (WebCore::HTML5Token::characters):
127909         (WebCore::HTML5Token::comment):
127910         * html/HTML5TreeBuilder.cpp:
127911         (WebCore::convertToOldStyle):
127912         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
127913
127914 2010-06-04  Anders Bakken  <agbakken@gmail.com>
127915
127916         Reviewed by Eric Seidel.
127917
127918         [Qt] ScrollbarThemeQt.cpp has coding-style errors
127919         https://bugs.webkit.org/show_bug.cgi?id=39764
127920
127921         * platform/qt/ScrollbarThemeQt.cpp:
127922         (WebCore::scPart):
127923         (WebCore::scrollbarPart):
127924         (WebCore::styleOptionSlider):
127925
127926 2010-06-04  Anders Bakken  <agbakken@gmail.com>
127927
127928         Reviewed by Eric Seidel.
127929
127930         [Qt] SharedTimerQt.cpp has coding-style errors
127931         https://bugs.webkit.org/show_bug.cgi?id=39763
127932
127933         * platform/qt/SharedTimerQt.cpp:
127934
127935 2010-06-04  Anders Bakken  <agbakken@gmail.com>
127936
127937         Reviewed by Eric Seidel.
127938
127939         WidgetQt.cpp has coding-style errors
127940         https://bugs.webkit.org/show_bug.cgi?id=39759
127941
127942         * platform/qt/WidgetQt.cpp:
127943
127944 2010-06-04  Anders Bakken  <agbakken@gmail.com>
127945
127946         Reviewed by Eric Seidel.
127947
127948         TemporaryLinkStubsQt.cpp has coding-style errors
127949         https://bugs.webkit.org/show_bug.cgi?id=39761
127950
127951         * platform/qt/TemporaryLinkStubsQt.cpp:
127952
127953 2010-06-04  Anders Bakken  <agbakken@gmail.com>
127954
127955         Reviewed by Eric Seidel.
127956
127957         [Qt] SoundQt.cpp has coding-style errors
127958         https://bugs.webkit.org/show_bug.cgi?id=39762
127959
127960         * platform/qt/SoundQt.cpp:
127961
127962 2010-06-04  Andreas Kling  <andreas.kling@nokia.com>
127963
127964         Reviewed by Dirk Schulze.
127965
127966         Canvas createPattern(img, repetition) shouldn't throw INVALID_STATE_ERR when !img.complete
127967         https://bugs.webkit.org/show_bug.cgi?id=40166
127968
127969         Spec link:
127970         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createpattern
127971
127972         Test: http/tests/misc/canvas-pattern-from-incremental-image.html (updated)
127973
127974         * html/canvas/CanvasRenderingContext2D.cpp:
127975         (WebCore::CanvasRenderingContext2D::createPattern):
127976
127977 2010-06-04  Anders Bakken  <agbakken@gmail.com>
127978
127979         Reviewed by David Levin.
127980
127981         [Qt] Localizations.cpp has coding-style errors
127982         https://bugs.webkit.org/show_bug.cgi?id=39773
127983
127984         * platform/qt/Localizations.cpp:
127985         (WebCore::localizedMediaTimeDescription):
127986
127987 2010-06-04  Lyon Chen  <liachen@rim.com>
127988
127989         Reviewed by Darin Adler.
127990
127991         ApplicationCacheStorage::storeNewestCache() Crash WebKit when openDatabase(true) failed
127992         https://bugs.webkit.org/show_bug.cgi?id=40074
127993
127994         Adding m_database.isOpen() check for every openDatabase(true) call, this is needed because
127995         openDatabase(true) could still fail, for example when cacheStorage is full or no longer available.
127996
127997         * loader/appcache/ApplicationCacheStorage.cpp:
127998         (WebCore::ApplicationCacheStorage::store):
127999         (WebCore::ApplicationCacheStorage::storeNewestCache):
128000
128001 2010-06-04  Sheriff Bot  <webkit.review.bot@gmail.com>
128002
128003         Unreviewed, rolling out r60684.
128004         http://trac.webkit.org/changeset/60684
128005         https://bugs.webkit.org/show_bug.cgi?id=40196
128006
128007         This patch broke chromium reliability tests (Requested by
128008         tonyg-cr on #webkit).
128009
128010         * bindings/v8/ScriptSourceCode.h:
128011         (WebCore::ScriptSourceCode::ScriptSourceCode):
128012         * bindings/v8/V8Proxy.cpp:
128013         (WebCore::V8Proxy::compileScript):
128014         (WebCore::V8Proxy::evaluate):
128015         * bindings/v8/V8Proxy.h:
128016
128017 2010-06-04  Chris Fleizach  <cfleizach@apple.com>
128018
128019         Reviewed by David Kilzer.
128020
128021         AX: need an aria-help
128022         https://bugs.webkit.org/show_bug.cgi?id=40010
128023
128024         Test: accessibility/aria-help.html
128025
128026         * accessibility/AccessibilityRenderObject.cpp:
128027         (WebCore::AccessibilityRenderObject::helpText):
128028         * html/HTMLAttributeNames.in:
128029
128030 2010-06-04  Andreas Kling  <andreas.kling@nokia.com>
128031
128032         Reviewed by Tor Arne Vestbø.
128033
128034         [Qt] Canvas arc() with zero radius should draw a line to the start point
128035         https://bugs.webkit.org/show_bug.cgi?id=40164
128036
128037         Spec link:
128038         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
128039
128040         * platform/graphics/qt/PathQt.cpp:
128041         (WebCore::Path::addArc):
128042
128043 2010-06-04  Martin Robinson  <mrobinson@igalia.com>
128044
128045         Reviewed by Xan Lopez.
128046
128047         [GTK] RenderThemeGtk leaks memory
128048         https://bugs.webkit.org/show_bug.cgi?id=40168
128049
128050         Call gtk_widget_destroy in the RenderThemeGtk destructor. This cleans
128051         up all widget resources when a theme is destroyed.
128052
128053         No new tests, because functionality has not changed.
128054
128055         * platform/gtk/RenderThemeGtk.cpp:
128056         (WebCore::RenderThemeGtk::~RenderThemeGtk): Call gtk_widget_destroy on m_gtkWindow.
128057
128058 2010-06-04  Martin Robinson  <mrobinson@igalia.com>
128059
128060         Reviewed by Xan Lopez.
128061
128062         [GTK] RenderThemeGtk leaks memory
128063         https://bugs.webkit.org/show_bug.cgi?id=40168
128064
128065         Remove the use of releaseRef to assign a value to a RefPtr. This results in
128066         the original pointer taking an extra reference.
128067
128068         * platform/gtk/RenderThemeGtk.cpp:
128069         (WebCore::RenderThemeGtk::initMediaStyling): Remove the use of releaseRef here.
128070
128071 2010-06-04  Adam Barth  <abarth@webkit.org>
128072
128073         Reviewed by Gavin Barraclough.
128074
128075         Try to fix the windows build
128076         https://bugs.webkit.org/show_bug.cgi?id=40189
128077
128078         Suppress the "unreachable code" warning because we want to assert that
128079         we don't reach certain code points.
128080
128081         * html/HTML5Lexer.cpp:
128082
128083 2010-06-04  Adam Barth  <abarth@webkit.org>
128084
128085         Reviewed by Eric Seidel.
128086
128087         Make HTML5Lexer go fast
128088         https://bugs.webkit.org/show_bug.cgi?id=40048
128089
128090         A couple more cases like the previous patch that I missed.
128091
128092         * html/HTML5Lexer.cpp:
128093         (WebCore::HTML5Lexer::nextToken):
128094
128095 2010-06-04  Adam Barth  <abarth@webkit.org>
128096
128097         Reviewed by Eric Seidel.
128098
128099         Make HTML5Lexer go fast
128100         https://bugs.webkit.org/show_bug.cgi?id=40048
128101
128102         Make all the state transitions in the machine explicit.  This allows us
128103         to remove all the break statements, which won't work correctly after we
128104         change the macro definitions.
128105
128106         Also, while I was looking at every line of code, I fixed a bunch of the
128107         one-line-if style errors introduces in my previous patches.
128108
128109         * html/HTML5Lexer.cpp:
128110         (WebCore::HTML5Lexer::nextToken):
128111
128112 2010-06-04  Gavin Barraclough  <barraclough@apple.com>
128113
128114         Reviewed by Oliver Hunt.
128115
128116         Bug 40187 - Change function signature of NativeConstructor to match NativeFunction
128117
128118         Mostly for consistency, but constructor & args arguments are redundant,
128119         and this will help if we wish to be able to JIT calls to more constructors.
128120
128121         * bindings/js/JSArrayBufferConstructor.cpp:
128122         (WebCore::constructCanvasArrayBuffer):
128123         * bindings/js/JSAudioConstructor.cpp:
128124         (WebCore::constructAudio):
128125         * bindings/js/JSEventSourceConstructor.cpp:
128126         (WebCore::constructEventSource):
128127         * bindings/js/JSFloatArrayConstructor.cpp:
128128         (WebCore::constructCanvasFloatArray):
128129         * bindings/js/JSImageConstructor.cpp:
128130         (WebCore::constructImage):
128131         * bindings/js/JSInt16ArrayConstructor.cpp:
128132         (WebCore::constructCanvasShortArray):
128133         * bindings/js/JSInt32ArrayConstructor.cpp:
128134         (WebCore::constructCanvasIntArray):
128135         * bindings/js/JSInt8ArrayConstructor.cpp:
128136         (WebCore::constructCanvasByteArray):
128137         * bindings/js/JSMessageChannelConstructor.cpp:
128138         (WebCore::JSMessageChannelConstructor::construct):
128139         * bindings/js/JSMessageChannelConstructor.h:
128140         * bindings/js/JSOptionConstructor.cpp:
128141         (WebCore::constructHTMLOptionElement):
128142         * bindings/js/JSSharedWorkerConstructor.cpp:
128143         (WebCore::constructSharedWorker):
128144         * bindings/js/JSUint16ArrayConstructor.cpp:
128145         (WebCore::constructCanvasUnsignedShortArray):
128146         * bindings/js/JSUint32ArrayConstructor.cpp:
128147         (WebCore::constructCanvasUnsignedIntArray):
128148         * bindings/js/JSUint8ArrayConstructor.cpp:
128149         (WebCore::constructCanvasUnsignedByteArray):
128150         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
128151         (WebCore::constructWebKitCSSMatrix):
128152         * bindings/js/JSWebKitPointConstructor.cpp:
128153         (WebCore::constructWebKitPoint):
128154         * bindings/js/JSWebSocketConstructor.cpp:
128155         (WebCore::constructWebSocket):
128156         * bindings/js/JSWorkerConstructor.cpp:
128157         (WebCore::constructWorker):
128158         * bindings/js/JSXMLHttpRequestConstructor.cpp:
128159         (WebCore::constructXMLHttpRequest):
128160         * bindings/js/JSXSLTProcessorConstructor.cpp:
128161         (WebCore::constructXSLTProcessor):
128162         * bindings/scripts/CodeGeneratorJS.pm:
128163         * bridge/runtime_object.cpp:
128164         (JSC::Bindings::callRuntimeConstructor):
128165
128166 2010-06-04  Adam Barth  <abarth@webkit.org>
128167
128168         Reviewed by Eric Seidel.
128169
128170         Make HTML5Lexer go fast
128171         https://bugs.webkit.org/show_bug.cgi?id=40048
128172
128173         Change the intent of the loop to match what it's going to be once we
128174         remove the loop.  This is a whitespace only change that will make the
128175         final diff much, much smaller.  Sorry for the transient ugly style.
128176
128177         * html/HTML5Lexer.cpp:
128178         (WebCore::HTML5Lexer::nextToken):
128179
128180 2010-06-04  Adam Barth  <abarth@webkit.org>
128181
128182         Reviewed by Eric Seidel.
128183
128184         Make HTML5Lexer go fast
128185         https://bugs.webkit.org/show_bug.cgi?id=40048
128186
128187         Introduce ADVANCE_TO macro.  This is the last macro we need to
128188         introduce.
128189
128190         * html/HTML5Lexer.cpp:
128191         (WebCore::HTML5Lexer::nextToken):
128192
128193 2010-06-04  Adam Barth  <abarth@webkit.org>
128194
128195         Reviewed by Eric Seidel.
128196
128197         Make HTML5Lexer go fast
128198         https://bugs.webkit.org/show_bug.cgi?id=40048
128199
128200         Fix the rest of the RECONSUME_IN cases that were missed by our script.
128201         Also, reorder some assigment to prepare for the ADVANCE_TO patch.
128202
128203         * html/HTML5Lexer.cpp:
128204         (WebCore::HTML5Lexer::nextToken):
128205
128206 2010-06-04  Adam Barth  <abarth@webkit.org>
128207
128208         Reviewed by Eric Seidel.
128209
128210         Make HTML5Lexer go fast
128211         https://bugs.webkit.org/show_bug.cgi?id=40048
128212
128213         This patch handles the FLUSH_AND_ADVANCE_TO case.  Again, this patch
128214         introduces style errors that will be fixed shortly.
128215
128216         * html/HTML5Lexer.cpp:
128217         (WebCore::HTML5Lexer::nextToken):
128218
128219 2010-06-04  Adam Barth  <abarth@webkit.org>
128220
128221         Reviewed by Eric Seidel.
128222
128223         Make HTML5Lexer go fast
128224         https://bugs.webkit.org/show_bug.cgi?id=40048
128225
128226         This patch handles the FLUSH_EMIT_AND_RESUME_IN case.  This patch
128227         introduces some bad style w.r.t. one-line if statements, but we'll fix
128228         them all automatically in cleanup patch when we're done.
128229
128230         * html/HTML5Lexer.cpp:
128231         (WebCore::HTML5Lexer::nextToken):
128232
128233 2010-06-04  Adam Barth  <abarth@webkit.org>
128234
128235         Reviewed by Eric Seidel.
128236
128237         Make HTML5Lexer go fast
128238         https://bugs.webkit.org/show_bug.cgi?id=40048
128239
128240         More small steps.  This patch deals with emitting tokens.
128241
128242         * html/HTML5Lexer.cpp:
128243         (WebCore::HTML5Lexer::nextToken):
128244
128245 2010-06-04  Adam Barth  <abarth@webkit.org>
128246
128247         Reviewed by Eric Seidel.
128248
128249         Make HTML5Lexer go fast
128250         https://bugs.webkit.org/show_bug.cgi?id=40048
128251
128252         The next step: using macros to delimit each state.  Evetually, we're
128253         going to change what these macros expand to.
128254
128255         * html/HTML5Lexer.cpp:
128256         (WebCore::HTML5Lexer::nextToken):
128257
128258 2010-06-04  Adam Barth  <abarth@webkit.org>
128259
128260         Reviewed by Eric Seidel.
128261
128262         Make HTML5Lexer go fast
128263         https://bugs.webkit.org/show_bug.cgi?id=40048
128264
128265         We're going to do this patch in small steps to make it easier to verify correctness.
128266
128267         * html/HTML5Lexer.cpp:
128268         (WebCore::HTML5Lexer::nextToken):
128269
128270 2010-06-04  Jay Civelli  <jcivelli@chromium.org>
128271
128272         Reviewed by David Levin.
128273
128274         [chromium] Adding support for the left and right Windows keys to the
128275                    NativeWebKeyboardEvent.
128276         https://bugs.webkit.org/show_bug.cgi?id=39752
128277
128278         * platform/chromium/KeyCodeConversionGtk.cpp:
128279         (WebCore::windowsKeyCodeForKeyEvent):
128280
128281 2010-06-04  Dirk Schulze  <krit@webkit.org>
128282
128283         Reviewed by Nikolas Zimmermann.
128284
128285         SVG filter on filter don't work
128286         https://bugs.webkit.org/show_bug.cgi?id=32708
128287         
128288         Any child of <text> was not allowed to use the same filter as the text root. 
128289         I couldn't found any reason in the SVG specification that legimitate this.
128290         Only batik also doesn't allow the same filter on the text root as on it's childs,
128291         while any other effect is still allowed.
128292         I removed this limitation so that the result looks like the result on Firefox.
128293
128294         Test: svg/filters/filter-on-filter-for-text.svg
128295
128296         * rendering/SVGRenderSupport.cpp:
128297         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
128298         * rendering/SVGRenderSupport.h:
128299         * rendering/SVGRootInlineBox.cpp:
128300         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
128301         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
128302         (WebCore::SVGRootInlineBox::paint):
128303
128304 2010-06-04  Nate Chapin  <japhet@chromium.org>
128305
128306         Reviewed by Adam Barth.
128307
128308         Factor PageCache functionality out of FrameLoader and into
128309         PageCache itself.
128310
128311         https://bugs.webkit.org/show_bug.cgi?id=39382
128312
128313         Refactor only, so no new tests.
128314
128315         * history/PageCache.cpp:
128316         (WebCore::pageCacheLogPrefix):
128317         (WebCore::pageCacheLog):
128318         (WebCore::logCanCacheFrameDecision):
128319         (WebCore::logCanCachePageDecision):
128320         (WebCore::PageCache::canCachePageContainingThisFrame):
128321         (WebCore::PageCache::canCache):
128322         (WebCore::PageCache::add):
128323         (WebCore::PageCache::get):
128324         * history/PageCache.h:
128325         * loader/DocumentLoader.cpp:
128326         (WebCore::DocumentLoader::commitIfReady):
128327         * loader/FrameLoader.cpp:
128328         (WebCore::FrameLoader::commitProvisionalLoad):
128329         (WebCore::FrameLoader::prepareForCachedPageRestore):
128330         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
128331         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
128332         (WebCore::FrameLoader::navigateToDifferentDocument):
128333         * loader/FrameLoader.h:
128334         (WebCore::FrameLoader::quickRedirectComing):
128335         * svg/graphics/SVGImage.cpp:
128336         (WebCore::SVGImage::dataChanged):
128337
128338 2010-06-04  Ilya Tikhonovsky  <loislo@chromium.org>
128339
128340         Reviewed by Pavel Feldman.
128341
128342         WebInspector: Web Inspector: it would be better to push object properties to JSON string in order of insertion.
128343         https://bugs.webkit.org/show_bug.cgi?id=40140
128344
128345         * inspector/InspectorValues.cpp:
128346         (WebCore::InspectorObject::writeJSON):
128347         * inspector/InspectorValues.h:
128348         (WebCore::InspectorObject::setBool):
128349         (WebCore::InspectorObject::setNumber):
128350         (WebCore::InspectorObject::setString):
128351         (WebCore::InspectorObject::set):
128352
128353 2010-06-04  Tony Gentilcore  <tonyg@chromium.org>
128354
128355         Reviewed by Adam Barth.
128356
128357         Persist V8's ScriptData to the memory cache.
128358         https://bugs.webkit.org/show_bug.cgi?id=38661
128359
128360         This stores V8's ScriptData in the memory cache and also causes the
128361         network platform layer to be notified of the available cacheable
128362         metadata.
128363
128364         Chromium's morejs benchmark shows a 3-4% improvement on fast hardware.
128365
128366         No new tests because no new functionality.
128367
128368         * bindings/v8/ScriptSourceCode.h:
128369         (WebCore::ScriptSourceCode::ScriptSourceCode):
128370         (WebCore::ScriptSourceCode::cachedScript):
128371         * bindings/v8/V8Proxy.cpp:
128372         (WebCore::V8Proxy::compileScript):
128373         (WebCore::V8Proxy::precompileScript):
128374         (WebCore::V8Proxy::evaluate):
128375         * bindings/v8/V8Proxy.h:
128376
128377 2010-06-04  Tony Gentilcore  <tonyg@chromium.org>
128378
128379         Reviewed by Adam Barth.
128380
128381         Utilize new takeFirst() method where appropriate.
128382         https://bugs.webkit.org/show_bug.cgi?id=40089
128383
128384         No new tests because no new functionality.
128385
128386         * css/CSSStyleSheet.cpp:
128387         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
128388         * dom/XMLTokenizerLibxml2.cpp:
128389         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
128390         * html/HTMLTokenizer.cpp:
128391         (WebCore::HTMLTokenizer::reset):
128392         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
128393         * platform/text/SegmentedString.cpp:
128394         (WebCore::SegmentedString::advanceSubstring):
128395         * storage/Database.cpp:
128396         (WebCore::Database::scheduleTransaction):
128397         * storage/SQLTransaction.cpp:
128398         (WebCore::SQLTransaction::getNextStatement):
128399         * storage/SQLTransactionCoordinator.cpp:
128400         (WebCore::SQLTransactionCoordinator::processPendingTransactions):
128401
128402 2010-06-04  Nikita Vasilyev  <me@elv1s.ru>
128403
128404         Reviewed by Pavel Feldman.
128405
128406         Web Inspector: better Function.prototype.bind for the internal code.
128407
128408         In the "Event Listeners" pane show handler function instead of Function.prototype.bind.
128409
128410         https://bugs.webkit.org/show_bug.cgi?id=40080
128411
128412         * inspector/front-end/utilities.js:
128413         (Function.prototype.bind.bound):
128414         (Function.prototype.bind.bound.toString):
128415         (Function.prototype.bind):
128416
128417 2010-06-04  Alexander Pavlov  <apavlov@chromium.org>
128418
128419         Unreviewed, fix Qt build.
128420
128421         Add references to a new file.
128422
128423         * WebCore.gypi:
128424         * WebCore.vcproj/WebCore.vcproj:
128425         * inspector/front-end/WebKit.qrc:
128426
128427 2010-06-04  Alexander Pavlov  <apavlov@chromium.org>
128428
128429         Reviewed by Pavel Feldman.
128430
128431         Web Inspector: Eliminate direct dependency of StylesSidebarPane on InspectorBackend
128432         https://bugs.webkit.org/show_bug.cgi?id=40069
128433
128434         No new tests are needed, as this is a refactoring.
128435
128436         * inspector/front-end/CSSStyleModel.js: Added.
128437         (WebInspector.CSSStyleModel):
128438         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
128439         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
128440         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
128441         (WebInspector.CSSStyleModel.prototype.addRule):
128442         (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
128443         (WebInspector.CSSStyleModel.prototype.setCSSText):
128444         (WebInspector.CSSStyleModel.prototype.applyStyleText):
128445         * inspector/front-end/StylesSidebarPane.js:
128446         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
128447         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
128448         (WebInspector.StylesSidebarPane.prototype.update):
128449         (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
128450         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
128451         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
128452         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
128453         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
128454         (WebInspector.StylePropertyTreeElement.prototype.):
128455         (WebInspector.StylePropertyTreeElement.prototype):
128456         * inspector/front-end/inspector.html:
128457         * inspector/front-end/inspector.js:
128458         (WebInspector.loaded):
128459
128460 2010-06-04  Simon Hausmann  <simon.hausmann@nokia.com>
128461
128462         Reviewed by Tor Arne Vestbø.
128463
128464         [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
128465         https://bugs.webkit.org/show_bug.cgi?id=40116
128466
128467         CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
128468         with Qt 4.7's bearer managenent includes and break the build.
128469
128470         * WebCore.pro:
128471
128472 2010-06-04  Vangelis Kokkevis  <vangelis@chromium.org>
128473
128474         Reviewed by Dimitri Glazkov.
128475
128476         [chromium] Fix scrolling bug with pages using accelerated compositing.
128477         https://bugs.webkit.org/show_bug.cgi?id=40037
128478
128479         * platform/graphics/chromium/LayerRendererChromium.cpp:
128480         (WebCore::LayerRendererChromium::LayerRendererChromium):
128481         (WebCore::LayerRendererChromium::drawLayers):
128482
128483 2010-06-04  Matthew Delaney  <mdelaney@apple.com>
128484
128485         Reviewed by Darin Adler.
128486
128487         CG implementation needed for compression quality in canvas.toDataURL
128488         https://bugs.webkit.org/show_bug.cgi?id=38492
128489
128490         Took toDataURL.jpeg.quality.basic.html test off of Skipped list. Passes.
128491
128492         Went the route of avoiding in-band signaling to flag the use of a quality 
128493         parameter or not. So, instead of simply passing the quality down as a
128494         double, instead I pass a reference to the quality parameter from where
128495         it comes in just after the JS bindings. Thus, no need for any global
128496         constants to signify when the quality is not specified. Updated the other 
128497         platforms to support this (qt was on the only one currently with any
128498         implementation). 
128499
128500         * bindings/js/JSHTMLCanvasElementCustom.cpp: Moved range check logic for quality parameter down lower. Updated
128501         call to toDataURL to use double* instead of just passing the quality directly.
128502         (WebCore::JSHTMLCanvasElement::toDataURL):
128503         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Updated toDataURL call to pass double*
128504         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
128505         * dom/CanvasSurface.cpp: Updated method prototype.
128506         (WebCore::CanvasSurface::toDataURL):
128507         * dom/CanvasSurface.h: Updated method prototype.
128508         (WebCore::CanvasSurface::toDataURL):
128509         * platform/graphics/ImageBuffer.h: Updated method signature to use double* for quality param.
128510         * platform/graphics/cairo/ImageBufferCairo.cpp: Updated prototype for consistency.
128511         (WebCore::ImageBuffer::toDataURL):
128512         * platform/graphics/cg/ImageBufferCG.cpp: Implemented support for quality parametejr when jpeg MIME type used.
128513         (WebCore::jpegUTI):
128514         (WebCore::utiFromMIMEType):
128515         (WebCore::ImageBuffer::toDataURL):
128516         * platform/graphics/haiku/ImageBufferHaiku.cpp: Updated prototype for consistency.
128517         (WebCore::ImageBuffer::toDataURL):
128518         * platform/graphics/qt/ImageBufferQt.cpp: Updated prototype for consistency.
128519         (WebCore::ImageBuffer::toDataURL):
128520         * platform/graphics/skia/ImageBufferSkia.cpp: Updated prototype for consistency.
128521         (WebCore::ImageBuffer::toDataURL):
128522         * platform/graphics/wince/ImageBufferWince.cpp: Updated prototype for consistency.
128523         (WebCore::ImageBuffer::toDataURL):
128524         * platform/graphics/wx/ImageBufferWx.cpp: Updated prototype for consistency.
128525         (WebCore::ImageBuffer::toDataURL):
128526
128527 2010-06-04  Alejandro G. Castro  <alex@igalia.com>
128528
128529         Reviewed by Xan Lopez.
128530
128531         Leaks in listDirectory
128532         https://bugs.webkit.org/show_bug.cgi?id=40008
128533
128534         Fixed both leaks.
128535
128536         * platform/gtk/FileSystemGtk.cpp:
128537         (WebCore::listDirectory):
128538
128539 2010-06-04  Anton Muhin  <antonm@chromium.org>
128540
128541         Reviewed by Nate Chapin.
128542
128543         [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
128544         https://bugs.webkit.org/show_bug.cgi?id=39877
128545
128546         This patch makes callbacks invoked on named items addition/removal
128547         install API accessors and thus there is no more need in
128548         named and indexed interceptors on HTMLDocument which
128549         speeds up invocation of methods on document.
128550
128551         * bindings/scripts/CodeGeneratorV8.pm:
128552         * bindings/v8/ScriptController.cpp:
128553         (WebCore::ScriptController::namedItemAdded):
128554         (WebCore::ScriptController::namedItemRemoved):
128555         * bindings/v8/V8DOMWindowShell.cpp:
128556         (WebCore::checkDocumentWrapper):
128557         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
128558         (WebCore::getter):
128559         (WebCore::V8DOMWindowShell::namedItemAdded):
128560         (WebCore::V8DOMWindowShell::namedItemRemoved):
128561         * bindings/v8/V8DOMWindowShell.h:
128562         * bindings/v8/V8DOMWrapper.cpp:
128563         (WebCore::V8DOMWrapper::instantiateV8Object):
128564         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
128565         (WebCore::V8HTMLDocument::WrapInShadowObject):
128566         (WebCore::V8HTMLDocument::GetNamedProperty):
128567         (WebCore::V8HTMLDocument::allAccessorSetter):
128568         (WebCore::toV8):
128569
128570 2010-06-04  Kwang Yul Seo  <skyul@company100.net>
128571
128572         Reviewed by Kent Tamura.
128573
128574         Change filenameFromString to return CString
128575         https://bugs.webkit.org/show_bug.cgi?id=39494
128576
128577         filenameFromString returns a newly allocated string and the caller must
128578         free the string. GTK and EFL ports use g_free while all others ports use
128579         fastFree. This is confusing because the same function behaves
128580         differently with respect to ports. Change filenameFromString to return
128581         CString.
128582
128583         * platform/FileSystem.cpp:
128584         (WebCore::filenameFromString):
128585         * platform/FileSystem.h:
128586         * platform/efl/FileSystemEfl.cpp:
128587         (WebCore::filenameFromString):
128588         * platform/gtk/FileChooserGtk.cpp:
128589         (WebCore::FileChooser::basenameForWidth):
128590         * platform/gtk/FileSystemGtk.cpp:
128591         (WebCore::filenameFromString):
128592         (WebCore::filenameForDisplay):
128593         (WebCore::fileExists):
128594         (WebCore::deleteFile):
128595         (WebCore::deleteEmptyDirectory):
128596         (WebCore::getFileSize):
128597         (WebCore::getFileModificationTime):
128598         (WebCore::makeAllDirectories):
128599         (WebCore::pathGetFileName):
128600         (WebCore::directoryName):
128601         (WebCore::listDirectory):
128602         * platform/gtk/SharedBufferGtk.cpp:
128603         (WebCore::SharedBuffer::createWithContentsOfFile):
128604         * platform/network/soup/ResourceHandleSoup.cpp:
128605         (WebCore::startHttp):
128606         * platform/posix/SharedBufferPOSIX.cpp:
128607         (WebCore::SharedBuffer::createWithContentsOfFile):
128608
128609 2010-06-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
128610
128611         Reviewed by Kenneth Rohde Christiansen.
128612
128613         [Qt] Fix compilation with QT_NO_FEATURE
128614         https://bugs.webkit.org/show_bug.cgi?id=38324
128615
128616         The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
128617         made AC not work at all.
128618
128619         No new tests.
128620
128621         * platform/graphics/qt/GraphicsLayerQt.cpp:
128622         (WebCore::GraphicsLayerQtImpl::flushChanges):
128623
128624 2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>
128625
128626         Reviewed by Laszlo Gombos.
128627
128628         [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.ensuresubpath.1.html
128629         https://bugs.webkit.org/show_bug.cgi?id=38645
128630
128631         Path arcto function need to ensure there is subpath before it.
128632
128633         * platform/graphics/qt/PathQt.cpp:
128634         (WebCore::Path::addArcTo):
128635
128636 2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>
128637
128638         Reviewed by Laszlo Gombos.
128639
128640         [Qt] failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arc.angle.3.html
128641         https://bugs.webkit.org/show_bug.cgi?id=38537
128642
128643         For path.arc function handle span > 2PI
128644
128645         * platform/graphics/qt/PathQt.cpp:
128646         (WebCore::Path::addArc):
128647
128648 2010-06-04  Zhenyao Mo  <zmo@google.com>
128649
128650         Reviewed by Dimitri Glazkov.
128651
128652         Set attributes.stencil to false by default at context creation
128653         https://bugs.webkit.org/show_bug.cgi?id=40090
128654
128655         * platform/graphics/GraphicsContext3D.h: Set default attributes.stencil to false.
128656         (WebCore::GraphicsContext3D::Attributes::Attributes):
128657
128658 2010-06-03  Abhishek Arya  <inferno@chromium.org>
128659
128660         Reviewed by Eric Carlson.
128661
128662         Fix a crash when trying to use an invalid media src url by
128663         moving the isValid url checks to a central location in
128664         isSafeToLoadURL function. Also added an empty string check
128665         in DocumentLoader::didTellClientAboutLoad.
128666
128667         Test: media/invalid-media-url-crash.html
128668
128669         * html/HTMLMediaElement.cpp:
128670         (WebCore::HTMLMediaElement::isSafeToLoadURL):
128671         (WebCore::HTMLMediaElement::selectNextSourceChild):
128672         (WebCore::HTMLMediaElement::getPluginProxyParams):
128673         * loader/DocumentLoader.h:
128674         (WebCore::DocumentLoader::didTellClientAboutLoad):
128675
128676 2010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>
128677
128678         Unreviewed, rolling out r60642.
128679         http://trac.webkit.org/changeset/60642
128680         https://bugs.webkit.org/show_bug.cgi?id=40151
128681
128682         Broke rendering of border images on rotated elements
128683         (Requested by jamesr on #webkit).
128684
128685         * platform/graphics/GraphicsContext.cpp:
128686         (WebCore::GraphicsContext::drawImage):
128687         (WebCore::GraphicsContext::drawTiledImage):
128688         * platform/graphics/GraphicsContext.h:
128689         * rendering/RenderBoxModelObject.cpp:
128690         (WebCore::RenderBoxModelObject::paintNinePieceImage):
128691
128692 2010-06-03  Damian Kaleta  <dkaleta@apple.com>
128693
128694         Reviewed by Beth Dakin.
128695
128696         Pixel cracks in border images when drawing with a scale factor > 1
128697         <rdar://problem/7994266>pixel cracks in border images
128698         https://bugs.webkit.org/show_bug.cgi?id=15720
128699         
128700         * platform/graphics/GraphicsContext.cpp:
128701         (WebCore::GraphicsContext::drawImage):
128702         (WebCore::GraphicsContext::drawTiledImage):
128703         * platform/graphics/GraphicsContext.h: Added two new methods to support drawing using FloatRect.
128704         If the boolean flag roundToPixels is true, the pixels are adjusted with the pixel boundaries.
128705         * rendering/RenderBoxModelObject.cpp:
128706         (WebCore::RenderBoxModelObject::paintNinePieceImage):
128707
128708 2010-06-03  James Robinson  <jamesr@chromium.org>
128709
128710         Reviewed by Dan Bernstein.
128711
128712         Take container's scroll offset and clip into account when initializing LayoutState
128713         https://bugs.webkit.org/show_bug.cgi?id=38506
128714
128715         When doing a subtree layout, the initial LayoutState creation needs to
128716         take the layout root container's offset and its scroll offset into account
128717         to create the initial offset.  Otherwise if a subtree layout occurs
128718         for a layout root whose container has a non-zero scroll offset
128719         the LayoutState's offset and clip are wrong, resulting in a mispaint.
128720         See the test cases for examples.
128721
128722         Tests: fast/repaint/layout-state-scrolloffset.html
128723                fast/repaint/layout-state-scrolloffset2.html
128724                fast/repaint/layout-state-scrolloffset3.html
128725
128726         * rendering/LayoutState.cpp:
128727         (WebCore::LayoutState::LayoutState):
128728
128729 2010-06-03  Gavin Barraclough  <barraclough@apple.com>
128730
128731         Reviewed by NOBODY (speculative Qt build fix II).
128732
128733         * bridge/qt/qt_runtime.cpp:
128734         (JSC::Bindings::QtRuntimeMetaMethod::call):
128735         (JSC::Bindings::QtRuntimeConnectionMethod::call):
128736
128737 2010-06-03  Gavin Barraclough  <barraclough@apple.com>
128738
128739         Reviewed by NOBODY (speculative Qt build fix).
128740
128741         * bridge/qt/qt_runtime.cpp:
128742         (JSC::Bindings::QtRuntimeMetaMethod::call):
128743         (JSC::Bindings::QtRuntimeConnectionMethod::call):
128744
128745 2010-06-02  Gavin Barraclough  <barraclough@apple.com>
128746
128747         Reviewed by Oliver Hunt.
128748
128749         Bug 40094 - The return type of NativeFunction should be EncodedJSValue
128750         On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
128751
128752         * bindings/js/JSCallbackData.cpp:
128753         (WebCore::JSCallbackData::invokeCallback):
128754         * bindings/js/JSCustomXPathNSResolver.cpp:
128755         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
128756         * bindings/js/JSEventListener.cpp:
128757         (WebCore::JSEventListener::handleEvent):
128758         * bindings/js/JSHTMLAllCollectionCustom.cpp:
128759         (WebCore::callHTMLAllCollection):
128760         * bindings/js/JSHTMLCollectionCustom.cpp:
128761         (WebCore::callHTMLCollection):
128762         * bindings/js/JSHTMLDocumentCustom.cpp:
128763         (WebCore::JSHTMLDocument::open):
128764         * bindings/js/JSInjectedScriptHostCustom.cpp:
128765         (WebCore::InjectedScriptHost::createInjectedScript):
128766         * bindings/js/JSNodeFilterCondition.cpp:
128767         (WebCore::JSNodeFilterCondition::acceptNode):
128768         * bindings/js/JSNodeListCustom.cpp:
128769         (WebCore::callNodeList):
128770         * bindings/js/JSPluginElementFunctions.cpp:
128771         (WebCore::callPlugin):
128772         * bindings/js/ScheduledAction.cpp:
128773         (WebCore::ScheduledAction::create):
128774         (WebCore::ScheduledAction::executeFunctionInContext):
128775         * bindings/js/ScriptFunctionCall.cpp:
128776         (WebCore::ScriptFunctionCall::call):
128777         * bindings/js/SerializedScriptValue.cpp:
128778         (WebCore::SerializingTreeWalker::convertIfTerminal):
128779         * bindings/objc/WebScriptObject.mm:
128780         (-[WebScriptObject callWebScriptMethod:withArguments:]):
128781         * bindings/scripts/CodeGeneratorJS.pm:
128782         * bridge/NP_jsobject.cpp:
128783         (_NPN_InvokeDefault):
128784         (_NPN_Invoke):
128785         (_NPN_Construct):
128786         * bridge/jni/jni_jsobject.mm:
128787         (JavaJSObject::call):
128788         * bridge/objc/objc_runtime.mm:
128789         (JSC::Bindings::callObjCFallbackObject):
128790         * bridge/runtime_method.cpp:
128791         (JSC::callRuntimeMethod):
128792         * bridge/runtime_object.cpp:
128793         (JSC::Bindings::callRuntimeObject):
128794
128795 2010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>
128796
128797         Unreviewed, rolling out r60614.
128798         http://trac.webkit.org/changeset/60614
128799         https://bugs.webkit.org/show_bug.cgi?id=40123
128800
128801         It made fast/dom/Window/window-postmessage-clone.html fail on
128802         Mac bots (Requested by Ossy on #webkit).
128803
128804         * Android.derived.jscbindings.mk:
128805         * Android.derived.v8bindings.mk:
128806         * Android.mk:
128807         * CMakeLists.txt:
128808         * DerivedSources.cpp:
128809         * DerivedSources.make:
128810         * GNUmakefile.am:
128811         * WebCore.gypi:
128812         * WebCore.pri:
128813         * WebCore.pro:
128814         * bindings/generic/RuntimeEnabledFeatures.cpp:
128815         * bindings/generic/RuntimeEnabledFeatures.h:
128816         * bindings/js/JSEventCustom.cpp:
128817         (WebCore::toJS):
128818         * bindings/v8/custom/V8EventCustom.cpp:
128819         (WebCore::toV8):
128820         * dom/Document.cpp:
128821         (WebCore::Document::createEvent):
128822         (WebCore::Document::addListenerTypeIfNeeded):
128823         * dom/Document.h:
128824         (WebCore::Document::):
128825         * dom/Document.idl:
128826         * dom/Element.h:
128827         * dom/Element.idl:
128828         * dom/Event.cpp:
128829         (WebCore::Event::fromUserGesture):
128830         * dom/Event.h:
128831         * dom/EventNames.h:
128832         * dom/TransformActionEvent.cpp: Removed.
128833         * dom/TransformActionEvent.h: Removed.
128834         * dom/TransformActionEvent.idl: Removed.
128835         * html/HTMLAttributeNames.in:
128836         * html/HTMLElement.cpp:
128837         (WebCore::HTMLElement::parseMappedAttribute):
128838         * page/DOMWindow.h:
128839         * page/DOMWindow.idl:
128840
128841 2010-06-03  Yury Semikhatsky  <yurys@chromium.org>
128842
128843         Reviewed by Pavel Feldman.
128844
128845         [v8] Web Inspector: show "Object" as description for values with anonymous constructor
128846         https://bugs.webkit.org/show_bug.cgi?id=40121
128847
128848         * inspector/front-end/InjectedScript.js:
128849         (injectedScriptConstructor):
128850
128851 2010-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
128852
128853         Reviewed by Simon Hausmann.
128854
128855         [Qt] Fix NPAPI support on Mac OS X/Cocoa-32
128856
128857         qt_mac_window_for() returns a NSWindow on Cocoa, so we were
128858         passing in a NSWindow instead of a WindowRef as part of the
128859         NP_CGContext.
128860
128861         https://bugs.webkit.org/show_bug.cgi?id=38762
128862
128863         * WebCore.gypi: Reflect rename
128864         * WebCore.pro: Reflect rename
128865         * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
128866         and fix bug by getting the Carbon windowRef from the NSWindow.
128867         * wscript: Reflect rename
128868
128869 2010-06-03  Kim Grönholm  <kim.1.gronholm@nokia.com>
128870
128871         Reviewed by Simon Hausmann.
128872
128873         Add TransformActionEvent support
128874         https://bugs.webkit.org/show_bug.cgi?id=39757
128875
128876         Added only the necessary TransformAction event interfaces and not e.g.
128877         any eventhandler hooks that generate and dispatch them.
128878
128879         Test: fast/events/transformaction/create-transformaction-event.html
128880         More tests will be added with the machinery that generates and
128881         dispatches these events.
128882
128883         * Android.derived.jscbindings.mk:
128884         * Android.derived.v8bindings.mk:
128885         * Android.mk:
128886         * CMakeLists.txt:
128887         * DerivedSources.cpp:
128888         * DerivedSources.make:
128889         * GNUmakefile.am:
128890         * WebCore.gypi:
128891         * WebCore.pri:
128892         * WebCore.pro:
128893         * bindings/generic/RuntimeEnabledFeatures.cpp:
128894         * bindings/generic/RuntimeEnabledFeatures.h:
128895         (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
128896         (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
128897         (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
128898         (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
128899         (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
128900         * bindings/js/JSEventCustom.cpp:
128901         (WebCore::toJS):
128902         * bindings/v8/custom/V8EventCustom.cpp:
128903         (WebCore::toV8):
128904         * dom/Document.cpp:
128905         (WebCore::Document::createEvent):
128906         (WebCore::Document::addListenerTypeIfNeeded):
128907         * dom/Document.h:
128908         (WebCore::Document::):
128909         * dom/Document.idl:
128910         * dom/Element.h:
128911         * dom/Element.idl:
128912         * dom/Event.cpp:
128913         (WebCore::Event::isTransformActionEvent):
128914         (WebCore::Event::fromUserGesture):
128915         * dom/Event.h:
128916         * dom/EventNames.h:
128917         * dom/TransformActionEvent.cpp: Added.
128918         (WebCore::TransformActionEvent::TransformActionEvent):
128919         (WebCore::TransformActionEvent::initTransformActionEvent):
128920         * dom/TransformActionEvent.h: Added.
128921         (WebCore::TransformActionEvent::create):
128922         (WebCore::TransformActionEvent::translateX):
128923         (WebCore::TransformActionEvent::translateY):
128924         (WebCore::TransformActionEvent::translateSpeedX):
128925         (WebCore::TransformActionEvent::translateSpeedY):
128926         (WebCore::TransformActionEvent::scale):
128927         (WebCore::TransformActionEvent::scaleSpeed):
128928         (WebCore::TransformActionEvent::rotate):
128929         (WebCore::TransformActionEvent::rotateSpeed):
128930         (WebCore::TransformActionEvent::TransformActionEvent):
128931         (WebCore::TransformActionEvent::isTransformActionEvent):
128932         * dom/TransformActionEvent.idl: Added.
128933         * html/HTMLAttributeNames.in:
128934         * html/HTMLElement.cpp:
128935         (WebCore::HTMLElement::parseMappedAttribute):
128936         * page/DOMWindow.h:
128937         * page/DOMWindow.idl:
128938
128939 2010-06-03  Pavel Feldman  <pfeldman@chromium.org>
128940
128941         Reviewed by Yury Semikhatsky.
128942
128943         Web Inspector: a number of fixes that make InspectorController
128944         happy with null redirects.
128945
128946         https://bugs.webkit.org/show_bug.cgi?id=40109
128947
128948         * inspector/InspectorController.cpp:
128949         (WebCore::InspectorController::willSendRequest):
128950         (WebCore::InspectorController::didReceiveResponse):
128951         (WebCore::InspectorController::didReceiveContentLength):
128952         (WebCore::InspectorController::didFinishLoading):
128953         (WebCore::InspectorController::didFailLoading):
128954
128955 2010-06-03  Pavel Feldman  <pfeldman@chromium.org>
128956
128957         Not reviewed. Rolling out aggressive cache part of the r60391
128958         described in the bug below. It was orthogonal to the rest of
128959         the patch and caused regression.
128960
128961         https://bugs.webkit.org/show_bug.cgi?id=37364
128962
128963         * platform/graphics/skia/ImageSkia.cpp:
128964         (WebCore::drawResampledBitmap):
128965
128966 2010-06-02  Darin Fisher  <darin@chromium.org>
128967
128968         Reviewed by Brady Eidson.
128969
128970         location.href and outgoing referrer not updated properly by
128971         pushState/replaceState
128972         https://bugs.webkit.org/show_bug.cgi?id=40027
128973
128974         Tests: fast/loader/stateobjects/pushstate-updates-location.html
128975                fast/loader/stateobjects/replacestate-updates-location.html
128976                http/tests/navigation/pushstate-updates-referrer.html
128977                http/tests/navigation/replacestate-updates-referrer.html
128978
128979         * dom/Document.cpp:
128980         (WebCore::Document::updateURLForPushOrReplaceState):
128981         Update the FrameLoader's notion of the current URL as well!
128982
128983         * loader/FrameLoader.cpp:
128984         (WebCore::FrameLoader::loadInSameDocument):
128985         Use the 'url' parameter instead of m_URL since m_URL might have
128986         changed during the handling of the PopState event.  Eventually,
128987         this will become irrelevant since the PopState event should be
128988         dispatched asynchronously, but just in case we patch HashChange
128989         to be asynchronous before PopState, this change would be needed.
128990
128991 2010-06-02  Eric Seidel  <eric@webkit.org>
128992
128993         Reviewed by Adam Barth.
128994
128995         REGRESSION(60409): document.write is not synchronous when using the HTML5 parser
128996         https://bugs.webkit.org/show_bug.cgi?id=40047
128997
128998         The HTML5 spec states that we should "spin the event loop" while
128999         waiting for stylesheets to load.  Currently we do that by yielding
129000         out of the parser when stylesheets are loading.  Because it was easy
129001         we made inline <scripts> yield for stylesheet loads as well.  However,
129002         this caused document.write() to return after encountering the first
129003         inline <script> tag in many cases which is incorrect.  document.write
129004         is supposed to block until the entire document is parsed (including)
129005         executing inline script tags.  To match the exiting parser, we'll just
129006         make inline <script> tags not block on stylesheets for now.
129007
129008         This is tested by WebCore/benchmarks/html-parser.html as well
129009         as likely several other tests in LayoutTests which we haven't
129010         triaged yet.
129011
129012         * html/HTML5ScriptRunner.cpp:
129013         (WebCore::HTML5ScriptRunner::executeScript):
129014          - ASSERT that either stylesheets have loaded or we're executing an
129015            inline <script> tag.
129016         (WebCore::HTML5ScriptRunner::runScript):
129017          - Remove the code to block inline <script> tags on stylesheet loads.
129018
129019 2010-06-02  MORITA Hajime  <morrita@google.com>
129020
129021         Unreviewd, Chromium windows build fix.
129022
129023         * rendering/RenderThemeChromiumWin.cpp:
129024         (WebCore::RenderThemeChromiumWin::paintProgressBar):
129025
129026 2010-06-02  MORITA Hajime  <morrita@google.com>
129027
129028         Reviewed by Kent Tamura.
129029         
129030         [Chromium] Linux: progress bar image pieces should be painted with same resampling mode
129031         https://bugs.webkit.org/show_bug.cgi?id=40045
129032
129033         computeResamplingMode(), used by Image::drawPattern() and
129034         BitmapImage::draw(), chooses an image resampling mode based on the
129035         size of given image and the destination rectangle. But when
129036         painting single component (i.e. a progress bar) from multiple
129037         images, it can choose different resampling modes for images of
129038         same component. That difference creates unexpected visual artifacts
129039         like seams between images of single component.
129040         
129041         This change introduced "image resampling hint" to allow callers to
129042         control the resampling mode. Using the hint,
129043         RenderThemeChromiumSkia now able to hold same resampling mode
129044         during draw a progress bar.
129045         
129046         No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
129047         enabled on chromium.
129048         
129049         * platform/graphics/skia/ImageSkia.cpp:
129050         (WebCore::computeResamplingMode):
129051         * platform/graphics/skia/PlatformContextSkia.cpp:
129052         (PlatformContextSkia::save):        
129053         (PlatformContextSkia::setImageResamplingHint): Added
129054         (PlatformContextSkia::clearImageResamplingHint): Added
129055         (PlatformContextSkia::hasImageResamplingHint): Added
129056         (PlatformContextSkia::imageResamplingHint): Added
129057         * platform/graphics/skia/PlatformContextSkia.h:
129058         * rendering/RenderThemeChromiumSkia.cpp:
129059         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
129060
129061 2010-06-03  MORITA Hajime  <morrita@google.com>
129062
129063         Reviewed by Kent Tamura.
129064
129065         [Chromium] Support HTML5 <progress> element on Linux.
129066         https://bugs.webkit.org/show_bug.cgi?id=37310
129067         
129068         Implemented RenderThemeChromiumSkia::paintProgressBar(), extracing
129069         determinateProgressValueRectFor() from RenderThemeChromiumWin to
129070         RenderThemeChromiumSkia
129071         
129072         No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
129073         enabled on chromium.
129074
129075         * rendering/RenderThemeChromiumSkia.cpp:
129076         (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
129077         (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
129078         (WebCore::RenderThemeChromiumSkia::animationRepeatIntervalForProgressBar):
129079         (WebCore::RenderThemeChromiumSkia::animationDurationForProgressBar):
129080         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
129081         (WebCore::RenderThemeChromiumSkia::progressValueRectFor):
129082         * rendering/RenderThemeChromiumSkia.h:
129083         * rendering/RenderThemeChromiumWin.cpp:
129084         (WebCore::RenderThemeChromiumWin::paintProgressBar):
129085
129086 2010-06-02  Nico Weber  <thakis@chromium.org>
129087
129088         Reviewed by Simon Fraser.
129089
129090         Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
129091         https://bugs.webkit.org/show_bug.cgi?id=39918
129092
129093         This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
129094         that patch.
129095
129096         Test: editing/input/page-up-down-scrolls.html
129097
129098         * page/FrameView.cpp:
129099         (WebCore::FrameView::scrollPositionChanged):
129100         * page/FrameView.h:
129101         * platform/ScrollView.cpp:
129102         (WebCore::ScrollView::valueChanged):
129103         * platform/ScrollView.h:
129104         (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
129105
129106 2010-06-02  Andrey Kosyakov  <caseq@chromium.org>
129107
129108         Reviewed by Pavel Feldman.
129109
129110         Web Inspector: use platform-specific key designations in shortcuts help for mac
129111         https://bugs.webkit.org/show_bug.cgi?id=39158
129112
129113         * inspector/front-end/KeyboardShortcut.js:
129114         (WebInspector.KeyboardShortcut.shortcutToString):
129115         (WebInspector.KeyboardShortcut._keyName):
129116         (WebInspector.KeyboardShortcut._modifiersToString):
129117         * inspector/front-end/inspector.js:
129118         (WebInspector._registerShortcuts):
129119
129120 2010-06-02  Kenneth Russell  <kbr@google.com>
129121
129122         Reviewed by Darin Fisher.
129123
129124         Enable WebGL on more platforms even if accelerated compositing is disabled
129125         https://bugs.webkit.org/show_bug.cgi?id=40085
129126
129127         Conditionalize the code which prevents a WebGL rendering context
129128         from being created if accelerated compositing is disabled.
129129         Currently Chromium is the only port which will create a context if
129130         accelerated compositing is disabled; other ports may opt in to
129131         this code path if desired.
129132
129133         Tested with existing WebGL layout tests in Safari and Chromium on
129134         Mac OS X.
129135
129136         * html/HTMLCanvasElement.cpp:
129137         (WebCore::HTMLCanvasElement::getContext):
129138
129139 2010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>
129140
129141         Unreviewed, rolling out r60580.
129142         http://trac.webkit.org/changeset/60580
129143         https://bugs.webkit.org/show_bug.cgi?id=40087
129144
129145         This broke dragging links if the selection was in a
129146         contentEditable element. (Requested by arv on #webkit).
129147
129148         * page/FocusController.cpp:
129149         (WebCore::clearSelectionIfNeeded):
129150
129151 2010-06-02  Erik Arvidsson  <arv@chromium.org>
129152
129153         Reviewed by Ojan Vafai.
129154
129155         REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
129156         https://bugs.webkit.org/show_bug.cgi?id=38548
129157
129158         Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
129159
129160         * page/FocusController.cpp:
129161         (WebCore::clearSelectionIfNeeded):
129162
129163 2010-06-02  David Hyatt  <hyatt@apple.com>
129164
129165         Reviewed by Anders Carlsson.
129166
129167         Just disable the current version of multi-column layout completely when the new
129168         pagination model is in effect.
129169
129170         * rendering/RenderBlock.cpp:
129171         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
129172
129173 2010-06-02  David Hyatt  <hyatt@apple.com>
129174
129175         Reviewed by Anders Carlsson.
129176
129177         Turn off unforced page breaking at paint time when the new page breaking model is being used.
129178
129179         * rendering/RenderLineBoxList.cpp:
129180         (WebCore::RenderLineBoxList::paint):
129181
129182 2010-06-02  David Hyatt  <hyatt@apple.com>
129183
129184         Reviewed by Anders Carlsson.
129185
129186         Don't check page break properties at paint time if we're using the new page breaking model.
129187
129188         * rendering/RenderBlock.cpp:
129189         (WebCore::RenderBlock::paintChildren):
129190
129191 2010-06-02  Nate Chapin  <japhet@chromium.org>
129192
129193         Reviewed by Dimitri Glazkov.
129194
129195         [V8] Fix an infinite recursion crash when trying to wrap
129196         media elements without a media player.
129197
129198         No test because there isn't a good way to ensure the media player
129199         is off.
129200
129201         * dom/make_names.pl: Call, e.g., V8HTMLElement::wrap(HTMLElement*)
129202           instead of toV8(HTMLElement*).
129203
129204 2010-06-02  Yael Aharon  <yael.aharon@nokia.com>
129205
129206         Reviewed by Darin Adler.
129207
129208         Notification object ref counting is not correct.
129209         https://bugs.webkit.org/show_bug.cgi?id=39998
129210
129211         Return PassRefPtr<Notification> instead of a raw pointer from the create methods
129212         for Web Notifications. 
129213
129214         No new tests are needed, as existing tests show the problem when sending the 
129215         "display" event asynchronously.
129216
129217         * notifications/Notification.h:
129218         (WebCore::Notification::create):
129219         * notifications/NotificationCenter.h:
129220         (WebCore::NotificationCenter::createHTMLNotification):
129221         (WebCore::NotificationCenter::createNotification):
129222
129223 2010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
129224
129225         Reviewed by Yury Semikhatsky.
129226
129227         Web Inspector: add Console API for retrieving memory stats
129228
129229         Add 'console.memory' property which returns an object. Currently
129230         it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
129231         extended for reporting total browser's memory consumption.
129232
129233         https://bugs.webkit.org/show_bug.cgi?id=39646
129234
129235         * CMakeLists.txt:
129236         * DerivedSources.cpp:
129237         * DerivedSources.make:
129238         * GNUmakefile.am:
129239         * WebCore.gypi:
129240         * WebCore.pri:
129241         * WebCore.pro:
129242         * WebCore.vcproj/WebCore.vcproj:
129243         * WebCore.xcodeproj/project.pbxproj:
129244         * bindings/js/JSBindingsAllInOne.cpp:
129245         * bindings/js/JSConsoleCustom.cpp:
129246         (WebCore::JSConsole::memory):
129247         * bindings/v8/custom/V8ConsoleCustom.cpp:
129248         (WebCore::V8Console::memoryAccessorGetter):
129249         * page/Console.h:
129250         * page/Console.idl:
129251         * page/MemoryInfo.cpp: Added.
129252         (WebCore::MemoryInfo::MemoryInfo):
129253         * page/MemoryInfo.h: Added.
129254         (WebCore::MemoryInfo::create):
129255         (WebCore::MemoryInfo::totalJSHeapSize):
129256         (WebCore::MemoryInfo::usedJSHeapSize):
129257         * page/MemoryInfo.idl: Added.
129258
129259 2010-06-02  Yury Semikhatsky  <yurys@chromium.org>
129260
129261         Reviewed by Pavel Feldman.
129262
129263         Web Inspector: support "Continue to Here" in debugger
129264         https://bugs.webkit.org/show_bug.cgi?id=39953
129265
129266         * English.lproj/localizedStrings.js:
129267         * inspector/front-end/BreakpointManager.js:
129268         (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
129269         (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
129270         (WebInspector.BreakpointManager.prototype.addBreakpoint):
129271         * inspector/front-end/ScriptView.js:
129272         (WebInspector.ScriptView):
129273         (WebInspector.ScriptView.prototype._continueToLine):
129274         * inspector/front-end/ScriptsPanel.js:
129275         (WebInspector.ScriptsPanel.prototype.continueToLine):
129276         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
129277         * inspector/front-end/SourceFrame.js:
129278         (WebInspector.SourceFrame):
129279         * inspector/front-end/SourceView.js:
129280         (WebInspector.SourceView):
129281         (WebInspector.SourceView.prototype._continueToLine):
129282         (WebInspector.SourceView.prototype.updateLocalContent):
129283
129284 2010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
129285
129286         Unreviewed, rolling out r60563.
129287         http://trac.webkit.org/changeset/60563
129288         https://bugs.webkit.org/show_bug.cgi?id=39646
129289
129290         windows build failed
129291
129292         * CMakeLists.txt:
129293         * DerivedSources.cpp:
129294         * DerivedSources.make:
129295         * GNUmakefile.am:
129296         * WebCore.gypi:
129297         * WebCore.pri:
129298         * WebCore.pro:
129299         * WebCore.vcproj/WebCore.vcproj:
129300         * WebCore.xcodeproj/project.pbxproj:
129301         * bindings/js/JSConsoleCustom.cpp:
129302         * bindings/v8/custom/V8ConsoleCustom.cpp:
129303         * page/Console.h:
129304         * page/Console.idl:
129305         * page/MemoryInfo.cpp: Removed.
129306         * page/MemoryInfo.h: Removed.
129307         * page/MemoryInfo.idl: Removed.
129308
129309 2010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
129310
129311         Reviewed by Yury Semikhatsky.
129312
129313         Web Inspector: add Console API for retrieving memory stats
129314
129315         Add 'console.memory' property which returns an object. Currently
129316         it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
129317         extended for reporting total browser's memory consumption.
129318
129319         https://bugs.webkit.org/show_bug.cgi?id=39646
129320
129321         * CMakeLists.txt:
129322         * DerivedSources.cpp:
129323         * DerivedSources.make:
129324         * GNUmakefile.am:
129325         * WebCore.gypi:
129326         * WebCore.pri:
129327         * WebCore.pro:
129328         * WebCore.vcproj/WebCore.vcproj:
129329         * WebCore.xcodeproj/project.pbxproj:
129330         * bindings/js/JSConsoleCustom.cpp:
129331         (WebCore::JSConsole::memory):
129332         * bindings/v8/custom/V8ConsoleCustom.cpp:
129333         (WebCore::V8Console::memoryAccessorGetter):
129334         * page/Console.h:
129335         * page/Console.idl:
129336         * page/MemoryInfo.cpp: Added.
129337         (WebCore::MemoryInfo::MemoryInfo):
129338         * page/MemoryInfo.h: Added.
129339         (WebCore::MemoryInfo::create):
129340         (WebCore::MemoryInfo::totalJSHeapSize):
129341         (WebCore::MemoryInfo::usedJSHeapSize):
129342         * page/MemoryInfo.idl: Added.
129343
129344 2010-06-02  Pavel Feldman  <pfeldman@chromium.org>
129345
129346         Reviewed by Yury Semikhatsky.
129347
129348         Web Inspector: add test for resource parameters.
129349
129350         https://bugs.webkit.org/show_bug.cgi?id=40026
129351         
129352         Test: http/tests/inspector/resource-parameters.html
129353
129354         * inspector/front-end/HAREntry.js:
129355         (WebInspector.HAREntry.prototype._buildParameters):
129356         * inspector/front-end/Resource.js:
129357         (WebInspector.Resource.prototype._parseParameters):
129358         * inspector/front-end/ResourceView.js:
129359         (WebInspector.ResourceView.prototype._refreshParms):
129360
129361 2010-06-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
129362
129363         Reviewed by Simon Hausmann.
129364
129365         [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined
129366
129367         First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
129368         overwrote it with the $$INSTALL_HEADERS variant without checking if the
129369         variable was set.
129370
129371         Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].
129372
129373         * WebCore.pro:
129374
129375 2010-06-02  Xan Lopez  <xlopez@igalia.com>
129376
129377         Reviewed by Gustavo Noronha.
129378
129379         [GTK] Style fixes for the generated code in DOM bindings
129380         https://bugs.webkit.org/show_bug.cgi?id=39949
129381
129382         Get rid of extra spaces and wrong indentation in the generated
129383         code.
129384
129385         * bindings/scripts/CodeGeneratorGObject.pm:
129386         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
129387         (webkit_dom_test_callback_callback_with_class1param):
129388         (webkit_dom_test_callback_callback_with_class2param):
129389         (webkit_dom_test_callback_callback_with_non_bool_return_type):
129390         (webkit_dom_test_callback_set_property):
129391         (webkit_dom_test_callback_get_property):
129392         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
129393         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
129394         (webkit_dom_test_interface_set_property):
129395         (webkit_dom_test_interface_get_property):
129396         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
129397         (webkit_dom_test_obj_void_method):
129398         (webkit_dom_test_obj_void_method_with_args):
129399         (webkit_dom_test_obj_int_method):
129400         (webkit_dom_test_obj_int_method_with_args):
129401         (webkit_dom_test_obj_obj_method):
129402         (webkit_dom_test_obj_obj_method_with_args):
129403         (webkit_dom_test_obj_method_that_requires_all_args):
129404         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
129405         (webkit_dom_test_obj_serialized_value):
129406         (webkit_dom_test_obj_method_with_exception):
129407         (webkit_dom_test_obj_with_dynamic_frame):
129408         (webkit_dom_test_obj_with_dynamic_frame_and_arg):
129409         (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
129410         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
129411         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
129412         (webkit_dom_test_obj_with_script_state_void):
129413         (webkit_dom_test_obj_with_script_state_obj):
129414         (webkit_dom_test_obj_with_script_state_void_exception):
129415         (webkit_dom_test_obj_with_script_state_obj_exception):
129416         (webkit_dom_test_obj_method_with_optional_arg):
129417         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
129418         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
129419         (webkit_dom_test_obj_get_read_only_int_attr):
129420         (webkit_dom_test_obj_get_read_only_string_attr):
129421         (webkit_dom_test_obj_get_read_only_test_obj_attr):
129422         (webkit_dom_test_obj_get_int_attr):
129423         (webkit_dom_test_obj_set_int_attr):
129424         (webkit_dom_test_obj_get_long_long_attr):
129425         (webkit_dom_test_obj_set_long_long_attr):
129426         (webkit_dom_test_obj_get_unsigned_long_long_attr):
129427         (webkit_dom_test_obj_set_unsigned_long_long_attr):
129428         (webkit_dom_test_obj_get_string_attr):
129429         (webkit_dom_test_obj_set_string_attr):
129430         (webkit_dom_test_obj_get_test_obj_attr):
129431         (webkit_dom_test_obj_set_test_obj_attr):
129432         (webkit_dom_test_obj_get_attr_with_exception):
129433         (webkit_dom_test_obj_set_attr_with_exception):
129434         (webkit_dom_test_obj_get_attr_with_setter_exception):
129435         (webkit_dom_test_obj_set_attr_with_setter_exception):
129436         (webkit_dom_test_obj_get_attr_with_getter_exception):
129437         (webkit_dom_test_obj_set_attr_with_getter_exception):
129438         (webkit_dom_test_obj_get_script_string_attr):
129439         (webkit_dom_test_obj_set_property):
129440         (webkit_dom_test_obj_get_property):
129441         (webkit_dom_test_obj_class_init):
129442         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
129443
129444 2010-06-02  Andrey Kosyakov  <caseq@chromium.org>
129445
129446         Reviewed by Pavel Feldman.
129447
129448         WebInspector: Added conversion of inspector's resource representation into HAR.
129449         Moved common resource accessors from ResourceView to Resource.
129450         https://bugs.webkit.org/show_bug.cgi?id=30567
129451
129452         Test: http/tests/inspector/resource-har-conversion.html
129453
129454         * WebCore.gypi:
129455         * WebCore.vcproj/WebCore.vcproj:
129456         * inspector/front-end/HAREntry.js: Added.
129457         (WebInspector.HAREntry):
129458         (WebInspector.HAREntry.prototype.build):
129459         (WebInspector.HAREntry.prototype._buildRequest):
129460         (WebInspector.HAREntry.prototype._buildResponse):
129461         (WebInspector.HAREntry.prototype._buildContent):
129462         (WebInspector.HAREntry.prototype._buildTimings):
129463         (WebInspector.HAREntry.prototype._buildHeaders):
129464         (WebInspector.HAREntry.prototype._buildPostData):
129465         (WebInspector.HAREntry.prototype._buildParameters):
129466         (WebInspector.HAREntry.prototype._buildParameter):
129467         (WebInspector.HAREntry.prototype._toMilliseconds):
129468         * inspector/front-end/Resource.js:
129469         (WebInspector.Resource):
129470         (WebInspector.Resource.prototype.set url):
129471         (WebInspector.Resource.prototype.get receiveDuration):
129472         (WebInspector.Resource.prototype.requestHeaderValue):
129473         (WebInspector.Resource.prototype.get requestFormData):
129474         (WebInspector.Resource.prototype.set requestFormData):
129475         (WebInspector.Resource.prototype.responseHeaderValue):
129476         (WebInspector.Resource.prototype.get queryParameters):
129477         (WebInspector.Resource.prototype.get formParameters):
129478         (WebInspector.Resource.prototype._parseParameters):
129479         (WebInspector.Resource.prototype._headerValue):
129480         * inspector/front-end/ResourceView.js:
129481         (WebInspector.ResourceView.prototype._refreshQueryString):
129482         (WebInspector.ResourceView.prototype._refreshFormData):
129483         (WebInspector.ResourceView.prototype._refreshParms):
129484         * inspector/front-end/WebKit.qrc:
129485         * inspector/front-end/inspector.html:
129486
129487 2010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>
129488
129489         Unreviewed, rolling out r60547.
129490         http://trac.webkit.org/changeset/60547
129491         https://bugs.webkit.org/show_bug.cgi?id=40051
129492
129493         It made fast/overflow/overflow-with-local-background-
129494         attachment.html crash (Requested by Ossy on #webkit).
129495
129496         * notifications/Notification.h:
129497         (WebCore::Notification::create):
129498         * notifications/NotificationCenter.h:
129499         (WebCore::NotificationCenter::createHTMLNotification):
129500         (WebCore::NotificationCenter::createNotification):
129501
129502 2010-06-02  Eric Seidel  <eric@webkit.org>
129503
129504         Reviewed by Adam Barth.
129505
129506         HTML5 parser does not track line numbers
129507         https://bugs.webkit.org/show_bug.cgi?id=39984
129508
129509         This adds rudimentary line-number tracking to the HTML5Lexer.
129510         We'll still need to handle \r\n cases eventually, but this
129511         fixes the vast majority of our line-number related failures.
129512
129513         Fixes 268 layout tests. :)
129514
129515         * html/HTML5Lexer.cpp:
129516         (WebCore::HTML5Lexer::reset):
129517          - Reset m_lineNumber to 0.
129518         (WebCore::HTML5Lexer::consumeEntity):
129519          - Pass m_lineNumber to advance().
129520         (WebCore::HTML5Lexer::nextToken):
129521          - Pass m_lineNumber to advance().
129522         * html/HTML5Lexer.h:
129523         (WebCore::HTML5Lexer::lineNumber):
129524          - Expose m_lineNumber for HTML5Tokenizer.
129525         (WebCore::HTML5Lexer::columnNumber):
129526          - Mirrors the implementation in the old HTMLTokenizer.
129527            we might some day support column number tracking in
129528            the Lexer.  It certainly would be possible.
129529         * html/HTML5ScriptRunner.cpp:
129530         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
129531          - ASSERT we're passed a host.
129532         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
129533          - Use PendingScript.startingLineNumber when PendingScript is an inline script.
129534         (WebCore::HTML5ScriptRunner::execute):
129535          - Now expects a start line number passed from the TreeBuilder.
129536         (WebCore::HTML5ScriptRunner::runScript):
129537          - Now expects a start line number.
129538         * html/HTML5ScriptRunner.h:
129539         (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
129540          - Track startingLineNumber for any inline script.
129541         * html/HTML5Tokenizer.cpp:
129542         (WebCore::HTML5Tokenizer::begin):
129543          - Add a FIXME.  The old HTMLTokenizer resets its "lexer" state here.
129544         (WebCore::HTML5Tokenizer::pumpLexer):
129545          - Pass scriptStartLine to the HTML5ScriptRunner
129546         (WebCore::HTML5Tokenizer::lineNumber):
129547          - Implementation for Tokenizer.h
129548         (WebCore::HTML5Tokenizer::columnNumber):
129549          - Implementation for Tokenizer.h
129550         * html/HTML5Tokenizer.h:
129551         * html/HTML5TreeBuilder.cpp:
129552         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
129553          - Initialize the new line number tracking variables.
129554         (WebCore::HTML5TreeBuilder::handleScriptEndTag):
129555          - Save off the line number from the start tag to pass to the ScriptRunner.
129556         (WebCore::HTML5TreeBuilder::takeScriptToProcess):
129557          - Return the line number from the start tag.
129558         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
129559          - Save off the line number of ever script start tag we see.
129560         * html/HTML5TreeBuilder.h:
129561          - Keep both the line number of the last start tag, and the
129562            line number of the script we know we're expecting our caller to
129563            run before resuming parsing.  These are separate to keep the code
129564            clean, especially since the last script start tag line number is
129565            a hack specific to using the old HTMLParser.
129566
129567 2010-06-02  Joseph Pecoraro  <joepeck@webkit.org>
129568
129569         Reviewed by Pavel Feldman.
129570
129571         Web Inspector: Timeline should nicely format the Timer timeout
129572         https://bugs.webkit.org/show_bug.cgi?id=40040
129573
129574         * inspector/front-end/TimelinePanel.js:
129575         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): Format the Timer's timeout time.
129576
129577 2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>
129578
129579         Reviewed by Dimitri Glazkov.
129580
129581         [Chromium] Clamp dirtyRect updates of composited layer contents to the size
129582         of the layer to avoid writing outside texture bounds.
129583         https://bugs.webkit.org/show_bug.cgi?id=40030
129584
129585         * platform/graphics/chromium/LayerChromium.cpp:
129586         (WebCore::LayerChromium::updateTextureContents):
129587
129588 2010-06-02  Yael Aharon  <yael.aharon@nokia.com>
129589
129590         Reviewed by Darin Adler.
129591
129592         Notification object ref counting is not correct.
129593         https://bugs.webkit.org/show_bug.cgi?id=39998
129594
129595         Return PassRefPtr<Notification> instead of a raw pointer from the create methods
129596         for Web Notifications. 
129597
129598         No new tests are needed, as existing tests show the problem when sending the 
129599         "display" event asynchronously.
129600
129601         * notifications/Notification.h:
129602         (WebCore::Notification::create):
129603         * notifications/NotificationCenter.h:
129604         (WebCore::NotificationCenter::createHTMLNotification):
129605         (WebCore::NotificationCenter::createNotification):
129606
129607 2010-06-02  Qi Zhang  <qi.2.zhang@nokia.com>
129608
129609         Reviewed by Dirk Schulze.
129610
129611         [Qt] Image shadow doesn't work
129612         https://bugs.webkit.org/show_bug.cgi?id=37804
129613
129614         Implement the code for image shadow
129615
129616         * platform/graphics/qt/ImageQt.cpp:
129617         (WebCore::BitmapImage::draw):
129618
129619 2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>
129620
129621         Reviewed by Darin Fisher.
129622
129623         Adding the precision qualifier to fragment shaders used by the GL
129624         compositor in chromium to turn them into valid GLSL ES.
129625         https://bugs.webkit.org/show_bug.cgi?id=40022
129626
129627         * platform/graphics/chromium/LayerRendererChromium.cpp:
129628         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
129629
129630 2010-06-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
129631
129632         Reviewed by David Levin.
129633
129634         Fix type qualifier is meaningless on cast type in SVGFEColorMatrixElement::build
129635         https://bugs.webkit.org/show_bug.cgi?id=40015
129636
129637         No new tests as there is no new functionality.
129638
129639         Remove const from the cast type.
129640
129641         * svg/SVGFEColorMatrixElement.cpp:
129642         (WebCore::SVGFEColorMatrixElement::build):
129643
129644 2010-06-02  Sterling Swigart  <sswigart@google.com>
129645
129646         Reviewed by David Levin.
129647
129648         Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
129649         https://bugs.webkit.org/show_bug.cgi?id=39906
129650
129651         * Configurations/FeatureDefines.xcconfig:
129652         * GNUmakefile.am:
129653         * WebCore.pri:
129654
129655 2010-06-01  Dirk Schulze  <krit@webkit.org>
129656
129657         Reviewed by Nikolas Zimmermann.
129658
129659         SVG repaintRect should be empty if content got clipped away
129660         https://bugs.webkit.org/show_bug.cgi?id=39965
129661         
129662         The SVG repaintRect of the renderer was not empty, if the content got clipped away.
129663         The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
129664         relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
129665         We apply the object to the resource on painting at the moment.
129666         With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
129667         This can cause problems, if the resource get changed by animations or scripts.
129668         On a change, the resource tells all it's callers to relayout.
129669         If the reference to the caller (our RenderObject) is missing, the object won't ever update
129670         and therefore won't get drawn.
129671         We already have LayoutTests that cover this problem. The complete repaintRect calculation
129672         (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
129673         This eliminates redundant code.
129674
129675         * rendering/RenderPath.cpp:
129676         (WebCore::RenderPath::updateCachedBoundaries):
129677         * rendering/RenderSVGContainer.cpp:
129678         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
129679         * rendering/RenderSVGImage.cpp:
129680         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
129681         * rendering/RenderSVGResource.h:
129682         * rendering/RenderSVGResourceClipper.cpp:
129683         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
129684         * rendering/RenderSVGResourceClipper.h:
129685         * rendering/RenderSVGResourceFilter.cpp:
129686         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
129687         * rendering/RenderSVGResourceFilter.h:
129688         * rendering/RenderSVGResourceGradient.h:
129689         (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
129690         * rendering/RenderSVGResourceMarker.h:
129691         (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
129692         * rendering/RenderSVGResourceMasker.cpp:
129693         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
129694         * rendering/RenderSVGResourceMasker.h:
129695         * rendering/RenderSVGResourcePattern.h:
129696         (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
129697         * rendering/RenderSVGResourceSolidColor.h:
129698         (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
129699         * rendering/RenderSVGText.cpp:
129700         (WebCore::RenderSVGText::strokeBoundingBox):
129701         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
129702         * rendering/SVGRenderSupport.cpp:
129703         (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
129704         * rendering/SVGRenderSupport.h:
129705         * rendering/SVGRenderTreeAsText.cpp:
129706         (WebCore::writeResources):
129707         * rendering/style/SVGRenderStyle.h:
129708         (WebCore::SVGRenderStyle::hasClipper):
129709         (WebCore::SVGRenderStyle::hasMasker):
129710         (WebCore::SVGRenderStyle::hasFilter):
129711
129712 2010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
129713
129714         Unreviewed, rolling out r60539.
129715         http://trac.webkit.org/changeset/60539
129716         https://bugs.webkit.org/show_bug.cgi?id=40043
129717
129718         Accidentally added an unreviewed and invalid change to the
129719         patch. (Requested by krit on #webkit).
129720
129721         * rendering/RenderPath.cpp:
129722         (WebCore::RenderPath::updateCachedBoundaries):
129723         * rendering/RenderSVGContainer.cpp:
129724         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
129725         * rendering/RenderSVGImage.cpp:
129726         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
129727         * rendering/RenderSVGResource.h:
129728         * rendering/RenderSVGResourceClipper.cpp:
129729         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
129730         * rendering/RenderSVGResourceClipper.h:
129731         * rendering/RenderSVGResourceFilter.cpp:
129732         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
129733         * rendering/RenderSVGResourceFilter.h:
129734         * rendering/RenderSVGResourceGradient.h:
129735         (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
129736         * rendering/RenderSVGResourceMarker.h:
129737         (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
129738         * rendering/RenderSVGResourceMasker.cpp:
129739         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
129740         * rendering/RenderSVGResourceMasker.h:
129741         * rendering/RenderSVGResourcePattern.h:
129742         (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
129743         * rendering/RenderSVGResourceSolidColor.h:
129744         (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
129745         * rendering/RenderSVGText.cpp:
129746         (WebCore::RenderSVGText::strokeBoundingBox):
129747         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
129748         * rendering/SVGRenderSupport.cpp:
129749         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
129750         (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
129751         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
129752         * rendering/SVGRenderSupport.h:
129753         * rendering/SVGRenderTreeAsText.cpp:
129754         (WebCore::writeResources):
129755         * rendering/style/SVGRenderStyle.h:
129756         * svg/SVGColor.cpp:
129757         (WebCore::SVGColor::colorFromRGBColorString):
129758
129759 2010-06-01  Dirk Schulze  <krit@webkit.org>
129760
129761         Reviewed by Nikolas Zimmermann.
129762
129763         SVG repaintRect should be empty if content got clipped away
129764         https://bugs.webkit.org/show_bug.cgi?id=39965
129765         
129766         The SVG repaintRect of the renderer was not empty, if the content got clipped away.
129767         The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
129768         relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
129769         We apply the object to the resource on painting at the moment.
129770         With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
129771         This can cause problems, if the resource get changed by animations or scripts.
129772         On a change, the resource tells all it's callers to relayout.
129773         If the reference to the caller (our RenderObject) is missing, the object won't ever update
129774         and therefore won't get drawn.
129775         We already have LayoutTests that cover this problem. The complete repaintRect calculation
129776         (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
129777         This eliminates redundant code.
129778
129779         * rendering/RenderPath.cpp:
129780         (WebCore::RenderPath::updateCachedBoundaries):
129781         * rendering/RenderSVGContainer.cpp:
129782         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
129783         * rendering/RenderSVGImage.cpp:
129784         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
129785         * rendering/RenderSVGResource.h:
129786         * rendering/RenderSVGResourceClipper.cpp:
129787         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
129788         * rendering/RenderSVGResourceClipper.h:
129789         * rendering/RenderSVGResourceFilter.cpp:
129790         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
129791         * rendering/RenderSVGResourceFilter.h:
129792         * rendering/RenderSVGResourceGradient.h:
129793         (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
129794         * rendering/RenderSVGResourceMarker.h:
129795         (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
129796         * rendering/RenderSVGResourceMasker.cpp:
129797         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
129798         * rendering/RenderSVGResourceMasker.h:
129799         * rendering/RenderSVGResourcePattern.h:
129800         (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
129801         * rendering/RenderSVGResourceSolidColor.h:
129802         (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
129803         * rendering/RenderSVGText.cpp:
129804         (WebCore::RenderSVGText::strokeBoundingBox):
129805         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
129806         * rendering/SVGRenderSupport.cpp:
129807         (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
129808         * rendering/SVGRenderSupport.h:
129809         * rendering/SVGRenderTreeAsText.cpp:
129810         (WebCore::writeResources):
129811         * rendering/style/SVGRenderStyle.h:
129812         (WebCore::SVGRenderStyle::hasClipper):
129813         (WebCore::SVGRenderStyle::hasMasker):
129814         (WebCore::SVGRenderStyle::hasFilter):
129815
129816 2010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
129817
129818         Unreviewed, rolling out r60530.
129819         http://trac.webkit.org/changeset/60530
129820         https://bugs.webkit.org/show_bug.cgi?id=40041
129821
129822         resource-har-conversion failed on GTK (Requested by abarth on
129823         #webkit).
129824
129825         * WebCore.gypi:
129826         * WebCore.vcproj/WebCore.vcproj:
129827         * inspector/front-end/HAREntry.js: Removed.
129828         * inspector/front-end/Resource.js:
129829         (WebInspector.Resource):
129830         (WebInspector.Resource.prototype.set url):
129831         * inspector/front-end/ResourceView.js:
129832         (WebInspector.ResourceView.prototype._refreshQueryString):
129833         (WebInspector.ResourceView.prototype._refreshFormData):
129834         (WebInspector.ResourceView.prototype._refreshParms):
129835         * inspector/front-end/WebKit.qrc:
129836         * inspector/front-end/inspector.html:
129837
129838 2010-06-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
129839
129840         Reviewed by Kenneth Rohde Christiansen.
129841
129842         [Qt] GraphicsLayer: warnings when reloading page
129843         https://bugs.webkit.org/show_bug.cgi?id=39694
129844
129845         Made sure recaching and masks aren't attempted on zero-size layers.
129846
129847         No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.
129848
129849         * platform/graphics/qt/GraphicsLayerQt.cpp:
129850         (WebCore::MaskEffectQt::draw):
129851         (WebCore::GraphicsLayerQtImpl::recache):
129852
129853 2010-06-01  anton muhin  <antonm@google.com>
129854
129855         Reviewed by Nate Chapin.
129856
129857         [Chromium] enforce presence of named property query callback if named property enumerator is present
129858         https://bugs.webkit.org/show_bug.cgi?id=40006
129859         We need to be able to distinguish between enumerable and not enumerable properties
129860         in the presence of named interceptor.  V8 is migrating to use query
129861         callback to report enumerable properties and fallback check---
129862         using getter callback---would report properties as not enumerable.
129863         Thus if there is an enumerator callback, there should be query callback as well.
129864         (see V8's r4751).
129865
129866         * bindings/scripts/CodeGeneratorV8.pm:
129867         * bindings/v8/V8NPObject.cpp:
129868         (WebCore::npObjectQueryProperty):
129869         (WebCore::createV8ObjectForNPObject):
129870         * bindings/v8/custom/V8StorageCustom.cpp:
129871         (WebCore::V8Storage::namedPropertyQuery):
129872
129873 2010-06-01  Andrey Kosyakov  <caseq@chromium.org>
129874
129875         Reviewed by Pavel Feldman.
129876
129877         WebInspector: Added conversion of inspector's resource representation into HAR.
129878         Moved common resource accessors from ResourceView to Resource.
129879         https://bugs.webkit.org/show_bug.cgi?id=30567
129880
129881         Test: http/tests/inspector/resource-har-conversion.html
129882
129883         * WebCore.gypi:
129884         * WebCore.vcproj/WebCore.vcproj:
129885         * inspector/front-end/HAREntry.js: Added.
129886         (WebInspector.HAREntry):
129887         (WebInspector.HAREntry.prototype.build):
129888         (WebInspector.HAREntry.prototype._buildRequest):
129889         (WebInspector.HAREntry.prototype._buildResponse):
129890         (WebInspector.HAREntry.prototype._buildContent):
129891         (WebInspector.HAREntry.prototype._buildTimings):
129892         (WebInspector.HAREntry.prototype._buildHeaders):
129893         (WebInspector.HAREntry.prototype._buildPostData):
129894         (WebInspector.HAREntry.prototype._buildParameters):
129895         (WebInspector.HAREntry.prototype._buildParameter):
129896         (WebInspector.HAREntry.prototype._toMilliseconds):
129897         * inspector/front-end/Resource.js:
129898         (WebInspector.Resource):
129899         (WebInspector.Resource.prototype.set url):
129900         (WebInspector.Resource.prototype.get receiveDuration):
129901         (WebInspector.Resource.prototype.requestHeaderValue):
129902         (WebInspector.Resource.prototype.get requestFormData):
129903         (WebInspector.Resource.prototype.set requestFormData):
129904         (WebInspector.Resource.prototype.responseHeaderValue):
129905         (WebInspector.Resource.prototype.get queryParameters):
129906         (WebInspector.Resource.prototype.get formParameters):
129907         (WebInspector.Resource.prototype._parseParameters):
129908         (WebInspector.Resource.prototype._headerValue):
129909         * inspector/front-end/ResourceView.js:
129910         (WebInspector.ResourceView.prototype._refreshQueryString):
129911         (WebInspector.ResourceView.prototype._refreshFormData):
129912         (WebInspector.ResourceView.prototype._refreshParms):
129913         * inspector/front-end/WebKit.qrc:
129914         * inspector/front-end/inspector.html:
129915
129916 2010-06-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
129917
129918         Reviewed by Kenneth Rohde Christiansen.
129919
129920         Fix "variable may be used before being set" warning in TextResourceDecoder::checkForHeadCharset
129921         https://bugs.webkit.org/show_bug.cgi?id=40001
129922
129923         No new tests as there is no new functionality.
129924
129925         Initialize len to 0 just to eliminate the compiler warning.
129926
129927         * loader/TextResourceDecoder.cpp:
129928         (WebCore::TextResourceDecoder::checkForHeadCharset):
129929
129930 2010-06-01  Ilya Tikhonovsky  <loislo@chromium.org>
129931
129932         Reviewed by Pavel Feldman.
129933
129934         WebInspector: Safari specific files InspectorFrontendClientLocal were removed from chromium project.
129935         https://bugs.webkit.org/show_bug.cgi?id=39993
129936
129937         * WebCore.gypi:
129938
129939 2010-06-01  Andreas Kling  <andreas.kling@nokia.com>
129940
129941         Reviewed by Darin Adler.
129942
129943         Fix broken code generation in GenerateParametersCheckExpression.
129944         https://bugs.webkit.org/show_bug.cgi?id=39960
129945
129946         * bindings/scripts/CodeGeneratorJS.pm:
129947         * bindings/scripts/test/JS/JSTestObj.cpp: Updated baseline.
129948
129949 2010-06-01  Mark Rowe  <mrowe@apple.com>
129950
129951         Rubber-stamped by Adam Roben.
129952
129953         Remove Breakpoint.js. It was emptied in r60450 but for some reason it was not
129954         deleted at that time. The presence of empty files within the inspector's resource
129955         folder causes Mac OS X production builds to fail.
129956
129957         * inspector/front-end/Breakpoint.js: Removed.
129958
129959 2010-05-24  James Hawkins  <jhawkins@chromium.org>
129960
129961         Reviewed by Darin Fisher.
129962
129963         Added ability for PopupMenuClient to signal when
129964         * selection changed, and
129965         * selection cleared.
129966
129967         https://bugs.webkit.org/show_bug.cgi?id=39639
129968
129969         No new tests because this functionality is intentionally hidden from
129970         everything other than renderer.
129971
129972         * platform/PopupMenuClient.h:
129973         * platform/chromium/PopupMenuChromium.cpp:
129974         (WebCore::PopupListBox::selectIndex):
129975         (WebCore::PopupListBox::clearSelection):
129976         * rendering/RenderMenuList.h:
129977         (WebCore::RenderMenuList::RenderMenuList::selectionChanged):
129978         (WebCore::RenderMenuList::RenderMenuList::selectionCleared):
129979         * rendering/RenderTextControlSingleLine.h:
129980         (WebCore::RenderTextControlSingleLine::selectionChanged):
129981         (WebCore::RenderTextControlSingleLine::selectionCleared):
129982
129983 2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>
129984
129985         Reviewed by Dimitri Glazkov.
129986
129987         Check if a database needs to be auto-vacuumed only after transactions that have deleted something.
129988         https://bugs.webkit.org/show_bug.cgi?id=39688
129989
129990         * storage/Database.cpp:
129991         (WebCore::Database::resetDeletes):
129992         (WebCore::Database::hadDeletes):
129993         * storage/Database.h:
129994         * storage/DatabaseAuthorizer.cpp:
129995         (WebCore::DatabaseAuthorizer::resetDeletes):
129996         (WebCore::DatabaseAuthorizer::dropTable):
129997         (WebCore::DatabaseAuthorizer::dropTempTable):
129998         (WebCore::DatabaseAuthorizer::dropIndex):
129999         (WebCore::DatabaseAuthorizer::dropTempIndex):
130000         (WebCore::DatabaseAuthorizer::dropTrigger):
130001         (WebCore::DatabaseAuthorizer::dropTempTrigger):
130002         (WebCore::DatabaseAuthorizer::dropView):
130003         (WebCore::DatabaseAuthorizer::dropTempView):
130004         (WebCore::DatabaseAuthorizer::dropVTable):
130005         (WebCore::DatabaseAuthorizer::allowDelete):
130006         (WebCore::DatabaseAuthorizer::updateDeletesBasedOnTableName): Added.
130007         * storage/DatabaseAuthorizer.h:
130008         (WebCore::DatabaseAuthorizer::hadDeletes):
130009         * storage/SQLTransaction.cpp:
130010         (WebCore::SQLTransaction::openTransactionAndPreflight):
130011         (WebCore::SQLTransaction::postflightAndCommit):
130012
130013 2010-06-01  David Hyatt  <hyatt@apple.com>
130014
130015         Reviewed by Anders Carlsson.
130016
130017         Add a preference for paginating during layout (the new model for computing page breaks).
130018
130019         * page/Settings.cpp:
130020         (WebCore::Settings::Settings):
130021         * page/Settings.h:
130022         (WebCore::Settings::setPaginateDuringLayoutEnabled):
130023         (WebCore::Settings::paginateDuringLayoutEnabled):
130024
130025 2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>
130026
130027         Reviewed by Adam Barth.
130028
130029         Clean up the DB classes in preparation for a bigger refactoring.
130030         https://bugs.webkit.org/show_bug.cgi?id=39041
130031
130032         * storage/ChangeVersionWrapper.cpp:
130033         * storage/ChangeVersionWrapper.h:
130034         * storage/Database.cpp:
130035         (WebCore::Database::Database):
130036         (WebCore::Database::lastActionChangedDatabase):
130037         (WebCore::Database::lastActionWasInsert):
130038         (WebCore::Database::inProgressTransactionCompleted):
130039         (WebCore::Database::securityOrigin):
130040         * storage/Database.h:
130041         (WebCore::Database::sqliteDatabase):
130042         (WebCore::Database::databaseDebugName):
130043         * storage/DatabaseTask.cpp:
130044         (WebCore::DatabaseTransactionTask::doPerformTask):
130045         * storage/DatabaseTask.h:
130046         * storage/SQLStatement.cpp:
130047         (WebCore::SQLStatement::execute):
130048         * storage/SQLStatement.h:
130049         * storage/SQLTransaction.cpp:
130050         (WebCore::SQLTransaction::SQLTransaction):
130051         (WebCore::SQLTransaction::openTransactionAndPreflight):
130052         (WebCore::SQLTransaction::runStatements):
130053         (WebCore::SQLTransaction::runCurrentStatement):
130054         (WebCore::SQLTransaction::postflightAndCommit):
130055         (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
130056         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
130057         * storage/SQLTransaction.h:
130058
130059 2010-06-01  Rob Buis  <rwlbuis@gmail.com>
130060
130061         Reviewed by Nikolas Zimmermann.
130062
130063         Large SVG rect with shadow fails to render
130064         https://bugs.webkit.org/show_bug.cgi?id=38851
130065
130066         Store intermediate shadow calculation in floats to prevent integer overflow.
130067
130068         Test: svg/filters/shadow-on-rect-large.svg
130069
130070         * rendering/style/SVGRenderStyle.cpp:
130071         (WebCore::getSVGShadowExtent):
130072         (WebCore::SVGRenderStyle::inflateForShadow):
130073
130074 2010-06-01  Jer Noble  <jer.noble@apple.com>
130075
130076         Reviewed by Sam Weinig.
130077
130078         QuickTime 7.6.4 + Safari Nightly = Crash
130079         https://bugs.webkit.org/show_bug.cgi?id=40019
130080         rdar://problem/8035443
130081         
130082         Check the return value of QTCFPropertyListCreateXMLData before calling CFDataGetLength().
130083
130084         * platform/graphics/win/QTCFDictionary.cpp:
130085         (QTCFDictionaryCreateCopyWithDataCallback):
130086
130087 2010-06-01  Rob Buis  <rwlbuis@gmail.com>
130088
130089         Reviewed by Dirk Schulze.
130090
130091         Manipulating SVG element attributes in Javascript does not work as expected
130092         https://bugs.webkit.org/show_bug.cgi?id=34328
130093
130094         Reset the viewBox to be empty when removing the viewBox attribute.
130095
130096         Test: svg/custom/svg-viewBox-dynamic.html
130097
130098         * svg/SVGFitToViewBox.cpp:
130099         (WebCore::SVGFitToViewBox::parseViewBox):
130100         (WebCore::SVGFitToViewBox::parseMappedAttribute):
130101         * svg/SVGFitToViewBox.h:
130102         * svg/SVGViewSpec.cpp:
130103         (WebCore::SVGViewSpec::setViewBoxString):
130104         (WebCore::SVGViewSpec::parseViewSpec):
130105
130106 2010-06-01  Chris Fleizach  <cfleizach@apple.com>
130107
130108         Reviewed by Beth Dakin.
130109
130110         AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
130111         https://bugs.webkit.org/show_bug.cgi?id=39324
130112  
130113         There are some parameters that super handles that are not explicitly returned by the list of the element's attributes.
130114         In those cases, super should handle.
130115
130116         * accessibility/mac/AccessibilityObjectWrapper.mm:
130117         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
130118
130119 2010-05-28  David Hyatt  <hyatt@apple.com>
130120
130121         Reviewed by Beth Dakin.
130122
130123         https://bugs.webkit.org/show_bug.cgi?id=15550, complete implementation of column-span.  Add support for nested column
130124         spans.  When a column span is nested inside multiple enclosing blocks, the blocks have to be split around the column-span.
130125         We do this using block element continuations, the same kind of solution we employed for blocks inside inlines.
130126         
130127         The code for block continuations is very similar to the code for inline continuations.  It may be possible to refactor the
130128         code into RenderBoxModelObject so that more of it can be shared, but this first pass avoids that so as not to risk
130129         causing any regressions in core rendering.
130130
130131         Note also that - just as with inline continuations - you can't unsplit block continuations yet.  There is no technical limitation
130132         here... the functions just need to be written to handle it.
130133         
130134         Added new tests in fast/multicol/span.
130135
130136         * rendering/RenderBlock.cpp:
130137         (WebCore::RenderBlock::styleDidChange):
130138         (WebCore::RenderBlock::continuationBefore):
130139         (WebCore::RenderBlock::addChildToContinuation):
130140         (WebCore::RenderBlock::containingColumnsBlock):
130141         (WebCore::RenderBlock::clone):
130142         (WebCore::RenderBlock::splitBlocks):
130143         (WebCore::RenderBlock::splitFlow):
130144         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
130145         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
130146         (WebCore::RenderBlock::columnsBlockForSpanningElement):
130147         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
130148         (WebCore::RenderBlock::addChild):
130149         (WebCore::RenderBlock::addChildIgnoringContinuation):
130150         (WebCore::RenderBlock::blockElementContinuation):
130151         (WebCore::RenderBlock::layoutColumns):
130152         * rendering/RenderBlock.h:
130153
130154 2010-06-01  Alexey Proskuryakov  <ap@apple.com>
130155
130156         Build fix.
130157
130158         Hopefully, touching WebCore.base.exp will actually rebuild the export file.
130159
130160         * WebCore.Geolocation.exp:
130161         * WebCore.base.exp:
130162
130163 2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>
130164
130165         Reviewed by Adam Barth.
130166
130167         Execute void callbacks in the context they were created in.
130168         https://bugs.webkit.org/show_bug.cgi?id=39145
130169
130170         * bindings/v8/custom/V8CustomVoidCallback.cpp:
130171         (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
130172         (WebCore::V8CustomVoidCallback::handleEvent):
130173         * bindings/v8/custom/V8CustomVoidCallback.h:
130174
130175 2010-06-01  Alexey Proskuryakov  <ap@apple.com>
130176
130177         Reviewed by Sam Weinig.
130178
130179         https://bugs.webkit.org/show_bug.cgi?id=39434
130180         REGRESSION (r59811): Geolocation callbacks cannot be created
130181
130182         * DerivedSources.make: Don't append both WebCore.Geolocation.exp and WebCore.ClientBasedGeolocation.exp,
130183         they are mutually exclusive.
130184
130185         * WebCore.Geolocation.exp: Touched to force .exp file rebuild.
130186
130187         * WebCore.xcodeproj/project.pbxproj: Removed GeolocationService related files.
130188
130189         * bindings/js/JSGeolocationCustom.cpp:
130190         (WebCore::createPositionCallback): Functions defined in JavaScript code no longer inherit
130191         from InternalFunction, they inherit from JSFunction. This check is still imperfect, because
130192         it's not clear what definition of "function" should really be used, if any - other bindings
130193         code never checks callback type.
130194         (WebCore::createPositionErrorCallback): Ditto.
130195
130196         * page/Geolocation.h: Don't include GeolocationService.h unless it's going to be used.
130197
130198 2010-06-01  Jeremy Orlow  <jorlow@chromium.org>
130199
130200         Reviewed by Darin Fisher.
130201
130202         IndexedDB cleanup
130203         https://bugs.webkit.org/show_bug.cgi?id=40007
130204
130205         Remove the exception code parameter since this function can no longer
130206         cause an exception.
130207
130208         * storage/IDBObjectStoreRequest.idl:
130209         * storage/IndexedDatabase.h:
130210         * storage/IndexedDatabaseImpl.cpp:
130211         (WebCore::IndexedDatabaseImpl::open):
130212         * storage/IndexedDatabaseImpl.h:
130213         * storage/IndexedDatabaseRequest.cpp:
130214         (WebCore::IndexedDatabaseRequest::open):
130215         * storage/IndexedDatabaseRequest.h:
130216         * storage/IndexedDatabaseRequest.idl:
130217
130218 2010-06-01  Martin Robinson  <mrobinson@igalia.com>
130219
130220         Reviewed by Xan Lopez.
130221
130222         [GTK] Double clicks cause three button press events
130223         https://bugs.webkit.org/show_bug.cgi?id=38853
130224
130225         Add GOwnPtr wrapper for GdkEvent and expose a setter for
130226         PlatformMouseEvent::m_clickCount.
130227
130228         * GNUmakefile.am: Add GOwnPtrGtk.{cpp,h} to the sources list.
130229         * platform/PlatformMouseEvent.h: 
130230         (WebCore::PlatformMouseEvent::setClickCount): Added.
130231         * platform/gtk/GOwnPtrGtk.cpp: Added.
130232         (WTF::GdkEvent):
130233         * platform/gtk/GOwnPtrGtk.h: Added.
130234
130235 2010-06-01  Adam Langley  <agl@chromium.org>
130236
130237         Reviewed by Eric Seidel.
130238
130239         [chromium] respect the user's embedded bitmap settings on Linux.
130240
130241         We plumbed everything through Skia and Chrome, but forgot to connect
130242         the two wires inside WebCore.
130243
130244         (Note: no layout test because test_shell forces this option off. Also,
130245          the test font which triggers this behaviour is 32MB.)
130246
130247         https://bugs.webkit.org/show_bug.cgi?id=39894
130248         http://code.google.com/p/chromium/issues/detail?id=21149
130249
130250         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
130251         (WebCore::FontPlatformData::setupPaint):
130252
130253 2010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>
130254
130255         Reviewed by Laszlo Gombos.
130256
130257         [Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt
130258
130259         * WebCore.pro:
130260
130261 2010-06-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
130262
130263         Reviewed by Simon Hausmann.
130264
130265         [Qt] Fix a QtWebKit.pc corruption problem.
130266         https://bugs.webkit.org/show_bug.cgi?id=36826
130267
130268         The problem occurs while installing QtWebKit from trunk
130269         or a source package.
130270
130271         * WebCore.pro:
130272
130273 2010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>
130274
130275         Reviewed by Laszlo Gombos.
130276
130277         [Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt
130278
130279         Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
130280         where mkspecs/features/qt.prf expects it.
130281
130282         * WebCore.pro:
130283
130284 2010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
130285
130286         Unreviewed, rolling out r60470.
130287         http://trac.webkit.org/changeset/60470
130288         https://bugs.webkit.org/show_bug.cgi?id=39990
130289
130290         Need to rollout until bot can be updated (Requested by jorlow
130291         on #webkit).
130292
130293         * bindings/scripts/CodeGeneratorV8.pm:
130294         * bindings/v8/ScriptController.cpp:
130295         (WebCore::ScriptController::namedItemAdded):
130296         (WebCore::ScriptController::namedItemRemoved):
130297         * bindings/v8/V8DOMWindowShell.cpp:
130298         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
130299         * bindings/v8/V8DOMWindowShell.h:
130300         * bindings/v8/V8DOMWrapper.cpp:
130301         (WebCore::V8DOMWrapper::instantiateV8Object):
130302         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
130303         (WebCore::V8HTMLDocument::namedPropertyDeleter):
130304         (WebCore::V8HTMLDocument::namedPropertyGetter):
130305         (WebCore::V8HTMLDocument::indexedPropertyGetter):
130306         (WebCore::V8HTMLDocument::allAccessorSetter):
130307         (WebCore::toV8):
130308
130309 2010-06-01  Anton Muhin  <antonm@chromium.org>
130310
130311         Reviewed by Nate Chapin.
130312
130313         [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
130314         https://bugs.webkit.org/show_bug.cgi?id=39877
130315
130316         This patch makes callbacks invoked on named items addition/removal
130317         install API accessors and thus there is no more need in
130318         named and indexed interceptors on HTMLDocument which
130319         speeds up invocation of methods on document.
130320
130321         * bindings/scripts/CodeGeneratorV8.pm:
130322         * bindings/v8/ScriptController.cpp:
130323         (WebCore::ScriptController::namedItemAdded):
130324         (WebCore::ScriptController::namedItemRemoved):
130325         * bindings/v8/V8DOMWindowShell.cpp:
130326         (WebCore::checkDocumentWrapper):
130327         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
130328         (WebCore::getter):
130329         (WebCore::V8DOMWindowShell::namedItemAdded):
130330         (WebCore::V8DOMWindowShell::namedItemRemoved):
130331         * bindings/v8/V8DOMWindowShell.h:
130332         * bindings/v8/V8DOMWrapper.cpp:
130333         (WebCore::V8DOMWrapper::instantiateV8Object):
130334         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
130335         (WebCore::V8HTMLDocument::WrapInShadowObject):
130336         (WebCore::V8HTMLDocument::GetNamedProperty):
130337         (WebCore::V8HTMLDocument::allAccessorSetter):
130338         (WebCore::toV8):
130339
130340 2010-06-01  Zoltan Herczeg  <zherczeg@webkit.org>
130341
130342         Reviewed by Dirk Schulze.
130343
130344         Make the spot light anti-alias effect look similar to SVG expected values.
130345         https://bugs.webkit.org/show_bug.cgi?id=39477
130346
130347         The W3 standard only mention, that the edge of the spotlight should be
130348         anti-aliased but it does not specify how. The provided expected values
130349         gives some hint about their intentions. The algorithm uses a fixed
130350         range, which computed as follows: let a = cos(spot light cutoff range)
130351         the light fades off in the [a-0.016, a] range.
130352
130353         Test: svg/W3C-SVG-1.1/filters-light-04-f.svg
130354         Updated pixel test: svg/W3C-SVG-1.1/filters-light-01-f.svg
130355
130356         * svg/graphics/filters/SVGLightSource.cpp:
130357         (WebCore::SpotLightSource::initPaintingData):
130358
130359 2010-05-31  Adam Barth  <abarth@webkit.org>
130360
130361         Reviewed by Eric Seidel.
130362
130363         Fix default action for EndTagOpenState
130364         https://bugs.webkit.org/show_bug.cgi?id=39982
130365
130366         Add a test for a bogus end tag to webkit01.dat and update expected
130367         results now that we pass some more tests.
130368
130369         Adding this test revealed a bug in resuming the bogus comment state.
130370         I've left these broken expectations, but I'll fix the bug in a future
130371         patch. (The bug existed prior to this patch, just not the test.)
130372
130373         * html5lib/resources/webkit01.dat:
130374         * html5lib/runner-expected-html5.txt:
130375         * html5lib/webkit-resumer-expected-html5.txt:
130376
130377 2010-05-31  Lyon Chen  <liachen@rim.com>
130378
130379         Reviewed by Kent Tamura.
130380
130381         Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
130382         https://bugs.webkit.org/show_bug.cgi?id=35530
130383
130384         Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
130385
130386         * accessibility/AccessibilityRenderObject.cpp:
130387         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
130388         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
130389         * editing/Editor.cpp:
130390         (WebCore::Editor::deleteWithDirection):
130391         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
130392         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
130393         * editing/EditorCommand.cpp:
130394         (WebCore::executeDeleteBackward):
130395         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
130396         (WebCore::executeDeleteForward):
130397         (WebCore::executeDeleteToBeginningOfLine):
130398         (WebCore::executeDeleteToBeginningOfParagraph):
130399         (WebCore::executeDeleteToEndOfLine):
130400         (WebCore::executeDeleteToEndOfParagraph):
130401         (WebCore::executeDeleteWordBackward):
130402         (WebCore::executeDeleteWordForward):
130403         (WebCore::executeForwardDelete):
130404         (WebCore::executeMoveBackward):
130405         (WebCore::executeMoveBackwardAndModifySelection):
130406         (WebCore::executeMoveDown):
130407         (WebCore::executeMoveDownAndModifySelection):
130408         (WebCore::executeMoveForward):
130409         (WebCore::executeMoveForwardAndModifySelection):
130410         (WebCore::executeMoveLeft):
130411         (WebCore::executeMoveLeftAndModifySelection):
130412         (WebCore::executeMovePageDown):
130413         (WebCore::executeMovePageDownAndModifySelection):
130414         (WebCore::executeMovePageUp):
130415         (WebCore::executeMovePageUpAndModifySelection):
130416         (WebCore::executeMoveRight):
130417         (WebCore::executeMoveRightAndModifySelection):
130418         (WebCore::executeMoveToBeginningOfDocument):
130419         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
130420         (WebCore::executeMoveToBeginningOfLine):
130421         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
130422         (WebCore::executeMoveToBeginningOfParagraph):
130423         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
130424         (WebCore::executeMoveToBeginningOfSentence):
130425         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
130426         (WebCore::executeMoveToEndOfDocument):
130427         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
130428         (WebCore::executeMoveToEndOfSentence):
130429         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
130430         (WebCore::executeMoveToEndOfLine):
130431         (WebCore::executeMoveToEndOfLineAndModifySelection):
130432         (WebCore::executeMoveToEndOfParagraph):
130433         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
130434         (WebCore::executeMoveParagraphBackwardAndModifySelection):
130435         (WebCore::executeMoveParagraphForwardAndModifySelection):
130436         (WebCore::executeMoveUp):
130437         (WebCore::executeMoveUpAndModifySelection):
130438         (WebCore::executeMoveWordBackward):
130439         (WebCore::executeMoveWordBackwardAndModifySelection):
130440         (WebCore::executeMoveWordForward):
130441         (WebCore::executeMoveWordForwardAndModifySelection):
130442         (WebCore::executeMoveWordLeft):
130443         (WebCore::executeMoveWordLeftAndModifySelection):
130444         (WebCore::executeMoveWordRight):
130445         (WebCore::executeMoveWordRightAndModifySelection):
130446         (WebCore::executeMoveToLeftEndOfLine):
130447         (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
130448         (WebCore::executeMoveToRightEndOfLine):
130449         (WebCore::executeMoveToRightEndOfLineAndModifySelection):
130450         * editing/SelectionController.cpp:
130451         (WebCore::SelectionController::willBeModified):
130452         (WebCore::SelectionController::modify):
130453         * editing/SelectionController.h:
130454         (WebCore::SelectionController::):
130455         * editing/TypingCommand.cpp:
130456         (WebCore::TypingCommand::deleteKeyPressed):
130457         (WebCore::TypingCommand::forwardDeleteKeyPressed):
130458         * page/DOMSelection.cpp:
130459         (WebCore::DOMSelection::modify):
130460         (WebCore::DOMSelection::deleteFromDocument):
130461         * page/EventHandler.cpp:
130462         (WebCore::EventHandler::handleKeyboardSelectionMovement):
130463
130464 2010-05-31  Eric Seidel <eric@webkit.org>
130465
130466         Reviewed by Adam Barth.
130467
130468         REGRESSION(60409): window.onload never fires when using HTML5 parser
130469         https://bugs.webkit.org/show_bug.cgi?id=39981
130470
130471         * html/HTML5Tokenizer.cpp:
130472         (WebCore::HTML5Tokenizer::finish):
130473          - The logic was just wrong here.  We should only be setting
130474            m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
130475            is true, and we should be calling end() when it is not.
130476         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
130477          - Add another ASSERT to catch cases like this.
130478         * html/HTML5TreeBuilder.cpp:
130479         (WebCore::HTML5TreeBuilder::finished):
130480          - Add a comment about why we don't need to call m_document->finishedParsing()
130481
130482 2010-05-31  Tony Chang  <tony@chromium.org>
130483
130484         Reviewed by Dan Bernstein.
130485
130486         REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
130487         https://bugs.webkit.org/show_bug.cgi?id=39946
130488         
130489         r58665 added an infinite recursion check, but didn't take into consideration recursion between two
130490         Positions.  This adds a check for when
130491         downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1
130492
130493         Test: editing/selection/mixed-editability-12.html
130494
130495         * dom/Position.cpp:
130496         (WebCore::Position::getInlineBoxAndOffset):
130497
130498 2010-05-31  Leo Yang  <leo.yang@torchmobile.com.cn>
130499
130500         Reviewed by George Staikos.
130501
130502         Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter. 
130503         And implement it in Qt port. 
130504         https://bugs.webkit.org/show_bug.cgi?id=37304
130505
130506         Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
130507                platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
130508                platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
130509                platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
130510                platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html
130511
130512         * bindings/js/JSHTMLCanvasElementCustom.cpp:
130513         (WebCore::JSHTMLCanvasElement::toDataURL):
130514         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
130515         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
130516         * dom/CanvasSurface.cpp:
130517         (WebCore::CanvasSurface::toDataURL):
130518         * dom/CanvasSurface.h:
130519         (WebCore::CanvasSurface::toDataURL):
130520         * html/HTMLCanvasElement.idl:
130521         * platform/graphics/ImageBuffer.h:
130522         * platform/graphics/cairo/ImageBufferCairo.cpp:
130523         (WebCore::ImageBuffer::toDataURL):
130524         * platform/graphics/cg/ImageBufferCG.cpp:
130525         (WebCore::ImageBuffer::toDataURL):
130526         * platform/graphics/haiku/ImageBufferHaiku.cpp:
130527         (WebCore::ImageBuffer::toDataURL):
130528         * platform/graphics/qt/ImageBufferQt.cpp:
130529         (WebCore::ImageBuffer::toDataURL):
130530         * platform/graphics/skia/ImageBufferSkia.cpp:
130531         (WebCore::ImageBuffer::toDataURL):
130532         * platform/graphics/wince/ImageBufferWince.cpp:
130533         (WebCore::ImageBuffer::toDataURL):
130534         * platform/graphics/wx/ImageBufferWx.cpp:
130535         (WebCore::ImageBuffer::toDataURL):
130536
130537 2010-05-31  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
130538
130539         Reviewed by Kenneth Rohde Christiansen.
130540
130541         [EFL] Add Context Menu implementation
130542         https://bugs.webkit.org/show_bug.cgi?id=39821
130543
130544         * platform/ContextMenu.h: add port-specific attributes.
130545         * platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
130546         other ports
130547         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
130548         * platform/efl/ContextMenuEfl.cpp:implement needed methods for this
130549         port.
130550         (WebCore::ContextMenu::ContextMenu):
130551         (WebCore::ContextMenu::~ContextMenu):
130552         (WebCore::ContextMenu::appendItem):
130553         (WebCore::ContextMenu::setPlatformDescription):
130554         (WebCore::ContextMenu::releasePlatformDescription):
130555         * platform/efl/ContextMenuItemEfl.cpp:  implement needed methods for
130556         this port.
130557         (WebCore::ContextMenuItem::ContextMenuItem):
130558         (WebCore::ContextMenuItem::~ContextMenuItem):
130559         (WebCore::ContextMenuItem::releasePlatformDescription):
130560         (WebCore::ContextMenuItem::type):
130561         (WebCore::ContextMenuItem::setType):
130562         (WebCore::ContextMenuItem::action):
130563         (WebCore::ContextMenuItem::setAction):
130564         (WebCore::ContextMenuItem::title):
130565         (WebCore::ContextMenuItem::setTitle):
130566         (WebCore::ContextMenuItem::platformSubMenu):
130567         (WebCore::ContextMenuItem::setSubMenu):
130568         (WebCore::ContextMenuItem::checked):
130569         (WebCore::ContextMenuItem::setChecked):
130570         (WebCore::ContextMenuItem::enabled):
130571         (WebCore::ContextMenuItem::setEnabled):
130572
130573 2010-05-31  Ilya Tikhonovsky  <loislo@chromium.org>
130574
130575         Reviewed by Pavel Feldman.
130576
130577         WebInspector: Classes for native serialization to JSON were implemented.
130578         https://bugs.webkit.org/show_bug.cgi?id=34204
130579
130580         * GNUmakefile.am:
130581         * WebCore.Inspector.exp:
130582         * WebCore.gypi:
130583         * WebCore.pro:
130584         * WebCore.vcproj/WebCore.vcproj:
130585         * WebCore.xcodeproj/project.pbxproj:
130586         * inspector/InspectorValues.cpp: Added.
130587         (WebCore::escapeChar):
130588         (WebCore::doubleQuoteString):
130589         (WebCore::InspectorBaseValue::toJSONString):
130590         (WebCore::InspectorBaseValue::writeJSON):
130591         (WebCore::InspectorValue::writeJSON):
130592         (WebCore::InspectorString::writeJSON):
130593         (WebCore::InspectorObject::writeJSON):
130594         (WebCore::InspectorArray::writeJSON):
130595         * inspector/InspectorValues.h: Added.
130596         (WebCore::InspectorBaseValue::InspectorBaseValue):
130597         (WebCore::InspectorBaseValue::~InspectorBaseValue):
130598         (WebCore::InspectorBaseValue::null):
130599         (WebCore::InspectorBaseValue::):
130600         (WebCore::InspectorBaseValue::type):
130601         (WebCore::InspectorValue::create):
130602         (WebCore::InspectorValue::InspectorValue):
130603         (WebCore::InspectorValue::):
130604         (WebCore::InspectorString::create):
130605         (WebCore::InspectorString::InspectorString):
130606         (WebCore::InspectorObject::create):
130607         (WebCore::InspectorObject::~InspectorObject):
130608         (WebCore::InspectorObject::InspectorObject):
130609         (WebCore::InspectorArray::create):
130610         (WebCore::InspectorArray::~InspectorArray):
130611         (WebCore::InspectorArray::length):
130612         (WebCore::InspectorArray::InspectorArray):
130613         (WebCore::InspectorObject::setBool):
130614         (WebCore::InspectorObject::setNumber):
130615         (WebCore::InspectorObject::setString):
130616         (WebCore::InspectorObject::set):
130617         (WebCore::InspectorArray::pushBool):
130618         (WebCore::InspectorArray::pushNumber):
130619         (WebCore::InspectorArray::pushString):
130620         (WebCore::InspectorArray::push):
130621
130622 2010-05-31  Olivier Goffart <olivier.goffart@nokia.com>
130623
130624         Reviewed by Oliver Hunt.
130625
130626         [PATCH] compilation error with clang in JSDOMBinding.h
130627         https://bugs.webkit.org/show_bug.cgi?id=39945
130628
130629         JSNode is only forward declared at this point. And since neither
130630         "wrapper" nor JSValue are type-dependent. Compilers should report errors
130631         at the first compilation pass.
130632
130633         The fix is to move the conversion the line above, as the call to the
130634         function getCachedDOMNodeWrapper is type-dependent, the conversion will
130635         happen at template-instantiation time.
130636
130637         See also http://llvm.org/bugs/show_bug.cgi?id=7244
130638
130639         * bindings/js/JSDOMBinding.h:
130640         (WebCore::getDOMNodeWrapper):
130641
130642 2010-05-31  Pavel Podivilov  <podivilov@chromium.org>
130643
130644         Reviewed by Pavel Feldman.
130645
130646         Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.
130647
130648         https://bugs.webkit.org/show_bug.cgi?id=14190
130649
130650         * WebCore.gypi:
130651         * WebCore.vcproj/WebCore.vcproj:
130652         * inspector/front-end/Breakpoint.js:
130653         * inspector/front-end/BreakpointManager.js: Added.
130654         (WebInspector.BreakpointManager):
130655         (WebInspector.BreakpointManager.prototype.addBreakpoint):
130656         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
130657         (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
130658         (WebInspector.BreakpointManager.prototype.breakpointsForURL):
130659         (WebInspector.BreakpointManager.prototype.reset):
130660         (WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
130661         (WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
130662         (WebInspector.Breakpoint):
130663         (WebInspector.Breakpoint.prototype.get enabled):
130664         (WebInspector.Breakpoint.prototype.set enabled):
130665         (WebInspector.Breakpoint.prototype.get sourceText):
130666         (WebInspector.Breakpoint.prototype.set sourceText):
130667         (WebInspector.Breakpoint.prototype.get label):
130668         (WebInspector.Breakpoint.prototype.get id):
130669         (WebInspector.Breakpoint.prototype.get condition):
130670         (WebInspector.Breakpoint.prototype.set condition):
130671         * inspector/front-end/BreakpointsSidebarPane.js:
130672         (WebInspector.BreakpointsSidebarPane):
130673         (WebInspector.BreakpointsSidebarPane.prototype.reset):
130674         (WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
130675         (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
130676         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
130677         * inspector/front-end/Object.js:
130678         (WebInspector.Object.prototype.dispatchEventToListeners):
130679         * inspector/front-end/ScriptView.js:
130680         (WebInspector.ScriptView.prototype._addBreakpoint):
130681         * inspector/front-end/ScriptsPanel.js:
130682         (WebInspector.ScriptsPanel):
130683         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
130684         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
130685         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
130686         (WebInspector.ScriptsPanel.prototype.editScriptSource):
130687         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
130688         * inspector/front-end/SourceFrame.js:
130689         (WebInspector.SourceFrame.prototype._contextMenu):
130690         * inspector/front-end/SourceView.js:
130691         (WebInspector.SourceView.prototype._addBreakpoint):
130692         (WebInspector.SourceView.prototype._removeBreakpoint):
130693         * inspector/front-end/WebKit.qrc:
130694         * inspector/front-end/inspector.html:
130695         * inspector/front-end/inspector.js:
130696         (WebInspector.loaded):
130697         (WebInspector.restoredBreakpoint):
130698         (WebInspector.reset):
130699
130700 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130701
130702         Unreviewed, build fix.
130703
130704         Add references to inspector/front-end/TabbedPane.js wherever applicable.
130705
130706         * WebCore.gypi:
130707         * WebCore.vcproj/WebCore.vcproj:
130708         * inspector/front-end/WebKit.qrc:
130709
130710 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130711
130712         Unreviewed, add a file not added in r60445.
130713
130714         * inspector/front-end/TabbedPane.js: Added
130715
130716 2010-05-31  Martin Robinson  <mrobinson@igalia.com>
130717
130718         Reviewed by Gustavo Noronha Silva.
130719
130720         [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
130721         https://bugs.webkit.org/show_bug.cgi?id=39827
130722
130723         Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
130724         approach used in other parts of WebKit GTK+.
130725
130726         * platform/gtk/PasteboardGtk.cpp:
130727         (WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
130728         (WebCore::Pasteboard::writePlainText): Ditto.
130729         (WebCore::Pasteboard::writeURL): Ditto.
130730         (WebCore::Pasteboard::writeImage): Ditto.
130731         (WebCore::Pasteboard::clear): Small cleanup.
130732         (WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
130733         (WebCore::Pasteboard::plainText): Ditto.
130734
130735 2010-05-31  Darin Adler  <darin@apple.com>
130736
130737         Updated bindings test results for change in JavaScript host calling convention change
130738         from 2 days ago.
130739
130740         * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
130741         result is correct.
130742         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
130743
130744 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130745
130746         Reviewed by Pavel Feldman.
130747
130748         Web Inspector: Implement additional tabs support in ResourceView
130749         https://bugs.webkit.org/show_bug.cgi?id=39822
130750
130751         * inspector/front-end/ResourceView.js:
130752         (WebInspector.ResourceView):
130753         (WebInspector.ResourceView.prototype._selectHeadersTab):
130754         (WebInspector.ResourceView.prototype._innerSelectContentTab):
130755         * inspector/front-end/SourceView.js:
130756         (WebInspector.SourceView.prototype.show):
130757         (WebInspector.SourceView.prototype.hide):
130758         (WebInspector.SourceView.prototype.resize):
130759         (WebInspector.SourceView.prototype.updateLocalContent):
130760         (WebInspector.SourceView.prototype.selectLocalContentTab):
130761         * inspector/front-end/TabbedPane.js: Added.
130762         (WebInspector.TabbedPane):
130763         (WebInspector.TabbedPane.prototype.appendTab):
130764         (WebInspector.TabbedPane.prototype.tabObjectForId):
130765         (WebInspector.TabbedPane.prototype.hideTab):
130766         (WebInspector.TabbedPane.prototype.selectTabById):
130767         * inspector/front-end/TextViewer.js:
130768         (WebInspector.TextViewer.prototype._getSelection):
130769         * inspector/front-end/inspector.html:
130770
130771 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130772
130773         Reviewed by Pavel Feldman.
130774
130775         Web Inspector: Implement retrieval of CSS stylesheets for source editing
130776         https://bugs.webkit.org/show_bug.cgi?id=39833
130777
130778         Test: inspector/styles-source-offsets.html
130779
130780         * css/CSSParser.cpp:
130781         (WebCore::CSSParser::CSSParser):
130782         (WebCore::CSSParser::parseSheet):
130783         (WebCore::CSSParser::createStyleRule):
130784         * css/CSSParser.h:
130785         * inspector/InspectorBackend.cpp:
130786         (WebCore::InspectorBackend::getStyleSheet):
130787         (WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
130788         * inspector/InspectorBackend.h:
130789         * inspector/InspectorBackend.idl:
130790         * inspector/InspectorCSSStore.cpp:
130791         (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
130792         (WebCore::InspectorCSSStore::asCSSStyleRule):
130793         (WebCore::InspectorCSSStore::styleSheetForId):
130794         * inspector/InspectorCSSStore.h:
130795         * inspector/InspectorDOMAgent.cpp:
130796         (WebCore::InspectorDOMAgent::getStyleSheet):
130797         (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
130798         (WebCore::InspectorDOMAgent::buildObjectForStyle):
130799         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
130800         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
130801         (WebCore::InspectorDOMAgent::buildObjectForRule):
130802         (WebCore::InspectorDOMAgent::getParentStyleSheet):
130803         * inspector/InspectorDOMAgent.h:
130804         * inspector/InspectorFrontend.cpp:
130805         (WebCore::InspectorFrontend::didGetStyleSheet):
130806         * inspector/InspectorFrontend.h:
130807         * inspector/front-end/DOMAgent.js:
130808         (WebInspector.CSSStyleDeclaration):
130809
130810 2010-05-31  Philippe Normand  <pnormand@igalia.com>
130811
130812         Reviewed by Xan Lopez.
130813
130814         [GStreamer] float variables misused
130815         https://bugs.webkit.org/show_bug.cgi?id=38842
130816
130817         Use 0.0f for float variables instead of 0.0. Also added some
130818         missing casts around GST_SECOND.
130819
130820         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
130821         (WebCore::playbackPosition):
130822         (WebCore::MediaPlayerPrivateGStreamer::duration):
130823         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
130824         (WebCore::MediaPlayerPrivateGStreamer::seek):
130825         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
130826         (WebCore::MediaPlayerPrivateGStreamer::setRate):
130827         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
130828         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
130829         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
130830
130831 2010-05-31  Steve Block  <steveblock@google.com>
130832
130833         Unreviewed, rolling out r60069.
130834         http://trac.webkit.org/changeset/60069
130835         https://bugs.webkit.org/show_bug.cgi?id=39288
130836
130837         Roll out r60069 while the need for Geolocation::stop() is
130838         investigated.
130839
130840         * loader/FrameLoader.cpp:
130841         (WebCore::FrameLoader::stopLoading):
130842         * page/Geolocation.cpp:
130843         (WebCore::Geolocation::disconnectFrame):
130844         * page/Geolocation.h:
130845
130846 2010-05-31  Olivier Tilloy  <olivier@tilloy.net>
130847
130848         Reviewed by Gustavo Noronha Silva.
130849
130850         [Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
130851         from the current GTK theme.
130852         https://bugs.webkit.org/show_bug.cgi?id=37779
130853
130854         * platform/gtk/RenderThemeGtk.cpp:
130855         (WebCore::RenderThemeGtk::RenderThemeGtk):
130856         (WebCore::RenderThemeGtk::systemColor):
130857         (WebCore::RenderThemeGtk::gtkButton):
130858         * platform/gtk/RenderThemeGtk.h:
130859
130860 2010-05-31  Dirk Schulze  <krit@webkit.org>
130861
130862         Reviewed by Nikolas Zimmermann.
130863
130864         SVG Filter: Crash if parent and child elements use the same filter
130865         https://bugs.webkit.org/show_bug.cgi?id=39536
130866
130867         If a parent and a child used the same filter, the temporary saved
130868         context reference got overwritten by the child. The reference is
130869         stored in FilterData now. FilterData depends to the target object
130870         and avoids overwriting any reference.
130871
130872         Test: svg/filters/parent-children-with-same-filter.svg
130873
130874         * rendering/RenderSVGResourceFilter.cpp:
130875         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
130876         (WebCore::RenderSVGResourceFilter::applyResource):
130877         (WebCore::RenderSVGResourceFilter::postApplyResource):
130878         * rendering/RenderSVGResourceFilter.h:
130879
130880 2010-05-31  Xan Lopez  <xlopez@igalia.com>
130881
130882         Reviewed by Gustavo Noronha.
130883
130884         Fix all compiler warnings.
130885
130886         * plugins/gtk/gtk2xtbin.c:
130887         (xt_event_dispatch):
130888         (gtk_xtbin_get_type):
130889         (gtk_xtbin_set_position):
130890         (xt_add_focus_listener):
130891         (xt_remove_focus_listener):
130892
130893 2010-05-31  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
130894
130895         Reviewed by Simon Hausmann.
130896
130897         [Qt] Escape backslashes in the .pro files
130898
130899         qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
130900
130901         * WebCore.pro:
130902
130903 2010-05-31  Anton Muhin  <antonm@chromium.org>
130904
130905         Reviewed by Darin Adler.
130906
130907         Make NodeList getters take AtomicString instead of plain String
130908         https://bugs.webkit.org/show_bug.cgi?id=39892
130909
130910         Those methods turn String into AtomicString later.  And this conversion
130911         is faster if underlying string is already atomic.
130912         That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
130913         I don't know if Safari benefits from it.
130914
130915         * dom/Node.cpp:
130916         (WebCore::Node::getElementsByTagName):
130917         (WebCore::Node::getElementsByTagNameNS):
130918         * dom/Node.h:
130919
130920 2010-05-30  Adam Barth  <abarth@webkit.org>
130921
130922         Reviewed by Darin Adler.
130923
130924         Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
130925         https://bugs.webkit.org/show_bug.cgi?id=39939
130926
130927         Turns out we need to implement the bogus comment state.  :)
130928
130929         * html/HTML5Lexer.cpp:
130930         (WebCore::HTML5Lexer::nextToken):
130931
130932 2010-05-30  Eric Seidel  <eric@webkit.org>
130933
130934         Reviewed by Adam Barth.
130935
130936         fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
130937         https://bugs.webkit.org/show_bug.cgi?id=39935
130938
130939         Test: fast/tokenizer/write-partial-entity.html
130940
130941         * html/HTML5Tokenizer.cpp:
130942         (WebCore::HTML5Tokenizer::executeScript):
130943          - Use m_source.append(oldInsertionPoint) instead of
130944            oldInsertionPoint.prepend(m_source) because m_source may have had
130945            characters pushed onto it and prepend() does not handle that case.
130946
130947 2010-05-30  Lyon Chen  <liachen@rim.com>
130948
130949         Reviewed by Kent Tamura.
130950
130951         This is a coding style cleanup before fixing to bug 35530.
130952
130953         Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
130954         https://bugs.webkit.org/show_bug.cgi?id=35530
130955
130956         * editing/Editor.cpp:
130957         (WebCore::Editor::deleteWithDirection):
130958         (WebCore::Editor::fontForSelection):
130959         (WebCore::Editor::applyStyle):
130960         (WebCore::Editor::applyParagraphStyle):
130961         (WebCore::Editor::applyStyleToSelection):
130962         (WebCore::Editor::applyParagraphStyleToSelection):
130963         (WebCore::triStateOfStyleInComputedStyle):
130964         (WebCore::Editor::selectionStartHasStyle):
130965         (WebCore::Editor::selectionHasStyle):
130966         (WebCore::Editor::paste):
130967         (WebCore::Editor::ignoreSpelling):
130968         (WebCore::Editor::learnSpelling):
130969         (WebCore::findFirstMisspellingInRange):
130970         (WebCore::findFirstGrammarDetailInRange):
130971         (WebCore::findFirstBadGrammarInRange):
130972         (WebCore::findFirstMisspellingOrBadGrammarInRange):
130973         (WebCore::Editor::advanceToNextMisspelling):
130974         (WebCore::Editor::isSelectionMisspelled):
130975         (WebCore::isRangeUngrammatical):
130976         (WebCore::Editor::guessesForMisspelledSelection):
130977         (WebCore::guessesForMisspelledOrUngrammaticalRange):
130978         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
130979         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
130980         * editing/EditorCommand.cpp:
130981         (WebCore::applyCommandToFrame):
130982         (WebCore::executeToggleStyleInList):
130983         (WebCore::executeApplyParagraphStyle):
130984         (WebCore::executeDelete):
130985         (WebCore::executeForwardDelete):
130986         (WebCore::executeInsertLineBreak):
130987         (WebCore::supportedCopyCut):
130988         (WebCore::supportedPaste):
130989         (WebCore::enabledDelete):
130990         * editing/SelectionController.cpp:
130991         (WebCore::SelectionController::modifyExtendingRight):
130992         (WebCore::SelectionController::modifyExtendingForward):
130993         (WebCore::SelectionController::modifyMovingRight):
130994         (WebCore::SelectionController::modifyMovingForward):
130995         (WebCore::SelectionController::modifyExtendingLeft):
130996         (WebCore::SelectionController::modifyExtendingBackward):
130997         (WebCore::SelectionController::modifyMovingLeft):
130998         (WebCore::SelectionController::modifyMovingBackward):
130999         (WebCore::SelectionController::modify):
131000         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
131001         (WebCore::SelectionController::debugRenderer):
131002         * editing/TypingCommand.cpp:
131003         (WebCore::TypingCommand::deleteKeyPressed):
131004         (WebCore::TypingCommand::forwardDeleteKeyPressed):
131005         (WebCore::TypingCommand::insertLineBreak):
131006         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
131007         (WebCore::TypingCommand::insertParagraphSeparator):
131008         (WebCore::TypingCommand::doApply):
131009         (WebCore::TypingCommand::insertText):
131010         (WebCore::TypingCommand::updatePreservesTypingStyle):
131011         * page/EventHandler.cpp:
131012         (WebCore::EventHandler::handleMousePressEvent):
131013         (WebCore::EventHandler::handleMouseReleaseEvent):
131014         (WebCore::EventHandler::selectCursor):
131015         (WebCore::EventHandler::canHandleDragAndDropForTarget):
131016         (WebCore::EventHandler::dispatchMouseEvent):
131017         (WebCore::EventHandler::sendContextMenuEvent):
131018         (WebCore::EventHandler::handleKeyboardSelectionMovement):
131019         (WebCore::EventHandler::handleDrag):
131020
131021 2010-05-30  Daniel Bates  <dbates@rim.com>
131022
131023         Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
131024
131025         * html/HTMLFormControlElement.h:
131026         (WebCore::HTMLFormControlElement::isEnabledFormControl):
131027         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
131028         (WebCore::HTMLFormControlElement::isFormControlElement):
131029         * html/HTMLInputElement.h:
131030         (WebCore::HTMLInputElement::isPasswordField):
131031
131032 2010-05-30  Darin Adler  <darin@apple.com>
131033
131034         Reviewed by Sam Weinig.
131035
131036         Make more HTML DOM members private, especially constructors, third and final batch
131037         https://bugs.webkit.org/show_bug.cgi?id=39916
131038
131039         * dom/Document.cpp:
131040         (WebCore::Document::implicitClose):
131041         * editing/DeleteButtonController.cpp:
131042         (WebCore::DeleteButtonController::createDeletionUI):
131043         * editing/EditorCommand.cpp:
131044         (WebCore::executeInsertHorizontalRule):
131045         (WebCore::executeInsertImage):
131046         * editing/htmlediting.cpp:
131047         (WebCore::createDefaultParagraphElement):
131048         (WebCore::createListItemElement):
131049         * html/HTMLParser.cpp:
131050         (WebCore::HTMLParser::handleError):
131051         (WebCore::HTMLParser::headCreateErrorCheck):
131052         (WebCore::HTMLParser::formCreateErrorCheck):
131053         (WebCore::HTMLParser::createHead):
131054         (WebCore::HTMLParser::handleIsindex):
131055         (WebCore::HTMLParser::finished):
131056         * html/HTMLViewSourceDocument.cpp:
131057         (WebCore::HTMLViewSourceDocument::createContainingTable):
131058         * rendering/RenderTextControl.cpp:
131059         (WebCore::RenderTextControl::createSubtreeIfNeeded):
131060         * rendering/RenderTextControlSingleLine.cpp:
131061         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
131062         Use create instead of new to create HTML elements.
131063
131064         * html/HTMLFormCollection.cpp:
131065         (WebCore::HTMLFormCollection::formCollectionInfo):
131066         (WebCore::HTMLFormCollection::item):
131067         (WebCore::HTMLFormCollection::getNamedFormItem):
131068         (WebCore::HTMLFormCollection::updateNameCache):
131069         * html/HTMLFormControlElement.h:
131070         Updated for name and privacy changes in HTMLFormElement.
131071
131072         * html/HTMLFormElement.cpp:
131073         (WebCore::HTMLFormElement::HTMLFormElement):
131074         (WebCore::HTMLFormElement::create):
131075         (WebCore::HTMLFormElement::~HTMLFormElement):
131076         (WebCore::HTMLFormElement::length):
131077         (WebCore::HTMLFormElement::submitImplicitly):
131078         (WebCore::HTMLFormElement::createFormData):
131079         (WebCore::HTMLFormElement::submit):
131080         (WebCore::HTMLFormElement::reset):
131081         (WebCore::HTMLFormElement::formElementIndex):
131082         (WebCore::HTMLFormElement::registerFormElement):
131083         (WebCore::HTMLFormElement::removeFormElement):
131084         (WebCore::HTMLFormElement::registerImgElement):
131085         (WebCore::HTMLFormElement::removeImgElement):
131086         (WebCore::HTMLFormElement::defaultButton):
131087         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
131088         (WebCore::HTMLFormElement::addElementAlias):
131089         (WebCore::HTMLFormElement::documentDidBecomeActive):
131090         * html/HTMLFormElement.h:
131091         Added create functions. Made constructors and other members private.
131092         Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
131093         m_collectionCache and used an OwnPtr for it. Renamed formElements to
131094         m_associatedElements (since its contents are what HTML5 calls
131095         "form-associated element", not form elements). Renamed imgElements to
131096         m_imageElements.
131097
131098         * html/HTMLFrameSetElement.cpp:
131099         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
131100         (WebCore::HTMLFrameSetElement::create):
131101         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
131102         * html/HTMLFrameSetElement.h:
131103         Added create functions. Made constructors and other members private.
131104         Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
131105         OwnArrayPtr for both.
131106
131107         * html/HTMLLabelElement.cpp:
131108         (WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
131109         of HTMLElement, since isFormControlElement is available on Element.
131110         (WebCore::HTMLLabelElement::HTMLLabelElement):
131111         (WebCore::HTMLLabelElement::create):
131112         * html/HTMLLabelElement.h:
131113         Added create functions. Made constructors and other members private.
131114
131115         * html/HTMLLegendElement.cpp:
131116         (WebCore::HTMLLegendElement::HTMLLegendElement):
131117         (WebCore::HTMLLegendElement::create):
131118         (WebCore::HTMLLegendElement::associatedControl):
131119         (WebCore::HTMLLegendElement::focus):
131120         (WebCore::HTMLLegendElement::accessKeyAction):
131121         * html/HTMLLegendElement.h:
131122         Added create functions. Made constructors and other members private.
131123         Renamed formElement to associatedControl since hte control associated
131124         with this legend is not a "form element".
131125
131126         * editing/DeleteButton.cpp:
131127         (WebCore::DeleteButton::DeleteButton):
131128         (WebCore::DeleteButton::create):
131129         * editing/DeleteButton.h:
131130         * html/HTMLDivElement.cpp:
131131         (WebCore::HTMLDivElement::HTMLDivElement):
131132         (WebCore::HTMLDivElement::create):
131133         * html/HTMLDivElement.h:
131134         * html/HTMLFontElement.cpp:
131135         (WebCore::HTMLFontElement::create):
131136         * html/HTMLFontElement.h:
131137         * html/HTMLHRElement.cpp:
131138         (WebCore::HTMLHRElement::HTMLHRElement):
131139         (WebCore::HTMLHRElement::create):
131140         * html/HTMLHRElement.h:
131141         * html/HTMLHeadElement.cpp:
131142         (WebCore::HTMLHeadElement::HTMLHeadElement):
131143         (WebCore::HTMLHeadElement::create):
131144         * html/HTMLHeadElement.h:
131145         * html/HTMLHeadingElement.cpp:
131146         (WebCore::HTMLHeadingElement::HTMLHeadingElement):
131147         (WebCore::HTMLHeadingElement::create):
131148         * html/HTMLHeadingElement.h:
131149         * html/HTMLHtmlElement.cpp:
131150         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
131151         (WebCore::HTMLHtmlElement::create):
131152         * html/HTMLHtmlElement.h:
131153         * html/HTMLImageElement.cpp:
131154         (WebCore::HTMLImageElement::HTMLImageElement):
131155         (WebCore::HTMLImageElement::create):
131156         * html/HTMLImageElement.h:
131157         * html/HTMLInputElement.cpp:
131158         (WebCore::HTMLInputElement::HTMLInputElement):
131159         (WebCore::HTMLInputElement::create):
131160         (WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
131161         * html/HTMLInputElement.h:
131162         * html/HTMLIsIndexElement.cpp:
131163         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
131164         (WebCore::HTMLIsIndexElement::create):
131165         * html/HTMLIsIndexElement.h:
131166         * html/HTMLLIElement.cpp:
131167         (WebCore::HTMLLIElement::HTMLLIElement):
131168         (WebCore::HTMLLIElement::create):
131169         * html/HTMLLIElement.h:
131170         * html/HTMLLinkElement.cpp:
131171         (WebCore::HTMLLinkElement::HTMLLinkElement):
131172         (WebCore::HTMLLinkElement::create):
131173         * html/HTMLLinkElement.h:
131174         Added create functions. Made constructors and other members private.
131175
131176         * html/HTMLTagNames.in: Removed the createWithNew flag from all the
131177         tags that were still using it: div, font, form, frameset, h1, h2, h3,
131178         h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
131179         legend, li, and link.
131180
131181         * html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
131182         function, since the one in HTMLFormElement does the same thing.
131183
131184         * loader/ImageDocument.cpp:
131185         (WebCore::ImageDocumentElement::ImageDocumentElement):
131186         (WebCore::ImageDocumentElement::create):
131187         (WebCore::ImageDocument::createDocumentStructure):
131188         Added create functions. Made constructors and other members private.
131189
131190         * page/DragController.cpp:
131191         (WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
131192         function instead of the virtual isEnabledFormControl function, which just
131193         turns around and calls the disabled function.
131194
131195         * rendering/MediaControlElements.cpp:
131196         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
131197         (WebCore::MediaControlShadowRootElement::create):
131198         (WebCore::MediaControlElement::MediaControlElement):
131199         (WebCore::MediaControlElement::create):
131200         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
131201         (WebCore::MediaControlTimelineContainerElement::create):
131202         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
131203         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
131204         (WebCore::MediaControlVolumeSliderContainerElement::create):
131205         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
131206         (WebCore::MediaControlStatusDisplayElement::create):
131207         (WebCore::MediaControlStatusDisplayElement::update):
131208         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
131209         (WebCore::MediaControlInputElement::MediaControlInputElement):
131210         (WebCore::MediaControlInputElement::styleForElement):
131211         (WebCore::MediaControlInputElement::rendererIsNeeded):
131212         (WebCore::MediaControlInputElement::attach):
131213         (WebCore::MediaControlInputElement::updateStyle):
131214         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
131215         (WebCore::MediaControlMuteButtonElement::create):
131216         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
131217         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
131218         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
131219         (WebCore::MediaControlPlayButtonElement::create):
131220         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
131221         (WebCore::MediaControlPlayButtonElement::updateDisplayType):
131222         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
131223         (WebCore::MediaControlSeekButtonElement::create):
131224         (WebCore::MediaControlSeekButtonElement::isForwardButton):
131225         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
131226         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
131227         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
131228         (WebCore::MediaControlRewindButtonElement::create):
131229         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
131230         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
131231         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
131232         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
131233         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
131234         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
131235         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
131236         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
131237         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
131238         (WebCore::MediaControlTimelineElement::create):
131239         (WebCore::MediaControlTimelineElement::defaultEventHandler):
131240         (WebCore::MediaControlTimelineElement::update):
131241         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
131242         (WebCore::MediaControlVolumeSliderElement::create):
131243         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
131244         (WebCore::MediaControlVolumeSliderElement::update):
131245         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
131246         (WebCore::MediaControlFullscreenButtonElement::create):
131247         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
131248         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
131249         (WebCore::MediaControlTimeDisplayElement::create):
131250         * rendering/MediaControlElements.h:
131251         Added create functions. Made constructors and other members private.
131252
131253         * rendering/RenderFileUploadControl.cpp:
131254         (WebCore::ShadowInputElement::ShadowInputElement):
131255         (WebCore::ShadowInputElement::create):
131256         (WebCore::RenderFileUploadControl::updateFromElement):
131257         Added create functions. Made constructors and other members private.
131258
131259         * rendering/RenderMedia.cpp:
131260         (WebCore::RenderMedia::createControlsShadowRoot):
131261         (WebCore::RenderMedia::createPanel):
131262         (WebCore::RenderMedia::createMuteButton):
131263         (WebCore::RenderMedia::createPlayButton):
131264         (WebCore::RenderMedia::createSeekBackButton):
131265         (WebCore::RenderMedia::createSeekForwardButton):
131266         (WebCore::RenderMedia::createRewindButton):
131267         (WebCore::RenderMedia::createReturnToRealtimeButton):
131268         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
131269         (WebCore::RenderMedia::createStatusDisplay):
131270         (WebCore::RenderMedia::createTimelineContainer):
131271         (WebCore::RenderMedia::createTimeline):
131272         (WebCore::RenderMedia::createVolumeSliderContainer):
131273         (WebCore::RenderMedia::createVolumeSlider):
131274         (WebCore::RenderMedia::createCurrentTimeDisplay):
131275         (WebCore::RenderMedia::createTimeRemainingDisplay):
131276         (WebCore::RenderMedia::createFullscreenButton):
131277         Use create instead of new.
131278
131279         * rendering/RenderProgress.cpp:
131280         (WebCore::ProgressValueElement::ProgressValueElement):
131281         (WebCore::ProgressValueElement::create):
131282         (WebCore::RenderProgress::updateValuePartState):
131283         * rendering/RenderSlider.cpp:
131284         (WebCore::SliderThumbElement::SliderThumbElement):
131285         (WebCore::SliderThumbElement::create):
131286         (WebCore::RenderSlider::updateFromElement):
131287         Added create functions. Made constructors and other members private.
131288
131289         * rendering/TextControlInnerElements.cpp:
131290         (WebCore::TextControlInnerElement::TextControlInnerElement):
131291         (WebCore::TextControlInnerElement::create):
131292         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
131293         (WebCore::TextControlInnerTextElement::create):
131294         (WebCore::TextControlInnerTextElement::defaultEventHandler):
131295         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
131296         (WebCore::SearchFieldResultsButtonElement::create):
131297         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
131298         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
131299         (WebCore::SearchFieldCancelButtonElement::create):
131300         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
131301         (WebCore::SpinButtonElement::SpinButtonElement):
131302         (WebCore::SpinButtonElement::create):
131303         (WebCore::SpinButtonElement::defaultEventHandler):
131304         * rendering/TextControlInnerElements.h:
131305         Added create functions. Made constructors and other members private.
131306
131307 2010-05-30  Xan Lopez  <xlopez@igalia.com>
131308
131309         Reviewed by Darin Adler.
131310
131311         Incorrect build dependencies for GObject DOM Bindings
131312         https://bugs.webkit.org/show_bug.cgi?id=39932
131313
131314         -include does not execute the implicit % expansion, we have to do
131315         it manually.
131316
131317         * GNUmakefile.am:
131318
131319 2010-05-30  Robert Hogan  <robert@webkit.org>
131320
131321         Reviewed by Kenneth Rohde Christiansen.
131322
131323         [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
131324
131325         https://bugs.webkit.org/show_bug.cgi?id=36004
131326
131327         Fix the bug in webkit.org/b/29601 for Qt.  A delta not divisible by 120
131328         indicates a device that is sending fine-resolution scroll events, so
131329         use the delta as the number of pixels to scroll.
131330
131331         * platform/qt/WheelEventQt.cpp:
131332         (WebCore::PlatformWheelEvent::applyDelta):
131333
131334 2010-05-30  Jessie Berlin  <jberlin@webkit.org>
131335
131336         Reviewed by Pavel Feldman.
131337
131338         https://bugs.webkit.org/show_bug.cgi?id=39224
131339         Bug 39224 - Web Inspector: There should be a way to clean up profiles
131340
131341         Adds a button to clear the profiles from the profiles panel like that
131342         used for the console, the audits panel, and the timeline panel.
131343         Consolidates the css rules, since they all use the same image.
131344         Also allows for individual profiles to be deleted via the keyboard
131345         (U+0008 or U+007F) and uses this new schema for the Elements Tree.
131346
131347         * English.lproj/localizedStrings.js:
131348         Add tooltip text for the button to clear the profiles pane.
131349
131350         * inspector/InspectorBackend.idl:
131351         Add ability to remove the profiles from the backend when they are
131352         deleted or cleared in the frontend.
131353         * inspector/InspectorBackend.cpp:
131354         (WebCore::InspectorBackend::removeProfile):
131355         (WebCore::InspectorBackend::clearProfiles):
131356         * inspector/InspectorBackend.h:
131357         * inspector/InspectorController.cpp:
131358         (WebCore::InspectorController::removeProfile):
131359         (WebCore::InspectorController::clearProfiles):
131360         * inspector/InspectorController.h:
131361
131362         * inspector/front-end/AuditsPanel.js:
131363         (WebInspector.AuditsPanel):
131364         Use the 'clear-status-bar-item' class.
131365         * inspector/front-end/ChangesView.js:
131366         (WebInspector.ChangesView):
131367         * inspector/front-end/TimelinePanel.js:
131368         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
131369         * inspector/front-end/audits.css:
131370         * inspector/front-end/inspector.css:
131371         (.clear-status-bar-item .glyph):
131372         * inspector/front-end/inspector.html:
131373
131374         * inspector/front-end/ElementsTreeOutline.js:
131375         Replace the keyDown handler on the Outline with specific methods to
131376         handle delete and enter on the TreeElements.
131377         (WebInspector.ElementsTreeOutline):
131378         (WebInspector.ElementsTreeOutline.prototype.get editing):
131379         Return whether or not an element in the tree is currently being edited.
131380         (WebInspector.ElementsTreeElement.prototype.ondelete):
131381         (WebInspector.ElementsTreeElement.prototype.onenter):
131382
131383         * inspector/front-end/Panel.js:
131384         (WebInspector.Panel.prototype.createSidebar):
131385         Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.
131386
131387         * inspector/front-end/ProfilesPanel.js:
131388         (WebInspector.ProfilesPanel):
131389         Add the clear button.
131390         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
131391         (WebInspector.ProfilesPanel.prototype._clearProfiles):
131392         Remove the profiles from the backend, the reset the frontend interface.
131393         (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
131394         Remove the profile from both the frontend and the backend, and clear the
131395         view when the last profile is removed.
131396         (WebInspector.ProfilesPanel.prototype._updateInterface):
131397         Hide the clear button when profiling is disabled.
131398         (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
131399         Replace access to global variable with reference to the Panel held by the
131400         TreeOutline.
131401         (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
131402         Remove the profile corresponding the tree element when the user deletes
131403         that tree element.
131404
131405         * inspector/front-end/treeoutline.js:
131406         (TreeOutline.prototype._treeKeyDown):
131407         Allow the selected tree element to handle the user pressing a delete
131408         key or enter key.
131409
131410 2010-05-29  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
131411
131412         Reviewed by Darin Adler.
131413
131414         Check if a CC environment variable is defined before hard-coding gcc's
131415         path. Simply hard-coding it breaks cross-compilation and Linux
131416         distributions with more than one gcc installed (or not in the default
131417         path).
131418         https://bugs.webkit.org/show_bug.cgi?id=35551
131419
131420         No new functionality, so no new tests.
131421
131422         * bindings/scripts/CodeGeneratorObjC.pm:
131423         * bindings/scripts/IDLParser.pm:
131424         * dom/make_names.pl:
131425
131426 2010-05-29  Pavel Feldman  <pfeldman@chromium.org>
131427
131428         Reviewed by Timothy Hatcher.
131429
131430         Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.
131431
131432         https://bugs.webkit.org/show_bug.cgi?id=39923
131433
131434         * inspector/front-end/TimelinePanel.js:
131435         (WebInspector.TimelinePanel.FormattedRecord):
131436         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
131437         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
131438
131439 2010-05-29  Eric Seidel  <eric@webkit.org>
131440
131441         Reviewed by Adam Barth.
131442
131443         HTML5 parser should block script execution until stylesheets load
131444         https://bugs.webkit.org/show_bug.cgi?id=39903
131445
131446         All <script> tag execution now blocks on stylesheet load, including
131447         inline <script> content which the old parser doesn't support blocking.
131448
131449         Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
131450         once our primary parser knows how to wait for stylesheets
131451         before executing inline <script> content.
131452
131453         All of http/tests/local passes in --html5-parser mode now.
131454         Also fixed fast/parser/tokenizer-close-during-document-write.html.
131455
131456         * html/HTML5ScriptRunner.cpp:
131457         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
131458          - Added a m_hasScriptsWaitingForStylesheets bool so that we can
131459            detect when we're actually waiting on stylesheets or not.
131460            If we're not waiting on stylesheets then we're still parsing and
131461            executing scripts would cause parser/script reentrancy and bad news bears.
131462         (WebCore::HTML5ScriptRunner::isPendingScriptReady):
131463          - Re-enable the check that the stylesheets have loaded.
131464         (WebCore::HTML5ScriptRunner::executePendingScript):
131465          - ASSERT that stylesheets have loaded.
131466         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
131467          - ASSERT that this is never called reentrantly.
131468         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
131469          - Execute any scripts which were blocked on stylesheet loads.
131470          - ASSERT (in two ways) that this is never called reentrantly.
131471         * html/HTML5ScriptRunner.h:
131472         (WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
131473          - Callers need to check this before calling executeScriptsWaitingForLoad.
131474         (WebCore::HTML5ScriptRunner::inScriptExecution):
131475          - Used by callers to ASSERT that we're not called re-entrantly.
131476         * html/HTML5Tokenizer.cpp:
131477         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
131478          - Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
131479            due to stylesheets or not.  Callers need to know this to know if they
131480            should ignore executeScriptsWaitingForStylesheets calls from
131481            Document (which may be generated when parsing </script> tags).
131482            We only care about executeScriptsWaitingForStylesheets calls when
131483            we've actually blocked the parser due to waiting on a stylesheet load.
131484         (WebCore::HTML5Tokenizer::end):
131485          - Move m_source.close() back to this method now that I understand more
131486            about when finish() is called.  This should fix several layout test ASSERTS.
131487         (WebCore::HTML5Tokenizer::finish):
131488          - This should not close m_source since scripts may still write to
131489            the document.  Set m_wasWaitingOnScriptsDuringFinish to indicate
131490            that we were not able to end parsing during finish.
131491         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
131492          - ASSERT that this is never caller re-entrantly.
131493         (WebCore::HTML5Tokenizer::executeScript):
131494          - ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
131495         (WebCore::HTML5Tokenizer::executingScript):
131496          - Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
131497         (WebCore::HTML5Tokenizer::notifyFinished):
131498          - ASSERT that this is never called re-entrantly.
131499         (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
131500          - Call the ScriptRunner to tell it that stylesheets have loaded if
131501            it is blocked on stylesheet loads.
131502          - ASSERT(m_hasScriptsWaitingForStylesheets).  We can't just assert
131503            isPaused() since we may be paused for script loads.
131504         * html/HTML5Tokenizer.h:
131505
131506 2010-05-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
131507
131508         Reviewed by Darin Adler.
131509
131510         Remove set but never used variables
131511         https://bugs.webkit.org/show_bug.cgi?id=35252
131512
131513         No new tests as there is no new functionality.
131514
131515         * accessibility/AccessibilityRenderObject.cpp:
131516         (WebCore::lastChildConsideringContinuation):
131517         * css/CSSFontSelector.cpp:
131518         (WebCore::CSSFontSelector::addFontFaceRule):
131519         * css/CSSParser.cpp:
131520         (WebCore::CSSParser::parseFontFaceUnicodeRange):
131521         * editing/InsertParagraphSeparatorCommand.cpp:
131522         (WebCore::InsertParagraphSeparatorCommand::doApply):
131523         * loader/appcache/ApplicationCacheStorage.cpp:
131524         (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
131525         * page/EventHandler.cpp:
131526         (WebCore::EventHandler::handleWheelEvent):
131527         * page/animation/AnimationBase.cpp:
131528         (WebCore::AnimationBase::getTimeToNextEvent):
131529         * rendering/AutoTableLayout.cpp:
131530         (WebCore::AutoTableLayout::recalcColumn):
131531         (WebCore::AutoTableLayout::layout):
131532         * rendering/RenderBlock.cpp:
131533         (WebCore::RenderBlock::calcInlinePrefWidths):
131534         * rendering/RenderSVGResourceClipper.cpp:
131535         (WebCore::RenderSVGResourceClipper::createClipData):
131536         * storage/DatabaseTracker.cpp:
131537         (WebCore::DatabaseTracker::canEstablishDatabase):
131538
131539 2010-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
131540
131541         Unreviewed, rolling out r60405.
131542         http://trac.webkit.org/changeset/60405
131543         https://bugs.webkit.org/show_bug.cgi?id=39921
131544
131545         It broke GTK build. (Requested by Ossy on #webkit).
131546
131547         * dom/Node.cpp:
131548         (WebCore::Node::getElementsByTagName):
131549         (WebCore::Node::getElementsByTagNameNS):
131550         * dom/Node.h:
131551
131552 2010-05-29  Anton Muhin  <antonm@chromium.org>
131553
131554         Reviewed by Darin Adler.
131555
131556         Make NodeList getters take AtomicString instead of plain String
131557         https://bugs.webkit.org/show_bug.cgi?id=39892
131558
131559         Those methods turn String into AtomicString later.  And this conversion
131560         is faster if underlying string is already atomic.
131561         That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
131562         I don't know if Safari benefits from it.
131563
131564         * dom/Node.cpp:
131565         (WebCore::Node::getElementsByTagName):
131566         (WebCore::Node::getElementsByTagNameNS):
131567         * dom/Node.h:
131568
131569 2010-05-29  Justin Schuh  <jschuh@chromium.org>
131570
131571         Reviewed by Adam Barth.
131572
131573         Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
131574         https://bugs.webkit.org/show_bug.cgi?id=39750
131575
131576         Fix for local HTML package breakage when each file is its own origin. 
131577         In this case we should allow descendant file: frames to navigate each 
131578         other when they share the same top frame.
131579
131580         Test: fast/frames/location-change-no-file-access.html
131581
131582         * loader/FrameLoader.cpp:
131583         (WebCore::FrameLoader::shouldAllowNavigation):
131584
131585 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
131586
131587         Qt build fix: Updated for ArgList changes.
131588
131589         * bridge/qt/qt_runtime.cpp:
131590         (JSC::Bindings::QtRuntimeConnectionMethod::call):
131591
131592 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
131593
131594         Qt build fix: Updated for ArgList changes.
131595
131596         * bridge/qt/qt_runtime.cpp:
131597         (JSC::Bindings::QtRuntimeMetaMethod::call):
131598         (JSC::Bindings::QtRuntimeConnectionMethod::call):
131599
131600 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
131601
131602         Qt build fix: Updated for ArgList changes.
131603
131604         * bridge/qt/qt_pixmapruntime.cpp:
131605         (JSC::Bindings::QtPixmapInstance::invokeMethod):
131606         * bridge/qt/qt_runtime.cpp:
131607         (JSC::Bindings::findMethodIndex):
131608         (JSC::Bindings::QtRuntimeMetaMethod::call):
131609         (JSC::Bindings::QtRuntimeConnectionMethod::call):
131610         * bridge/qt/qt_runtime.h:
131611
131612 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
131613
131614         Qt build fix: Updated for ArgList changes.
131615
131616         * bridge/qt/qt_pixmapruntime.cpp:
131617         (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
131618         (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
131619         (JSC::Bindings::QtPixmapToStringMethod::invoke):
131620         (JSC::Bindings::QtPixmapInstance::invokeMethod):
131621         * bridge/qt/qt_pixmapruntime.h:
131622
131623 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
131624
131625         Qt build fix: Keep this borken class limping along.
131626
131627         * bridge/qt/qt_instance.cpp:
131628         (JSC::Bindings::QtInstance::invokeMethod):
131629         * bridge/qt/qt_instance.h:
131630
131631 2010-05-28  Geoffrey Garen  <ggaren@apple.com>
131632
131633         Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
131634
131635         Simplified the host calling convention.
131636
131637         PART ONE: Functional code changes.
131638         
131639         [ None in WebCore ]
131640         
131641         PART TWO: Global search and replace.
131642         
131643         In the areas below, I used global search-and-replace to change
131644             (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
131645             args.size() => exec->argumentCount()
131646             args.at(i) => exec->argument(i)
131647
131648         * bindings/js/JSArrayBufferViewCustom.cpp:
131649         (WebCore::JSArrayBufferView::slice):
131650         * bindings/js/JSArrayBufferViewHelper.h:
131651         (WebCore::setWebGLArrayHelper):
131652         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
131653         (WebCore::JSCanvasRenderingContext2D::setFillColor):
131654         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
131655         (WebCore::JSCanvasRenderingContext2D::strokeRect):
131656         (WebCore::JSCanvasRenderingContext2D::drawImage):
131657         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
131658         (WebCore::JSCanvasRenderingContext2D::setShadow):
131659         (WebCore::JSCanvasRenderingContext2D::createPattern):
131660         (WebCore::JSCanvasRenderingContext2D::createImageData):
131661         (WebCore::JSCanvasRenderingContext2D::putImageData):
131662         (WebCore::JSCanvasRenderingContext2D::fillText):
131663         (WebCore::JSCanvasRenderingContext2D::strokeText):
131664         * bindings/js/JSClipboardCustom.cpp:
131665         (WebCore::JSClipboard::clearData):
131666         (WebCore::JSClipboard::getData):
131667         (WebCore::JSClipboard::setDragImage):
131668         * bindings/js/JSDOMApplicationCacheCustom.cpp:
131669         (WebCore::JSDOMApplicationCache::hasItem):
131670         (WebCore::JSDOMApplicationCache::add):
131671         (WebCore::JSDOMApplicationCache::remove):
131672         * bindings/js/JSDOMFormDataCustom.cpp:
131673         (WebCore::JSDOMFormData::append):
131674         * bindings/js/JSDOMWindowCustom.cpp:
131675         (WebCore::JSDOMWindow::open):
131676         (WebCore::JSDOMWindow::showModalDialog):
131677         (WebCore::JSDOMWindow::postMessage):
131678         (WebCore::JSDOMWindow::setTimeout):
131679         (WebCore::JSDOMWindow::setInterval):
131680         (WebCore::JSDOMWindow::addEventListener):
131681         (WebCore::JSDOMWindow::removeEventListener):
131682         (WebCore::JSDOMWindow::openDatabase):
131683         * bindings/js/JSDatabaseCustom.cpp:
131684         (WebCore::JSDatabase::changeVersion):
131685         (WebCore::createTransaction):
131686         (WebCore::JSDatabase::transaction):
131687         (WebCore::JSDatabase::readTransaction):
131688         * bindings/js/JSDatabaseSyncCustom.cpp:
131689         (WebCore::JSDatabaseSync::changeVersion):
131690         (WebCore::createTransaction):
131691         (WebCore::JSDatabaseSync::transaction):
131692         (WebCore::JSDatabaseSync::readTransaction):
131693         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
131694         (WebCore::JSDedicatedWorkerContext::postMessage):
131695         * bindings/js/JSDesktopNotificationsCustom.cpp:
131696         (WebCore::JSNotificationCenter::requestPermission):
131697         * bindings/js/JSFloatArrayCustom.cpp:
131698         (WebCore::JSFloatArray::set):
131699         * bindings/js/JSGeolocationCustom.cpp:
131700         (WebCore::JSGeolocation::getCurrentPosition):
131701         (WebCore::JSGeolocation::watchPosition):
131702         * bindings/js/JSHTMLAllCollectionCustom.cpp:
131703         (WebCore::callHTMLAllCollection):
131704         (WebCore::JSHTMLAllCollection::item):
131705         (WebCore::JSHTMLAllCollection::namedItem):
131706         * bindings/js/JSHTMLCanvasElementCustom.cpp:
131707         (WebCore::JSHTMLCanvasElement::getContext):
131708         * bindings/js/JSHTMLCollectionCustom.cpp:
131709         (WebCore::callHTMLCollection):
131710         (WebCore::JSHTMLCollection::item):
131711         (WebCore::JSHTMLCollection::namedItem):
131712         * bindings/js/JSHTMLDocumentCustom.cpp:
131713         (WebCore::JSHTMLDocument::open):
131714         (WebCore::documentWrite):
131715         (WebCore::JSHTMLDocument::write):
131716         (WebCore::JSHTMLDocument::writeln):
131717         * bindings/js/JSHTMLInputElementCustom.cpp:
131718         (WebCore::JSHTMLInputElement::setSelectionRange):
131719         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
131720         (WebCore::JSHTMLOptionsCollection::add):
131721         (WebCore::JSHTMLOptionsCollection::remove):
131722         * bindings/js/JSHTMLSelectElementCustom.cpp:
131723         (WebCore::JSHTMLSelectElement::remove):
131724         * bindings/js/JSHistoryCustom.cpp:
131725         (WebCore::JSHistory::pushState):
131726         (WebCore::JSHistory::replaceState):
131727         * bindings/js/JSInjectedScriptHostCustom.cpp:
131728         (WebCore::JSInjectedScriptHost::databaseForId):
131729         (WebCore::JSInjectedScriptHost::currentCallFrame):
131730         (WebCore::JSInjectedScriptHost::nodeForId):
131731         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
131732         (WebCore::JSInjectedScriptHost::selectDatabase):
131733         (WebCore::JSInjectedScriptHost::selectDOMStorage):
131734         (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
131735         * bindings/js/JSInspectorFrontendHostCustom.cpp:
131736         (WebCore::JSInspectorFrontendHost::platform):
131737         (WebCore::JSInspectorFrontendHost::port):
131738         (WebCore::JSInspectorFrontendHost::showContextMenu):
131739         * bindings/js/JSInt16ArrayCustom.cpp:
131740         (WebCore::JSInt16Array::set):
131741         * bindings/js/JSInt32ArrayCustom.cpp:
131742         (WebCore::JSInt32Array::set):
131743         * bindings/js/JSInt8ArrayCustom.cpp:
131744         (WebCore::JSInt8Array::set):
131745         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
131746         (WebCore::JSJavaScriptCallFrame::evaluate):
131747         (WebCore::JSJavaScriptCallFrame::scopeType):
131748         * bindings/js/JSLocationCustom.cpp:
131749         (WebCore::JSLocation::replace):
131750         (WebCore::JSLocation::reload):
131751         (WebCore::JSLocation::assign):
131752         (WebCore::JSLocation::toString):
131753         * bindings/js/JSMessageEventCustom.cpp:
131754         (WebCore::JSMessageEvent::initMessageEvent):
131755         * bindings/js/JSMessagePortCustom.cpp:
131756         (WebCore::JSMessagePort::postMessage):
131757         * bindings/js/JSMessagePortCustom.h:
131758         (WebCore::handlePostMessage):
131759         * bindings/js/JSNodeCustom.cpp:
131760         (WebCore::JSNode::insertBefore):
131761         (WebCore::JSNode::replaceChild):
131762         (WebCore::JSNode::removeChild):
131763         (WebCore::JSNode::appendChild):
131764         * bindings/js/JSNodeListCustom.cpp:
131765         (WebCore::callNodeList):
131766         * bindings/js/JSPluginElementFunctions.cpp:
131767         (WebCore::callPlugin):
131768         * bindings/js/JSSQLResultSetRowListCustom.cpp:
131769         (WebCore::JSSQLResultSetRowList::item):
131770         * bindings/js/JSSQLTransactionCustom.cpp:
131771         (WebCore::JSSQLTransaction::executeSql):
131772         * bindings/js/JSSQLTransactionSyncCustom.cpp:
131773         (WebCore::JSSQLTransactionSync::executeSql):
131774         * bindings/js/JSSVGLengthCustom.cpp:
131775         (WebCore::JSSVGLength::convertToSpecifiedUnits):
131776         * bindings/js/JSSVGMatrixCustom.cpp:
131777         (WebCore::JSSVGMatrix::multiply):
131778         (WebCore::JSSVGMatrix::inverse):
131779         (WebCore::JSSVGMatrix::rotateFromVector):
131780         * bindings/js/JSSVGPODListCustom.h:
131781         (WebCore::JSSVGPODListCustom::clear):
131782         (WebCore::JSSVGPODListCustom::initialize):
131783         (WebCore::JSSVGPODListCustom::getItem):
131784         (WebCore::JSSVGPODListCustom::insertItemBefore):
131785         (WebCore::JSSVGPODListCustom::replaceItem):
131786         (WebCore::JSSVGPODListCustom::removeItem):
131787         (WebCore::JSSVGPODListCustom::appendItem):
131788         * bindings/js/JSSVGPathSegListCustom.cpp:
131789         (WebCore::JSSVGPathSegList::clear):
131790         (WebCore::JSSVGPathSegList::initialize):
131791         (WebCore::JSSVGPathSegList::getItem):
131792         (WebCore::JSSVGPathSegList::insertItemBefore):
131793         (WebCore::JSSVGPathSegList::replaceItem):
131794         (WebCore::JSSVGPathSegList::removeItem):
131795         (WebCore::JSSVGPathSegList::appendItem):
131796         * bindings/js/JSUint16ArrayCustom.cpp:
131797         (WebCore::JSUint16Array::set):
131798         * bindings/js/JSUint32ArrayCustom.cpp:
131799         (WebCore::JSUint32Array::set):
131800         * bindings/js/JSUint8ArrayCustom.cpp:
131801         (WebCore::JSUint8Array::set):
131802         * bindings/js/JSWebGLRenderingContextCustom.cpp:
131803         (WebCore::JSWebGLRenderingContext::bufferData):
131804         (WebCore::JSWebGLRenderingContext::bufferSubData):
131805         (WebCore::getObjectParameter):
131806         (WebCore::JSWebGLRenderingContext::getBufferParameter):
131807         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
131808         (WebCore::JSWebGLRenderingContext::getParameter):
131809         (WebCore::JSWebGLRenderingContext::getProgramParameter):
131810         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
131811         (WebCore::JSWebGLRenderingContext::getShaderParameter):
131812         (WebCore::JSWebGLRenderingContext::getTexParameter):
131813         (WebCore::JSWebGLRenderingContext::getUniform):
131814         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
131815         (WebCore::JSWebGLRenderingContext::texImage2D):
131816         (WebCore::JSWebGLRenderingContext::texSubImage2D):
131817         (WebCore::dataFunctionf):
131818         (WebCore::dataFunctioni):
131819         (WebCore::dataFunctionMatrix):
131820         (WebCore::JSWebGLRenderingContext::uniform1fv):
131821         (WebCore::JSWebGLRenderingContext::uniform1iv):
131822         (WebCore::JSWebGLRenderingContext::uniform2fv):
131823         (WebCore::JSWebGLRenderingContext::uniform2iv):
131824         (WebCore::JSWebGLRenderingContext::uniform3fv):
131825         (WebCore::JSWebGLRenderingContext::uniform3iv):
131826         (WebCore::JSWebGLRenderingContext::uniform4fv):
131827         (WebCore::JSWebGLRenderingContext::uniform4iv):
131828         (WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
131829         (WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
131830         (WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
131831         (WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
131832         (WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
131833         (WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
131834         (WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
131835         * bindings/js/JSWebSocketCustom.cpp:
131836         (WebCore::JSWebSocket::send):
131837         * bindings/js/JSWorkerContextCustom.cpp:
131838         (WebCore::JSWorkerContext::importScripts):
131839         (WebCore::JSWorkerContext::setTimeout):
131840         (WebCore::JSWorkerContext::setInterval):
131841         (WebCore::JSWorkerContext::openDatabase):
131842         (WebCore::JSWorkerContext::openDatabaseSync):
131843         * bindings/js/JSWorkerCustom.cpp:
131844         (WebCore::JSWorker::postMessage):
131845         * bindings/js/JSXMLHttpRequestCustom.cpp:
131846         (WebCore::JSXMLHttpRequest::open):
131847         (WebCore::JSXMLHttpRequest::send):
131848         * bindings/js/JSXSLTProcessorCustom.cpp:
131849         (WebCore::JSXSLTProcessor::importStylesheet):
131850         (WebCore::JSXSLTProcessor::transformToFragment):
131851         (WebCore::JSXSLTProcessor::transformToDocument):
131852         (WebCore::JSXSLTProcessor::setParameter):
131853         (WebCore::JSXSLTProcessor::getParameter):
131854         (WebCore::JSXSLTProcessor::removeParameter):
131855         * bindings/js/ScheduledAction.cpp:
131856         (WebCore::ScheduledAction::create):
131857         (WebCore::ScheduledAction::ScheduledAction):
131858         * bindings/js/ScheduledAction.h:
131859         * bindings/js/ScriptCallFrame.cpp:
131860         (WebCore::ScriptCallFrame::ScriptCallFrame):
131861         * bindings/js/ScriptCallFrame.h:
131862         * bindings/js/ScriptCallStack.cpp:
131863         (WebCore::ScriptCallStack::ScriptCallStack):
131864         (WebCore::ScriptCallStack::initialize):
131865         * bindings/js/ScriptCallStack.h:
131866         * bindings/scripts/CodeGeneratorJS.pm:
131867         * bridge/c/c_instance.cpp:
131868         (JSC::Bindings::CInstance::invokeMethod):
131869         (JSC::Bindings::CInstance::invokeDefaultMethod):
131870         * bridge/c/c_instance.h:
131871         * bridge/jni/jsc/JavaInstanceJSC.cpp:
131872         (JavaInstance::invokeMethod):
131873         * bridge/jni/jsc/JavaInstanceJSC.h:
131874         * bridge/jsc/BridgeJSC.h:
131875         (JSC::Bindings::Instance::invokeDefaultMethod):
131876         * bridge/objc/objc_instance.h:
131877         * bridge/objc/objc_instance.mm:
131878         (ObjcInstance::invokeMethod):
131879         (ObjcInstance::invokeObjcMethod):
131880         (ObjcInstance::invokeDefaultMethod):
131881         * bridge/objc/objc_runtime.mm:
131882         (JSC::Bindings::callObjCFallbackObject):
131883         * bridge/runtime_method.cpp:
131884         (JSC::callRuntimeMethod):
131885         * bridge/runtime_object.cpp:
131886         (JSC::Bindings::callRuntimeObject):
131887
131888 2010-05-28  Stephen White  <senorblanco@chromium.org>
131889
131890         Reviewed by Darin Fisher.
131891
131892         Implement GraphicsContext::setImageInterpolation() for the Chromium
131893         port.  This is preparatory work for bug 38233.  A number of
131894         background-resize tests will need a rebaseline, since the images are
131895         taken during the initial "low quality" phase (<800ms).
131896
131897         [CHROMIUM] Chromium port should support image interpolation quality
131898         https://bugs.webkit.org/show_bug.cgi?id=38686
131899
131900         Covered by fast/backgrounds/size/backgroundSize15.html, and others.
131901
131902         * platform/graphics/skia/GraphicsContextSkia.cpp:
131903         Implement WebCore::GraphicsContext::setImageInterpolationQuality.
131904         * platform/graphics/skia/ImageSkia.cpp:
131905         (WebCore::computeResamplingMode):  Only enable high quality
131906         interpolation if it has been requested in the GraphicsContext.
131907         (WebCore::drawResampledBitmap):  Enable cacheing of resampled images
131908         even if the size is not full (fix from Brett Wilson).
131909         (WebCore::paintSkBitmap):  Pass in the PlatformContextSkia to
131910         computeResamplingMode, so it can query it for interpolation quality.
131911         (WebCore::Image::drawPattern):  Ibid.
131912         * platform/graphics/skia/PlatformContextSkia.cpp:
131913         (PlatformContextSkia::State::State):
131914         (PlatformContextSkia::interpolationQuality):
131915         (PlatformContextSkia::setInterpolationQuality):
131916         * platform/graphics/skia/PlatformContextSkia.h:
131917         Add a member fn and accessors to retain the image interpolation quality
131918         in the platform context, and to save/restore it with the state.
131919
131920 2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
131921
131922         Reviewed by Kenneth Rohde Christiansen.
131923
131924         [EFL] Remove compiler warnings about uninitialized variable.
131925         https://bugs.webkit.org/show_bug.cgi?id=39871
131926
131927         No new tests, just cosmetic changes.
131928
131929         * platform/efl/WidgetEfl.cpp:
131930         (WebCore::Widget::applyCursor):
131931
131932 2010-05-28  Vangelis Kokkevis  <vangelis@chromium.org>
131933
131934         Reviewed by Dimitri Glazkov.
131935
131936         Prevent chromium composited layers from rendering on top of the scrollbars.
131937         https://bugs.webkit.org/show_bug.cgi?id=39851
131938
131939         * platform/graphics/chromium/LayerRendererChromium.cpp:
131940         (WebCore::LayerRendererChromium::drawLayers):
131941
131942 2010-05-28  Aaron Boodman  <aa@chromium.org>
131943
131944         Reviewed by Darin Fisher.
131945
131946         Added isXHTMLDocument() to WebCore::Document.
131947
131948         https://bugs.webkit.org/show_bug.cgi?id=39887
131949
131950         * dom/Document.h: Add isXHTMLDocument().
131951         (WebCore::Document::isXHTMLDocument): Ditto.
131952
131953 2010-05-28  Peter Kasting  <pkasting@google.com>
131954
131955         Reviewed by Darin Adler.
131956
131957         https://bugs.webkit.org/show_bug.cgi?id=39857
131958         Make GIFs loop the correct number of times.  Previously, everyone looped
131959         one time too few for non-infinitely-looping GIFs.
131960
131961         Modified a Qt manual test to be correct and moved it to the general
131962         manual test directory.
131963
131964         * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
131965         * manual-tests/qt/qt-10loop-anim.gif: Removed.
131966         * manual-tests/qt/qt-anim.gif: Removed.
131967         * manual-tests/qt/qt-gif-test.html: Removed.
131968         * manual-tests/qt/qt-noanim.gif: Removed.
131969         * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
131970         * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
131971         * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
131972         * platform/graphics/BitmapImage.cpp:
131973         (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
131974         * platform/graphics/ImageSource.h:
131975         * platform/graphics/cg/ImageSourceCG.cpp:
131976         (WebCore::ImageSource::repetitionCount):
131977         * platform/graphics/qt/ImageDecoderQt.cpp:
131978         (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count.  Qt itself may still have a bug here.
131979         * platform/image-decoders/gif/GIFImageDecoder.cpp:
131980         (WebCore::GIFImageDecoder::repetitionCount):
131981         * platform/image-decoders/gif/GIFImageReader.cpp:
131982         (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).
131983
131984 2010-05-28  Ben Murdoch  <benm@google.com>
131985
131986         Reviewed by Darin Adler.
131987
131988         openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
131989         https://bugs.webkit.org/show_bug.cgi?id=39882
131990
131991         No new tests. Existing tests in fast/files should suffice.
131992
131993         * platform/posix/FileSystemPOSIX.cpp:
131994         (WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.
131995
131996 2010-05-28  Adam Barth  <abarth@webkit.org>
131997
131998         Reviewed by Eric Seidel.
131999
132000         Named entities in attributes aren't parsed correctly by HTML5 parser
132001         https://bugs.webkit.org/show_bug.cgi?id=39873
132002
132003         I misplaced this if statement when writing this code originally.  Now
132004         that we have test coverage for this paragraph in the spec, we can see
132005         and fix the bug.
132006
132007         * html/HTML5Lexer.cpp:
132008         (WebCore::HTML5Lexer::consumeEntity):
132009
132010 2010-05-28  Adam Barth  <abarth@webkit.org>
132011
132012         Reviewed by Eric Seidel.
132013
132014         Handle edge cases in HTML5 entity parsing
132015         https://bugs.webkit.org/show_bug.cgi?id=39823
132016
132017         The HTML5 specification tells us to handle HTML entities in a somewhat
132018         complicated way.  This patch attempts to correctly handle numeric
132019         entities.  Some of this code is duplicated from HTMLTokenizer.
132020
132021         * html/HTML5Lexer.cpp:
132022         (WebCore::HTMLNames::):
132023         (WebCore::HTMLNames::adjustEntity):
132024         (WebCore::HTMLNames::legalEntityFor):
132025         (WebCore::HTML5Lexer::consumeEntity):
132026         (WebCore::HTML5Lexer::processEntity):
132027         (WebCore::HTML5Lexer::nextToken):
132028         (WebCore::HTML5Lexer::emitCodePoint):
132029         * html/HTML5Lexer.h:
132030
132031 2010-05-28  Chris Fleizach  <cfleizach@apple.com>
132032
132033         Reviewed by Beth Dakin.
132034
132035         AX: stop prepping value conversion in accessibilityAttributeValueForParameter
132036         https://bugs.webkit.org/show_bug.cgi?id=39880
132037
132038         Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:
132039
132040         * accessibility/mac/AccessibilityObjectWrapper.mm:
132041         (visiblePositionForTextMarker):
132042         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
132043         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
132044
132045 2010-05-28  Adam Treat  <atreat@rim.com>
132046
132047         Reviewed by Daniel Bates.
132048
132049         RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859
132050
132051         Layout is not dependent upon ScrollView::frameRect when useFixedLayout
132052         is true.  No reason to set the needs layout flag in this case.
132053
132054         * platform/ScrollView.cpp:
132055         (WebCore::ScrollView::setFrameRect):
132056
132057 2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>
132058
132059         Unreviewed. Revert 60353 -- immature.
132060
132061         https://bugs.webkit.org/show_bug.cgi?id=39646
132062
132063         * bindings/js/JSConsoleCustom.cpp:
132064         * bindings/v8/custom/V8ConsoleCustom.cpp:
132065         * page/Console.cpp:
132066         * page/Console.h:
132067         * page/Console.idl:
132068
132069 2010-05-27  Darin Adler  <darin@apple.com>
132070
132071         Reviewed by David Levin.
132072
132073         Make more HTML DOM members private, especially constructors, batch 2
132074         https://bugs.webkit.org/show_bug.cgi?id=39706
132075
132076         Refactoring so no new tests.
132077
132078         Worked my way up from the bottom of HTMLTagNames.in.
132079
132080         * html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
132081         map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
132082         script, select, source, style, table, tbody, td, textarea, tfoot,
132083         th, thead, title, tr, ul, video, xmp, and noscript.
132084
132085         * editing/htmlediting.cpp:
132086         (WebCore::createOrderedListElement): Use create function instead of new.
132087         (WebCore::createUnorderedListElement): Ditto.
132088         * html/HTMLParser.cpp:
132089         (WebCore::HTMLParser::handleError): Ditto.
132090         (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
132091         * html/HTMLViewSourceDocument.cpp:
132092         (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
132093         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
132094
132095         * html/HTMLKeygenElement.cpp:
132096         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
132097         instead of new.
132098         (WebCore::HTMLKeygenElement::create): Added.
132099         * html/HTMLKeygenElement.h: Made constructor and virtual function
132100         overrides private, added create function.
132101
132102         * html/HTMLMapElement.cpp:
132103         (WebCore::HTMLMapElement::HTMLMapElement):
132104         (WebCore::HTMLMapElement::create):
132105         * html/HTMLMapElement.h:
132106         * html/HTMLMarqueeElement.cpp:
132107         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
132108         (WebCore::HTMLMarqueeElement::create):
132109         * html/HTMLMarqueeElement.h:
132110         * html/HTMLMenuElement.cpp:
132111         (WebCore::HTMLMenuElement::HTMLMenuElement):
132112         (WebCore::HTMLMenuElement::create):
132113         * html/HTMLMenuElement.h:
132114         * html/HTMLMetaElement.cpp:
132115         (WebCore::HTMLMetaElement::HTMLMetaElement):
132116         (WebCore::HTMLMetaElement::create):
132117         * html/HTMLMetaElement.h:
132118         * html/HTMLNoScriptElement.cpp:
132119         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
132120         (WebCore::HTMLNoScriptElement::create):
132121         (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
132122         * html/HTMLNoScriptElement.h:
132123         * html/HTMLOListElement.cpp:
132124         (WebCore::HTMLOListElement::HTMLOListElement):
132125         (WebCore::HTMLOListElement::create):
132126         * html/HTMLOListElement.h:
132127         * html/HTMLOptGroupElement.cpp:
132128         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
132129         (WebCore::HTMLOptGroupElement::create):
132130         * html/HTMLOptGroupElement.h:
132131         * html/HTMLOptionElement.cpp:
132132         (WebCore::HTMLOptionElement::HTMLOptionElement):
132133         (WebCore::HTMLOptionElement::create):
132134         * html/HTMLOptionElement.h:
132135         * html/HTMLParagraphElement.cpp:
132136         (WebCore::HTMLParagraphElement::HTMLParagraphElement):
132137         (WebCore::HTMLParagraphElement::create):
132138         * html/HTMLParagraphElement.h:
132139         * html/HTMLParamElement.cpp:
132140         (WebCore::HTMLParamElement::HTMLParamElement):
132141         (WebCore::HTMLParamElement::create):
132142         * html/HTMLParamElement.h:
132143         * html/HTMLPreElement.cpp:
132144         (WebCore::HTMLPreElement::HTMLPreElement):
132145         (WebCore::HTMLPreElement::create):
132146         * html/HTMLPreElement.h:
132147         * html/HTMLQuoteElement.cpp:
132148         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
132149         (WebCore::HTMLQuoteElement::create):
132150         * html/HTMLQuoteElement.h:
132151         * html/HTMLScriptElement.cpp:
132152         (WebCore::HTMLScriptElement::HTMLScriptElement):
132153         (WebCore::HTMLScriptElement::create):
132154         * html/HTMLScriptElement.h:
132155         * html/HTMLSelectElement.cpp:
132156         (WebCore::HTMLSelectElement::create):
132157         * html/HTMLSelectElement.h:
132158         * html/HTMLSourceElement.cpp:
132159         (WebCore::HTMLSourceElement::HTMLSourceElement):
132160         (WebCore::HTMLSourceElement::create):
132161         * html/HTMLSourceElement.h:
132162         * html/HTMLStyleElement.cpp:
132163         (WebCore::HTMLStyleElement::HTMLStyleElement):
132164         (WebCore::HTMLStyleElement::create):
132165         * html/HTMLStyleElement.h:
132166         * html/HTMLTableRowElement.cpp:
132167         (WebCore::HTMLTableRowElement::HTMLTableRowElement):
132168         (WebCore::HTMLTableRowElement::create):
132169         (WebCore::HTMLTableRowElement::insertCell):
132170         * html/HTMLTableRowElement.h:
132171         * html/HTMLTableSectionElement.cpp:
132172         (WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
132173         (WebCore::HTMLTableSectionElement::create):
132174         (WebCore::HTMLTableSectionElement::insertRow):
132175         * html/HTMLTableSectionElement.h:
132176         * html/HTMLTextAreaElement.cpp:
132177         (WebCore::HTMLTextAreaElement::create):
132178         * html/HTMLTextAreaElement.h:
132179         * html/HTMLTitleElement.cpp:
132180         (WebCore::HTMLTitleElement::HTMLTitleElement):
132181         (WebCore::HTMLTitleElement::create):
132182         * html/HTMLTitleElement.h:
132183         * html/HTMLUListElement.cpp:
132184         (WebCore::HTMLUListElement::HTMLUListElement):
132185         (WebCore::HTMLUListElement::create):
132186         * html/HTMLUListElement.h:
132187         * html/HTMLVideoElement.cpp:
132188         (WebCore::HTMLVideoElement::HTMLVideoElement):
132189         (WebCore::HTMLVideoElement::create):
132190         * html/HTMLVideoElement.h:
132191         Made constructors and virtual function overrides private, added
132192         create function.
132193
132194         * html/HTMLTableCellElement.cpp:
132195         (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
132196         names of data members. Renamed _row to m_row, _col to m_col,
132197         rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
132198         rowHeight and m_solid.
132199         (WebCore::HTMLTableCellElement::create): Added.
132200         (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
132201         * html/HTMLTableCellElement.h: Ditto.
132202
132203         * html/HTMLTableElement.cpp:
132204         (WebCore::HTMLTableElement::create): Added.
132205         (WebCore::HTMLTableElement::createTHead): Used create instead of new.
132206         (WebCore::HTMLTableElement::createTFoot): Ditto.
132207         (WebCore::HTMLTableElement::insertRow): Ditto.
132208         * html/HTMLTableElement.h:
132209
132210         * html/HTMLTablePartElement.h: Made members protected instead of
132211         public.
132212
132213 2010-05-28  Andreas Kling  <andreas.kling@nokia.com>
132214
132215         Reviewed by Kenneth Rohde Christiansen.
132216
132217         [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
132218         https://bugs.webkit.org/show_bug.cgi?id=39784
132219
132220         Move coordinate transformation from TransparencyLayer to clipToImageBuffer()
132221
132222         * platform/graphics/qt/GraphicsContextQt.cpp:
132223         (WebCore::TransparencyLayer::TransparencyLayer):
132224         (WebCore::GraphicsContext::clipToImageBuffer):
132225
132226 2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
132227
132228         Reviewed by Kenneth Rohde Christiansen.
132229
132230         [EF] Implement methods for supporting PopupMenu
132231         https://bugs.webkit.org/show_bug.cgi?id=39629
132232
132233         * platform/PopupMenu.h: add needed attribute
132234         * platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
132235         menu
132236         (WebCore::PopupMenu::PopupMenu): initialize new attribute
132237         (WebCore::PopupMenu::show): ditto.
132238         (WebCore::PopupMenu::hide): ditto.
132239
132240 2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
132241
132242         Reviewed by Kenneth Rohde Christiansen.
132243
132244         Reorder class initializers to remove compiler warnings.
132245         https://bugs.webkit.org/show_bug.cgi?id=39596
132246
132247         * platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
132248         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
132249         * platform/efl/PlatformMouseEventEfl.cpp: ditto.
132250         (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
132251         * platform/efl/PlatformWheelEventEfl.cpp: ditto
132252         (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.
132253
132254 2010-05-27  Jeremy Orlow  <jorlow@chromium.org>
132255
132256         Reviewed by Steve Block.
132257
132258         Add IndexedDB's IDBIndex
132259         https://bugs.webkit.org/show_bug.cgi?id=39850
132260
132261         Flesh out IDBIndex as much as possible until Andrei finishes
132262         his patch to get around passing Frame*'s all around.  I also
132263         cleaned up a bunch of existing files as I noticed style
132264         violations (while basing my new files off of the old).
132265
132266         Not hooked up enough to test.  Will add tests soon.
132267
132268         * Android.derived.jscbindings.mk
132269         * Android.derived.v8bindings.mk
132270         * Android.mk
132271         * CMakeLists.txt
132272         * DerivedSources.cpp
132273         * DerivedSources.make
132274         * GNUmakefile.am
132275         * WebCore.pri
132276         * WebCore.pro
132277         * WebCore.gypi:
132278         * WebCore.vcproj/WebCore.vcproj
132279         * WebCore.xcodeproj/project.pbxproj
132280         * bindings/js/JSIDBAnyCustom.cpp:
132281         (WebCore::toJS):
132282         * bindings/v8/custom/V8IDBAnyCustom.cpp:
132283         (WebCore::toV8):
132284         * storage/IDBAny.cpp:
132285         (WebCore::IDBAny::idbIndexRequest):
132286         (WebCore::IDBAny::set):
132287         * storage/IDBAny.h:
132288         (WebCore::IDBAny::):
132289         * storage/IDBCallbacks.h:
132290         * storage/IDBDatabase.h:
132291         * storage/IDBDatabaseError.h:
132292         (WebCore::IDBDatabaseError::):
132293         * storage/IDBDatabaseError.idl:
132294         * storage/IDBDatabaseException.h:
132295         * storage/IDBDatabaseException.idl:
132296         * storage/IDBDatabaseImpl.cpp:
132297         * storage/IDBDatabaseImpl.h:
132298         * storage/IDBDatabaseRequest.cpp:
132299         * storage/IDBDatabaseRequest.h:
132300         * storage/IDBDatabaseRequest.idl:
132301         * storage/IDBIndex.h: Added.
132302         (WebCore::IDBIndex::~IDBIndex):
132303         * storage/IDBIndexImpl.cpp: Added.
132304         (WebCore::IDBIndexImpl::IDBIndexImpl):
132305         (WebCore::IDBIndexImpl::~IDBIndexImpl):
132306         * storage/IDBIndexImpl.h: Added.
132307         (WebCore::IDBIndexImpl::create):
132308         (WebCore::IDBIndexImpl::name):
132309         (WebCore::IDBIndexImpl::keyPath):
132310         (WebCore::IDBIndexImpl::unique):
132311         * storage/IDBIndexRequest.cpp: Added.
132312         (WebCore::IDBIndexRequest::IDBIndexRequest):
132313         (WebCore::IDBIndexRequest::~IDBIndexRequest):
132314         * storage/IDBIndexRequest.h: Added.
132315         (WebCore::IDBIndexRequest::create):
132316         (WebCore::IDBIndexRequest::name):
132317         (WebCore::IDBIndexRequest::keyPath):
132318         (WebCore::IDBIndexRequest::unique):
132319         * storage/IDBIndexRequest.idl: Added.
132320         * storage/IDBObjectStore.cpp:
132321         (WebCore::IDBObjectStore::IDBObjectStore):
132322         (WebCore::IDBObjectStore::~IDBObjectStore):
132323         (WebCore::IDBObjectStore::indexNames):
132324         (WebCore::IDBObjectStore::createIndex):
132325         (WebCore::IDBObjectStore::index):
132326         (WebCore::IDBObjectStore::removeIndex):
132327         * storage/IDBObjectStore.h:
132328         * storage/IDBObjectStoreRequest.cpp:
132329         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
132330         (WebCore::IDBObjectStoreRequest::name):
132331         (WebCore::IDBObjectStoreRequest::keyPath):
132332         (WebCore::IDBObjectStoreRequest::indexNames):
132333         (WebCore::IDBObjectStoreRequest::createIndex):
132334         (WebCore::IDBObjectStoreRequest::index):
132335         (WebCore::IDBObjectStoreRequest::removeIndex):
132336         * storage/IDBObjectStoreRequest.h:
132337         * storage/IDBObjectStoreRequest.idl:
132338         * storage/IDBRequest.cpp:
132339         (WebCore::IDBRequest::onSuccess):
132340         * storage/IDBRequest.h:
132341         * storage/IndexedDatabaseRequest.idl:
132342
132343 2010-05-28  Yury Semikhatsky  <yurys@chromium.org>
132344
132345         Reviewed by Pavel Feldman.
132346
132347         Web Inspector: hide node highlight when inspected page closes.
132348         https://bugs.webkit.org/show_bug.cgi?id=39872
132349
132350         * inspector/InspectorController.cpp:
132351         (WebCore::InspectorController::~InspectorController):
132352         (WebCore::InspectorController::inspectedPageDestroyed):
132353
132354 2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>
132355
132356         Reviewed by Yury Semikhatsky.
132357
132358         Web Inspector: add Console API for retrieving memory stats
132359
132360         Add 'console.memory' property which returns an object. Currently
132361         it has two fields: totalHeapSize and usedHeapSize. Later, it can be
132362         extended for reporting total browser's memory consumption.
132363
132364         https://bugs.webkit.org/show_bug.cgi?id=39840
132365
132366         * bindings/js/JSConsoleCustom.cpp:
132367         (WebCore::JSConsole::memory):
132368         * bindings/v8/custom/V8ConsoleCustom.cpp:
132369         (WebCore::V8Console::memoryAccessorGetter):
132370         * page/Console.cpp:
132371         (WebCore::Console::memory):
132372         * page/Console.h:
132373         * page/Console.idl:
132374
132375 2010-05-28  Xan Lopez  <xlopez@igalia.com>
132376
132377         Add new file to the build system.
132378
132379         * GNUmakefile.am:
132380
132381 2010-05-28  Antti Koivisto  <koivisto@iki.fi>
132382
132383         Reviewed by Kenneth Rohde Christiansen.
132384
132385         https://bugs.webkit.org/show_bug.cgi?id=39874
132386         [Qt] Make tiled backing store more configurable
132387     
132388         Make tile size, tile creation delay and tiling area dynamically configurable.
132389
132390         * platform/graphics/TiledBackingStore.cpp:
132391         (WebCore::TiledBackingStore::TiledBackingStore):
132392         (WebCore::TiledBackingStore::setTileSize):
132393         (WebCore::TiledBackingStore::setTileCreationDelay):
132394         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
132395         (WebCore::TiledBackingStore::createTiles):
132396         * platform/graphics/TiledBackingStore.h:
132397         (WebCore::TiledBackingStore::tileSize):
132398         (WebCore::TiledBackingStore::tileCreationDelay):
132399         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
132400
132401 2010-05-28  Eric Seidel  <eric@webkit.org>
132402
132403         Reviewed by Adam Barth.
132404
132405         document.write does not work correctly in the HTML5 parser
132406         https://bugs.webkit.org/show_bug.cgi?id=39828
132407
132408         Added a new HTML5ScriptRunnerHost interface which
132409         HTML5Tokenizer implements.  This allows HTML5ScriptController
132410         to delegate the actual ScriptController::executeScript back to
132411         HTML5Tokenizer.  HTML5Tokenizer saves off the current m_source
132412         before calling ScriptController::executeScript to allow safe
132413         reentrancy through document.write().
132414
132415         * WebCore.xcodeproj/project.pbxproj:
132416          - Added HTML5ScriptRunnerHost.h
132417         * html/HTML5ScriptRunner.cpp:
132418         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
132419         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
132420          - Unregister m_parsingBlockingScript if stopped before
132421            load completion.  This was probably causing some of the
132422            crashes on page navigation we saw during LayoutTest runs.
132423         (WebCore::documentURLForScriptExecution):
132424          - Unify our documentURL handling so all callsites get it right.
132425         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
132426          - Use documentURLForScriptExecution
132427         (WebCore::HTML5ScriptRunner::executePendingScript):
132428          - Call stopWatchingForLoad instead of removeClient()
132429          - Call executeScript instead of ScriptController directly.
132430         (WebCore::HTML5ScriptRunner::executeScript):
132431          - Wraps calls to HTML5ScriptRunnerHost::executeScript
132432         (WebCore::HTML5ScriptRunner::watchForLoad):
132433          - Wraps calls to HTML5ScriptRunnerHost::watchForLoad
132434         (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
132435          - Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
132436         (WebCore::HTML5ScriptRunner::requestScript):
132437          - Only watch for load if the CachedScript isn't already loaded.
132438            This gets rid of rentrancy due to addClient calls, and as a result
132439            also stops us from hitting ASSERT(m_scriptNestingLevel)
132440            in executePendingScript.
132441         (WebCore::HTML5ScriptRunner::runScript):
132442          - Use the new fancy documentURLForScriptExecution and executeScript.
132443         * html/HTML5ScriptRunner.h:
132444         (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
132445          - Add a watchingForLoad bool so we know if we ever called watchForLoad
132446            with this CachedScript*.
132447         * html/HTML5ScriptRunnerHost.h: Added.
132448         (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
132449         * html/HTML5Tokenizer.cpp:
132450         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
132451          - Store an m_document pointer since we need to access
132452            m_document->frame()->script() for script execution.
132453         (WebCore::HTML5Tokenizer::pumpLexer):
132454          - Always pause or unpause the TreeBuilder after script execution.
132455            Previously nested script execution would leave the TreeBuilder
132456            paused even though the top-level loop wanted to resume parsing.
132457            Now whenever m_scriptRunner->execute returns "continue parsing"
132458            parsing will actually continue.  This fixed cases where we would
132459            ignore the rest of the document after document.write() of a script tag.
132460         (WebCore::HTML5Tokenizer::write):
132461          - Explain how document.write() reentrancy is safe in the new world.
132462         (WebCore::HTML5Tokenizer::watchForLoad):
132463          - HTML5ScriptRunnerHost implementation.  We assert that this call will
132464            never cause script execution since that's our current design.
132465         (WebCore::HTML5Tokenizer::stopWatchingForLoad):
132466          - HTML5ScriptRunnerHost implementation.
132467         (WebCore::HTML5Tokenizer::executeScript):
132468          - HTML5ScriptRunnerHost implementation. Save off the current source
132469            before executing scripts in case document.write is called during
132470            script execution.
132471         * html/HTML5Tokenizer.h:
132472          - Implement HTML5ScriptRunnerHost.
132473
132474 2010-05-28  Nathan Lawrence  <nlawrence@apple.com>
132475
132476         Reviewed by Geoffrey Garen.
132477
132478         https://bugs.webkit.org/show_bug.cgi?id=39460
132479
132480         Because not just <img> and <image> elements can preload images, we
132481         dont want to restrict the element associated with the loader.
132482
132483         No new tests. Should share the same tests as the last patch.
132484
132485         * html/HTMLImageLoader.cpp:
132486         (WebCore::HTMLImageLoader::notifyFinished):
132487
132488 2010-05-27  MORITA Hajime  <morrita@google.com>
132489
132490         Reviewed by Ojan Vafai.
132491
132492         Cursor movement and text selection does not work well if a block is followed by an inline.
132493         https://bugs.webkit.org/show_bug.cgi?id=32123
132494
132495         RenderInline::setSelectionState() missed selection state
132496         propagation for ancestors.  This fix pulled
132497         RenderBlock::setSelectionState() up to RenderBoxModelObject, to
132498         share it with RenderInline.
132499
132500         Test: editing/selection/range-between-block-and-inline.html: Added.
132501         
132502         * rendering/RenderBlock.cpp:
132503         * rendering/RenderBlock.h:
132504         * rendering/RenderBoxModelObject.cpp:
132505         (WebCore::RenderBoxModelObject::setSelectionState):
132506         * rendering/RenderBoxModelObject.h:
132507         Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
132508         
132509 2010-05-27  MORITA Hajime  <morrita@google.com>
132510
132511         Not reviewed. Fixed typo
132512
132513         * rendering/RenderTheme.cpp:
132514         (WebCore::RenderTheme::adjustStyle):
132515
132516 2010-05-27  Darin Adler  <darin@apple.com>
132517
132518         Reviewed by David Levin.
132519
132520         Make more HTML DOM members private, especially constructors
132521         https://bugs.webkit.org/show_bug.cgi?id=39697
132522
132523         Refactoring, so no new tests needed.
132524
132525         Working my way through HTMLTagNames.in from top to bottom, skipping any
132526         that are non-trivial for some reason.
132527
132528         * html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
132529         blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
132530         datalist, dcell, dcol, drow, del, dir, dl, and fieldset.
132531
132532         * mathml/mathtags.in: Removed createWithNew from msub, and msup.
132533
132534         * dom/Document.cpp:
132535         (WebCore::Document::implicitClose): Use create function instead of new.
132536         (WebCore::Document::getCSSCanvasElement): Ditto.
132537         * editing/IndentOutdentCommand.cpp:
132538         (WebCore::createIndentBlockquoteElement): Ditto.
132539         * editing/htmlediting.cpp:
132540         (WebCore::createBreakElement): Ditto.
132541         * html/HTMLTableElement.cpp:
132542         (WebCore::HTMLTableElement::createCaption): Ditto.
132543         * html/HTMLViewSourceDocument.cpp:
132544         (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
132545         * rendering/RenderTextControl.cpp:
132546         (WebCore::RenderTextControl::setInnerTextValue): Ditto.
132547
132548         * html/HTMLParser.cpp:
132549         (WebCore::HTMLParser::handleError): Use create function instead of new.
132550         Required reordering the code slightly, but the new order works fine.
132551
132552         * html/HTMLAudioElement.cpp:
132553         (WebCore::HTMLAudioElement::create):
132554         * html/HTMLAudioElement.h:
132555         * html/HTMLBRElement.cpp:
132556         (WebCore::HTMLBRElement::create):
132557         * html/HTMLBRElement.h:
132558         * html/HTMLBaseElement.cpp:
132559         (WebCore::HTMLBaseElement::create):
132560         * html/HTMLBaseElement.h:
132561         * html/HTMLBaseFontElement.cpp:
132562         (WebCore::HTMLBaseFontElement::create):
132563         * html/HTMLBaseFontElement.h:
132564         * html/HTMLBlockquoteElement.cpp:
132565         (WebCore::HTMLBlockquoteElement::create):
132566         * html/HTMLBlockquoteElement.h:
132567         * html/HTMLBodyElement.cpp:
132568         (WebCore::HTMLBodyElement::create):
132569         * html/HTMLBodyElement.h:
132570         * html/HTMLButtonElement.cpp:
132571         (WebCore::HTMLButtonElement::create):
132572         * html/HTMLButtonElement.h:
132573         * html/HTMLCanvasElement.cpp:
132574         (WebCore::HTMLCanvasElement::create):
132575         * html/HTMLCanvasElement.h:
132576         * html/HTMLDListElement.cpp:
132577         (WebCore::HTMLDListElement::create):
132578         * html/HTMLDListElement.h:
132579         * html/HTMLDataGridCellElement.cpp:
132580         (WebCore::HTMLDataGridCellElement::create):
132581         * html/HTMLDataGridCellElement.h:
132582         * html/HTMLDataGridColElement.cpp:
132583         (WebCore::HTMLDataGridColElement::create):
132584         * html/HTMLDataGridColElement.h:
132585         * html/HTMLDataGridElement.cpp:
132586         (WebCore::HTMLDataGridElement::create):
132587         * html/HTMLDataGridElement.h:
132588         * html/HTMLDataGridRowElement.cpp:
132589         (WebCore::HTMLDataGridRowElement::create):
132590         * html/HTMLDataGridRowElement.h:
132591         * html/HTMLDataListElement.cpp:
132592         (WebCore::HTMLDataListElement::create):
132593         * html/HTMLDataListElement.h:
132594         * html/HTMLElement.cpp:
132595         (WebCore::HTMLElement::setInnerText):
132596         * html/HTMLFieldSetElement.cpp:
132597         (WebCore::HTMLFieldSetElement::create):
132598         * html/HTMLFieldSetElement.h:
132599         * html/HTMLModElement.cpp:
132600         (WebCore::HTMLModElement::HTMLModElement):
132601         (WebCore::HTMLModElement::create):
132602         * html/HTMLModElement.h:
132603         * html/HTMLTableCaptionElement.cpp:
132604         (WebCore::HTMLTableCaptionElement::create):
132605         * html/HTMLTableCaptionElement.h:
132606         Made constructors and virtual function overrides private, added create functions.
132607         Made constructors inline in cases where they were called in only one place.
132608
132609         * html/HTMLTableColElement.cpp:
132610         (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
132611         from _span to m_span.
132612         (WebCore::HTMLTableColElement::create): Added.
132613         (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
132614         * html/HTMLTableColElement.h:
132615         Made constructor and virtual function overrides private, added create function.
132616         Renamed _span to m_span.
132617
132618 2010-05-27  Kwang Yul Seo  <skyul@company100.net>
132619
132620         Reviewed by Darin Adler.
132621
132622         wx port: build fix for Linux
132623         https://bugs.webkit.org/show_bug.cgi?id=39860
132624
132625         Use uint16_t instead of uint16.
132626
132627         * plugins/PluginPackageNone.cpp:
132628         (WebCore::PluginPackage::NPVersion):
132629
132630 2010-05-27  Nathan Lawrence  <nlawrence@apple.com>
132631
132632         Reviewed by Geoffrey Garen.
132633
132634         https://bugs.webkit.org/show_bug.cgi?id=39460
132635
132636         Fixes the issue where images prefetched by JavaScript do not report
132637         their memory usage to the GC.
132638
132639         There is a new test manual-tests/image-prefetch-stress.html that loads
132640         a new 4MB image every half a second.
132641
132642         * html/HTMLImageLoader.cpp:
132643         (WebCore::HTMLImageLoader::notifyFinished):
132644         * manual-tests/image-prefetch-stress.html: Added.
132645
132646 2010-05-27  Eric Uhrhane  <ericu@chromium.org>
132647
132648         Reviewed by Adam Barth.
132649
132650         Add v8 bindings for async DB API in workers
132651         https://bugs.webkit.org/show_bug.cgi?id=39145
132652
132653         No new tests.  This should share layout tests with JSC.
132654
132655         Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
132656         * bindings/scripts/CodeGeneratorV8.pm:
132657
132658         As with CodeGeneratorV8; these are pretty much all tiny tweaks.
132659         We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
132660         * bindings/v8/custom/V8CustomPositionCallback.cpp:
132661         (WebCore::V8CustomPositionCallback::handleEvent):
132662         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
132663         (WebCore::V8CustomPositionErrorCallback::handleEvent):
132664         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
132665         (WebCore::V8SQLStatementErrorCallback::handleEvent):
132666         * bindings/v8/custom/V8CustomVoidCallback.cpp:
132667         (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
132668         (WebCore::V8CustomVoidCallback::handleEvent):
132669         (WebCore::invokeCallback):
132670         * bindings/v8/custom/V8CustomVoidCallback.h:
132671         (WebCore::V8CustomVoidCallback::create):
132672         * bindings/v8/custom/V8DOMWindowCustom.cpp:
132673         (WebCore::V8DOMWindow::openDatabaseCallback):
132674         * bindings/v8/custom/V8DatabaseCustom.cpp:
132675         (WebCore::V8Database::changeVersionCallback):
132676         (WebCore::createTransaction):
132677         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
132678         (WebCore::V8DatabaseSync::changeVersionCallback):
132679         (WebCore::createTransaction):
132680         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
132681         (WebCore::V8NotificationCenter::requestPermissionCallback):
132682         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
132683         (WebCore::V8SQLTransaction::executeSqlCallback):
132684
132685         Add openDatabaseCallback.
132686         * bindings/v8/custom/V8WorkerContextCustom.cpp:
132687         (WebCore::V8WorkerContext::openDatabaseCallback):
132688         Remove an obsolete parameter.
132689         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
132690
132691 2010-05-27  Pavel Feldman  <pfeldman@chromium.org>
132692
132693         Reviewed by Yury Semikhatsky.
132694
132695         Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.
132696
132697         https://bugs.webkit.org/show_bug.cgi?id=39848
132698
132699         * inspector/front-end/ResourceView.js:
132700         (WebInspector.ResourceView):
132701         (WebInspector.ResourceView.prototype._refreshRequestPayload):
132702
132703 2010-05-27  Nico Weber  <thakis@chromium.org>
132704
132705         Reviewed by Eric Seidel
132706
132707         https://bugs.webkit.org/show_bug.cgi?id=39092
132708
132709         Add Yank support to chromium mac. Do this by moving WebKit Mac's
132710         implementation of Editor::yankFromKillRing() into its own class and
132711         then using that.
132712
132713         * editing/Editor.cpp:
132714           Use new KillRing class.
132715         * editing/Editor.h:
132716         (WebCore::Editor::killRing):
132717           Use new KillRing class.
132718         * editing/EditorCommand.cpp:
132719         (WebCore::executeYankAndSelect):
132720           Use new KillRing class.
132721         * platform/KillRing.h:
132722           Add new KillRing class, which acts as null object.
132723         (WebCore::KillRing::~KillRing):
132724         * platform/mac/KillRingMac.h:
132725           Add new KillRingMac class, which writes to the mac's kill ring.
132726         * platform/mac/KillRingMac.mm:
132727           Add new KillRingMac class, which writes to the mac's kill ring.
132728
132729 2010-05-27  Ben Murdoch  <benm@google.com>
132730
132731         Reviewed by Jian Li.
132732
132733         Build break in FileStream.cpp
132734         https://bugs.webkit.org/show_bug.cgi?id=39841
132735
132736         When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
132737         in FileStream.cpp:114. Fix by using the correct variable.
132738
132739         Build fix so no new tests.
132740
132741         * html/FileStream.cpp:
132742         (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.
132743
132744 2010-05-27  Hans Wennborg  <hans@chromium.org>
132745
132746         Reviewed by Jeremy Orlow.
132747
132748         [Chromium] Default popup window size should not depend on zoom level
132749         https://bugs.webkit.org/show_bug.cgi?id=39835
132750
132751         V8DOMWindow::openCallback should not set width and height of new
132752         window unless specified in the function's arguments.
132753
132754         There is already code to reset the new window's origin coordinates,
132755         but the same thing should be done to its dimensions as well. Otherwise,
132756         a new popup with unspecified size will have its size depending on the
132757         parent's zoom level, which is not desirable.
132758
132759         This is the same as what is done in
132760         bindings/js/JSDOMWindowCustom.cpp:826.
132761
132762         * bindings/v8/custom/V8DOMWindowCustom.cpp:
132763         (WebCore::V8DOMWindow::openCallback):
132764
132765 2010-05-27  Anders Bakken  <agbakken@gmail.com>
132766
132767         Reviewed by David Levin.
132768
132769         qt_instance.cpp has coding-style errors
132770         https://bugs.webkit.org/show_bug.cgi?id=39744
132771
132772         Fix webkit coding style issues in qt_instance.cpp
132773
132774         * bridge/qt/qt_instance.cpp:
132775         (JSC::Bindings::QtInstance::getQtInstance):
132776         (JSC::Bindings::QtInstance::removeCachedMethod):
132777         (JSC::Bindings::QtInstance::markAggregate):
132778         (JSC::Bindings::QtInstance::getPropertyNames):
132779         (JSC::Bindings::QtInstance::stringValue):
132780         (JSC::Bindings::QtField::name):
132781         (JSC::Bindings::QtField::valueFromInstance):
132782
132783 2010-05-27  Anders Bakken  <agbakken@gmail.com>
132784
132785         Reviewed by David Levin.
132786
132787         qt_instance.h has coding-style errors
132788         https://bugs.webkit.org/show_bug.cgi?id=39743
132789
132790         Fix webkit coding style issues in qt_instance.h
132791
132792         * bridge/qt/qt_instance.h:
132793
132794 2010-05-27  Anders Bakken  <agbakken@gmail.com>
132795
132796         Reviewed by David Levin.
132797
132798         qt_class.h has coding-style errors
132799         https://bugs.webkit.org/show_bug.cgi?id=39742
132800
132801         Fix webkit coding style issues in qt_class.h
132802
132803         * bridge/qt/qt_class.h:
132804
132805 2010-05-27  Eric Carlson  <eric.carlson@apple.com>
132806
132807         Reviewed by Darin Adler.
132808
132809         <rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
132810         compressed movie.
132811
132812         Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
132813         use a CAImageQueue so there will be less conversion required before display. This change also  
132814         works around the issue that causes the RLE compressed movie to crash.
132815
132816         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
132817         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
132818         constructor instead of CFDictionary.
132819         * platform/graphics/win/QTMovieVisualContext.cpp:
132820         (SetNumberValue):
132821         (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual 
132822         context type.
132823         (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual 
132824         context type.
132825         (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
132826         getPixelBufferCreationOptions insteaad of taking it as a parameter.
132827         (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for 
132828         visual context configuration type.
132829         * platform/graphics/win/QTMovieVisualContext.h:
132830
132831 2010-05-27  Anders Carlsson  <andersca@apple.com>
132832
132833         Reviewed by Adam Roben.
132834
132835         [Qt] REGRESSION(r60258): It broke 10 tests.
132836         https://bugs.webkit.org/show_bug.cgi?id=39819
132837
132838         * plugins/qt/PluginDataQt.cpp:
132839         (WebCore::PluginData::initPlugins):
132840         Append the MimeClassInfo object after it's been initialized.
132841
132842 2010-05-27  Kevin Ollivier  <kevino@theolliviers.com>
132843
132844         [wx] Build fixes for Windows after recent changes.
132845
132846         * platform/graphics/wx/FontWx.cpp:
132847         * wscript:
132848
132849 2010-05-27  Chris Fleizach  <cfleizach@apple.com>
132850
132851         No review, build fixage.
132852
132853         Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
132854         https://bugs.webkit.org/show_bug.cgi?id=39324
132855
132856         Rolling out change from r60307 until a better fix is ready.
132857
132858         * accessibility/mac/AccessibilityObjectWrapper.mm:
132859         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
132860
132861 2010-05-27  Yury Semikhatsky  <yurys@chromium.org>
132862
132863         Reviewed by Pavel Feldman.
132864
132865         [v8] Web Inspector: check that ScriptDebugListener was not removed
132866         while messages were dispatched in the nested loop.
132867         https://bugs.webkit.org/show_bug.cgi?id=39838
132868
132869         * bindings/v8/ScriptDebugServer.cpp:
132870         (WebCore::ScriptDebugServer::handleV8DebugEvent):
132871
132872 2010-05-27  Yury Semikhatsky  <yurys@chromium.org>
132873
132874         Reviewed by Pavel Feldman.
132875
132876         [v8] Web Inspector: undefined script URL value should be converted to an emtpy
132877         WebCore::String instead of "undefined" string. Otherwise it's shown
132878         in the Scripts panel with "undefined:<line no>" URL.
132879         https://bugs.webkit.org/show_bug.cgi?id=39845
132880
132881         * bindings/v8/ScriptDebugServer.cpp:
132882         (WebCore::ScriptDebugServer::dispatchDidParseSource):
132883
132884 2010-05-27  Chris Fleizach  <cfleizach@apple.com>
132885
132886         Reviewed by Darin Adler.
132887
132888         AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
132889         https://bugs.webkit.org/show_bug.cgi?id=39324
132890
132891         Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.
132892
132893         * accessibility/mac/AccessibilityObjectWrapper.mm:
132894         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
132895
132896 2010-05-27  Xan Lopez  <xlopez@igalia.com>
132897
132898         More GTK+ distcheck fixes.
132899
132900         * GNUmakefile.am:
132901
132902 2010-05-27  Yury Semikhatsky  <yurys@chromium.org>
132903
132904         Reviewed by Pavel Feldman.
132905
132906         [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
132907         https://bugs.webkit.org/show_bug.cgi?id=39838
132908
132909         * bindings/v8/ScriptDebugServer.cpp:
132910         (WebCore::ScriptDebugServer::handleV8DebugEvent):
132911
132912 2010-05-27  Anders Bakken  <agbakken@gmail.com>
132913
132914         Reviewed by David Levin.
132915
132916         qt_pixmapruntime.cpp has coding-style errors
132917         https://bugs.webkit.org/show_bug.cgi?id=39745
132918
132919         Fix webkit coding style issues in qt_pixmapruntime.cpp
132920
132921         * bridge/qt/qt_pixmapruntime.cpp:
132922
132923 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
132924
132925         Reviewed by Steve Block.
132926
132927         Clean up IndexedDB layout tests
132928         https://bugs.webkit.org/show_bug.cgi?id=39748
132929
132930         Remove an assert that always fires.
132931
132932         Tests: storage/indexeddb/idb-database-request.html
132933                storage/indexeddb/indexed-database-request.html
132934
132935         * storage/IDBDatabaseImpl.cpp:
132936         (WebCore::IDBDatabaseImpl::objectStores):
132937
132938 2010-05-27  Pavel Feldman  <pfeldman@chromium.org>
132939
132940         Reviewed by Yury Semikhatsky.
132941
132942         Web Inspector: Get CSS rule offsets lazily.
132943
132944         https://bugs.webkit.org/show_bug.cgi?id=39832
132945
132946         * inspector/InspectorCSSStore.cpp:
132947         (WebCore::InspectorCSSStore::getStartEndOffsets):
132948         * inspector/InspectorDOMAgent.cpp:
132949         (WebCore::InspectorDOMAgent::buildObjectForRule):
132950
132951 2010-05-27  Anders Bakken  <agbakken@gmail.com>
132952
132953         Reviewed by David Levin.
132954
132955         qt_class.cpp has coding-style errors
132956         https://bugs.webkit.org/show_bug.cgi?id=39741
132957
132958         Fix webkit coding style issues in qt_class.cpp
132959
132960         * bridge/qt/qt_class.cpp:
132961         (JSC::Bindings::QtClass::fieldNamed):
132962
132963 2010-05-27  Eric Seidel  <eric@webkit.org>
132964
132965         Reviewed by Darin Adler.
132966
132967         Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
132968         https://bugs.webkit.org/show_bug.cgi?id=39714
132969
132970         This came from a discussion on #webkit with Hyatt about this code
132971         being old and no longer used to either of our knowledge.
132972
132973         No functional changes, thus no tests.
132974
132975         I also removed a bogus FIXME I had added in an earlier patch
132976         before I understood what the HTMLTokenizer was trying to do.
132977
132978         * html/HTMLTokenizer.cpp:
132979         (WebCore::HTMLTokenizer::scriptHandler):
132980         (WebCore::HTMLTokenizer::scriptExecution):
132981         (WebCore::HTMLTokenizer::continueProcessing):
132982         (WebCore::HTMLTokenizer::willWriteHTML):
132983         (WebCore::HTMLTokenizer::didWriteHTML):
132984         (WebCore::HTMLTokenizer::timerFired):
132985         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
132986
132987 2010-05-27  Anton Muhin  <antonm@chromium.org>
132988
132989         Reviewed by Adam Barth.
132990
132991         Add callbacks to ScriptController to allow notifications on named items additions and removals
132992         https://bugs.webkit.org/show_bug.cgi?id=39679
132993
132994         * bindings/js/ScriptController.h: Callbacks with empty implementation added.
132995         (WebCore::ScriptController::namedItemAdded):
132996         (WebCore::ScriptController::namedItemRemoved):
132997         * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
132998         (WebCore::ScriptController::namedItemAdded):
132999         (WebCore::ScriptController::namedItemRemoved):
133000         * bindings/v8/ScriptController.h: Callbacks added.
133001         * html/HTMLDocument.cpp: Hooking in callbacks.
133002         (WebCore::HTMLDocument::addItemToMap):
133003         (WebCore::HTMLDocument::removeItemFromMap):
133004         * html/HTMLDocument.h:
133005
133006 2010-05-27  Zhenyao Mo  <zmo@google.com>
133007
133008         Reviewed by Dimitri Glazkov.
133009
133010         Implement lazy clearing of renderbuffers
133011         https://bugs.webkit.org/show_bug.cgi?id=36248
133012
133013         Test: fast/canvas/webgl/renderbuffer-initialization.html
133014
133015         * html/canvas/WebGLFramebuffer.cpp:
133016         (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
133017         (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
133018         (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
133019         (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
133020         (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
133021         (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
133022         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
133023         * html/canvas/WebGLFramebuffer.h:
133024         (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
133025         (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
133026         (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
133027         * html/canvas/WebGLRenderbuffer.cpp:
133028         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
133029         * html/canvas/WebGLRenderbuffer.h:
133030         (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
133031         (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
133032         * html/canvas/WebGLRenderingContext.cpp:
133033         (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
133034         (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
133035         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
133036         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
133037         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
133038         (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
133039         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
133040         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
133041         * platform/graphics/mac/GraphicsContext3DMac.cpp:
133042         (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.
133043
133044 2010-05-27  Kristian Monsen  <kristianm@google.com>
133045
133046         Reviewed by Darin Adler.
133047
133048         Compile fix for Android, added include for Refcounted.h, this did not get
133049         included through Threading.h in Android.
133050         https://bugs.webkit.org/show_bug.cgi?id=39678
133051
133052         Build fix only, no new tests.
133053
133054         * storage/SQLTransactionSyncCallback.h:
133055
133056 2010-05-27  Joone Hur  <joone@kldp.org>
133057
133058         Reviewed by Xan Lopez.
133059
133060         Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+
133061
133062         https://bugs.webkit.org/show_bug.cgi?id=39567
133063
133064         * platform/gtk/ScrollbarGtk.cpp:
133065
133066 2010-05-27  Hans Wennborg  <hans@chromium.org>
133067
133068         Reviewed by Alexey Proskuryakov.
133069
133070         Increase limit on number of (i)frames from 200 to 1000.
133071         https://bugs.webkit.org/show_bug.cgi?id=39427
133072
133073         The limit on number of iframes was introduced in r3707 back in 2003.
133074         An example of a page that is broken because of this is:
133075         http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
133076         Neither Firefox nor IE has such a limit.
133077
133078         It seems that WebKit can handle a significantly higher number of frames, and
133079         the original reasons for imposing the limit are believed to be gone.
133080
133081         Tests: compositing/iframes/lots-of-iframes.html
133082                compositing/iframes/lots-of-objects.html
133083
133084         * html/HTMLFrameElementBase.cpp:
133085         (WebCore::HTMLFrameElementBase::isURLAllowed):
133086         * page/FrameTree.cpp:
133087         (WebCore::FrameTree::uniqueChildName):
133088         * page/Page.h:
133089         * rendering/RenderEmbeddedObject.cpp:
133090         (WebCore::isURLAllowed):
133091
133092 2010-05-27  Kwang Yul Seo  <skyul@company100.net>
133093
133094         Reviewed by Xan Lopez.
133095
133096         [GTK] writeToFile fails when length is large
133097         https://bugs.webkit.org/show_bug.cgi?id=39666
133098
133099         writeToFile forgot to increment data pointer.
133100
133101         * platform/gtk/FileSystemGtk.cpp:
133102         (WebCore::writeToFile):
133103
133104 2010-05-26  David Hyatt  <hyatt@apple.com>
133105
133106         Reviewed by Sam Weinig.
133107
133108         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
133109         
133110         Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
133111         |to| argument to be a RenderBlock.
133112         
133113         Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
133114         by hand.
133115
133116         Make the append forms of the functions just use the insert forms with a beforeChild of 0.
133117         
133118         Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
133119         case where it does an append.
133120         
133121         Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
133122         messed up when using append/insertChildNode.
133123
133124         * rendering/RenderBlock.cpp:
133125         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
133126         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
133127         (WebCore::RenderBlock::createAndAppendRootInlineBox):
133128         (WebCore::RenderBlock::moveChildTo):
133129         (WebCore::RenderBlock::moveChildrenTo):
133130         (WebCore::RenderBlock::makeChildrenNonInline):
133131         (WebCore::RenderBlock::removeChild):
133132         * rendering/RenderBlock.h:
133133         (WebCore::RenderBlock::moveChildTo):
133134         (WebCore::RenderBlock::moveAllChildrenTo):
133135         (WebCore::RenderBlock::moveChildrenTo):
133136         * rendering/RenderLayer.cpp:
133137         (WebCore::RenderLayer::addChild):
133138         * rendering/RenderObjectChildList.cpp:
133139         (WebCore::RenderObjectChildList::insertChildNode):
133140         * rendering/RenderRubyBase.cpp:
133141         (WebCore::RenderRubyBase::moveInlineChildren):
133142
133143 2010-05-27  Eric Seidel  <eric@webkit.org>
133144
133145         Reviewed by Adam Barth.
133146
133147         Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
133148         https://bugs.webkit.org/show_bug.cgi?id=39818
133149
133150         HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
133151         for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
133152         so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
133153         test suite regressions using the HTML5Lexer vs the old lexer.
133154
133155         * html/HTML5Lexer.cpp:
133156         (WebCore::HTML5Lexer::reset):
133157         (WebCore::HTML5Lexer::nextToken):
133158         * html/HTML5Lexer.h:
133159         (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
133160         * html/HTML5TreeBuilder.cpp:
133161         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
133162
133163 2010-05-26  Eric Seidel  <eric@webkit.org>
133164
133165         Reviewed by Adam Barth.
133166
133167         Teach the HTML5 parser how to handle external scripts
133168         https://bugs.webkit.org/show_bug.cgi?id=39716
133169
133170         Make it possible for the HTML5Tokenizer to run external scripts.
133171         I created a new class HTML5ScriptRunner to hold all of the
133172         script-logic which is scattered throughout the old HTMLTokenizer.
133173
133174         The design is for the HTML5Tokenizer (the "controller") to hold
133175         the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
133176         to the controller, which passes tokens to the TreeBuilder.  When the
133177         treebuilder encounters a </script> tag it pauses itself and returns
133178         back to the controller which calls the ScriptRunner.  The TreeBuilder
133179         is un-paused when the HTML5Tokenizer calls takeScriptToProcess().
133180
133181         The ScriptRunner attempts to process the passed script, and additionally
133182         any blocked scripts it can.  It returns to the controller indicating if
133183         parsing should continue.  If not, callbacks when external scripts load
133184         or when stylesheets are finished parsing will cause the controller to
133185         kick off script execution and parsing again at a later point.
133186
133187         * WebCore.xcodeproj/project.pbxproj:
133188          - Add HTML5ScriptRunner.*
133189         * bindings/js/CachedScriptSourceProvider.h:
133190          - Add missing include discovered while building.
133191         * dom/ScriptElement.cpp:
133192         (WebCore::ScriptElement::finishParsingChildren):
133193          - Remove previous hack for inline <script> execution.
133194         * dom/ScriptElement.h:
133195          - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
133196         * html/HTML5ScriptRunner.cpp: Added.
133197         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
133198          - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
133199            CachedResourceClient.  The HTML5ScriptRunner will register the
133200            HTML5Tokenizer for notifyFinished callbacks when the scripts load.
133201            The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
133202            execute any loaded scripts at that point.
133203         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
133204         (WebCore::HTML5ScriptRunner::frame): Helper method.
133205         (WebCore::createScriptLoadEvent): Helper method.
133206         (WebCore::createScriptErrorEvent): Helper method.
133207         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
133208          - Helper method for dealing with both inline and external script types.
133209         (WebCore::HTML5ScriptRunner::isPendingScriptReady):
133210          - Helper for dealing with both inline and external scripts.
133211         (WebCore::HTML5ScriptRunner::executePendingScript):
133212          - Execute one script.  Both external and inline scripts
133213            can become m_parsingBlockingScript if they can't be executed
133214            immediately after parsing.
133215         (WebCore::HTML5ScriptRunner::execute):
133216          - Takes a script element from the tree builder and tries
133217            to process it.
133218         (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
133219          - Runs the current parsing blocking script if ready.
133220          - Running a script could add another parsing blocking script
133221            so we loop until there is no ready-to-run parsing blocking script.
133222         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
133223          - Called by HTML5Tokenizer when a script loads.
133224         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
133225          - Called by HTML5Tokenizer when stylesheets complete.
133226         (WebCore::HTML5ScriptRunner::requestScript):
133227          - Transcription of the HTML5 spec.
133228         (WebCore::HTML5ScriptRunner::runScript):
133229          - Transcription of the HTML5 spec.
133230         * html/HTML5ScriptRunner.h: Added.
133231          - New class to handle script loading and execution for the HTML5 parser.
133232         * html/HTML5Tokenizer.cpp:
133233         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
133234          - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
133235         (WebCore::HTML5Tokenizer::pumpLexer):
133236          - When the parser is paused, try to run scripts.
133237         (WebCore::HTML5Tokenizer::write):
133238          - Only pump the lexer when the parser is not paused.
133239         (WebCore::HTML5Tokenizer::end):
133240          - finish() tells us that we've reached EOF, not end()
133241          - Only pump the lexer when the parser is not paused.
133242         (WebCore::HTML5Tokenizer::finish):
133243          - Mark EOF, and end() if we're not waiting on scripts.
133244         (WebCore::HTML5Tokenizer::isWaitingForScripts):
133245          - isPaused() seems to mean isPausedForExternalScripts().
133246         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
133247         (WebCore::HTML5Tokenizer::notifyFinished):
133248         (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
133249         * html/HTML5Tokenizer.h:
133250         * html/HTML5TreeBuilder.cpp:
133251         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
133252          - Add an m_isPaused flag.
133253         (WebCore::HTML5TreeBuilder::handleScriptStartTag):
133254         (WebCore::HTML5TreeBuilder::handleScriptEndTag):
133255         (WebCore::HTML5TreeBuilder::takeScriptToProcess):
133256          - Acknowledge that the caller has received the script element.
133257            It is the caller's responsibility to execute the script if necessary
133258            and re-pause the tree builder if necessary.
133259         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
133260          - Save off the current script tag so that it can be passed to
133261            the HTML5ScriptRunner when we're paused.
133262         * html/HTML5TreeBuilder.h:
133263         (WebCore::HTML5TreeBuilder::setPaused):
133264         (WebCore::HTML5TreeBuilder::isPaused):
133265
133266 2010-05-26  Adam Barth  <abarth@webkit.org>
133267
133268         Reviewed by Darin Adler.
133269
133270         Implement SegmentedString::lookAheadSlowCase
133271         https://bugs.webkit.org/show_bug.cgi?id=39802
133272
133273         The slow case is need by the resumer test suite.  Sadly, the resumer
133274         test suite is really slow and produces infinite errors (many of which
133275         are false positives).  I'll land more of the resumer test suite in a
133276         future patch.
133277
133278         * platform/text/SegmentedString.cpp:
133279         (WebCore::SegmentedString::advance):
133280         * platform/text/SegmentedString.h:
133281         (WebCore::SegmentedString::lookAhead):
133282         (WebCore::SegmentedString::lookAheadIgnoringCase):
133283         (WebCore::SegmentedString::equalsLiterally):
133284         (WebCore::SegmentedString::equalsIgnoringCase):
133285         (WebCore::SegmentedString::lookAheadInline):
133286         (WebCore::SegmentedString::lookAheadSlowCase):
133287
133288 2010-05-26  Jer Noble  <jer.noble@apple.com>
133289
133290         Patch edited by Adele Peterson and Mark Rowe.
133291         Reviewed by Eric Carlson
133292
133293         Video elements show no video on Windows machines that do not support accelerated compositing
133294         https://bugs.webkit.org/show_bug.cgi?id=39446
133295         rdar://problem/7999794
133296         
133297         Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
133298         tearDownVideoRendering (as opposed to in the destructor.)
133299
133300         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
133301         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
133302         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
133303         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
133304         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
133305         return MediaRenderingNone.
133306         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
133307         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
133308         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode, 
133309         make sure the visual context has been set up when saying the setup has been done.
133310         * platform/graphics/win/QTMovieVisualContext.cpp:
133311         (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
133312         Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
133313         (QTMovieVisualContext::create): Added.
133314         * platform/graphics/win/QTMovieVisualContext.h:
133315
133316 2010-05-26  Gustavo Noronha Silva  <gns@gnome.org>
133317
133318         Build fixes for make distcheck.
133319
133320         * GNUmakefile.am:
133321
133322 2010-05-26  Zelidrag Hornung  <zelidrag@chromium.org>
133323
133324         Reviewed by Ojan Vafai.
133325
133326         Fixed frame page up/down scrolling calculation. Made sure that the
133327         cursor moves with page up/down event. Please note that now for mac
133328         editing behavior we will scroll the content to center the cursor on
133329         page up/down while other platforms will align the cursor with the top of
133330         displayed frame.
133331         https://bugs.webkit.org/show_bug.cgi?id=38213
133332
133333         Tests: editing/input/option-page-up-down.html (fixed)
133334                editing/input/scroll-viewport-page-up-down.html
133335
133336         * WebCore.base.exp:
133337         * editing/EditorCommand.cpp:
133338         (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
133339         (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
133340         (WebCore::executeMovePageDownAndModifySelection): Ditto.
133341         (WebCore::executeMovePageUp): Ditto.
133342         (WebCore::executeMovePageUpAndModifySelection): Ditto.
133343         * editing/SelectionController.cpp:
133344         * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
133345         (WebCore::SelectionController::setSelection): Ditto.
133346         (WebCore::SelectionController::modify): Ditto.
133347         * editing/SelectionController.h: Ditto.
133348         (WebCore::SelectionController::): Ditto.
133349         (WebCore::SelectionController::setSelection): Ditto.
133350
133351 2010-05-26  Jaime Yap  <jaimeyap@google.com>
133352
133353         Reviewed by Pavel Feldman.
133354
133355         ScriptCallStack::callLocation() sometimes passed an empty handle to
133356         toWebCoreString() causing a null pointer deref.
133357         https://bugs.webkit.org/show_bug.cgi?id=39681
133358
133359         * bindings/v8/ScriptCallStack.cpp:
133360         (WebCore::ScriptCallStack::callLocation):
133361
133362 2010-05-26  Brian Weinstein  <bweinstein@apple.com>
133363
133364         Reviewed by Mark Rowe.
133365
133366         Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
133367         https://bugs.webkit.org/show_bug.cgi?id=39804
133368         
133369         Initialize the title attribute of the Pause on Exceptions button when we initialize other information
133370         about it. 
133371
133372         * inspector/front-end/ScriptsPanel.js:
133373         (WebInspector.ScriptsPanel):
133374
133375 2010-05-26  Adam Barth  <abarth@webkit.org>
133376
133377         Unreviewed, rolling out r60262.
133378         http://trac.webkit.org/changeset/60262
133379         https://bugs.webkit.org/show_bug.cgi?id=39783
133380
133381         Broke every build and is blocking me from working.  :(
133382
133383         * rendering/RenderBlock.cpp:
133384         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
133385         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
133386         (WebCore::RenderBlock::moveChildTo):
133387         (WebCore::RenderBlock::moveAllChildrenTo):
133388         (WebCore::RenderBlock::makeChildrenNonInline):
133389         (WebCore::RenderBlock::removeChild):
133390         * rendering/RenderBlock.h:
133391         * rendering/RenderLayer.cpp:
133392         (WebCore::RenderLayer::addChild):
133393         * rendering/RenderObjectChildList.cpp:
133394         (WebCore::RenderObjectChildList::insertChildNode):
133395         * rendering/RenderRubyBase.cpp:
133396         (WebCore::RenderRubyBase::moveInlineChildren):
133397         (WebCore::RenderRubyBase::moveBlockChildren):
133398         (WebCore::RenderRubyBase::mergeBlockChildren):
133399
133400 2010-05-26  Anders Carlsson  <andersca@apple.com>
133401
133402         Unreviewed, rolling out r60256.
133403         http://trac.webkit.org/changeset/60256
133404         https://bugs.webkit.org/show_bug.cgi?id=39382
133405
133406         Causes fast/dom/prototype-inheritance-2.html to start
133407         crashing.
133408
133409         * history/PageCache.cpp:
133410         (WebCore::PageCache::PageCache):
133411         (WebCore::PageCache::add):
133412         * history/PageCache.h:
133413         (WebCore::PageCache::get):
133414         * loader/DocumentLoader.cpp:
133415         (WebCore::DocumentLoader::commitIfReady):
133416         * loader/FrameLoader.cpp:
133417         (WebCore::FrameLoader::canCachePageContainingThisFrame):
133418         (WebCore::FrameLoader::canCachePage):
133419         (WebCore::pageCacheLogPrefix):
133420         (WebCore::pageCacheLog):
133421         (WebCore::FrameLoader::logCanCachePageDecision):
133422         (WebCore::FrameLoader::logCanCacheFrameDecision):
133423         (WebCore::FrameLoader::commitProvisionalLoad):
133424         (WebCore::FrameLoader::open):
133425         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
133426         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
133427         (WebCore::FrameLoader::cachePageForHistoryItem):
133428         (WebCore::FrameLoader::navigateToDifferentDocument):
133429         * loader/FrameLoader.h:
133430         * svg/graphics/SVGImage.cpp:
133431         (WebCore::SVGImage::dataChanged):
133432
133433 2010-05-26  David Hyatt  <hyatt@apple.com>
133434
133435         Reviewed by Sam Weinig.
133436
133437         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
133438         
133439         Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
133440         |to| argument to be a RenderBlock.
133441         
133442         Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
133443         by hand.
133444
133445         Make the append forms of the functions just use the insert forms with a beforeChild of 0.
133446         
133447         Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
133448         case where it does an append.
133449         
133450         Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
133451         messed up when using append/insertChildNode.
133452
133453         * rendering/RenderBlock.cpp:
133454         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
133455         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
133456         (WebCore::RenderBlock::createAndAppendRootInlineBox):
133457         (WebCore::RenderBlock::moveChildTo):
133458         (WebCore::RenderBlock::moveChildrenTo):
133459         (WebCore::RenderBlock::makeChildrenNonInline):
133460         (WebCore::RenderBlock::removeChild):
133461         * rendering/RenderBlock.h:
133462         (WebCore::RenderBlock::moveChildTo):
133463         (WebCore::RenderBlock::moveAllChildrenTo):
133464         (WebCore::RenderBlock::moveChildrenTo):
133465         * rendering/RenderLayer.cpp:
133466         (WebCore::RenderLayer::addChild):
133467         * rendering/RenderObjectChildList.cpp:
133468         (WebCore::RenderObjectChildList::insertChildNode):
133469         * rendering/RenderRubyBase.cpp:
133470         (WebCore::RenderRubyBase::moveInlineChildren):
133471
133472 2010-05-26  Anders Carlsson  <andersca@apple.com>
133473
133474         Fix GTK+ test failures.
133475
133476         * plugins/gtk/PluginDataGtk.cpp:
133477         (WebCore::PluginData::initPlugins):
133478         * plugins/win/PluginDataWin.cpp:
133479         (WebCore::PluginData::initPlugins):
133480
133481 2010-05-25  Anders Carlsson  <andersca@apple.com>
133482
133483         Reviewed by Darin Adler.
133484
133485         Clean up MimeClassInfo and PluginInfo
133486         https://bugs.webkit.org/show_bug.cgi?id=39700
133487
133488         This gets rid of all the heap allocation from MimeClassInfo and PluginInfo. 
133489         
133490         It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
133491         and PluginClassInfo objects.
133492
133493         * page/Page.cpp:
133494         (WebCore::Page::refreshPlugins):
133495         * plugins/MimeType.cpp:
133496         (WebCore::MimeType::type):
133497         (WebCore::MimeType::suffixes):
133498         (WebCore::MimeType::description):
133499         (WebCore::MimeType::enabledPlugin):
133500         * plugins/MimeType.h:
133501         (WebCore::MimeType::mimeClassInfo):
133502         * plugins/MimeTypeArray.cpp:
133503         (WebCore::MimeTypeArray::item):
133504         (WebCore::MimeTypeArray::canGetItemsForName):
133505         (WebCore::MimeTypeArray::namedItem):
133506         * plugins/Plugin.cpp:
133507         (WebCore::Plugin::name):
133508         (WebCore::Plugin::filename):
133509         (WebCore::Plugin::description):
133510         (WebCore::Plugin::length):
133511         (WebCore::Plugin::item):
133512         (WebCore::Plugin::canGetItemsForName):
133513         (WebCore::Plugin::namedItem):
133514         * plugins/Plugin.h:
133515         (WebCore::Plugin::pluginInfo):
133516         * plugins/PluginArray.cpp:
133517         (WebCore::PluginArray::length):
133518         (WebCore::PluginArray::item):
133519         (WebCore::PluginArray::canGetItemsForName):
133520         (WebCore::PluginArray::namedItem):
133521         (WebCore::PluginArray::pluginData):
133522         * plugins/PluginArray.h:
133523         * plugins/PluginData.cpp:
133524         (WebCore::PluginData::PluginData):
133525         (WebCore::PluginData::~PluginData):
133526         (WebCore::PluginData::supportsMimeType):
133527         (WebCore::PluginData::pluginNameForMimeType):
133528         * plugins/PluginData.h:
133529         (WebCore::operator==):
133530         (WebCore::PluginData::create):
133531         (WebCore::PluginData::disconnectPage):
133532         (WebCore::PluginData::page):
133533         (WebCore::PluginData::plugins):
133534         (WebCore::PluginData::mimes):
133535         * plugins/chromium/PluginDataChromium.cpp:
133536         (WebCore::PluginCache::reset):
133537         (WebCore::PluginCache::plugins):
133538         (WebCore::PluginData::initPlugins):
133539         (WebCore::getPluginMimeTypeFromExtension):
133540         * plugins/gtk/PluginDataGtk.cpp:
133541         (WebCore::PluginData::initPlugins):
133542         * plugins/mac/PluginDataMac.mm:
133543         (WebCore::PluginData::initPlugins):
133544         * plugins/qt/PluginDataQt.cpp:
133545         (WebCore::PluginData::initPlugins):
133546         * plugins/win/PluginDataWin.cpp:
133547         (WebCore::PluginData::initPlugins):
133548         * plugins/wx/PluginDataWx.cpp:
133549         (WebCore::PluginData::initPlugins):
133550
133551 2010-05-26  Nate Chapin  <japhet@chromium.org>
133552
133553         Reviewed by Adam Barth.
133554
133555         Factor PageCache functionality out of FrameLoader and into
133556         PageCache.
133557
133558         https://bugs.webkit.org/show_bug.cgi?id=39382
133559
133560         Refactor only, so no new tests.
133561
133562         * history/PageCache.cpp:
133563         (WebCore::pageCacheLogPrefix):
133564         (WebCore::pageCacheLog):
133565         (WebCore::logCanCacheFrameDecision):
133566         (WebCore::logCanCachePageDecision):
133567         (WebCore::PageCache::canCachePageContainingThisFrame):
133568         (WebCore::PageCache::canCache):
133569         (WebCore::PageCache::add):
133570         (WebCore::PageCache::get):
133571         * history/PageCache.h:
133572         * loader/DocumentLoader.cpp:
133573         * loader/FrameLoader.cpp:
133574         (WebCore::FrameLoader::commitProvisionalLoad):
133575         (WebCore::FrameLoader::prepareForCachedPageRestore):
133576         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
133577         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
133578         (WebCore::FrameLoader::navigateToDifferentDocument):
133579         * loader/FrameLoader.h:
133580         (WebCore::FrameLoader::quickRedirectComing):
133581         * svg/graphics/SVGImage.cpp:
133582
133583 2010-05-26  Peter Kasting  <pkasting@google.com>
133584
133585         Reviewed by Adam Barth.
133586
133587         https://bugs.webkit.org/show_bug.cgi?id=39786
133588         Properly reset |bytes_to_consume| when reaching the "gif_done" state in
133589         the open-source GIF decoder.
133590         
133591         No tests, since there's no test harness support for checking the
133592         internal ImageDecoder state values.
133593
133594         * platform/image-decoders/gif/GIFImageReader.cpp:
133595         (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file.  Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).
133596
133597 2010-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
133598
133599         Unreviewed, rolling out r60251.
133600         http://trac.webkit.org/changeset/60251
133601         https://bugs.webkit.org/show_bug.cgi?id=39788
133602
133603         broke tests (Requested by dhyatt on #webkit).
133604
133605         * rendering/RenderBlock.cpp:
133606         (WebCore::RenderBlock::moveChildTo):
133607         (WebCore::RenderBlock::moveAllChildrenTo):
133608         (WebCore::RenderBlock::makeChildrenNonInline):
133609         (WebCore::RenderBlock::removeChild):
133610         * rendering/RenderBlock.h:
133611         * rendering/RenderRubyBase.cpp:
133612         (WebCore::RenderRubyBase::moveInlineChildren):
133613         (WebCore::RenderRubyBase::moveBlockChildren):
133614         (WebCore::RenderRubyBase::mergeBlockChildren):
133615         * rendering/RenderRubyRun.cpp:
133616         (WebCore::RenderRubyRun::removeChild):
133617
133618 2010-05-26  Adam Barth  <abarth@webkit.org>
133619
133620         Reviewed by Eric Seidel.
133621
133622         Fix webkit01.dat resumer tests in HTML5 parser
133623         https://bugs.webkit.org/show_bug.cgi?id=39796
133624
133625         To match the old tokenizer, we should only flush character tokens when
133626         we reach EOF.  Added a notion of a "closed" segmented string that
133627         cannot be appended to, which models EOF.
133628
133629         * html/HTML5Lexer.cpp:
133630         (WebCore::HTML5Lexer::nextToken):
133631         (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
133632         * html/HTML5Lexer.h:
133633         * html/HTML5Tokenizer.cpp:
133634         (WebCore::HTML5Tokenizer::pumpLexer):
133635         (WebCore::HTML5Tokenizer::write):
133636         (WebCore::HTML5Tokenizer::end):
133637         * html/HTML5Tokenizer.h:
133638         * platform/text/SegmentedString.cpp:
133639         (WebCore::SegmentedString::SegmentedString):
133640         (WebCore::SegmentedString::clear):
133641         (WebCore::SegmentedString::append):
133642         * platform/text/SegmentedString.h:
133643         (WebCore::SegmentedString::SegmentedString):
133644         (WebCore::SegmentedString::close):
133645         (WebCore::SegmentedString::isClosed):
133646
133647 2010-05-26  Adam Barth  <abarth@webkit.org>
133648
133649         Reviewed by Eric Seidel.
133650
133651         Make HTML5 lexer not ASSERT when resuming partial parses
133652         https://bugs.webkit.org/show_bug.cgi?id=39755
133653
133654         I'm working through a variation of the webkit-runner.html test suite
133655         that stops the parser at every character to make sure we can resume
133656         parsing correctly.  This patch fixes some errors caught by ASSERTs,
133657         which prevent the basic tests from running to completion.  There's a
133658         bunch more work to do, however.
133659
133660         Test: html5lib/webkit-resumer.html
133661
133662         * html/HTML5Lexer.cpp:
133663         (WebCore::HTMLNames::isEndTagBufferingState):
133664         (WebCore::HTML5Lexer::nextToken):
133665         (WebCore::HTML5Lexer::addToPossibleEndTag):
133666         * html/HTML5Lexer.h:
133667         * html/HTML5Tokenizer.cpp:
133668         (WebCore::HTML5Tokenizer::write):
133669         * html/HTML5Tokenizer.h:
133670
133671 2010-05-26  Alexey Proskuryakov  <ap@apple.com>
133672
133673         Mac 32 bit build fix.
133674
133675         * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
133676         Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.
133677
133678 2010-05-26  David Hyatt  <hyatt@apple.com>
133679
133680         Reviewed by Ojan.
133681
133682         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.
133683
133684         Cut out the need to pass the to block's child list by tightening up the type of the to object
133685         from RenderObject to RenderBlock.
133686
133687         Implement the "append" versions of the move functions using their "insert" counterparts, since
133688         insertChildNode just calls appendChildNode when beforeChild is 0 anyway.
133689
133690         Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
133691         of the move functions have the optional parameter for consistency.
133692
133693         * rendering/RenderBlock.cpp:
133694         (WebCore::RenderBlock::createAndAppendRootInlineBox):
133695         (WebCore::RenderBlock::moveChildTo):
133696         (WebCore::RenderBlock::moveAllChildrenTo):
133697         (WebCore::RenderBlock::makeChildrenNonInline):
133698         (WebCore::RenderBlock::removeChild):
133699         * rendering/RenderBlock.h:
133700         (WebCore::RenderBlock::moveChildTo):
133701         (WebCore::RenderBlock::moveAllChildrenTo):
133702         * rendering/RenderRubyBase.cpp:
133703         (WebCore::RenderRubyBase::moveInlineChildren):
133704         (WebCore::RenderRubyBase::moveBlockChildren):
133705         (WebCore::RenderRubyBase::mergeBlockChildren):
133706         * rendering/RenderRubyRun.cpp:
133707         (WebCore::RenderRubyRun::removeChild):
133708
133709 2010-05-26  Dan Bernstein  <mitz@apple.com>
133710
133711         Typed and reviewed by Alexey Proskuryakov.
133712
133713         https://bugs.webkit.org/show_bug.cgi?id=39682
133714         <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random
133715
133716         Test: fast/css/custom-font-xheight.html
133717
133718         * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
133719         Calling an Objective C method that returns a structure with a null object can leave garbage in
133720         returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
133721         platformBoundsForGlyph() function instead, which works with CGFont.
133722         (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
133723         have an NSFont), since this is now used in more cases.
133724
133725 2010-05-26  Beth Dakin  <bdakin@apple.com>
133726
133727         Build fix for Mac clean builds.
133728
133729         * storage/IDBDatabaseRequest.idl:
133730
133731 2010-05-26  Eric Carlson  <eric.carlson@apple.com>
133732
133733         Reviewed by Dan Bernstein.
133734
133735         Must not cast between CFNumberRef and CFBooleanRef.
133736         <rdar://problem/8030739> 
133737         https://bugs.webkit.org/show_bug.cgi?id=39756
133738
133739         * platform/graphics/win/QTMovieVisualContext.cpp:
133740         (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated 
133741         with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.
133742
133743 2010-05-26  Xan Lopez  <xlopez@igalia.com>
133744
133745         GTK+ build fix, strike two.
133746
133747         * bindings/gobject/WebKitDOMEventTarget.cpp:
133748         (webkit_dom_event_target_get_type):
133749         (webkit_dom_event_target_default_init):
133750
133751 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
133752
133753         Unreviewed build fix for Windows + clean up the Visual Studio project.
133754
133755         * WebCore.gypi:
133756         * WebCore.vcproj/WebCore.vcproj:
133757
133758 2010-05-26  Andrei Popescu  <andreip@google.com>
133759
133760         Reviewed by Jeremy Orlow.
133761
133762         Indexed Database component is missing IDBObjectStoreRequest interface
133763         https://bugs.webkit.org/show_bug.cgi?id=39490
133764
133765         Adding IDL and stub implementation for IDBObjectStoreRequest.
133766
133767         No new tests, indexed database isn't yet testable.
133768
133769         * DerivedSources.cpp:
133770         * DerivedSources.make:
133771         * GNUmakefile.am:
133772         * WebCore.gypi:
133773         * WebCore.pri:
133774         * WebCore.pro:
133775         * WebCore.xcodeproj/project.pbxproj:
133776         * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
133777         (WebCore::JSIDBObjectStoreRequest::remove):
133778         (WebCore::JSIDBObjectStoreRequest::addOrModify):
133779         (WebCore::JSIDBObjectStoreRequest::modify):
133780         (WebCore::JSIDBObjectStoreRequest::add):
133781         (WebCore::JSIDBObjectStoreRequest::get):
133782         * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
133783         (WebCore::V8IDBObjectStoreRequest::removeCallback):
133784         (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
133785         (WebCore::V8IDBObjectStoreRequest::modifyCallback):
133786         (WebCore::V8IDBObjectStoreRequest::addCallback):
133787         (WebCore::V8IDBObjectStoreRequest::getCallback):
133788         * storage/IDBObjectStore.cpp: Added.
133789         * storage/IDBObjectStore.h: Added.
133790         (WebCore::IDBObjectStore::~IDBObjectStore):
133791         * storage/IDBObjectStoreRequest.cpp: Added.
133792         (WebCore::IDBObjectStoreRequest::name):
133793         (WebCore::IDBObjectStoreRequest::keyPath):
133794         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
133795         * storage/IDBObjectStoreRequest.h: Added.
133796         (WebCore::IDBObjectStoreRequest::create):
133797         (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
133798         * storage/IDBObjectStoreRequest.idl: Added.
133799
133800 2010-05-26  Xan Lopez  <xlopez@igalia.com>
133801
133802         Unreviewed GTK+ build fix.
133803
133804         Use G_DEFINE_INTERFACE only if it's available.
133805
133806         * bindings/gobject/WebKitDOMEventTarget.cpp:
133807         (webkit_dom_event_target_get_type):
133808         (webkit_dom_event_target_default_init):
133809
133810 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
133811
133812         Reviewed by Darin Fisher.
133813
133814         Implement WebDOMStorageList and make WebIDBDatabase use it
133815         https://bugs.webkit.org/show_bug.cgi?id=39731
133816
133817         Remove unused function.
133818
133819         * dom/DOMStringList.h:
133820
133821 2010-05-26  Jessie Berlin  <jberlin@webkit.org>
133822
133823         Reviewed by Pavel Feldman
133824
133825         Bug 31296 - Web Inspector: Should support console.groupCollapsed
133826         https://bugs.webkit.org/show_bug.cgi?id=31296
133827
133828         * inspector/InspectorController.cpp:
133829         (WebCore::InspectorController::startGroup):
133830         Set the message type based on whether or not it should be initially collapsed.
133831         * inspector/InspectorController.h:
133832
133833         * inspector/front-end/ConsoleView.js:
133834         Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
133835         (WebInspector.ConsoleView.prototype.addMessage):
133836         (WebInspector.ConsoleMessage.prototype.toMessageElement):
133837         (WebInspector.ConsoleMessage.prototype.toString):
133838         (WebInspector.ConsoleGroup.prototype.addMessage):
133839
133840         * page/Console.cpp:
133841         (WebCore::Console::groupCollapsed):
133842         Create a group and indicate that it should be collapsed.
133843         * page/Console.h:
133844         Add the StartGroupCollapsed message type.
133845
133846         (WebCore::):
133847         * page/Console.idl:
133848         Create the JS bindings for groupCollapsed.
133849
133850 2010-05-26  yael aharon  <yael.aharon@nokia.com>
133851
133852         Reviewed by Kent Tamura.
133853
133854         Support the labels attribute in labelable form controls
133855         https://bugs.webkit.org/show_bug.cgi?id=38713
133856
133857         Added a new cache type in NodeRareData to store the new cache type.
133858         This cache is created on demand.
133859
133860         Added the "labels" attribute to all form controls that support this attribute.
133861
133862         Tests: fast/forms/labels-add-htmlFor-label.html
133863                fast/forms/labels-add-parent-label.html
133864                fast/forms/labels-change-htmlFor-attribute.html
133865                fast/forms/labels-item-index.html
133866                fast/forms/labels-remove-htmlFor-attribute.html
133867                fast/forms/labels-remove-htmlFor-label.html
133868                fast/forms/labels-remove-parent-label.html
133869                fast/forms/labels-set-htmlFor-attribute.html
133870
133871         * CMakeLists.txt:
133872         * GNUmakefile.am:
133873         * WebCore.gypi:
133874         * WebCore.pro:
133875         * WebCore.vcproj/WebCore.vcproj:
133876         * WebCore.xcodeproj/project.pbxproj:
133877         * dom/Node.cpp:
133878         (WebCore::Node::notifyLocalNodeListsLabelChanged):
133879         (WebCore::Node::removeCachedLabelsNodeList):
133880         (WebCore::NodeListsNodeData::invalidateCaches):
133881         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
133882         (WebCore::NodeListsNodeData::isEmpty):
133883         * dom/Node.h:
133884         * dom/NodeRareData.h:
133885         (WebCore::NodeListsNodeData::NodeListsNodeData):
133886         * html/HTMLButtonElement.idl:
133887         * html/HTMLFormControlElement.cpp:
133888         (WebCore::HTMLFormControlElement::isLabelable):
133889         (WebCore::HTMLFormControlElement::labels):
133890         * html/HTMLFormControlElement.h:
133891         * html/HTMLInputElement.idl:
133892         * html/HTMLLabelElement.cpp:
133893         (WebCore::HTMLLabelElement::parseMappedAttribute):
133894         * html/HTMLLabelElement.h:
133895         * html/HTMLMeterElement.idl:
133896         * html/HTMLProgressElement.idl:
133897         * html/HTMLSelectElement.idl:
133898         * html/HTMLTextAreaElement.idl:
133899         * html/LabelsNodeList.cpp: Added.
133900         (WebCore::LabelsNodeList::LabelsNodeList):
133901         (WebCore::LabelsNodeList::~LabelsNodeList):
133902         (WebCore::LabelsNodeList::nodeMatches):
133903         * html/LabelsNodeList.h: Added.
133904         (WebCore::LabelsNodeList::create):
133905
133906 2010-05-26  Xan Lopez  <xlopez@igalia.com>
133907
133908         Reviewed by Jeremy Orlow.
133909
133910         Style fix in JSEventCustom.cpp
133911         https://bugs.webkit.org/show_bug.cgi?id=39727
133912
133913         Conditional includes should be all together after the
133914         unconditional includes.
133915
133916         * bindings/js/JSEventCustom.cpp:
133917
133918 2010-05-24  Jeremy Orlow  <jorlow@chromium.org>
133919
133920         Reviewed by Steve Block.
133921
133922         Add IDBDatabase's attributes
133923         https://bugs.webkit.org/show_bug.cgi?id=39602
133924
133925         Add the attributes (like name, description, etc) for
133926         IDBDatabaseRequest.  Plumb that back to the IDBDatabase
133927         object which stores the data.
133928
133929         CMake and Android build changes in another CL (that
133930         fixes other stuff too).
133931
133932         Updated the layout test, but there's some further testing
133933         that needs to be added once the Chromium side of this lands.
133934
133935         * GNUmakefile.am
133936         * WebCore.gypi:
133937         * WebCore.pro
133938         * WebCore.vcproj/WebCore.vcproj
133939         * WebCore.xcodeproj/project.pbxproj
133940         * dom/DOMStringList.h:
133941         (WebCore::DOMStringList::strings):
133942         * storage/IDBDatabase.cpp: Removed.
133943         * storage/IDBDatabase.h:
133944         * storage/IDBDatabaseImpl.cpp: Added.
133945         (WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
133946         (WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
133947         (WebCore::IDBDatabaseImpl::objectStores):
133948         * storage/IDBDatabaseImpl.h: Added.
133949         (WebCore::IDBDatabaseImpl::create):
133950         (WebCore::IDBDatabaseImpl::name):
133951         (WebCore::IDBDatabaseImpl::description):
133952         (WebCore::IDBDatabaseImpl::version):
133953         * storage/IDBDatabaseRequest.h:
133954         (WebCore::IDBDatabaseRequest::name):
133955         (WebCore::IDBDatabaseRequest::description):
133956         (WebCore::IDBDatabaseRequest::version):
133957         (WebCore::IDBDatabaseRequest::objectStores):
133958         * storage/IDBDatabaseRequest.idl:
133959         * storage/IDBSuccessEvent.cpp:
133960         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
133961         * storage/IndexedDatabaseImpl.cpp:
133962         (WebCore::IndexedDatabaseImpl::open):
133963         * storage/IndexedDatabaseImpl.h:
133964
133965 2010-05-26  Xan Lopez  <xlopez@igalia.com>
133966
133967         Reviewed by NOBODY Gustavo Noronha.
133968
133969         [GTK] Add support for DOM events in the GObject DOM bindings
133970         https://bugs.webkit.org/show_bug.cgi?id=38844
133971
133972         Add actual GObject event objects to the DOM event signals.
133973
133974         * GNUmakefile.am:
133975         * bindings/gobject/GObjectEventListener.cpp:
133976         (WebCore::GObjectEventListener::handleEvent):
133977         * bindings/gobject/WebKitDOMBinding.cpp:
133978         (WebKit::wrapEventTarget):
133979         (WebKit::kit):
133980         * bindings/gobject/WebKitDOMBinding.h:
133981         * bindings/gobject/WebKitDOMEventTarget.cpp: Added.
133982         (webkit_dom_event_target_default_init):
133983         (webkit_dom_event_target_dispatch_event):
133984         * bindings/gobject/WebKitDOMEventTarget.h: Added.
133985         * bindings/scripts/CodeGeneratorGObject.pm:
133986
133987 2010-05-24  Jeremy Orlow  <jorlow@chromium.org>
133988
133989         Reviewed by Steve Block.
133990
133991         [Android] Add IndexedDB to the build
133992         https://bugs.webkit.org/show_bug.cgi?id=39593
133993
133994         Add the current list of build files to Android's make files.  From now on,
133995         I'll try to be sure to update these along with the rest.
133996         Also, fix a nit in the gypi file.
133997
133998         No tests..just changing build files.
133999
134000         * Android.derived.jscbindings.mk:
134001         * Android.derived.v8bindings.mk:
134002         * Android.mk:
134003         * WebCore.gypi:
134004
134005 2010-05-26  Alexander Pavlov  <apavlov@chromium.org>
134006
134007         Reviewed by Pavel Feldman.
134008
134009         Expose CSS rule body start/end offsets in the parent stylesheet
134010         https://bugs.webkit.org/show_bug.cgi?id=38906
134011
134012         CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
134013         of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
134014         This Vector is only used when the Web Inspector needs the body ranges, thus there is no
134015         memory overhead until the user starts editing styles via the Web Inspector.
134016         Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.
134017
134018         Test: inspector/styles-source-offsets.html
134019
134020         * css/CSSGrammar.y:
134021         * css/CSSParser.cpp:
134022         (WebCore::CSSParser::CSSParser):
134023         (WebCore::CSSParser::setupParser):
134024         (WebCore::CSSParser::parseSheet):
134025         (WebCore::CSSParser::createStyleRule):
134026         (WebCore::CSSParser::updateLastSelectorLineAndPosition):
134027         (WebCore::CSSParser::markRuleBodyStart):
134028         (WebCore::CSSParser::markRuleBodyEnd):
134029         * css/CSSParser.h:
134030         (WebCore::CSSParser::resetRuleBodyMarks):
134031         * inspector/InspectorCSSStore.cpp:
134032         (WebCore::InspectorCSSStore::InspectorCSSStore):
134033         (WebCore::InspectorCSSStore::reset):
134034         (WebCore::InspectorCSSStore::removeDocument):
134035         (WebCore::InspectorCSSStore::inspectorStyleSheet):
134036         (WebCore::InspectorCSSStore::getStartEndOffsets):
134037         (WebCore::InspectorCSSStore::getIndexInStyleRules):
134038         (WebCore::InspectorCSSStore::disabledStyleForId):
134039         (WebCore::InspectorCSSStore::styleForId):
134040         (WebCore::InspectorCSSStore::ruleForId):
134041         (WebCore::InspectorCSSStore::bindStyle):
134042         (WebCore::InspectorCSSStore::bindStyleSheet):
134043         (WebCore::InspectorCSSStore::bindRule):
134044         * inspector/InspectorCSSStore.h:
134045         * inspector/InspectorController.cpp:
134046         (WebCore::InspectorController::InspectorController):
134047         (WebCore::InspectorController::resourceForURL):
134048         * inspector/InspectorController.h:
134049         (WebCore::InspectorController::inspectorFrontend):
134050         * inspector/InspectorDOMAgent.cpp:
134051         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
134052         (WebCore::InspectorDOMAgent::unbind):
134053         (WebCore::InspectorDOMAgent::getStyles):
134054         (WebCore::InspectorDOMAgent::getAllStyles):
134055         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
134056         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
134057         (WebCore::InspectorDOMAgent::applyStyleText):
134058         (WebCore::InspectorDOMAgent::setStyleText):
134059         (WebCore::InspectorDOMAgent::setStyleProperty):
134060         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
134061         (WebCore::InspectorDOMAgent::setRuleSelector):
134062         (WebCore::InspectorDOMAgent::addRule):
134063         (WebCore::InspectorDOMAgent::buildObjectForStyle):
134064         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
134065         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
134066         (WebCore::InspectorDOMAgent::buildObjectForRule):
134067         * inspector/InspectorDOMAgent.h:
134068         * inspector/front-end/DOMAgent.js:
134069         (WebInspector.CSSStyleDeclaration):
134070
134071 2010-05-26  Xan Lopez  <xlopez@igalia.com>
134072
134073         Reviewed by Gustavo Noronha.
134074
134075         [GTK] Add support for DOM events in the GObject DOM bindings
134076         https://bugs.webkit.org/show_bug.cgi?id=38844
134077
134078         Use GObject-like names for the DOM event signals. Basically go
134079         from 'mousewheel' to 'mouse-wheel-event'.
134080
134081         * bindings/scripts/CodeGeneratorGObject.pm:
134082
134083 2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>
134084
134085         Not reviewed. Sort Xcode project file.
134086
134087         * WebCore.xcodeproj/project.pbxproj:
134088
134089 2010-05-26  Xan Lopez  <xlopez@igalia.com>
134090
134091         Reviewed by Gustavo Noronha.
134092
134093         [GTK] Add support for DOM events in the GObject DOM bindings
134094         https://bugs.webkit.org/show_bug.cgi?id=38844
134095
134096         First step towards DOM events support. We create one signal per
134097         event supported in the DOM classes, and create a custom
134098         GObjectEventListener that will emit a GObject signal when an event
134099         is dispatched to the object. There is no event object at the
134100         moment (we just pass NULL), and no support for hooking into the
134101         capture phase.
134102
134103         * GNUmakefile.am:
134104         * bindings/gobject/GObjectEventListener.cpp: Added.
134105         (WebCore::GObjectEventListener::handleEvent):
134106         (WebCore::GObjectEventListener::operator==):
134107         * bindings/gobject/GObjectEventListener.h: Added.
134108         (WebCore::GObjectEventListener::create):
134109         (WebCore::GObjectEventListener::cast):
134110         (WebCore::GObjectEventListener::GObjectEventListener):
134111         * bindings/scripts/CodeGeneratorGObject.pm:
134112         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
134113         (WebKit::core):
134114         (webkit_dom_test_callback_finalize):
134115         (webkit_dom_test_callback_class_init):
134116         (WebKit::wrapTestCallback):
134117         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
134118         (WebKit::core):
134119         (webkit_dom_test_interface_finalize):
134120         (webkit_dom_test_interface_class_init):
134121         (WebKit::wrapTestInterface):
134122         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
134123         (WebKit::core):
134124         (webkit_dom_test_obj_finalize):
134125         (webkit_dom_test_obj_class_init):
134126         (WebKit::wrapTestObj):
134127         * dom/EventListener.h:
134128         (WebCore::EventListener::):
134129
134130 2010-05-26  Xan Lopez  <xlopez@igalia.com>
134131
134132         Reviewed by Gustavo Noronha.
134133
134134         [GTK] GObject DOM bindings
134135         https://bugs.webkit.org/show_bug.cgi?id=33590
134136
134137         We need to protect the body of some methods with #ifdefs, since
134138         the availability of the code they call into is decided at compile
134139         time.
134140
134141         * bindings/scripts/CodeGeneratorGObject.pm:
134142
134143 2010-05-26  Kent Tamura  <tkent@chromium.org>
134144
134145         Reviewed by Shinichiro Hamaji.
134146
134147         Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
134148         https://bugs.webkit.org/show_bug.cgi?id=39423
134149
134150         The minimum and maximum values for date, datetime, datetime-local,
134151         month, time, and week types depend on the implementation of
134152         DateComponents.  So move them to DateComponents.
134153
134154         * html/DateComponents.h:
134155         * html/HTMLInputElement.cpp:
134156         (WebCore::HTMLInputElement::minimum):
134157         (WebCore::HTMLInputElement::maximum):
134158
134159 2010-05-26  Csaba Osztrogonác  <ossy@webkit.org>
134160
134161         Reviewed by Simon Hausmann.
134162
134163         Buildfix for build without ENABLE(RUBY) after r60201.
134164
134165         * rendering/RenderBlock.cpp:
134166         (WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.
134167
134168 2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>
134169
134170         Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.
134171
134172         * bindings/scripts/test/JS/JSTestInterface.cpp:
134173         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
134174         (WebCore::JSTestInterface::createPrototype):
134175         * bindings/scripts/test/JS/JSTestInterface.h:
134176         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
134177         * bindings/scripts/test/JS/JSTestObj.cpp:
134178         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
134179         (WebCore::JSTestObj::createPrototype):
134180         * bindings/scripts/test/JS/JSTestObj.h:
134181         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
134182
134183 2010-05-25  Philippe Normand  <pnormand@igalia.com>
134184
134185         Reviewed by Gustavo Noronha Silva.
134186
134187         [GStreamer] Apple trailers not playing
134188         https://bugs.webkit.org/show_bug.cgi?id=37390
134189
134190         Set the AppleTrailer User-Agent workaround after
134191         FrameLoader::addExtraFieldsToSubresourceRequest has been called
134192         because that method sets the global User-Agent.
134193
134194         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
134195         (webKitWebSrcStart):
134196
134197 2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>
134198
134199         Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.
134200
134201         * storage/DatabaseAuthorizer.cpp:
134202         (WebCore::DatabaseAuthorizer::dropVTable):
134203
134204 2010-05-25  Mark Rowe  <mrowe@apple.com>
134205
134206         Build fix.
134207
134208         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
134209
134210 2010-05-25  Yuta Kitamura  <yutak@chromium.org>
134211
134212         Reviewed by Pavel Feldman.
134213
134214         Web Inspector: Show HTTP status message sent from server in Resources tab.
134215
134216         This patch obtains an HTTP status message of each resource and pass it to
134217         the front end of Web Inspector. The status message is shown in "Headers" tab in
134218         the detail view of that resource, along with the HTTP status code.
134219
134220         Web Inspector does not respect HTTP status message
134221         https://bugs.webkit.org/show_bug.cgi?id=39595
134222
134223         * inspector/InspectorResource.cpp:
134224         (WebCore::InspectorResource::updateResponse):
134225         (WebCore::InspectorResource::updateScriptObject):
134226         * inspector/InspectorResource.h:
134227         * inspector/front-end/Resource.js:
134228         (WebInspector.Resource.CompareByTransferSize):
134229         * inspector/front-end/ResourceView.js:
134230         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
134231         * inspector/front-end/inspector.js:
134232         (WebInspector.updateResource):
134233         * inspector/front-end/utilities.js:
134234         (String.prototype.escapeHTML): Escape '"' so that we can escape messages
134235         that may occur inside HTML attributes.
134236
134237 2010-05-24  David Hyatt  <hyatt@apple.com>
134238
134239         Reviewed by Dan Bernstein.
134240
134241         https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.
134242
134243         This patch adds support for -webkit-column-span elements that can span across all of the columns
134244         in a multi-column block.  In this first stage, column span support is limited to only immediate
134245         children of the multi-column block, so no elements actually have to split across a span yet.
134246
134247         Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
134248         span blocks.  When a span gets inserted into a multicol block, the block is split, with the
134249         column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
134250         wrapped in anonymous column span blocks.  The multicol block then stops being multicol and lets
134251         the anonymous multicol blocks take over column layout.
134252         
134253         Many new tests added in fast/multicol/span.
134254
134255         * dom/Node.cpp:
134256         (WebCore::Node::diff):
134257         Changes to column span result in a detach/attach, since spanning elements don't typically have
134258         much content.
134259     
134260         * rendering/RenderBlock.cpp:
134261         (WebCore::RenderBlock::styleDidChange):
134262         Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.
134263
134264         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
134265         This method handles the insertion of new children into the block after it has had to wrap its
134266         children in anonymous column/column-span blocks.
134267         
134268         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
134269         A helper method for splitting all anonymous blocks between beforeChild and this block so that
134270         a new element with an incompatible type can be inserted between them.
134271         
134272         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
134273         This method does the initial split of a block into anonymous components.  This happens the first
134274         time a column-span element gets inserted into the block.
134275
134276         (WebCore::columnsBlockForSpanningElement):
134277         This function checks whether or not the column-span element is actually being inserted into a viable
134278         columns block.
134279
134280         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
134281         This is the original RenderBlock::addChild.  It handles everything else just like it used to.
134282         
134283         (WebCore::RenderBlock::addChild):
134284         Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
134285         in anonymous column/column-span blocks already.
134286
134287         (WebCore::RenderBlock::moveAllChildrenTo):
134288         moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
134289         are shifting across layers.  (This should arguably be the default behavior, but that can happen in
134290         a future patch.)
134291
134292         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
134293         Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
134294         block from being coalesced with a parent if they are non-empty.
134295
134296         (WebCore::canMergeContiguousAnonymousBlocks):
134297         Whether or not two contiguous anonymous blocks can merge after the removal of a child.
134298
134299         (WebCore::RenderBlock::removeChild):
134300         removeChild has been patched to handle more cases of merging/deletion than it did before.  It
134301         can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
134302         that don't share the same childrenInline() setting (by putting one inside the other).  It also
134303         makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
134304         
134305         (WebCore::RenderBlock::fillSelectionGaps):
134306         Don't let the selection extend outside of a column-span.
134307         
134308         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
134309         Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
134310         column/column-span blocks.
134311
134312         (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
134313         (WebCore::RenderBlock::createAnonymousColumnsBlock):
134314         (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
134315         New helper functions for anonymous block creation.
134316         
134317         (WebCore::RenderBlock::renderName):
134318         Patched to dump anonymous column and column-span blocks so that they can be distinguished from
134319         regular anonymous blocks.
134320         * rendering/RenderBlock.h:
134321         * rendering/RenderObject.h:
134322         (WebCore::RenderObject::isAnonymousColumnsBlock):
134323         (WebCore::RenderObject::isAnonymousColumnSpanBlock):
134324         New helper functions for asking the type of an anonymous block.
134325         
134326         * rendering/style/RenderStyle.h:
134327         (WebCore::InheritedFlags::inheritColumnPropertiesFrom):
134328         A helper function to allow anonymous column blocks to easily inherit all column properties for
134329         rendering.
134330
134331 2010-05-25  Dirk Pranke  <dpranke@chromium.org>
134332
134333         Reviewed by Dimitri Glazkov.
134334
134335         Re-commit r58765 - it had been rolled out to see if it was causing
134336         a perf regression (in r59787), but that does not seem to have been
134337         the case.
134338
134339         Tests: fast/notifications/notifications-replace.html
134340                fast/notifications/notifications-rtl.html
134341
134342         https://bugs.webkit.org/show_bug.cgi?id=39605
134343
134344         * notifications/Notification.h:
134345         (WebCore::Notification::dir):
134346         (WebCore::Notification::setDir):
134347         (WebCore::Notification::replaceId):
134348         (WebCore::Notification::setReplaceId):
134349         * notifications/Notification.idl:
134350
134351 2010-05-22  Jer Noble  <jer.noble@apple.com>
134352
134353         Reviewed by Adam Roben.
134354
134355         Full screen doesn't work for video elements
134356         https://bugs.webkit.org/show_bug.cgi?id=39557
134357         rdar://problem/8011813
134358         
134359         Add fullscreen support for MediaPlayerPrivateVisualContext.  A new class, MediaPlayerPrivateFullscreenWindow,
134360         provides the fullscreen hwnd and layer renderer.  Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
134361         so future additional MediaPlayerPrivate implementations can use the fullscreen window.
134362         
134363         Minor additions have been made to the FloatSize and IntSize classes.
134364
134365         MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new 
134366         videoLayer; this is an existing bug that was never really exposed before now.
134367
134368         * WebCore.vcproj/WebCore.vcproj:
134369         * platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
134370         (WebCore::FloatSize::aspectRatio):
134371         (WebCore::FloatSize::scale):
134372         * platform/graphics/IntSize.h: Added aspectRatio().
134373         (WebCore::IntSize::aspectRatio):
134374         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
134375         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
134376         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
134377         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
134378         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
134379         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
134380         * platform/graphics/win/WKCACFLayer.cpp: 
134381         (WebCore::WKCACFLayer::WKCACFLayer):
134382         (WebCore::WKCACFLayer::removeFromSuperlayer):
134383         (WebCore::WKCACFLayer::setFrame):
134384         (WebCore::WKCACFLayer::internalSetNeedsDisplay):
134385         (WebCore::WKCACFLayer::setLayoutClient):
134386         (WebCore::WKCACFLayer::layoutSublayersProc):
134387         (WebCore::WKCACFLayer::layoutClient):
134388         (WebCore::WKCACFLayer::setNeedsLayout):
134389         * platform/graphics/win/WKCACFLayer.h: Add layout client class.
134390         (WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
134391         (WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
134392         * platform/graphics/win/WebTiledLayer.cpp:
134393         (WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
134394         * platform/graphics/win/WebTiledLayer.h:
134395         * platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
134396         (WebCore::WebTiledLayer::setFrame):
134397         * platform/graphics/win/WebTiledLayer.h:
134398
134399
134400 2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>
134401
134402         Reviewed by Brady Eidson.
134403
134404         Allow FTS3 functions.
134405         https://bugs.webkit.org/show_bug.cgi?id=38003
134406
134407         * storage/DatabaseAuthorizer.cpp:
134408         (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
134409         (WebCore::DatabaseAuthorizer::createVTable):
134410
134411 2010-05-25  Anders Carlsson  <andersca@apple.com>
134412
134413         Reviewed by Sam Weinig.
134414
134415         Get rid of PluginDatabaseClient
134416         https://bugs.webkit.org/show_bug.cgi?id=39685
134417
134418         PluginDatabaseClient isn't used anywhere so just remove it.
134419
134420         * GNUmakefile.am:
134421         * plugins/PluginDatabase.cpp:
134422         (WebCore::PluginDatabase::PluginDatabase):
134423         (WebCore::PluginDatabase::refresh):
134424         * plugins/PluginDatabase.h:
134425         * plugins/PluginDatabaseClient.h: Removed.
134426
134427 2010-05-25  Alexey Proskuryakov  <ap@apple.com>
134428
134429         Reviewed by Darin Adler.
134430
134431         https://bugs.webkit.org/show_bug.cgi?id=18595
134432         REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze
134433
134434         Test: fast/events/frame-detached-in-mousedown.html
134435
134436         * page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
134437         node on mouse up. It's only done for nodes that hold subframes - elements that capture events
134438         are responsible for resetting the state.
134439
134440         * page/EventHandler.cpp:
134441         (WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
134442         RefPtr and is initialized automatically.
134443         (WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
134444         capturing node on its own.
134445         (WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
134446         from the below in r21156. Copied correct code instead.
134447         (WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
134448         holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
134449         check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
134450         (WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
134451         reset capturing node on its own.
134452
134453 2010-05-25  Kevin Ollivier  <kevino@theolliviers.com>
134454
134455         [wx] Build fix for missing symbol.
134456
134457         * wscript:
134458
134459 2010-05-25  Darin Adler  <darin@apple.com>
134460
134461         * dom/Element.cpp:
134462         (WebCore::Element::getIDAttribute): Added comments about problems with this function.
134463
134464 2010-05-25  Leandro Pereira  <leandro@profusion.mobi>
134465
134466         Reviewed by Gustavo Noronha Silva.
134467
134468         [EFL] Build fix.
134469         http://webkit.org/b/39598
134470
134471         * CMakeLists.txt:
134472
134473 2010-05-25  Enrica Casucci  <enrica@apple.com>
134474
134475         Reviewed by Darin Adler.
134476
134477         REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
134478         https://bugs.webkit.org/show_bug.cgi?id=36037
134479         <rdar://problem/8022887>
134480
134481         The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
134482         additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
134483         that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
134484         cases would iterate through every position as offset in a block before moving to the last child in the block.
134485         This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
134486         every position in the block before considering the last true position in the block.
134487         The performance was linear with the number of child nodes in the block, instead of constant.
134488         
134489         * dom/PositionIterator.cpp:
134490         (WebCore::PositionIterator::decrement):
134491
134492 2010-05-25  Alexey Proskuryakov  <ap@apple.com>
134493
134494         Reviewed by Darin Adler.
134495
134496         https://bugs.webkit.org/show_bug.cgi?id=39621
134497         <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
134498
134499         The largest cause of memory growth on this test were autoreleased DOMNode objects created
134500         to make webView:formStateDidChangeForNode: delegate calls.
134501
134502         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
134503         Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
134504         safe to call functions that are likely to create temporary wrappers (wrapper destructor
134505         would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).
134506
134507 2010-05-25  Kent Tamura  <tkent@chromium.org>
134508
134509         Reviewed by Dimitri Glazkov.
134510
134511         [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
134512         https://bugs.webkit.org/show_bug.cgi?id=39652
134513
134514         * rendering/RenderTheme.cpp:
134515         (WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.
134516
134517 2010-05-25  Darin Adler  <darin@apple.com>
134518
134519         Sort ".exp" files with the sort tool.
134520         This makes later merging easier.
134521
134522         These Mac-specific files should probably move into a subdirectory
134523         at some point.
134524
134525         * WebCore.Inspector.exp: Sorted.
134526         * WebCore.PluginHostProcess.exp: Removed blank line.
134527         * WebCore.VideoProxy.exp: Sorted.
134528         * WebCore.base.exp: Ditto.
134529
134530 2010-05-25  Vangelis Kokkevis  <vangelis@chromium.org>
134531
134532         Reviewed by Darin Fisher.
134533
134534         Removing the persistent GraphicsContext from LayerChromium to save on
134535         memory and simplify code. Layers now create a temporary context, draw into
134536         it, update the GL texture and discard the context.
134537         https://bugs.webkit.org/show_bug.cgi?id=39640
134538
134539         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
134540         (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
134541         * platform/graphics/chromium/LayerChromium.cpp:
134542         (WebCore::LayerChromium::LayerChromium):
134543         (WebCore::LayerChromium::~LayerChromium):
134544         (WebCore::LayerChromium::setLayerRenderer):
134545         (WebCore::LayerChromium::updateTextureContents):
134546         (WebCore::LayerChromium::setContents):
134547         (WebCore::LayerChromium::setBounds):
134548         (WebCore::LayerChromium::setNeedsDisplay):
134549         * platform/graphics/chromium/LayerChromium.h:
134550         * platform/graphics/chromium/LayerRendererChromium.cpp:
134551         (WebCore::LayerRendererChromium::~LayerRendererChromium):
134552         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
134553         (WebCore::LayerRendererChromium::drawLayers):
134554         (WebCore::LayerRendererChromium::assignTextureForLayer):
134555         (WebCore::LayerRendererChromium::compositeLayersRecursive):
134556         * platform/graphics/chromium/LayerRendererChromium.h:
134557         (WebCore::LayerRendererChromium::rootLayerGraphicsContext):
134558
134559 2010-05-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
134560
134561         Reviewed by Simon Hausmann.
134562
134563         [Qt] Make text filling work together with text stroke.
134564
134565         When the text has stroke a new QPen was set, overriding the pen
134566         set for text filling. This patch fixes that by storing the two
134567         pens and using where appropriate.
134568
134569         * platform/graphics/qt/FontQt.cpp:
134570         (WebCore::Font::drawComplexText):
134571
134572 2010-05-17  Antonio Gomes  <tonikitoo@webkit.org>
134573
134574         Reviewed by Darin Adler.
134575
134576         Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
134577         https://bugs.webkit.org/show_bug.cgi?id=39217
134578
134579         It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
134580         could receive a parameter to specify where to start scrolling from. Currently they
134581         start scrolling from either the current focused node or the node where mouse last
134582         pressed on. Patch proposes an aditional starting point as an optional parameter.
134583         Since it is optional, all call sites can remain as are, and if a Null node is passed
134584         in, both methods work as previously.
134585
134586         * page/EventHandler.cpp:
134587         (WebCore::EventHandler::scrollOverflow):
134588         (WebCore::EventHandler::scrollRecursively):
134589         * page/EventHandler.h:
134590
134591 2010-05-25  Yury Semikhatsky  <yurys@chromium.org>
134592
134593         Reviewed by Timothy Hatcher.
134594
134595         Web Inspector: localize heap graph strings.
134596
134597         https://bugs.webkit.org/show_bug.cgi?id=39674
134598
134599         * English.lproj/localizedStrings.js:
134600
134601 2010-05-25  Adam Barth  <abarth@webkit.org>
134602
134603         Reviewed by Eric Seidel.
134604
134605         Switch HTML parsing benchmark to use document.write instead of innerHTML
134606         https://bugs.webkit.org/show_bug.cgi?id=39661
134607
134608         We'd like to exercise the main parsing pipeline instead of the fragment
134609         parsing pipeline.
134610
134611         * benchmarks/parser/html-parser.html:
134612
134613 2010-05-25  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
134614
134615         Reviewed by Laszlo Gombos.
134616
134617         [Qt] Running with accelerated compositing enabled sometimes result in a crash
134618         https://bugs.webkit.org/show_bug.cgi?id=39609
134619
134620         Check if we have a scene before applying the workaround for
134621         the QGraphicsScene bug where opacity change doesn't always have
134622         immediate effect.
134623
134624         * platform/graphics/qt/GraphicsLayerQt.cpp:
134625         (WebCore::OpacityAnimationQt::applyFrame):
134626
134627 2010-05-25  Yury Semikhatsky  <yurys@chromium.org>
134628
134629         Unreviewed. Fix Chromium Mac Release build.
134630
134631         * bindings/v8/ScriptDebugServer.cpp:
134632
134633 2010-05-24  Yury Semikhatsky  <yurys@chromium.org>
134634
134635         Reviewed by Pavel Feldman.
134636
134637         ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
134638         depend on v8 debugging protocol, instead it uses ExecState to collect debugging
134639         info and pass it to the listeners.
134640
134641         New implementation of ScriptDebugServer uses methods provided by client to dispatch
134642         its messages while JS is paused(previously the messages was dispatched in a callback
134643         passed to v8 along with DebugEventHandler).
134644
134645         https://bugs.webkit.org/show_bug.cgi?id=39594
134646
134647         * bindings/js/ScriptDebugServer.cpp:
134648         (WebCore::ScriptDebugServer::dispatchDidPause):
134649         (WebCore::ScriptDebugServer::dispatchDidContinue):
134650         (WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
134651         invocation of ScriptDebugListener methods that have non-empty argument list.
134652         (WebCore::ScriptDebugServer::pauseIfNeeded):
134653         * bindings/js/ScriptDebugServer.h:
134654         * bindings/v8/ScriptDebugServer.cpp:
134655         (WebCore::retrieveFrame):
134656         (WebCore::ScriptDebugServer::ScriptDebugServer):
134657         (WebCore::ScriptDebugServer::addListener):
134658         (WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
134659         corresponding debugger window closes.
134660         (WebCore::ScriptDebugServer::clearBreakpoints):
134661         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
134662         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
134663         (WebCore::ScriptDebugServer::continueProgram):
134664         (WebCore::ScriptDebugServer::stepIntoStatement):
134665         (WebCore::ScriptDebugServer::stepOverStatement):
134666         (WebCore::ScriptDebugServer::stepOutOfFunction):
134667         (WebCore::ScriptDebugServer::v8DebugEventCallback):
134668         (WebCore::ScriptDebugServer::handleV8DebugEvent):
134669         (WebCore::ScriptDebugServer::didResume):
134670         * bindings/v8/ScriptDebugServer.h:
134671         (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
134672         (WebCore::ScriptDebugServer::setClientMessageLoop):
134673         * inspector/InspectorController.cpp:
134674         (WebCore::InspectorController::didPause):
134675         * inspector/InspectorController.h:
134676         * inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
134677         where execution is paused.
134678
134679 2010-05-25  Adam Barth  <abarth@webkit.org>
134680
134681         Reviewed by Eric Seidel.
134682
134683         Clear attributes for each tag in the HTML5 parser
134684         https://bugs.webkit.org/show_bug.cgi?id=39660
134685
134686         Yes, I did screw this up.
134687
134688         * html/HTML5Token.h:
134689         (WebCore::HTML5Token::beginStartTag):
134690         (WebCore::HTML5Token::beginEndTag):
134691
134692 2010-05-25  Anders Bakken  <agbakken@gmail.com>
134693
134694         Reviewed by Darin Adler.
134695
134696         Remove warning for GCC 4.4.3
134697
134698         GCC suggest parentheses around && within ||
134699
134700         * dom/Element.cpp:
134701         (WebCore::Element::recalcStyle):
134702
134703 2010-05-25  Xan Lopez  <xlopez@igalia.com>
134704
134705         Fix the GTK+ build, PluginInfoStore was removed.
134706
134707         * GNUmakefile.am:
134708
134709 2010-05-25  Ada Chan  <adachan@apple.com>
134710
134711         Reviewed by Steve Falkenburg.
134712
134713         Add a base class for DOMTimer called SuspendableTimer which captures just the
134714         basic functionality of TimerBase and ActiveDOMObject combined.  It does not
134715         contain functionality specific to scripting timers.
134716         
134717         SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651
134718
134719         * Android.mk:
134720         * CMakeLists.txt:
134721         * GNUmakefile.am:
134722         * WebCore.gypi:
134723         * WebCore.pro:
134724         * WebCore.vcproj/WebCore.vcproj:
134725         * WebCore.xcodeproj/project.pbxproj:
134726         * page/DOMTimer.cpp:
134727         (WebCore::DOMTimer::DOMTimer):
134728         (WebCore::DOMTimer::contextDestroyed):
134729         (WebCore::DOMTimer::stop):
134730         * page/DOMTimer.h:
134731         * page/SuspendableTimer.cpp: Added.
134732         (WebCore::SuspendableTimer::SuspendableTimer):
134733         (WebCore::SuspendableTimer::~SuspendableTimer):
134734         (WebCore::SuspendableTimer::hasPendingActivity):
134735         (WebCore::SuspendableTimer::stop):
134736         (WebCore::SuspendableTimer::suspend):
134737         (WebCore::SuspendableTimer::resume):
134738         (WebCore::SuspendableTimer::canSuspend):
134739         * page/SuspendableTimer.h: Added.
134740
134741 2010-05-25  Justin Schuh  <jschuh@chromium.org>
134742
134743         Reviewed by Nate Chapin.
134744
134745         Remove custom bindings for Element.SetAttribute*
134746         https://bugs.webkit.org/show_bug.cgi?id=39604
134747
134748         Custom bindings are no longer needed because origin checks were moved
134749         out of the bindings by: http://trac.webkit.org/changeset/59866
134750
134751         Behavior isn't changed and is covered by existing tests.
134752
134753         * bindings/js/JSElementCustom.cpp:
134754         * bindings/v8/custom/V8ElementCustom.cpp:
134755         * dom/Element.idl:
134756
134757 2010-05-25  Yury Semikhatsky  <yurys@chromium.org>
134758
134759         Reviewed by Pavel Feldman.
134760
134761         Add memory graph to Timeline overview pane.
134762
134763         https://bugs.webkit.org/show_bug.cgi?id=37879
134764
134765         * inspector/front-end/Drawer.js:
134766         (WebInspector.Drawer):
134767         (WebInspector.Drawer.prototype.show.animationFinished):
134768         (WebInspector.Drawer.prototype.show):
134769         (WebInspector.Drawer.prototype.hide):
134770         (WebInspector.Drawer.prototype.set currentPanelCounters):
134771         * inspector/front-end/Panel.js:
134772         * inspector/front-end/TimelineOverviewPane.js:
134773         (WebInspector.TimelineOverviewPane):
134774         (WebInspector.TimelineOverviewPane.prototype.showTimelines):
134775         (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
134776         (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
134777         (WebInspector.TimelineOverviewPane.prototype.update):
134778         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
134779         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
134780         (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
134781         (WebInspector.HeapGraph):
134782         (WebInspector.HeapGraph.prototype.get element):
134783         (WebInspector.HeapGraph.prototype.get visible):
134784         (WebInspector.HeapGraph.prototype.show):
134785         (WebInspector.HeapGraph.prototype.hide):
134786         (WebInspector.HeapGraph.prototype.setSize):
134787         (WebInspector.HeapGraph.prototype.update):
134788         (WebInspector.HeapGraph.prototype._clear):
134789         (WebInspector.HeapGraph.prototype._drawScale):
134790         * inspector/front-end/TimelinePanel.js:
134791         (WebInspector.TimelinePanel):
134792         (WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
134793         (WebInspector.TimelinePanel.prototype.get statusBarItems):
134794         (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
134795         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
134796         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
134797         (WebInspector.TimelinePanel.prototype.show):
134798         (WebInspector.TimelinePanel.prototype.hide):
134799         * inspector/front-end/inspector.css:
134800         (#counters):
134801         (#timeline-overview-sidebar):
134802         (.timeline-category-statusbar-item):
134803         (.timeline-category-statusbar-item .timeline-category-checkbox):
134804         (.timeline-category-statusbar-item .timeline-category-checkbox:checked):
134805         (.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
134806         (.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
134807         (.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
134808         (#timeline-overview-memory):
134809         (.timeline-records-counter):
134810         (#main-status-bar > .timeline-records-counter):
134811         (#counters > .timeline-records-counter):
134812         * inspector/front-end/inspector.html:
134813         * inspector/front-end/utilities.js:
134814         ():
134815
134816 2010-05-25  Adam Barth  <abarth@webkit.org>
134817
134818         Unreviewed.  Fix typo pointed out by Maciej.
134819
134820         * html/HTML5Lexer.cpp:
134821         (WebCore::HTMLNames::unconsumeCharacters):
134822         (WebCore::HTML5Lexer::consumeEntity):
134823
134824 2010-05-25  Adam Barth  <abarth@webkit.org>
134825
134826         Reviewed by Eric Seidel.
134827
134828         Fix <noembed> and <plaintext> content models
134829         https://bugs.webkit.org/show_bug.cgi?id=39653
134830
134831         PLAINTEXTState is my favorite lexer state.  :)
134832
134833         * html/HTML5TreeBuilder.cpp:
134834         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
134835
134836 2010-05-24  Adam Barth  <abarth@webkit.org>
134837
134838         Reviewed by Eric Seidel.
134839
134840         First cut at HTML5 entities
134841         https://bugs.webkit.org/show_bug.cgi?id=39649
134842
134843         There's still a bunch more work to do to get our entity parsing fully
134844         up to spec.  This patch contains the bulk of the implementation
134845         however.
134846         
134847         The basics are covered by the existing html5lib tests.  I'll add more
134848         detailed tests in a followup patch.
134849
134850         * html/HTML5Lexer.cpp:
134851         (WebCore::HTMLNames::legalEntityFor):
134852         (WebCore::HTMLNames::isHexDigit):
134853         (WebCore::HTMLNames::isAlphaNumeric):
134854         (WebCore::HTMLNames::uncomsumeCharacters):
134855         (WebCore::HTML5Lexer::consumeEntity):
134856         (WebCore::HTML5Lexer::nextToken):
134857         (WebCore::HTML5Lexer::haveBufferedCharacterToken):
134858         * html/HTML5Lexer.h:
134859         (WebCore::HTML5Lexer::):
134860         * html/HTML5Tokenizer.cpp:
134861         (WebCore::HTML5Tokenizer::write):
134862
134863 2010-05-24  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
134864
134865         Reviewed by Kenneth Rohde Christiansen.
134866
134867         [Qt] Fix compilation with QT_NO_TEMPORARYFILE
134868         https://bugs.webkit.org/show_bug.cgi?id=38324
134869
134870         * platform/qt/FileSystemQt.cpp:
134871         (WebCore::openTemporaryFile):
134872
134873 2010-05-24  Andrey Kosyakov  <caseq@chromium.org>
134874
134875         Reviewed by Yury Semikhatsky.
134876
134877         Fixed handling of bare '/' and '?' at console prompt.
134878         https://bugs.webkit.org/show_bug.cgi?id=39585
134879
134880         * inspector/front-end/inspector.js:
134881         (WebInspector.documentKeyDown):
134882
134883 2010-05-24  Andreas Kling  <andreas.kling@nokia.com>
134884
134885         Reviewed by Sam Weinig.
134886
134887         The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.
134888
134889         Spec link:
134890         http://www.w3.org/TR/WebIDL/#interface-object
134891
134892         https://bugs.webkit.org/show_bug.cgi?id=39436
134893
134894         Test: fast/dom/prototype-property.html
134895
134896         * bindings/scripts/CodeGeneratorJS.pm:
134897
134898 2010-05-24  Eric Seidel  <eric@webkit.org>
134899
134900         Reviewed by Adam Barth.
134901
134902         Add RCDATA and RAWTEXT suport to the HTML5 parser
134903         https://bugs.webkit.org/show_bug.cgi?id=39642
134904
134905         Adam Barth wrote half of this patch.
134906
134907         * html/HTML5TreeBuilder.cpp:
134908         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
134909
134910 2010-05-24  Tony Chang  <tony@chromium.org>
134911
134912         Not reviewed, build fix.
134913
134914         Fix the chromium compile due to pageZoomFactor refactoring.
134915
134916         * page/EventHandler.cpp:
134917         (WebCore::pageZoomFactor):
134918
134919 2010-05-24  Jer Noble  <jer.noble@apple.com>
134920
134921         Reviewed by Eric Carlson.
134922
134923         HTML5 <video> tag performance worse than Flash
134924         https://bugs.webkit.org/show_bug.cgi?id=39577
134925         rdar://problem/7982458
134926         
134927         Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
134928         
134929         WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
134930         a CAImageQueueRef to be set as a layer's contents.
134931         
134932         WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
134933         
134934         MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
134935         certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
134936         threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
134937         
134938         * WebCore.vcproj/WebCore.vcproj:
134939         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
134940         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
134941         * platform/graphics/win/QTPixelBuffer.cpp:
134942         * platform/graphics/win/QTPixelBuffer.h:
134943         * platform/graphics/win/WKCACFLayer.cpp:
134944         * platform/graphics/win/WKCACFLayer.h:
134945         * platform/graphics/win/WKCAImageQueue.cpp: Added.
134946         * platform/graphics/win/WKCAImageQueue.h: Added.
134947
134948 2010-05-24  Adam Barth  <abarth@webkit.org>
134949
134950         Reviewed by Eric Seidel.
134951
134952         Teach the HTML5 parser how to lex escaped script data
134953         https://bugs.webkit.org/show_bug.cgi?id=39630
134954
134955         * html/HTML5Lexer.cpp:
134956         (WebCore::HTMLNames::vectorEqualsString):
134957         (WebCore::HTML5Lexer::nextToken):
134958         (WebCore::HTML5Lexer::temporaryBufferIs):
134959         (WebCore::HTML5Lexer::isAppropriateEndTag):
134960         (WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
134961         (WebCore::HTML5Lexer::flushBufferedEndTag):
134962         * html/HTML5Lexer.h:
134963
134964 2010-05-24  Eric Seidel  <eric@webkit.org>
134965
134966         Unreviewed.  Trick MSVC into ignoring our unused code for the moment.
134967
134968         Prepare HTML5TreeBuilder for addition of new HTML5 parser code
134969         https://bugs.webkit.org/show_bug.cgi?id=39623
134970
134971         * html/HTML5TreeBuilder.cpp:
134972         (WebCore::HTML5TreeBuilder::constructTreeFromToken):
134973
134974 2010-05-24  Darin Adler  <darin@apple.com>
134975
134976         Fix build on platforms with touch code enabled.
134977
134978         * page/EventHandler.cpp:
134979         (WebCore::pageZoomFactor): Added.
134980         (WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.
134981
134982 2010-05-24  Darin Adler  <darin@apple.com>
134983
134984         Reviewed by Eric Seidel.
134985
134986         Move view-related functions from Frame to FrameView
134987         https://bugs.webkit.org/show_bug.cgi?id=39366
134988
134989         Refactoring only so adds no new tests.
134990
134991         * WebCore.base.exp: Updated.
134992
134993         * css/CSSStyleSelector.cpp:
134994         (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
134995         on FrameView.
134996         (WebCore::CSSStyleSelector::applyProperty): Ditto.
134997         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
134998         * dom/Document.cpp:
134999         (WebCore::Document::elementFromPoint): Ditto.
135000         (WebCore::Document::caretRangeFromPoint): Ditto.
135001         * dom/MouseRelatedEvent.cpp:
135002         (WebCore::contentsX): Ditto.
135003         (WebCore::contentsY): Ditto.
135004         (WebCore::pageZoomFactor): Added helper function.
135005         (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
135006         (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
135007         * dom/Node.cpp:
135008         (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
135009         (WebCore::Node::dispatchWheelEvent): Ditto.
135010         * dom/Touch.cpp:
135011         (WebCore::contentsX): Call zoom factor function on FrameView.
135012         (WebCore::contentsY): Ditto.
135013         * html/HTMLBodyElement.cpp:
135014         (WebCore::adjustForZoom): Ditto.
135015         (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
135016         (WebCore::HTMLBodyElement::setScrollTop): Ditto.
135017         * html/HTMLImageElement.cpp:
135018         (WebCore::HTMLImageElement::width): Ditto.
135019         (WebCore::HTMLImageElement::height): Ditto.
135020         * loader/ImageDocument.cpp:
135021         (WebCore::pageZoomFactor): Added helper function.
135022         (WebCore::ImageTokenizer::finish): Use helper function
135023         (WebCore::ImageDocument::scale): Ditto.
135024         (WebCore::ImageDocument::resizeImageToFit): Ditto.
135025         (WebCore::ImageDocument::imageChanged): Ditto.
135026         (WebCore::ImageDocument::restoreImageSize): Ditto.
135027         (WebCore::ImageDocument::imageFitsInWindow): Ditto.
135028         * page/DOMWindow.cpp:
135029         (WebCore::DOMWindow::innerHeight): Ditto.
135030         (WebCore::DOMWindow::innerWidth): Ditto.
135031         (WebCore::DOMWindow::scrollX): Ditto.
135032         (WebCore::DOMWindow::scrollY): Ditto.
135033         (WebCore::DOMWindow::scrollTo): Ditto.
135034         * page/DragController.cpp:
135035         (WebCore::elementUnderMouse): Ditto.
135036
135037         * page/Frame.cpp:
135038         (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
135039         * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
135040         margin to make the style consistent. Removed empty function
135041         removeEditingStyleFromBodyElement.
135042
135043         * page/FrameView.cpp:
135044         (WebCore::parentZoomFactor): Added helper function for constructor.
135045         (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
135046         (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
135047         (WebCore::FrameView::shouldApplyPageZoom): Ditto.
135048         (WebCore::FrameView::setZoomFactor): Ditto.
135049
135050         * page/FrameView.h: Added members moved here from Frame.
135051
135052         * rendering/RenderView.cpp:
135053         (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
135054         * svg/SVGSVGElement.cpp:
135055         (WebCore::SVGSVGElement::currentScale): Ditto.
135056         (WebCore::SVGSVGElement::setCurrentScale): Ditto.
135057
135058 2010-05-24  Jer Noble  <jer.noble@apple.com>
135059
135060         No review; build fix only.
135061
135062         Roll-out changes r60094, 60096-60097.
135063         
135064         * WebCore.vcproj/WebCore.vcproj:
135065         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135066         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
135067         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
135068         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
135069         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
135070         * platform/graphics/win/QTPixelBuffer.cpp:
135071         * platform/graphics/win/QTPixelBuffer.h:
135072         * platform/graphics/win/WKCACFLayer.cpp:
135073         (WebCore::WKCACFLayer::printLayer):
135074         * platform/graphics/win/WKCACFLayer.h:
135075         (WebCore::WKCACFLayer::setContents):
135076         (WebCore::WKCACFLayer::contents):
135077         (WebCore::WKCACFLayer::speed):
135078         (WebCore::WKCACFLayer::timeOffset):
135079         * platform/graphics/win/WKCAImageQueue.cpp: Removed.
135080         * platform/graphics/win/WKCAImageQueue.h: Removed.
135081
135082 2010-05-24  Eric Seidel  <eric@webkit.org>
135083
135084         Unreviewed.  Add wtf/UnusedParam.h include to make Chromium happy.
135085
135086         Chromium does not use a prefix header in order to support
135087         distcc3.  Other ports all do.  The real fix is to remove
135088         wtf/UnusedParam.h from the prefix header.
135089
135090         * html/HTML5TreeBuilder.cpp:
135091
135092 2010-05-24  Jer Noble  <jer.noble@apple.com>
135093
135094         No review; build fix only.
135095
135096         Second half of previous build fix, in which I add the include in the correct place.
135097
135098         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135099
135100 2010-05-24  Jer Noble  <jer.noble@apple.com>
135101
135102         No review; build fix only.
135103
135104         Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.
135105
135106         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135107
135108 2010-05-24  Eric Seidel  <eric@webkit.org>
135109
135110         Reviewed by Adam Barth.
135111
135112         Prepare HTML5TreeBuilder for addition of new HTML5 parser code
135113         https://bugs.webkit.org/show_bug.cgi?id=39623
135114
135115         Before we start transcribing the parser, we need a place to put it.
135116
135117         This also cleans up HTML5 token to not convert comment and character
135118         data into AtomicStrings (which makes no sense).
135119
135120         No functionality change, so no new tests.
135121
135122         * html/HTML5Token.h:
135123         (WebCore::HTML5Token::beginStartTag):
135124         (WebCore::HTML5Token::beginEndTag):
135125         (WebCore::HTML5Token::beginCharacter):
135126         (WebCore::HTML5Token::beginComment):
135127         (WebCore::HTML5Token::name):
135128         (WebCore::HTML5Token::adoptDataAsStringImpl):
135129         (WebCore::HTML5Token::characters):
135130         (WebCore::HTML5Token::commentData):
135131         (WebCore::HTML5Token::clearData):
135132         * html/HTML5TreeBuilder.cpp:
135133         (WebCore::convertToOldStyle):
135134         (WebCore::HTML5TreeBuilder::constructTreeFromToken):
135135         (WebCore::HTML5TreeBuilder::processToken):
135136         * html/HTML5TreeBuilder.h:
135137
135138 2010-05-23  Jer Noble  <jer.noble@apple.com>
135139
135140         Reviewed by Eric Carlson.
135141
135142         HTML5 <video> tag performance worse than Flash
135143         https://bugs.webkit.org/show_bug.cgi?id=39577
135144         rdar://problem/7982458
135145         
135146         Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
135147         
135148         WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
135149         a CAImageQueueRef to be set as a layer's contents.
135150         
135151         WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
135152         
135153         MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
135154         certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
135155         threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
135156         
135157         * WebCore.vcproj/WebCore.vcproj:
135158         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135159         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
135160         * platform/graphics/win/QTPixelBuffer.cpp:
135161         * platform/graphics/win/QTPixelBuffer.h:
135162         * platform/graphics/win/WKCACFLayer.cpp:
135163         * platform/graphics/win/WKCACFLayer.h:
135164         * platform/graphics/win/WKCAImageQueue.cpp: Added.
135165         * platform/graphics/win/WKCAImageQueue.h: Added.
135166
135167 2010-05-24  Brady Eidson  <beidson@apple.com>
135168
135169         Reviewed by Darin Adler.
135170
135171         Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
135172         <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
135173
135174         Currently, a Tracker needs to know it's path before origins are populated. Testing databases and 
135175         related features is made very difficult with this regression, so instead of changing things in a
135176         complicated way to make this not the case, I've added an "initialize Tracker with this path" function
135177         that calls the DatabaseTracker constructor with the initial path.
135178
135179         I checked the other platforms besides Mac and Win, and none of them seem to perform the 
135180         "initialize databases if necessary" step in their init routines, so this change shouldn't effect them.
135181
135182         No new tests. (API specific layout test in DRT is forthcoming)
135183
135184         * WebCore.base.exp:
135185
135186         * storage/DatabaseTracker.cpp:
135187         (WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
135188         (WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
135189           can share it. Add a fallback to not change behavior of platforms that don't call the new 
135190           "initializeTracker()" method.
135191         (WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
135192         * storage/DatabaseTracker.h:
135193
135194         * storage/chromium/DatabaseTrackerChromium.cpp:
135195         (WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
135196         (WebCore::DatabaseTracker::DatabaseTracker): Ditto.
135197
135198 2010-05-24  Adam Barth  <abarth@webkit.org>
135199
135200         Reviewed by Eric Seidel.
135201
135202         Teach the HTML5 parser to lex DOCTYPEs
135203         https://bugs.webkit.org/show_bug.cgi?id=39571
135204
135205         * html/HTML5Lexer.cpp:
135206         (WebCore::HTML5Lexer::nextToken):
135207         * html/HTML5Lexer.h:
135208         * html/HTML5Token.h:
135209         (WebCore::HTML5Token::beginDOCTYPE):
135210         (WebCore::HTML5Token::publicIdentifier):
135211         (WebCore::HTML5Token::systemIdentifier):
135212         (WebCore::HTML5Token::setPublicIdentifierToEmptyString):
135213         (WebCore::HTML5Token::setSystemIdentifierToEmptyString):
135214         (WebCore::HTML5Token::appendToPublicIdentifier):
135215         (WebCore::HTML5Token::appendToSystemIdentifier):
135216         (WebCore::HTML5Token::DoctypeData::DoctypeData):
135217         * html/HTML5TreeBuilder.cpp:
135218         (WebCore::convertToOldStyle):
135219         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
135220         * platform/text/SegmentedString.h:
135221         (WebCore::SegmentedString::lookAheadIgnoringCase):
135222         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
135223
135224 == Rolled over to ChangeLog-2010-05-24 ==