a0b4b7894430497447eb62785305053a8eba935a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-06  Dan Bernstein  <mitz@apple.com>
2
3         <rdar://problem/9717490> Flash of white when navigating daringfireball.net
4         https://bugs.webkit.org/show_bug.cgi?id=69581
5
6         Reviewed by Darin Adler.
7
8         * platform/ScrollView.cpp:
9         (WebCore::ScrollView::updateScrollbars): Moved the calls to Scrollbar::setEnabled() into the code
10         section where invalidation is suppressed if necessary, so that they do not trigger premature invalidation.
11
12 2011-10-06  Dan Bernstein  <mitz@apple.com>
13
14         Added a comment explaining code added in r96834.
15
16         Suggested by Darin Adler.
17
18         * editing/FrameSelection.cpp:
19         (WebCore::FrameSelection::updateAppearance):
20
21 2011-10-05  Ryosuke Niwa  <rniwa@webkit.org>
22
23         Deleting line break before h1 converts h1 to span
24         https://bugs.webkit.org/show_bug.cgi?id=45784
25
26         Reviewed by Enrica Casucci.
27
28         This patch fundamentally alters the kind of styles we preserve while merging or moving paragraphs.
29         StylizedMarkupAccumulator no longer wraps nodes by computed style when it's not annotating for interchange.
30         Instead, it accumulates implicit and inline styles of ancestors of the serialized contents.
31
32         The most significant code change is in StyledMarkupAccumulator::serializeNodes where we setup m_wrappingStyle
33         by merging implicit and inline style of ancestors with mergeInlineAndImplicitStyleOfElement. Because it walks up
34         the DOM tree upwards, it should not be overriding any CSS properties. Consequently, mergeStyle,
35         mergeInlineStyleOfElement, and mergeInlineAndImplicitStyleOfElement are modified to take CSSPropertyOverrideMode.
36
37         New behavior matches that of Internet Explorer and Firefox when merging paragraphs.
38
39         Tests: editing/deleting/merge-paragraph-from-address.html
40                editing/deleting/merge-paragraph-from-h6-with-style-2.html
41                editing/deleting/merge-paragraph-from-h6-with-style.html
42                editing/deleting/merge-paragraph-from-h6.html
43                editing/deleting/merge-paragraph-from-listing.html
44                editing/deleting/merge-paragraph-from-p-with-style-2.html
45                editing/deleting/merge-paragraph-from-p-with-style-3.html
46                editing/deleting/merge-paragraph-from-p-with-style.html
47                editing/deleting/merge-paragraph-into-h1-with-style.html
48                editing/deleting/merge-paragraph-into-h1.html
49                editing/deleting/merge-paragraph-into-pre.html
50
51         * css/CSSValueList.cpp:
52         (WebCore::CSSValueList::hasValue): Made const.
53         * css/CSSValueList.h:
54         * editing/ApplyStyleCommand.cpp:
55         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls mergeInlineStyleOfElement.
56         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Ditto.
57         * editing/EditingStyle.cpp:
58         (WebCore::copyEditingProperties): Takes a boolean includeBackgroundColor.
59         (WebCore::isEditingProperty): Extracted from elementIsStyledSpanOrHTMLEquivalent.
60         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): Calls isEditingProperty.
61         (WebCore::EditingStyle::mergeTypingStyle): Calls mergeStyle.
62         (WebCore::EditingStyle::mergeInlineStyleOfElement): Takes CSSPropertyOverrideMode.
63         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Added.
64         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement): Added.
65         (WebCore::mergeTextDecorationValues): Extracted from mergeStyle.
66         (WebCore::EditingStyle::mergeStyle): Takes CSSPropertyOverrideMode.
67         * editing/EditingStyle.h:
68         * editing/ReplaceSelectionCommand.cpp:
69         (WebCore::nodeToSplitToAvoidPastingIntoInlineNodesWithStyle): Extracted from doApply.
70         (WebCore::ReplaceSelectionCommand::doApply): Calls nodeToSplitToAvoidPastingIntoInlineNodesWithStyle.
71         (WebCore::ReplaceSelectionCommand::performTrivialReplace): Exit early when we need to split the tree to avoid
72         pasting into inline nodes with style. Also remove a collapsed or spurious br.
73         * editing/markup.cpp:
74         (WebCore::StyledMarkupAccumulator::serializeNodes):
75
76 2011-10-06  Abhishek Arya  <inferno@chromium.org>
77
78         Crash in VisiblePosition::canonicalPosition.
79         https://bugs.webkit.org/show_bug.cgi?id=69568
80
81         Reviewed by Ryosuke Niwa.
82
83         Move the position's containerNode calculation after layout is
84         complete(in updateLayoutIgnorePendingStylesheets).        
85
86         Test: editing/selection/selection-plugin-clear-crash.html
87
88         * editing/VisiblePosition.cpp:
89         (WebCore::VisiblePosition::canonicalPosition):
90
91 2011-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
92
93         Unreviewed, rolling out r96861.
94         http://trac.webkit.org/changeset/96861
95         https://bugs.webkit.org/show_bug.cgi?id=69573
96
97         This patch didn't compile on windows (Requested by annacc on
98         #webkit).
99
100         * html/track/WebVTTParser.cpp:
101         (WebCore::WebVTTParser::constructTreeFromToken):
102
103 2011-10-06  Anna Cavender  <annacc@chromium.org>
104
105         Adding parens in WebVTTParser.cpp to appease compiler preferences.
106         https://bugs.webkit.org/show_bug.cgi?id=69460
107
108         Reviewed by David Levin.
109
110         No new tests. No new functionality.
111
112         * html/track/WebVTTParser.cpp:
113         (WebCore::WebVTTParser::constructTreeFromToken):
114
115 2011-10-06  Fady Samuel  <fsamuel@chromium.org>
116
117         Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
118         https://bugs.webkit.org/show_bug.cgi?id=69009
119
120         Reviewed by Simon Fraser.
121
122         Upcoming patches may make use of absoluteBoundingBoxRect on a const RenderObject, so this needed to be fixed.
123         Making useTransforms default to true instead of false and replacing instances of absoluteBoundingBoxRect() to
124         absoluteBoundingBoxRectIgnoringTransforms() partially addreses // FIXME: useTransforms should go away eventually.
125
126         * WebCore.exp.in:
127         * dom/Element.cpp:
128         (WebCore::Element::screenRect):
129         * dom/Node.cpp:
130         (WebCore::Node::getRect):
131         (WebCore::Node::renderRect):
132         * html/shadow/SliderThumbElement.cpp:
133         (WebCore::SliderThumbElement::setPositionFromPoint):
134         * html/shadow/TextControlInnerElements.cpp:
135         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
136         * inspector/DOMNodeHighlighter.cpp:
137         * plugins/IFrameShimSupport.cpp:
138         (WebCore::getPluginOcclusions):
139         * rendering/RenderBlock.cpp:
140         (WebCore::RenderBlock::absoluteRects):
141         (WebCore::RenderBlock::absoluteQuads):
142         * rendering/RenderBlock.h:
143         * rendering/RenderBox.cpp:
144         (WebCore::RenderBox::absoluteRects):
145         (WebCore::RenderBox::absoluteQuads):
146         * rendering/RenderBox.h:
147         * rendering/RenderFileUploadControl.cpp:
148         (WebCore::RenderFileUploadControl::paintObject):
149         * rendering/RenderIFrame.cpp:
150         (WebCore::RenderIFrame::flattenFrame):
151         * rendering/RenderInline.cpp:
152         (WebCore::RenderInline::absoluteRects):
153         (WebCore::RenderInline::culledInlineAbsoluteRects):
154         (WebCore::RenderInline::absoluteQuads):
155         (WebCore::RenderInline::culledInlineAbsoluteQuads):
156         * rendering/RenderInline.h:
157         * rendering/RenderMenuList.cpp:
158         (WebCore::RenderMenuList::showPopup):
159         * rendering/RenderObject.cpp:
160         (WebCore::RenderObject::absoluteBoundingBoxRect):
161         (WebCore::RenderObject::addAbsoluteRectForLayer):
162         (WebCore::RenderObject::paintingRootRect):
163         * rendering/RenderObject.h:
164         (WebCore::RenderObject::absoluteRects):
165         (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
166         (WebCore::RenderObject::absoluteQuads):
167         * rendering/RenderText.cpp:
168         (WebCore::RenderText::absoluteRects):
169         (WebCore::RenderText::absoluteQuads):
170         * rendering/RenderText.h:
171         * rendering/RenderTextControlSingleLine.cpp:
172         (WebCore::RenderTextControlSingleLine::showPopup):
173         * rendering/RenderThemeSafari.cpp:
174         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
175         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
176         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
177         * rendering/RenderView.cpp:
178         (WebCore::RenderView::absoluteRects):
179         (WebCore::RenderView::absoluteQuads):
180         * rendering/RenderView.h:
181         * rendering/svg/RenderSVGBlock.cpp:
182         (WebCore::RenderSVGBlock::absoluteRects):
183         * rendering/svg/RenderSVGBlock.h:
184         * rendering/svg/RenderSVGHiddenContainer.cpp:
185         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
186         * rendering/svg/RenderSVGHiddenContainer.h:
187         * rendering/svg/RenderSVGInline.cpp:
188         (WebCore::RenderSVGInline::absoluteQuads):
189         * rendering/svg/RenderSVGInline.h:
190         * rendering/svg/RenderSVGModelObject.cpp:
191         (WebCore::RenderSVGModelObject::absoluteRects):
192         (WebCore::RenderSVGModelObject::absoluteQuads):
193         * rendering/svg/RenderSVGModelObject.h:
194         * rendering/svg/RenderSVGText.cpp:
195         (WebCore::RenderSVGText::absoluteQuads):
196         * rendering/svg/RenderSVGText.h:
197         * testing/Internals.cpp:
198         (WebCore::Internals::boundingBox):
199
200 2011-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
201
202         [Qt][Wk2] Fix build with Qt 5 when QtScript is built as standalone module
203         https://bugs.webkit.org/show_bug.cgi?id=69520
204
205         Reviewed by Csaba Osztrogonác.
206
207         * WebCore.pri: Use qt5 scope.
208         * WebCore.pro: Use qt5 scope and pull in QtScript for the time being.
209
210 2011-10-06  Tony Chang  <tony@chromium.org>
211
212         last frame of a multipart response is not displayed
213         https://bugs.webkit.org/show_bug.cgi?id=69449
214
215         Reviewed by Adam Barth.
216
217         Test: http/tests/multipart/load-last-non-html-frame.php
218
219         * loader/DocumentLoader.cpp:
220         (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): for non-progressive load pages, commit the load so the
221             last frame will be displayed.
222         * loader/DocumentLoader.h:
223         * loader/MainResourceLoader.cpp:
224         (WebCore::MainResourceLoader::didFinishLoading):
225
226 2011-10-06  Gavin Peters  <gavinp@chromium.org>
227
228         conditionalize m_cachedScript stacks to just Chromium port
229         https://bugs.webkit.org/show_bug.cgi?id=69537
230
231         New stack saving telemetry code in ScriptElement shouldn't have
232         been put in all ports; just narrowing it to the chromium port will
233         save other ports the memory hit of this diagnostic code.
234
235         Reviewed by Nate Chapin.
236
237         No new tests.
238
239         * dom/ScriptElement.cpp:
240         (WebCore::ScriptElement::ScriptElement):
241         (WebCore::ScriptElement::requestScript):
242         (WebCore::ScriptElement::stopLoadRequest):
243         (WebCore::ScriptElement::notifyFinished):
244         * dom/ScriptElement.h:
245
246 2011-10-06  Arthur Hsu  <arthurhsu@chromium.org>
247
248         Ensure font loaded before calling Skia to drawPosText in Chrome sandbox
249         https://bugs.webkit.org/show_bug.cgi?id=69370
250
251         Reviewed by James Robinson.
252
253         * platform/graphics/chromium/FontChromiumWin.cpp:
254         (WebCore::Font::drawGlyphs):
255
256 2011-10-06  Chris Rogers  <crogers@google.com>
257
258         BiquadFilterNode must not reset filter state if type attribute is set to the same type
259         https://bugs.webkit.org/show_bug.cgi?id=69485
260
261         Reviewed by Kenneth Russell.
262
263         No new tests.  This particular case is difficult to test with a layout test using OfflineAudioContext.
264
265         * webaudio/BiquadProcessor.cpp:
266         (WebCore::BiquadProcessor::setType):
267         * webaudio/BiquadProcessor.h:
268
269 2011-10-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
270
271         [EFL] Do not create cairo surfaces with the wrong size for form elements
272         https://bugs.webkit.org/show_bug.cgi?id=69533
273
274         Reviewed by Ryosuke Niwa.
275
276         RenderThemeEfl::cacheThemePartResizeAndReset resizes the Ecore_Evas
277         associated with an entry, but did not reset the `size` attribute of the
278         struct -- in practice, this meant the subsequent call to
279         themePartCacheEntrySurfaceCreate would create a cairo surface with the
280         previous size, thus rendering an element with the wrong size.
281
282         No new tests, this is triggered by running running pixel tests for
283         running, in this order, fast/forms/button-sizes.html,
284         fast/forms/input-appearance-preventDefault.html,
285         fast/forms/input-appearance-spinbutton-disabled-readonly.html,
286         fast/forms/input-appearance-width.html,
287         fast/forms/input-button-sizes.html,
288         fast/forms/input-placeholder-text-indent.html and
289         fast/forms/input-text-click-inside.html (!).
290
291         * platform/efl/RenderThemeEfl.cpp:
292         (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset): Reset the
293         size attribute when resizing the canvas.
294
295 2011-10-06  Chris Rogers  <crogers@google.com>
296
297         Make sure OfflineAudioContext can not be created with a sample-rate less than 44.1KHz
298         https://bugs.webkit.org/show_bug.cgi?id=69483
299
300         Reviewed by Kenneth Russell.
301
302         No new tests.
303
304         * webaudio/AudioBuffer.cpp:
305         (WebCore::AudioBuffer::create):
306         * webaudio/AudioContext.cpp:
307         (WebCore::AudioContext::createBuffer):
308
309 2011-10-06  David Hyatt  <hyatt@apple.com>
310
311         https://bugs.webkit.org/show_bug.cgi?id=69544
312         
313         [CSS3 Regions] Compute the starting and ending regions of a block, so that we can clamp
314         descendants to those regions. This is preparation for having true overflow in the boxes
315         in each region, and it's also a performance optimization to reduce the amount of
316         region walking that the RenderFlowThread is doing.
317
318         Add a range map to RenderFlowThread to cache the start/end regions for each box.
319         
320         Amend everyone who calls renderRegionForLine to pass in the box that is making the query.
321         This box is then used to clamp to start and end regions so that any regions outside of that
322         range will never be examined.
323
324         Reviewed by Dan Bernstein.
325
326         Test: fast/regions/top-overflow-out-of-second-region.html
327
328         * rendering/RenderBlock.cpp:
329         (WebCore::RenderBlock::layoutBlock):
330         (WebCore::RenderBlock::hasNextPage):
331         (WebCore::RenderBlock::pageLogicalHeightForOffset):
332         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
333         (WebCore::RenderBlock::regionAtBlockOffset):
334         * rendering/RenderFlowThread.cpp:
335         (WebCore::RenderFlowThread::~RenderFlowThread):
336         (WebCore::RenderFlowThread::layout):
337         (WebCore::RenderFlowThread::renderRegionForLine):
338         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
339         (WebCore::RenderFlowThread::regionLogicalHeightForLine):
340         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
341         (WebCore::RenderFlowThread::mapFromFlowToRegion):
342         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
343         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
344         (WebCore::RenderFlowThread::setRegionRangeForBox):
345         (WebCore::RenderFlowThread::getRegionRangeForBox):
346         * rendering/RenderFlowThread.h:
347         * rendering/RenderRegion.cpp:
348         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
349         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
350         * rendering/RenderRegion.h:
351
352 2011-10-05  Gavin Barraclough  <barraclough@apple.com>
353
354         Add explicit JSGlobalThis type.
355         https://bugs.webkit.org/show_bug.cgi?id=69478
356
357         Reviewed by Darin Adler.
358
359         JSC supports a split global object, as used by WebCore for the Window. As a stage
360         of making this visible to JSC, make it so that if the global this value is not the
361         global object itself, it must be a subclass of JSGlobalThis.
362
363         * ForwardingHeaders/runtime/JSGlobalThis.h: Added.
364             - Added forwarding header.
365         * bindings/js/JSDOMGlobalObject.cpp:
366         (WebCore::JSDOMGlobalObject::finishCreation):
367         * bindings/js/JSDOMGlobalObject.h:
368             - finishCreation takes a JSGlobalThis, or thisValue is implicit.
369         * bindings/js/JSDOMWindowShell.h:
370             - Make the window shell a subclass of JSGlobalThis.
371         * bindings/js/JSWorkerContextBase.cpp:
372         (WebCore::JSWorkerContextBase::finishCreation):
373             - Don't pass the thisValue to JSGlobalObject::finishCreation.
374         * bindings/js/JSWorkerContextBase.h:
375         * bindings/scripts/CodeGeneratorJS.pm:
376         (GenerateHeader):
377             - Don't pass the thisValue to JSGlobalObject::finishCreation,
378               for worker contexts.
379
380 2011-10-06  Anna Cavender  <annacc@chromium.org>
381
382         Fix CodeGeneratorV8 for EnabledAtRuntime when class has no parent class.
383         https://bugs.webkit.org/show_bug.cgi?id=69480
384
385         Reviewed by Adam Barth.
386
387         No new tests. No new functionality, yet.
388
389         * bindings/scripts/CodeGeneratorV8.pm:
390
391 2011-10-06  Dan Bernstein  <mitz@apple.com>
392
393         <rdar://problem/10232866> Assertion failure beneath blockSelectionGaps() when a selected node is removed
394
395         Reviewed by Ryosuke Niwa.
396
397         Test: editing/selection/invalid-in-RenderView.html
398
399         * editing/FrameSelection.cpp:
400         (WebCore::FrameSelection::updateAppearance): Ensure that the VisibleSelection used to set the selection
401         in the RenderView is valid, by reconstructing it from the current selection.
402
403 2011-10-06  Andreas Kling  <kling@webkit.org>
404
405         InlineBox's virtualLogicalHeight() partially limited to builds with SVG.
406         https://bugs.webkit.org/show_bug.cgi?id=69538
407
408         Reviewed by Dan Bernstein.
409
410         Remove erroneous ENABLE(SVG) guards around the initialization and use
411         of InlineBox::hasVirtualLogicalHeight.
412
413         This variable is used by TrailingFloatsRootInlineBox and should always
414         be respected regardless of SVG support.
415
416         * rendering/InlineBox.cpp:
417         (WebCore::InlineBox::logicalHeight):
418         * rendering/InlineBox.h:
419         (WebCore::InlineBox::InlineBox):
420
421 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
422
423         [GTK] Implement cache model for WebKit2
424         https://bugs.webkit.org/show_bug.cgi?id=68434
425
426         Reviewed by Martin Robinson.
427
428         Add a function to FileSystem to get the free space of the file
429         system where the given path is on.
430
431         * platform/FileSystem.h:
432         * platform/gtk/FileSystemGtk.cpp:
433         (WebCore::getVolumeFreeSizeForPath):
434
435 2011-10-06  Sergey Glazunov  <serg.glazunov@gmail.com>
436
437         Add check for JavaScript URLs in HTMLPlugInImageElement::allowedToLoadFrameURL
438         https://bugs.webkit.org/show_bug.cgi?id=68813
439
440         Reviewed by Adam Barth.
441
442         Test: http/tests/security/xss-DENIED-object-element.html
443
444         * html/HTMLPlugInImageElement.cpp:
445         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
446
447 2011-10-06  Yury Semikhatsky  <yurys@chromium.org>
448
449         Web Inspector: avoid assertion failure in ~InspectorDebuggerAgent in case of workers
450         https://bugs.webkit.org/show_bug.cgi?id=69534
451
452         Make sure frontend is disconnected before WorkerInspectorController is destroyed.
453
454         Reviewed by Pavel Feldman.
455
456         * inspector/WorkerInspectorController.cpp:
457         (WebCore::WorkerInspectorController::~WorkerInspectorController):
458
459 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
460
461         https://bugs.webkit.org/show_bug.cgi?id=69492
462         [Mac] Should be able to scroll embedded PDFs from keyboard
463
464         Reviewed by Darin Adler.
465
466         * WebCore.exp.in: Export ScrollableArea::scroll.
467
468         * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Call base
469         class default event handler, so that events on focused plug-in elements would fall through
470         to EventHandler::defaultKeyboardEventHandler.
471
472         * plugins/PluginViewBase.h: (WebCore::PluginViewBase::scroll): Added a method that's called
473         on a plug-in when WebCore asks it to scroll. Plug-in cannot really know what key events
474         result in scroll actions.
475
476         * rendering/RenderEmbeddedObject.cpp:
477         (WebCore::RenderEmbeddedObject::scroll):
478         (WebCore::RenderEmbeddedObject::logicalScroll):
479         * rendering/RenderEmbeddedObject.h:
480         Ask plug-in to scroll when EventHandler::scrollOverflow() is called.
481
482 2011-10-06  Konstantin Scheglov  <scheglov@google.com>
483
484         REGRESSION (r95852?): Disappearing Border on bugs.webkit.org attachments <table>
485         https://bugs.webkit.org/show_bug.cgi?id=69296
486
487         Reviewed by David Hyatt.
488
489         Test: fast/table/border-collapsing/cached-69296.html
490
491         Remember BorderValue in CollapsedBorderValue by value.
492         See https://bugs.webkit.org/show_bug.cgi?id=69296#c7 for motivation.
493
494         * rendering/style/CollapsedBorderValue.h:
495         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
496         (WebCore::CollapsedBorderValue::width):
497         (WebCore::CollapsedBorderValue::style):
498         (WebCore::CollapsedBorderValue::exists):
499         (WebCore::CollapsedBorderValue::isTransparent):
500         (WebCore::CollapsedBorderValue::operator==):
501         * rendering/RenderTableCell.cpp:
502         (WebCore::RenderTableCell::collapsedStartBorder):
503         (WebCore::RenderTableCell::collapsedEndBorder):
504         (WebCore::RenderTableCell::collapsedBeforeBorder):
505         (WebCore::RenderTableCell::collapsedAfterBorder):
506
507 2011-10-06  Gavin Peters  <gavinp@chromium.org>
508
509         save resource zeroing stacks in ScriptElement for debugging
510         https://bugs.webkit.org/show_bug.cgi?id=69453
511
512         The state machine tracking how m_cachedScript gets zeroed shows that sometimes we get
513         two notifyFinished() events in a ScriptElement, which can crash chrome (see chrome bug
514         75604).  This patch will save a stack in the ScriptElement when this happens, so that if
515         we do later crash, we can see how we did the first zeroing.
516
517         See http://code.google.com/p/chromium/issues/detail?id=75604 for the chromium bug that
518         this change will help track down.
519
520         Reviewed by Nate Chapin.
521
522         No new tests, this shouldn't affect output at all, and isn't particularly testable.
523
524         * dom/ScriptElement.cpp:
525         (WebCore::ScriptElement::ScriptElement):
526         (WebCore::ScriptElement::stopLoadRequest):
527         (WebCore::ScriptElement::notifyFinished):
528         * dom/ScriptElement.h:
529
530 2011-10-06  Rémi Duraffort  <remi.duraffort@st.com>
531
532         Fix compilation by adding some missing ENABLE(VIDEO|XSLT)
533         https://bugs.webkit.org/show_bug.cgi?id=69522
534
535         Unreviewed build fix
536
537         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
538         * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
539         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
540
541 2011-10-06  Pavel Feldman  <pfeldman@google.com>
542
543         Web Inspector: add Styles and Metrics sidebars to the compilation.
544         https://bugs.webkit.org/show_bug.cgi?id=69529
545
546         Reviewed by Yury Semikhatsky.
547
548         * inspector/compile-front-end.sh:
549         * inspector/front-end/CSSCompletions.js:
550         (WebInspector.CSSCompletions.requestCSSNameCompletions):
551         * inspector/front-end/CSSKeywordCompletions.js:
552         (WebInspector.CSSKeywordCompletions.forProperty):
553         (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
554         * inspector/front-end/Checkbox.js:
555         * inspector/front-end/ElementsPanel.js:
556         * inspector/front-end/MetricsSidebarPane.js:
557         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
558         (WebInspector.MetricsSidebarPane.prototype.startEditing):
559         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
560         * inspector/front-end/SourceCSSTokenizer.js:
561         (WebInspector.SourceCSSTokenizer):
562         * inspector/front-end/SourceCSSTokenizer.re2js:
563         * inspector/front-end/StylesSidebarPane.js:
564         (WebInspector.StylesSidebarPane.prototype.update):
565         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
566         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
567         (WebInspector.StylePropertiesSection.prototype.onpopulate):
568         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
569         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
570         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
571         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
572         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
573         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
574         (WebInspector.StylePropertyTreeElement.prototype):
575         * inspector/front-end/externs.js:
576         (WebInspector.linkifyResourceAsNode):
577         (Element.prototype.scrollIntoViewIfNeeded):
578         (Element.prototype.selectionLeftOffset):
579         * inspector/front-end/inspector.js:
580         * inspector/front-end/utilities.js:
581
582 2011-10-06  Pavel Feldman  <pfeldman@google.com>
583
584         Web Inspector: extract DOMPresentation, make EventListenersSidebar compile
585         https://bugs.webkit.org/show_bug.cgi?id=69527
586
587         Reviewed by Yury Semikhatsky.
588
589         * WebCore.gypi:
590         * WebCore.vcproj/WebCore.vcproj:
591         * inspector/compile-front-end.sh:
592         * inspector/front-end/DOMAgent.js:
593         (WebInspector.DOMNode.prototype.nodeNameInCorrectCase):
594         (WebInspector.DOMNode.prototype.moveTo):
595         (WebInspector.DOMNode.prototype.isXMLNode):
596         * inspector/front-end/DOMBreakpointsSidebarPane.js:
597         (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint):
598         * inspector/front-end/DOMPresentation.js: Added.
599         (WebInspector.DOMPresentation.decorateNodeLabel):
600         (WebInspector.DOMPresentation.linkifyNodeReference):
601         (WebInspector.DOMPresentation.linkifyNodeById):
602         * inspector/front-end/ElementsPanel.js:
603         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
604         * inspector/front-end/ElementsTreeOutline.js:
605         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
606         * inspector/front-end/EventListenersSidebarPane.js:
607         * inspector/front-end/ObjectPropertiesSection.js:
608         * inspector/front-end/PropertiesSection.js:
609         * inspector/front-end/Section.js:
610         * inspector/front-end/StylesSidebarPane.js:
611         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
612         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
613         * inspector/front-end/WebKit.qrc:
614         * inspector/front-end/inspector.html:
615
616 2011-10-06  Pavel Feldman  <pfeldman@google.com>
617
618         Web Inspector: add all Resource panel views to the compilation.
619         https://bugs.webkit.org/show_bug.cgi?id=69526
620
621         Reviewed by Yury Semikhatsky.
622
623         * inspector/compile-front-end.sh:
624         * inspector/front-end/CookieItemsView.js:
625         (WebInspector.CookieItemsView.prototype._contextMenu):
626         (WebInspector.Cookies.cookieMatchesResourceURL):
627         * inspector/front-end/CookiesTable.js:
628         (WebInspector.CookiesTable):
629         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
630         * inspector/front-end/DOMStorageItemsView.js:
631         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
632         * inspector/front-end/DataGrid.js:
633         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid.comparator):
634         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
635         (WebInspector.DataGrid.createSortableDataGrid):
636         * inspector/front-end/DatabaseQueryView.js:
637         (WebInspector.DatabaseQueryView.prototype._queryFinished):
638         * inspector/front-end/DatabaseTableView.js:
639         (WebInspector.DatabaseTableView.prototype._queryFinished):
640         * inspector/front-end/ResourcesPanel.js:
641         (WebInspector.ResourcesPanel.prototype.reset):
642         (WebInspector.ResourcesPanel.prototype.showDatabase):
643         * inspector/front-end/TextPrompt.js:
644
645 2011-10-06  Pavel Feldman  <pfeldman@google.com>
646
647         Web Inspector: add all Resource panel views to the compilation.
648         https://bugs.webkit.org/show_bug.cgi?id=69526
649
650         Reviewed by Yury Semikhatsky.
651
652         * inspector/compile-front-end.sh:
653         * inspector/front-end/CookieItemsView.js:
654         (WebInspector.CookieItemsView.prototype._contextMenu):
655         (WebInspector.Cookies.cookieMatchesResourceURL):
656         * inspector/front-end/CookiesTable.js:
657         (WebInspector.CookiesTable):
658         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
659         * inspector/front-end/DOMStorageItemsView.js:
660         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
661         * inspector/front-end/DataGrid.js:
662         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid.comparator):
663         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
664         (WebInspector.DataGrid.createSortableDataGrid):
665         * inspector/front-end/DatabaseQueryView.js:
666         (WebInspector.DatabaseQueryView.prototype._queryFinished):
667         * inspector/front-end/DatabaseTableView.js:
668         (WebInspector.DatabaseTableView.prototype._queryFinished):
669         * inspector/front-end/ResourcesPanel.js:
670         (WebInspector.ResourcesPanel.prototype.reset):
671         (WebInspector.ResourcesPanel.prototype.showDatabase):
672         * inspector/front-end/TextPrompt.js:
673
674 2011-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
675
676         Unreviewed, rolling out r96791.
677         http://trac.webkit.org/changeset/96791
678         https://bugs.webkit.org/show_bug.cgi?id=69528
679
680         webkit_unit_tests broken on Mac and Win (Requested by
681         hwennborg on #webkit).
682
683         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
684
685 2011-10-05  Mikhail Naganov  <mnaganov@chromium.org>
686
687         Web Inspector: [Chromium] Heap Snapshot colors legend help popup is not shown.
688         https://bugs.webkit.org/show_bug.cgi?id=69482
689
690         Reviewed by Yury Semikhatsky.
691
692         * inspector/front-end/DetailedHeapshotView.js:
693         (WebInspector.DetailedHeapshotView.prototype._helpClicked):
694
695 2011-10-05  Pavel Feldman  <pfeldman@google.com>
696
697         Web Inspector: add 10 more front-end classes to the compilation process.
698         https://bugs.webkit.org/show_bug.cgi?id=69445
699
700         Reviewed by Yury Semikhatsky.
701
702         * inspector/compile-front-end.sh:
703         * inspector/front-end/HAREntry.js:
704         * inspector/front-end/HandlerRegistry.js:
705         * inspector/front-end/IFrameView.js:
706         * inspector/front-end/JavaScriptSourceFrame.js:
707         * inspector/front-end/PanelEnablerView.js:
708         (WebInspector.PanelEnablerView):
709         * inspector/front-end/PartialQuickSort.js:
710         * inspector/front-end/PropertiesSidebarPane.js:
711         (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
712         (WebInspector.PropertiesSidebarPane.prototype.update):
713         * inspector/front-end/ShowMoreDataGridNode.js:
714         * inspector/front-end/SidebarTreeElement.js:
715         * inspector/front-end/TimelineAgent.js:
716         * inspector/front-end/WelcomeView.js:
717         * inspector/front-end/externs.js:
718         (WebInspector.addMainEventListeners):
719
720 2011-10-05  Pavel Feldman  <pfeldman@google.com>
721
722         Web Inspector: make ElementsTreeOutline compile
723         https://bugs.webkit.org/show_bug.cgi?id=69439
724
725         Reviewed by Yury Semikhatsky.
726
727         * inspector/compile-front-end.sh:
728         * inspector/front-end/DOMAgent.js:
729         * inspector/front-end/DOMSyntaxHighlighter.js:
730         * inspector/front-end/ElementsPanel.js:
731         (WebInspector.ElementsPanel.get this):
732         (WebInspector.ElementsPanel):
733         (WebInspector.ElementsPanel.prototype._populateContextMenu):
734         (WebInspector.ElementsPanel.prototype._inspectElementRequested):
735         * inspector/front-end/ElementsTreeOutline.js:
736         (WebInspector.ElementsTreeOutline):
737         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
738         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
739         (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
740         (WebInspector.ElementsTreeOutline.prototype._populateContextMenu):
741         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
742         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
743         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
744         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
745         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
746         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
747         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
748         ():
749         * inspector/front-end/externs.js:
750         (WebInspector.highlightDOMNode):
751         (WebInspector.resourceURLForRelatedNode):
752
753 2011-10-06  Pavel Feldman  <pfeldman@google.com>
754
755         Web Inspector: Inspector fails to start if there was at least one watch expression.
756         https://bugs.webkit.org/show_bug.cgi?id=69516
757
758         Reviewed by Yury Semikhatsky.
759
760         * inspector/front-end/ConsoleView.js:
761         * inspector/front-end/WatchExpressionsSidebarPane.js:
762         (WebInspector.WatchExpressionsSidebarPane):
763
764 2011-10-06  Dominic Cooney   <dominicc@chromium.org>
765
766         Don't make virtual calls in Node::parentNode.
767         https://bugs.webkit.org/show_bug.cgi?id=69266
768
769         Reviewed by Antti Koivisto.
770
771         ShadowRoot and SVGShadowRoot remain semantically separate (eg
772         isShadowRoot/isSVGShadowRoot) but share a flag
773         (IsShadowRootOrSVGShadowRootFlag, hitherto IsShadowRootFlag just
774         for ShadowRoot). In combination with IsSVGFlag ShadowRoot (false)
775         can be distinguished from SVGShadowRoot (true). This lets us make
776         isSVGShadowRoot non-virtual.
777
778         No change in behavior => No new tests.
779
780         * dom/Node.cpp:
781         (WebCore::Node::shadowHost):
782         * dom/Node.h:
783         (WebCore::Node::isSVGShadowRoot):
784         (WebCore::Node::isShadowRoot):
785         (WebCore::Node::parentNode):
786         (WebCore::Node::parentNodeGuaranteedHostFree):
787         * rendering/svg/SVGShadowTreeElements.cpp:
788         (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
789         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
790         * rendering/svg/SVGShadowTreeElements.h:
791         * svg/SVGElement.cpp:
792         (WebCore::SVGElement::SVGElement):
793         * svg/SVGElement.h:
794         * svg/SVGGElement.cpp:
795         (WebCore::SVGGElement::SVGGElement):
796         * svg/SVGGElement.h:
797         * svg/SVGStyledElement.cpp:
798         (WebCore::SVGStyledElement::SVGStyledElement):
799         * svg/SVGStyledElement.h:
800         * svg/SVGStyledLocatableElement.cpp:
801         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
802         * svg/SVGStyledLocatableElement.h:
803         * svg/SVGStyledTransformableElement.cpp:
804         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
805         * svg/SVGStyledTransformableElement.h:
806
807 2011-10-06  John Knottenbelt  <jknotten@chromium.org>
808
809         Take pageScaleFactor into account for MouseRelatedEvents.
810         https://bugs.webkit.org/show_bug.cgi?id=67592
811
812         Reviewed by Tony Gentilcore.
813
814         Tests: fast/events/page-scaled-mouse-click-iframe.html
815                fast/events/page-scaled-mouse-click.html
816
817         * dom/MouseRelatedEvent.cpp:
818         (WebCore::contentsScrollOffset):
819         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
820         (WebCore::frameScaleFactor):
821         (WebCore::MouseRelatedEvent::computePageLocation):
822         (WebCore::MouseRelatedEvent::computeRelativePosition):
823
824 2011-10-03  Hans Wennborg  <hans@chromium.org>
825
826         IndexedDB: Remove SQLite-LevelDB migration code
827         https://bugs.webkit.org/show_bug.cgi?id=69264
828
829         Reviewed by Tony Chang.
830
831         Remove migration functionality.
832
833         Just removing code, so no new tests.
834
835         * storage/IDBFactoryBackendImpl.cpp:
836         (WebCore::IDBFactoryBackendImpl::open):
837         * storage/IDBFactoryBackendImpl.h:
838
839 2011-10-06  James Robinson  <jamesr@chromium.org>
840
841         [chromium] Remove USE(THREADED_COMPOSITING) from the tree
842         https://bugs.webkit.org/show_bug.cgi?id=69489
843
844         Reviewed by Darin Fisher.
845
846         This macro isn't needed any more since the logic it guarded is guarded by a runtime switch.
847
848         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
849
850 2011-10-05  Kentaro Hara  <haraken@chromium.org>
851
852         Refactor IDL attributes about constructor
853         https://bugs.webkit.org/show_bug.cgi?id=69074
854
855         Reviewed by Adam Barth.
856
857         Currently, IDL attributes about constructor are confusing:
858
859         - [CustomConstructFunction] means that there is a custom constructor for JSC.
860         - [V8CustomConstructor] means that there is a custom constructor for V8.
861         - [CustomConstructor] exists in CodeGenerator*.pm but is not used in any IDL files.
862         - For almost all IDL files, [CustomConstructFunction] and [V8CustomConstructor] are used at the same time.
863         - ObjC, CPP and GObject bindings do not support custom constructors.
864
865         This patch makes the following changes:
866
867         - Rename [CustomConstructFunction] to [JSCustomConstructor].
868         - [JSCustomConstructor] means that there is a custom constructor for JSC.
869         - [V8CustomConstructor] means that there is a custom constructor for V8.
870         - [CustomConstructor] means that there is a custom constructor for both JSC and V8.
871
872         No new tests. No change in behavior. Confirm that build succeeds.
873
874         * bindings/scripts/CodeGeneratorJS.pm: Removed [CustomConstructFunction] and added [JSCustomConstructor]
875         (GenerateHeader):
876         (GenerateAttributesHashTable):
877         (GenerateImplementation):
878         (GenerateConstructorDefinition):
879         * css/WebKitCSSMatrix.idl: Renamed [CustomConstructFunction] to [JSCustomConstructor]. If both [JSCustomConstructor] and [V8CustomConstructor] are specified, then we replaced them with [CustomConstructor].
880         * dom/CustomEvent.idl: Ditto.
881         * dom/ErrorEvent.idl: Ditto.
882         * dom/Event.idl: Ditto.
883         * dom/HashChangeEvent.idl: Ditto.
884         * dom/MessageChannel.idl: Ditto.
885         * dom/MessageEvent.idl: Ditto.
886         * dom/PageTransitionEvent.idl: Ditto.
887         * dom/PopStateEvent.idl: Ditto.
888         * dom/ProgressEvent.idl: Ditto.
889         * dom/WebKitAnimationEvent.idl: Ditto.
890         * html/DOMFormData.idl: Ditto.
891         * html/canvas/ArrayBuffer.idl: Ditto.
892         * html/canvas/DataView.idl: Ditto.
893         * html/canvas/Float32Array.idl: Ditto.
894         * html/canvas/Float64Array.idl: Ditto.
895         * html/canvas/Int16Array.idl: Ditto.
896         * html/canvas/Int32Array.idl: Ditto.
897         * html/canvas/Int8Array.idl: Ditto.
898         * html/canvas/Uint16Array.idl: Ditto.
899         * html/canvas/Uint32Array.idl: Ditto.
900         * html/canvas/Uint8Array.idl: Ditto.
901         * p2p/PeerConnection.idl: Ditto.
902         * page/EventSource.idl: Ditto.
903         * page/WebKitPoint.idl: Ditto.
904         * webaudio/AudioContext.idl: Ditto.
905         * websockets/CloseEvent.idl: Ditto.
906         * websockets/WebSocket.idl: Ditto.
907         * workers/SharedWorker.idl: Ditto.
908         * workers/Worker.idl: Ditto.
909         * xml/XMLHttpRequest.idl: Ditto.
910         * xml/XSLTProcessor.idl: Ditto.
911
912 2011-10-03  Andy Estes  <aestes@apple.com>
913
914         Add the option to suppress rendering until the document's load event fires.
915         https://bugs.webkit.org/show_bug.cgi?id=69298
916
917         Reviewed by Simon Fraser.
918
919         Add a WebCore setting that suppresses painting and compositing layer
920         updates until the document's load event fires. This masks the effects
921         of incremental rendering (for clients that opt in) by ensuring that all
922         sub-resources have loaded and a full layout has taken place before
923         painting the document for the first time.
924
925         No tests currently possible. Testing this would require the ability for
926         DRT to dump state while resources are loading, which it doesn't
927         currently do.
928
929         * dom/Document.cpp:
930         (WebCore::Document::implicitClose): If rendering was previously
931         suppressed, force a repaint and compositing layer update.
932         (WebCore::Document::visualUpdatesAllowed): Add a helper method to
933         determine if the document is in a state where rendering is allowed.
934         * dom/Document.h:
935         * page/Settings.cpp:
936         (WebCore::Settings::Settings):
937         * page/Settings.h:
938         (WebCore::Settings::setSuppressIncrementalRendering):
939         (WebCore::Settings::suppressIncrementalRendering):
940         * rendering/RenderLayer.cpp:
941         (WebCore::shouldSuppressPaintingLayer): Encapsulate the FOUC and
942         painting suppression checks into a single helper function for
943         readability's sake.
944         (WebCore::RenderLayer::paintLayer):
945         * rendering/RenderLayerCompositor.cpp:
946         (WebCore::RenderLayerCompositor::updateCompositingLayers): If we should
947         suppress compositing layer updates and the load event has yet to fire,
948         return early.
949
950 2011-10-05  Yuta Kitamura  <yutak@chromium.org>
951
952         WebSocket: Add extensions attribute
953         https://bugs.webkit.org/show_bug.cgi?id=69408
954
955         Reviewed by Kent Tamura.
956
957         Add WebSocket's "extensions" attribute as specified in the WebSocket API
958         <http://dev.w3.org/html5/websockets/#the-websocket-interface>.
959
960         WebSocket protocol extension is not implemented at all, thus this attribute
961         always returns an empty string.
962
963         Test: http/tests/websocket/tests/hybi/extensions.html
964               http/tests/websocket/tests/hixie76/undefined-attributes.html (updated)
965
966         * websockets/WebSocket.cpp:
967         (WebCore::WebSocket::extensions):
968         If the hixie-76 protocol is chosen, we need to return "undefined" in order to
969         keep behavior of the ports which have not used the newer hybi protocol yet.
970         * websockets/WebSocket.h:
971         * websockets/WebSocket.idl:
972
973 2011-10-05  Dominic Cooney  <dominicc@chromium.org>
974
975         IsShadowRootFlag should not depend on whether a ShadowRoot is attached to a host.
976         https://bugs.webkit.org/show_bug.cgi?id=69406
977
978         Reviewed by Hajime Morita.
979
980         No change in behavior => No new tests.
981
982         * dom/Node.cpp:
983         (WebCore::Node::setShadowHost): Don't twiddle the flag.
984         * dom/Node.h:
985         * dom/ShadowRoot.cpp:
986         (WebCore::ShadowRoot::ShadowRoot): Set the IsShadowRootFlag on creation.
987         * dom/TreeScope.cpp:
988         (WebCore::TreeScope::TreeScope): Let ShadowRoot set creation flags.
989         * dom/TreeScope.h:
990
991 2011-10-05  Chris Rogers  <crogers@google.com>
992
993         Define a log2f() function for Windows in wtf/MathExtras.h
994         https://bugs.webkit.org/show_bug.cgi?id=69491
995
996         Reviewed by Darin Adler.
997
998         No new tests. This change is tested in existing layout tests.
999
1000         * webaudio/AudioParamTimeline.cpp:
1001         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
1002
1003 2011-10-05  Erik Arvidsson  <arv@chromium.org>
1004
1005         window.location.href and others needlessly decodes URI-encoded characters
1006         https://bugs.webkit.org/show_bug.cgi?id=30225
1007
1008         Reviewed by Darin Adler.
1009
1010         Don't decode KURL::path() and stop using KURL::deprecatedString() in Location methods.
1011
1012         This slightly changes how we parse data and javascript URLs (non hierarchical URLs) to
1013         not encode so aggressively.
1014
1015         * fileapi/DOMFileSystemBase.cpp:
1016         (WebCore::DOMFileSystemBase::crackFileSystemURL): Manually decode path()
1017         * loader/FrameLoader.cpp:
1018         (WebCore::FrameLoader::defaultObjectContentType): Manually decode path()
1019         * page/Location.cpp:
1020         (WebCore::Location::href): Use string() instead of deprecatedString()
1021         * page/Location.h:
1022         (WebCore::Location::toString): Inline call to href()
1023         * platform/KURL.cpp:
1024         (WebCore::KURL::path): Don't decode.
1025         (WebCore::escapeAndAppendNonHierarchicalPart): Rename escapeAndAppendFragment to escapeAndAppendNonHierarchicalPart
1026                                                        since this is now used for more than just fragments.
1027         (WebCore::KURL::parse): Don't decode
1028         * platform/KURLGoogle.cpp:
1029         (WebCore::KURL::path): Remove out of date comment
1030         * platform/qt/KURLQt.cpp:
1031         (WebCore::KURL::fileSystemPath): Manually decode path()
1032         * platform/win/ClipboardWin.cpp:
1033         (WebCore::createGlobalHDropContent): Manually decode path()
1034         * workers/WorkerLocation.cpp:
1035         (WebCore::WorkerLocation::href): Use string() instead of deprecatedString()
1036         * workers/WorkerLocation.h:
1037         (WebCore::WorkerLocation::toString): Inline call to href()
1038
1039 2011-10-05  Darin Adler  <darin@apple.com>
1040
1041         [Mac] Use four more named cursors if present
1042         https://bugs.webkit.org/show_bug.cgi?id=69488
1043
1044         Reviewed by Dan Bernstein.
1045
1046         * platform/mac/CursorMac.mm:
1047         (WebCore::Cursor::ensurePlatformCursor): Use the names "Help", "Cell",
1048         "ZoomIn", and "ZoomOut" to get those cursors. Structure the code so it
1049         falls back if the cursors are not present.
1050
1051 2011-10-05  Tony Chang  <tony@chromium.org>
1052
1053         force margin:auto to 0 in flex items
1054         https://bugs.webkit.org/show_bug.cgi?id=69475
1055
1056         Reviewed by Ojan Vafai.
1057
1058         The spec used to say the margin had a value of flex(1 0 0), but changed to just be 0.
1059
1060         * rendering/RenderFlexibleBox.cpp:
1061         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1062         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1063
1064 2011-10-05  Dean Jackson  <dino@apple.com>
1065
1066         Computed style for filter property
1067         https://bugs.webkit.org/show_bug.cgi?id=68477
1068
1069         Reviewed by Simon Fraser.
1070
1071         Reports the computed style for the new -webkit-filter
1072         property value.
1073
1074         Test: css3/filters/filter-property-computed-style.html
1075
1076         * css/CSSComputedStyleDeclaration.cpp:
1077         (WebCore::computedFilter):
1078         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1079
1080 2011-10-05  Jer Noble  <jer.noble@apple.com>
1081
1082         Enable WEB_AUDIO by default in the WebKit/mac port.
1083         https://bugs.webkit.org/show_bug.cgi?id=68587
1084
1085         Reviewed by Simon Fraser.
1086
1087         No new tests; existing webaudio/ layout tests cover this.
1088
1089         * Configurations/FeatureDefines.xcconfig:
1090         * WebCore.xcodeproj/project.pbxproj: Add a build step which copies audio resources to
1091             the WebCore.framework bundle.
1092
1093 2011-10-03  Ojan Vafai  <ojan@chromium.org>
1094
1095         [flexbox] take marginBeforeForChild into account when positioning children
1096         https://bugs.webkit.org/show_bug.cgi?id=69313
1097
1098         Reviewed by Tony Chang.
1099
1100         * rendering/RenderFlexibleBox.cpp:
1101         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1102
1103 2011-10-05  Vangelis Kokkevis  <vangelis@chromium.org>
1104
1105         Switching threaded compositor from a compile time option to a
1106         run time one.
1107         https://bugs.webkit.org/show_bug.cgi?id=69391
1108
1109         Reviewed by Darin Fisher.
1110
1111         Mostly converted #if USE(THREADED_COMPOSITING) to a regular if statements.
1112         In addition, CCLayerTreeHost::scheduleComposite() is removed as it wasn't being
1113         called from anywhere, 
1114
1115         No new tests as it doesn't add new functionality.
1116
1117         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1118         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
1119         (WebCore::CCLayerTreeHost::setNeedsRedraw):
1120         (WebCore::CCLayerTreeHost::composite):
1121         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1122         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1123         (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw):
1124         (WebCore::CCSingleThreadProxy::compositeImmediately):
1125         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1126
1127 2011-10-05  Dean Jackson  <dino@apple.com>
1128
1129         Parse '-webkit-filter' property syntax
1130         https://bugs.webkit.org/show_bug.cgi?id=68473
1131
1132         Reviewed by Nikolas Zimmermann.
1133
1134         Parse the new -webkit-filter property, looking for shorthand
1135         functions then testing number, type and value of parameters.
1136
1137         Note that support for drop-shadow() was omitted from this
1138         patch because parsing CSS shadow syntax was going to require some
1139         refactoring of the box and text shadow code. The followup
1140         bug is https://bugs.webkit.org/show_bug.cgi?id=69108.
1141
1142         Also, computed style will return null for filters at the moment.
1143         That's https://bugs.webkit.org/show_bug.cgi?id=68477.
1144
1145         Tests: css3/filters/filter-property-parsing-invalid.html
1146                css3/filters/filter-property-parsing.html
1147
1148         * CMakeLists.txt:
1149         * CodeGenerators.pri:
1150         * DerivedSources.cpp:
1151         * DerivedSources.make:
1152         * GNUmakefile.list.am:
1153         * WebCore.gypi:
1154         * WebCore.pro:
1155         * WebCore.vcproj/WebCore.vcproj:
1156         * WebCore.xcodeproj/project.pbxproj:
1157             Build files updated for new WebKitCSSFilterValue classes.
1158         * bindings/js/JSCSSValueCustom.cpp:
1159         (WebCore::toJS):
1160         * bindings/objc/DOMCSS.mm:
1161             Test if value is WebKitCSSFilterValue.
1162         * css/CSSParser.cpp:
1163         (WebCore::filterInfoForName):
1164         (WebCore::CSSParser::isValidFilterArgument):
1165         (WebCore::CSSParser::parseFilter):
1166         * css/CSSParser.h:
1167         * css/CSSStyleSelector.cpp:
1168         (WebCore::CSSStyleSelector::applyProperty):
1169         (WebCore::filterOperationForType):
1170         (WebCore::CSSStyleSelector::createFilterOperations):
1171         * css/CSSStyleSelector.h:
1172             Handle the new shorthand functions in -webkit-filter.
1173         * css/CSSValue.h:
1174         (WebCore::CSSValue::isWebKitCSSFilterValue):
1175             Add virtual function that returns false here.
1176         * css/WebKitCSSFilterValue.cpp: Added.
1177         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
1178         (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
1179         (WebCore::WebKitCSSFilterValue::cssText):
1180         * css/WebKitCSSFilterValue.h: Added.
1181         (WebCore::WebKitCSSFilterValue::create):
1182         (WebCore::WebKitCSSFilterValue::operationType):
1183         (WebCore::WebKitCSSFilterValue::isWebKitCSSFilterValue):
1184         * css/WebKitCSSFilterValue.idl: Added.
1185             WebKitCSSFilterValue modelled closely on WebKitCSSTransformValue,
1186             basically identifying the type of operation in a CSSValueList.
1187         * page/DOMWindow.idl:
1188             New WebKitCSSFilterValue constructor.
1189         * platform/graphics/filters/FilterOperation.h:
1190         (WebCore::BlurFilterOperation::create):
1191         (WebCore::BlurFilterOperation::stdDeviationX):
1192         (WebCore::BlurFilterOperation::stdDeviationY):
1193         (WebCore::BlurFilterOperation::BlurFilterOperation):
1194         (WebCore::SharpenFilterOperation::create):
1195         (WebCore::SharpenFilterOperation::radius):
1196         (WebCore::SharpenFilterOperation::threshold):
1197         (WebCore::SharpenFilterOperation::SharpenFilterOperation):
1198             Use Length rather than double for parameters that are CSS lengths.
1199
1200 2011-10-05  Chris Rogers  <crogers@google.com>
1201
1202         Fix Windows build - it doesn't have a log2f() function...
1203         https://bugs.webkit.org/show_bug.cgi?id=69473
1204
1205         Unreviewed build fix.
1206
1207         * webaudio/AudioParamTimeline.cpp:
1208         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
1209
1210 2011-10-05  James Robinson  <jamesr@chromium.org>
1211
1212         [chromium] ASSERT triggered when gpu process lost in single-threaded compositing path
1213         https://bugs.webkit.org/show_bug.cgi?id=69467
1214
1215         Reviewed by Kenneth Russell.
1216
1217         Shuffles debug-only bookkeeping around to more closely match what we do in the threaded path and not trip a
1218         false-positive ASSERT().
1219
1220         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1221         (WebCore::CCSingleThreadProxy::doComposite):
1222
1223 2011-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1224
1225         Unreviewed, rolling out r96756.
1226         http://trac.webkit.org/changeset/96756
1227         https://bugs.webkit.org/show_bug.cgi?id=69472
1228
1229         Many builds broken due to WTFGetBacktrace not being exported
1230         from JavaScriptCore (Requested by aroben on #webkit).
1231
1232         * dom/ScriptElement.cpp:
1233         (WebCore::ScriptElement::ScriptElement):
1234         (WebCore::ScriptElement::stopLoadRequest):
1235         (WebCore::ScriptElement::notifyFinished):
1236         * dom/ScriptElement.h:
1237
1238 2011-10-05  Gavin Peters  <gavinp@chromium.org>
1239
1240         save resource zeroing stacks in ScriptElement for debugging
1241         https://bugs.webkit.org/show_bug.cgi?id=69453
1242
1243         The state machine tracking how m_cachedScript gets zeroed shows that sometimes we get
1244         two notifyFinished() events in a ScriptElement, which can crash chrome (see chrome bug
1245         75604).  This patch will save a stack in the ScriptElement when this happens, so that if
1246         we do later crash, we can see how we did the first zeroing.
1247
1248         See http://code.google.com/p/chromium/issues/detail?id=75604 for the chromium bug that
1249         this change will help track down.
1250
1251         Reviewed by Nate Chapin.
1252
1253         No new tests, this shouldn't affect output at all, and isn't particularly testable.
1254
1255         * dom/ScriptElement.cpp:
1256         (WebCore::ScriptElement::ScriptElement):
1257         (WebCore::ScriptElement::stopLoadRequest):
1258         (WebCore::ScriptElement::notifyFinished):
1259         * dom/ScriptElement.h:
1260
1261 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
1262
1263         More build fix.
1264
1265         * WebCore.exp.in: Made a typo in a last minute change for my 32-bit build fix.
1266
1267 2011-10-05  Anna Cavender  <annacc@chromium.org>
1268
1269         Fix CueParser::didFinishLoading to match changes in ThreadableLoaderClient
1270         https://bugs.webkit.org/show_bug.cgi?id=69456
1271
1272         Reviewed by David Levin.
1273
1274         No new tests. No new functionality.
1275
1276         * html/track/CueParser.cpp:
1277         (WebCore::CueParser::didFinishLoading):
1278         * html/track/CueParser.h:
1279
1280 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
1281
1282         32-bit build fix.
1283
1284         * WebCore.exp.in: In 32-bit, WebCore needs to export both NSSize and CGSize constructors.
1285         In 64-bit, NSSize is just a typedef for CGSize. Also fixed conversion operators, for good measure.
1286
1287 2011-10-05  Jer Noble  <jer.noble@apple.com>
1288
1289         WEB_AUDIO does not compile on Leopard 32-bit.
1290         https://bugs.webkit.org/show_bug.cgi?id=69292
1291
1292         Reviewed by Simon Fraser.
1293
1294         No new tests; covered by all existing audio tests.
1295
1296         Use of float and double within the WEB_AUDIO implementation have been harmonized, with most
1297         calculations done using floats, with narrowPrecisionToFloat() added when necessary to
1298         narrow double results down to floats, and with float constants initialized with float values:
1299         * platform/audio/AudioBus.cpp:
1300         (WebCore::AudioBus::AudioBus):
1301         (WebCore::AudioBus::createByMixingToMono):
1302         * platform/audio/AudioBus.h:
1303         (WebCore::AudioBus::sampleRate):
1304         (WebCore::AudioBus::setSampleRate):
1305         * platform/audio/AudioDSPKernel.h:
1306         (WebCore::AudioDSPKernel::AudioDSPKernel):
1307         (WebCore::AudioDSPKernel::sampleRate):
1308         * platform/audio/AudioDSPKernelProcessor.cpp:
1309         (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
1310         * platform/audio/AudioDSPKernelProcessor.h:
1311         * platform/audio/AudioDestination.h:
1312         * platform/audio/AudioFileReader.h:
1313         * platform/audio/AudioProcessor.h:
1314         (WebCore::AudioProcessor::AudioProcessor):
1315         (WebCore::AudioProcessor::sampleRate):
1316         * platform/audio/AudioUtilities.cpp:
1317         (WebCore::AudioUtilities::decibelsToLinear):
1318         (WebCore::AudioUtilities::linearToDecibels):
1319         (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
1320         * platform/audio/AudioUtilities.h:
1321         * platform/audio/DynamicsCompressor.cpp:
1322         (WebCore::DynamicsCompressor::DynamicsCompressor):
1323         (WebCore::DynamicsCompressor::initializeParameters):
1324         (WebCore::DynamicsCompressor::parameterValue):
1325         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
1326         (WebCore::DynamicsCompressor::process):
1327         * platform/audio/DynamicsCompressor.h:
1328         (WebCore::DynamicsCompressor::sampleRate):
1329         (WebCore::DynamicsCompressor::nyquist):
1330         * platform/audio/DynamicsCompressorKernel.cpp:
1331         (WebCore::saturate):
1332         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
1333         (WebCore::DynamicsCompressorKernel::process):
1334         * platform/audio/DynamicsCompressorKernel.h:
1335         * platform/audio/EqualPowerPanner.cpp:
1336         (WebCore::EqualPowerPanner::EqualPowerPanner):
1337         * platform/audio/EqualPowerPanner.h:
1338         * platform/audio/HRTFDatabase.cpp:
1339         (WebCore::HRTFDatabase::create):
1340         (WebCore::HRTFDatabase::HRTFDatabase):
1341         * platform/audio/HRTFDatabase.h:
1342         (WebCore::HRTFDatabase::sampleRate):
1343         * platform/audio/HRTFDatabaseLoader.cpp:
1344         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
1345         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
1346         * platform/audio/HRTFDatabaseLoader.h:
1347         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
1348         * platform/audio/HRTFElevation.cpp:
1349         (WebCore::HRTFElevation::calculateSymmetricKernelsForAzimuthElevation):
1350         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
1351         (WebCore::HRTFElevation::createForSubject):
1352         (WebCore::HRTFElevation::createByInterpolatingSlices):
1353         * platform/audio/HRTFElevation.h:
1354         (WebCore::HRTFElevation::sampleRate):
1355         (WebCore::HRTFElevation::HRTFElevation):
1356         * platform/audio/HRTFKernel.cpp:
1357         (WebCore::extractAverageGroupDelay):
1358         (WebCore::HRTFKernel::HRTFKernel):
1359         (WebCore::HRTFKernel::createInterpolatedKernel):
1360         * platform/audio/HRTFKernel.h:
1361         (WebCore::HRTFKernel::create):
1362         (WebCore::HRTFKernel::frameDelay):
1363         (WebCore::HRTFKernel::sampleRate):
1364         (WebCore::HRTFKernel::HRTFKernel):
1365         * platform/audio/HRTFPanner.cpp:
1366         (WebCore::HRTFPanner::HRTFPanner):
1367         (WebCore::HRTFPanner::fftSizeForSampleRate):
1368         * platform/audio/HRTFPanner.h:
1369         (WebCore::HRTFPanner::sampleRate):
1370         * platform/audio/Panner.cpp:
1371         (WebCore::Panner::create):
1372         * platform/audio/Panner.h:
1373         * platform/audio/chromium/AudioBusChromium.cpp:
1374         (WebCore::AudioBus::loadPlatformResource):
1375         * platform/audio/mac/AudioBusMac.mm:
1376         (WebCore::AudioBus::loadPlatformResource):
1377         * platform/audio/mac/AudioDestinationMac.cpp:
1378         (WebCore::AudioDestination::create):
1379         (WebCore::AudioDestination::hardwareSampleRate):
1380         (WebCore::AudioDestinationMac::AudioDestinationMac):
1381         * platform/audio/mac/AudioDestinationMac.h:
1382         (WebCore::AudioDestinationMac::sampleRate):
1383         * platform/audio/mac/AudioFileReaderMac.cpp:
1384         (WebCore::AudioFileReader::createBus):
1385         (WebCore::createBusFromAudioFile):
1386         (WebCore::createBusFromInMemoryAudioFile):
1387         * platform/audio/mac/AudioFileReaderMac.h:
1388         * webaudio/AsyncAudioDecoder.cpp:
1389         (WebCore::AsyncAudioDecoder::decodeAsync):
1390         (WebCore::AsyncAudioDecoder::DecodingTask::create):
1391         (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
1392         * webaudio/AsyncAudioDecoder.h:
1393         (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
1394         * webaudio/AudioBasicProcessorNode.cpp:
1395         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
1396         * webaudio/AudioBasicProcessorNode.h:
1397         * webaudio/AudioBuffer.cpp:
1398         (WebCore::AudioBuffer::create):
1399         (WebCore::AudioBuffer::createFromAudioFileData):
1400         (WebCore::AudioBuffer::AudioBuffer):
1401         * webaudio/AudioBuffer.h:
1402         (WebCore::AudioBuffer::sampleRate):
1403         * webaudio/AudioBufferSourceNode.cpp:
1404         (WebCore::AudioBufferSourceNode::create):
1405         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
1406         (WebCore::AudioBufferSourceNode::process):
1407         (WebCore::AudioBufferSourceNode::renderFromBuffer):
1408         * webaudio/AudioBufferSourceNode.h:
1409         * webaudio/AudioChannelMerger.cpp:
1410         (WebCore::AudioChannelMerger::AudioChannelMerger):
1411         * webaudio/AudioChannelMerger.h:
1412         (WebCore::AudioChannelMerger::create):
1413         * webaudio/AudioChannelSplitter.cpp:
1414         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
1415         * webaudio/AudioChannelSplitter.h:
1416         (WebCore::AudioChannelSplitter::create):
1417         * webaudio/AudioContext.cpp:
1418         (WebCore::AudioContext::createOfflineContext):
1419         (WebCore::AudioContext::AudioContext):
1420         (WebCore::AudioContext::createBuffer):
1421         * webaudio/AudioContext.h:
1422         (WebCore::AudioContext::sampleRate):
1423         * webaudio/AudioDestinationNode.cpp:
1424         (WebCore::AudioDestinationNode::AudioDestinationNode):
1425         * webaudio/AudioDestinationNode.h:
1426         * webaudio/AudioGainNode.cpp:
1427         (WebCore::AudioGainNode::AudioGainNode):
1428         * webaudio/AudioGainNode.h:
1429         (WebCore::AudioGainNode::create):
1430         * webaudio/AudioListener.cpp:
1431         (WebCore::AudioListener::AudioListener):
1432         * webaudio/AudioListener.h:
1433         (WebCore::AudioListener::setPosition):
1434         (WebCore::AudioListener::setOrientation):
1435         (WebCore::AudioListener::setVelocity):
1436         * webaudio/AudioNode.cpp:
1437         (WebCore::AudioNode::AudioNode):
1438         * webaudio/AudioNode.h:
1439         (WebCore::AudioNode::sampleRate):
1440         * webaudio/AudioPannerNode.cpp:
1441         (WebCore::AudioPannerNode::AudioPannerNode):
1442         (WebCore::AudioPannerNode::getAzimuthElevation):
1443         * webaudio/AudioPannerNode.h:
1444         (WebCore::AudioPannerNode::create):
1445         * webaudio/AudioParam.cpp:
1446         (WebCore::AudioParam::value):
1447         (WebCore::AudioParam::smoothedValue):
1448         (WebCore::AudioParam::smooth):
1449         (WebCore::AudioParam::calculateSampleAccurateValues):
1450         * webaudio/AudioParamTimeline.cpp:
1451         (WebCore::AudioParamTimeline::valueForContextTime):
1452         (WebCore::timeToSampleFrame):
1453         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
1454         * webaudio/AudioSourceNode.h:
1455         (WebCore::AudioSourceNode::AudioSourceNode):
1456         * webaudio/BiquadFilterNode.cpp:
1457         (WebCore::BiquadFilterNode::BiquadFilterNode):
1458         * webaudio/BiquadFilterNode.h:
1459         (WebCore::BiquadFilterNode::create):
1460         * webaudio/BiquadProcessor.cpp:
1461         (WebCore::BiquadProcessor::BiquadProcessor):
1462         * webaudio/BiquadProcessor.h:
1463         * webaudio/ConvolverNode.cpp:
1464         (WebCore::ConvolverNode::ConvolverNode):
1465         * webaudio/ConvolverNode.h:
1466         (WebCore::ConvolverNode::create):
1467         * webaudio/DefaultAudioDestinationNode.cpp:
1468         (WebCore::DefaultAudioDestinationNode::initialize):
1469         * webaudio/DefaultAudioDestinationNode.h:
1470         (WebCore::DefaultAudioDestinationNode::sampleRate):
1471         * webaudio/DelayDSPKernel.cpp:
1472         (WebCore::DelayDSPKernel::DelayDSPKernel):
1473         (WebCore::DelayDSPKernel::process):
1474         * webaudio/DelayDSPKernel.h:
1475         * webaudio/DelayNode.cpp:
1476         (WebCore::DelayNode::DelayNode):
1477         * webaudio/DelayNode.h:
1478         (WebCore::DelayNode::create):
1479         * webaudio/DelayProcessor.cpp:
1480         (WebCore::DelayProcessor::DelayProcessor):
1481         * webaudio/DelayProcessor.h:
1482         * webaudio/DynamicsCompressorNode.cpp:
1483         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1484         * webaudio/DynamicsCompressorNode.h:
1485         (WebCore::DynamicsCompressorNode::create):
1486         * webaudio/HighPass2FilterNode.cpp:
1487         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
1488         * webaudio/HighPass2FilterNode.h:
1489         (WebCore::HighPass2FilterNode::create):
1490         * webaudio/JavaScriptAudioNode.cpp:
1491         (WebCore::JavaScriptAudioNode::create):
1492         (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
1493         (WebCore::JavaScriptAudioNode::initialize):
1494         * webaudio/JavaScriptAudioNode.h:
1495         * webaudio/LowPass2FilterNode.cpp:
1496         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
1497         * webaudio/LowPass2FilterNode.h:
1498         (WebCore::LowPass2FilterNode::create):
1499         * webaudio/OfflineAudioDestinationNode.h:
1500         (WebCore::OfflineAudioDestinationNode::sampleRate):
1501         * webaudio/RealtimeAnalyserNode.cpp:
1502         (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
1503         * webaudio/RealtimeAnalyserNode.h:
1504         (WebCore::RealtimeAnalyserNode::create):
1505         * webaudio/WaveShaperDSPKernel.cpp:
1506         (WebCore::WaveShaperDSPKernel::process):
1507         * webaudio/WaveShaperProcessor.cpp:
1508         (WebCore::WaveShaperProcessor::WaveShaperProcessor):
1509         * webaudio/WaveShaperProcessor.h:
1510
1511
1512 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
1513
1514         [Mac] Make built-in PDF description localizable
1515         https://bugs.webkit.org/show_bug.cgi?id=69442
1516
1517         Reviewed by Dan Bernstein.
1518
1519         Added strings for plug-in's name and for its supported MIME type.
1520
1521         * English.lproj/Localizable.strings:
1522         * WebCore.exp.in:
1523         * platform/DefaultLocalizationStrategy.cpp:
1524         (WebCore::DefaultLocalizationStrategy::builtInPDFPluginName):
1525         (WebCore::DefaultLocalizationStrategy::pdfDocumentTypeDescription):
1526         * platform/DefaultLocalizationStrategy.h:
1527         * platform/LocalizationStrategy.h:
1528         * platform/LocalizedStrings.cpp:
1529         (WebCore::builtInPDFPluginName):
1530         (WebCore::pdfDocumentTypeDescription):
1531         * platform/LocalizedStrings.h:
1532
1533 2011-10-05  David Levin  <levin@chromium.org>
1534
1535         Attempt to fix the bindings test (broken by r96727).
1536         Reviewed by Adam Barth.
1537
1538         * bindings/scripts/test/V8/V8TestInterface.cpp:
1539         (WebCore::ConfigureV8TestInterfaceTemplate):
1540         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1541         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1542         * bindings/scripts/test/V8/V8TestObj.cpp:
1543         (WebCore::ConfigureV8TestObjTemplate):
1544         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1545         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
1546
1547 2011-10-05  James Robinson  <jamesr@chromium.org>
1548
1549         [chromium] Hook WebCompositor interface for input events up to the compositor proper
1550         https://bugs.webkit.org/show_bug.cgi?id=69394
1551
1552         Reviewed by Darin Fisher.
1553
1554         This wires up WebCompositorImpl to the compositor itself so we can handle input events as scrolls on the
1555         compositor thread, although it doesn't actually wire up any input events to actual scrolling. The way this
1556         works:
1557
1558         - CCThreadProxy owns an adapter that implements the CCScrollController interface
1559         - CCThreadProxy owns a CCInputHandler, which is implemented by WebKit::WebCompositorImpl, that has a pointer to
1560         the adapter
1561         - CCLayerTreeHost has an identifier (an int) for its WebKit::WebCompositorImpl that's initialized in
1562         initializeLayerRenderer. This identifier is exposed to its owner (WebKit::WebViewImpl) so the embedder can wire
1563         up the threading logic behind the scenes.
1564
1565         This is just plumbing, no change in behavior.
1566
1567         * WebCore.gypi:
1568         * platform/graphics/chromium/cc/CCInputHandler.h: Added.
1569         (WebCore::CCInputHandler::~CCInputHandler):
1570         (WebCore::CCInputHandler::CCInputHandler):
1571         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1572         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1573         (WebCore::CCLayerTreeHost::initialize):
1574         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1575         (WebCore::CCLayerTreeHost::compositorIdentifier):
1576         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1577         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
1578         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1579         * platform/graphics/chromium/cc/CCProxy.h:
1580         * platform/graphics/chromium/cc/CCScrollController.h: Added.
1581         (WebCore::CCScrollController::CCScrollController):
1582         (WebCore::CCScrollController::~CCScrollController):
1583         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1584         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
1585         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1586         (WebCore::CCSingleThreadProxy::compositorIdentifier):
1587         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1588         (WebCore::CCThreadProxyScrollControllerAdapter::create):
1589         (WebCore::CCThreadProxyScrollControllerAdapter::~CCThreadProxyScrollControllerAdapter):
1590         (WebCore::CCThreadProxyScrollControllerAdapter::scrollRootLayer):
1591         (WebCore::CCThreadProxyScrollControllerAdapter::CCThreadProxyScrollControllerAdapter):
1592         (WebCore::CCThreadProxy::CCThreadProxy):
1593         (WebCore::CCThreadProxy::initializeLayerRenderer):
1594         (WebCore::CCThreadProxy::compositorIdentifier):
1595         (WebCore::CCThreadProxy::beginFrameAndCommit):
1596         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
1597         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
1598         * platform/graphics/chromium/cc/CCThreadProxy.h:
1599
1600 2011-10-05  Andreas Kling  <kling@webkit.org>
1601
1602         Shrink OutlineValue.
1603         https://bugs.webkit.org/show_bug.cgi?id=69436
1604
1605         Reviewed by Darin Adler.
1606
1607         Move OutlineValue::m_isAuto up into the base class (BorderValue.)
1608         This shrinks OutlineValue by 32 bit, which in turn shrinks
1609         StyleBackgroundData by one CPU word.
1610
1611         This reduces memory consumption by 250 kB (on 64-bit) when loading
1612         the full HTML5 spec.
1613
1614         * rendering/style/BorderValue.h:
1615         (WebCore::BorderValue::BorderValue):
1616         * rendering/style/OutlineValue.h:
1617         (WebCore::OutlineValue::OutlineValue):
1618         (WebCore::OutlineValue::isAuto):
1619
1620 2011-10-05  Chang Shu  <cshu@webkit.org>
1621
1622         [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport
1623         https://bugs.webkit.org/show_bug.cgi?id=69365
1624
1625         Reviewed by Darin Adler.
1626
1627         Expose computeViewportAttributes for mac build.
1628
1629         * WebCore.exp.in:
1630
1631 2011-10-05  Anna Cavender  <annacc@chromium.org>
1632
1633         Functions to make <track> enabled at runtime, including changes to
1634         CodeGeneratorvV8 to allow entire interfaces (not just attributes) to
1635         be runtime-enabled.
1636         https://bugs.webkit.org/show_bug.cgi?id=69352
1637
1638         Reviewed by Adam Barth.
1639
1640         No new tests. No new functionality.
1641
1642         * bindings/generic/RuntimeEnabledFeatures.cpp:
1643         * bindings/generic/RuntimeEnabledFeatures.h:
1644         (WebCore::RuntimeEnabledFeatures::webkitVideoTrackEnabled):
1645         (WebCore::RuntimeEnabledFeatures::setWebkitVideoTrackEnabled):
1646         * bindings/scripts/CodeGeneratorV8.pm:
1647         * html/HTMLMediaElement.cpp:
1648         (WebCore::HTMLMediaElement::loadTextTracks):
1649         * html/HTMLTrackElement.idl:
1650
1651 2011-10-05  Kenneth Russell  <kbr@google.com>
1652
1653         Mask underlying RENDERER and VENDOR strings
1654         https://bugs.webkit.org/show_bug.cgi?id=69389
1655
1656         Reviewed by Sam Weinig.
1657
1658         Test: fast/canvas/webgl/renderer-and-vendor-strings.html
1659
1660         * html/canvas/WebGLGetInfo.h:
1661         * html/canvas/WebGLRenderingContext.cpp:
1662         (WebCore::WebGLRenderingContext::getParameter):
1663
1664 2011-10-05  Sachin Puranik  <jcqt43@motorola.com>
1665
1666         Spec change - option.label should be reflected like option.value
1667         https://bugs.webkit.org/show_bug.cgi?id=68684
1668
1669         Reviewed by Darin Adler.
1670
1671         Incorporating the recent change in spec for label attribute of 
1672         option element. While retrieving the "Label" IDL attribute return
1673         the "Label" content attribute if present , else return the 
1674         value of textContent attribute.
1675
1676         Tests: fast/forms/option-label-trim-html-spaces.html
1677                fast/forms/option-value-and-label-changed-by-js.html
1678
1679         * dom/OptionElement.cpp:
1680         (WebCore::OptionElement::normalizeText):style fixes
1681         * dom/OptionElement.h: make collectOptionInnerText() protected.
1682         * html/HTMLOptionElement.cpp:
1683         (WebCore::HTMLOptionElement::label): return innerText if label attribute un-available.
1684         (WebCore::HTMLOptionElement::setLabel):setLabel() implementation.
1685         * html/HTMLOptionElement.h: add setLabel declaration.
1686         * html/HTMLOptionElement.idl: Change reflect to ConvertNullToNullString in idl
1687
1688 2011-10-05  Rémi Duraffort  <remi.duraffort@st.com>
1689
1690         [GTK] Fix compilation with gtk v2.20.1
1691         https://bugs.webkit.org/show_bug.cgi?id=69418
1692
1693         Unreviewed build fix
1694
1695         * platform/gtk/GtkDragAndDropHelper.cpp:
1696
1697 2011-10-05  David Hyatt  <hyatt@apple.com>
1698
1699         https://bugs.webkit.org/show_bug.cgi?id=68731
1700         
1701         Outline sides not painted for region. Fix the painting and hit testing code for regions to add in
1702         the maximalOutlineSize on unclipped sides. Also fix some math errors with the computation of the
1703         translation offset and clip rects when overflow or outlines spill out.
1704
1705         Reviewed by Darin Adler.
1706
1707         Added new test in fast/regions.
1708
1709         * rendering/RenderFlowThread.cpp:
1710         (WebCore::RenderFlowThread::paintIntoRegion):
1711         (WebCore::RenderFlowThread::hitTestRegion):
1712         * rendering/RenderRegion.cpp:
1713         (WebCore::RenderRegion::regionOverflowRect):
1714
1715 2011-10-05  Yury Semikhatsky  <yurys@chromium.org>
1716         
1717         Unreviewed. Build fix: make InspectorStateClient.h Private in XCode project.
1718
1719         * WebCore.xcodeproj/project.pbxproj:
1720
1721 2011-10-05  Martin Robinson  <mrobinson@igalia.com>
1722
1723         libsoup-CRITICAL **: soup_message_io_pause: assertion `io != NULL' failed
1724         https://bugs.webkit.org/show_bug.cgi?id=64263
1725
1726         Reviewed by Xan Lopez.
1727
1728         No new tests. This is difficult to test because it relies on network
1729         timing and to catch and parse stdout.
1730
1731         Instead of allowing messages to pause and unpause after receiving headers,
1732         we wait until the completion of the sendRequestCallback. This will ensure
1733         that the SoupSession is in the correct state to allow for pausing and unpausing.
1734
1735         * platform/network/soup/ResourceHandleSoup.cpp:
1736         (WebCore::ResourceHandle::platformSetDefersLoading): Don't pause and unpause
1737         until the sendRequestCallback is called. We detect this situation by
1738         checking whether or not we have an input stream yet. Previously the code
1739         was only pausing until after soupMessage->status_code was not equal to
1740         SOUP_STATUS_NONE. This means that the message was pausable right after
1741         headers are received. sendRequestCallback happens some time after that.
1742
1743 2011-10-05  Ilya Tikhonovsky  <loislo@chromium.org>
1744
1745         Unreviewed build fix for Debug builders.
1746
1747         * inspector/WorkerInspectorController.cpp:
1748         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
1749
1750 2011-10-05  Dirk Schulze  <krit@webkit.org>
1751
1752         SVG 1.1: ineffectual transform attribute for ClipPath
1753         https://bugs.webkit.org/show_bug.cgi?id=55361
1754
1755         Reviewed by Nikolas Zimmermann.
1756         
1757         Respect 'transform' attribute/property for <clip-path>.
1758         If the masking code path is used the mask context gets transformed, otherwise the path itself.
1759
1760         Tests: svg/clip-path/clip-path-transform-1.svg
1761                svg/clip-path/clip-path-transform-2.svg
1762                svg/dynamic-updates/SVGClipPathElement-transform-influences-hitTesting.html
1763
1764         * rendering/svg/RenderSVGResourceClipper.cpp:
1765         (WebCore::RenderSVGResourceClipper::pathOnlyClipping): Transform the clip path.
1766         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1767         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Transform the context of the mask image.
1768         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Repaint rect must get concatenated with the current animated transformation.
1769         (WebCore::RenderSVGResourceClipper::hitTestClipContent): Point for hit testing must be transformed by the current animated transformation.
1770         * rendering/svg/RenderSVGResourceClipper.h:
1771
1772 2011-10-05  Pavel Feldman  <pfeldman@google.com>
1773
1774         Web Inspector: move elements panel update semantics from ElementsPanel to ElementsTreeOutline.
1775         https://bugs.webkit.org/show_bug.cgi?id=69431
1776
1777         Reviewed by Yury Semikhatsky.
1778
1779         * inspector/front-end/ConsoleMessage.js:
1780         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
1781         * inspector/front-end/ElementsPanel.js:
1782         (WebInspector.ElementsPanel.get this):
1783         (WebInspector.ElementsPanel):
1784         (WebInspector.ElementsPanel.prototype.show):
1785         (WebInspector.ElementsPanel.prototype.hide):
1786         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
1787         (WebInspector.ElementsPanel.prototype._reset):
1788         (WebInspector.ElementsPanel.prototype._nodeRemoved):
1789         (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
1790         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
1791         * inspector/front-end/ElementsTreeOutline.js:
1792         (WebInspector.ElementsTreeOutline):
1793         (WebInspector.ElementsTreeOutline.prototype.wireToDomAgent):
1794         (WebInspector.ElementsTreeOutline.prototype.setVisible):
1795         (WebInspector.ElementsTreeOutline.prototype.addEventListener):
1796         (WebInspector.ElementsTreeOutline.prototype.removeEventListener):
1797         (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
1798         (WebInspector.ElementsTreeOutline.prototype.update):
1799         (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
1800         (WebInspector.ElementsTreeOutline.prototype.findTreeElement.parentNode):
1801         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
1802         (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
1803         (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
1804         (WebInspector.ElementsTreeOutline.prototype._ondrop):
1805         (WebInspector.ElementsTreeOutline.prototype.adjustCollapsedRange):
1806         (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
1807         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
1808         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
1809         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
1810         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
1811         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
1812         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
1813         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
1814         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
1815         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
1816         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
1817         ():
1818         * inspector/front-end/externs.js:
1819         (WebInspector.ElementsTreeOutline):
1820         * inspector/front-end/utilities.js:
1821
1822 2011-10-05  Yury Semikhatsky  <yurys@chromium.org>
1823
1824         Web Inspector: provide a way for persisting worker inspector state
1825         https://bugs.webkit.org/show_bug.cgi?id=69422
1826
1827         Worker inspector can persist and restore its state. InspectorStateClient is
1828         exctracted into a separate interface and has a custom implementation in case
1829         of worker inspector.
1830
1831         Reviewed by Pavel Feldman.
1832
1833         * GNUmakefile.list.am:
1834         * WebCore.gypi:
1835         * WebCore.vcproj/WebCore.vcproj:
1836         * WebCore.xcodeproj/project.pbxproj:
1837         * inspector/InspectorClient.h:
1838         * inspector/InspectorState.cpp:
1839         (WebCore::InspectorState::InspectorState):
1840         * inspector/InspectorState.h:
1841         * inspector/InspectorStateClient.h: Copied from Source/WebCore/inspector/InspectorClient.h.
1842         (WebCore::InspectorStateClient::~InspectorStateClient):
1843         (WebCore::InspectorStateClient::updateInspectorStateCookie):
1844         * inspector/WorkerInspectorController.cpp:
1845         (WebCore::WorkerInspectorController::WorkerInspectorController):
1846         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
1847         * inspector/WorkerInspectorController.h:
1848         * workers/DefaultSharedWorkerRepository.cpp:
1849         (WebCore::SharedWorkerProxy::postMessageToPageInspector):
1850         (WebCore::SharedWorkerProxy::updateInspectorStateCookie):
1851         * workers/WorkerMessagingProxy.cpp:
1852         (WebCore::WorkerMessagingProxy::updateInspectorStateCookie):
1853         * workers/WorkerMessagingProxy.h:
1854         * workers/WorkerReportingProxy.h:
1855
1856 2011-10-05  Abhishek Arya  <inferno@chromium.org>
1857
1858         Crash in SVGTRefElement::updateReferencedText.
1859         https://bugs.webkit.org/show_bug.cgi?id=67555
1860
1861         Reviewed by Rob Buis.
1862
1863         Test: svg/text/tref-event-listener-crash.svg
1864
1865         * svg/SVGTRefElement.cpp:
1866         (WebCore::SubtreeModificationEventListener::clear): This fixes the
1867         crash. there can be cases when our target is removed, but our event
1868         listener is alive. when our tref is going away, we need to disable
1869         those event listeners by nulling out our tref element.
1870         (WebCore::SubtreeModificationEventListener::handleEvent): Adding
1871         null check for tref element, which can happen in cases where
1872         event listener's clear is called, but we could not remove it from
1873         the target.
1874         (WebCore::SVGTRefElement::~SVGTRefElement): There are always
1875         cases when removedFromDocument is not called. So, important to
1876         clear event listener in those cases.
1877         (WebCore::SVGTRefElement::svgAttributeChanged): Use common
1878         function buildPendingResource.
1879         (WebCore::SVGTRefElement::buildPendingResource): Common function
1880         to prevent triple duplication of same code. made it more readable.
1881         (WebCore::SVGTRefElement::insertedIntoDocument): Use common
1882         function buildPendingResource.
1883         (WebCore::SVGTRefElement::removedFromDocument): Use new helper
1884         removeEventListener.
1885         (WebCore::SVGTRefElement::clearEventListener): Helper to clear
1886         event listener. Name chosen to not collide with Node::removeEventListener.
1887         * svg/SVGTRefElement.h: definition of new helpers.
1888         * svg/SVGTextPathElement.cpp:
1889         (WebCore::SVGTextPathElement::insertedIntoDocument): Copy same
1890         logic as tref and use element. more asserts and easy bailouts.
1891
1892 2011-10-05  Pavel Feldman  <pfeldman@google.com>
1893
1894         Not reviewed: restoring : shortcut in inspector.
1895
1896         * inspector/front-end/ScriptsPanel.js:
1897         (WebInspector.ScriptsPanel.prototype._createSidebarButtons):
1898
1899 2011-10-05  Andreas Kling  <kling@webkit.org>
1900
1901         Shrink FontDescription.
1902         https://bugs.webkit.org/show_bug.cgi?id=69426
1903
1904         Reviewed by Nikolas Zimmermann.
1905
1906         Pack FontDescription's members in a bitfield, effectively shrinking
1907         the class by two CPU-words. This reduces memory consumption by ~1 MB
1908         on 64-bit when loading the full HTML5 spec.
1909
1910         * platform/graphics/FontDescription.h:
1911         (WebCore::FontDescription::orientation):
1912         (WebCore::FontDescription::textOrientation):
1913         (WebCore::FontDescription::widthVariant):
1914
1915 2011-10-05  Vsevolod Vlasov  <vsevik@chromium.org>
1916
1917         Web Inspector: Add support for search in script content.
1918         https://bugs.webkit.org/show_bug.cgi?id=69015
1919
1920         Reviewed by Pavel Feldman.
1921
1922         Tests: http/tests/inspector/search/search-in-concatenated-script.html
1923                http/tests/inspector/search/search-in-script.html
1924
1925         * inspector/Inspector.json:
1926         * inspector/InspectorDebuggerAgent.cpp:
1927         (WebCore::InspectorDebuggerAgent::searchInContent):
1928         (WebCore::InspectorDebuggerAgent::getScriptSource):
1929         * inspector/InspectorDebuggerAgent.h:
1930         * inspector/front-end/ContentProviders.js:
1931         (WebInspector.ScriptContentProvider.prototype.searchInContent):
1932         (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts.var):
1933         (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts):
1934         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
1935         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.maybeCallback):
1936         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
1937         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
1938         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1939         * inspector/front-end/Script.js:
1940         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
1941         (WebInspector.Script.prototype.requestSource):
1942         (WebInspector.Script.prototype.searchInContent):
1943
1944 2011-10-05  Alexis Menard  <alexis.menard@openbossa.org>
1945
1946         [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
1947         https://bugs.webkit.org/show_bug.cgi?id=69111
1948
1949         Reviewed by Kenneth Rohde Christiansen.
1950
1951         Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
1952
1953         No new tests : existing ones should cover.
1954
1955         * platform/qt/CookieJarQt.cpp:
1956         (WebCore::SharedCookieJarQt::SharedCookieJarQt):
1957
1958 2011-10-05  Patrick Gansterer  <paroga@webkit.org>
1959
1960         Unreviewed build fix for !ENABLE(FILTERS) after r96203.
1961
1962         * rendering/svg/SVGResourcesCache.cpp:
1963         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
1964
1965 2011-10-05  Ilya Tikhonovsky  <loislo@chromium.org>
1966
1967         Unreviewed build fix for windows bots after r96679.
1968
1969         * html/NumberInputType.h:
1970
1971 2011-10-04  Pavel Feldman  <pfeldman@google.com>
1972
1973         Web Inspector: make ResourceView(s) compile
1974         https://bugs.webkit.org/show_bug.cgi?id=69351
1975
1976         Reviewed by Yury Semikhatsky.
1977
1978         * inspector/compile-front-end.sh:
1979         * inspector/front-end/CookiesTable.js:
1980         (WebInspector.CookiesTable.prototype._sortCookies):
1981         * inspector/front-end/DataGrid.js:
1982         * inspector/front-end/EmptyView.js:
1983         * inspector/front-end/FontView.js:
1984         (WebInspector.FontView.prototype._createContentIfNeeded):
1985         * inspector/front-end/ImageView.js:
1986         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
1987         (WebInspector.ImageView.prototype._createContentIfNeeded):
1988         (WebInspector.ImageView.prototype._openInNewTab):
1989         * inspector/front-end/NetworkItemView.js:
1990         * inspector/front-end/ResourceCookiesView.js:
1991         * inspector/front-end/ResourceHTMLView.js:
1992         (WebInspector.ResourceHTMLView.prototype.hide):
1993         * inspector/front-end/ResourceHeadersView.js:
1994         (WebInspector.ResourceHeadersView.prototype._refreshParms):
1995         (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
1996         (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
1997         (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
1998         * inspector/front-end/ResourceJSONView.js:
1999         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.parseJSONP):
2000         * inspector/front-end/ResourcePreviewView.js:
2001         * inspector/front-end/ResourceResponseView.js:
2002         * inspector/front-end/ResourceTimingView.js:
2003         (WebInspector.ResourceTimingView.createTimingTable):
2004         * inspector/front-end/ResourceView.js:
2005         (WebInspector.ResourceSourceFrame):
2006         * inspector/front-end/SourceFrame.js:
2007         * inspector/front-end/TabbedPane.js:
2008         * inspector/front-end/UIUtils.js:
2009         (Number.secondsToString):
2010         (Number.bytesToString):
2011         * inspector/front-end/inspector.js:
2012
2013 2011-10-04  Ilya Tikhonovsky  <loislo@chromium.org>
2014
2015         Web Inspector: debuggerPresentatioModel.linkifyLocation leaks updateAnchor closure instances.
2016         https://bugs.webkit.org/show_bug.cgi?id=69146
2017
2018         In many places we use linkifyLocation function to produce a link node which updates automatically when the source file is changed on the fly.
2019         Such changes happen when we use pretty print or another operation that changes the source code somehow.
2020         linkifyLocation associates a new instance of updateAnchor closure with the each link node and add the closure to the SourceMappingUpdated event's list.
2021         As the result the node<->closure pairs wouldn't be collected until reset the UI and DebuggerPresentationModel.
2022
2023         Reviewed by Pavel Feldman.
2024
2025         Test: inspector/debugger/linkifier.html
2026
2027         * inspector/front-end/ConsoleMessage.js:
2028         (WebInspector.ConsoleMessageImpl):
2029         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
2030         * inspector/front-end/ConsoleView.js:
2031         (WebInspector.ConsoleView.prototype._consoleCleared):
2032         (WebInspector.ConsoleCommandResult):
2033         (WebInspector.ConsoleMessage.create):
2034         (WebInspector.ConsoleMessage.createTextMessage):
2035         * inspector/front-end/DebuggerPresentationModel.js:
2036         (WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
2037         (WebInspector.DebuggerPresentationModel.Linkifier):
2038         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
2039         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
2040         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateSourceAnchors):
2041         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
2042         * inspector/front-end/EventListenersSidebarPane.js:
2043         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
2044         (WebInspector.EventListenersSidebarPane.prototype.update):
2045         ():
2046         * inspector/front-end/NetworkPanel.js:
2047         (WebInspector.NetworkLogView):
2048         (WebInspector.NetworkLogView.prototype._reset):
2049         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
2050         * inspector/front-end/ProfileDataGridTree.js:
2051         (WebInspector.ProfileDataGridNode.prototype.createCell):
2052         * inspector/front-end/ProfileView.js:
2053         (WebInspector.CPUProfileView):
2054         (WebInspector.CPUProfileView.prototype._resetClicked):
2055         * inspector/front-end/TimelinePanel.js:
2056         (WebInspector.TimelinePanel):
2057         (WebInspector.TimelinePanel.prototype._linkifyLocation):
2058         (WebInspector.TimelinePanel.prototype._linkifyCallFrame):
2059         (WebInspector.TimelinePanel.prototype._clearPanel):
2060         (WebInspector.TimelinePanel.FormattedRecord):
2061         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2062         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2063         (WebInspector.TimelinePanel.PopupContentHelper):
2064         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
2065         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
2066         * inspector/front-end/inspector.js:
2067
2068 2011-10-03  Andreas Kling  <kling@webkit.org>
2069
2070         REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
2071         https://bugs.webkit.org/show_bug.cgi?id=64914
2072
2073         Reviewed by Antti Koivisto.
2074
2075         Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
2076         since nobody is using them anymore. nextOnLineExists() is still used by
2077         GTK+ accessibility code.
2078
2079         Also added a compile-time assertion to guard against future bloating of
2080         the InlineBox class.
2081
2082         * rendering/InlineBox.cpp:
2083         (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
2084         * rendering/InlineBox.h:
2085         (WebCore::InlineBox::InlineBox):
2086
2087 2011-10-05  Andreas Kling  <kling@webkit.org>
2088
2089         Shrink FontFallbackList.
2090         https://bugs.webkit.org/show_bug.cgi?id=69093
2091
2092         Rubber-stamped by Antti Koivisto.
2093
2094         Workaround MSVC quirk by making enum bitfield "unsigned".
2095
2096         * platform/graphics/FontFallbackList.h:
2097
2098 2011-10-05  Andreas Kling  <kling@webkit.org>
2099
2100         Shrink StyleRareNonInheritedData.
2101         https://bugs.webkit.org/show_bug.cgi?id=69331
2102
2103         Reviewed by Darin Adler.
2104
2105         Workaround MSVC quirk by making enum bitfields "unsigned".
2106
2107         * rendering/style/RenderStyle.h:
2108         (WebCore::InheritedFlags::regionOverflow):
2109         (WebCore::InheritedFlags::transformStyle3D):
2110         (WebCore::InheritedFlags::backfaceVisibility):
2111         (WebCore::InheritedFlags::pageSizeType):
2112         * rendering/style/StyleRareNonInheritedData.h:
2113
2114 2011-10-05  Pavel Feldman  <pfeldman@chromium.org>
2115
2116         Web Inspector: add CSS model classes to the compilation.
2117         https://bugs.webkit.org/show_bug.cgi?id=69376
2118
2119         Reviewed by Yury Semikhatsky.
2120
2121         * inspector/compile-front-end.sh:
2122         * inspector/front-end/CSSCompletions.js:
2123         * inspector/front-end/CSSKeywordCompletions.js:
2124         (WebInspector.CSSKeywordCompletions.forProperty):
2125         * inspector/front-end/CSSStyleModel.js:
2126         (WebInspector.CSSStyleDeclaration):
2127         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
2128         (WebInspector.CSSStyleModelResourceBinding.prototype.canSetContent):
2129         * inspector/front-end/ResourceTreeModel.js:
2130         * inspector/front-end/StylesSidebarPane.js:
2131         (WebInspector.StylesSidebarPane.prototype._containsInherited):
2132         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
2133         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
2134         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
2135         * inspector/front-end/externs.js:
2136         (Array.prototype.keySet):
2137
2138 2011-10-05  Kent Tamura  <tkent@chromium.org>
2139
2140         Input styles are unexpectedly shared regardless of required status difference.
2141         https://bugs.webkit.org/show_bug.cgi?id=69402
2142
2143         Reviewed by Daniel Bates.
2144
2145         Tests: fast/css/pseudo-required-shared.html
2146
2147         * css/CSSStyleSelector.cpp:
2148         (WebCore::CSSStyleSelector::canShareStyleWithControl): Check the difference of required().
2149
2150 2011-10-04  Kent Tamura  <tkent@chromium.org>
2151
2152         Remove Node::willBlur()
2153         https://bugs.webkit.org/show_bug.cgi?id=69395
2154
2155         Reviewed by Ryosuke Niwa.
2156
2157         Revert the WebCore part of r87371 because
2158         FrameSelection::textWillBeReplaced() doesn't set focus anymore.
2159         No new tests. Covered by fast/forms/input-number-blur-twice.html.
2160
2161         * dom/Document.cpp:
2162         (WebCore::Document::setFocusedNode): Revert r87371.
2163         * dom/Node.cpp: ditto.
2164         * dom/Node.h: ditto.
2165         * html/HTMLInputElement.cpp:
2166         (WebCore::HTMLInputElement::handleBlurEvent): ditto.
2167         * html/HTMLInputElement.h: ditto.
2168         * html/InputType.cpp:
2169         (WebCore::InputType::handleBlurEvent): ditto.
2170         * html/InputType.h: ditto.
2171         * html/NumberInputType.cpp:
2172         (WebCore::NumberInputType::handleBlurEvent): ditto.
2173         * html/NumberInputType.h: ditto.
2174
2175 2011-10-04  Kent Tamura  <tkent@chromium.org>
2176
2177         Introduce feature flags for incomplete input types
2178         https://bugs.webkit.org/show_bug.cgi?id=68971
2179
2180         Reviewed by Hajime Morita.
2181
2182         * Configurations/FeatureDefines.xcconfig:
2183          Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
2184         * html/DateInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATE)
2185         * html/DateInputType.h: ditto.
2186         * html/DateTimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIME)
2187         * html/DateTimeInputType.h: ditto.
2188         * html/DateTimeLocalInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIMELOCAL)
2189         * html/DateTimeLocalInputType.h: ditto.
2190         * html/InputType.cpp:
2191         (WebCore::createInputTypeFactoryMap):
2192          Recognizes type attribute value only if it is enabled by ENABLE(INPUT_TYPE_*).
2193         * html/MonthInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_MONTH)
2194         * html/MonthInputType.h: ditto.
2195         * html/TimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_TIME)
2196         * html/TimeInputType.h: ditto.
2197         * html/WeekInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_WEEK)
2198         * html/WeekInputType.h: ditto.
2199
2200 2011-10-04  David Hyatt  <hyatt@apple.com>
2201
2202         https://bugs.webkit.org/show_bug.cgi?id=69398
2203
2204         [CSS3 Regions] Support the region-overflow property properly.
2205         
2206         (1) Change -webkit-break to break, since the -webkit-region-overflow property already has the
2207         -webkit- extension.
2208         
2209         (2) Fix clipping so that it works when overflow is set or when region break is set.
2210         
2211         (3) Refactor all the pagination spots to check if a next page is available using the new hasNextPage
2212         function. This prevents us from paginating if we hit the last region and further breaks are no longer
2213         allowed.
2214         
2215         Reviewed by Dan Bernstein.
2216
2217         Added new tests in fast/regions.
2218
2219         * css/CSSParser.cpp:
2220         (WebCore::CSSParser::parseValue):
2221         * css/CSSPrimitiveValueMappings.h:
2222         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2223         (WebCore::CSSPrimitiveValue::operator RegionOverflow):
2224         * css/CSSValueKeywords.in:
2225         * rendering/RenderBlock.cpp:
2226         (WebCore::RenderBlock::collapseMargins):
2227         (WebCore::RenderBlock::estimateLogicalTopPosition):
2228         (WebCore::RenderBlock::hasNextPage):
2229         (WebCore::RenderBlock::nextPageLogicalTop):
2230         (WebCore::RenderBlock::applyBeforeBreak):
2231         (WebCore::RenderBlock::applyAfterBreak):
2232         (WebCore::RenderBlock::pageLogicalHeightForOffset):
2233         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
2234         (WebCore::RenderBlock::adjustForUnsplittableChild):
2235         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
2236         (WebCore::RenderBlock::adjustLinePositionForPagination):
2237         * rendering/RenderBlock.h:
2238         * rendering/RenderFlowThread.cpp:
2239         (WebCore::RenderFlowThread::layout):
2240         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2241         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
2242         * rendering/RenderFlowThread.h:
2243         * rendering/RenderRegion.cpp:
2244         (WebCore::RenderRegion::regionOverflowRect):
2245
2246 2011-10-04  Mark Hahnenberg  <mhahnenberg@apple.com>
2247
2248         Add static ClassInfo structs to classes that override JSCell::getCallData
2249         https://bugs.webkit.org/show_bug.cgi?id=69311
2250
2251         Reviewed by Darin Adler.
2252
2253         No new tests.
2254
2255         Added ClassInfo structs to each class that defined its own getCallData 
2256         function but did not already have its own ClassInfo struct.  This is a 
2257         necessary addition for when we switch over to looking up getCallData from 
2258         the MethodTable in ClassInfo rather than doing the virtual call (which we 
2259         are removing).  These new ClassInfo structs are public because we often 
2260         use these structs in other areas of the code to uniquely identify JSC classes and 
2261         to enforce runtime invariants based on those class identities using ASSERTs.
2262         Also added new createStructure methods to those classes that didn't have 
2263         them so that the new ClassInfo structs would be used when creating the Structures 
2264         in these classes.
2265
2266         * bridge/qt/qt_runtime.cpp:
2267         * bridge/qt/qt_runtime.h:
2268
2269 2011-10-03  Geoffrey Garen  <ggaren@apple.com>
2270
2271         Some JSValue cleanup
2272         https://bugs.webkit.org/show_bug.cgi?id=69320
2273
2274         Reviewed by Darin Adler.
2275
2276         * bindings/js/JSDOMBinding.cpp:
2277         (WebCore::valueToDate):
2278         * bindings/js/JSErrorHandler.cpp:
2279         (WebCore::JSErrorHandler::handleEvent):
2280         * bindings/js/JSEventListener.cpp:
2281         (WebCore::JSEventListener::handleEvent):
2282         * bindings/js/JSSQLTransactionCustom.cpp:
2283         (WebCore::JSSQLTransaction::executeSql):
2284         * bindings/js/JSSQLTransactionSyncCustom.cpp:
2285         (WebCore::JSSQLTransactionSync::executeSql):
2286         * bindings/js/ScriptValue.cpp:
2287         (WebCore::jsToInspectorValue):
2288         * bindings/js/SerializedScriptValue.cpp:
2289         (WebCore::CloneSerializer::dumpIfTerminal):
2290         * bindings/objc/WebScriptObject.mm:
2291         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2292         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
2293         (JSC::Bindings::convertValueToJValue): Updated for JSC changes.
2294
2295 2011-10-04  Sadrul Habib Chowdhury  <sadrul@chromium.org>
2296
2297         Fix FrameView::scrollElementToRect to take already scrolled amount into consideration.
2298         https://bugs.webkit.org/show_bug.cgi?id=69220
2299
2300         Reviewed by Simon Fraser.
2301
2302         * page/FrameView.cpp:
2303         (WebCore::FrameView::scrollElementToRect):
2304
2305 2011-10-04  Anders Carlsson  <andersca@apple.com>
2306
2307         Ignore the warning about using 'override'.
2308
2309         * WebCore.vcproj/WebCore.vcproj:
2310
2311 2011-10-04  Sam Weinig  <sam@webkit.org>
2312
2313         Stub out WorkerScriptController::disableEval for v8 to fix the build.
2314
2315         * bindings/v8/WorkerScriptController.cpp:
2316         (WebCore::WorkerScriptController::disableEval):
2317         * bindings/v8/WorkerScriptController.h:
2318
2319 2011-10-04  Sam Weinig  <sam@webkit.org>
2320
2321         OVERRIDE seems to not be working for Windows. Remove it for now.
2322
2323         * dom/Document.h:
2324         * workers/WorkerContext.h:
2325
2326 2011-10-04  Sam Weinig  <sam@webkit.org>
2327
2328         Wean ContentSecurityPolicy from the Document
2329         https://bugs.webkit.org/show_bug.cgi?id=69387
2330
2331         Reviewed by Adam Barth.
2332
2333         * bindings/js/WorkerScriptController.cpp:
2334         (WebCore::WorkerScriptController::disableEval):
2335         * bindings/js/WorkerScriptController.h:
2336         * dom/Document.cpp:
2337         (WebCore::Document::disableEval):
2338         * dom/Document.h:
2339         * workers/WorkerContext.cpp:
2340         (WebCore::WorkerContext::disableEval):
2341         * workers/WorkerContext.h:
2342         * dom/ScriptExecutionContext.h:
2343         Add pure virtual disableEval to ScriptExecutionContext, so that ContentSecurityPolicy
2344         can call it for both Documents and WorkerContexts.
2345
2346         * page/ContentSecurityPolicy.cpp:
2347         (WebCore::ContentSecurityPolicy::didReceiveHeader):
2348         Call the new ScriptExecutionContext::disableEval() function.
2349
2350         (WebCore::ContentSecurityPolicy::reportViolation):
2351         Use ScriptExecutionContext::addMessage() instead of going directly to the DOMWindow.
2352
2353 2011-10-04  Anders Carlsson  <andersca@apple.com>
2354
2355         Move code into ScrollElasticityController::beginScrollGesture()
2356         https://bugs.webkit.org/show_bug.cgi?id=69383
2357
2358         Reviewed by John Sullivan.
2359
2360         * platform/mac/ScrollAnimatorMac.h:
2361         Add new ScrollElasticityControllerClient member functions.
2362
2363         * platform/mac/ScrollAnimatorMac.mm:
2364         (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMinimumPosition):
2365         (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMaximumPosition):
2366         (WebCore::ScrollAnimatorMac::stretchAmount):
2367         (WebCore::ScrollAnimatorMac::startSnapRubberbandTimer):
2368         (WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer):
2369         Implement the new ScrollElasticityControllerClient member functions.
2370
2371         (WebCore::ScrollAnimatorMac::beginScrollGesture):
2372         Move code into ScrollElasticityController::beginScrollGesture and call it directly.
2373
2374         * platform/mac/ScrollElasticityController.h:
2375         Add new ScrollElasticityControllerClient member functions.
2376
2377         * platform/mac/ScrollElasticityController.mm:
2378         (WebCore::reboundDeltaForElasticDelta):
2379         (WebCore::ScrollElasticityController::beginScrollGesture):
2380         Set up the scroll gesture state.
2381
2382         (WebCore::ScrollElasticityController::stopSnapRubberbandTimer):
2383         New helper function.
2384
2385 2011-10-04  Scott Graham  <scottmg@chromium.org>
2386
2387         Add GAMEPAD feature flag
2388         https://bugs.webkit.org/show_bug.cgi?id=66859
2389
2390         Reviewed by Darin Fisher.
2391
2392         No new tests, as no new functionality yet.
2393
2394         * Configurations/FeatureDefines.xcconfig:
2395         * GNUmakefile.am:
2396         * features.pri:
2397
2398 2011-10-04  Fady Samuel  <fsamuel@chromium.org>
2399
2400         [Chromium] Moved files towards GTK removal
2401         https://bugs.webkit.org/show_bug.cgi?id=69229
2402
2403         Reviewed by Tony Chang.
2404
2405         * WebCore.gypi:
2406         * platform/chromium/PlatformThemeChromiumLinux.cpp: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.cpp.
2407         (WebCore::PlatformThemeChromiumLinux::setScrollbarColors):
2408         (WebCore::clamp):
2409         (WebCore::PlatformThemeChromiumLinux::saturateAndBrighten):
2410         (WebCore::PlatformThemeChromiumLinux::outlineColor):
2411         (WebCore::PlatformThemeChromiumLinux::paintArrowButton):
2412         * platform/chromium/PlatformThemeChromiumLinux.h: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.h.
2413         (WebCore::PlatformThemeChromiumLinux::thumbInactiveColor):
2414         (WebCore::PlatformThemeChromiumLinux::thumbActiveColor):
2415         (WebCore::PlatformThemeChromiumLinux::trackColor):
2416         (WebCore::PlatformThemeChromiumLinux::PlatformThemeChromiumLinux):
2417
2418 2011-10-04  James Robinson  <jamesr@chromium.org>
2419
2420         [chromium] Extract scheduling logic from CCThreadProxy to its own class
2421         https://bugs.webkit.org/show_bug.cgi?id=69049
2422
2423         Reviewed by Kenneth Russell.
2424
2425         This partially extracts the commit/draw scheduling from CCThreadProxy to a separate isolated class. This makes
2426         the commit/draw logic easier to test, understand and extend.
2427
2428         There is one subtle behavior change here to the way that the function formerly known as
2429         CCLayerTreeHost::setNeedsCommitAndRedraw works. Previously, this would trigger a begin frame message, if one
2430         wasn't pending, and then trigger a redraw if one wasn't pending. This was subtly wrong - the intent of that call
2431         is that a redraw should happen after the commit. It isn't useful to draw before the commit occurs. This patch
2432         changes the name of the function to setNeedsCommitThenRedraw and only requests a redraw after a commit occurs.
2433
2434         Covered by new CCSchedulerTest unit tests, CCLayerTreeHostTest unit tests, and compositing/ layout tests.
2435
2436         * WebCore.gypi:
2437         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2438         (WebCore::CCLayerTreeHost::initialize):
2439         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
2440         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
2441         (WebCore::CCLayerTreeHost::setViewport):
2442         (WebCore::CCLayerTreeHost::setVisible):
2443         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2444         * platform/graphics/chromium/cc/CCProxy.h:
2445         * platform/graphics/chromium/cc/CCScheduler.cpp: Added.
2446         (WebCore::CCScheduler::CCScheduler):
2447         (WebCore::CCScheduler::requestCommit):
2448         (WebCore::CCScheduler::requestCommitThenRedraw):
2449         (WebCore::CCScheduler::requestRedraw):
2450         (WebCore::CCScheduler::didCommit):
2451         (WebCore::CCScheduler::didDraw):
2452         * platform/graphics/chromium/cc/CCScheduler.h: Added.
2453         (WebCore::CCSchedulerClient::~CCSchedulerClient):
2454         (WebCore::CCScheduler::create):
2455         (WebCore::CCScheduler::commitPending):
2456         (WebCore::CCScheduler::redrawPending):
2457         (WebCore::CCScheduler::redrawAfterCommit):
2458         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2459         (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw):
2460         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2461         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
2462         (WebCore::CCSingleThreadProxy::doComposite):
2463         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2464         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2465         (WebCore::CCThreadProxySchedulerClient::create):
2466         (WebCore::CCThreadProxySchedulerClient::~CCThreadProxySchedulerClient):
2467         (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
2468         (WebCore::CCThreadProxySchedulerClient::scheduleDrawAndPresent):
2469         (WebCore::CCThreadProxySchedulerClient::CCThreadProxySchedulerClient):
2470         (WebCore::CCThreadProxy::CCThreadProxy):
2471         (WebCore::CCThreadProxy::compositeAndReadback):
2472         (WebCore::CCThreadProxy::initializeLayerRenderer):
2473         (WebCore::CCThreadProxy::setNeedsCommit):
2474         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
2475         (WebCore::CCThreadProxy::setNeedsCommitThenRedraw):
2476         (WebCore::CCThreadProxy::setNeedsCommitThenRedrawOnCCThread):
2477         (WebCore::CCThreadProxy::setNeedsRedraw):
2478         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2479         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
2480         (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
2481         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
2482         (WebCore::CCThreadProxy::beginFrameAndCommit):
2483         (WebCore::CCThreadProxy::commitOnCCThread):
2484         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
2485         (WebCore::CCThreadProxy::initializeImplOnCCThread):
2486         * platform/graphics/chromium/cc/CCThreadProxy.h:
2487
2488 2011-10-04  Alexey Proskuryakov  <ap@apple.com>
2489
2490         https://bugs.webkit.org/show_bug.cgi?id=67774
2491         PDF in a frameset is not displayed, always downloads
2492
2493         Reviewed by Darin Adler.
2494
2495         * WebCore.exp.in:
2496         * WebCore.xcodeproj/project.pbxproj:
2497         Added exports necessary to subclass a ScrollableArea.
2498
2499 2011-10-04  Anders Carlsson  <andersca@apple.com>
2500
2501         ScrollElasticityController should keep track of the rubberband timer state
2502         https://bugs.webkit.org/show_bug.cgi?id=69381
2503
2504         Reviewed by Sam Weinig.
2505
2506         Add a m_snapRubberbandTimerIsActive member variable to ScrollElasticityController
2507         and use it instead of checking whether the m_snapRubberbandTimer is active.
2508
2509         Eventually, ScrollElasticityControllerClient will have two member functions for starting
2510         and stopping the timer, and the ScrollElasticityController will call them at the appropriate times.
2511
2512         * platform/mac/ScrollAnimatorMac.mm:
2513         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2514         (WebCore::ScrollAnimatorMac::beginScrollGesture):
2515         It's OK to stop the timer unconditionally.
2516
2517         (WebCore::ScrollAnimatorMac::snapRubberBand):
2518         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2519         * platform/mac/ScrollElasticityController.h:
2520         * platform/mac/ScrollElasticityController.mm:
2521         (WebCore::ScrollElasticityController::ScrollElasticityController):
2522
2523 2011-10-04  Anders Carlsson  <andersca@apple.com>
2524
2525         Move all rubber-banding related member variables to ScrollElasticityController
2526         https://bugs.webkit.org/show_bug.cgi?id=69379
2527
2528         Reviewed by Dan Bernstein.
2529
2530         * platform/mac/ScrollAnimatorMac.h:
2531         * platform/mac/ScrollAnimatorMac.mm:
2532         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2533         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2534         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2535         (WebCore::ScrollAnimatorMac::beginScrollGesture):
2536         (WebCore::ScrollAnimatorMac::snapRubberBand):
2537         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2538         * platform/mac/ScrollElasticityController.h:
2539         * platform/mac/ScrollElasticityController.mm:
2540         (WebCore::ScrollElasticityController::ScrollElasticityController):
2541
2542 2011-10-04  Anders Carlsson  <andersca@apple.com>
2543
2544         Build fixes for everyone.
2545
2546         * platform/chromium/ScrollAnimatorChromiumMac.h:
2547         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2548         (WebCore::isScrollingLeftAndShouldNotRubberBand):
2549         (WebCore::isScrollingRightAndShouldNotRubberBand):
2550         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
2551         Fix Chromium build.
2552
2553         * platform/gtk/PlatformWheelEventGtk.cpp:
2554         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2555         Fix GTK+ build.
2556
2557 2011-10-04  Anders Carlsson  <andersca@apple.com>
2558
2559         Add a ScrollElasticityController class and move some members over from ScrollAnimatorMac
2560         https://bugs.webkit.org/show_bug.cgi?id=69373
2561
2562         Reviewed by David Hyatt.
2563
2564         ScrollElasticityController is a new class that will handle the rubber-banding when handling scroll events.
2565
2566         * WebCore.xcodeproj/project.pbxproj:
2567         * platform/mac/ScrollAnimatorMac.h:
2568         * platform/mac/ScrollAnimatorMac.mm:
2569         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2570         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2571         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2572         (WebCore::ScrollAnimatorMac::beginScrollGesture):
2573         (WebCore::ScrollAnimatorMac::snapRubberBand):
2574         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2575         * platform/mac/ScrollElasticityController.h: Added.
2576         (WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient):
2577         * platform/mac/ScrollElasticityController.mm: Added.
2578         (WebCore::ScrollElasticityController::ScrollElasticityController):
2579
2580 2011-10-04  David Hyatt  <hyatt@apple.com>
2581
2582         https://bugs.webkit.org/show_bug.cgi?id=69372
2583         
2584         [CSS3 Regions] Make sure overflow:visible lets content spill out of regions.
2585
2586         Reviewed by Anders Carlsson.
2587
2588         No new tests, since plenty of results changed.
2589
2590         * rendering/RenderFlowThread.cpp:
2591         (WebCore::RenderFlowThread::paintIntoRegion):
2592         (WebCore::RenderFlowThread::hitTestRegion):
2593         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2594         (WebCore::RenderFlowThread::firstRegion):
2595         (WebCore::RenderFlowThread::lastRegion):
2596         * rendering/RenderFlowThread.h:
2597         * rendering/RenderRegion.cpp:
2598         (WebCore::RenderRegion::regionOverflowRect):
2599         (WebCore::RenderRegion::isFirstRegion):
2600         (WebCore::RenderRegion::isLastRegion):
2601         (WebCore::RenderRegion::layout):
2602         * rendering/RenderRegion.h:
2603         (WebCore::RenderRegion::setRegionRect):
2604         (WebCore::RenderRegion::regionRect):
2605
2606 2011-10-04  Chris Rogers  <crogers@google.com>
2607
2608         Avoid unnecessary ASSERT in AudioDSPKernelProcessor::setNumberOfChannels()
2609         https://bugs.webkit.org/show_bug.cgi?id=69361
2610
2611         Reviewed by James Robinson.
2612
2613         No new tests.  This changes no JavaScript API.
2614
2615         * platform/audio/AudioDSPKernelProcessor.cpp:
2616         (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
2617
2618 2011-10-04  Anders Carlsson  <andersca@apple.com>
2619
2620         Use const PlatformWheelEvent references where possible
2621         https://bugs.webkit.org/show_bug.cgi?id=69367
2622
2623         Reviewed by Sam Weinig.
2624
2625         * page/EventHandler.cpp:
2626         (WebCore::EventHandler::handleWheelEvent):
2627         * platform/ScrollAnimator.cpp:
2628         (WebCore::ScrollAnimator::handleWheelEvent):
2629         * platform/ScrollAnimator.h:
2630         * platform/ScrollView.cpp:
2631         (WebCore::ScrollView::wheelEvent):
2632         * platform/ScrollView.h:
2633         * platform/ScrollableArea.cpp:
2634         (WebCore::ScrollableArea::handleWheelEvent):
2635         * platform/ScrollableArea.h:
2636         * platform/chromium/ScrollAnimatorChromiumMac.h:
2637         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2638         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
2639         * platform/mac/ScrollAnimatorMac.h:
2640         * platform/mac/ScrollAnimatorMac.mm:
2641         (WebCore::isScrollingLeftAndShouldNotRubberBand):
2642         (WebCore::isScrollingRightAndShouldNotRubberBand):
2643         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2644         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2645
2646 2011-10-04  Andreas Kling  <kling@webkit.org>
2647
2648         Shrink HTMLTableCellElement.
2649         https://bugs.webkit.org/show_bug.cgi?id=69347
2650
2651         Reviewed by Antti Koivisto.
2652
2653         Don't cache the rowspan and colspan attributes on the element.
2654         This shrinks HTMLTableCellElement by one CPU word, reducing memory
2655         consumption by 80 kB (on 64-bit) when loading the full HTML5 spec.
2656
2657         * html/HTMLTableCellElement.cpp:
2658         (WebCore::HTMLTableCellElement::HTMLTableCellElement):
2659         (WebCore::HTMLTableCellElement::colSpan):
2660         (WebCore::HTMLTableCellElement::rowSpan):
2661         (WebCore::HTMLTableCellElement::parseMappedAttribute):
2662         * html/HTMLTableCellElement.h:
2663
2664 2011-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2665
2666         Unreviewed, rolling out r96630.
2667         http://trac.webkit.org/changeset/96630
2668         https://bugs.webkit.org/show_bug.cgi?id=69368
2669
2670         Caused assertion failures in validateCell (Requested by
2671         mhahnenberg on #webkit).
2672
2673         * bridge/qt/qt_runtime.cpp:
2674         * bridge/qt/qt_runtime.h:
2675
2676 2011-10-04  Cary Clark  <caryclark@google.com>
2677
2678         Enable sub pixel text (Skia on Mac)
2679         https://bugs.webkit.org/show_bug.cgi?id=69354
2680         http://code.google.com/p/chromium/issues/detail?id=98165
2681
2682         Reviewed by Eric Seidel.
2683
2684         No new tests. Layout test pixel results have been
2685         disabled and will be rebaselined once all Skia on Mac
2686         changes are in.
2687
2688         * platform/graphics/skia/FontSkia.cpp:
2689         (WebCore::setupPaint):
2690         Enable sub pixel text. This is set by default to enabled
2691         by CoreGraphics, but by default disabled on Skia.
2692
2693 2011-10-04  Anders Carlsson  <andersca@apple.com>
2694
2695         Remove PlatformWheelEvent::m_isAccepted
2696         https://bugs.webkit.org/show_bug.cgi?id=69357
2697
2698         Reviewed by Darin Adler.
2699
2700         Remove PlatformWheelEvent::m_isAccepted and all the getters/setters.
2701
2702         * page/EventHandler.cpp:
2703         (WebCore::EventHandler::handleWheelEvent):
2704         (WebCore::EventHandler::handleGestureEvent):
2705         * page/mac/EventHandlerMac.mm:
2706         (WebCore::EventHandler::wheelEvent):
2707         * platform/PlatformWheelEvent.h:
2708         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2709         * platform/ScrollAnimator.cpp:
2710         (WebCore::ScrollAnimator::handleWheelEvent):
2711         * platform/chromium/PopupContainer.cpp:
2712         (WebCore::PopupContainer::handleGestureEvent):
2713         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2714         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
2715         * platform/efl/PlatformWheelEventEfl.cpp:
2716         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2717         * platform/mac/ScrollAnimatorMac.mm:
2718         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2719         * platform/mac/WheelEventMac.mm:
2720         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2721         * platform/qt/WheelEventQt.cpp:
2722         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2723         * platform/win/WheelEventWin.cpp:
2724         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2725         * platform/wx/MouseWheelEventWx.cpp:
2726         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2727
2728 2011-09-21  Cris Neckar  <cdn@chromium.org>
2729
2730         Hold refptr to identified previous sibling within findPlaceForCounter.
2731         https://bugs.webkit.org/show_bug.cgi?id=68563
2732
2733         Reviewed by Adam Barth.
2734
2735         Test: fast/css/counters/counter-after-style-crash.html
2736
2737         * rendering/RenderCounter.cpp:
2738         (WebCore::findPlaceForCounter):
2739
2740 2011-10-04  Joshua Bell  <jsbell@chromium.org>
2741
2742         IndexedDB add() should fail if key is NaN
2743         https://bugs.webkit.org/show_bug.cgi?id=62286
2744
2745         Reviewed by Tony Chang.
2746
2747         Test: storage/indexeddb/invalid-keys.html
2748
2749         Implement special case - numbers are valid keys, except for NaN.
2750
2751         * bindings/v8/IDBBindingUtilities.cpp:
2752         (WebCore::createIDBKeyFromValue):
2753
2754 2011-10-04  Mark Hahnenberg  <mhahnenberg@apple.com>
2755
2756         Add static ClassInfo structs to classes that override JSCell::getCallData
2757         https://bugs.webkit.org/show_bug.cgi?id=69311
2758
2759         Reviewed by Darin Adler.
2760
2761         No new tests.
2762
2763         Added ClassInfo structs to each class that defined its own getCallData 
2764         function but did not already have its own ClassInfo struct.  This is a 
2765         necessary addition for when we switch over to looking up getCallData from 
2766         the MethodTable in ClassInfo rather than doing the virtual call (which we 
2767         are removing).  These new ClassInfo structs are public because we often 
2768         use these structs in other areas of the code to uniquely identify JSC classes and 
2769         to enforce runtime invariants based on those class identities using ASSERTs.
2770
2771         * bridge/qt/qt_runtime.cpp:
2772         * bridge/qt/qt_runtime.h:
2773
2774 2011-10-04  Ryosuke Niwa  <rniwa@webkit.org>
2775
2776         REGRESSION(r94274): setting input.value erroneously triggers focus event
2777         https://bugs.webkit.org/show_bug.cgi?id=69315
2778
2779         Reviewed by Kent Tamura.
2780
2781         Fixed the bug by adding a new flag to setSelection to avoid calling setFocusedNodeIfNeeded
2782         when called by nodeWillBeRemoved and textWillBeReplaced.
2783
2784         Added a manual test. Unfortunately, the test always passes in DRT.
2785
2786         * editing/FrameSelection.cpp:
2787         (WebCore::FrameSelection::setSelection):
2788         (WebCore::FrameSelection::respondToNodeModification):
2789         (WebCore::FrameSelection::textWillBeReplaced):
2790         * editing/FrameSelection.h:
2791         * manual-tests/mutate-unfocused-text-with-selection.html: Added.
2792
2793 2011-10-04  Young Han Lee  <joybro201@gmail.com>
2794
2795         HTML canvas strokes with dash and dashOffset
2796         https://bugs.webkit.org/show_bug.cgi?id=63933
2797
2798         Reviewed by Simon Fraser.
2799
2800         Add webkitLineDash and webkitLineDashOffset attributes to CanvasRenderingContext2D for JSC.
2801         These attributes can be used to determine the dash-style of stroke in HTML Canvas.
2802
2803         As this kind of attributes are not specified in the HTML Canvas specification yet,
2804         the 'webkit' prefix is added to its names.
2805
2806         Mozilla already implemented these attributes, mozDash and mozDashOffset [1], and this patch
2807         is created by referring to the implementation. This patch is basically using the specified
2808         behavior of stroke-dasharray and stroke-dashoffset in the SVG specification [2], except
2809         that doesn't support units or percentages, just floating point numbers.
2810
2811         [1] https://bugzilla.mozilla.org/show_bug.cgi?id=662038
2812         [2] http://www.w3.org/TR/SVG/painting.html#StrokeProperties
2813
2814         Tests: fast/canvas/canvas-webkitLineDash-invalid.html
2815                fast/canvas/canvas-webkitLineDash.html
2816
2817         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2818         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
2819         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
2820         * html/canvas/CanvasRenderingContext2D.cpp:
2821         (WebCore::CanvasRenderingContext2D::State::State):
2822         (WebCore::CanvasRenderingContext2D::webkitLineDash):
2823         (WebCore::CanvasRenderingContext2D::setWebkitLineDash):
2824         (WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
2825         (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
2826         * html/canvas/CanvasRenderingContext2D.h:
2827         * html/canvas/CanvasRenderingContext2D.idl:
2828
2829 2011-10-04  Matthew Delaney  <mdelaney@apple.com>
2830
2831         Allow canvas backing store to be lazily allocated
2832         https://bugs.webkit.org/show_bug.cgi?id=67054
2833
2834         Reviewed by Darin Adler.
2835
2836         No new tests; doesn't affect behavior.
2837
2838         * html/HTMLCanvasElement.cpp:
2839         (WebCore::HTMLCanvasElement::createImageBuffer): Removed the setting of lineWidth
2840         that caused the eager creation of ImageBuffer to use its GraphicsContext.
2841         * html/canvas/CanvasRenderingContext2D.cpp:
2842         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Added in default
2843         line width setting along with other default context settings.
2844
2845 2011-10-04  Sam Weinig  <sam@webkit.org>
2846
2847         Add support for the CSP connect-src directive
2848         https://bugs.webkit.org/show_bug.cgi?id=69353
2849
2850         Reviewed by Adam Barth.
2851
2852         Add CSP support for XMLHttpRequest, WebSockets and EventSource.
2853
2854         Tests: http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed.html
2855                http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked.html
2856                http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed.html
2857                http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked.html
2858                http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed.html
2859                http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html
2860
2861         * page/ContentSecurityPolicy.cpp:
2862         (WebCore::ContentSecurityPolicy::allowConnectFromSource):
2863         (WebCore::ContentSecurityPolicy::addDirective):
2864         * page/ContentSecurityPolicy.h:
2865         Add connect-src directive parsing and predicate.
2866
2867         * page/EventSource.cpp:
2868         (WebCore::EventSource::create):
2869         * websockets/WebSocket.cpp:
2870         (WebCore::WebSocket::connect):
2871         * xml/XMLHttpRequest.cpp:
2872         (WebCore::XMLHttpRequest::open):
2873         Test allowConnectFromSource when establishing a connection.
2874
2875 2011-10-03  David Hyatt  <hyatt@apple.com>
2876
2877         https://bugs.webkit.org/show_bug.cgi?id=69317
2878         
2879         [CSS3 Regions] Make overflow:hidden/auto/scroll sections behave properly when split across regions. This
2880         includes sizing and positioning independently in each region, clipping independently in each region, and
2881         shifting to avoid floats in each region.
2882
2883         Reviewed by Anders Carlsson.
2884
2885         Added many new tests in fast/regions.
2886
2887         * editing/Editor.cpp:
2888         (WebCore::Editor::insideVisibleArea):
2889         Patching a call to overflowClipRect, which now includes a region argument so that clipping can be adjusted
2890         per-region.
2891
2892         * rendering/RenderBlock.cpp:
2893         (WebCore::RenderBlock::layoutBlock):
2894         Don't clear out the cached region information when the width changes. Instead make a new call to
2895         the flow thread to check if widths changed in any region and set relayoutChildren to true if so.
2896
2897         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
2898         This is a new function that has been split out from determineLogicalLeftPositionForChild so that it can
2899         be called by region code to compute offsets independently in each region without altering the overall object's
2900         logical left position.
2901         
2902         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
2903         Patched to call computeStartPositionDeltaForChildAvoidingFloats instead of doing the work of avoiding the floats
2904         itself.
2905
2906         (WebCore::RenderBlock::computeLogicalLocationForFloat):
2907         Fix the left clamping code to clamp to the left border in the correct region rather than always just clamping
2908         to 0.
2909
2910         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2911         (WebCore::RenderBlock::logicalRightOffsetForContent):
2912         Tweaked to handle the new signature of borderBoxRectInRegion.
2913
2914         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
2915         Reworked not to return 0 on failure or when done, but to just return the current height. This is a more
2916         fitting answer for the function to return when no more floats remain.
2917
2918         (WebCore::RenderBlock::getClearDelta):
2919         Big changes to this function. It was never patched to support writing modes, so the new code is all
2920         writing-mode-aware now. Also improved the computeLogicalWidth() call to make sure margins didn't get incorrectly changed.
2921         The code computes transient information in each region as the object tries to find a place to fit, so that the
2922         old widths are properly retained when layout of that child later checks to see if it needs to relayout children or not.
2923
2924         (WebCore::RenderBlock::nodeAtPoint):
2925         Patched to call overflowClipRect with the region being hit tested.
2926
2927         (WebCore::inNormalFlow):
2928         Tweaked to not need the initialBlock variable.
2929
2930         (WebCore::RenderBlock::applyBeforeBreak):
2931         (WebCore::RenderBlock::applyAfterBreak):
2932         (WebCore::RenderBlock::pageLogicalHeightForOffset):
2933         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
2934         (WebCore::RenderBlock::adjustForUnsplittableChild):
2935         (WebCore::RenderBlock::adjustLinePositionForPagination):
2936         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2937         Tweaked to use inRenderFlowThread() now that it exists. Also removing the regionsHaveUniformLogicalWidth()
2938         optimization, since you can't rely on that when objects size differently depending on floats. In other words,
2939         the future of pagination is variable width objects even in printing/columns.
2940
2941         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
2942         Renamed to make it more clear what logicalPageOffset() was. It's your offset from the top of the first page.
2943
2944         (WebCore::RenderBlock::regionAtBlockOffset):
2945         New helper function for accessing the region at a given offset within your block.
2946
2947         (WebCore::RenderBlock::logicalWidthChangedInRegions):
2948         New helper function that computes whether or not your logical width information changed in any regions. If so,
2949         relayoutChildren gets set to true (just as it would have when computeLogicalWidth for the overall block changes
2950         values).
2951
2952         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
2953         (WebCore::RenderBlock::collapsedMarginAfterForChild):
2954         (WebCore::RenderBlock::marginBeforeForChild):
2955         (WebCore::RenderBlock::marginAfterForChild):
2956         (WebCore::RenderBlock::marginLogicalLeftForChild):
2957         (WebCore::RenderBlock::marginLogicalRightForChild):
2958         (WebCore::RenderBlock::marginStartForChild):
2959         (WebCore::RenderBlock::marginEndForChild):
2960         Tweaked because of const to take const arguments.
2961         
2962         * rendering/RenderBlock.h:
2963         (WebCore::RenderBlock::availableLogicalWidthForLine):
2964         (WebCore::RenderBlock::logicalRightOffsetForLine):
2965         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2966         (WebCore::RenderBlock::startOffsetForLine):
2967         (WebCore::RenderBlock::logicalWidthForChild):
2968         (WebCore::RenderBlock::logicalHeightForChild):
2969         (WebCore::RenderBlock::logicalTopForChild):
2970         (WebCore::RenderBlock::logicalLeftForChild):
2971         (WebCore::RenderBlock::availableLogicalWidthForContent):
2972         (WebCore::RenderBlock::startOffsetForContent):
2973         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2974         (WebCore::RenderBlock::logicalRightOffsetForContent):
2975         Reworking these functions so versions exist that take regions and page offsets to avoid having to recalculate
2976         where you are over and over again as you walk up a containing block chain.
2977
2978         * rendering/RenderBlockLineLayout.cpp:
2979         (WebCore::LineWidth::fitBelowFloats):
2980         Changed to handle the better return value for nextFloatLogicalBottomBelow.
2981         
2982         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
2983         Removing the uniform logical width optimization.
2984
2985         * rendering/RenderBox.cpp:
2986         (WebCore::RenderBox::borderBoxRectInRegion):
2987         Changed to take a region and offset from the first page so that it doesn't have to be recomputed as you recur up
2988         the containing block chain.
2989
2990         (WebCore::RenderBox::clearRenderBoxRegionInfo):
2991         Changed to just use inRenderFlowThread().
2992
2993         (WebCore::RenderBox::pushContentsClip):
2994         Changed for the new region-parameterized overflow clip function.
2995         
2996         (WebCore::RenderBox::overflowClipRect):
2997         Now takes a region so that a specific clip rect can be returned sized to the appropriate border box in that
2998         region.
2999
3000         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
3001         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
3002         Objects in flow threads no longer shrink to avoid floats when computing their overall widths. The region-specific
3003         check now does the shrinking. It checks at the point where the region slices the object, or the top of the object if
3004         it begins in the middle of the region.
3005
3006         (WebCore::RenderBox::computeLogicalWidth):
3007         (WebCore::RenderBox::computeLogicalWidthInRegion):
3008         Push all the rest of the computeLogicalWidth code into computeLogicalWidthInRegion.
3009         
3010         (WebCore::RenderBox::renderBoxRegionInfo):
3011         Changed to take the region and the offset from the top of the first page to avoid recomputation.
3012
3013         * rendering/RenderBox.h:
3014         (WebCore::RenderBox::hasRenderOverflow):
3015         (WebCore::RenderBox::hasVisualOverflow):
3016         New helper used by the RenderLayer code to avoid having to check visual overflow when none exists.
3017
3018         * rendering/RenderBoxModelObject.cpp:
3019         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3020         Use the new region-specific overflow clip.
3021
3022         * rendering/RenderBoxRegionInfo.h:
3023         (WebCore::RenderBoxRegionInfo::shiftLogicalLeft):
3024         Helper used by the region code to shift a box over when floats cause it to move.
3025
3026         * rendering/RenderFlowThread.cpp:
3027         (WebCore::RenderFlowThread::computeLogicalWidth):
3028         Remove the optimization to avoid creating box info for uniform widths.
3029
3030         (WebCore::RenderFlowThread::paintIntoRegion):
3031         Make the clip rects used when painting the flow thread's layer tree temporary in each region.
3032
3033         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
3034         Removing the uniform logical width optimization
3035
3036         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
3037         * rendering/RenderFlowThread.h:
3038         New helper called to see if a block needs to relayout its children because its width changed in some
3039         region.
3040
3041         * rendering/RenderLayer.cpp:
3042         (WebCore::RenderLayer::paint):
3043         (WebCore::RenderLayer::paintLayer):
3044         (WebCore::RenderLayer::hitTestLayer):
3045         (WebCore::RenderLayer::updateClipRects):
3046         (WebCore::RenderLayer::calculateClipRects):
3047         (WebCore::RenderLayer::parentClipRects):
3048         (WebCore::RenderLayer::backgroundClipRect):
3049         (WebCore::RenderLayer::calculateRects):
3050         (WebCore::RenderLayer::childrenClipRect):
3051         (WebCore::RenderLayer::selfClipRect):
3052         (WebCore::RenderLayer::repaintBlockSelectionGaps):
3053         * rendering/RenderLayer.h:
3054         * rendering/RenderLayerBacking.cpp:
3055         (WebCore::RenderLayerBacking::updateCompositedBounds):
3056         (WebCore::clipBox):
3057         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3058         (WebCore::RenderLayerBacking::paintIntoLayer):
3059         * rendering/RenderLayerCompositor.cpp:
3060         (WebCore::RenderLayerCompositor::addToOverlapMap):
3061         (WebCore::RenderLayerCompositor::clippedByAncestor):
3062         Changing all the layer clipping code to pass regions through to all of the helper functions involved. This is
3063         so overflowClipRect can ultimately take a region. Eventually when we get positioned objects moving independently
3064         in each region, we'll patch the "clip" property as well, and it will be much easier because all the plumbing has
3065         been put in place here for overflow.
3066         
3067         * rendering/RenderObject.cpp:
3068         (WebCore::RenderObject::enclosingRenderFlowThread):
3069         Optimized to not walk up the render tree if we're in layout and a currentRenderFlowThread() exists.
3070
3071         * rendering/RenderRegion.cpp:
3072         (WebCore::RenderRegion::renderBoxRegionInfo):
3073         (WebCore::RenderRegion::setRenderBoxRegionInfo):
3074         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
3075         Removing the optimization for uniform logical width regions. Changed remove to take so that the caller
3076         can examine it before deleting.
3077
3078         (WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage):
3079         * rendering/RenderRegion.h:
3080         Helper function that computes the region's offset from the top of the first page.
3081
3082         * rendering/RenderTable.cpp:
3083         (WebCore::RenderTable::overflowClipRect):
3084         (WebCore::RenderTable::nodeAtPoint):
3085         * rendering/RenderTable.h:
3086         * rendering/RenderTableCell.h:
3087         * rendering/RenderTableSection.cpp:
3088         (WebCore::RenderTableSection::nodeAtPoint):
3089         Changed to pass the region to overflowClipRect.
3090
3091         * rendering/RenderTreeAsText.cpp:
3092         (WebCore::writeLayers):
3093         Modified because the layer clip functions need regions now.
3094
3095         * rendering/RenderView.h:
3096         (WebCore::RenderView::pushLayoutState):
3097         Changed to use inRenderFlowThread over view()->hasRenderFlowThread.
3098         
3099         * rendering/svg/RenderSVGRoot.cpp:
3100         (WebCore::RenderSVGRoot::paint):
3101         Patched to use the new overflowClipRect that is region-specific.
3102
3103 2011-10-04  Anders Carlsson  <andersca@apple.com>
3104
3105         More work towards making PlatformWheelEvent immutable
3106         https://bugs.webkit.org/show_bug.cgi?id=69348
3107
3108         Reviewed by Sam Weinig.
3109
3110         More work on getting rid of m_isAccepted from PlatformWheelEvent. Add more asserts
3111         that the return value of handleWheelEvent is equal to m_isAccepted.
3112
3113         * page/EventHandler.cpp:
3114         (WebCore::EventHandler::handleWheelEvent):
3115         * platform/ScrollAnimator.cpp:
3116         (WebCore::ScrollAnimator::handleWheelEvent):
3117
3118 2011-10-04  Cary Clark  <caryclark@google.com>
3119
3120         Inset focus ring (Skia on Mac)
3121         https://bugs.webkit.org/show_bug.cgi?id=69166
3122         http://code.google.com/p/chromium/issues/detail?id=97956
3123
3124         This focus ring was drawn too large and was left tracks
3125         in subsequent invalidations. Make it more closely match
3126         the CG version.
3127
3128         Reviewed by Adam Barth.
3129
3130         No new tests. This platform is not enabled.
3131
3132         * platform/graphics/skia/GraphicsContextSkia.cpp:
3133         (WebCore::getFocusRingOutset):
3134         (WebCore::GraphicsContext::drawFocusRing):
3135
3136 2011-10-03  Jon Lee  <jonlee@apple.com>
3137
3138         Extend DOM WheelEvent to differentiate between physical and logical scroll directions
3139         https://bugs.webkit.org/show_bug.cgi?id=68959
3140         <rdar://problem/10036688>
3141
3142         Reviewed by Sam Weinig.
3143
3144         Test: fast/events/wheelevent-direction-inverted-from-device.html
3145
3146         * dom/WheelEvent.cpp:
3147         (WebCore::WheelEvent::WheelEvent):
3148         (WebCore::WheelEvent::initWheelEvent):
3149         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
3150         * dom/WheelEvent.h:
3151         (WebCore::WheelEvent::create):
3152         (WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
3153         * dom/WheelEvent.idl: Added the webkitDirectionInvertedFromDevice idl attribute.
3154         * platform/PlatformWheelEvent.h:
3155         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3156         (WebCore::PlatformWheelEvent::webkitDirectionInvertedFromDevice):
3157         * platform/efl/PlatformWheelEventEfl.cpp:
3158         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
3159         * platform/gtk/PlatformWheelEventGtk.cpp:
3160         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
3161         * platform/mac/WheelEventMac.mm:
3162         (WebCore::PlatformWheelEvent::PlatformWheelEvent): if building on Lion or later, use
3163         [NSEvent isDirectionInvertedFromDevice].
3164         * platform/qt/WheelEventQt.cpp:
3165         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
3166         * platform/win/WheelEventWin.cpp:
3167         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
3168         * platform/wx/MouseWheelEventWx.cpp:
3169         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
3170
3171 2011-10-04  Rémi Duraffort  <remi.duraffort@st.com>
3172
3173         [EFL] Fix compilation when SQLite and/or libxslt are not installed in /usr/include
3174         https://bugs.webkit.org/show_bug.cgi?id=69338
3175
3176         Unreviewed build fix
3177
3178         * CMakeListsEfl.txt:
3179
3180 2011-10-03 Ken Buchanan <kenrb@chromium.org>
3181
3182         Resource loader should block HTTP redirects to local resources
3183         https://bugs.webkit.org/show_bug.cgi?id=68706
3184
3185         Reviewed by Adam Barth.
3186
3187         Modified MainResourceLoader to add an extra security check on
3188         HTTP redirects. Also, moved isFeedWithNestedProtocolInHTTPFamily
3189         to SecurityOrigin.cpp.
3190
3191         * loader/FrameLoader.cpp:
3192         (WebCore::isFeedWithNestedProtocolInHTTPFamily):
3193         (WebCore::FrameLoader::loadFrameRequest):
3194         * loader/MainResourceLoader.cpp:
3195         (WebCore::MainResourceLoader::willSendRequest):
3196         * page/SecurityOrigin.cpp:
3197         (WebCore::isFeedWithNestedProtocolInHTTPFamily):
3198         (WebCore::SecurityOrigin::canDisplay):
3199
3200 2011-10-04  Cary Clark  <caryclark@google.com>
3201
3202         Apply color profile found to decoded bitmap (Skia on Mac)
3203         https://bugs.webkit.org/show_bug.cgi?id=69144
3204         This fixes http://code.google.com/p/chromium/issues/detail?id=97830
3205
3206         Reviewed by Stephen White.
3207
3208         No new tests. This platform is not enabled.
3209
3210         * platform/image-decoders/ImageDecoder.h:
3211         Add color profile slot to Skia variation.
3212
3213         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
3214         (WebCore::resolveColorSpace):
3215         Adjust the bitmap in place to use the supplied color space.
3216
3217         (WebCore::createColorSpace):
3218         Create a CGColorSpace from a color profile.
3219
3220         (WebCore::ImageFrame::setColorProfile):
3221         Save the image's color profile until the image is complete.
3222
3223         (WebCore::ImageFrame::setStatus):
3224         Apply the color profile, if any, to the image.
3225
3226 2011-10-04  Leandro Pereira  <leandro@profusion.mobi>
3227
3228         [CMake] Unreviewed: pass feature definitions in the right format for the CSS scripts.
3229
3230         The Perl scripts in the css/ directory expect the definitions passed via
3231         --defines to be a string of space-separated entries, however we were passing a
3232         list of semicolon-separated strings, thus making all feature defines actually
3233         be ignored.
3234
3235         Detected after r96433, which checked for some definitions in
3236         CSSPropertyNames.in.
3237
3238         No new tests, this is a build fix.
3239
3240         * CMakeLists.txt:
3241
3242 2011-10-04  Pavel Feldman  <pfeldman@google.com>
3243
3244         Web Inspector: make SourceFrame compile.
3245         https://bugs.webkit.org/show_bug.cgi?id=69345
3246
3247         Reviewed by Yury Semikhatsky.
3248
3249         * inspector/compile-front-end.sh:
3250         * inspector/front-end/DOMAgent.js:
3251         (WebInspector.DOMAgent.prototype.inspectElement):
3252         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
3253         * inspector/front-end/ElementsPanel.js:
3254         (WebInspector.ElementsPanel.prototype._inspectElementRequested):
3255         * inspector/front-end/ObjectPropertiesSection.js:
3256         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
3257         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
3258         * inspector/front-end/ResourcesPanel.js:
3259         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
3260         * inspector/front-end/SourceFrame.js:
3261         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
3262         (WebInspector.SourceFrame.prototype._onShowPopover):
3263         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
3264         (WebInspector.SourceFrame.prototype.startEditing):
3265         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
3266         (WebInspector.SourceFrame.prototype.commitEditing):
3267         (WebInspector.SourceFrameDelegate.prototype.requestContent):
3268         (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
3269         (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
3270         (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
3271         (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
3272         (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
3273         (WebInspector.SourceFrameDelegate.prototype.continueToLine):
3274         (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
3275         (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
3276         (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
3277         (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
3278         (WebInspector.SourceFrameDelegate.prototype.evaluateInSelectedCallFrame):
3279         (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
3280         (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
3281         * inspector/front-end/externs.js:
3282         (WebInspector.log):
3283         * inspector/front-end/inspector.js:
3284         (WebInspector.log.logMessage):
3285         (WebInspector.log):
3286         * inspector/front-end/utilities.js:
3287         ():
3288
3289 2011-10-04  Mikhail Naganov  <mnaganov@chromium.org>
3290
3291         Web Inspector: Factor out object properties popup.
3292         https://bugs.webkit.org/show_bug.cgi?id=69234
3293
3294         Also, for HTML elements, show a non-empty id value in the element name.
3295
3296         Reviewed by Pavel Feldman.
3297
3298         * WebCore.gypi:
3299         * WebCore.vcproj/WebCore.vcproj:
3300         * inspector/front-end/ObjectPopoverHelper.js: Added.
3301         * inspector/front-end/SourceFrame.js: Extracted from here.
3302         (WebInspector.SourceFrame.prototype._initializeTextViewer):
3303         (WebInspector.SourceFrame.prototype._mouseDown):
3304         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
3305         (WebInspector.SourceFrame.prototype._onShowPopover):
3306         * inspector/front-end/WebKit.qrc:
3307         * inspector/front-end/inspector.html:
3308
3309 2011-10-04  Pavel Feldman  <pfeldman@google.com>
3310
3311         Web Inspector: compile text editor.
3312         https://bugs.webkit.org/show_bug.cgi?id=69339
3313
3314         Drive-by compilation for color, database and dom storage entities.
3315
3316         Reviewed by Yury Semikhatsky.
3317
3318         * inspector/Inspector.json:
3319         * inspector/compile-front-end.sh:
3320         * inspector/front-end/Color.js:
3321         (WebInspector.Color.prototype._individualRGBValueToFloatValue):
3322         * inspector/front-end/KeyboardShortcut.js:
3323         (WebInspector.KeyboardShortcut.makeKey):
3324         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
3325         (WebInspector.KeyboardShortcut.makeDescriptor):
3326         * inspector/front-end/SourceCSSTokenizer.js:
3327         * inspector/front-end/SourceCSSTokenizer.re2js:
3328         * inspector/front-end/SourceHTMLTokenizer.js:
3329         * inspector/front-end/SourceHTMLTokenizer.re2js:
3330         * inspector/front-end/SourceJavaScriptTokenizer.js:
3331         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
3332         * inspector/front-end/SourceTokenizer.js:
3333         (WebInspector.SourceTokenizer.prototype._charAt):
3334         (WebInspector.SourceTokenizer.prototype.createInitialCondition):
3335         (WebInspector.SourceTokenizer.prototype.nextToken):
3336         * inspector/front-end/TextEditorHighlighter.js:
3337         (WebInspector.TextEditorHighlighter.prototype.highlight):
3338         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3339         * inspector/front-end/TextEditorModel.js:
3340         * inspector/front-end/TextViewer.js:
3341         (WebInspector.TextViewerDelegate.prototype.doubleClick):
3342         (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
3343         (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
3344         (WebInspector.TextViewerDelegate.prototype.commitEditing):
3345         (WebInspector.TextViewerDelegate.prototype.cancelEditing):
3346         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
3347         (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
3348         (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
3349         (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
3350         (WebInspector.TextEditorMainPanel.prototype._createLink):
3351         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
3352         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
3353         * inspector/front-end/externs.js:
3354         (WebInspector.completeURL):
3355         (window.getComputedStyle):
3356         (Event.prototype.initWebKitWheelEvent):
3357         * inspector/front-end/utilities.js:
3358
3359 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
3360
3361         Web Inspector: Timeline panel shortcut for filtering short records should have shorter description.
3362         https://bugs.webkit.org/show_bug.cgi?id=69333
3363
3364         Reviewed by Pavel Feldman.
3365
3366         * English.lproj/localizedStrings.js:
3367         * inspector/front-end/TimelinePanel.js:
3368         (WebInspector.TimelinePanel.prototype._registerShortcuts):
3369
3370 2011-10-04  Andreas Kling  <kling@webkit.org>
3371
3372         Shrink StyleRareNonInheritedData.
3373         https://bugs.webkit.org/show_bug.cgi?id=69331
3374
3375         Reviewed by Antti Koivisto.
3376
3377         Rearrange the members and move all small types into the bitfield.
3378         This shrinks StyleRareNonInheritedData by two CPU words, reducing memory
3379         consumption by 140 kB (on 64-bit) when loading the full HTML5 spec.
3380
3381         * rendering/style/StyleRareNonInheritedData.cpp:
3382         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3383         * rendering/style/StyleRareNonInheritedData.h:
3384
3385 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
3386
3387         Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
3388         https://bugs.webkit.org/show_bug.cgi?id=69332
3389
3390         Reviewed by Pavel Feldman.
3391
3392         * WebCore.exp.in:
3393         * testing/Internals.cpp:
3394         * testing/Internals.h:
3395         * testing/Internals.idl:
3396
3397 2011-10-04  Pavel Feldman  <pfeldman@chromium.org>
3398
3399         Web Inspector: make DataGrid compile
3400         https://bugs.webkit.org/show_bug.cgi?id=69334
3401
3402         Reviewed by Yury Semikhatsky.
3403
3404         * inspector/compile-front-end.sh:
3405         * inspector/front-end/DataGrid.js:
3406         (WebInspector.DataGrid):
3407         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
3408         (WebInspector.DataGrid.prototype._startEditing):
3409         (WebInspector.DataGrid.prototype._startEditingConfig):
3410         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded):
3411         (WebInspector.DataGrid.prototype._editingCommitted):
3412         (WebInspector.DataGrid.prototype._editingCancelled):
3413         (WebInspector.DataGrid.prototype.removeChildrenRecursive):
3414         (WebInspector.DataGrid.prototype._keyDown):
3415         (WebInspector.DataGrid.prototype._startResizerDragging):
3416         (WebInspector.DataGrid.prototype._resizerDragging):
3417         (WebInspector.DataGrid.prototype._endResizerDragging):
3418         (WebInspector.DataGridNode.prototype._attach):
3419         * inspector/front-end/UIUtils.js:
3420         (WebInspector.isBeingEdited):
3421         (WebInspector.markBeingEdited):
3422         (WebInspector.isEditingAnyField):
3423         (WebInspector.EditingConfig):
3424         (WebInspector.startEditing.blurEventListener):
3425         (WebInspector.startEditing.getContent):
3426         (WebInspector.startEditing.cleanUpAfterEditing):
3427         (WebInspector.startEditing.editingCancelled):
3428         (WebInspector.startEditing.editingCommitted):
3429         (WebInspector.startEditing.defaultFinishHandler):
3430         (WebInspector.startEditing):
3431         (WebInspector.startEditing.pasteEventListener):
3432         (WebInspector.startEditing.keyDownEventListener):
3433         * inspector/front-end/externs.js:
3434         (Array.prototype.remove):
3435         (window.getComputedStyle):
3436         * inspector/front-end/inspector.js:
3437
3438 2011-10-04  Andrey Kosyakov  <caseq@chromium.org>
3439
3440         Web Inspector: [Extensions API] extension panel's toolbar icon is incorrect when inspector window is docked
3441         https://bugs.webkit.org/show_bug.cgi?id=69336
3442
3443         Reviewed by Pavel Feldman.
3444
3445         * inspector/front-end/ExtensionPanel.js:
3446         (WebInspector.ExtensionPanel):
3447
3448 2011-10-04  Pavel Podivilov  <podivilov@chromium.org>
3449
3450         Web Inspector: update call frame location when source mapping is changed.
3451         https://bugs.webkit.org/show_bug.cgi?id=68997
3452
3453         Currently we use fake "debugger-paused" event hack to update execution line and call stack placards when source mapping is changed.
3454         - add PresentationCallFrame.createPlacard method to create "live" placards that are updated on source mapping changes.
3455         - remove PresentationCallFrame functionName, isInternalScript, and url getters.
3456         - fire execution-line-changed event when selected call frame or source mapping is changed.
3457
3458         Reviewed by Pavel Feldman.
3459
3460         * inspector/compile-front-end.sh:
3461         * inspector/front-end/CallStackSidebarPane.js:
3462         (WebInspector.CallStackSidebarPane.prototype.update):
3463         * inspector/front-end/CompilerSourceMapping.js:
3464         (WebInspector.ClosureCompilerSourceMappingPayload):
3465         (WebInspector.ClosureCompilerSourceMapping):
3466         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
3467         * inspector/front-end/ContentProviders.js:
3468         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
3469         (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
3470         * inspector/front-end/DebuggerPresentationModel.js:
3471         (WebInspector.DebuggerPresentationModel):
3472         (WebInspector.DebuggerPresentationModel.prototype.createPlacard.updatePlacard):
3473         (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
3474         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
3475         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
3476         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3477         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
3478         (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
3479         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3480         (WebInspector.PresentationCallFrame):
3481         (WebInspector.PresentationCallFrame.prototype.get rawSourceCode):
3482         (WebInspector.PresentationCallFrame.prototype.uiLocation):
3483         * inspector/front-end/ScriptsPanel.js:
3484         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
3485         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3486         (WebInspector.ScriptsPanel.prototype._executionLineChanged):
3487         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
3488         * inspector/front-end/externs.js:
3489         (WebInspector.displayNameForURL):
3490
3491 2011-10-04  Pavel Feldman  <pfeldman@chromium.org>
3492
3493         Not reviewed: inspector tests fix.
3494
3495         * inspector/front-end/ExtensionPanel.js:
3496         (WebInspector.ExtensionPanel):
3497         (WebInspector.ExtensionPanel.prototype.get toolbarItemLabel):
3498
3499 2011-09-29  Pavel Podivilov  <podivilov@chromium.org>
3500
3501         Web Inspector: add compiler source mapping support to RawSourceCode.
3502         https://bugs.webkit.org/show_bug.cgi?id=68891
3503
3504         Reviewed by Pavel Feldman.
3505
3506         * WebCore.gypi:
3507         * WebCore.vcproj/WebCore.vcproj:
3508         * inspector/front-end/BreakpointManager.js:
3509         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
3510         (WebInspector.BreakpointManager.prototype.setBreakpoint):
3511         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
3512         * inspector/front-end/CompilerSourceMappingProvider.js: Added.
3513         (WebInspector.CompilerSourceMappingProvider):
3514         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
3515         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
3516         * inspector/front-end/DebuggerPresentationModel.js:
3517         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3518         * inspector/front-end/RawSourceCode.js:
3519         (WebInspector.RawSourceCode.prototype.setCompilerSourceMappingProvider):
3520         (WebInspector.RawSourceCode.prototype._resourceFinished):
3521         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
3522         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
3523         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
3524         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
3525         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
3526         (WebInspector.RawSourceCode.CompilerSourceMapping):
3527         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.rawLocationToUILocation):
3528         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
3529         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.get uiSourceCodeList):
3530         (WebInspector.CompilerSourceMappingProvider):
3531         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
3532         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
3533         * inspector/front-end/UISourceCodeContentProviders.js:
3534         (WebInspector.CompilerSourceMappingContentProvider):
3535         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
3536         * inspector/front-end/WebKit.qrc:
3537         * inspector/front-end/inspector.html:
3538
3539 2011-10-04  Pavel Feldman  <pfeldman@google.com>
3540
3541         Web Inspector: start adding UI components to the compilation process.
3542         https://bugs.webkit.org/show_bug.cgi?id=69319
3543
3544         Reviewed by Yury Semikhatsky.
3545
3546         * WebCore.gypi:
3547         * WebCore.vcproj/WebCore.vcproj:
3548         * inspector/compile-front-end.sh:
3549         * inspector/front-end/Drawer.js:
3550         (WebInspector.Drawer.prototype.show.animationFinished):
3551         (WebInspector.Drawer.prototype.show):
3552         (WebInspector.Drawer.prototype.resize):
3553         * inspector/front-end/ElementsPanel.js:
3554         (WebInspector.ElementsPanel.prototype.statusBarResized):
3555         * inspector/front-end/EmptyView.js:
3556         * inspector/front-end/Panel.js:
3557         (WebInspector.Panel.prototype.set get toolbarItemLabel):
3558         (WebInspector.Panel.prototype.get statusBarItems):
3559         (WebInspector.Panel.prototype.updateMainViewWidth):
3560         (WebInspector.Panel.prototype.statusBarResized):
3561         * inspector/front-end/PropertiesSection.js:
3562         * inspector/front-end/SearchController.js:
3563         (WebInspector.SearchController.prototype._onKeyDown):
3564         * inspector/front-end/Section.js:
3565         (WebInspector.Section.prototype.set populated):
3566         (WebInspector.Section.prototype.onpopulate):
3567         (WebInspector.Section.prototype.expand):
3568         * inspector/front-end/SidebarPane.js:
3569         * inspector/front-end/Toolbar.js:
3570         (WebInspector.Toolbar.createPanelToolbarItem):
3571         (WebInspector.ToolbarDropdown.prototype.show):
3572         * inspector/front-end/UIUtils.js: Added.
3573         (WebInspector.elementDragStart):
3574         (WebInspector.elementDragEnd):
3575         (WebInspector.animateStyle):
3576         (WebInspector.animateStyle.forceComplete):
3577         (WebInspector.animateStyle.cancel):
3578         * inspector/front-end/WebKit.qrc:
3579         * inspector/front-end/externs.js:
3580         (WebInspector.extensionServer.notifyPanelShown):
3581         (WebInspector.extensionServer.notifyPanelHidden):
3582         (WebInspector.currentPanel):
3583         (WebInspector.setCurrentPanel):
3584         * inspector/front-end/inspector.html:
3585         * inspector/front-end/inspector.js:
3586
3587 2011-10-04  Kenichi Ishibashi  <bashi@chromium.org>
3588
3589         [Chromium] Implement font shaping with font-feature-settings on Windows
3590         https://bugs.webkit.org/show_bug.cgi?id=65904
3591
3592         Reviewed by Kenneth Russell.
3593
3594         Use Uniscribe's OpenType APIs to shape complex text to support -webkit-font-feature-settings property.
3595
3596         No new tests. css3/font-feature-settings-rendering.html should pass by this patch.
3597
3598         * platform/graphics/chromium/UniscribeHelper.cpp:
3599         (WebCore::loadOpenTypeFunctions):
3600         (WebCore::UniscribeHelper::UniscribeHelper): Calls loadOpenTypeFunctions if needed.
3601         (WebCore::UniscribeHelper::fillRuns): Uses ScriptItemizeOpenType() if possible.
3602         (WebCore::UniscribeHelper::shape): Uses ScriptShapeOpenType() if possible.
3603         (WebCore::UniscribeHelper::fillShapes): Adds OpenType script tag as an argument.
3604         (WebCore::convertFeatureTag): Added.
3605         (WebCore::UniscribeHelper::setRangeProperties): Added.
3606         * platform/graphics/chromium/UniscribeHelper.h:
3607         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
3608         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): Calls setRangeProperties().
3609
3610 2011-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
3611
3612         [EFL] Implement declared but missing functions.
3613         https://bugs.webkit.org/show_bug.cgi?id=65368
3614
3615         Unreviewed build fix for WebKit/Efl builds after r96566.
3616
3617         * platform/efl/CursorEfl.cpp:
3618         (WebCore::Cursor::operator=):
3619         * platform/efl/LocalizedStringsEfl.cpp:
3620         (WebCore::localizedString):
3621
3622 2011-10-04  Pavel Feldman  <pfeldman@google.com>
3623
3624         Web Inspector: move abstract panel search logic into the only view that is using it.
3625         https://bugs.webkit.org/show_bug.cgi?id=69328
3626
3627         Reviewed by Yury Semikhatsky.
3628
3629         * inspector/front-end/Panel.js:
3630         (WebInspector.Panel.prototype.searchCanceled):
3631         (WebInspector.Panel.prototype.performSearch):
3632         (WebInspector.Panel.prototype.jumpToNextSearchResult):
3633         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
3634         * inspector/front-end/ProfilesPanel.js:
3635         (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCount):
3636         (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCountSoon):
3637         (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
3638         (WebInspector.ProfilesPanel.prototype.performSearch.processChunk):
3639         (WebInspector.ProfilesPanel.prototype.performSearch):
3640         (WebInspector.ProfilesPanel.prototype.jumpToNextSearchResult):
3641         (WebInspector.ProfilesPanel.prototype.jumpToPreviousSearchResult):
3642         (WebInspector.ProfilesPanel.prototype._searchableViews):
3643         (WebInspector.ProfilesPanel.prototype.searchCanceled):
3644
3645 2011-10-04  Pavel Feldman  <pfeldman@google.com>
3646
3647         Not reviewed: fixed poor inspector merge, drive-by front-endcompilation fix.
3648
3649         * inspector/front-end/ContentProviders.js:
3650         (WebInspector.ScriptContentProvider.prototype.requestContent):
3651         (WebInspector.ScriptContentProvider.prototype.searchInContent):
3652         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
3653         * inspector/front-end/DebuggerPresentationModel.js:
3654
3655 2011-10-04  Pavel Feldman  <pfeldman@google.com>
3656
3657         Web Inspector: remove dependency from GoToLine dialog from Panel.
3658         https://bugs.webkit.org/show_bug.cgi?id=69327
3659
3660         Reviewed by Yury Semikhatsky.
3661
3662         * inspector/front-end/GoToLineDialog.js:
3663         (WebInspector.GoToLineDialog.install):
3664         (WebInspector.GoToLineDialog._show):
3665         * inspector/front-end/NetworkItemView.js:
3666         (WebInspector.NetworkItemView.prototype._tabSelected):
3667         (WebInspector.ResourceContentView.prototype.contentLoaded):
3668         (WebInspector.ResourceContentView.prototype.canHighlightLine):
3669         (WebInspector.ResourceContentView.prototype.highlightLine):
3670         (set WebInspector):
3671         * inspector/front-end/NetworkPanel.js:
3672         (WebInspector.NetworkPanel.viewGetter):
3673         (WebInspector.NetworkPanel):
3674         * inspector/front-end/Panel.js:
3675         (WebInspector.Panel.prototype.registerShortcut):
3676         * inspector/front-end/ResourcesPanel.js:
3677         (WebInspector.ResourcesPanel.viewGetter):
3678         (WebInspector.ResourcesPanel):
3679         (WebInspector.ResourcesPanel.prototype.showResource):
3680         * inspector/front-end/ScriptsPanel.js:
3681         (WebInspector.ScriptsPanel.viewGetter):
3682         * inspector/front-end/SourceFrame.js:
3683         (WebInspector.SourceFrame.prototype.canHighlightLine):
3684         * inspector/front-end/TabbedPane.js:
3685         (WebInspector.TabbedPane.prototype._hideTab):
3686         (WebInspector.TabbedPane.prototype.canHighlightLine):
3687         (WebInspector.TabbedPane.prototype.highlightLine):
3688         * inspector/front-end/View.js:
3689         (WebInspector.View.prototype.canHighlightLine):
3690         (WebInspector.View.prototype.highlightLine):
3691
3692 2011-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
3693
3694         Unreviewed, rolling out r96491.
3695         http://trac.webkit.org/changeset/96491
3696         https://bugs.webkit.org/show_bug.cgi?id=69326
3697
3698         Breaks Slow Leopard inspector tests (Requested by pfeldman on
3699         #webkit).
3700
3701         * inspector/Inspector.json:
3702         * inspector/InspectorDebuggerAgent.cpp:
3703         (WebCore::InspectorDebuggerAgent::getScriptSource):
3704         * inspector/InspectorDebuggerAgent.h:
3705         * inspector/front-end/ContentProviders.js:
3706         (WebInspector.ScriptContentProvider.prototype.requestContent):
3707         * inspector/front-end/Script.js:
3708         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
3709         (WebInspector.Script.prototype.requestSource):
3710
3711 2011-10-03  Pavel Feldman  <pfeldman@google.com>
3712
3713         Web Inspector: add DebuggerPresentationModel and ConsoleView to compilation.
3714         https://bugs.webkit.org/show_bug.cgi?id=69269
3715
3716         Reviewed by Yury Semikhatsky.
3717
3718         * inspector/compile-front-end.sh:
3719         * inspector/front-end/BreakpointManager.js:
3720         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
3721         * inspector/front-end/ConsoleView.js:
3722         (WebInspector.ConsoleView.prototype._consoleCleared):
3723         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
3724         (WebInspector.ConsoleView.prototype._completions.evaluated):
3725         (WebInspector.ConsoleView.prototype._messagesClicked):
3726         * inspector/front-end/ContentProviders.js:
3727         (WebInspector.StaticContentProvider.prototype.requestContent):
3728         (WebInspector.StaticContentProvider.prototype.searchInContent):
3729         * inspector/front-end/ContextMenu.js:
3730         * inspector/front-end/DebuggerPresentationModel.js:
3731         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3732         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
3733         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
3734         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
3735         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
3736         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
3737         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
3738         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3739         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3740         * inspector/front-end/HelpScreen.js:
3741         * inspector/front-end/JavaScriptContextManager.js:
3742         (WebInspector.FrameEvaluationContext.prototype.get displayName):
3743         * inspector/front-end/KeyboardShortcut.js:
3744         (WebInspector.KeyboardShortcut):
3745         * inspector/front-end/Resource.js:
3746         (WebInspector.Resource.displayName):
3747         * inspector/front-end/ScriptFormatter.js:
3748         (WebInspector.ScriptFormatter.prototype._didFormatContent):
3749         * inspector/front-end/ShortcutsScreen.js:
3750         * inspector/front-end/StatusBarButton.js:
3751         * inspector/front-end/TextPrompt.js:
3752         * inspector/front-end/externs.js:
3753         (WebInspector.populateHrefContextMenu):
3754         (WebInspector.useLowerCaseMenuTitles):
3755         (WebInspector.ScriptsPanel.this.evaluateInSelectedCallFrame):
3756         (WebInspector.ScriptsPanel.this.getSelectedCallFrameVariables):
3757         (WebInspector.ScriptsPanel):
3758         * inspector/front-end/inspector.js:
3759         * inspector/front-end/utilities.js:
3760
3761 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
3762
3763         Mac release build fix after r96561, and Leopard build fix after r96568.
3764
3765         * editing/TextCheckingHelper.h:
3766         (WebCore::TextCheckingParagraph::textCharAt):
3767         * page/mac/EventHandlerMac.mm:
3768         (WebCore::EventHandler::wheelEvent):
3769
3770 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
3771
3772         Build fix after r96568.
3773
3774         * accessibility/AccessibilityObject.cpp:
3775         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3776         * editing/Editor.cpp:
3777
3778 2011-10-03  Shinya Kawanaka  <shinyak@google.com>
3779
3780         Should call checkTextOfParagraph() indirectly to make unifying spell-checking code path easy.
3781         https://bugs.webkit.org/show_bug.cgi?id=69241
3782
3783         Reviewed by Ryosuke Niwa.
3784
3785         WebCore has two different code paths for spell-checking:
3786           1) checkTextOfParagraph() for Snow Leopard or later
3787           2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
3788
3789         At the first step, this patch introduces an indirect wrapper to call
3790         checkTextOfParagraph() in Snow Leopard or later. This is intended to make it easy to
3791         introduce a function for mimicing checkTextOfParagraph() in Chromium platform or
3792         other non-SL or non-Lion platform.
3793
3794         No new tests because this patch does not change a behavior.
3795
3796         * accessibility/AccessibilityObject.cpp:
3797         (WebCore::AccessibilityObject::hasMisspelling): Calling checkTextOfParagraph() indirectly.
3798         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3799         (AXAttributeStringSetSpelling): ditto.
3800         * editing/Editor.cpp:
3801         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
3802         * editing/TextCheckingHelper.cpp:
3803         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): ditto.
3804         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
3805         (WebCore::checkTextOfParagraph): Added.
3806         * editing/TextCheckingHelper.h:
3807
3808 2011-10-03  Darin Adler  <darin@apple.com>
3809
3810         Change cursor to hand over missing plug-in message
3811         https://bugs.webkit.org/show_bug.cgi?id=69312
3812
3813         Reviewed by Sam Weinig.
3814
3815         No tests because we currently don't have any test machinery for cursors.
3816
3817         * page/EventHandler.cpp:
3818         (WebCore::OptionalCursor::OptionalCursor): Added. Construct an object
3819         to represent either a cursor, or no cursor change.
3820         (WebCore::OptionalCursor::isCursorChange): Added.
3821         (WebCore::OptionalCursor::cursor): Added.
3822         (WebCore::EventHandler::selectCursor): Changed return type to OptionalCursor,
3823         moved some special cases from handleMouseMoveEvent in here. Moved the logic
3824         for plug-ins and framesets into the specific renderer classes for those.
3825         Added a call to the new getCursor virtual function.
3826         (WebCore::EventHandler::handleMouseMoveEvent): Changed cursor setting code to
3827         just be a call to selectCursor and then setCursor. Plug-in-specific code is now
3828         in RenderWidget.
3829
3830         * page/EventHandler.h: Changed return type of selectCursor.
3831
3832         * page/MouseEventWithHitTestResults.cpp: Made some functions be inline.
3833         * page/MouseEventWithHitTestResults.h:
3834         (WebCore::MouseEventWithHitTestResults::localPoint): Made this inline.
3835         (WebCore::MouseEventWithHitTestResults::scrollbar): Made this inline.
3836         Yes, this has nothing to do with the rest of the patch, but it's good.
3837
3838         * rendering/RenderEmbeddedObject.cpp:
3839         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Made const.
3840         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Made const.
3841         Overloaded so it can be called with a point rather than an event.
3842         (WebCore::shouldMissingPluginMessageBeButton): Added. Helps streamline
3843         the logic below.
3844         (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent):
3845         Changed to use shouldMissingPluginMessageBeButton.
3846         (WebCore::RenderEmbeddedObject::getCursor): Added. Sets the cursor to
3847         a hand when over the missing plug-in message.
3848         * rendering/RenderEmbeddedObject.h: Added getCursor override. Also updated
3849         for other changes above.
3850
3851         * rendering/RenderFrameSet.cpp:
3852         (WebCore::RenderFrameSet::getCursor): Added. Contains the logic that used
3853         to be hardcoded in EventHandler::selectCursor about cursors when over
3854         resizable frame borders.
3855         * rendering/RenderFrameSet.h: Added getCursor.
3856
3857         * rendering/RenderObject.cpp:
3858         (WebCore::RenderObject::getCursor): Added. Returns SetCursorBasedOnStyle.
3859         * rendering/RenderObject.h: Added getCursor.
3860
3861         * rendering/RenderWidget.cpp:
3862         (WebCore::RenderWidget::getCursor): Added. Contains the logic that used
3863         to be hardcoded in EventHandler::handleMouseMoveEvent to prevent setting
3864         the cursor when the pointer is over a plug-in. This new code is much better,
3865         because it only kicks in when there is actually a plug-in present. The old
3866         was based on the HTML tag!
3867         * rendering/RenderWidget.h: Added getCursor.
3868
3869 2011-10-03  Anders Carlsson  <andersca@apple.com>
3870
3871         Work towards making PlatformWheelEvent immutable
3872         https://bugs.webkit.org/show_bug.cgi?id=69306
3873
3874         Reviewed by Sam Weinig.
3875
3876         Currently, PlatformWheelEvent has an m_isAccepted flag that tracks whether
3877         the event has been handled or not. For all other event types, that state is instead
3878         tracked by the return value of the various event handlers.
3879
3880         As a first step, add return values to the various handleWheelEvent functions and
3881         add an assertion in EventHandler::wheelEvent that the return value is the same as
3882         the state of PlatformWheelEvent::isAccepted.
3883
3884         * Configurations/Base.xcconfig:
3885         Don't warn when using C++11 extensions.
3886
3887         * page/mac/EventHandlerMac.mm:
3888         (WebCore::EventHandler::wheelEvent):
3889         Assert that isAccepted matches the return value.
3890
3891         * platform/ScrollAnimator.cpp:
3892         (WebCore::ScrollAnimator::handleWheelEvent):
3893         Return isAccepted.
3894
3895         * platform/ScrollAnimator.h:
3896         HandleWheelEvent now returns a boolean.
3897
3898         * platform/ScrollView.cpp:
3899         (WebCore::ScrollView::wheelEvent):
3900         Return whether the event was handled or not.
3901
3902         * platform/ScrollView.h:
3903         ScrollView::wheelEvent now returns a bool.
3904
3905         * platform/ScrollableArea.cpp:
3906         (WebCore::ScrollableArea::handleWheelEvent):
3907         * platform/ScrollableArea.h:
3908         ScrollableArea::handleWheelEvent now returns a bool.
3909
3910         * platform/chromium/ScrollAnimatorChromiumMac.h:
3911         * platform/chromium/ScrollAnimatorChromiumMac.mm:
3912         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
3913         Add return values, based on either the base class calls or the state of
3914         PlatformWheelEvent::isAccepted().
3915
3916         * platform/mac/ScrollAnimatorMac.h:
3917         * platform/mac/ScrollAnimatorMac.mm:
3918         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3919         Ditto.
3920
3921 2011-10-03  Dan Bernstein  <mitz@apple.com>
3922
3923         <rdar://problem/9973489> REGRESSION (r66599): -[DOMNode boundingBox] returns the zero rect for SVG elements
3924         https://bugs.webkit.org/show_bug.cgi?id=69305
3925
3926         Reviewed by Simon Fraser.
3927
3928         Test: svg/custom/boundingBox.html
3929
3930         Rather than asserting and returning the zero rect, take the transform-aware code path for computing SVG
3931         bounding rects.
3932
3933         * rendering/svg/RenderSVGForeignObject.cpp:
3934         (WebCore::RenderSVGForeignObject::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
3935         * rendering/svg/RenderSVGInline.cpp:
3936         (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
3937         * rendering/svg/RenderSVGModelObject.cpp:
3938         (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
3939         (WebCore::RenderSVGModelObject::absoluteRects): Replaced an incorrect assertion with code to approximate the bounding
3940         box.
3941         * rendering/svg/RenderSVGText.cpp:
3942         (WebCore::RenderSVGText::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
3943         * rendering/svg/SVGRenderSupport.cpp:
3944         (WebCore::SVGRenderSupport::mapLocalToContainer): Removed the fixed and useTransform boolean parameters.
3945         * rendering/svg/SVGRenderSupport.h:
3946
3947 2011-10-03  Michael Nordman  <michaeln@google.com>
3948
3949         A little more WebSQLDatabase thread safety.
3950         https://bugs.webkit.org/show_bug.cgi?id=69277
3951
3952         - switch to using AtomicallyInitializedStatic where appropiate
3953         - avoid using some Strings across threads
3954
3955         Reviewed by David Levin.
3956
3957         Existing tests apply.
3958
3959         * storage/AbstractDatabase.cpp:
3960         (WebCore::guidMutex):
3961         (WebCore::guidToVersionMap):
3962         (WebCore::guidToDatabaseMap):
3963         (WebCore::guidForOriginAndName):
3964         (WebCore::AbstractDatabase::databaseInfoTableName):
3965         (WebCore::AbstractDatabase::AbstractDatabase):
3966         (WebCore::AbstractDatabase::performOpenAndVerify):
3967         (WebCore::AbstractDatabase::getVersionFromDatabase):
3968         (WebCore::AbstractDatabase::setVersionInDatabase):
3969         * storage/AbstractDatabase.h:
3970         * storage/chromium/DatabaseTrackerChromium.cpp:
3971         (WebCore::DatabaseTracker::tracker):
3972         * storage/chromium/QuotaTracker.cpp:
3973         (WebCore::QuotaTracker::instance):
3974
3975 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
3976
3977         Replace m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand by positions
3978         https://bugs.webkit.org/show_bug.cgi?id=68874
3979
3980         Reviewed by Enrica Casucci.
3981
3982         Replaced m_firstNodeInserted and m_lastLeafInserted by m_startOfInsertedContent and m_endOfInsertedContent
3983         respectively. Also removed removeNodePreservingChildren and removeNodeAndPruneAncestors in ReplaceSelectionCommand
3984         because they were not virtual in CompositeEditCommand and implicitly overriding the functions was confusing.
3985         Since each of these two functions is used at exactly one place, just update positions and insertedNodes explicitly.
3986
3987         * editing/CompositeEditCommand.cpp:
3988         * editing/ReplaceSelectionCommand.cpp:
3989         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
3990         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
3991         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
3992         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3993         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Update m_endOfInsertedContent by endingSelection().visibleEnd()
3994         instead of m_lastLeafInserted with destination.previous() because moveParagraph could have removed leading whitespace in
3995         the text node referenced by destination. This is tested by an existing layout test.
3996         (WebCore::ReplaceSelectionCommand::doApply):
3997         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Update positions as needed. All changes are tested
3998         by the existing layout tests in editing/pasteboard.
3999         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
4000         * editing/ReplaceSelectionCommand.h:
4001         * editing/htmlediting.cpp:
4002         (WebCore::hasARenderedDescendant): Moved from CompositeEditCommand.cpp.
4003         (WebCore::highestNodeToRemoveInPruning): Ditto.
4004         * editing/htmlediting.h:
4005
4006 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
4007
4008         REGRESSION(r94274): cloned text input loses value
4009         https://bugs.webkit.org/show_bug.cgi?id=69095
4010
4011         Reviewed by Darin Adler.
4012
4013         The bug was caused by copyNonAttributeProperties not updating inner element text after copying
4014         m_valueIfDirty. Fixed the bug by calling updateInnerTextValue.
4015
4016         Test: fast/forms/clone-input-with-dirty-value.html
4017
4018         * html/HTMLInputElement.cpp:
4019         (WebCore::HTMLInputElement::copyNonAttributeProperties):
4020
4021 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
4022
4023         Leopard build fix after r96530.
4024
4025         * rendering/svg/RenderSVGResourcePattern.cpp:
4026         (WebCore::RenderSVGResourcePattern::applyResource):
4027
4028 2011-10-03  Sam Weinig  <sam@webkit.org>
4029
4030         Move ContentSecurityPolicy to the ScriptExecutionContext to prepare it for working with XHR and workers
4031         https://bugs.webkit.org/show_bug.cgi?id=69294
4032
4033         Reviewed by Darin Adler.
4034
4035         * dom/Document.cpp:
4036         (WebCore::Document::initSecurityContext):
4037         Initialize the ContentSecurityPolicy by calling down to the ScriptExecutionContext.
4038
4039         * dom/Document.h:
4040         Move the ContentSecurityPolicy member and getter from here to ScriptExecutionContext.h.
4041
4042         * dom/ScriptExecutionContext.cpp:
4043         (WebCore::ScriptExecutionContext::setContentSecurityPolicy):
4044         * dom/ScriptExecutionContext.h:
4045         (WebCore::ScriptExecutionContext::contentSecurityPolicy):
4046         Add ContentSecurityPolicy member and getter/setter.
4047
4048         * page/ContentSecurityPolicy.cpp:
4049         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
4050         (WebCore::ContentSecurityPolicy::didReceiveHeader):
4051         (WebCore::ContentSecurityPolicy::reportViolation):
4052         (WebCore::ContentSecurityPolicy::parseReportURI):
4053         (WebCore::ContentSecurityPolicy::createCSPDirective):
4054         * page/ContentSecurityPolicy.h:
4055         (WebCore::ContentSecurityPolicy::create):
4056         Replace Document with ScriptExecutionContext. Add temporary checked casts to document
4057         where necessary.
4058
4059         * workers/WorkerContext.cpp:
4060         (WebCore::WorkerContext::WorkerContext):
4061         Add initialization of the ContentSecurityPolicy.
4062
40