9133ed3c45400c885426299e2aac66b218c7c6b1
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-30  Adam Roben  <aroben@apple.com>
2
3         Let VS do its thang with WebCore.vcproj
4
5         I just removed and readded AnimationBase.cpp.
6
7         Rubber-stamped by Steve Falkenburg.
8
9         * WebCore.vcproj/WebCore.vcproj:
10
11 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
12
13         Reviewed by Chris Fleizach.
14
15         ASSERT failing for combo boxes when selection changes
16         https://bugs.webkit.org/show_bug.cgi?id=50062
17
18         Don't call listBoxOnChange for elements using menu lists.
19
20         Test: fast/forms/select-option-accesskey-crash.html
21
22         * dom/SelectElement.cpp:
23         (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
24         to decide whether to call menuListOnChange() or listBoxOnChange()
25         instead of always calling listBoxOnChange().
26
27 2010-11-30  Andreas Kling  <kling@webkit.org>
28
29         Reviewed by Dirk Schulze.
30
31         GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument.
32         https://bugs.webkit.org/show_bug.cgi?id=48516
33
34         No new tests, this is refactoring only.
35
36         fillPath() -> fillPath(const Path&)
37         strokePath() -> strokePath(const Path&)
38         clipPath(WindRule) -> clipPath(const Path&, WindRule)
39
40         drawPath() was only used by CG, so made it PLATFORM(CG) specific.
41
42         The Qt, CG and Cairo implementations are best-effort.
43         For the rest, I've put beginPath/addPath and FIXMEs in the three affected methods.
44
45         * WebCore.exp.in:
46         * html/canvas/CanvasRenderingContext2D.cpp:
47         (WebCore::CanvasRenderingContext2D::fill):
48         (WebCore::CanvasRenderingContext2D::stroke):
49         * inspector/InspectorController.cpp:
50         (WebCore::drawOutlinedQuad):
51         * mathml/RenderMathMLRoot.cpp:
52         (WebCore::RenderMathMLRoot::paint):
53         * mathml/RenderMathMLSquareRoot.cpp:
54         (WebCore::RenderMathMLSquareRoot::paint):
55         * platform/graphics/GraphicsContext.h:
56         * platform/graphics/GraphicsContextPrivate.h:
57         * platform/graphics/cairo/GraphicsContextCairo.cpp:
58         (WebCore::GraphicsContext::fillPath):
59         (WebCore::GraphicsContext::strokePath):
60         (WebCore::GraphicsContext::clipPath):
61         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
62         * platform/graphics/cg/GraphicsContextCG.cpp:
63         (WebCore::GraphicsContext::drawEllipse):
64         (WebCore::addConvexPolygonToPath):
65         (WebCore::GraphicsContext::drawConvexPolygon):
66         (WebCore::GraphicsContext::clipConvexPolygon):
67         (WebCore::GraphicsContext::drawPath):
68         (WebCore::GraphicsContext::fillPath):
69         (WebCore::GraphicsContext::strokePath):
70         (WebCore::GraphicsContext::fillRoundedRect):
71         (WebCore::GraphicsContext::clipPath):
72         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
73         (WebCore::GraphicsContext::strokePath):
74         (WebCore::GraphicsContext::fillPath):
75         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
76         (WebCore::GraphicsContext::fillPath):
77         (WebCore::GraphicsContext::strokePath):
78         (WebCore::GraphicsContext::clipPath):
79         * platform/graphics/qt/GraphicsContextQt.cpp:
80         (WebCore::GraphicsContext::restorePlatformState):
81         (WebCore::GraphicsContext::fillPath):
82         (WebCore::GraphicsContext::strokePath):
83         (WebCore::GraphicsContext::clipPath):
84         (WebCore::GraphicsContext::strokeRect):
85         (WebCore::GraphicsContext::translate):
86         (WebCore::GraphicsContext::rotate):
87         (WebCore::GraphicsContext::scale):
88         (WebCore::GraphicsContext::concatCTM):
89         * platform/graphics/skia/GraphicsContextSkia.cpp:
90         (WebCore::GraphicsContext::clipPath):
91         (WebCore::GraphicsContext::fillPath):
92         (WebCore::GraphicsContext::strokePath):
93         * platform/graphics/wince/GraphicsContextWinCE.cpp:
94         (WebCore::GraphicsContext::fillPath):
95         (WebCore::GraphicsContext::strokePath):
96         (WebCore::GraphicsContext::clipPath):
97         * platform/graphics/wx/GraphicsContextWx.cpp:
98         (WebCore::GraphicsContext::clipPath):
99         (WebCore::GraphicsContext::fillPath):
100         (WebCore::GraphicsContext::strokePath):
101         * rendering/RenderBoxModelObject.cpp:
102         (WebCore::RenderBoxModelObject::paintBorder):
103         (WebCore::RenderBoxModelObject::paintBoxShadow):
104         * rendering/RenderEmbeddedObject.cpp:
105         (WebCore::RenderEmbeddedObject::paintReplaced):
106         * rendering/RenderObject.cpp:
107         (WebCore::RenderObject::drawBoxSideFromPath):
108         * rendering/RenderSVGResource.h:
109         (WebCore::RenderSVGResource::postApplyResource):
110         * rendering/RenderSVGResourceClipper.cpp:
111         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
112         * rendering/RenderSVGResourceFilter.cpp:
113         (WebCore::RenderSVGResourceFilter::postApplyResource):
114         * rendering/RenderSVGResourceFilter.h:
115         * rendering/RenderSVGResourceGradient.cpp:
116         (WebCore::RenderSVGResourceGradient::applyResource):
117         * rendering/RenderSVGResourceGradient.h:
118         * rendering/RenderSVGResourcePattern.cpp:
119         (WebCore::RenderSVGResourcePattern::postApplyResource):
120         * rendering/RenderSVGResourcePattern.h:
121         * rendering/RenderSVGResourceSolidColor.cpp:
122         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
123         * rendering/RenderSVGResourceSolidColor.h:
124         * rendering/SVGRenderSupport.cpp:
125         (WebCore::SVGRenderSupport::finishRenderSVGContent):
126         * rendering/svg/RenderSVGPath.cpp:
127         (WebCore::RenderSVGPath::fillAndStrokePath):
128         * rendering/svg/SVGInlineTextBox.cpp:
129         (WebCore::SVGInlineTextBox::releasePaintingResource):
130         (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
131         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
132         * rendering/svg/SVGInlineTextBox.h:
133         * svg/SVGFont.cpp:
134         (WebCore::Font::drawTextUsingSVGFont):
135
136 2010-11-30  Alexey Proskuryakov  <ap@apple.com>
137
138         Reviewed by Darin Adler and Geoff Garen.
139
140         https://bugs.webkit.org/show_bug.cgi?id=44152
141         <rdar://problem/8324423> CSSOM should match DOM in discarding wrapper-less parents.
142
143         We have existing behaviors where parent objects in detached subtrees are not preserved:
144         - if a root of a node tree doesn't have a wrapper, it's immediately destroyed, making
145         its children parentNode attribute null;
146         - relationship between a <style> or <link> node and its stylesheet is immediately broken
147         when the node is removed from document (in this case, regardless of wrapper existence).
148
149         Both match Firefox. For consistency, CSSOM should do the same. In fact, it already partially
150         does - CSSRule.parentRule gets zeroed out when the parent rule is destroyed.
151
152         Tests: fast/dom/StyleSheet/detached-parent-rule-without-wrapper.html
153                fast/dom/StyleSheet/detached-stylesheet-without-wrapper.html
154
155         * css/StyleSheet.cpp: (WebCore::StyleSheet::~StyleSheet): Clear out child rule parent.
156
157         * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument): Keep
158         the new assertion from firing. This function was adding a rule to style sheet, without
159         telling the rule about it.
160
161 2010-11-30  Steve Falkenburg  <sfalken@apple.com>
162
163         Reviewed by Adam Roben.
164
165         All projects on Windows should use cmd files for build events
166         https://bugs.webkit.org/show_bug.cgi?id=50213
167
168         * WebCore.vcproj/QTMovieWinCommon.vsprops:
169         * WebCore.vcproj/QTMovieWinPostBuild.cmd: Added.
170         * WebCore.vcproj/QTMovieWinPreBuild.cmd: Added.
171         * WebCore.vcproj/WebCoreCommon.vsprops:
172         * WebCore.vcproj/WebCorePostBuild.cmd: Added.
173         * WebCore.vcproj/WebCorePreBuild.cmd: Added.
174
175 2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
176
177         Unreviewed, rolling out r72914.
178         http://trac.webkit.org/changeset/72914
179         https://bugs.webkit.org/show_bug.cgi?id=50241
180
181         "pfeldman has a revision management patch both for CSS and JS"
182         (Requested by apavlov on #webkit).
183
184         * English.lproj/localizedStrings.js:
185         * inspector/InspectorStyleSheet.cpp:
186         (WebCore::InspectorStyleSheet::reparseStyleSheet):
187         * inspector/front-end/CSSStyleModel.js:
188         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
189         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
190         (WebInspector.CSSStyleSheet.prototype.getText):
191         (WebInspector.CSSStyleSheet.prototype.setText):
192         * inspector/front-end/ResourcesPanel.js:
193         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
194         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
195
196 2010-11-25  Satish Sampath  <satish@chromium.org>
197
198         Reviewed by Kent Tamura.
199
200         Fix rendering of speech button when setting the attribute dynamically.
201         https://bugs.webkit.org/show_bug.cgi?id=50077
202
203         * html/HTMLInputElement.cpp:
204         (WebCore::HTMLInputElement::parseMappedAttribute):
205         * rendering/RenderTextControlSingleLine.cpp:
206         (WebCore::RenderTextControlSingleLine::speechAttributeChanged):
207         * rendering/RenderTextControlSingleLine.h:
208
209 2010-11-30  Alexander Pavlov  <apavlov@chromium.org>
210
211         Reviewed by Yury Semikhatsky.
212
213         Web Inspector: Enable switching between revisions of stylesheets
214         https://bugs.webkit.org/show_bug.cgi?id=50227
215
216         Drive-by fix: styleSheetChanged() call needed after a stylesheet reparsing on setStyleSheetText2().
217
218         * English.lproj/localizedStrings.js:
219         * inspector/InspectorStyleSheet.cpp:
220         (WebCore::InspectorStyleSheet::reparseStyleSheet):
221         * inspector/front-end/CSSStyleModel.js:
222         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
223         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
224         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
225         (WebInspector.CSSStyleSheet.prototype.getText):
226         * inspector/front-end/ResourcesPanel.js:
227         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
228         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
229         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
230
231 2010-11-30  John Knottenbelt  <jknotten@chromium.org>
232
233         Reviewed by David Levin.
234
235         V8 binding for DOMTimeStamp should be Number, not Date
236         https://bugs.webkit.org/show_bug.cgi?id=49963
237
238         Test: fast/dom/domtimestamp-is-number.html
239
240         * bindings/scripts/CodeGeneratorV8.pm:
241
242 2010-11-30  Renata Hodovan  <reni@inf.u-szeged.hu>
243
244         Reviewed by Andreas Kling.
245
246         [Qt] Leak with GraphicsContext::takeOwnershipOfPlatformContext()
247         https://bugs.webkit.org/show_bug.cgi?id=49916
248
249         Change the order of calling QPainter::device() and QPainter::end(), so device() will return with a valid device.
250         No new test is needed.
251
252         * platform/graphics/qt/GraphicsContextQt.cpp:
253         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
254
255 2010-11-30  Patrick Gansterer  <paroga@webkit.org>
256
257         Reviewed by Andreas Kling.
258
259         Move generator logic into main CMakeLists.txt file
260         https://bugs.webkit.org/show_bug.cgi?id=49885
261
262         Also make the generator calls more portable.
263
264         * CMakeLists.txt:
265
266 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
267
268         Unreviewed, rolling out r72902.
269         http://trac.webkit.org/changeset/72902
270         https://bugs.webkit.org/show_bug.cgi?id=50062
271
272         This change is causing layout test failures on the Tests bots
273         for the mac platform.
274
275         * dom/SelectElement.cpp:
276         (WebCore::SelectElement::accessKeySetSelectedIndex):
277
278 2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
279
280         Unreviewed, rolling out r72764.
281         http://trac.webkit.org/changeset/72764
282         https://bugs.webkit.org/show_bug.cgi?id=50215
283
284         This change is causing assertion failures on the debug bots.
285         (Requested by mrobinson on #webkit).
286
287         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
288         (webkit_accessible_get_name):
289         (webkit_accessible_detach):
290
291 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
292
293         Reviewed by Yury Semikhatsky.
294
295         Web Inspector: make copy(node) work in console.
296         https://bugs.webkit.org/show_bug.cgi?id=50180
297
298         * inspector/front-end/InjectedScript.js:
299         (injectedScriptConstructor.):
300
301 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
302
303         Reviewed by Darin Adler.
304
305         ASSERT failing for combo boxes when selection changes
306         https://bugs.webkit.org/show_bug.cgi?id=50062
307
308         Don't call listBoxOnChange for elements using menu lists.
309
310         Test: accessibility/select-menulist-crash.html
311
312         * dom/SelectElement.cpp:
313         (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
314         to decide whether to call menuListOnChange() or listBoxOnChange()
315         instead of always calling listBoxOnChange().
316
317 2010-11-30  Helder Correia  <helder@sencha.com>
318
319         Reviewed by Kenneth Rohde Christiansen.
320
321         [Qt] Path stroke shadow has incorrect behavior when using ctx.scale(x,y)
322         https://bugs.webkit.org/show_bug.cgi?id=50198
323
324         Handle the special case when scaling is used and translate the shadow
325         offset accordingly. The correct behavior is ensured in ContextShadow
326         already, the issue only happens when using a non-blur shadow.
327
328         Test: fast/canvas/canvas-scale-strokePath-shadow.html
329
330         * platform/graphics/qt/GraphicsContextQt.cpp:
331         (WebCore::GraphicsContext::strokePath):
332
333 2010-11-30  Helder Correia  <helder@sencha.com>
334
335         Reviewed by Kenneth Rohde Christiansen.
336
337         [Qt] Path filling should keep shadow offset after context scaling
338         https://bugs.webkit.org/show_bug.cgi?id=50194
339
340         Handle the special case when scaling is used and translate the shadow
341         offset accordingly. The correct behavior is ensured in ContextShadow
342         already, the issue only happens when using a non-blur shadow.
343
344         Test: fast/canvas/canvas-scale-fillPath-shadow.html
345
346         * platform/graphics/qt/GraphicsContextQt.cpp:
347         (WebCore::GraphicsContext::fillPath):
348
349 2010-11-30  Yury Semikhatsky  <yurys@chromium.org>
350
351         Reviewed by Pavel Feldman.
352
353         Web Inspector: make ScriptCallStack and ScriptArguments reference counted
354         https://bugs.webkit.org/show_bug.cgi?id=50156
355
356         No new tests. This refactoring is covered with existing inspector tests.
357
358         * bindings/js/JSConsoleCustom.cpp:
359         (WebCore::JSConsole::profile):
360         (WebCore::JSConsole::profileEnd):
361         * bindings/js/ScriptCallStackFactory.cpp:
362         (WebCore::createScriptCallStack):
363         (WebCore::createScriptArguments):
364         * bindings/js/ScriptCallStackFactory.h:
365         * bindings/scripts/CodeGeneratorJS.pm:
366         * bindings/scripts/CodeGeneratorV8.pm:
367         * bindings/scripts/test/JS/JSTestObj.cpp:
368         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
369         * bindings/scripts/test/V8/V8TestObj.cpp:
370         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
371         * bindings/v8/ScriptCallStackFactory.cpp:
372         (WebCore::createScriptCallStack):
373         (WebCore::createScriptArguments):
374         * bindings/v8/ScriptCallStackFactory.h:
375         * bindings/v8/V8ConsoleMessage.cpp:
376         (WebCore::V8ConsoleMessage::handler):
377         (WebCore::V8ConsoleMessage::dispatchNow):
378         * bindings/v8/V8ConsoleMessage.h:
379         * bindings/v8/custom/V8ConsoleCustom.cpp:
380         (WebCore::V8Console::traceCallback):
381         (WebCore::V8Console::assertCallback):
382         (WebCore::V8Console::profileCallback):
383         (WebCore::V8Console::profileEndCallback):
384         * inspector/ConsoleMessage.cpp:
385         (WebCore::ConsoleMessage::ConsoleMessage):
386         * inspector/ConsoleMessage.h:
387         * inspector/InspectorController.cpp:
388         (WebCore::InspectorController::addMessageToConsole):
389         (WebCore::InspectorController::startGroup):
390         * inspector/InspectorController.h:
391         * inspector/ScriptArguments.cpp:
392         (WebCore::ScriptArguments::create):
393         * inspector/ScriptArguments.h:
394         * inspector/ScriptCallFrame.h:
395         * inspector/ScriptCallStack.cpp:
396         (WebCore::ScriptCallStack::create):
397         (WebCore::ScriptCallStack::at):
398         (WebCore::ScriptCallStack::size):
399         * inspector/ScriptCallStack.h:
400         * page/Console.cpp:
401         (WebCore::Console::addMessage):
402         (WebCore::Console::debug):
403         (WebCore::Console::error):
404         (WebCore::Console::info):
405         (WebCore::Console::log):
406         (WebCore::Console::dir):
407         (WebCore::Console::dirxml):
408         (WebCore::Console::trace):
409         (WebCore::Console::assertCondition):
410         (WebCore::Console::count):
411         (WebCore::Console::markTimeline):
412         (WebCore::Console::profile):
413         (WebCore::Console::profileEnd):
414         (WebCore::Console::timeEnd):
415         (WebCore::Console::group):
416         (WebCore::Console::groupCollapsed):
417         (WebCore::Console::warn):
418         * page/Console.h:
419
420 2010-11-29  Dan Bernstein  <mitz@apple.com>
421
422         Build fix for non-ICU platforms after r72887.
423
424         * editing/TextIterator.cpp:
425         (WebCore::SearchBuffer::prependContext):
426
427 2010-11-29  Dan Bernstein  <mitz@apple.com>
428
429         Reviewed by Darin Adler.
430
431         WebCore part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
432         https://bugs.webkit.org/show_bug.cgi?id=50038
433
434         Test: editing/text-iterator/findString.html
435
436         * GNUmakefile.am: Added FindOptions.h.
437         * WebCore.exp.in: Export the new methods that take FindOptions.
438         * WebCore.gypi: Added FindOptions.h.
439         * WebCore.pro: Added FindOptions.h and TextBoundaries.{cpp,h}.
440         * WebCore.vcproj/WebCore.vcproj: Added FindOptions.h.
441         * WebCore.xcodeproj/project.pbxproj: Added FindOptions.h and TextBoundaries.cpp.
442         * editing/Editor.cpp:
443         (WebCore::Editor::firstVisibleRange): Changed to use FindOptions.
444         (WebCore::Editor::lastVisibleRange): Ditto.
445         (WebCore::Editor::nextVisibleRange): Ditto.
446         (WebCore::Editor::findString): Ditto.
447         (WebCore::Editor::countMatchesForText): Ditto.
448         * editing/Editor.h: Added a version of findString() that takes FindOptions. Changed
449         countMatchesForText() to take FindOptions. Made nextVisibleRange() private and changed it
450         and firstVisibleRange() and lastVisibleRange() to take FindOptions.
451         * editing/FindOptions.h: Added.
452         * editing/TextIterator.cpp:
453         Augmented SearchBuffer with an optional prefix, which is not searched, but provides context
454         for determining word boundaries.
455         (WebCore::isSeparator): Added. Identifies a class of characters used to determine where
456         “words” are embedded in a word.
457         (WebCore::SearchBuffer::SearchBuffer): Changed to take FindOptions. Added initialization of
458         m_options, m_prefixLength and m_needsMoreContext.
459         (WebCore::SearchBuffer::append): Adjust m_prefixLength as part of the prefix gets pushed out
460         of the buffer.
461         (WebCore::SearchBuffer::needsMoreContext): Added.
462         (WebCore::SearchBuffer::prependContext): Added.
463         (WebCore::SearchBuffer::isWordStartMatch): Added.
464         (WebCore::SearchBuffer::search): Changed to account for the context prefix. When searching
465         only for word prefix matches, maintains enough context before a tentative match when moving
466         it to the beginning of the buffer. Reject matches that are not at word starts if requested.
467         Adjust m_prefixLength when pushing characters out of the buffer.
468         (WebCore::findPlainText): Changed to work with FindOptions. Feed the search buffer with context
469         if and as long as it requires more of it.
470         * editing/TextIterator.h: Added a version of findPlainText() that takes FindOptions.
471         * editing/visible_units.cpp: Moved {end,start}Of{First,Last}WordBoundary to TextBoundaries.cpp.
472         * page/Page.cpp:
473         (WebCore::Page::findString): Changed to work with FindOptions.
474         (WebCore::Page::markAllMatchesForText): Ditto.
475         * page/Page.h: Added FindOptions-based findString() and markAllMatchesForText().
476         * platform/text/TextBoundaries.cpp:
477         (WebCore::endOfFirstWordBoundaryContext): Moved here from visible_units.cpp.
478         (WebCore::startOfLastWordBoundaryContext): Ditto.
479         * platform/text/TextBoundaries.h:
480
481 2010-11-29  Dai Mikurube  <dmikurube@google.com>
482
483         Reviewed by Kent Tamura.
484
485         when empty, clicking "down" on outer-spin-button returns "max value"
486         https://bugs.webkit.org/show_bug.cgi?id=45491
487
488         Modified stepping-up/down from renderer
489         - to clamp steps,
490         - to handle empty values (described below), and
491         - to apply them for range type inputs.
492
493         Stepping-up/down for empty values are handled "the empty as 0."
494         For example :
495         * If 0 is in-range, and matches to step value
496           "down" -> -step
497           "up" -> +step
498           If -step or +step is out of range, new value should be 0.
499
500         * If 0 is smaller than the minimum value
501           "down" -> the minimum value
502           "up" -> the minimum value
503
504         * If 0 is larger than the maximum value
505           "down" -> the maximum value
506           "up" -> the maximum value
507
508         * If 0 is in-range, but not matched to step value
509           "down" -> smaler matched value nearest to 0.
510             e.g. <input type=number min=-100 step=3> -> -1
511           "up" -> larger matched value nearest to 0.
512             e.g. <input type=number min=-100 step=3> -> 2
513
514         As for date/datetime-local/month/time/week types, the empty is assumed as "current local date/time".
515         As for datetime type, the empty is assumed as "current date/time in UTC".
516
517         As for range input types, changed stepping from renderer to use stepUpFromRenderer().
518         It was calculated with stepUp() from RangeInputType::handleKeydownEvent().
519
520         Test: fast/forms/input-stepup-stepdown-from-renderer.html
521
522         * html/BaseDateAndTimeInputType.cpp:
523         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
524         * html/BaseDateAndTimeInputType.h:
525         * html/DateTimeInputType.cpp:
526         (WebCore::DateTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current UTC time
527         * html/DateTimeInputType.h:
528         * html/HTMLInputElement.cpp:
529         (WebCore::HTMLInputElement::stepUpFromRenderer): Modified it to clamp steps, support empty values and support range type inputs
530         * html/HTMLInputElement.h:
531         (WebCore::HTMLInputElement::isRangeControl):
532         * html/InputType.cpp:
533         (WebCore::InputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns 0
534         * html/InputType.h:
535         * html/MonthInputType.cpp:
536         (WebCore::MonthInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local month
537         * html/MonthInputType.h:
538         * html/RangeInputType.cpp:
539         (WebCore::RangeInputType::handleKeydownEvent): Added comments and modified it to use stepUpFromRenderer()
540         * html/TimeInputType.cpp:
541         (WebCore::TimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
542         * html/TimeInputType.h:
543         * 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.
544
545 2010-11-29  Adam Barth  <abarth@webkit.org>
546
547         Reviewed by Darin Adler.
548
549         Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
550         https://bugs.webkit.org/show_bug.cgi?id=50182
551
552         A display-isolated URL can only be displayed (e.g., put in an iframe,
553         hyperlinked to) by documents from that scheme.  In a sense, this is a
554         generalization of some of the protections we give file URLs, but
555         instead of lumping them all together into one "local" bucket, this
556         patch creates a separate bucket for each scheme.
557
558         For a while, I tried using a separate bucket for each origin.  That
559         would have played nicely with what Blob URLs are trying to do, but some
560         "chrome" URL pages rely on being able to display other chrome URL
561         pages, even in different origins.  For example, the New Tab Page shows
562         thumbnails from the "thumbnail" host.
563
564         This patch also removes a bunch of unused code.  I've also propagated
565         the "deprecated" status of deprecatedCanDisplay to
566         deprecatedShouldTreatURLAsLocal because that method has no other
567         callers and is really asking for uppercase/lowercase bugs.  I dream of
568         someday removing these functions.
569
570         * page/SecurityOrigin.cpp:
571         (WebCore::SecurityOrigin::canDisplay):
572         (WebCore::SecurityOrigin::deprecatedCanDisplay):
573         * platform/SchemeRegistry.cpp:
574         (WebCore::displayIsolatedURLSchemes):
575         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
576         (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
577         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
578         (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
579         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
580         * platform/SchemeRegistry.h:
581
582 2010-11-29  Sergio Villar Senin  <svillar@igalia.com>
583
584         Reviewed by Martin Robinson.
585
586         [GTK] Leaks in SoupCache code
587         https://bugs.webkit.org/show_bug.cgi?id=50161
588
589         Fixes some memory leaks in SoupCache code.
590
591         * platform/network/soup/cache/soup-http-input-stream.c:
592         (send_async_finished): Added a missing g_object_unref.
593         * platform/network/soup/cache/webkit/soup-cache.c:
594         (get_cacheability): Added soup_header_free_param_list.
595         (webkit_soup_cache_entry_set_freshness): Ditto.
596         (webkit_soup_cache_send_response): Ditto.
597         (webkit_soup_cache_has_response): Ditto.
598
599 2010-11-29  Jian Li  <jianli@chromium.org>
600
601         Reviewed by David Levin.
602
603         Add send(ArrayBuffer) to XMLHttpRequest per XMLHttpRequest Level 2 spec
604         https://bugs.webkit.org/show_bug.cgi?id=50199
605
606         Test: http/tests/xmlhttprequest/send-array-buffer.html
607
608         * bindings/js/JSXMLHttpRequestCustom.cpp:
609         (WebCore::JSXMLHttpRequest::send):
610         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
611         (WebCore::V8XMLHttpRequest::sendCallback):
612         * xml/XMLHttpRequest.cpp:
613         (WebCore::XMLHttpRequest::send):
614         * xml/XMLHttpRequest.h:
615
616 2010-11-29  James Robinson  <jamesr@chromium.org>
617
618         [chromium] REGRESSION(72470): Crash in skia on some images
619         https://bugs.webkit.org/show_bug.cgi?id=50201
620
621         Reverts r72470
622
623         * platform/graphics/skia/ImageSkia.cpp:
624         (WebCore::computeResamplingMode):
625         (WebCore::drawResampledBitmap):
626
627 2010-11-29  Dmitry Titov  <dimich@chromium.org>
628
629         Reviewed by David Levin.
630
631         Crash when iframe transfers from one page to another and has child frames.
632         https://bugs.webkit.org/show_bug.cgi?id=50200
633
634         * page/Frame.cpp:
635         (WebCore::Frame::transferChildFrameToNewDocument):
636         avoid overriding 'didTransfer' which has the result of previous check.
637
638 2010-11-19  Ryosuke Niwa  <rniwa@webkit.org>
639
640         Reviewed by David Hyatt.
641
642         up arrow doesn't work with RTL text with word wrapping
643         https://bugs.webkit.org/show_bug.cgi?id=41987
644
645         The bug was caused by positionForPoint's not returning the correct affinity when the x coordiate
646         is to the left of the first line, and startOfLine's incorrectly moving position to the previous candidate.
647
648         Fixed the bug by returning upstream VisiblePosition in positionForPoint if the first inline text box's offset
649         is greater than 0.  Also removed the code added by http://trac.webkit.org/changeset/23608 since this changeset
650         does not add any test, and the problem described in the changelog reproduces regardless of the code's presence.
651
652         Tests: editing/selection/click-left-of-rtl-wrapping-text.html
653                editing/selection/modify-up-on-rtl-wrapping-text.html
654
655         * editing/visible_units.cpp:
656         (WebCore::startOfLine):
657         * rendering/RenderText.cpp:
658         (WebCore::RenderText::positionForPoint):
659
660 2010-11-29  Ilya Sherman  <isherman@chromium.org>
661
662         Reviewed by Kent Tamura.
663
664         Ensure that option elements are rendered with normal font weight on Windows/Linux
665         https://bugs.webkit.org/show_bug.cgi?id=50055
666
667         * WebCore.gyp/WebCore.gyp: include themeChromiumSkia.css
668         * css/themeChromiumSkia.css: Added.
669         (option): font-weight: normal !important;
670         * rendering/RenderThemeChromiumSkia.cpp:
671         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): include themeChromiumSkia.css
672
673 2010-11-29  Brent Fulgham  <bfulgham@webkit.org>
674
675         Unreviewed build fix.
676
677         * WebCore.vcproj/WebCoreCairo.vsprops: Provide missing WIN_CAIRO
678           definition so that proper targets are build.
679         * platform/graphics/win/cairo/FontPlatformData.h:
680         (WebCore::FontPlatformData::orientation): Add missing implementation.
681
682 2010-11-29  Chris Rogers  <crogers@google.com>
683
684         Reviewed by Kenneth Russell.
685
686         Switch web audio code to use FloatPoint3D instead of Vector3
687         https://bugs.webkit.org/show_bug.cgi?id=50186
688
689         No new tests since audio API is not yet implemented.
690
691         * platform/audio/Cone.cpp:
692         (WebCore::ConeEffect::gain):
693         * platform/audio/Cone.h:
694         * platform/graphics/FloatPoint3D.h:
695         (WebCore::FloatPoint3D::isZero):
696         (WebCore::operator*):
697         (WebCore::FloatPoint3D::distanceTo):
698         * webaudio/AudioListener.h:
699         (WebCore::AudioListener::setPosition):
700         (WebCore::AudioListener::position):
701         (WebCore::AudioListener::setOrientation):
702         (WebCore::AudioListener::orientation):
703         (WebCore::AudioListener::setUpVector):
704         (WebCore::AudioListener::upVector):
705         (WebCore::AudioListener::setVelocity):
706         (WebCore::AudioListener::velocity):
707         * webaudio/AudioPannerNode.cpp:
708         (WebCore::AudioPannerNode::AudioPannerNode):
709         (WebCore::AudioPannerNode::getAzimuthElevation):
710         (WebCore::AudioPannerNode::dopplerRate):
711         (WebCore::AudioPannerNode::distanceConeGain):
712         * webaudio/AudioPannerNode.h:
713         (WebCore::AudioPannerNode::position):
714         (WebCore::AudioPannerNode::setPosition):
715         (WebCore::AudioPannerNode::orientation):
716         (WebCore::AudioPannerNode::setOrientation):
717         (WebCore::AudioPannerNode::velocity):
718         (WebCore::AudioPannerNode::setVelocity):
719
720 2010-11-29  Xiaomei Ji  <xji@chromium.org>
721
722         Reviewed by David Hyatt.
723
724         Right-to-left pages should be scrollable to reveal left overflow.
725         https://bugs.webkit.org/show_bug.cgi?id=23556
726
727         For RTL page, save left layout overflow and include it into the document
728         size during layout. Use the left layout overflow when scroll and paint
729         the page. Behavior on LTR page should be untouched since left layout 
730         overflow is set as 0 for LTR page.
731
732         Tests: fast/dom/horizontal-scrollbar-in-rtl-doesnt-fire-onscroll.html
733                fast/dom/horizontal-scrollbar-in-rtl.html
734                fast/dom/horizontal-scrollbar-when-dir-change.html
735                fast/dom/left-overflow-in-ltr.html
736                fast/dom/right-overflow-in-rtl.html
737
738         * page/FrameView.cpp:
739         (WebCore::FrameView::adjustViewSize): Save negative of left layout overflow as scroll X origin. And includes left layout overflow into document size.
740         * page/mac/WebCoreFrameView.h: Add methods for setting and getting scroll X origin.
741         * platform/ScrollView.cpp:
742         (WebCore::ScrollView::ScrollView):
743         (WebCore::ScrollView::maximumScrollPosition): Minus scroll X origin from maximum horizontal scroll position.
744         (WebCore::ScrollView::minimumScrollPosition):
745         (WebCore::ScrollView::adjustScrollPositionWithinRange):
746         (WebCore::ScrollView::valueChanged):
747         (WebCore::ScrollView::setScrollPosition):
748         (WebCore::ScrollView::updateScrollbars):
749         (WebCore::ScrollView::wheelEvent):
750         * platform/ScrollView.h:
751         * platform/mac/ScrollViewMac.mm:
752         (WebCore::ScrollView::platformSetContentsSize):
753         (WebCore::ScrollView::platformSetScrollPosition):
754         (WebCore::ScrollView::platformSetScrollOriginX):
755         * rendering/RenderBox.cpp:
756         (WebCore::RenderBox::styleDidChange):
757         (WebCore::RenderBox::paintRootBoxDecorations): Include left layout overflow into canvas size.
758         * rendering/RenderView.cpp:
759         (WebCore::RenderView::layout): Save left layout overflow.
760         (WebCore::RenderView::docLeft):
761         (WebCore::RenderView::docWidth): Include left layout overflow into doc width for RTL page.
762         * rendering/RenderView.h:
763
764 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
765
766         Reviewed by Ojan Vafai.
767
768         bunch of pixel failures after http://trac.webkit.org/changeset/72839/
769         https://bugs.webkit.org/show_bug.cgi?id=50188
770         
771         We need to call updateLayerTransform() for reflections, and
772         table rows as well.
773
774         * rendering/RenderReplica.cpp:
775         (WebCore::RenderReplica::layout):
776         * rendering/RenderTableRow.cpp:
777         (WebCore::RenderTableRow::layout):
778         * rendering/RenderTableSection.cpp:
779         (WebCore::RenderTableSection::layoutRows):
780
781 2010-11-29  Xiaomei Ji  <xji@chromium.org>
782
783         Reviewed by David Hyatt.
784
785         Fix tab overflow problem when alignment is not left.
786         https://bugs.webkit.org/show_bug.cgi?id=25459
787
788         I checked WordPad in Windows, TextEdit in Mac, OpenOffice, and Google doc. 
789         In all of them, (when the writing mode is horizontal) when the alignment is not
790         left alignment, the length of tab is computed based on the tab's position
791         relative to the left start of line, not based on the tab's position relative 
792         to the left edge of the document.
793
794         WebKit should follow the same.
795
796         The m_xPos in each TextRun should be relative to the left start of the line, 
797         not left start of its containing block (in right alignment and center alignment,
798         left start of the line is not the same as left start of the containing block).
799         So, when the text is drawn, the width of tab is consistent with the width 
800         computed in RenderBlock::computeInlineDirectionPositionsForLine().
801
802         I did not test vertical writing mode, but I think the same rule should apply.
803
804         Test: fast/dom/tab-in-right-alignment.html
805
806         * platform/graphics/TextRun.h:
807         * rendering/InlineTextBox.cpp:
808         (WebCore::InlineTextBox::textPos):
809         * rendering/InlineTextBox.h:
810
811 2010-11-29  Mikhail Naganov  <mnaganov@chromium.org>
812
813         Reviewed by Pavel Feldman.
814
815         WebInspector: Request JSON-serialized heap snapshot from JS engine.
816         This simplifies heap snapshots interaction and API. Instead of
817         having objects representing snapshot entities, the whole snapshot
818         is transferred to WebInspector and parsed there.
819
820         https://bugs.webkit.org/show_bug.cgi?id=49974
821
822         * bindings/js/ScriptHeapSnapshot.h:
823         (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
824         (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
825         (WebCore::ScriptHeapSnapshot::writeJSON):
826         (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
827         * bindings/v8/ScriptHeapSnapshot.cpp:
828         (WebCore::ScriptHeapSnapshot::writeJSON):
829         * bindings/v8/ScriptHeapSnapshot.h:
830         (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
831         * inspector/Inspector.idl:
832         * inspector/InspectorProfilerAgent.cpp:
833         (WebCore::InspectorProfilerAgent::getProfile):
834         * inspector/front-end/HeapSnapshotView.js:
835         (WebInspector.HeapSnapshotEdgesIterator):
836         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
837         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
838         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
839         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
840         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
841         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
842         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
843         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
844         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
845         (WebInspector.HeapSnapshotNodeWrapper):
846         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
847         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
848         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
849         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
850         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
851         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
852         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
853         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
854         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
855         (WebInspector.HeapSnapshot):
856         (WebInspector.HeapSnapshot.prototype._init):
857         (WebInspector.HeapSnapshot.prototype.get rootEdges):
858         (WebInspector.HeapSnapshotView.prototype.snapshotLoaded):
859         (WebInspector.HeapSnapshotView.prototype._loadProfile.processLoadedSnapshot):
860         (WebInspector.HeapSnapshotView.prototype._loadProfile):
861         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
862         (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
863         (WebInspector.HeapSnapshotView.prototype._prepareProfile):
864         (WebInspector.HeapSnapshotView.prototype._sortData):
865         * inspector/front-end/ProfilesPanel.js:
866         (WebInspector.ProfilesPanel):
867         (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
868         (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
869         * inspector/front-end/inspector.js:
870         (WebInspector.addHeapSnapshotChunk):
871         (WebInspector.finishHeapSnapshot):
872
873 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
874
875         Reviewed by Dave Hyatt.
876
877         layer()->currentTransform() is stale when layout changes the box size
878         https://bugs.webkit.org/show_bug.cgi?id=50175
879         
880         RenderLayer::updateTransform() is fairly expensive, so we
881         have to avoid calling it from RenderBox::applyLayerTransformToRect()
882         every time. This requires that we update the layer's transform
883         during layout, instead of from updateLayerPositions() which is too late.
884         
885         So call updateLayerTransform() from the various layout methods
886         on renderers that can be transformed, and remove it from 
887         updateLayerPositions().
888
889         Test: fast/overflow/overflow-update-transform.html
890
891         * rendering/RenderBlock.cpp:
892         (WebCore::RenderBlock::layoutBlock):
893         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
894         * rendering/RenderBox.cpp:
895         (WebCore::RenderBox::applyLayerTransformToRect):
896         (WebCore::RenderBox::updateLayerTransform):
897         * rendering/RenderBox.h:
898         * rendering/RenderEmbeddedObject.cpp:
899         (WebCore::RenderEmbeddedObject::layout):
900         * rendering/RenderFlexibleBox.cpp:
901         (WebCore::RenderFlexibleBox::layoutBlock):
902         * rendering/RenderIFrame.cpp:
903         (WebCore::RenderIFrame::layout):
904         * rendering/RenderLayer.cpp:
905         (WebCore::RenderLayer::updateLayerPositions):
906         * rendering/RenderReplaced.cpp:
907         (WebCore::RenderReplaced::layout):
908         * rendering/RenderTable.cpp:
909         (WebCore::RenderTable::layout):
910
911 2010-11-29  Chris Rogers  <crogers@google.com>
912
913         Reviewed by Kenneth Russell.
914
915         Add remaining custom JSC web audio bindings
916         https://bugs.webkit.org/show_bug.cgi?id=50172
917
918         No new tests since audio API is not yet implemented.
919
920         * bindings/js/JSAudioBufferSourceNodeCustom.cpp: Added.
921         (WebCore::JSAudioBufferSourceNode::setBuffer):
922         * bindings/js/JSConvolverNodeCustom.cpp: Added.
923         (WebCore::JSConvolverNode::setBuffer):
924         * bindings/js/JSJavaScriptAudioNodeCustom.cpp: Added.
925         (WebCore::JSJavaScriptAudioNode::markChildren):
926         * webaudio/AudioBufferSourceNode.idl:
927         * webaudio/ConvolverNode.idl:
928
929 2010-11-29  Yael Aharon  <yael.aharon@nokia.com>
930
931         Reviewed by Darin Adler.
932
933         HTMLFormElement.elements doesn't include fieldsets
934         https://bugs.webkit.org/show_bug.cgi?id=48193
935
936         Add fieldset and keygen to the list of form collection elements, by making them enumeratable.
937         This patch does not add object element to the list. A separate bug will do that.
938
939         Test: fast/forms/form-collection-elements.html
940
941         * html/HTMLFieldSetElement.h:
942         (WebCore::HTMLFieldSetElement::isEnumeratable):
943         * html/HTMLKeygenElement.h:
944         (WebCore::HTMLKeygenElement::isEnumeratable):
945
946 2010-11-29  Xan Lopez  <xlopez@igalia.com>
947
948         Reviewed by Martin Robinson.
949
950         Get distcheck going.
951
952         * GNUmakefile.am:
953
954 2010-11-29  Alexey Proskuryakov  <ap@apple.com>
955
956         Reviewed by Darin Adler.
957
958         https://bugs.webkit.org/show_bug.cgi?id=50181
959         CSS style declarations don't GC protect parents
960
961         Test: fast/dom/StyleSheet/gc-declaration-parent-rule.html
962
963         * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::markChildren):
964         Protect the parent rule.
965
966 2010-11-29  Ilya Tikhonovsky  <loislo@chromium.org>
967
968         Reviewed by Pavel Feldman.
969
970         Web Inspector: UI fix. In Timeline, Paint events "Location" value is displayed
971         in a confusing manner. The format string should be changed from %d x %d
972         pattern to (%d, %d).
973
974         https://bugs.webkit.org/show_bug.cgi?id=50178
975
976         * English.lproj/localizedStrings.js:
977         * inspector/front-end/TimelinePanel.js:
978         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
979
980 2010-11-29  Darin Adler  <darin@apple.com>
981
982         Reviewed by Andreas Kling.
983
984         Remove a couple unneeded overflow checks
985         https://bugs.webkit.org/show_bug.cgi?id=49816
986
987         * platform/text/TextCodecUTF16.cpp:
988         (WebCore::TextCodecUTF16::encode): Use an ASSERT instead of
989         an overflow check with CRASH.
990
991 2010-11-29  Tony Chang  <tony@chromium.org>
992
993         Unreviewed, disable warnings again on chromium linux
994
995         * WebCore.gyp/WebCore.gyp:
996
997 2010-11-29  Cosmin Truta  <ctruta@chromium.org>
998
999         Reviewed by Nikolas Zimmermann.
1000
1001         getBoundingClientRect: Do not truncate the coordinates to integers
1002         https://bugs.webkit.org/show_bug.cgi?id=48110
1003
1004         Remove the float-to-int coordinate conversions inside getBoundingClientRect,
1005         to comply with the CSSOM View Module API.
1006
1007         Tests: fast/dom/Element/getBoundingClientRect.html
1008                fast/dom/Range/getBoundingClientRect.html
1009                svg/zoom/page/zoom-getBoundingClientRect.xhtml
1010                svg/zoom/page/zoom-zoom-coords.xhtml
1011
1012         * dom/ClientRect.cpp:
1013         (WebCore::ClientRect::ClientRect): Added overload to allow a FloatRect argument.
1014         * dom/ClientRect.h:
1015         (WebCore::ClientRect::create): Ditto.
1016         * dom/Element.cpp:
1017         (Element::getBoundingClientRect): Removed conversion from FloatRect to IntRect.
1018         * dom/Range.cpp:
1019         (WebCore::Range::getBoundingClientRect): Ditto.
1020         * rendering/RenderObject.h:
1021         (adjustIntRectForAbsoluteZoom): Removed.
1022         (adjustFloatRectForAbsoluteZoom): Added.
1023         * rendering/style/RenderStyle.h:
1024         (adjustFloatForAbsoluteZoom): Added.
1025
1026 2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
1027
1028         Reviewed by Darin Adler.
1029
1030         Converge means of querying a parent node into one way, which is Node::parentNode.
1031         https://bugs.webkit.org/show_bug.cgi?id=49686
1032
1033         A follow-up to r72259, which explicitly forbids further use of Node::parent by
1034         making it private.
1035
1036         No change in behavior, so no new tests.
1037
1038         * dom/Document.cpp:
1039         (WebCore::Document::styleForElementIgnoringPendingStylesheets): Changed to use parentNode.
1040         (WebCore::Document::hoveredNodeDetached): Ditto.
1041         (WebCore::Document::activeChainNodeDetached): Ditto.
1042         * dom/Node.h: Made Node::parent private.
1043         * page/SpatialNavigation.cpp:
1044         (WebCore::canBeScrolledIntoView): Changed to use parentNode.
1045         * xml/XSLTProcessorQt.cpp:
1046         (WebCore::XSLTProcessor::transformToString): Ditto.
1047
1048 2010-11-29  Tony Chang  <tony@chromium.org>
1049
1050         Reviewed by James Robinson.
1051
1052         [chromium] try to enable WebCore compiler warnings on linux
1053         https://bugs.webkit.org/show_bug.cgi?id=50168
1054
1055         * WebCore.gyp/WebCore.gyp:
1056         * platform/graphics/chromium/FontLinux.cpp:
1057         (WebCore::TextRunWalker::setPadding):
1058         (WebCore::TextRunWalker::setGlyphXPositions):
1059         (WebCore::glyphIndexForXPositionInScriptRun):
1060
1061 2010-11-29  Alexey Proskuryakov  <ap@apple.com>
1062
1063         Reviewed by Darin Adler.
1064
1065         https://bugs.webkit.org/show_bug.cgi?id=50165
1066         CSS style rules don't GC protect parents
1067
1068         Tests: fast/dom/StyleSheet/gc-parent-rule.html
1069                fast/dom/StyleSheet/gc-parent-stylesheet.html
1070
1071         * bindings/js/JSCSSRuleCustom.cpp: (WebCore::JSCSSRule::markChildren): Mark parents. The code
1072         is super naive compared to what we have for nodes - but CSSOM has shallow hierarchies, so
1073         it should be OK.
1074
1075         * css/CSSRule.idl: Added CustomMarkFunction.
1076
1077 2010-11-29  Gavin Peters  <gavinp@chromium.org>
1078
1079         Reviewed by Adam Barth.
1080
1081         Web page can prevent WebKit from loading subresources on other
1082         pages (cache poisoning)
1083         https://bugs.webkit.org/show_bug.cgi?id=35404
1084
1085         Tests: http/tests/misc/unloadable-script.html
1086                loader/reload-subresource-when-type-changes.html
1087
1088         * loader/cache/MemoryCache.cpp:
1089         (WebCore::MemoryCache::requestResource):
1090
1091 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
1092
1093         Reviewed by Dan Bernstein.
1094
1095         Crash in WebCore::CSSStyleSelector::loadPendingImages
1096         https://bugs.webkit.org/show_bug.cgi?id=50149
1097         
1098         Null-check style->boxReflect() when loading pending style images.
1099
1100         Test: fast/reflections/pending-reflection-mask-crash.html
1101
1102         * css/CSSStyleSelector.cpp:
1103         (WebCore::CSSStyleSelector::loadPendingImages):
1104
1105 2010-11-29  Pavel Feldman  <pfeldman@chromium.org>
1106
1107         Reviewed by Yury Semikhatsky.
1108
1109         Web Inspector: crash upon inspecting user style sheet.
1110         https://bugs.webkit.org/show_bug.cgi?id=50109
1111
1112         * inspector/InspectorStyleSheet.cpp:
1113         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1114
1115 2010-11-29  Patrick Gansterer  <paroga@webkit.org>
1116
1117         Reviewed by Adam Roben.
1118
1119         [WINCE] Implement WebCore::directoryName
1120         https://bugs.webkit.org/show_bug.cgi?id=50031
1121
1122         Also fix handling of paths without path separator.
1123
1124         * platform/wince/FileSystemWinCE.cpp:
1125         (WebCore::reverseFindPathSeparator):
1126         (WebCore::makeAllDirectories):
1127         (WebCore::pathGetFileName):
1128         (WebCore::directoryName):
1129
1130 2010-11-29  Patrick Gansterer  <paroga@webkit.org>
1131
1132         Reviewed by Adam Roben.
1133
1134         Simplify directoryName in FileSystemWin.cpp
1135         https://bugs.webkit.org/show_bug.cgi?id=50028
1136
1137         * platform/win/FileSystemWin.cpp:
1138         (WebCore::directoryName):
1139
1140 2010-11-24  Dimitri Glazkov  <dglazkov@chromium.org>
1141
1142         Reviewed by Darin Adler.
1143
1144         REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
1145         https://bugs.webkit.org/show_bug.cgi?id=49868
1146
1147         The problem here was that the inner text element of search input was first laid out as
1148         disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
1149         if it's enabled.
1150
1151         Test: fast/forms/disabled-search-input.html
1152
1153         * rendering/RenderBlock.cpp:
1154         (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
1155         * rendering/TextControlInnerElements.cpp:
1156         (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
1157             an empty inner text element is always one-line high.
1158
1159 2010-11-29  W. James MacLean  <wjmaclean@chromium.org>
1160
1161        Reviewed by Dirk Schulze.
1162
1163        Large input numbers cause overflow during SVG parsing, leading to crash
1164        https://bugs.webkit.org/show_bug.cgi?id=49546
1165
1166        Values outside the range supported by float lead to Infinity() or NaN()
1167        during parsing, leading to subsequent crashes. Modified
1168        parser to verify number is in the supported range, and return false if not.
1169
1170        Tests: svg/custom/svg-parse-overflow-1.html
1171               svg/custom/svg-parse-overflow-2.html
1172               svg/custom/svg-parse-overflow-3.html
1173               svg/custom/svg-parse-overflow-4.html
1174               svg/custom/svg-parse-overflow-5.html
1175
1176        * svg/SVGParserUtilities.cpp:
1177        (WebCore::isValidRange):
1178        (WebCore::genericParseNumber):
1179
1180 2010-11-29  Yury Semikhatsky  <yurys@chromium.org>
1181
1182         Reviewed by Pavel Feldman.
1183
1184         Web Inspector: display name of an object constructor as the object's type
1185         https://bugs.webkit.org/show_bug.cgi?id=50063
1186
1187         Name of the function that has created given object is used as the object's
1188         type when it's displayed in the inspector front-end(in case of V8). Before
1189         this change, it was always a value of the object's constructor.name property
1190         which is confusing in some cases(see the test).
1191
1192         Removed check for jsEngine from the InjectedScript.js, all VM-specific code
1193         is now encapsulated on the bindings layer.
1194
1195         Test: inspector/console-object-constructor-name.html
1196
1197         * bindings/js/JSInjectedScriptHostCustom.cpp:
1198         (WebCore::InjectedScriptHost::createInjectedScript):
1199         (WebCore::JSInjectedScriptHost::constructorName):
1200         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1201         (WebCore::InjectedScriptHost::createInjectedScript):
1202         (WebCore::V8InjectedScriptHost::constructorNameCallback):
1203         * inspector/InjectedScriptHost.idl:
1204         * inspector/front-end/InjectedScript.js:
1205         (injectedScriptConstructor.):
1206
1207 2010-11-29  Jeremy Moskovich  <jeremy@chromium.org>
1208
1209         Reviewed by Eric Seidel.
1210
1211         https://bugs.webkit.org/show_bug.cgi?id=24346
1212
1213         Remove temporary workaround to load Gears plugin.
1214
1215         * html/HTMLObjectElement.cpp:
1216         (WebCore::HTMLObjectElement::rendererIsNeeded):
1217
1218 2010-11-29  Yael Aharon  <yael.aharon@nokia.com>
1219
1220         Reviewed by Antonio Gomes.
1221
1222         Spatial Navigation: Store more information in FocusCandidate
1223         https://bugs.webkit.org/show_bug.cgi?id=50153
1224
1225         More information should be stored in FocusCandidate, to avoid
1226         recalculating it when running the spatial navigation algorithm.
1227
1228         No new tests, since this is code refactoring only.
1229
1230         * page/FocusController.cpp:
1231         (WebCore::updateFocusCandidateIfNeeded):
1232         (WebCore::FocusController::findFocusCandidateInContainer):
1233         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
1234         * page/SpatialNavigation.cpp:
1235         (WebCore::FocusCandidate::FocusCandidate):
1236         (WebCore::canBeScrolledIntoView):
1237         * page/SpatialNavigation.h:
1238         (WebCore::FocusCandidate::FocusCandidate):
1239
1240 2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
1241
1242         Reviewed by Darin Adler.
1243
1244         Use the right focusable check to avoid multiple focus/blur events being fired from inside of the shadow DOM.
1245         https://bugs.webkit.org/show_bug.cgi?id=49977
1246
1247         * editing/SelectionController.cpp:
1248         (WebCore::SelectionController::setFocusedNodeIfNeeded): Added a FIXME to remove redundant code.
1249         * page/EventHandler.cpp:
1250         (WebCore::EventHandler::dispatchMouseEvent): Changed to use isMouseFocusable, which is what shadow DOM elements
1251             override, and added a FIXME to convert to use shadow DOM-aware traversal instead of render tree traversal.
1252
1253         Test: fast/events/shadow-boundary-crossing-2.html
1254
1255 2010-11-29  Adam Roben  <aroben@apple.com>
1256
1257         Windows build fix after r72715
1258
1259         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag to fix an
1260         XML syntax error.
1261
1262 2010-11-29  Bernhard Bauer  <bauerb@chromium.org>
1263
1264         Reviewed by Jeremy Orlow.
1265
1266         Remove databaseFileName from IDBFactoryBackendImpl
1267         https://bugs.webkit.org/show_bug.cgi?id=50150
1268
1269         No new tests, since functionality is unchanged.
1270
1271         * storage/IDBFactoryBackendImpl.cpp:
1272         (WebCore::openSQLiteDatabase):
1273         * storage/IDBFactoryBackendImpl.h:
1274
1275 2010-11-29  Philippe Normand  <pnormand@igalia.com>
1276
1277         Reviewed by Xan Lopez.
1278
1279         [GStreamer] take video sink ownership with gst_object API
1280         https://bugs.webkit.org/show_bug.cgi?id=49011
1281
1282         Use gst_object_ref_sink instead of g_object_ref_sink to avoid
1283         possible leaks.
1284
1285         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1286         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1287
1288 2010-11-29  Jan Erik Hanssen  <jhanssen@sencha.com>
1289
1290         Reviewed by Kenneth Rohde Christiansen.
1291
1292         QtWebKit asserts when selecting elided text.
1293         https://bugs.webkit.org/show_bug.cgi?id=45391
1294
1295         Ensure that the length passed to fromRawDataWithoutRef() does
1296         not exceed the length of the string.
1297
1298         * platform/graphics/qt/FontQt.cpp:
1299         (WebCore::Font::selectionRectForSimpleText):
1300
1301 2010-11-26  Alexander Pavlov  <apavlov@chromium.org>
1302
1303         Reviewed by Pavel Feldman.
1304
1305         Web Inspector: Styles Gear Menu Choice to Display Colors "As Authored"
1306         https://bugs.webkit.org/show_bug.cgi?id=31614
1307
1308         * English.lproj/localizedStrings.js:
1309         * inspector/front-end/Color.js:
1310         (WebInspector.Color.prototype.toString):
1311         (WebInspector.Color.prototype._parse.this.rgba.set 0):
1312         (WebInspector.Color.prototype._parse.set WebInspector):
1313         (WebInspector.Color.prototype._parse):
1314         * inspector/front-end/StylesSidebarPane.js:
1315         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.nextFormat):
1316         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
1317
1318 2010-11-29  Helder Correia  <helder@sencha.com>
1319
1320         Reviewed by Kenneth Rohde Christiansen.
1321
1322         [Qt] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
1323         https://bugs.webkit.org/show_bug.cgi?id=50141
1324
1325         Don't apply scaling transformation to shadow offsets.
1326
1327         Test: fast/canvas/canvas-scale-fillRect-shadow.html
1328
1329         * platform/graphics/ContextShadow.h:
1330         * platform/graphics/qt/ContextShadowQt.cpp:
1331         (WebCore::ContextShadow::beginShadowLayer):
1332         (WebCore::ContextShadow::endShadowLayer):
1333         * platform/graphics/qt/GraphicsContextQt.cpp:
1334         (WebCore::GraphicsContext::fillRect):
1335
1336 2010-11-28  Dimitri Glazkov  <dglazkov@chromium.org>
1337
1338         Reviewed by Darin Adler.
1339
1340         Default event handlers should also be using event retargeting.
1341         https://bugs.webkit.org/show_bug.cgi?id=49986
1342
1343         Test: fast/events/shadow-boundary-crossing-2.html
1344
1345         * dom/EventContext.cpp:
1346         (WebCore::EventContext::defaultEventHandler): Added.
1347         * dom/EventContext.h: Added decl.
1348         * dom/Node.cpp:
1349         (WebCore::Node::dispatchGenericEvent): Changed to use event retargeting for
1350             default event handlers.
1351
1352 2010-11-23  MORITA Hajime  <morrita@google.com>
1353
1354         Reviewed by Kent Tamura.
1355
1356         REGRESSION: Text on <input type="search"> is not spellchecked.
1357         https://bugs.webkit.org/show_bug.cgi?id=49651
1358
1359         TextControlInnerElement::isSpellCheckingEnabled() didn't consider 
1360         non-root shadow elelements and always went false for <input type="search>.
1361         This change unifies shadow and host handling into Element::isSpellCheckingEnabled().
1362         
1363         Test: editing/spelling/spellcheck-attribute.html
1364         
1365         * dom/Element.cpp:
1366         (WebCore::Element::isSpellCheckingEnabled):
1367         * rendering/TextControlInnerElements.cpp:
1368         * rendering/TextControlInnerElements.h:
1369
1370 2010-11-28  Antonio Gomes  <agomes@rim.com>
1371
1372         Reviewed by Kenneth Rohde Christiansen.
1373
1374         Spatial Navigation: use isSpatialNaviagtionEnabled from SpatialNavigation.h in HTMLInputElement::defaultEventHandler
1375         https://bugs.webkit.org/show_bug.cgi?id=50131
1376
1377         For all isSpatialNavigationEnabled calls throughout WebCore, we decided to use the static method in
1378         SpatialNavigation.h instead of directly checking from the one in Settings.h. Reason: in a soon future,
1379         there  will be a isCaretBrowsing check incorporated into this method (and probably renaming it accordingly)
1380         to avoid feature conflicts (spatial navigation x caret browsing).
1381
1382         No new tests needed.
1383
1384         * html/HTMLInputElement.cpp:
1385         (WebCore::HTMLInputElement::defaultEventHandler):
1386
1387 2010-11-27  Benjamin Kalman  <kalman@chromium.org>
1388
1389         Reviewed by Darin Adler.
1390
1391         Move Position::EditingBoundaryCrossingRule to a new header file
1392         https://bugs.webkit.org/show_bug.cgi?id=49630
1393
1394         * GNUmakefile.am:
1395         * WebCore.exp.in:
1396         * WebCore.gypi:
1397         * WebCore.pro:
1398         * WebCore.vcproj/WebCore.vcproj:
1399         * WebCore.xcodeproj/project.pbxproj:
1400         * dom/Position.cpp:
1401         (WebCore::downstreamIgnoringEditingBoundaries):
1402         (WebCore::upstreamIgnoringEditingBoundaries):
1403         * dom/Position.h:
1404         * editing/DeleteSelectionCommand.cpp:
1405         (WebCore::DeleteSelectionCommand::doApply):
1406         * editing/EditingBoundary.h: Added.
1407         * editing/visible_units.cpp:
1408         (WebCore::startOfParagraph):
1409         (WebCore::endOfParagraph):
1410         (WebCore::isStartOfParagraph):
1411         (WebCore::isEndOfParagraph):
1412         * editing/visible_units.h:
1413         * rendering/RenderObject.cpp:
1414         (WebCore::RenderObject::createVisiblePosition):
1415
1416 2010-11-26  Rob Buis  <rwlbuis@gmail.com>
1417
1418         Reviewed by Simon Fraser.
1419
1420         Percentage z offset in transform-origin should make the property invalid
1421         https://bugs.webkit.org/show_bug.cgi?id=48704
1422
1423         Discard transform-origin property when parsing invalid Z value.
1424
1425         Test: fast/css/transform-origin-parsing.html
1426
1427         * css/CSSParser.cpp:
1428         (WebCore::CSSParser::parseTransformOriginShorthand):
1429         (WebCore::CSSParser::parseTransformOrigin):
1430         * css/CSSParser.h:
1431
1432 2010-11-26  Dan Bernstein  <mitz@apple.com>
1433
1434         Reviewed by Antti Koivisto.
1435
1436         <rdar://problem/8681368> Avoid unnecessary calls to CTFontGetPlatformFont()
1437         https://bugs.webkit.org/show_bug.cgi?id=50096
1438
1439         No new test, since functionality is unchanged.
1440
1441         * platform/graphics/chromium/CrossProcessFontLoading.mm:
1442         (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
1443         * platform/graphics/cocoa/FontPlatformData.h:
1444         (WebCore::FontPlatformData::FontPlatformData): Ditto.
1445         (WebCore::FontPlatformData::operator==): Removed comparison of font IDs.
1446         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1447         (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
1448         (WebCore::FontPlatformData::FontPlatformData): Updated.
1449         (WebCore::FontPlatformData::operator=): Removed copying of font ID.
1450         (WebCore::FontPlatformData::setFont): Removed setting of font ID.
1451         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1452         (WebCore::initializeATSUStyle): Call CTFontGetPlatformFont() here if necessary.
1453         * platform/graphics/mac/FontCustomPlatformData.cpp:
1454         (WebCore::FontCustomPlatformData::fontPlatformData): Updated for FontPlatformData change.
1455         (WebCore::createFontCustomPlatformData): Updated for FontCustomPlatformData change.
1456         * platform/graphics/mac/FontCustomPlatformData.h:
1457         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed ATSUFontID argument and
1458         data member.
1459         * platform/graphics/mac/SimpleFontDataATSUI.mm:
1460         (WebCore::SimpleFontData::checkShapesArabic): Call CTFontGetPlatformFont() here if necessary.
1461
1462 2010-11-26  François Sausset  <sausset@gmail.com>
1463
1464         Reviewed by Daniel Bates.
1465
1466         MathML: code cleaning needed in MathMLInlineContainerElement.cpp
1467         https://bugs.webkit.org/show_bug.cgi?id=50069
1468
1469         Unnecessary namespace was removed and style was adjusted.
1470
1471         * mathml/MathMLInlineContainerElement.cpp:
1472         (WebCore::MathMLInlineContainerElement::createRenderer):
1473
1474 2010-11-26  Andrei Popescu  <andreip@google.com>
1475
1476         Reviewed by Jeremy Orlow.
1477
1478         IDBDatabase and IDBObjectStore remove* methods should be renamed to delete*
1479         https://bugs.webkit.org/show_bug.cgi?id=50113
1480
1481         Modified exisiting layout tests to cover this change.
1482
1483         * storage/IDBDatabase.cpp:
1484         (WebCore::IDBDatabase::deleteObjectStore):
1485         * storage/IDBDatabase.h:
1486         * storage/IDBDatabase.idl:
1487         * storage/IDBDatabaseBackendImpl.cpp:
1488         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
1489         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
1490         * storage/IDBDatabaseBackendImpl.h:
1491         * storage/IDBDatabaseBackendInterface.h:
1492         * storage/IDBObjectStore.cpp:
1493         (WebCore::IDBObjectStore::deleteFunction):
1494         (WebCore::IDBObjectStore::deleteIndex):
1495         * storage/IDBObjectStore.h:
1496         * storage/IDBObjectStore.idl:
1497         * storage/IDBObjectStoreBackendImpl.cpp:
1498         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1499         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1500         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
1501         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
1502         * storage/IDBObjectStoreBackendImpl.h:
1503         * storage/IDBObjectStoreBackendInterface.h:
1504
1505 2010-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1506
1507         Unreviewed, rolling out r72701.
1508         http://trac.webkit.org/changeset/72701
1509         https://bugs.webkit.org/show_bug.cgi?id=50114
1510
1511         REGRESSION: bad transform matrix on content layer (Requested
1512         by backer on #webkit).
1513
1514         * WebCore.gypi:
1515         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1516         (WebCore::Canvas2DLayerChromium::updateContents):
1517         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1518         * platform/graphics/chromium/ContentLayerChromium.cpp:
1519         (WebCore::ContentLayerChromium::cleanupResources):
1520         (WebCore::ContentLayerChromium::updateContents):
1521         (WebCore::ContentLayerChromium::updateTextureRect):
1522         (WebCore::ContentLayerChromium::draw):
1523         * platform/graphics/chromium/ContentLayerChromium.h:
1524         * platform/graphics/chromium/ImageLayerChromium.cpp:
1525         (WebCore::ImageLayerChromium::updateContents):
1526         * platform/graphics/chromium/ImageLayerChromium.h:
1527         * platform/graphics/chromium/LayerChromium.h:
1528         (WebCore::LayerChromium::contentsDirty):
1529         (WebCore::LayerChromium::updateContents):
1530         (WebCore::LayerChromium::draw):
1531         * platform/graphics/chromium/LayerRendererChromium.cpp:
1532         (WebCore::LayerRendererChromium::LayerRendererChromium):
1533         (WebCore::LayerRendererChromium::prepareToDrawLayers):
1534         (WebCore::LayerRendererChromium::drawLayers):
1535         (WebCore::LayerRendererChromium::updateLayersRecursive):
1536         (WebCore::LayerRendererChromium::useRenderSurface):
1537         (WebCore::LayerRendererChromium::drawLayer):
1538         (WebCore::LayerRendererChromium::initializeSharedObjects):
1539         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1540         * platform/graphics/chromium/LayerRendererChromium.h:
1541         * platform/graphics/chromium/LayerTexture.cpp: Removed.
1542         * platform/graphics/chromium/LayerTexture.h: Removed.
1543         * platform/graphics/chromium/PluginLayerChromium.cpp:
1544         (WebCore::PluginLayerChromium::updateContents):
1545         * platform/graphics/chromium/PluginLayerChromium.h:
1546         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1547         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1548         (WebCore::RenderSurfaceChromium::cleanupResources):
1549         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
1550         * platform/graphics/chromium/RenderSurfaceChromium.h:
1551         * platform/graphics/chromium/TextureManager.cpp: Removed.
1552         * platform/graphics/chromium/TextureManager.h: Removed.
1553         * platform/graphics/chromium/VideoLayerChromium.cpp:
1554         (WebCore::VideoLayerChromium::updateContents):
1555         * platform/graphics/chromium/VideoLayerChromium.h:
1556         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1557         (WebCore::WebGLLayerChromium::updateContents):
1558         * platform/graphics/chromium/WebGLLayerChromium.h:
1559
1560 2010-11-26  Jeremy Orlow  <jorlow@chromium.org>
1561
1562         Unreviewed build fix.
1563
1564         * storage/IDBIndex.cpp:
1565         (WebCore::IDBIndex::openCursor):
1566         (WebCore::IDBIndex::openKeyCursor):
1567         * storage/IDBObjectStore.cpp:
1568         (WebCore::IDBObjectStore::openCursor):
1569
1570 2010-11-26  Sergio Villar Senin  <svillar@igalia.com>
1571
1572         Reviewed by Xan Lopez.
1573
1574         [GTK] SoupCache should not ignore loader's conditional requests
1575         https://bugs.webkit.org/show_bug.cgi?id=50101
1576
1577         SoupCache must not handle WebKit loader conditional requests and
1578         thus should never return its own cached response if any. This was
1579         causing frequent resource load failures as WebCore was trying to
1580         revalidate its own resources and was not getting any expected
1581         result.
1582
1583         * platform/network/soup/cache/webkit/soup-cache.c:
1584         (webkit_soup_cache_has_response): check the presence of
1585         conditional request headers when deciding whether the cache has a
1586         valid response for a given request.
1587
1588 2010-11-26  Jeremy Orlow  <jorlow@chromium.org>
1589
1590         Reviewed by Steve Block.
1591
1592         Make IDBKeyRange match the spec
1593         https://bugs.webkit.org/show_bug.cgi?id=50105
1594
1595         Remove flags and instead add two booleans for being open.
1596         Change left to lower and right to upper everywhere.
1597
1598         * storage/IDBIndexBackendImpl.cpp:
1599         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1600         * storage/IDBKey.cpp:
1601         (WebCore::IDBKey::lowerCursorWhereFragment):
1602         (WebCore::IDBKey::upperCursorWhereFragment):
1603         * storage/IDBKey.h:
1604         * storage/IDBKeyRange.cpp:
1605         (WebCore::IDBKeyRange::IDBKeyRange):
1606         (WebCore::IDBKeyRange::only):
1607         (WebCore::IDBKeyRange::lowerBound):
1608         (WebCore::IDBKeyRange::upperBound):
1609         (WebCore::IDBKeyRange::bound):
1610         (WebCore::IDBKeyRange::lowerWhereClauseComparisonOperator):
1611         (WebCore::IDBKeyRange::upperWhereClauseComparisonOperator):
1612         * storage/IDBKeyRange.h:
1613         (WebCore::IDBKeyRange::create):
1614         (WebCore::IDBKeyRange::lower):
1615         (WebCore::IDBKeyRange::upper):
1616         (WebCore::IDBKeyRange::lowerOpen):
1617         (WebCore::IDBKeyRange::upperOpen):
1618         * storage/IDBKeyRange.idl:
1619         * storage/IDBObjectStoreBackendImpl.cpp:
1620         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1621
1622 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
1623
1624         Reviewed by Steve Block.
1625
1626         Convert open*Cursor and createIndex over to using OptionsObject
1627         https://bugs.webkit.org/show_bug.cgi?id=50093
1628
1629         Add IDBKeyRange to OptionsObject's parsing abilities. Switch
1630         more APIs over to using it.
1631
1632         * bindings/v8/OptionsObject.cpp:
1633         (WebCore::OptionsObject::getKeyDOMStringList):
1634         (WebCore::OptionsObject::getKeyKeyRange):
1635         * bindings/v8/OptionsObject.h:
1636         * storage/IDBIndex.cpp:
1637         (WebCore::IDBIndex::openCursor):
1638         (WebCore::IDBIndex::openKeyCursor):
1639         * storage/IDBIndex.h:
1640         (WebCore::IDBIndex::openCursor):
1641         (WebCore::IDBIndex::openKeyCursor):
1642         * storage/IDBIndex.idl:
1643         * storage/IDBObjectStore.cpp:
1644         (WebCore::IDBObjectStore::createIndex):
1645         (WebCore::IDBObjectStore::openCursor):
1646         * storage/IDBObjectStore.h:
1647         (WebCore::IDBObjectStore::createIndex):
1648         (WebCore::IDBObjectStore::openCursor):
1649         * storage/IDBObjectStore.idl:
1650
1651 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
1652
1653         Reviewed by Steve Block.
1654
1655         Clean up IDBDatabase.transaction and add checks to IDBTransaction.objectStore
1656         https://bugs.webkit.org/show_bug.cgi?id=50081
1657
1658         IDBDatabase.transaction should use the new optional OptionsObject way
1659         of taking optional paramters. Modify that object to get numbers and
1660         domStringLists from it. Verify that any requested resources exist and
1661         return an exception if not.
1662
1663         When IDBTransaction.objectStore is called, verify that it's one of the
1664         requested resources. Also verify that it still exists. Plumb the
1665         exception code to make this work.
1666
1667         Tests: storage/indexeddb/create-and-remove-object-store.html
1668                storage/indexeddb/transaction-and-objectstore-calls.html
1669
1670         * bindings/v8/OptionsObject.cpp:
1671         (WebCore::OptionsObject::getKeyInteger):
1672         (WebCore::OptionsObject::getKeyString):
1673         (WebCore::OptionsObject::getKeyDOMStringList):
1674         * bindings/v8/OptionsObject.h:
1675         * storage/IDBDatabase.cpp:
1676         (WebCore::IDBDatabase::createObjectStore):
1677         (WebCore::IDBDatabase::transaction):
1678         * storage/IDBDatabase.h:
1679         (WebCore::IDBDatabase::transaction):
1680         * storage/IDBDatabase.idl:
1681         * storage/IDBDatabaseBackendImpl.cpp:
1682         (WebCore::IDBDatabaseBackendImpl::transaction):
1683         * storage/IDBTransaction.cpp:
1684         (WebCore::IDBTransaction::objectStore):
1685         * storage/IDBTransactionBackendImpl.cpp:
1686         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1687         (WebCore::IDBTransactionBackendImpl::objectStore):
1688         * storage/IDBTransactionBackendImpl.h:
1689         * storage/IDBTransactionBackendInterface.h:
1690
1691 2010-11-26  Mario Sanchez Prada  <msanchez@igalia.com>
1692
1693         Reviewed by Xan Lopez.
1694
1695         [GTK] events missing when a document is (re)loaded
1696         https://bugs.webkit.org/show_bug.cgi?id=25831
1697
1698         Make sure webArea returns a proper name and that a signal
1699         'state-change::defunct' is emitted when detaching the wrapper.
1700
1701         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1702         (webkit_accessible_get_name): Returns the current document's title
1703         as fallback mechanism for webArea objects.
1704         (webkit_accessible_detach): Emit 'state-change::defunct' function
1705         as soon as the wrapper is detached from the related core object.
1706
1707 2010-11-26  Sergio Villar Senin  <svillar@igalia.com>
1708
1709         Reviewed by Xan Lopez.
1710
1711         [Gtk] ASSERT(d->m_response.isNull()) in contentSniffedCallback
1712         https://bugs.webkit.org/show_bug.cgi?id=50083
1713
1714         ResourceHandleSoup should not listen to content-sniffed signal
1715         when content sniffing is not enabled. This will prevent us
1716         reaching an assertion on content-sniffed callback
1717
1718         * platform/network/soup/ResourceHandleSoup.cpp:
1719         (WebCore::startHttp):
1720         * platform/network/soup/cache/soup-request-http.c:
1721         (conditional_get_ready_cb): added a comment with the
1722         possible fix for a pure libsoup HTTP cache.
1723         (send_async_cb): prevent an early object finalization adding a
1724         reference.
1725         (webkit_soup_request_http_send_async): Ditto.
1726
1727 2010-11-26  Renata Hodovan  <reni@inf.u-szeged.hu>
1728
1729         Reviewed by Antonio Gomes.
1730
1731         [Qt] Remove empty ScrollView::platformInit/platformDestroy
1732         https://bugs.webkit.org/show_bug.cgi?id=50079
1733
1734         No new test is needed.
1735
1736         * platform/ScrollView.cpp:
1737         (WebCore::ScrollView::wheelEvent):
1738         * platform/qt/ScrollViewQt.cpp:
1739
1740 2010-11-26  Pavel Feldman  <pfeldman@chromium.org>
1741
1742         Not reviewed. Fixing inspector tests.
1743
1744         * inspector/front-end/Resource.js:
1745         (WebInspector.Resource.prototype.set timing):
1746
1747 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
1748
1749         Reviewed by Yury Semikhatsky.
1750
1751         Web Inspector: UI polish for Network and Resources panels.
1752         https://bugs.webkit.org/show_bug.cgi?id=50100
1753
1754         - Fixed timing inconsistencies
1755         - Made grid user-selectable
1756         - Selection in network panel is made on name column only
1757
1758         * inspector/front-end/NetworkPanel.js:
1759         (WebInspector.NetworkPanel):
1760         (WebInspector.NetworkPanel.prototype._toggleGridMode):
1761         (WebInspector.NetworkDataGridNode.prototype.createCells):
1762         (WebInspector.NetworkDataGridNode.prototype.select):
1763         (WebInspector.NetworkDataGridNode.prototype.get selectable):
1764         (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
1765         (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
1766         (WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
1767         * inspector/front-end/Popover.js:
1768         (WebInspector.PopoverHelper):
1769         (WebInspector.PopoverHelper.prototype.setTimeout):
1770         (WebInspector.PopoverHelper.prototype._mouseMove):
1771         (WebInspector.PopoverHelper.prototype._handleMouseAction):
1772         * inspector/front-end/Resource.js:
1773         (WebInspector.Resource.prototype.get responseReceivedTime):
1774         (WebInspector.Resource.prototype.set endTime):
1775         (WebInspector.Resource.prototype.set timing):
1776         * inspector/front-end/ResourceManager.js:
1777         (WebInspector.ResourceManager.prototype.didReceiveResponse):
1778         (WebInspector.ResourceManager.prototype.didFinishLoading):
1779         * inspector/front-end/ResourcesPanel.js:
1780         (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
1781         * inspector/front-end/networkPanel.css:
1782         (.network-sidebar .data-grid td:not(.network-summary)):
1783         (.network-sidebar .data-grid td.name-column):
1784         (.network.panel:not(.viewing-resource) .network-sidebar td.name-column:hover):
1785         (.network-timing-row):
1786         (.network-timing-bar):
1787         (.network-timing-bar-title):
1788         (.resource-timing-view):
1789
1790 2010-11-26  Helder Correia  <helder@sencha.com>
1791
1792         Reviewed by Ariya Hidayat.
1793
1794         [Qt] Blur shadow for rectangle fill
1795         https://bugs.webkit.org/show_bug.cgi?id=44488
1796
1797         Shadow color opacity needs to be set when blurring shadow with
1798         ContextShadow.
1799
1800         Test: fast/canvas/canvas-fillRect-shadow.html
1801
1802         * platform/graphics/qt/GraphicsContextQt.cpp:
1803         (WebCore::GraphicsContext::fillRect):
1804
1805 2010-11-26  Hans Wennborg  <hans@chromium.org>
1806
1807         Reviewed by Jeremy Orlow.
1808
1809         IndexedDB: Rename IDBDatabase.objectStores to objectStoreNames
1810         https://bugs.webkit.org/show_bug.cgi?id=50102
1811
1812         Rename as per the spec: http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
1813
1814         * manual-tests/indexeddb-persists.html:
1815         * storage/IDBDatabase.h:
1816         (WebCore::IDBDatabase::objectStoreNames):
1817         * storage/IDBDatabase.idl:
1818         * storage/IDBDatabaseBackendImpl.cpp:
1819         (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
1820         (WebCore::IDBDatabaseBackendImpl::setVersion):
1821         (WebCore::IDBDatabaseBackendImpl::transaction):
1822         * storage/IDBDatabaseBackendImpl.h:
1823         * storage/IDBDatabaseBackendInterface.h:
1824
1825 2010-11-26  Andrei Popescu  <andreip@google.com>
1826
1827         Reviewed by Jeremy Orlow.
1828
1829         IDBFactory::open should not have a description argument.
1830         https://bugs.webkit.org/show_bug.cgi?id=50087
1831
1832         Modified exisiting tests to cover this change.
1833
1834         * storage/IDBDatabaseBackendImpl.cpp:
1835         (WebCore::setMetaData):
1836         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1837         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
1838         * storage/IDBDatabaseBackendImpl.h:
1839         (WebCore::IDBDatabaseBackendImpl::create):
1840         * storage/IDBDatabaseBackendInterface.h:
1841         * storage/IDBFactory.cpp:
1842         (WebCore::IDBFactory::open):
1843         * storage/IDBFactory.h:
1844         * storage/IDBFactory.idl:
1845         * storage/IDBFactoryBackendImpl.cpp:
1846         (WebCore::IDBFactoryBackendImpl::open):
1847         * storage/IDBFactoryBackendImpl.h:
1848         * storage/IDBFactoryBackendInterface.h:
1849
1850 2010-11-25  Kenichi Ishibashi  <bashi@google.com>
1851
1852         Reviewed by Kent Tamura.
1853
1854         Assertion failure by resetting <output> twice
1855         https://bugs.webkit.org/show_bug.cgi?id=50095
1856
1857         Don't call setTextContentInternal() when the value wouldn't
1858         be changed.
1859
1860         Test: fast/forms/output-reset-assertion-failed.html
1861
1862         * html/HTMLOutputElement.cpp:
1863         (WebCore::HTMLOutputElement::HTMLOutputElement): Calls
1864         setTextContentInternal() if and only if needed.
1865         (WebCore::HTMLOutputElement::reset): Ditto.
1866         (WebCore::HTMLOutputElement::setValue): Ditto.
1867         (WebCore::HTMLOutputElement::setDefaultValue): Ditto.
1868
1869 2010-11-24  Ryosuke Niwa  <rniwa@webkit.org>
1870
1871         Crash when moving caret around a word with a first-letter rule and whitespace is not collapsible.
1872         https://bugs.webkit.org/show_bug.cgi?id=49652
1873
1874         Fixed the crash by giving the correct end offset to emitText in handleTextNode.
1875
1876         This patch does not fix a bug in TextIterator that incorrectly calculates
1877         the end offset of a word with a first-letter rule as demonstrated in the layout test
1878         because fixing the bug requires an overhaul of TextIterator and new behavior is consistent
1879         with the case when whitespace is collapsible.
1880
1881         Test: editing/text-iterator/first-letter-word-boundary.html
1882
1883         * editing/TextIterator.cpp:
1884         (WebCore::TextIterator::handleTextNode):
1885
1886 2010-11-25  Mike Lawther  <mikelawther@chromium.org>
1887
1888         Reviewed by Kent Tamura.
1889
1890         Fix typos in CSS grammar (HERZ -> HERTZ)
1891         https://bugs.webkit.org/show_bug.cgi?id=50094
1892
1893         * css/CSSGrammar.y:
1894         * css/CSSParser.cpp:
1895         (WebCore::CSSParser::lex):
1896         * css/tokenizer.flex:
1897
1898 2010-11-25  Antti Koivisto  <antti@apple.com>
1899
1900         Reviewed by Dan Bernstein.
1901
1902         https://bugs.webkit.org/show_bug.cgi?id=50078
1903         Simplify CachedResource error handling code by getting rid of the m_httpStatusCodeErrorOccurred boolean.
1904
1905         * loader/cache/CachedImage.cpp:
1906         (WebCore::CachedImage::CachedImage):
1907         * loader/cache/CachedImage.h:
1908         (WebCore::CachedImage::shouldIgnoreHTTPStatusCodeErrors):
1909         * loader/cache/CachedResource.h:
1910         (WebCore::CachedResource::shouldIgnoreHTTPStatusCodeErrors):
1911         (WebCore::CachedResource::httpStatusCodeErrorOccurred):
1912         * loader/loader.cpp:
1913         (WebCore::Loader::didReceiveData):
1914
1915 2010-11-25  Andreas Kling  <kling@webkit.org>
1916
1917         Reviewed by Tor Arne Vestbø.
1918
1919         [Qt] Remove unnecessary save/restore in GraphicsContext::drawConvexPolygon()
1920         https://bugs.webkit.org/show_bug.cgi?id=50085
1921
1922         * platform/graphics/qt/GraphicsContextQt.cpp:
1923         (WebCore::GraphicsContext::drawConvexPolygon):
1924         Remember the previous antialiasing mode and reset it after we're done.
1925
1926 2010-11-25  Ben Murdoch  <benm@google.com>
1927
1928         Reviewed by Steve Block.
1929
1930         Potential crash in JavaClassV8.cpp
1931         https://bugs.webkit.org/show_bug.cgi?id=50016
1932
1933         It is possible that we attempt to free uninitialised
1934         memory in the JavaClass destrctor when using V8 in the
1935         case that the JVM could not find the class in the constructor.
1936
1937         It turns out that the troublesome m_name is not acutally
1938         used anywhere, so we remove it in this patch.
1939
1940         No new tests, just removing dead code.
1941
1942         * bridge/jni/v8/JavaClassV8.cpp: Remove unused m_name.
1943         * bridge/jni/v8/JavaClassV8.h: Ditto.
1944
1945 2010-11-25  Hans Wennborg  <hans@chromium.org>
1946
1947         Reviewed by Jeremy Orlow.
1948
1949         IndexedDB: Better errors for not yet implemented features
1950         https://bugs.webkit.org/show_bug.cgi?id=50075
1951
1952         Raise an exception if createObjectStore is called with autoIncrement
1953         set to true.
1954
1955         Be a little bit more explicit in IDBBindingUtilities that we don't
1956         allow using Date objects as keys yet.
1957
1958         * bindings/v8/IDBBindingUtilities.cpp:
1959         (WebCore::createIDBKeyFromValue):
1960         * storage/IDBDatabase.cpp:
1961         (WebCore::IDBDatabase::createObjectStore):
1962         * storage/IDBObjectStoreBackendImpl.cpp:
1963         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1964
1965 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
1966
1967         Reviewed by Yury Semikhatsky.
1968
1969         Web Inspector: highlight diffs of revisions against base version.
1970         https://bugs.webkit.org/show_bug.cgi?id=50088
1971
1972         * inspector/front-end/CSSStyleModel.js:
1973         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1974         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1975         * inspector/front-end/ResourcesPanel.js:
1976         (WebInspector.ResourcesPanel):
1977         (WebInspector.ResourcesPanel.prototype.show):
1978         (WebInspector.ResourcesPanel.prototype._showResourceView.callback):
1979         (WebInspector.ResourcesPanel.prototype._showResourceView):
1980         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
1981         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
1982         * inspector/front-end/SourceFrame.js:
1983         (WebInspector.SourceFrame.prototype.markDiff):
1984         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
1985         (WebInspector.SourceFrame.prototype._updateDiffDecorations.addDecorations):
1986         (WebInspector.SourceFrame.prototype._updateDiffDecorations):
1987         (WebInspector.SourceFrame.prototype._removeDiffDecorations):
1988         * inspector/front-end/SourceView.js:
1989         * inspector/front-end/textViewer.css:
1990         (.webkit-line-number):
1991         (.diff-container .webkit-added-line .webkit-line-content):
1992         (.diff-container .webkit-removed-line .webkit-line-content):
1993         (.diff-container .webkit-changed-line .webkit-line-content):
1994         * inspector/front-end/utilities.js:
1995
1996 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1997
1998         Unreviewed, rolling out r72732.
1999         http://trac.webkit.org/changeset/72732
2000         https://bugs.webkit.org/show_bug.cgi?id=50089
2001
2002         Made Qt bot sad and crashy (Requested by Ossy on #webkit).
2003
2004         * platform/network/qt/QNetworkReplyHandler.cpp:
2005         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2006         * platform/network/qt/QNetworkReplyHandler.h:
2007         * platform/network/qt/ResourceHandleQt.cpp:
2008         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
2009         (WebCore::WebCoreSynchronousLoader::didFail):
2010         (WebCore::ResourceHandle::loadResourceSynchronously):
2011
2012 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2013
2014         Unreviewed, rolling out r72734.
2015         http://trac.webkit.org/changeset/72734
2016         https://bugs.webkit.org/show_bug.cgi?id=50086
2017
2018         Backing out 72732 which made Qt sad and crashy (Requested by
2019         kling on #webkit).
2020
2021         * platform/network/qt/ResourceHandleQt.cpp:
2022         (WebCore::ResourceHandle::loadResourceSynchronously):
2023
2024 2010-11-25  Andreas Kling  <kling@webkit.org>
2025
2026         Unreviewed crash fix for Qt 4.6.x.
2027
2028         Check that QNetworkReplyHandler::reply() doesn't return null before
2029         using it (this code needs to work for Qt 4.6 as well.)
2030
2031         * platform/network/qt/ResourceHandleQt.cpp:
2032         (WebCore::ResourceHandle::loadResourceSynchronously):
2033
2034 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2035
2036         Unreviewed, rolling out r72727.
2037         http://trac.webkit.org/changeset/72727
2038         https://bugs.webkit.org/show_bug.cgi?id=50084
2039
2040         Broke dom-breakpoints test on chromium win (Requested by
2041         podivilov on #webkit).
2042
2043         * inspector/InspectorController.cpp:
2044         (WebCore::InspectorController::setNativeBreakpoint):
2045         * inspector/InspectorDOMAgent.cpp:
2046         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2047         (WebCore::InspectorDOMAgent::discardBindings):
2048         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
2049         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
2050         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
2051         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
2052         (WebCore::InspectorDOMAgent::createBreakpointId):
2053         * inspector/InspectorDOMAgent.h:
2054         * inspector/front-end/BreakpointManager.js:
2055         (WebInspector.BreakpointManager.prototype.reset):
2056         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
2057         (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
2058         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
2059         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
2060         (WebInspector.DOMBreakpoint):
2061         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
2062         (WebInspector.EventListenerBreakpoint):
2063         (WebInspector.XHRBreakpoint):
2064         * inspector/front-end/BreakpointsSidebarPane.js:
2065         (WebInspector.BreakpointsSidebarPane):
2066         (WebInspector.BreakpointsSidebarPane.prototype.reset):
2067         (WebInspector.EventListenerBreakpointsSidebarPane):
2068         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
2069         * inspector/front-end/DOMAgent.js:
2070         (WebInspector.DOMAgent.prototype._setDocument):
2071         * inspector/front-end/ElementsPanel.js:
2072         (WebInspector.ElementsPanel.prototype.reset):
2073         * inspector/front-end/ElementsTreeOutline.js:
2074         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
2075         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2076         * inspector/front-end/ScriptsPanel.js:
2077         (WebInspector.ScriptsPanel.prototype.reset):
2078         * inspector/front-end/inspector.js:
2079         (WebInspector.reset):
2080         (WebInspector.didCommitLoad):
2081
2082 2010-11-25  Peter Hartmann  <peter.hartmann@nokia.com>
2083
2084         Reviewed by Andreas Kling.
2085
2086         [Qt] enable usage of synchronous HTTP feature in Qt
2087         https://bugs.webkit.org/show_bug.cgi?id=37191
2088
2089         Currently, we spin an event loop when doing synchronous calls to
2090         wait for completion. This patch uses synchronous requests in Qt,
2091         if available, and spins the event loop as a fallback solution.
2092         Patch by Simon Hausmann and Peter Hartmann.
2093
2094         * platform/network/qt/QNetworkReplyHandler.cpp:
2095         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2096         * platform/network/qt/QNetworkReplyHandler.h:
2097         * platform/network/qt/ResourceHandleQt.cpp:
2098         (WebCore::WebCoreSynchronousLoader::setReplyFinished):
2099         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
2100         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
2101         (WebCore::WebCoreSynchronousLoader::didFail):
2102         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
2103         (WebCore::ResourceHandle::loadResourceSynchronously):
2104
2105 2010-11-25  Hans Wennborg  <hans@chromium.org>
2106
2107         Reviewed by Jeremy Orlow.
2108
2109         V8 Bindings: remove faulty include in OptionsObject.h
2110         https://bugs.webkit.org/show_bug.cgi?id=50073
2111
2112         There is no <wtf/NonCopyable.h>, and the code doesn't try to use it
2113         either.
2114
2115         No new functionality, no new tests.
2116
2117         * bindings/v8/OptionsObject.h:
2118
2119 2010-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2120
2121         Reviewed by Simon Hausmann.
2122
2123         Actually handle targetDensityDpi in computeViewportAttributes
2124         https://bugs.webkit.org/show_bug.cgi?id=50068
2125
2126         * dom/ViewportArguments.cpp:
2127         (WebCore::computeViewportAttributes):
2128
2129 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
2130
2131         Reviewed by Steve Block.
2132
2133         Add an OptionsObject class for IndexedDB (and later Geolocation)
2134         https://bugs.webkit.org/show_bug.cgi?id=50030
2135
2136         Geolocation and IndexedDB both have the concept of an optional
2137         parameter that has various options supplied with it.  In
2138         Geolocation this was done with custom bindings, but I'm trying to
2139         avoid that for IndexedDB.  
2140
2141         This first patch implements it in V8 and makes createObjectStore use it.
2142         The next patch will cover Geolocation and JSC.
2143
2144         Test: storage/indexeddb/create-object-store-options.html
2145
2146         * WebCore.gypi:
2147         * bindings/scripts/CodeGeneratorV8.pm:
2148         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2149         (WebDOMTestObj::optionsObject):
2150         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2151         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2152         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2153         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2154         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2155         (webkit_dom_test_obj_options_object):
2156         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2157         * bindings/scripts/test/JS/JSTestObj.cpp:
2158         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2159         * bindings/scripts/test/JS/JSTestObj.h:
2160         * bindings/scripts/test/ObjC/DOMTestObj.h:
2161         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2162         (-[DOMTestObj optionsObject:ooo:]):
2163         * bindings/scripts/test/TestObj.idl:
2164         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2165         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2166         * bindings/scripts/test/V8/V8TestObj.cpp:
2167         (WebCore::TestObjInternal::optionsObjectCallback):
2168         * bindings/v8/OptionsObject.cpp: Added.
2169         (WebCore::OptionsObject::OptionsObject):
2170         (WebCore::OptionsObject::~OptionsObject):
2171         (WebCore::OptionsObject::operator=):
2172         (WebCore::OptionsObject::undefinedOrNull):
2173         (WebCore::OptionsObject::getKeyBool):
2174         (WebCore::OptionsObject::getKeyString):
2175         (WebCore::OptionsObject::getKey):
2176         * bindings/v8/OptionsObject.h:
2177         * bindings/js/OptionsObject.h:
2178         * storage/IDBDatabase.cpp:
2179         (WebCore::IDBDatabase::createObjectStore):
2180         * storage/IDBDatabase.h:
2181         (WebCore::IDBDatabase::createObjectStore):
2182         * storage/IDBDatabase.idl:
2183
2184 2010-11-24  Pavel Podivilov  <podivilov@chromium.org>
2185
2186         Reviewed by Yury Semikhatsky.
2187
2188         Web Inspector: set DOM breakpoints by path.
2189         https://bugs.webkit.org/show_bug.cgi?id=50017
2190
2191         This change is needed to be able to push DOM breakpoints for all URL's to backend
2192         at frontend load.
2193
2194         * inspector/InspectorController.cpp:
2195         (WebCore::InspectorController::setNativeBreakpoint):
2196         * inspector/InspectorDOMAgent.cpp:
2197         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2198         (WebCore::InspectorDOMAgent::discardBindings):
2199         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
2200         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
2201         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
2202         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
2203         * inspector/InspectorDOMAgent.h:
2204         * inspector/front-end/BreakpointManager.js:
2205         (WebInspector.BreakpointManager.prototype.reset):
2206         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
2207         (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
2208         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
2209         (WebInspector.DOMBreakpoint):
2210         (WebInspector.DOMBreakpoint.prototype._setNodeId):
2211         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
2212         (WebInspector.EventListenerBreakpoint):
2213         (WebInspector.XHRBreakpoint):
2214         * inspector/front-end/BreakpointsSidebarPane.js:
2215         (WebInspector.BreakpointsSidebarPane):
2216         (WebInspector.BreakpointsSidebarPane.prototype._reset):
2217         (WebInspector.EventListenerBreakpointsSidebarPane):
2218         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._reset):
2219         * inspector/front-end/DOMAgent.js:
2220         (WebInspector.DOMAgent.prototype._setDocument):
2221         * inspector/front-end/ElementsPanel.js:
2222         (WebInspector.ElementsPanel.prototype.reset):
2223         * inspector/front-end/ElementsTreeOutline.js:
2224         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
2225         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2226         * inspector/front-end/ScriptsPanel.js:
2227         (WebInspector.ScriptsPanel.prototype.reset):
2228         * inspector/front-end/inspector.js:
2229         (WebInspector.reset):
2230         (WebInspector.didCommitLoad):
2231
2232 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
2233
2234         Reviewed by Yury Semikhatsky.
2235
2236         Web Inspector: reuse code for recreating resource views.
2237         https://bugs.webkit.org/show_bug.cgi?id=50066
2238
2239         * inspector/front-end/NetworkItemView.js:
2240         (WebInspector.NetworkItemView):
2241         * inspector/front-end/NetworkPanel.js:
2242         (WebInspector.NetworkPanel.prototype.refreshResource):
2243         * inspector/front-end/ResourceManager.js:
2244         (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
2245         (WebInspector.ResourceManager.resourceViewForResource):
2246         (WebInspector.ResourceManager.recreateResourceView):
2247         * inspector/front-end/ResourcesPanel.js:
2248         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
2249
2250 2010-11-25  Hans Wennborg  <hans@chromium.org>
2251
2252         Reviewed by Jeremy Orlow.
2253
2254         IndexedDB: Disallow inserting records with NULL keys
2255         https://bugs.webkit.org/show_bug.cgi?id=50033
2256
2257         Disallow inserting records with null keys into the object store.
2258
2259         * storage/IDBKey.h:
2260         * storage/IDBObjectStoreBackendImpl.cpp:
2261         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2262
2263 2010-11-25  Philippe Normand  <pnormand@igalia.com>
2264
2265         Rubber-stamped by Xan Lopez.
2266
2267         g_signal_accumulator_first_wins was introduced in glib 2.27.1 so
2268         no need to use our version if that version of glib is used during
2269         the build.
2270
2271         * platform/gtk/GtkVersioning.c:
2272         * platform/gtk/GtkVersioning.h:
2273
2274 2010-11-24  Jian Li  <jianli@chromium.org>
2275
2276         Reviewed by Kenneth Russell.
2277
2278         Implement DataView interface from Typed Array specification
2279         https://bugs.webkit.org/show_bug.cgi?id=46541
2280
2281         Test: fast/canvas/webgl/data-view-test.html
2282
2283         * CMakeLists.txt:
2284         * DerivedSources.make:
2285         * GNUmakefile.am:
2286         * WebCore.gypi:
2287         * WebCore.pri:
2288         * WebCore.pro:
2289         * WebCore.xcodeproj/project.pbxproj:
2290         * bindings/generic/RuntimeEnabledFeatures.h:
2291         (WebCore::RuntimeEnabledFeatures::dataViewEnabled):
2292         * bindings/js/JSArrayBufferViewHelper.h:
2293         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
2294         (WebCore::constructArrayBufferView):
2295         * bindings/js/JSDOMWindowCustom.cpp:
2296         (WebCore::JSDOMWindow::dataView):
2297         * bindings/js/JSDataViewCustom.cpp: Added.
2298         * bindings/js/JSFloat32ArrayCustom.cpp:
2299         (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
2300         * bindings/js/JSInt16ArrayCustom.cpp:
2301         (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
2302         * bindings/js/JSInt32ArrayCustom.cpp:
2303         (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
2304         * bindings/js/JSInt8ArrayCustom.cpp:
2305         (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
2306         * bindings/js/JSUint16ArrayCustom.cpp:
2307         (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
2308         * bindings/js/JSUint32ArrayCustom.cpp:
2309         (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
2310         * bindings/js/JSUint8ArrayCustom.cpp:
2311         (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
2312         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2313         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2314         (WebCore::constructWebGLArray):
2315         * bindings/v8/custom/V8DataViewCustom.cpp: Added.
2316         * html/canvas/ArrayBufferView.h:
2317         (WebCore::ArrayBufferView::isDataView):
2318         * html/canvas/DataView.cpp: Added.
2319         * html/canvas/DataView.h: Added.
2320         * html/canvas/DataView.idl: Added.
2321         * page/DOMWindow.idl:
2322
2323 2010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
2324
2325         Reviewed by Martin Robinson.
2326
2327         [GTK] Windowless plugins gets broken key input
2328         https://bugs.webkit.org/show_bug.cgi?id=49927
2329
2330         When converting the GdkEvent to XEvent we need to send the
2331         hardware_keycode as XEvent::keycode. Instead we where sending
2332         the GdkEvent::keyval. This is already tested by
2333         plugins/keyboard-events.html, but a bug in the test plugin was
2334         resulting in false positive.
2335
2336         * plugins/gtk/PluginViewGtk.cpp:
2337         (WebCore::PluginView::handleKeyboardEvent):
2338
2339 2010-11-24  Eric Uhrhane  <ericu@chromium.org>
2340
2341         Reviewed by David Levin.
2342
2343         Implement FileWriterSync
2344         https://bugs.webkit.org/show_bug.cgi?id=49939
2345
2346         Tests to follow in a separate CL, once the test framework in 47680 goes in.
2347
2348         Build file changes to add FileWriterBase and FileWriterBaseCallback.
2349         * CMakeLists.txt:
2350         * GNUmakefile.am:
2351         * WebCore.gypi:
2352         * WebCore.pro:
2353         * WebCore.vcproj/WebCore.vcproj:
2354         * WebCore.xcodeproj/project.pbxproj:
2355
2356         FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
2357         * bindings/scripts/CodeGeneratorV8.pm:
2358
2359         Added new AsyncFileWriter::waitForOperationToComplete to enable
2360         synchronous calls.
2361         * fileapi/AsyncFileWriter.h:
2362
2363         Added a way to get a FileSystemSync.
2364         * fileapi/DOMFileSystemSync.cpp:
2365         * fileapi/FileEntrySync.cpp:
2366         * fileapi/FileEntrySync.h:
2367         * fileapi/FileEntrySync.idl:
2368
2369         Added an error code for OK, rather than just having 0 everywhere.
2370         * fileapi/FileError.h:
2371
2372         Turned FileWriterCallback into FileWriterBaseCallback.
2373         * fileapi/FileSystemCallbacks.cpp:
2374         * fileapi/FileSystemCallbacks.h:
2375
2376         Refactored out a common base class, FileWriterBase, for FileWriter and
2377         FileWriterSync.
2378         * fileapi/FileWriter.cpp:
2379         * fileapi/FileWriter.h:
2380         * fileapi/FileWriterBase.cpp: Added.
2381         * fileapi/FileWriterBase.h: Added.
2382         * fileapi/FileWriterBaseCallback.h: Added.
2383         * fileapi/FileWriterSync.cpp:
2384         * fileapi/FileWriterSync.h:
2385
2386         Small tweaks to deal with the base class refactoring.
2387         * fileapi/DOMFileSystem.cpp:
2388         * fileapi/DOMFileSystemSync.h:
2389
2390         Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
2391         * fileapi/FileWriterSync.idl:
2392
2393 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
2394
2395         Reviewed by Xan Lopez.
2396
2397         Build fix for GTK+. There were some typos in my last build fix
2398         and the empty command (semicolon) seems to be necessary for wildcard
2399         rule chains.
2400
2401         * GNUmakefile.am: Small build fixes.
2402
2403 2010-11-24  James Robinson  <jamesr@chromium.org>
2404
2405         Reviewed by Kenneth Russell.
2406
2407         [chromium] Compositor needs to manage its VRAM use
2408         https://bugs.webkit.org/show_bug.cgi?id=49629
2409
2410         This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
2411         used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
2412         RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
2413         Video, and WebGL) and the root layer are still unmanaged.
2414
2415         The TextureManager works by providing tokens to callers that want to use a managed texture.
2416         The token can be used to request a texture, see if the previously requested texture is still
2417         available, and to protect/unprotect textures when they cannot be collected.  Whenever a
2418         texture is created the manager attempts to free up the least recently used textures until the
2419         total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
2420         limit it will not return any new textures until some old textures are released.
2421
2422         A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
2423         previously requested texture is still available for use and reserve the LayerTexture's underlying
2424         storage between the updateContentsIfDirty() and the draw() call.
2425
2426         Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
2427         updateContentsIfDirty().
2428
2429         Tests: compositing/lots-of-img-layers-with-opacity.html
2430                compositing/lots-of-img-layers.html
2431
2432         * WebCore.gypi:
2433         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2434         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
2435         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2436         * platform/graphics/chromium/ContentLayerChromium.cpp:
2437         (WebCore::ContentLayerChromium::cleanupResources):
2438         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2439         (WebCore::ContentLayerChromium::updateTextureRect):
2440         (WebCore::ContentLayerChromium::draw):
2441         * platform/graphics/chromium/ContentLayerChromium.h:
2442         * platform/graphics/chromium/ImageLayerChromium.cpp:
2443         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2444         * platform/graphics/chromium/ImageLayerChromium.h:
2445         * platform/graphics/chromium/LayerChromium.h:
2446         (WebCore::LayerChromium::updateContentsIfDirty):
2447         (WebCore::LayerChromium::draw):
2448         * platform/graphics/chromium/LayerRendererChromium.cpp:
2449         (WebCore::LayerRendererChromium::LayerRendererChromium):
2450         (WebCore::LayerRendererChromium::prepareToDrawLayers):
2451         (WebCore::LayerRendererChromium::drawLayers):
2452         (WebCore::LayerRendererChromium::updateLayersRecursive):
2453         (WebCore::LayerRendererChromium::useRenderSurface):
2454         (WebCore::LayerRendererChromium::drawLayer):
2455         (WebCore::LayerRendererChromium::initializeSharedObjects):
2456         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2457         * platform/graphics/chromium/LayerRendererChromium.h:
2458         (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
2459         (WebCore::LayerRendererChromium::textureManager):
2460         * platform/graphics/chromium/LayerTexture.cpp: Added.
2461         (WebCore::LayerTexture::LayerTexture):
2462         (WebCore::LayerTexture::~LayerTexture):
2463         (WebCore::LayerTexture::isValid):
2464         (WebCore::LayerTexture::reserve):
2465         (WebCore::LayerTexture::unreserve):
2466         (WebCore::LayerTexture::bindTexture):
2467         (WebCore::LayerTexture::framebufferTexture2D):
2468         * platform/graphics/chromium/LayerTexture.h: Added.
2469         (WebCore::LayerTexture::create):
2470         * platform/graphics/chromium/PluginLayerChromium.cpp:
2471         (WebCore::PluginLayerChromium::updateContentsIfDirty):
2472         * platform/graphics/chromium/PluginLayerChromium.h:
2473         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2474         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
2475         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
2476         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2477         (WebCore::RenderSurfaceChromium::cleanupResources):
2478         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
2479         (WebCore::RenderSurfaceChromium::draw):
2480         * platform/graphics/chromium/RenderSurfaceChromium.h:
2481         (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
2482         (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
2483         (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
2484         (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
2485         (WebCore::RenderSurfaceChromium::SharedValues::initialized):
2486         * platform/graphics/chromium/TextureManager.cpp: Added.
2487         (WebCore::memoryUseBytes):
2488         (WebCore::TextureManager::TextureManager):
2489         (WebCore::TextureManager::getToken):
2490         (WebCore::TextureManager::releaseToken):
2491         (WebCore::TextureManager::hasTexture):
2492         (WebCore::TextureManager::protectTexture):
2493         (WebCore::TextureManager::unprotectTexture):
2494         (WebCore::TextureManager::reduceMemoryToLimit):
2495         (WebCore::TextureManager::addTexture):
2496         (WebCore::TextureManager::removeTexture):
2497         (WebCore::TextureManager::requestTexture):
2498         * platform/graphics/chromium/TextureManager.h: Added.
2499         (WebCore::TextureManager::create):
2500         * platform/graphics/chromium/VideoLayerChromium.cpp:
2501         (WebCore::VideoLayerChromium::updateContentsIfDirty):
2502         * platform/graphics/chromium/VideoLayerChromium.h:
2503         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2504         (WebCore::WebGLLayerChromium::updateContentsIfDirty):
2505         * platform/graphics/chromium/WebGLLayerChromium.h:
2506
2507 2010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
2508
2509         Reviewed by Martin Robinson.
2510
2511         [GTK] response.isNull() assert when using directory file URI
2512         https://bugs.webkit.org/show_bug.cgi?id=49018
2513
2514         Do ensure that didReceiveResponse happens before any call to
2515         didReceiveData. That was not true for file:// URIs pointing to
2516         directories and thus was triggering an assertion.
2517
2518         Test: platform/gtk/fast/loader/crash-display-local-directory.html
2519
2520         * platform/network/soup/ResourceHandleSoup.cpp:
2521         (WebCore::gotHeadersCallback):
2522         (WebCore::contentSniffedCallback):
2523         (WebCore::parseDataUrl):
2524         (WebCore::sendRequestCallback):
2525         (WebCore::readCallback):
2526
2527 2010-11-24  Xan Lopez  <xlopez@igalia.com>
2528
2529         Reviewed by Martin Robinson.
2530
2531         * bindings/gobject/WebKitDOMBinding.h: fix stlye nit.
2532
2533 2010-11-24  Xan Lopez  <xlopez@igalia.com>
2534
2535         Reviewed by Martin Robinson.
2536
2537         [GTK] Make kit() methods return the proper type instead of gpointer
2538         https://bugs.webkit.org/show_bug.cgi?id=50034
2539
2540         Change kit() methods to return proper type pointer.
2541
2542         * bindings/gobject/WebKitDOMBinding.cpp: change implementions of
2543         kit methods.
2544         * bindings/gobject/WebKitDOMBinding.h: change their declarations.
2545         * bindings/scripts/CodeGeneratorGObject.pm: change the generated
2546         kit() methods.
2547
2548 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
2549
2550         Reviewed by Xan Lopez.
2551
2552         [GTK] DerivedSources/WebCore/DocTypeStrings.cpp is generated for every build
2553         https://bugs.webkit.org/show_bug.cgi?id=50032
2554
2555         Instead of listing two targets for rules that have two outputs, make
2556         a dependency chain. This fixes the issue where some files are generated
2557         unconditionally. Also remove all unnecessary semicolons from the file.
2558
2559         No new tests as this is just a build fix.
2560
2561         * GNUmakefile.am: Fix GNUmake dependency issue.
2562
2563 2010-11-24  Nico Weber  <nicolasweber@gmx.de>
2564
2565         Reviewed by Adam Barth.
2566
2567         Chromium/Mac: Make scaled images un-ugly when using the webkit image decoders
2568         https://bugs.webkit.org/show_bug.cgi?id=49965
2569
2570         Probably covered by existing tests whose expectations were overwritten
2571         in http://trac.webkit.org/changeset/70858
2572
2573         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2574         (WebCore::RGBA32Buffer::asNewNativeImage):
2575
2576 2010-11-24  Alexander Pavlov  <apavlov@chromium.org>
2577
2578         Reviewed by Pavel Feldman.
2579
2580         Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
2581         https://bugs.webkit.org/show_bug.cgi?id=50025
2582
2583         @font-face rules were improperly handled by source data extractor.
2584
2585         * css/CSSParser.cpp:
2586         (WebCore::CSSParser::CSSParser):
2587         (WebCore::CSSParser::parseDeclaration):
2588         (WebCore::CSSParser::createStyleRule):
2589         (WebCore::CSSParser::markRuleBodyStart):
2590         (WebCore::CSSParser::markPropertyStart):
2591         (WebCore::CSSParser::markPropertyEnd):
2592         * css/CSSParser.h:
2593
2594 2010-11-24  Cris Neckar  <cdn@chromium.org>
2595
2596         Reviewed by Adam Barth.
2597
2598         Added check when parsing local fonts to ensure that a value's unit type is either string or ident.
2599         https://bugs.webkit.org/show_bug.cgi?id=49883
2600
2601         Test: fast/css/local_font_invalid.html
2602
2603         * css/CSSParser.cpp:
2604         (WebCore::CSSParser::parseFontFaceSrc):
2605
2606 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
2607
2608         Reviewed by Yury Semikhatsky.
2609
2610         Web Inspector: place local modifications to under original
2611         resource nodes in the resource panel.
2612         https://bugs.webkit.org/show_bug.cgi?id=50029
2613
2614         * English.lproj/localizedStrings.js:
2615         * inspector/Inspector.idl:
2616         * inspector/InspectorController.cpp:
2617         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2618         (WebCore::InspectorController::scriptImported):
2619         * inspector/InspectorResourceAgent.cpp:
2620         (WebCore::InspectorResourceAgent::setInitialContent):
2621         * inspector/InspectorResourceAgent.h:
2622         * inspector/front-end/CSSStyleModel.js:
2623         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2624         (WebInspector.CSSStyleModel.prototype.addRule):
2625         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2626         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2627         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2628         (WebInspector.CSSProperty.prototype.setText):
2629         (WebInspector.CSSProperty.prototype.setDisabled.callback):
2630         (WebInspector.CSSProperty.prototype.setDisabled):
2631         (WebInspector.CSSStyleSheet.prototype.setText):
2632         * inspector/front-end/NetworkPanel.js:
2633         (WebInspector.NetworkPanel.prototype.refreshResource):
2634         * inspector/front-end/Resource.js:
2635         (WebInspector.Resource.prototype.set content):
2636         (WebInspector.Resource.prototype.get contentTimestamp):
2637         (WebInspector.Resource.prototype.setInitialContent):
2638         * inspector/front-end/ResourceManager.js:
2639         (WebInspector.ResourceManager):
2640         (WebInspector.ResourceManager.prototype.setInitialContent):
2641         * inspector/front-end/ResourcesPanel.js:
2642         (WebInspector.ResourcesPanel):
2643         (WebInspector.ResourcesPanel.prototype.reset):
2644         (WebInspector.ResourcesPanel.prototype._innerShowView):
2645         (WebInspector.FrameResourceTreeElement):
2646         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
2647         (WebInspector.FrameResourceTreeElement.prototype._contentChanged.else.finished):
2648         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
2649         (WebInspector.ResourceRevisionTreeElement):
2650         * inspector/front-end/SourceFrame.js:
2651         (WebInspector.SourceFrame.prototype.get scrollTop):
2652         (WebInspector.SourceFrame.prototype.set scrollTop):
2653         * inspector/front-end/SourceView.js:
2654         (WebInspector.SourceView.prototype.get scrollTop):
2655         (WebInspector.SourceView.prototype.set scrollTop):
2656         (WebInspector.SourceView.prototype._editLine):
2657         (WebInspector.SourceView.prototype._editLineComplete):
2658         * inspector/front-end/StylesSidebarPane.js:
2659         (WebInspector.StylePropertyTreeElement.prototype):
2660
2661 2010-11-24  Andrey Kosyakov  <caseq@chromium.org>
2662
2663         Reviewed by Pavel Feldman.
2664
2665         Web Inspector: extension API cleanup
2666         https://bugs.webkit.org/show_bug.cgi?id=50019
2667
2668         * inspector/front-end/ElementsPanel.js:
2669         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2670         (WebInspector.ElementsPanel):
2671         * inspector/front-end/ExtensionAPI.js: See bug for summary of extension API changes.
2672         (WebInspector.injectedExtensionAPI.Resources.resourceDispatch):
2673         (WebInspector.injectedExtensionAPI):
2674         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
2675         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
2676         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
2677         (WebInspector.injectedExtensionAPI.PanelImpl):
2678         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl):
2679         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
2680         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createWatchExpressionSidebarPane):
2681         (WebInspector.injectedExtensionAPI.ElementsPanel):
2682         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
2683         (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
2684         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.auditResultDispatch):
2685         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
2686         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
2687         (WebInspector.injectedExtensionAPI.InspectedWindow):
2688         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
2689         * inspector/front-end/ExtensionCommon.js:
2690         (WebInspector.commonExtensionSymbols):
2691         * inspector/front-end/ExtensionServer.js:
2692         (WebInspector.ExtensionServer):
2693         (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
2694         (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
2695         (WebInspector.ExtensionServer.prototype.notifyPageLoaded):
2696         (WebInspector.ExtensionServer.prototype.notifyPageDOMContentLoaded):
2697         (WebInspector.ExtensionServer.prototype._onCreatePanel):
2698         (WebInspector.ExtensionServer.prototype._onReload):
2699         (WebInspector.ExtensionServer.prototype._onGetHAR):
2700         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2701         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
2702         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
2703         * inspector/front-end/HAREntry.js:
2704         (WebInspector.HARLog):
2705         (WebInspector.HARLog.prototype.build):
2706         (WebInspector.HARLog.prototype._convertResource):
2707         * inspector/front-end/inspector.js:
2708         (WebInspector.domContentEventFired):
2709         (WebInspector.loadEventFired):
2710         (WebInspector.didCommitLoad):
2711
2712 2010-11-23  Jeremy Orlow  <jorlow@chromium.org>
2713
2714         Reviewed by Steve Block.
2715
2716         Fix minor errors in IndexedDB
2717         https://bugs.webkit.org/show_bug.cgi?id=49970
2718
2719         * Remove SNAPSHOT_READ per spec.
2720         * Assert that the transaction that changes the db is a setVersion
2721           transaction.
2722         * When an objectStore already exists, throw a CONSTRAINT_ERR.
2723         * When not in a setVersion transaction, throw a NOT_ALLOWED_ERR.
2724
2725         Test: storage/indexeddb/createAndRemoveObjectStore.html
2726
2727         * storage/IDBDatabase.cpp:
2728         (WebCore::IDBDatabase::createObjectStore):
2729         * storage/IDBDatabaseBackendImpl.cpp:
2730         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2731         * storage/IDBTransaction.h:
2732         * storage/IDBTransaction.idl:
2733
2734 2010-11-24  Philippe Normand  <pnormand@igalia.com>
2735
2736         Reviewed by Xan Lopez.
2737
2738         [GStreamer] pause webkitvideosink during fullscreen video playback
2739         https://bugs.webkit.org/show_bug.cgi?id=48824
2740
2741         Added an identity element before the webkitvideosink so that when
2742         fullscreen video is active the element can drop the incoming
2743         buffers so that webkitvideosink appears paused.
2744
2745         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2746         (WebCore::GStreamerGWorld::enterFullscreen):
2747         (WebCore::GStreamerGWorld::exitFullscreen):
2748         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2749         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2750
2751 2010-11-24  Avi Drissman  <avi@google.com>
2752
2753         Reviewed by Antonio Gomes.
2754
2755         Add preference to not select when right-clicked
2756         https://bugs.webkit.org/show_bug.cgi?id=23351
2757
2758         Test: editing/selection/context-menu-text-selection.html
2759
2760         * editing/EditingBehavior.h:
2761         (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
2762         * page/EventHandler.cpp:
2763         (WebCore::EventHandler::sendContextMenuEvent):
2764
2765 2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
2766
2767         Reviewed by Csaba Osztrogonác.
2768
2769         Make build-webkit --minimal build with ENABLE_INSPECTOR=0.
2770         https://bugs.webkit.org/show_bug.cgi?id=49975
2771
2772         No new tests needed.
2773
2774         * features.pri: Make the Qt buildsystem aware
2775         that the inspector is enabled by default.
2776
2777 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
2778
2779         Reviewed by Xan Lopez.
2780
2781         [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient
2782         https://bugs.webkit.org/show_bug.cgi?id=49143
2783
2784         * platform/gtk/GtkVersioning.c:
2785         (g_signal_accumulator_first_wins): Add g_signal_accumulator_first_wins for versions of
2786         GLib before 2.28.
2787         * platform/gtk/GtkVersioning.h:
2788
2789 2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2790
2791         Unreviewed, rolling out r72499.
2792         http://trac.webkit.org/changeset/72499
2793         https://bugs.webkit.org/show_bug.cgi?id=50022
2794
2795         This change is causing crashes on the bots. (Requested by
2796         mrobinson on #webkit).
2797
2798         * accessibility/AccessibilityMenuListOption.cpp:
2799         (WebCore::AccessibilityMenuListOption::nameForMSAA):
2800         * accessibility/AccessibilityMenuListOption.h:
2801         * accessibility/gtk/AXObjectCacheAtk.cpp:
2802         (WebCore::AXObjectCache::postPlatformNotification):
2803         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2804         (setAtkStateSetFromCoreObject):
2805         (optionFromList):
2806         (optionFromSelection):
2807         (webkit_accessible_selection_add_selection):
2808         (webkit_accessible_selection_clear_selection):
2809         (webkit_accessible_selection_get_selection_count):
2810         (webkit_accessible_selection_is_child_selected):
2811         (webkit_accessible_selection_remove_selection):
2812         (webkit_accessible_text_get_text):
2813         (getInterfaceMaskFromObject):
2814         * platform/gtk/PopupMenuGtk.cpp:
2815         (WebCore::PopupMenuGtk::show):
2816
2817 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
2818
2819         Reviewed by Csaba Osztrogonác.
2820
2821         Simplify makeprop.pl
2822         https://bugs.webkit.org/show_bug.cgi?id=49925
2823
2824         Don't generate CSSPropertyNamesHash.h.
2825         Instead generate CSSPropertyNames directly.
2826
2827         * GNUmakefile.am: Removed rule for CSSPropertyNamesHash.h.
2828         * css/makeprop.pl:
2829
2830 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
2831
2832         Reviewed by Csaba Osztrogonác.
2833
2834         Remove Bakefile build system files
2835         https://bugs.webkit.org/show_bug.cgi?id=49983
2836
2837         r53757 only removed the content, but not the files.
2838         This patch removes that empty files.
2839
2840         * WebCoreSources.bkl: Removed.
2841         * webcore-base.bkl: Removed.
2842         * webcore-wx.bkl: Removed.
2843
2844 2010-11-24  Renata Hodovan  <reni@inf.u-szeged.hu>
2845
2846         Reviewed by Andreas Kling.
2847
2848         [Qt] GraphicsContext: Clean up Qt/WebCore type conversion functions
2849         https://bugs.webkit.org/show_bug.cgi?id=49919
2850
2851         Add ASSERT_NOT_REACHED() if the given WebCore type doesn't have an equivalent type in Qt.
2852         Also change the return value of toQtLineJoin() from Qt::MiterJoin to the default Qt::SvgMiterJoin,
2853         because the previous one doesn't work currently.
2854
2855         No new test is needed.
2856
2857         * platform/graphics/qt/GraphicsContextQt.cpp:
2858         (WebCore::GraphicsContext::toQtCompositionMode):
2859         (WebCore::toQtLineCap):
2860         (WebCore::toQtLineJoin):
2861         (WebCore::toQPenStyle):
2862         (WebCore::toQtFillRule):
2863
2864 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
2865
2866         Reviewed by Csaba Osztrogonác.
2867
2868         Simplify makevalues.pl
2869         https://bugs.webkit.org/show_bug.cgi?id=49926
2870
2871         Don't generate CSSValueKeywordsHash.h.
2872         Instead generate CSSValueKeywords.cpp directly. 
2873
2874         * GNUmakefile.am: Removed rule for CSSValueKeywordsHash.h.
2875         * css/makevalues.pl:
2876
2877 2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
2878
2879         Reviewed by Kenneth Rohde Christiansen.
2880
2881         Make WebKit2 compile with !ENABLE(INSPECTOR).
2882         https://bugs.webkit.org/show_bug.cgi?id=49973
2883
2884         No new tests needed.
2885
2886         * bindings/js/ScriptHeapSnapshot.h:
2887         * bindings/js/ScriptProfile.cpp:
2888         * bindings/js/ScriptProfile.h:
2889         * inspector/InspectorDebuggerAgent.cpp:
2890         * inspector/InspectorDebuggerAgent.h:
2891         * inspector/InspectorProfilerAgent.cpp:
2892         * inspector/InspectorProfilerAgent.h:
2893         * inspector/ScriptBreakpoint.h:
2894
2895 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
2896
2897         Reviewed by Csaba Osztrogonác.
2898
2899         Simplify make-hash-tools.pl
2900         https://bugs.webkit.org/show_bug.cgi?id=49922
2901
2902         HashTools.h does not need to be generated, because it only contains static code.
2903
2904         * html/DocTypeStrings.gperf: Include findDoctypeEntry function.
2905         * make-hash-tools.pl: Do not generate HashTools.h.
2906         * platform/ColorData.gperf: Include findColor function.
2907         * platform/HashTools.h: Added.
2908
2909 2010-11-24  Andreas Kling  <kling@webkit.org>
2910
2911         Reviewed by Simon Hausmann.
2912
2913         [Qt] Pass Qt::TextBypassShaping flag when calculating shadow layer rects
2914
2915         Without this, we could end up with a slightly too small shadow layer
2916         for some string/font combinations.
2917
2918         * platform/graphics/qt/FontQt.cpp:
2919         (WebCore::drawTextCommon):
2920
2921 2010-11-22  Pavel Feldman  <pfeldman@chromium.org>
2922
2923         Reviewed by Yury Semikhatsky.
2924
2925         Web Inspector: add timing tab to the network item view.
2926         https://bugs.webkit.org/show_bug.cgi?id=49920
2927
2928         * WebCore.gypi:
2929         * WebCore.vcproj/WebCore.vcproj:
2930         * inspector/front-end/NetworkItemView.js:
2931         (WebInspector.NetworkItemView):
2932         * inspector/front-end/NetworkPanel.js:
2933         (WebInspector.NetworkPanel.prototype._showPopover):
2934         * inspector/front-end/Resource.js:
2935         (WebInspector.Resource.prototype.set timing):
2936         * inspector/front-end/ResourceTimingView.js: Added.
2937         (WebInspector.ResourceTimingView):
2938         (WebInspector.ResourceTimingView.prototype.show):
2939         (WebInspector.ResourceTimingView.prototype._refresh):
2940         (WebInspector.ResourceTimingView.createTimingTable):
2941         * inspector/front-end/WebKit.qrc:
2942         * inspector/front-end/inspector.html:
2943         * inspector/front-end/networkPanel.css:
2944         (#network-views .network-item-view .tabbed-pane-header):
2945         (.resource-timing-view):
2946         (.resource-timing-view table):
2947         (.resource-timing-view .network-timing-bar):
2948         (.resource-timing-view .network-timing-bar.proxy):
2949         (.resource-timing-view .network-timing-bar.dns):
2950         (.resource-timing-view .network-timing-bar.connecting):
2951         (.resource-timing-view .network-timing-bar.ssl):
2952         (.resource-timing-view .network-timing-bar.sending):
2953         (.resource-timing-view .network-timing-bar.waiting):
2954         (.resource-timing-view .network-timing-bar.receiving):
2955         (.resource-timing-view.visible):
2956
2957 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
2958
2959         Not reviewed. Follow up to r72652 (style id change in inspector).
2960
2961         * inspector/front-end/AuditRules.js:
2962         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
2963
2964 2010-11-22  Pavel Feldman  <pfeldman@chromium.org>
2965
2966         Reviewed by Yury Semikhatsky.
2967
2968         Web Inspector: refactor ResourceView hierarchy.
2969         https://bugs.webkit.org/show_bug.cgi?id=49864
2970
2971         This refactoring splits ResourceView.js into:
2972             NetworkItemView.js (tabbed pane)
2973             ResourceHeadersView.js (header tab)
2974             ResourceCookiesView.js (cookies tab)
2975             ResourceView.js (base class for content tab).
2976         CookiesTable was extracted from CookieItemsView and
2977         brushed up. headersVisible flag has been removed.
2978
2979         * English.lproj/localizedStrings.js:
2980         * WebCore.gypi:
2981         * WebCore.vcproj/WebCore.vcproj:
2982         * inspector/front-end/CookieItemsView.js:
2983         (WebInspector.CookieItemsView):
2984         (WebInspector.CookieItemsView.prototype.get statusBarItems):
2985         (WebInspector.CookieItemsView.prototype.hide):
2986         (WebInspector.CookieItemsView.prototype.resize):
2987         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2988         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
2989         (WebInspector.CookieItemsView.prototype._deleteCookie):
2990         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
2991         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
2992         (WebInspector.SimpleCookiesTable):
2993         (WebInspector.SimpleCookiesTable.prototype.setCookies):
2994         (WebInspector.SimpleCookiesTable.prototype.resize):
2995         * inspector/front-end/CookiesTable.js: Added.
2996         (WebInspector.CookiesTable):
2997         (WebInspector.CookiesTable.prototype.updateWidths):
2998         (WebInspector.CookiesTable.prototype.setCookies):
2999         (WebInspector.CookiesTable.prototype.addCookiesFolder):
3000         (WebInspector.CookiesTable.prototype.get selectedCookie):
3001         (WebInspector.CookiesTable.prototype._rebuildTable):
3002         (WebInspector.CookiesTable.prototype.reset):
3003         (WebInspector.CookiesTable.prototype._populateNode):
3004         (WebInspector.CookiesTable.prototype._totalSize):
3005         (WebInspector.CookiesTable.prototype._sortCookies.localeCompare):
3006         (WebInspector.CookiesTable.prototype._sortCookies.numberCompare):
3007         (WebInspector.CookiesTable.prototype._sortCookies.expiresCompare):
3008         (WebInspector.CookiesTable.prototype._sortCookies):
3009         (WebInspector.CookiesTable.prototype._createGridNode):
3010         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
3011         * inspector/front-end/FileSystemView.js:
3012         (WebInspector.FileSystemView.prototype._selectFileSystemTab):
3013         (WebInspector.FileSystemView.prototype.selectTemporaryFileSystemTab):
3014         * inspector/front-end/FontView.js:
3015         (WebInspector.FontView.prototype.hasContent):
3016         (WebInspector.FontView.prototype._createContentIfNeeded):
3017         (WebInspector.FontView.prototype.show):
3018         (WebInspector.FontView.prototype.updateFontPreviewSize):
3019         * inspector/front-end/ImageView.js:
3020         (WebInspector.ImageView.prototype.hasContent):
3021         (WebInspector.ImageView.prototype.show):
3022         * inspector/front-end/NetworkItemView.js: Added.
3023         (WebInspector.NetworkItemView):
3024         (WebInspector.NetworkItemView.prototype.show):
3025         (WebInspector.NetworkItemView.prototype._selectTab):
3026         (WebInspector.NetworkItemView.prototype._tabSelected):
3027         (WebInspector.NetworkItemView.prototype.resize):
3028         (WebInspector.NetworkItemView.prototype.selectContentTab):
3029         * inspector/front-end/NetworkPanel.js:
3030         (WebInspector.NetworkPanel.prototype.show):
3031         (WebInspector.NetworkPanel.prototype.refreshResource):
3032         (WebInspector.NetworkPanel.prototype._showResource):
3033         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
3034         * inspector/front-end/ResourceCookiesView.js: Added.
3035         (WebInspector.ResourceCookiesView):
3036         (WebInspector.ResourceCookiesView.prototype.show):
3037         * inspector/front-end/ResourceHeadersView.js: Added.
3038         (WebInspector.ResourceHeadersView):
3039         (WebInspector.ResourceHeadersView.prototype._refreshURL):
3040         (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
3041         (WebInspector.ResourceHeadersView.prototype._refreshFormData):
3042         (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
3043         (WebInspector.ResourceHeadersView.prototype._refreshParms):
3044         (WebInspector.ResourceHeadersView.prototype._toggleURLdecoding):
3045         (WebInspector.ResourceHeadersView.prototype._getHeaderValue):
3046         (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
3047         (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
3048         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
3049         (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
3050         * inspector/front-end/ResourceView.js:
3051         (WebInspector.ResourceView):
3052         (WebInspector.ResourceView.prototype.hasContent):
3053         * inspector/front-end/ResourcesPanel.js:
3054         (WebInspector.ResourcesPanel.prototype.show):
3055         (WebInspector.ResourcesPanel.prototype.showResource):
3056         (WebInspector.ResourcesPanel.prototype._showResourceView):
3057         * inspector/front-end/ScriptsPanel.js:
3058         (WebInspector.ScriptsPanel.prototype.show):
3059         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3060         * inspector/front-end/SourceView.js:
3061         (WebInspector.SourceView):
3062         (WebInspector.SourceView.prototype.show):
3063         (WebInspector.SourceView.prototype.hide):
3064         (WebInspector.SourceView.prototype.resize):
3065         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
3066         (WebInspector.SourceView.prototype.hasContent):
3067         (WebInspector.SourceView.prototype.updateLocalContent):
3068         (WebInspector.SourceView.prototype.selectLocalContentTab):
3069         * inspector/front-end/StylesSidebarPane.js:
3070         * inspector/front-end/TabbedPane.js:
3071         (WebInspector.TabbedPane):
3072         (WebInspector.TabbedPane.prototype.appendTab):
3073         (WebInspector.TabbedPane.prototype.selectTab):
3074         (WebInspector.TabbedPane.prototype._showTab):
3075         (WebInspector.TabbedPane.prototype._hideTab):
3076         * inspector/front-end/WebKit.qrc:
3077         * inspector/front-end/inspector.css:
3078         (.webkit-line-gutter-backdrop):
3079         (.resource-view):
3080         (.resource-view.visible):
3081         (.resource-view.font):
3082         (.resource-view.image > .image):
3083         (.resource-view.image > .info):
3084         (.storage-view):
3085         (.storage-view .data-grid):
3086         (.storage-empty-view, .storage-view .storage-table-error):
3087         (.storage-view .storage-table-error):
3088         * inspector/front-end/inspector.html:
3089         * inspector/front-end/networkPanel.css:
3090         (.network-cell-subtitle):
3091         (.network-header-subtitle):
3092         (#network-views .network-item-view .tabbed-pane-header):
3093         (#network-views.small .network-item-view .tabbed-pane-header):
3094         (.network-item-view):
3095         (.network-item-view.visible):
3096         (.network-item-view .tabbed-pane-header):
3097         (.network-item-view .scope-bar li):
3098         (.resource-headers-view):
3099         (.resource-headers-view.visible):
3100         (.resource-headers-view .outline-disclosure .parent):
3101         (.resource-headers-view .outline-disclosure .children li):
3102         (.resource-headers-view .outline-disclosure li.expanded .header-count):
3103         (.resource-headers-view .outline-disclosure .header-name):
3104         (.resource-headers-view .outline-disclosure .header-value):
3105         (.resource-headers-view .outline-disclosure .raw-form-data):
3106         (.resource-cookies-view):
3107         (.resource-cookies-view.visible):
3108         (.resource-cookies-view .data-grid):
3109         (.resource-cookies-view .data-grid .row-group):
3110
3111 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
3112
3113         Reviewed by Yury Semikhatsky.
3114
3115         Web Inspector: add "Locally modified" group into the resource panel.
3116         https://bugs.webkit.org/show_bug.cgi?id=50005
3117
3118         * English.lproj/localizedStrings.js:
3119         * inspector/front-end/ResourcesPanel.js:
3120         (WebInspector.ResourcesPanel):
3121         (WebInspector.ResourcesPanel.prototype.reset):
3122         (WebInspector.ResourcesPanel.prototype.addLocallyModifiedRevision):
3123         (WebInspector.ResourcesPanel.prototype._innerShowView):
3124         (WebInspector.BaseStorageTreeElement.prototype.set titleText):
3125         (WebInspector.LocallyModifiedResourceTreeElement):
3126         (WebInspector.LocallyModifiedResourceTreeElement.prototype.onselect):
3127         (WebInspector.LocallyModifiedResourceTreeElement.prototype.gcRevisions):
3128         (WebInspector.LocallyModifiedRevisionTreeElement):
3129         (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onattach):
3130         (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onselect):
3131         (WebInspector.LocallyModifiedRevisionTreeElement.prototype._ondragstart):
3132
3133 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
3134
3135         Reviewed by Yury Semikhatsky.
3136
3137         Web Inspector: pass style id to front-end as Object, not string.
3138         https://bugs.webkit.org/show_bug.cgi?id=49971
3139
3140         * inspector/Inspector.idl:
3141         * inspector/InspectorCSSAgent.cpp:
3142         (WebCore::InspectorCSSAgent::getStylesForNode2):
3143         (WebCore::InspectorCSSAgent::getStyleSheetText2):
3144         (WebCore::InspectorCSSAgent::setPropertyText2):
3145         (WebCore::InspectorCSSAgent::toggleProperty2):
3146         (WebCore::InspectorCSSAgent::setRuleSelector2):
3147         * inspector/InspectorCSSAgent.h:
3148         * inspector/InspectorStyleSheet.cpp:
3149         (WebCore::InspectorStyle::buildObjectForStyle):
3150         (WebCore::InspectorStyleSheet::finalURL):
3151         (WebCore::InspectorStyleSheet::ruleForId):
3152         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3153         (WebCore::InspectorStyleSheet::buildObjectForRule):
3154         (WebCore::InspectorStyleSheet::text):
3155         (WebCore::InspectorStyleSheet::ruleOrStyleId):
3156         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
3157         (WebCore::InspectorStyleSheetForInlineStyle::text):
3158         * inspector/InspectorStyleSheet.h:
3159         (WebCore::InspectorCSSId::InspectorCSSId):
3160         (WebCore::InspectorCSSId::isEmpty):
3161         (WebCore::InspectorCSSId::styleSheetId):
3162         (WebCore::InspectorCSSId::ordinal):
3163         (WebCore::InspectorCSSId::asInspectorValue):
3164         (WebCore::InspectorStyleSheet::id):
3165         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
3166         * inspector/front-end/CSSStyleModel.js:
3167         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3168         (WebInspector.CSSStyleModel.prototype.addRule):
3169         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3170         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
3171         (WebInspector.CSSProperty.prototype.setText):
3172         (WebInspector.CSSProperty.prototype.setDisabled.callback):
3173         (WebInspector.CSSProperty.prototype.setDisabled):
3174         (WebInspector.CSSStyleSheet.createForId):
3175         (WebInspector.CSSStyleSheet.prototype.setText):
3176
3177 2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
3178
3179         Unreviewed, rolling out r72647.
3180         http://trac.webkit.org/changeset/72647
3181         https://bugs.webkit.org/show_bug.cgi?id=50009
3182
3183         breaks the http layout tests (Requested by philn-tp on
3184         #webkit).
3185
3186         * platform/network/soup/ResourceHandleSoup.cpp:
3187         (WebCore::sendRequestCallback):
3188         (WebCore::startHttp):
3189         (WebCore::ResourceHandle::platformSetDefersLoading):
3190
3191 2010-11-23  Philippe Normand  <pnormand@igalia.com>
3192
3193         Reviewed by Martin Robinson.
3194
3195         [soup] implement ResourceHandle::platformSetDefersLoading
3196         https://bugs.webkit.org/show_bug.cgi?id=44158
3197
3198         * platform/network/soup/ResourceHandleSoup.cpp:
3199         (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
3200         using the soup_session_{,un}pause_message APIs.
3201
3202 2010-11-22  Abhishek Arya  <inferno@chromium.org>
3203
3204         Reviewed by Adam Barth.
3205
3206         r71925 broke the chrome new tab page. r71925 blocked drag and drop
3207         of same security origin objects onto themselves if their origin is
3208         marked unique. We need to allow drag and drop in that scenario.
3209         https://bugs.webkit.org/show_bug.cgi?id=49098
3210
3211         Test: http/tests/security/drag-drop-same-unique-origin.html
3212
3213         * page/SecurityOrigin.cpp:
3214         (WebCore::SecurityOrigin::canReceiveDragData):
3215
3216 2010-11-23  Cris Neckar  <cdn@chromium.org>
3217
3218         Reviewed by Dimitri Glazkov.
3219
3220         Removed unneeded conversions to RenderBlock.
3221         https://bugs.webkit.org/show_bug.cgi?id=49896
3222
3223         Test: fast/css/input-search-table-column-crash.html
3224
3225         * rendering/RenderTextControlSingleLine.cpp:
3226         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
3227
3228 2010-11-23  Ryosuke Niwa  <rniwa@webkit.org>
3229
3230         Reviewed by Adam Barth.
3231
3232         XMLDocumentParser::notifyFinished calls ScriptController's executeScript without updating isEvaluated flag
3233         https://bugs.webkit.org/show_bug.cgi?id=49701
3234
3235         Fixed the bug by calling ScriptElement's executeScript, which sets isEvaluated flag to true.
3236
3237         Test: fast/dom/script-clone-rerun-src.xhtml
3238
3239         * dom/XMLDocumentParser.cpp:
3240         (WebCore::XMLDocumentParser::notifyFinished):
3241
3242 2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3243
3244         Unreviewed, rolling out r72628.
3245         http://trac.webkit.org/changeset/72628
3246         https://bugs.webkit.org/show_bug.cgi?id=49994
3247
3248         This patch is causing layout-test failtures on GTK Linux
3249         64-bit Debug (Requested by ctguil on #webkit).
3250
3251         * accessibility/AccessibilityRenderObject.cpp:
3252         (WebCore::AccessibilityRenderObject::renderParentObject):
3253         (WebCore::AccessibilityRenderObject::addChildren):
3254         * accessibility/AccessibilityRenderObject.h:
3255         * accessibility/chromium/AccessibilityObjectChromium.cpp:
3256         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
3257
3258 2010-11-23  Xan Lopez  <xlopez@igalia.com>
3259
3260         Reviewed by Martin Robinson.
3261
3262         [GTK] Fix IFrame DOM bindings API
3263         https://bugs.webkit.org/show_bug.cgi?id=49980
3264
3265         Fix IFrame API naming. It needs special casing because of the two
3266         consecutive capital letters.
3267
3268         * bindings/scripts/CodeGeneratorGObject.pm:
3269
3270 2010-11-23  Shimeng (Simon) Wang  <swang@google.com>
3271
3272         Reviewed by Steve Block.
3273
3274         Use platform bridge to set scroll position.
3275         https://bugs.webkit.org/show_bug.cgi?id=49550
3276
3277         Refactoring only.  Existing tests shall suffice.
3278
3279         * platform/android/PlatformBridge.h:
3280         * platform/android/ScrollViewAndroid.cpp:
3281         (WebCore::ScrollView::platformSetScrollPosition):
3282
3283 2010-11-23  Andreas Kling  <kling@webkit.org>
3284
3285         Reviewed by Tor Arne Vestbø.
3286
3287         [Qt] Selecting shadowed text causes rendering artifacts
3288         https://bugs.webkit.org/show_bug.cgi?id=49990
3289
3290         When selecting text starting from the end of a word, we need to use
3291         the X coordinate of the start of the substring when calculating the
3292         bounding rect for a ContextShadow.
3293
3294         * platform/graphics/qt/FontQt.cpp:
3295         (WebCore::drawTextCommon):
3296
3297 2010-11-23  Chris Guillory  <chris.guillory@google.com>
3298
3299         Reviewed by Dimitri Glazkov.
3300
3301         Include the FrameView widget of a RenderWidget in the accessibility tree.
3302         https://bugs.webkit.org/show_bug.cgi?id=49106
3303
3304         Include render widget children in the accessibility tree for not mac webkit ports.
3305
3306         Test: accessibility/iframe-has-document.html
3307
3308         * accessibility/AccessibilityRenderObject.cpp:
3309         (WebCore::AccessibilityRenderObject::renderParentObject):
3310         (WebCore::AccessibilityRenderObject::addChildren):
3311         (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
3312         * accessibility/AccessibilityRenderObject.h:
3313         * accessibility/chromium/AccessibilityObjectChromium.cpp:
3314         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
3315
3316 2010-11-23  Chris Rogers  <crogers@google.com>
3317
3318         Reviewed by Alexey Proskuryakov.
3319
3320         Add .responseType and .response to XMLHttpRequest
3321         https://bugs.webkit.org/show_bug.cgi?id=49633
3322
3323         Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-abort.html
3324                fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer.html
3325                fast/xmlhttprequest/xmlhttprequest-responsetype-document.html
3326                fast/xmlhttprequest/xmlhttprequest-responsetype-text.html
3327
3328         * bindings/js/JSXMLHttpRequestCustom.cpp:
3329         (WebCore::JSXMLHttpRequest::markChildren):
3330         (WebCore::JSXMLHttpRequest::open):
3331         (WebCore::JSXMLHttpRequest::response):
3332         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3333         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
3334         * xml/XMLHttpRequest.cpp:
3335         (WebCore::XMLHttpRequest::XMLHttpRequest):
3336         (WebCore::XMLHttpRequest::responseText):
3337         (WebCore::XMLHttpRequest::responseXML):
3338         (WebCore::XMLHttpRequest::responseBlob):
3339         (WebCore::XMLHttpRequest::responseArrayBuffer):
3340         (WebCore::XMLHttpRequest::setResponseType):
3341         (WebCore::XMLHttpRequest::responseType):
3342         (WebCore::XMLHttpRequest::setAsBlob):
3343         (WebCore::XMLHttpRequest::open):
3344         (WebCore::XMLHttpRequest::clearResponse):
3345         (WebCore::XMLHttpRequest::didFinishLoading):
3346         (WebCore::XMLHttpRequest::didReceiveData):
3347         * xml/XMLHttpRequest.h:
3348         (WebCore::XMLHttpRequest::asBlob):
3349         (WebCore::XMLHttpRequest::optionalResponseXML):
3350         (WebCore::XMLHttpRequest::optionalResponseBlob):
3351         (WebCore::XMLHttpRequest::responseTypeCode):
3352         (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
3353         * xml/XMLHttpRequest.idl:
3354
3355 2010-11-23  Abhishek Arya  <inferno@chromium.org>
3356
3357         Reviewed by Adam Barth.
3358
3359         dispatchEvent call in EventSource endRequest can lead to calling endRequest
3360         again which frees up the pending activity. Make sure we have request in flight
3361         to prevent that from happening.
3362         https://bugs.webkit.org/show_bug.cgi?id=49448
3363
3364         Test: http/tests/eventsource/eventsource-status-error-iframe-crash.html
3365
3366         * page/EventSource.cpp:
3367         (WebCore::EventSource::endRequest):
3368         (WebCore::EventSource::close):
3369
3370 2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3371
3372         Unreviewed, rolling out r72618.
3373         http://trac.webkit.org/changeset/72618
3374         https://bugs.webkit.org/show_bug.cgi?id=49987
3375
3376         "Newly added test is failing on Chromium-linux, patch author
3377         said to rollout" (Requested by jparent on #webkit).
3378
3379         * editing/EditingBehavior.h:
3380         * page/EventHandler.cpp:
3381         (WebCore::EventHandler::sendContextMenuEvent):
3382
3383 2010-11-23  Avi Drissman  <avi@google.com>
3384
3385         Reviewed by Antonio Gomes.
3386
3387         Add preference to not select when right-clicked
3388         https://bugs.webkit.org/show_bug.cgi?id=23351
3389
3390         Test: editing/selection/context-menu-text-selection.html
3391
3392         * editing/EditingBehavior.h:
3393         (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
3394         * page/EventHandler.cpp:
3395         (WebCore::EventHandler::sendContextMenuEvent):
3396
3397 2010-11-23  Alexander Pavlov  <apavlov@chromium.org>
3398
3399         Reviewed by Pavel Feldman.
3400
3401         Web Inspector: [STYLES] invalid color values are not marked as such.
3402         https://bugs.webkit.org/show_bug.cgi?id=49960
3403
3404         Properties having a valid structure but invalid values will also
3405         be marked as non-parsedOk in the Styles pane.
3406
3407         * css/CSSGrammar.y:
3408         * inspector/InspectorStyleSheet.cpp:
3409         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
3410
3411 2010-11-23  Adam Bergkvist  <adam.bergkvist@ericsson.com>
3412
3413         Reviewed by Martin Robinson.
3414
3415         [GTK] Building with Blob support fails
3416         https://bugs.webkit.org/show_bug.cgi?id=49724
3417
3418         Build fix.
3419
3420         * GNUmakefile.am:
3421         * platform/gtk/FileSystemGtk.cpp:
3422         (WebCore::seekFile): Not implemented.
3423
3424 2010-11-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3425
3426         Reviewed by Andreas Kling.
3427
3428         Make setShouldDelegateScrolling not a real setting, so that it works
3429         similar to the related setUseFixedLayout and setPaintEntireContents
3430         options which are all in ScrollView.
3431
3432         * page/FrameView.cpp:
3433         * page/FrameView.h:
3434         * page/Settings.cpp:
3435         (WebCore::Settings::Settings):
3436         * page/Settings.h:
3437         * platform/ScrollView.cpp:
3438         (WebCore::ScrollView::ScrollView):
3439         (WebCore::ScrollView::setDelegatesScrolling):
3440         * platform/ScrollView.h:
3441         (WebCore::ScrollView::delegatesScrolling):
3442
3443 2010-11-23  Adam Roben  <aroben@apple.com>
3444
3445         Don't rely on DocumentLoader outliving the load/unload events
3446
3447         DocumentLoader::m_documentLoadTiming is used to record how long firing
3448         the load event took. But the DocumentLoader was being destroyed while
3449         the event was being dispatched (due to a call to document.open), which
3450         meant that when we tried to record the time when the load event
3451         finished, we were writing into freed memory. We now protect the
3452         DocumentLoader using a RefPtr. (I initially made a change where we
3453         would only access the DocumentLoader after the event has finished
3454         firing, but it seemed possible that a different DocumentLoader could
3455         have come into existence by then, which would cause us to record the
3456         times on the wrong DocumentLoadTiming struct.)
3457
3458         I only saw a crash when firing the load event, but the code for timing
3459         the unload event seemed like it was vulnerable to the same issue, so I
3460         made the same fix for it.
3461
3462         Fixes <http://webkit.org/b/49972> REGRESSION (r72415?): Crash in
3463         DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html
3464
3465         Reviewed by Darin Fisher.
3466
3467         * loader/FrameLoader.cpp:
3468         (WebCore::FrameLoader::stopLoading):
3469         * page/DOMWindow.cpp:
3470         (WebCore::DOMWindow::dispatchLoadEvent):
3471         Protect the DocumentLoader (and thus its DocumentLoadTiming) with a
3472         RefPtr.
3473
3474 2010-11-17  Zhenyao Mo  <zmo@google.com>
3475
3476         Reviewed by Kenneth Russell.
3477
3478         readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA
3479         https://bugs.webkit.org/show_bug.cgi?id=49673
3480
3481         Test: fast/canvas/webgl/read-pixels-test.html
3482
3483         * html/canvas/WebGLRenderingContext.cpp:
3484         (WebCore::WebGLRenderingContext::readPixels):
3485
3486 2010-11-23  Alexander Pavlov  <apavlov@chromium.org>
3487
3488         Reviewed by Pavel Feldman.
3489
3490         Web Inspector: [STYLES] Use strike through as an 'overridden' marker.
3491         https://bugs.webkit.org/show_bug.cgi?id=49961
3492
3493         "line-through" is used for inactive properties overridden within the same style.
3494
3495         * inspector/front-end/inspector.css:
3496         (.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled):
3497
3498 2010-11-23  Yael Aharon  <yael.aharon@nokia.com>
3499
3500         Reviewed by Antonio Gomes.
3501
3502         Spatial Navigation: Code cleanup
3503         https://bugs.webkit.org/show_bug.cgi?id=49442
3504
3505         Remove code that is not used anymore after http://trac.webkit.org/changeset/72522.
3506         Added const to canBeScrolledIntoView.
3507         No new tests because this is only code cleanup.
3508
3509         * page/FocusController.cpp:
3510         * page/FocusController.h:
3511         * page/SpatialNavigation.cpp:
3512         (WebCore::canBeScrolledIntoView):
3513         * page/SpatialNavigation.h:
3514
3515 2010-11-23  Jeremy Orlow  <jorlow@chromium.org>
3516
3517         Reviewed by Steve Block.
3518
3519         Remove unimplemented (and untested) methods from IndexedDB
3520         https://bugs.webkit.org/show_bug.cgi?id=49911
3521
3522         * storage/IDBCursor.idl:
3523         * storage/IDBDatabase.idl:
3524
3525 2010-11-18  Satish Sampath  <satish@chromium.org>
3526
3527         Reviewed by Jeremy Orlow.
3528
3529         For speech input event, send an event object containing all the recognition results and metadata.
3530         https://bugs.webkit.org/show_bug.cgi?id=49736
3531
3532         Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
3533         has the full list of recognition results and populates only the top result into the input field
3534         automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
3535         code can access the full list of results via "event.results.length", "results[i].utterance" and
3536         "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
3537
3538         Test: fast/speech/input-onspeechchange-event.html
3539
3540         * CMakeLists.txt:
3541         * GNUmakefile.am:
3542         * WebCore.gypi:
3543         * WebCore.pri:
3544         * WebCore.pro:
3545         * WebCore.xcodeproj/project.pbxproj:
3546         * bindings/js/JSEventCustom.cpp:
3547         (WebCore::toJS): Added new event
3548         * bindings/v8/custom/V8EventCustom.cpp:
3549         (WebCore::toV8): Added new event
3550         * dom/Event.cpp:
3551         (WebCore::Event::isSpeechInputEvent):
3552         * dom/Event.h:
3553         * html/HTMLInputElement.cpp:
3554         * html/HTMLInputElement.h:
3555         * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
3556         (WebCore::SpeechInputEvent::~SpeechInputEvent):
3557         (WebCore::SpeechInputEvent::create):
3558         (WebCore::SpeechInputEvent::isSpeechInputEvent):
3559         (WebCore::SpeechInputEvent::results):
3560         (WebCore::SpeechInputEvent::SpeechInputEvent):
3561         * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
3562         * page/SpeechInputListener.h:
3563         * page/SpeechInputResult.cpp:
3564         (WebCore::SpeechInputResult::create):
3565         * page/SpeechInputResult.h:
3566         * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
3567         * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
3568         (WebCore::SpeechInputResultList::create):
3569         (WebCore::SpeechInputResultList::length):
3570         (WebCore::SpeechInputResultList::item):
3571         (WebCore::SpeechInputResultList::SpeechInputResultList):
3572         * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
3573         * platform/mock/SpeechInputClientMock.cpp:
3574         (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
3575         (WebCore::SpeechInputClientMock::clearResults):
3576         (WebCore::SpeechInputClientMock::timerFired):
3577         * platform/mock/SpeechInputClientMock.h:
3578         * rendering/TextControlInnerElements.cpp:
3579         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
3580
3581 2010-11-22  Alexey Proskuryakov  <ap@apple.com>
3582
3583         Reviewed by Darin Adler.
3584
3585         https://bugs.webkit.org/show_bug.cgi?id=49860
3586         CSS style rules don't GC protect objects reachable as their properties
3587
3588         Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
3589
3590         * Android.jscbindings.mk:
3591         * CMakeLists.txt:
3592         * GNUmakefile.am:
3593         * WebCore.gypi:
3594         * WebCore.pro:
3595         * WebCore.vcproj/WebCore.vcproj:
3596         * WebCore.xcodeproj/project.pbxproj:
3597         * bindings/js/JSBindingsAllInOne.cpp:
3598         Added new files, sorted appropriate sections for easier adding.
3599
3600         * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
3601         (WebCore::JSCSSFontFaceRule::markChildren):
3602         * bindings/js/JSCSSImportRuleCustom.cpp: Added.
3603         (WebCore::JSCSSImportRule::markChildren):
3604         * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
3605         (WebCore::JSCSSMediaRule::markChildren):
3606         * bindings/js/JSCSSPageRuleCustom.cpp: Added.
3607         (WebCore::JSCSSPageRule::markChildren):
3608         * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
3609         (WebCore::JSCSSStyleRule::markChildren):
3610         * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
3611         (WebCore::JSWebKitCSSKeyframeRule::markChildren):
3612         * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
3613         (WebCore::JSWebKitCSSKeyframesRule::markChildren):
3614         Mark objects reachable through these ones.
3615
3616         * css/CSSFontFaceRule.idl:
3617         * css/CSSImportRule.idl:
3618         * css/CSSMediaRule.idl:
3619         * css/CSSPageRule.idl:
3620         * css/CSSStyleRule.idl:
3621         * css/WebKitCSSKeyframeRule.idl:
3622         * css/WebKitCSSKeyframesRule.idl:
3623         Added CustomMarkFunction IDL attribute.
3624
3625 2010-11-23  Helder Correia  <helder@sencha.com>
3626
3627         Reviewed by Ariya Hidayat.
3628
3629         [Qt] Drawing an image on canvas with shadowBlur draws a solid shadow
3630         https://bugs.webkit.org/show_bug.cgi?id=49878
3631
3632         Add support for blurry shadows when drawing images on canvas.
3633
3634         Test: fast/canvas/canvas-drawImage-shadow.html
3635
3636         * platform/graphics/qt/ContextShadowQt.cpp:
3637         (WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too.
3638         * platform/graphics/qt/ImageQt.cpp:
3639         (WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow.
3640
3641 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
3642
3643         Reviewed by Adam Roben.
3644
3645         Port ContextMenuWin.cpp to WinCE
3646         https://bugs.webkit.org/show_bug.cgi?id=48408
3647
3648         * platform/ContextMenu.h:
3649         * platform/win/ContextMenuWin.cpp:
3650         (WebCore::ContextMenu::ContextMenu):
3651         (WebCore::ContextMenu::itemCount):
3652         (WebCore::insertMenuItem):
3653         (WebCore::ContextMenu::insertItem):
3654         (WebCore::contextMenuItemByIdOrPosition):
3655         (WebCore::ContextMenu::setPlatformDescription):
3656         (WebCore::contextMenuItemVector):
3657         (WebCore::platformMenuDescription):
3658
3659 2010-11-22  David Hyatt  <hyatt@apple.com>
3660
3661         Back out r72527 since it caused multiple rendering regressions.  Details in bug.
3662
3663         * rendering/InlineFlowBox.cpp:
3664         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
3665         * rendering/RenderListItem.cpp:
3666         (WebCore::RenderListItem::positionListMarker):
3667
3668 2010-11-22  John Knottenbelt  <jknotten@chromium.org>
3669
3670         Reviewed by Steve Block.
3671
3672         Implement mocks for client-based Geolocation.
3673         https://bugs.webkit.org/show_bug.cgi?id=49258
3674
3675         * Android.mk:
3676         * CMakeLists.txt:
3677         * GNUmakefile.am:
3678         * WebCore.gypi:
3679         * WebCore.pro:
3680         * WebCore.vcproj/WebCore.vcproj:
3681         * WebCore.xcodeproj/project.pbxproj:
3682         * platform/mock/GeolocationClientMock.cpp: Added.
3683         (WebCore::GeolocationClientMock::GeolocationClientMock):
3684         (WebCore::GeolocationClientMock::~GeolocationClientMock):
3685         (WebCore::GeolocationClientMock::setController):
3686         (WebCore::GeolocationClientMock::setPosition):
3687         (WebCore::GeolocationClientMock::setError):
3688         (WebCore::GeolocationClientMock::geolocationDestroyed):
3689         (WebCore::GeolocationClientMock::startUpdating):
3690         (WebCore::GeolocationClientMock::stopUpdating):
3691         (WebCore::GeolocationClientMock::setEnableHighAccuracy):
3692         (WebCore::GeolocationClientMock::lastPosition):
3693         (WebCore::GeolocationClientMock::timerFired):
3694         (WebCore::GeolocationClientMock::makeGeolocationCallback):
3695         * platform/mock/GeolocationClientMock.h: Added.
3696
3697 2010-11-22  Tony Gentilcore  <tonyg@chromium.org>
3698
3699         Reviewed by Adam Barth.
3700
3701         Fix bogus include guard.
3702
3703         * loader/NavigationScheduler.h:
3704
3705 2010-11-22  Andreas Kling  <kling@webkit.org>
3706
3707         Reviewed by Ariya Hidayat.
3708
3709         [Qt] Canvas: strokeText() and fillText() produce same shadow
3710         https://bugs.webkit.org/show_bug.cgi?id=48845
3711
3712         Test: fast/canvas/canvas-strokeText-strokes-shadow.html
3713
3714         * platform/graphics/qt/FontQt.cpp:
3715         (WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case.
3716
3717 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
3718
3719         Reviewed by Sam Weinig.
3720
3721         Use WTF::FixedArray::size()
3722         https://bugs.webkit.org/show_bug.cgi?id=49891
3723
3724         * dom/Document.cpp:
3725         (WebCore::Document::~Document):
3726
3727 2010-11-22  Ryosuke Niwa  <rniwa@webkit.org>
3728
3729         Reviewed by Tony Chang.
3730
3731         SelectionController::typingStyle() should return EditingStyle*
3732         https://bugs.webkit.org/show_bug.cgi?id=49813
3733
3734         Changed the return type of SelectionController::typingStyle to EditingStyle*.
3735
3736         Extracted textDirection from Editor::textDirectionForSelection to hide the underlying
3737         CSSMutableStyleDeclaration.
3738
3739         Also extracted the code to preserve unicode-bidi and direction CSS properties in
3740         InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection,
3741         which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not
3742         these two properties are preserved.
3743
3744         Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of
3745         CSSMutableStyleDeclaration.
3746
3747         No new tests are added since this is a refactoring.
3748
3749         * editing/EditingStyle.cpp:
3750         (WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection.
3751         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check.
3752         (WebCore::EditingStyle::prepareToApplyAt): See above.
3753         (WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle.
3754         * editing/EditingStyle.h: Moved WritingDirection from Editor.h
3755         * editing/Editor.cpp:
3756         (WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection.
3757         (WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle.
3758         (WebCore::Editor::selectionComputedStyle): Ditto.
3759         (WebCore::Editor::styleForSelectionStart): Ditto.
3760         * editing/Editor.h:
3761         * editing/InsertLineBreakCommand.cpp:
3762         (WebCore::InsertLineBreakCommand::doApply): Ditto.
3763         * editing/InsertTextCommand.cpp:
3764         (WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection.
3765         * editing/SelectionController.h:
3766         (WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*.
3767         (WebCore::SelectionController::copyTypingStyle): Added.
3768
3769 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
3770
3771         Reviewed by Adam Roben.
3772
3773         [WINCE] Set correct preprocessor definitions
3774         https://bugs.webkit.org/show_bug.cgi?id=49887
3775
3776         * config.h:
3777
3778 2010-11-22  James Robinson  <jamesr@chromium.org>
3779
3780         Reviewed by Dimitri Glazkov.
3781
3782         [chromium] font-size:0 text runs should have zero width
3783         https://bugs.webkit.org/show_bug.cgi?id=49871
3784
3785         Returns 0 from platformWidthForGlyph if the specified font size is 0.
3786
3787         Test: fast/text/font-size-zero.html
3788
3789         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3790         (WebCore::SimpleFontData::platformWidthForGlyph):
3791         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
3792         (WebCore::SimpleFontData::platformWidthForGlyph):
3793
3794 2010-11-22  Charlie Reis  <creis@chromium.org>
3795
3796         Reviewed by Darin Fisher.
3797
3798         Update correct content state during back/forward navigations
3799         https://bugs.webkit.org/show_bug.cgi?id=48809
3800
3801         Ensures that history's previousItem is non-null when clients try to
3802         update content state (e.g., Chromium's UpdateSessionHistory).  We now
3803         track load completions with a boolean field rather than by clearing
3804         previousItem.
3805
3806         Test: fast/history/saves-state-after-frame-nav.html
3807
3808         * loader/HistoryController.cpp:
3809         * loader/HistoryController.h:
3810
3811 2010-11-22  Luiz Agostini  <luiz.agostini@openbossa.org>
3812
3813         Unreviewed, Windows build fix.
3814
3815         Adding JSMediaQueryList to DerivedSources.cpp.
3816
3817         * DerivedSources.cpp:
3818
3819 2010-11-22  Adam Roben  <aroben@apple.com>
3820
3821         Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
3822
3823         Apple's Windows build allows placing header files and import libraries for WebKit's
3824         dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
3825         $WebKitLibrariesDir environment variable. This is both required for production builds and
3826         convenient for Apple-internal developer builds. Apple's production builds also require that
3827         WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
3828         builds, the files are copied into that directory tree by the
3829         WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
3830         copying is done by
3831         JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
3832
3833         This .vsprops copying is problematic in one very important case: when a developer updates
3834         their source tree and then tries to build. Visual Studio only reads .vsprops files when a
3835         project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
3836         updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
3837         build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
3838         $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
3839         will proceed with out-of-date .vsprops files, which will likely result in a build failure.
3840
3841         To fix this, we now use normal relative paths to access the .vsprops files in the source
3842         tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
3843         variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
3844         unset, so the normal relative paths are used to read the .vsprops files out of the source
3845         tree directly. In production builds, this environment variable is set to a fake directory
3846         that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
3847         is resolved.
3848         
3849         For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
3850
3851         $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
3852
3853         In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
3854         files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
3855         JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
3856         "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
3857         FeatureDefines.vsprops becomes:
3858
3859         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
3860
3861         which resolves to:
3862
3863         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
3864
3865         (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
3866         actually exist since they are matched by an equal number of ".." path components.)
3867
3868         Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
3869         Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
3870
3871         Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
3872         updated
3873
3874         Reviewed by Dave Hyatt.
3875
3876         * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
3877         production builds can find the .vsprops files.
3878
3879         * WebCore.vcproj/QTMovieWin.vcproj:
3880         * WebCore.vcproj/WebCore.vcproj:
3881         Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
3882         files.
3883
3884 2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
3885
3886         Reviewed by Darin Adler.
3887
3888         Implement CSSOM View matchMedia interface
3889         https://bugs.webkit.org/show_bug.cgi?id=37205
3890
3891         New interfaces may be used to evaluate media queries and to associate listeners
3892         to media queries. Those listeners are called whenever the associated query changes.
3893         Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
3894
3895         operator== added to JS version of ScriptValue.
3896         Method isFunction added to JS and V8 versions of ScriptValue.
3897
3898         * bindings/js/ScriptValue.cpp:
3899         (WebCore::ScriptValue::isFunction):
3900         * bindings/js/ScriptValue.h:
3901         (WebCore::ScriptValue::operator==):
3902         * bindings/v8/ScriptValue.h:
3903         (WebCore::ScriptValue::isFunction):
3904
3905         Some changes were needed to the code generators to handle type MediaQueryListListener.
3906
3907         * bindings/scripts/CodeGeneratorGObject.pm:
3908         * bindings/scripts/CodeGeneratorJS.pm:
3909         * bindings/scripts/CodeGeneratorV8.pm:
3910
3911         Some changes to the bindings test results that were previously added.
3912
3913         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3914         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
3915         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3916         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3917         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3918         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
3919         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
3920
3921         New interfaces:
3922
3923         * css/MediaQueryList.cpp: Added.
3924         * css/MediaQueryList.h: Added.
3925         * css/MediaQueryList.idl: Added.
3926
3927         * css/MediaQueryListListener.cpp: Added.
3928         * css/MediaQueryListListener.h: Added.
3929         * css/MediaQueryListListener.idl: Added.
3930
3931         To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
3932
3933         * css/MediaQueryMatcher.cpp: Added.
3934         * css/MediaQueryMatcher.h: Added.
3935
3936         Document and DOMWindow have changed to support new features. DOMWindow is the class that
3937         publishes methods matchMedia but for page cache to work properly the reference to the
3938         MediaQueryMatcher must be in Document.
3939
3940         * dom/Document.cpp:
3941         (WebCore::Document::~Document):
3942         (WebCore::Document::mediaQueryMatcher):
3943         (WebCore::Document::styleSelectorChanged):
3944         * dom/Document.h:
3945         * page/DOMWindow.cpp:
3946         (WebCore::DOMWindow::matchMedia):
3947         * page/DOMWindow.h:
3948         * page/DOMWindow.idl:
3949
3950         Build systems
3951
3952         * CMakeLists.txt:
3953         * DerivedSources.make:
3954         * GNUmakefile.am:
3955         * WebCore.gypi:
3956         * WebCore.pri:
3957         * WebCore.pro:
3958         * WebCore.vcproj/WebCore.vcproj:
3959         * WebCore.xcodeproj/project.pbxproj:
3960         * bindings/gobject/GNUmakefile.am:
3961
3962         Tests: fast/media/media-query-list-01.html
3963                fast/media/media-query-list-02.html
3964                fast/media/media-query-list-03.html
3965                fast/media/media-query-list-04.html
3966                fast/media/media-query-list-05.html
3967                fast/media/media-query-list-06.html
3968                fast/media/media-query-list-07.html
3969
3970 2010-11-22  Alexander Pavlov  <apavlov@chromium.org>
3971
3972         Reviewed by Pavel Feldman.
3973
3974         Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
3975         https://bugs.webkit.org/show_bug.cgi?id=49804
3976
3977         * css/CSSImportRule.cpp:
3978         (WebCore::CSSImportRule::insertedIntoParent):
3979         * inspector/InspectorCSSAgent.cpp:
3980         (WebCore::InspectorCSSAgent::setStyleSheetText2):
3981         * inspector/InspectorStyleSheet.cpp:
3982         (WebCore::asCSSRuleList):
3983         (WebCore::InspectorStyleSheet::reparseStyleSheet):
3984         (WebCore::InspectorStyleSheet::setText):
3985         (WebCore::InspectorStyleSheet::addRule):
3986         (WebCore::InspectorStyleSheet::ruleForId):
3987         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
3988         (WebCore::InspectorStyleSheet::ensureText):
3989         (WebCore::InspectorStyleSheet::ensureSourceData):
3990         (WebCore::InspectorStyleSheet::ensureFlatRules):
3991         (WebCore::InspectorStyleSheet::revalidateStyle):
3992         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
3993         (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
3994         (WebCore::InspectorStyleSheet::collectFlatRules):
3995         * inspector/InspectorStyleSheet.h:
3996
3997 2010-11-22  Ilya Tikhonovsky  <loislo@chromium.org>
3998
3999         Reviewed by Pavel Feldman.
4000
4001         Web Inspector: dump inspector protocol messages into console.
4002         Sometimes I need to dump inspector messages into console.
4003         It'd be much simple to have this code in repository and
4004         enable protocol dumping just by a flag.
4005
4006         https://bugs.webkit.org/show_bug.cgi?id=49905
4007
4008         * inspector/CodeGeneratorInspector.pm:
4009         * inspector/front-end/WorkersSidebarPane.js:
4010         (WebInspector.WorkersSidebarPane.prototype.reset):
4011         * inspector/front-end/inspector.js:
4012         (WebInspector_syncDispatch):
4013
4014 2010-11-22  Andreas Kling  <kling@webkit.org>
4015
4016         Reviewed by Nikolas Zimmermann.
4017
4018         GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
4019         https://bugs.webkit.org/show_bug.cgi?id=49840
4020
4021         This avoid copying a Path object when drawing focus rings.
4022
4023         * platform/graphics/GraphicsContext.h:
4024         * platform/graphics/cairo/GraphicsContextCairo.cpp:
4025         (WebCore::GraphicsContext::drawFocusRing):
4026         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
4027         (WebCore::GraphicsContext::drawFocusRing):
4028         * platform/graphics/mac/GraphicsContextMac.mm:
4029         (WebCore::GraphicsContext::drawFocusRing):
4030         * platform/graphics/qt/GraphicsContextQt.cpp:
4031         (WebCore::GraphicsContext::drawFocusRing):
4032         * platform/graphics/skia/GraphicsContextSkia.cpp:
4033         (WebCore::GraphicsContext::drawFocusRing):
4034         * platform/graphics/win/GraphicsContextCGWin.cpp:
4035         (WebCore::GraphicsContext::drawFocusRing):
4036         * platform/graphics/wince/GraphicsContextWinCE.cpp:
4037         (WebCore::GraphicsContext::drawFocusRing):
4038         * platform/graphics/wx/GraphicsContextWx.cpp:
4039         (WebCore::GraphicsContext::drawFocusRing):
4040         * rendering/RenderImage.h:
4041         * rendering/RenderImage.cpp:
4042         (WebCore::RenderImage::paint):
4043         (WebCore::RenderImage::paintFocusRing):
4044         Renamed from paintFocusRings since it only paints one ring.
4045
4046 2010-11-22  Renata Hodovan  <reni@webkit.org>
4047
4048         Reviewed by Andreas Kling.
4049
4050         Outside list bullets ignore text-align style.
4051         https://bugs.webkit.org/show-bug.cgi?id=15713
4052
4053         Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
4054         First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
4055         position. As for the others, this sum should be decremented with the previous marker's width.
4056         In case of vertical markers the padding is unneeded.
4057
4058         Test: fast/lists/outSideListMarkers.html
4059
4060         * rendering/InlineFlowBox.cpp:
4061         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
4062         * rendering/RenderListItem.cpp:
4063         (WebCore::RenderListItem::positionListMarker):
4064
4065 2010-11-22  Yael Aharon  <yael.aharon@nokia.com>, Chang Shu  <chang.shu@nokia.com>
4066
4067         Reviewed by Antonio Gomes.
4068
4069         Spatial Navigation: issues with the node selection algorithm.
4070         https://bugs.webkit.org/show_bug.cgi?id=49382
4071
4072         Modify the Spatial Navigation algorithm, to better handle initial focus and
4073         navigation between frames.
4074         The new algorithm takes the rect of the focused node as the startingRect,
4075         instead of the node itself. That allows us to construct a virtual rect if
4076         there is no focused node, or if it is off the screen.
4077         The virtual rect is the edge of the container in the direction of the navigation.
4078
4079         With this patch, scrollable containers and frames will scroll regardless of weather
4080         they have focusable content. Users will be able to use arrow keys to view all the
4081         content of such a container. The only exception is if the container has style overflow:hidden. 
4082         We will not scroll in that case.
4083
4084         With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
4085         we do a hit test and only the node on top can get focus.
4086
4087         hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
4088         its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
4089         and cannot scroll.
4090
4091         calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
4092         the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
4093         allowed to scroll.
4094
4095         * page/FocusController.cpp:
4096         (WebCore::updateFocusCandidateIfNeeded):
4097         (WebCore::FocusController::findFocusCandidateInContainer):
4098         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
4099         (WebCore::FocusController::advanceFocusDirectionally):
4100         * page/FocusController.h:
4101         * page/FrameView.h:
4102         * page/SpatialNavigation.cpp:
4103         (WebCore::FocusCandidate::FocusCandidate):
4104         (WebCore::distanceDataForNode):
4105         (WebCore::alignmentForRects):
4106         (WebCore::areRectsMoreThanFullScreenApart):
4107         (WebCore::isRectInDirection):
4108         (WebCore::hasOffscreenRect):
4109         (WebCore::scrollInDirection):
4110         (WebCore::isScrollableContainerNode):
4111         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
4112         (WebCore::canScrollInDirection):
4113         (WebCore::rectToAbsoluteCoordinates):
4114         (WebCore::nodeRectInAbsoluteCoordinates):
4115         (WebCore::frameRectInAbsoluteCoordinates):
4116         (WebCore::entryAndExitPointsForDirection):
4117         (WebCore::canBeScrolledIntoView):
4118         (WebCore::virtualRectForDirection):
4119         * page/SpatialNavigation.h:
4120
4121 2010-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
4122
4123         Reviewed by Dirk Schulze.
4124
4125         Fix various problems with the SVG*List code
4126         https://bugs.webkit.org/show_bug.cgi?id=49880
4127
4128         Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
4129         SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
4130         by the various valueAsString() functions for maximum compatibility with Firefox / Opera.
4131
4132         * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
4133         * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
4134         * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
4135         * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.
4136
4137         Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
4138                svg/dom/SVGNumberList-basics.xhtml
4139                svg/dom/SVGPointList-basics.xhtml
4140                svg/dom/SVGStringList-basics.xhtml
4141                svg/dom/SVGTransformList-basics.xhtml
4142
4143         * bindings/js/JSSVGLengthCustom.cpp:
4144         (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
4145         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
4146         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
4147         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
4148         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
4149         * bindings/v8/custom/V8SVGLengthCustom.cpp:
4150         (WebCore::V8SVGLength::valueAccessorSetter): Ditto.
4151         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
4152         * svg/SVGAElement.cpp:
4153         (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
4154         * svg/SVGAnimationElement.cpp:
4155         (WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
4156         * svg/SVGCircleElement.cpp:
4157         (WebCore::SVGCircleElement::synchronizeProperty): Ditto.
4158         * svg/SVGClipPathElement.cpp:
4159         (WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
4160         * svg/SVGCursorElement.cpp:
4161         (WebCore::SVGCursorElement::synchronizeProperty): Ditto.
4162         * svg/SVGDefsElement.cpp:
4163         (WebCore::SVGDefsElement::synchronizeProperty): Ditto.
4164         * svg/SVGEllipseElement.cpp:
4165         (WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
4166         * svg/SVGForeignObjectElement.cpp:
4167         (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
4168         * svg/SVGGElement.cpp:
4169         (WebCore::SVGGElement::synchronizeProperty): Ditto.
4170         * svg/SVGImageElement.cpp:
4171         (WebCore::SVGImageElement::synchronizeProperty): Ditto.
4172         * svg/SVGLengthList.cpp:
4173         (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
4174         * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
4175         * svg/SVGLineElement.cpp:
4176         (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
4177         * svg/SVGMaskElement.cpp:
4178         (WebCore::SVGMaskElement::synchronizeProperty): Ditto.
4179         * svg/SVGNumberList.cpp:
4180         (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
4181         * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
4182         * svg/SVGPathElement.cpp:
4183         (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
4184         * svg/SVGPatternElement.cpp:
4185         (WebCore::SVGPatternElement::synchronizeProperty): Ditto.
4186         * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
4187         * svg/SVGPolyElement.cpp:
4188         (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
4189         * svg/SVGRectElement.cpp:
4190         (WebCore::SVGRectElement::synchronizeProperty): Ditto.
4191         * svg/SVGSVGElement.cpp:
4192         (WebCore::SVGSVGElement::synchronizeProperty): Ditto.
4193         * svg/SVGStringList.cpp:
4194         (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
4195         * svg/SVGStringList.h:
4196         * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
4197         * svg/SVGSwitchElement.cpp:
4198         (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
4199         * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
4200         (WebCore::SVGTests::SVGTests):
4201         (WebCore::SVGTests::isValid):
4202         (WebCore::SVGTests::parseMappedAttribute):
4203         (WebCore::SVGTests::isKnownAttribute):
4204         (WebCore::SVGTests::handleAttributeChange):
4205         (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
4206         (WebCore::SVGTests::synchronizeRequiredFeatures):
4207         (WebCore::SVGTests::synchronizeRequiredExtensions):
4208         (WebCore::SVGTests::synchronizeSystemLanguage):
4209         (WebCore::SVGTests::requiredFeatures):
4210         (WebCore::SVGTests::requiredExtensions):
4211         (WebCore::SVGTests::systemLanguage):
4212         * svg/SVGTests.h:
4213         * svg/SVGTextContentElement.cpp:
4214         (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
4215         * svg/SVGTransform.cpp:
4216         (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
4217         * svg/SVGTransform.h:
4218         * svg/SVGTransformList.cpp:
4219         (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
4220         * svg/SVGUseElement.cpp:
4221         (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
4222         * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
4223         (WebCore::SVGListProperty::initializeValuesAndWrappe