2011-01-19 Andrey Kosyakov <caseq@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-19  Andrey Kosyakov  <caseq@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
6         https://bugs.webkit.org/show_bug.cgi?id=52707
7
8         * inspector/front-end/ExtensionAPI.js:
9         (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
10
11 2011-01-19  Levi Weintraub  <leviw@google.com>
12
13         Reviewed by Ryosuke Niwa.
14
15         Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
16         and simplified the logic a bit. Unfortunately, Tables and some legacy
17         editing positions still need to be handled specifically.
18
19         remove rangeCompliantEquivalent and replace it with Position methods
20         https://bugs.webkit.org/show_bug.cgi?id=25057
21
22         No new tests as this is a refactor that doesn't change behavior.
23
24         * WebCore.exp.in:
25         * dom/Document.cpp:
26         (WebCore::Document::caretRangeFromPoint):
27         * dom/Position.cpp:
28         (WebCore::Position::parentAnchoredEquivalent):
29         * dom/Position.h:
30         * editing/ApplyStyleCommand.cpp:
31         (WebCore::ApplyStyleCommand::applyBlockStyle):
32         * editing/CompositeEditCommand.cpp:
33         (WebCore::CompositeEditCommand::insertNodeAt):
34         (WebCore::CompositeEditCommand::moveParagraphs):
35         * editing/DeleteSelectionCommand.cpp:
36         (WebCore::DeleteSelectionCommand::initializePositionData):
37         (WebCore::DeleteSelectionCommand::mergeParagraphs):
38         * editing/Editor.cpp:
39         (WebCore::Editor::textDirectionForSelection):
40         (WebCore::Editor::advanceToNextMisspelling):
41         * editing/InsertLineBreakCommand.cpp:
42         (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
43         * editing/InsertParagraphSeparatorCommand.cpp:
44         (WebCore::InsertParagraphSeparatorCommand::doApply):
45         * editing/ReplaceSelectionCommand.cpp:
46         (WebCore::handleStyleSpansBeforeInsertion):
47         * editing/VisiblePosition.cpp:
48         (WebCore::makeRange):
49         (WebCore::setStart):
50         (WebCore::setEnd):
51         * editing/VisibleSelection.cpp:
52         (WebCore::VisibleSelection::firstRange):
53         (WebCore::VisibleSelection::toNormalizedRange):
54         (WebCore::makeSearchRange):
55         * editing/htmlediting.cpp:
56         (WebCore::indexForVisiblePosition):
57         * editing/htmlediting.h:
58         * editing/visible_units.cpp:
59         (WebCore::previousBoundary):
60         (WebCore::nextBoundary):
61         * page/DOMSelection.cpp:
62         (WebCore::anchorPosition):
63         (WebCore::focusPosition):
64         (WebCore::basePosition):
65         (WebCore::extentPosition):
66
67 2011-01-19  Peter Rybin  <peter.rybin@gmail.com>
68
69         Reviewed by Yury Semikhatsky.
70
71         Web Inspector: script column offset is incorrect
72         https://bugs.webkit.org/show_bug.cgi?id=52580
73
74         Column is updated in 3 places, 2 less probable places contained error.
75         Fixed now.
76
77         * platform/text/SegmentedString.cpp:
78         (WebCore::SegmentedString::advanceSlowCase):
79         * platform/text/SegmentedString.h:
80         (WebCore::SegmentedString::advancePastNewline):
81
82 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
83
84         Reviewed by Yury Semikhatsky.
85
86         Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
87         https://bugs.webkit.org/show_bug.cgi?id=52652
88
89         Calls served by the InjectedScript should be first class protocol
90         citizens, not dispatched via single protocol message.
91
92         * WebCore.gypi:
93         * WebCore.vcproj/WebCore.vcproj:
94         * inspector/CodeGeneratorInspector.pm:
95         * inspector/InjectedScript.cpp:
96         (WebCore::InjectedScript::evaluate):
97         (WebCore::InjectedScript::evaluateInCallFrame):
98         (WebCore::InjectedScript::evaluateOnSelf):
99         (WebCore::InjectedScript::getCompletions):
100         (WebCore::InjectedScript::getProperties):
101         (WebCore::InjectedScript::pushNodeToFrontend):
102         (WebCore::InjectedScript::resolveNode):
103         (WebCore::InjectedScript::getNodeProperties):
104         (WebCore::InjectedScript::getNodePrototypes):
105         (WebCore::InjectedScript::setPropertyValue):
106         (WebCore::InjectedScript::makeCall):
107         * inspector/InjectedScript.h:
108         * inspector/InjectedScriptHost.cpp:
109         (WebCore::InjectedScriptHost::evaluate):
110         (WebCore::InjectedScriptHost::evaluateInCallFrame):
111         (WebCore::InjectedScriptHost::evaluateOnSelf):
112         (WebCore::InjectedScriptHost::getCompletions):
113         (WebCore::InjectedScriptHost::getProperties):
114         (WebCore::InjectedScriptHost::pushNodeToFrontend):
115         (WebCore::InjectedScriptHost::resolveNode):
116         (WebCore::InjectedScriptHost::getNodeProperties):
117         (WebCore::InjectedScriptHost::getNodePrototypes):
118         (WebCore::InjectedScriptHost::setPropertyValue):
119         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
120         (WebCore::InjectedScriptHost::injectedScriptForNodeId):
121         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
122         * inspector/InjectedScriptHost.h:
123         * inspector/InjectedScriptSource.js:
124         (.):
125         * inspector/Inspector.idl:
126         * inspector/InspectorController.cpp:
127         * inspector/InspectorController.h:
128         * inspector/InspectorValues.cpp:
129         (WebCore::InspectorObject::getNumber):
130         * inspector/InspectorValues.h:
131         * inspector/front-end/AuditRules.js:
132         (WebInspector.AuditRules.evaluateInTargetWindow):
133         * inspector/front-end/ConsoleView.js:
134         (WebInspector.ConsoleView.prototype.completions):
135         (WebInspector.ConsoleView.prototype.doEvalInWindow):
136         * inspector/front-end/ElementsTreeOutline.js:
137         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
138         * inspector/front-end/ExtensionPanel.js:
139         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
140         * inspector/front-end/ExtensionServer.js:
141         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
142         * inspector/front-end/InjectedScriptAccess.js: Removed.
143         * inspector/front-end/PropertiesSidebarPane.js:
144         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
145         (WebInspector.PropertiesSidebarPane.prototype.update):
146         * inspector/front-end/RemoteObject.js:
147         (WebInspector.RemoteObject.resolveNode):
148         (WebInspector.RemoteObject.prototype.getProperties):
149         (WebInspector.RemoteObject.prototype.setPropertyValue):
150         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
151         * inspector/front-end/ScriptsPanel.js:
152         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
153         * inspector/front-end/WebKit.qrc:
154         * inspector/front-end/inspector.html:
155
156 2011-01-18  Anton Muhin  <antonm@chromium.org>
157
158         Reviewed by Adam Barth.
159
160         [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
161         https://bugs.webkit.org/show_bug.cgi?id=51683
162
163         Covered by the existing tests.
164
165         * bindings/v8/DOMDataStore.cpp:
166         (WebCore::DOMDataStore::weakNodeCallback):
167         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
168         * bindings/v8/DOMDataStore.h:
169         * bindings/v8/V8DOMMap.h:
170         (WebCore::WeakReferenceMap::removeIfPresent):
171
172 2011-01-18 MORITA Hajime  <morrita@google.com>
173
174         Reviewed by Ryosuke Niwa.
175         
176         Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
177         https://bugs.webkit.org/show_bug.cgi?id=52608
178
179         No new tests. no behavioral change.
180
181         * GNUmakefile.am:
182         * WebCore.gypi:
183         * WebCore.pro:
184         * WebCore.vcproj/WebCore.vcproj:
185         * WebCore.xcodeproj/project.pbxproj:
186         * dom/TextEvent.cpp:
187         (WebCore::TextEvent::create):
188         (WebCore::TextEvent::createForDrop):
189         (WebCore::TextEvent::TextEvent):
190         * dom/TextEvent.h:
191         (WebCore::TextEvent::isLineBreak):
192         (WebCore::TextEvent::isBackTab):
193         (WebCore::TextEvent::isPaste):
194         (WebCore::TextEvent::isDrop):
195         * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
196         * editing/EditorCommand.cpp:
197         (WebCore::executeInsertBacktab):
198         (WebCore::executeInsertLineBreak):
199         (WebCore::executeInsertNewline):
200         (WebCore::executeInsertTab):
201         * page/EventHandler.cpp:
202         (WebCore::EventHandler::handleTextInputEvent):
203         * page/EventHandler.h:
204
205 2011-01-18  Ben Vanik  <ben.vanik@gmail.com>
206
207         Reviewed by Kenneth Russell.
208
209         Updating ANGLE in WebKit to r533.
210         https://bugs.webkit.org/show_bug.cgi?id=47194
211
212         * platform/graphics/ANGLEWebKitBridge.cpp:
213         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
214         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
215         (WebCore::ANGLEWebKitBridge::validateShaderSource):
216         Update to new ANGLE API for shader validation.
217         * platform/graphics/ANGLEWebKitBridge.h:
218         (WebCore::ANGLEWebKitBridge::setResources): 
219         Renaming types to new names.
220         * platform/graphics/mac/GraphicsContext3DMac.mm:
221         (WebCore::GraphicsContext3D::GraphicsContext3D):
222         Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables.
223
224 2011-01-18  MORITA Hajime  <morrita@google.com>
225
226         Reviewed by Simon Fraser.
227
228         Refactoring: Extract RoundedIntRect class
229         https://bugs.webkit.org/show_bug.cgi?id=51664
230
231         RoundedIntRect is a pair of rect and four IntSize objects which represent
232         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
233         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
234         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
235         and other functions accept RoundedIntRect as an argument.
236
237         * Android.mk:
238         * CMakeLists.txt:
239         * GNUmakefile.am:
240         * WebCore.gypi:
241         * WebCore.pro:
242         * WebCore.vcproj/WebCore.vcproj:
243         * WebCore.xcodeproj/project.pbxproj:
244         * platform/graphics/GraphicsContext.cpp:
245         (WebCore::GraphicsContext::addRoundedRectClip):
246         (WebCore::GraphicsContext::clipOutRoundedRect):
247         (WebCore::GraphicsContext::fillRoundedRect):
248         * platform/graphics/GraphicsContext.h:
249         * platform/graphics/RoundedIntRect.cpp: Added.
250         (WebCore::RoundedIntRect::Radii::isZero):
251         (WebCore::RoundedIntRect::Radii::scale):
252         (WebCore::RoundedIntRect::Radii::expand):
253         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
254         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
255         (WebCore::RoundedIntRect::RoundedIntRect):
256         (WebCore::RoundedIntRect::includeLogicalEdges):
257         (WebCore::RoundedIntRect::excludeLogicalEdges):
258         * platform/graphics/RoundedIntRect.h: Added.
259         (WebCore::RoundedIntRect::Radii::Radii):
260         (WebCore::RoundedIntRect::Radii::setTopLeft):
261         (WebCore::RoundedIntRect::Radii::setTopRight):
262         (WebCore::RoundedIntRect::Radii::setBottomLeft):
263         (WebCore::RoundedIntRect::Radii::setBottomRight):
264         (WebCore::RoundedIntRect::Radii::topLeft):
265         (WebCore::RoundedIntRect::Radii::topRight):
266         (WebCore::RoundedIntRect::Radii::bottomLeft):
267         (WebCore::RoundedIntRect::Radii::bottomRight):
268         (WebCore::RoundedIntRect::Radii::expand):
269         (WebCore::RoundedIntRect::Radii::shrink):
270         (WebCore::RoundedIntRect::rect):
271         (WebCore::RoundedIntRect::radii):
272         (WebCore::RoundedIntRect::isRounded):
273         (WebCore::RoundedIntRect::isEmpty):
274         (WebCore::RoundedIntRect::setRect):
275         (WebCore::RoundedIntRect::setRadii):
276         (WebCore::RoundedIntRect::move):
277         (WebCore::RoundedIntRect::inflate):
278         (WebCore::RoundedIntRect::inflateWithRadii):
279         (WebCore::RoundedIntRect::expandRadii):
280         (WebCore::RoundedIntRect::shrinkRadii):
281         * rendering/RenderBox.cpp:
282         (WebCore::RenderBox::pushContentsClip):
283         * rendering/RenderBoxModelObject.cpp:
284         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
285         (WebCore::RenderBoxModelObject::paintBorder):
286         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
287         (WebCore::RenderBoxModelObject::paintBoxShadow):
288         * rendering/RenderBoxModelObject.h:
289         * rendering/RenderObject.cpp:
290         (WebCore::RenderObject::drawBoxSideFromPath):
291         * rendering/RenderReplaced.cpp:
292         (WebCore::RenderReplaced::paint):
293         * rendering/RenderThemeChromiumWin.cpp:
294         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
295         * rendering/RenderThemeMac.mm:
296         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
297         (WebCore::RenderThemeMac::paintSliderTrack):
298         * rendering/RenderThemeSafari.cpp:
299         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
300         (WebCore::RenderThemeSafari::paintSliderTrack):
301         * rendering/RenderThemeWinCE.cpp:
302         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
303         * rendering/RenderWidget.cpp:
304         (WebCore::RenderWidget::paint):
305         * rendering/style/BorderData.h:
306         * rendering/style/RenderStyle.cpp:
307         (WebCore::calcRadiiFor):
308         (WebCore::calcConstraintScaleFor):
309         (WebCore::RenderStyle::getRoundedBorderFor):
310         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
311         * rendering/style/RenderStyle.h:
312         (WebCore::InheritedFlags::setBorderRadius):
313
314 2011-01-18  MORITA Hajime  <morrita@google.com>
315
316         Reviewed by Simon Fraser.
317
318         Refactoring: Extract RoundedIntRect class
319         https://bugs.webkit.org/show_bug.cgi?id=51664
320
321         RoundedIntRect is a pair of rect and four IntSize objects which represent
322         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
323         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
324         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
325         and other functions accept RoundedIntRect as an argument.
326
327         No new tests. No behavioral change.
328
329         * Android.mk:
330         * CMakeLists.txt:
331         * WebCore.gypi:
332         * WebCore.pro:
333         * WebCore.xcodeproj/project.pbxproj:
334         * platform/graphics/GraphicsContext.cpp:
335         (WebCore::GraphicsContext::addRoundedRectClip):
336         (WebCore::GraphicsContext::clipOutRoundedRect):
337         (WebCore::GraphicsContext::fillRoundedRect):
338         * platform/graphics/GraphicsContext.h:
339         * platform/graphics/RoundedIntRect.cpp: Added.
340         (WebCore::RoundedIntRect::Radii::isZero):
341         (WebCore::RoundedIntRect::Radii::scale):
342         (WebCore::RoundedIntRect::Radii::expand):
343         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
344         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
345         (WebCore::RoundedIntRect::RoundedIntRect):
346         (WebCore::RoundedIntRect::includeLogicalEdges):
347         (WebCore::RoundedIntRect::excludeLogicalEdges):
348         * platform/graphics/RoundedIntRect.h: Added.
349         (WebCore::RoundedIntRect::Radii::Radii):
350         (WebCore::RoundedIntRect::Radii::setTopLeft):
351         (WebCore::RoundedIntRect::Radii::setTopRight):
352         (WebCore::RoundedIntRect::Radii::setBottomLeft):
353         (WebCore::RoundedIntRect::Radii::setBottomRight):
354         (WebCore::RoundedIntRect::Radii::topLeft):
355         (WebCore::RoundedIntRect::Radii::topRight):
356         (WebCore::RoundedIntRect::Radii::bottomLeft):
357         (WebCore::RoundedIntRect::Radii::bottomRight):
358         (WebCore::RoundedIntRect::Radii::expand):
359         (WebCore::RoundedIntRect::Radii::shrink):
360         (WebCore::RoundedIntRect::rect):
361         (WebCore::RoundedIntRect::radii):
362         (WebCore::RoundedIntRect::isRounded):
363         (WebCore::RoundedIntRect::isEmpty):
364         (WebCore::RoundedIntRect::setRect):
365         (WebCore::RoundedIntRect::setRadii):
366         (WebCore::RoundedIntRect::move):
367         (WebCore::RoundedIntRect::inflate):
368         (WebCore::RoundedIntRect::inflateWithRadii):
369         (WebCore::RoundedIntRect::expandRadii):
370         (WebCore::RoundedIntRect::shrinkRadii):
371         * rendering/RenderBox.cpp:
372         (WebCore::RenderBox::pushContentsClip):
373         * rendering/RenderBoxModelObject.cpp:
374         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
375         (WebCore::RenderBoxModelObject::paintBorder):
376         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
377         (WebCore::RenderBoxModelObject::paintBoxShadow):
378         * rendering/RenderBoxModelObject.h:
379         * rendering/RenderObject.cpp:
380         (WebCore::RenderObject::drawBoxSideFromPath):
381         * rendering/RenderReplaced.cpp:
382         (WebCore::RenderReplaced::paint):
383         * rendering/RenderThemeChromiumWin.cpp:
384         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
385         * rendering/RenderThemeMac.mm:
386         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
387         (WebCore::RenderThemeMac::paintSliderTrack):
388         * rendering/RenderThemeSafari.cpp:
389         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
390         (WebCore::RenderThemeSafari::paintSliderTrack):
391         * rendering/RenderThemeWinCE.cpp:
392         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
393         * rendering/RenderWidget.cpp:
394         (WebCore::RenderWidget::paint):
395         * rendering/style/BorderData.h:
396         * rendering/style/RenderStyle.cpp:
397         (WebCore::calcRadiiFor):
398         (WebCore::calcConstraintScaleFor):
399         (WebCore::RenderStyle::getRoundedBorderFor):
400         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
401         * rendering/style/RenderStyle.h:
402         (WebCore::InheritedFlags::setBorderRadius):
403
404 2011-01-18  Victoria Kirst  <vrk@chromium.org>
405
406         Reviewed by Kenneth Russell.
407
408         [chromium] Adding support for YV16 video frame formats.
409         https://bugs.webkit.org/show_bug.cgi?id=52345
410
411         * platform/graphics/chromium/VideoLayerChromium.cpp:
412         (WebCore::VideoLayerChromium::determineTextureFormat):
413         (WebCore::VideoLayerChromium::draw):
414
415 2011-01-18  David Hyatt  <hyatt@apple.com>
416
417         Reviewed by Dan Bernstein.
418
419         <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
420         
421         Exclude floating objects from shrinking to avoid floats.  They should never do this.  Timing-related bugs could
422         occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they
423         got encountered on the correct line exposed this issue.
424
425         Added /fast/block/float/float-overflow-hidden-containing-block-width.html.
426
427         * rendering/RenderBox.cpp:
428         (WebCore::RenderBox::shrinkToAvoidFloats):
429
430 2011-01-18  Zhenyao Mo  <zmo@google.com>
431
432         Reviewed by Kenneth Russell.
433
434         Make CheckedInt<long> and CheckedInt<unsigned long> work
435         https://bugs.webkit.org/show_bug.cgi?id=52401
436
437         * html/canvas/CheckedInt.h:
438         (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob.
439         * html/canvas/WebGLBuffer.cpp:
440         (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>.
441         (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto.
442
443 2011-01-18  Kenneth Russell  <kbr@google.com>
444
445         Reviewed by David Levin.
446
447         Must strip comments from WebGL shaders before enforcing character set
448         https://bugs.webkit.org/show_bug.cgi?id=52390
449
450         Strip comments from incoming shaders, preserving line numbers,
451         before validating that they conform to the ESSL character set.
452         Revert changes from http://trac.webkit.org/changeset/75735 which
453         allowed invalid characters to be passed to certain APIs.
454
455         Tested with WebGL layout tests, conformance test suite and several
456         WebGL demos in both Safari and Chromium.
457
458         * html/canvas/WebGLRenderingContext.cpp:
459         (WebCore::StripComments::StripComments::process):
460         (WebCore::WebGLRenderingContext::shaderSource):
461
462 2011-01-18  Ryosuke Niwa  <rniwa@webkit.org>
463
464         Reviewed by Eric Seidel.
465
466         Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand,
467         InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp
468         https://bugs.webkit.org/show_bug.cgi?id=52644
469
470         This is a cleanup to stop instantiating legacy editing positions in the following tests.
471         firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated
472         because doing so requires significant code changes. They are tracked on the bug 52642.
473
474         * editing/DeleteSelectionCommand.cpp:
475         (WebCore::DeleteSelectionCommand::initializeStartEnd):
476         (WebCore::updatePositionForNodeRemoval):
477         (WebCore::DeleteSelectionCommand::removeNode):
478         (WebCore::updatePositionForTextRemoval):
479         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
480         * editing/IndentOutdentCommand.cpp:
481         (WebCore::IndentOutdentCommand::outdentParagraph):
482         * editing/InsertLineBreakCommand.cpp:
483         (WebCore::InsertLineBreakCommand::doApply):
484         * editing/InsertListCommand.cpp:
485         (WebCore::InsertListCommand::doApplyForSingleParagraph):
486         (WebCore::InsertListCommand::unlistifyParagraph):
487         (WebCore::InsertListCommand::listifyParagraph):
488         * editing/InsertParagraphSeparatorCommand.cpp:
489         (WebCore::InsertParagraphSeparatorCommand::doApply):
490         * editing/htmlediting.cpp:
491         (WebCore::enclosingBlock):
492         (WebCore::enclosingList):
493         (WebCore::enclosingListChild):
494         (WebCore::indexForVisiblePosition):
495         (WebCore::isNodeVisiblyContainedWithin):
496         (WebCore::avoidIntersectionWithNode):
497
498 2011-01-18  Benjamin Kalman  <kalman@chromium.org>
499
500         Reviewed by Ryosuke Niwa.
501
502         Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch
503         https://bugs.webkit.org/show_bug.cgi?id=52610
504
505         This is a purely aesthetic change.
506
507         * editing/TextIterator.cpp:
508         (WebCore::SimplifiedBackwardsTextIterator::advance):
509         * editing/visible_units.cpp:
510         (WebCore::previousBoundary):
511
512 2011-01-18  Adam Klein  <adamk@chromium.org>
513
514         Reviewed by Darin Fisher.
515
516         [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
517         https://bugs.webkit.org/show_bug.cgi?id=42236
518
519         * platform/chromium/ChromiumBridge.h:
520         * platform/chromium/WidgetChromium.cpp:
521         (WebCore::Widget::setCursor):
522
523 2011-01-18  Chris Fleizach  <cfleizach@apple.com>
524
525         Reviewed by Darin Adler.
526
527         REGRESSION: A problem with Voiceover and finding links
528         https://bugs.webkit.org/show_bug.cgi?id=52324
529
530         Fallout from recent change to make WebCore return its own scroll view.
531            1) There were two scroll views in the hierarchy, one which no needed to be ignored.
532            2) Hit tests for sub frames needed to be offset.
533            3) The check for whether an attachment is ignored must happen earlier than using
534               the helpText to determine if an element should be ignored.
535
536         Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html
537
538         * accessibility/AccessibilityObject.cpp:
539         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
540         * accessibility/AccessibilityRenderObject.cpp:
541         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
542         * accessibility/mac/AccessibilityObjectWrapper.mm:
543         (-[AccessibilityObjectWrapper scrollViewParent]):
544
545 2011-01-18  Adam Roben  <aroben@apple.com>
546
547         Call alternate CFHTTPCookie functions if available
548
549         Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.
550
551         Reviewed by Darin Adler.
552
553         * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
554         pull in the alternate CFHTTPCookie functions.
555
556         (WebCore::cookieDomain):
557         (WebCore::cookieExpirationTime):
558         (WebCore::cookieName):
559         (WebCore::cookiePath):
560         (WebCore::cookieValue):
561         Added these wrappers around the CFHTTPCookie functions. We call the
562         alternate functions if they exist, otherwise fall back to the current
563         functions.
564
565         (WebCore::filterCookies):
566         (WebCore::getRawCookies):
567         (WebCore::deleteCookie):
568         Changed to use the wrapper functions.
569
570 2011-01-18  Martin Robinson  <mrobinson@igalia.com>
571
572         Reviewed by Eric Seidel.
573
574         [GTK] Filenames are converted to URLs during edit drags
575         https://bugs.webkit.org/show_bug.cgi?id=52096
576
577         * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the
578         conversion policy allows it.
579         (WebCore::DragData::containsURL): Ditto.
580         (WebCore::DragData::asURL): Ditto.
581
582 2011-01-18  Helder Correia  <helder@sencha.com>
583
584         Reviewed by Kenneth Rohde Christiansen.
585
586         [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
587         https://bugs.webkit.org/show_bug.cgi?id=52611
588
589         This is related to bug 52559. The shadow color alpha must be multiplied
590         by the context brush alpha.
591
592         Test: fast/canvas/canvas-fillPath-alpha-shadow.html
593
594         * platform/graphics/qt/GraphicsContextQt.cpp:
595         (WebCore::GraphicsContext::fillPath):
596
597 2011-01-18  Andrey Kosyakov  <caseq@chromium.org>
598
599         Reviewed by Yury Semikhatsky.
600
601         Web Inspector: fail resource.requestContent() immediately for WebSocket resources
602         https://bugs.webkit.org/show_bug.cgi?id=52628
603
604         * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
605         * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete)
606         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
607         * inspector/front-end/Resource.js:
608         (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used.
609         (WebInspector.Resource.Type.toString): ditto.
610         (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources.
611         * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
612
613 2011-01-18  Helder Correia  <helder@sencha.com>
614
615         Reviewed by Dirk Schulze.
616
617         REGRESSION(75139): SVG gradients are not applied to texts
618         https://bugs.webkit.org/show_bug.cgi?id=52531
619
620         r75139 caused a problem with filling and stroking text with a gradient
621         fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
622         was mixed up.
623
624         Test: svg/css/text-gradient-shadow.svg
625
626         * platform/graphics/cg/GraphicsContextCG.cpp:
627         (WebCore::GraphicsContext::fillRect):
628
629 2011-01-18  Leo Yang  <leo.yang@torchmobile.com.cn>
630
631         Reviewed by Nikolas Zimmermann.
632
633         Unable to indirectly animate visibility of SVGUseElement
634         https://bugs.webkit.org/show_bug.cgi?id=50240
635
636         SVGUseElement::recalcStyle should take care of its shadow
637         tree's style recalculation when it is called with change >= Inherit
638         or when childNeedsStyleRecalc() is true because in these two
639         cases needStyleRecalc() may not be true.
640
641         Test: svg/custom/use-inherit-style.svg
642
643         * svg/SVGUseElement.cpp:
644         (WebCore::SVGUseElement::recalcStyle):
645
646 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
647
648         Reviewed by Yury Semikhatsky.
649
650         Web Inspector: provide script length to frontend.
651         https://bugs.webkit.org/show_bug.cgi?id=52620
652
653         * inspector/Inspector.idl:
654         * inspector/InspectorDebuggerAgent.cpp:
655         (WebCore::InspectorDebuggerAgent::didParseSource):
656         * inspector/front-end/DebuggerModel.js:
657         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
658         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
659         * inspector/front-end/Script.js:
660         (WebInspector.Script):
661
662 2011-01-18  Zoltan Herczeg  <zherczeg@webkit.org>
663
664         Rubber-stamped by Csaba Osztrogonác
665
666         Fixing ChangeLog
667
668         Removing a line introduced by
669         http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog
670         Removing an unnecessary space before a time stamp.
671
672 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
673
674         Reviewed by Yury Semikhatsky.
675
676         Web Inspector: [refactoring] use events to notify NetworkManager clients
677         https://bugs.webkit.org/show_bug.cgi?id=52588
678
679         * inspector/front-end/AuditLauncherView.js:
680         (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset().
681         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
682         (WebInspector.AuditLauncherView.prototype._onResourceStarted):
683         (WebInspector.AuditLauncherView.prototype._onResourceFinished):
684         * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events.
685         * inspector/front-end/ExtensionServer.js:
686         (WebInspector.ExtensionServer):
687         (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
688         (WebInspector.ExtensionServer.prototype.initExtensions):
689         * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients.
690         (WebInspector.NetworkManager):
691         (WebInspector.NetworkManager.prototype.willSendRequest):
692         (WebInspector.NetworkManager.prototype.markResourceAsCached):
693         (WebInspector.NetworkManager.prototype.didReceiveResponse):
694         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
695         (WebInspector.NetworkManager.prototype.setInitialContent):
696         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
697         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
698         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
699         (WebInspector.NetworkManager.prototype._startResource):
700         (WebInspector.NetworkManager.prototype._finishResource):
701         * inspector/front-end/NetworkPanel.js:
702         (WebInspector.NetworkPanel):
703         (WebInspector.NetworkPanel.prototype._onResourceStarted):
704         (WebInspector.NetworkPanel.prototype._appendResource):
705         (WebInspector.NetworkPanel.prototype._onResourceUpdated):
706         (WebInspector.NetworkPanel.prototype._refreshResource):
707         (WebInspector.NetworkPanel.prototype._onMainResourceChanged):
708         * inspector/front-end/ResourcesPanel.js:
709         (WebInspector.ResourcesPanel):
710         (WebInspector.ResourcesPanel.prototype._refreshResource):
711
712 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
713
714         Reviewed by Yury Semikhatsky.
715
716         Web Inspector: preserve pause on exception state in settings.
717         https://bugs.webkit.org/show_bug.cgi?id=52619
718
719         * inspector/InspectorController.cpp:
720         (WebCore::InspectorController::getInspectorState):
721         * inspector/InspectorDebuggerAgent.cpp:
722         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
723         * inspector/InspectorDebuggerAgent.h:
724         * inspector/front-end/ScriptsPanel.js:
725         (WebInspector.ScriptsPanel):
726         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
727         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState):
728         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
729         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
730         * inspector/front-end/Settings.js:
731         (WebInspector.Settings):
732         * inspector/front-end/inspector.js:
733         (WebInspector.doLoadedDone.populateInspectorState):
734
735 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
736
737         Reviewed by Yury Semikhatsky.
738
739         Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame.
740         https://bugs.webkit.org/show_bug.cgi?id=52623
741
742         * inspector/front-end/ConsoleView.js:
743         (WebInspector.ConsoleMessage):
744         (WebInspector.ConsoleMessage.prototype._formatMessage):
745
746 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
747
748         Revert r76017. No need to guard InspectorInstrumentation:: in WebCore.
749
750         * page/Page.cpp:
751         (WebCore::networkStateChanged):
752
753 2011-01-18  Konstantin Tokarev  <annulen@yandex.ru>
754
755         Reviewed by Kent Tamura.
756
757         Fixed compilation when Inspector is disabled
758         https://bugs.webkit.org/show_bug.cgi?id=52564
759
760         * page/Page.cpp:
761         (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard
762
763 2011-01-18  MORITA Hajime  <morrita@google.com>
764
765         Unreviewed, rolling out r76004, r76005, r76007, and r76011.
766         http://trac.webkit.org/changeset/76004
767         http://trac.webkit.org/changeset/76005
768         http://trac.webkit.org/changeset/76007
769         http://trac.webkit.org/changeset/76011
770         https://bugs.webkit.org/show_bug.cgi?id=51664
771
772         The r76004 broke pixel tests.
773         (The failure was missed due to the tolerance.)
774
775         * Android.mk:
776         * CMakeLists.txt:
777         * GNUmakefile.am:
778         * WebCore.gypi:
779         * WebCore.pro:
780         * WebCore.vcproj/WebCore.vcproj:
781         * WebCore.xcodeproj/project.pbxproj:
782         * platform/graphics/GraphicsContext.cpp:
783         (WebCore::GraphicsContext::addRoundedRectClip):
784         (WebCore::GraphicsContext::clipOutRoundedRect):
785         * platform/graphics/GraphicsContext.h:
786         * platform/graphics/RoundedIntRect.cpp: Removed.
787         * platform/graphics/RoundedIntRect.h: Removed.
788         * rendering/RenderBox.cpp:
789         (WebCore::RenderBox::pushContentsClip):
790         * rendering/RenderBoxModelObject.cpp:
791         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
792         (WebCore::RenderBoxModelObject::paintBorder):
793         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
794         (WebCore::uniformlyExpandBorderRadii):
795         (WebCore::RenderBoxModelObject::paintBoxShadow):
796         * rendering/RenderBoxModelObject.h:
797         * rendering/RenderObject.cpp:
798         (WebCore::RenderObject::drawBoxSideFromPath):
799         * rendering/RenderReplaced.cpp:
800         (WebCore::RenderReplaced::paint):
801         * rendering/RenderThemeChromiumWin.cpp:
802         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
803         * rendering/RenderThemeMac.mm:
804         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
805         (WebCore::RenderThemeMac::paintSliderTrack):
806         * rendering/RenderThemeSafari.cpp:
807         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
808         (WebCore::RenderThemeSafari::paintSliderTrack):
809         * rendering/RenderThemeWinCE.cpp:
810         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
811         * rendering/RenderWidget.cpp:
812         (WebCore::RenderWidget::paint):
813         * rendering/style/BorderData.h:
814         * rendering/style/RenderStyle.cpp:
815         (WebCore::constrainCornerRadiiForRect):
816         (WebCore::RenderStyle::getBorderRadiiForRect):
817         (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
818         * rendering/style/RenderStyle.h:
819
820 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
821
822         Reviewed by Yury Semikhatsky.
823
824         Web Inspector: add source column field to debugger call frames.
825         https://bugs.webkit.org/show_bug.cgi?id=52443
826
827         * bindings/js/JavaScriptCallFrame.cpp:
828         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
829         * bindings/js/JavaScriptCallFrame.h:
830         (WebCore::JavaScriptCallFrame::create):
831         (WebCore::JavaScriptCallFrame::line):
832         (WebCore::JavaScriptCallFrame::column):
833         (WebCore::JavaScriptCallFrame::update):
834         * bindings/js/ScriptDebugServer.cpp:
835         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
836         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
837         (WebCore::ScriptDebugServer::callEvent):
838         (WebCore::ScriptDebugServer::atStatement):
839         (WebCore::ScriptDebugServer::returnEvent):
840         (WebCore::ScriptDebugServer::exception):
841         (WebCore::ScriptDebugServer::willExecuteProgram):
842         (WebCore::ScriptDebugServer::didExecuteProgram):
843         (WebCore::ScriptDebugServer::didReachBreakpoint):
844         * bindings/js/ScriptDebugServer.h:
845         * bindings/v8/DebuggerScript.js:
846         ():
847         * bindings/v8/JavaScriptCallFrame.cpp:
848         (WebCore::JavaScriptCallFrame::column):
849         * bindings/v8/JavaScriptCallFrame.h:
850         * inspector/InjectedScriptSource.js:
851         ():
852         * inspector/JavaScriptCallFrame.idl:
853
854 2011-01-18  Antti Koivisto  <antti@apple.com>
855
856         Reviewed by Dave Hyatt.
857
858         https://bugs.webkit.org/show_bug.cgi?id=52370
859         <rdar://problem/8856808>
860         Style sharing optimization no longer works on major web sites
861         
862         The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated 
863         by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables
864         the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page.  
865         
866         This patch gets the style sharing back to 25-40% range on most web sites.
867
868         * css/CSSMutableStyleDeclaration.h:
869         (WebCore::CSSMutableStyleDeclaration::propertiesEqual):
870             
871             Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent.
872         
873         * css/CSSSelector.h:
874         (WebCore::CSSSelector::isSiblingSelector):
875         
876             Test for selectors that are affected by the sibling elements.
877         
878         * css/CSSStyleSelector.cpp:
879         (WebCore::elementCanUseSimpleDefaultStyle):
880         (WebCore::collectSiblingRulesInDefaultStyle):
881         (WebCore::assertNoSiblingRulesInDefaultStyle):
882             
883             Extract sibling rules from the MathML default stylesheet. 
884             Assert that no other default stylesheet has them.
885             
886         (WebCore::CSSStyleSelector::CSSStyleSelector):
887         (WebCore::CSSStyleSelector::locateCousinList):
888         (WebCore::CSSStyleSelector::matchesSiblingRules):
889         (WebCore::CSSStyleSelector::canShareStyleWithElement):
890         (WebCore::CSSStyleSelector::locateSharedStyle):
891         (WebCore::CSSStyleSelector::styleForElement):
892         (WebCore::collectIdsAndSiblingRulesFromList):
893         (WebCore::CSSRuleSet::collectIdsAndSiblingRules):
894
895             Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases
896             where style sharing can't be used.
897
898         * css/CSSStyleSelector.h:
899         * dom/NamedNodeMap.cpp:
900         (WebCore::NamedNodeMap::mappedMapsEquivalent):
901             
902             Check also for CSSValue mutation from DOM. 
903             
904         * mathml/MathMLMathElement.cpp:
905         (WebCore::MathMLMathElement::insertedIntoDocument):
906         * mathml/MathMLMathElement.h:
907         
908             MathML default style sheet has sibling rules which don't get noticed by the normal document
909             stylesheet parsing.
910         
911         * rendering/style/RenderStyle.h:
912         (WebCore::InheritedFlags::setFirstChildState):
913         (WebCore::InheritedFlags::setLastChildState):
914         (WebCore::InheritedFlags::setChildIndex):
915         
916             These all make style non-shareable (unique).
917
918 2011-01-18  MORITA Hajime  <morrita@google.com>
919
920         Unreviewed crash fix on release builds.
921
922         * rendering/RenderBoxModelObject.cpp:
923         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
924
925 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
926
927         Unreviewed, update localizedStrings.js.
928
929         * English.lproj/localizedStrings.js:
930
931 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
932
933         Reviewed by Pavel Feldman.
934
935         Web Inspector: implement script beautifier prototype.
936         https://bugs.webkit.org/show_bug.cgi?id=51588
937
938         * WebCore.gypi:
939         * WebCore.vcproj/WebCore.vcproj:
940         * inspector/front-end/ScriptFormatter.js: Added.
941         (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and
942         formatted line numbers
943         (WebInspector.ScriptFormatter.findLineEndings):
944         (WebInspector.ScriptFormatter.locationToPosition):
945         (WebInspector.ScriptFormatter.positionToLocation):
946         (WebInspector.ScriptFormatter.upperBound):
947         (WebInspector.ScriptFormatter.prototype.format):
948         (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber):
949         (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber):
950         (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber):
951         (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition):
952         (WebInspector.ScriptFormatter.prototype._convertPosition):
953         * inspector/front-end/ScriptsPanel.js:
954         (WebInspector.ScriptsPanel):
955         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
956         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
957         (WebInspector.ScriptsPanel.prototype._formatScript):
958         * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa
959         * inspector/front-end/WebKit.qrc:
960         * inspector/front-end/inspector.html:
961
962 2011-01-18  Philippe Normand  <pnormand@igalia.com>
963
964         Unreviewed, GTK build fix as follow-up of r76004.
965
966         * GNUmakefile.am: Include RoundedIntRect files in the build
967
968 2011-01-18  Philippe Normand  <pnormand@igalia.com>
969
970         Unreviewed, rolling out r76002.
971         http://trac.webkit.org/changeset/76002
972         https://bugs.webkit.org/show_bug.cgi?id=49790
973
974         breaks a bunch of fast/forms tests on mac and GTK
975
976         * html/HTMLOptionElement.cpp:
977         (WebCore::HTMLOptionElement::setRenderStyle):
978
979 2011-01-18 MORITA Hajime <morrita@google.com>
980
981         Unreviewed windows build fix.
982
983         * WebCore.vcproj/WebCore.vcproj:
984
985 2011-01-17  MORITA Hajime  <morrita@google.com>
986
987         Reviewed by Simon Fraser.
988
989         Refactoring: Extract RoundedIntRect class
990         https://bugs.webkit.org/show_bug.cgi?id=51664
991
992         RoundedIntRect is a pair of rect and four IntSize objects which represent
993         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
994         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
995         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
996         and other functions accept RoundedIntRect as an argument.
997
998         No new tests. No behavioral change.
999
1000         * Android.mk:
1001         * CMakeLists.txt:
1002         * WebCore.gypi:
1003         * WebCore.pro:
1004         * WebCore.xcodeproj/project.pbxproj:
1005         * platform/graphics/GraphicsContext.cpp:
1006         (WebCore::GraphicsContext::addRoundedRectClip):
1007         (WebCore::GraphicsContext::clipOutRoundedRect):
1008         (WebCore::GraphicsContext::fillRoundedRect):
1009         * platform/graphics/GraphicsContext.h:
1010         * platform/graphics/RoundedIntRect.cpp: Added.
1011         (WebCore::RoundedIntRect::Radii::isZero):
1012         (WebCore::RoundedIntRect::Radii::scale):
1013         (WebCore::RoundedIntRect::Radii::expand):
1014         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
1015         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
1016         (WebCore::RoundedIntRect::RoundedIntRect):
1017         (WebCore::RoundedIntRect::includeLogicalEdges):
1018         (WebCore::RoundedIntRect::excludeLogicalEdges):
1019         * platform/graphics/RoundedIntRect.h: Added.
1020         (WebCore::RoundedIntRect::Radii::Radii):
1021         (WebCore::RoundedIntRect::Radii::setTopLeft):
1022         (WebCore::RoundedIntRect::Radii::setTopRight):
1023         (WebCore::RoundedIntRect::Radii::setBottomLeft):
1024         (WebCore::RoundedIntRect::Radii::setBottomRight):
1025         (WebCore::RoundedIntRect::Radii::topLeft):
1026         (WebCore::RoundedIntRect::Radii::topRight):
1027         (WebCore::RoundedIntRect::Radii::bottomLeft):
1028         (WebCore::RoundedIntRect::Radii::bottomRight):
1029         (WebCore::RoundedIntRect::Radii::expand):
1030         (WebCore::RoundedIntRect::Radii::shrink):
1031         (WebCore::RoundedIntRect::location):
1032         (WebCore::RoundedIntRect::size):
1033         (WebCore::RoundedIntRect::x):
1034         (WebCore::RoundedIntRect::y):
1035         (WebCore::RoundedIntRect::width):
1036         (WebCore::RoundedIntRect::height):
1037         (WebCore::RoundedIntRect::right):
1038         (WebCore::RoundedIntRect::bottom):
1039         (WebCore::RoundedIntRect::rect):
1040         (WebCore::RoundedIntRect::radii):
1041         (WebCore::RoundedIntRect::isRounded):
1042         (WebCore::RoundedIntRect::isEmpty):
1043         (WebCore::RoundedIntRect::setRect):
1044         (WebCore::RoundedIntRect::setRadii):
1045         (WebCore::RoundedIntRect::move):
1046         (WebCore::RoundedIntRect::inflate):
1047         (WebCore::RoundedIntRect::inflateWithRadii):
1048         (WebCore::RoundedIntRect::expandRadii):
1049         (WebCore::RoundedIntRect::shrinkRadii):
1050         * rendering/RenderBox.cpp:
1051         (WebCore::RenderBox::pushContentsClip):
1052         * rendering/RenderBoxModelObject.cpp:
1053         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1054         (WebCore::RenderBoxModelObject::paintBorder):
1055         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
1056         (WebCore::RenderBoxModelObject::paintBoxShadow):
1057         * rendering/RenderBoxModelObject.h:
1058         * rendering/RenderObject.cpp:
1059         (WebCore::RenderObject::drawBoxSideFromPath):
1060         * rendering/RenderReplaced.cpp:
1061         (WebCore::RenderReplaced::paint):
1062         * rendering/RenderThemeChromiumWin.cpp:
1063         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1064         * rendering/RenderThemeMac.mm:
1065         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1066         (WebCore::RenderThemeMac::paintSliderTrack):
1067         * rendering/RenderThemeSafari.cpp:
1068         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1069         (WebCore::RenderThemeSafari::paintSliderTrack):
1070         * rendering/RenderThemeWinCE.cpp:
1071         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1072         * rendering/RenderWidget.cpp:
1073         (WebCore::RenderWidget::paint):
1074         * rendering/style/BorderData.h:
1075         * rendering/style/RenderStyle.cpp:
1076         (WebCore::calcRadiiFor):
1077         (WebCore::calcConstraintScaleFor):
1078         (WebCore::RenderStyle::getRoundedBorderFor):
1079         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
1080         * rendering/style/RenderStyle.h:
1081         (WebCore::InheritedFlags::setBorderRadius):
1082
1083 2011-01-17  Rob Buis  <rwlbuis@gmail.com>
1084
1085         Reviewed by Kent Tamura.
1086
1087         Color changes to option elements in a select multiple aren't drawn immediately
1088         https://bugs.webkit.org/show_bug.cgi?id=49790
1089
1090         Redirect style changes on <option> element to the owner <select> element.
1091
1092         Tests: fast/forms/select-option-background-color-change.html
1093                fast/forms/select-option-color-change.html
1094                fast/forms/select-option-visibility-change.html
1095
1096         * html/HTMLOptionElement.cpp:
1097         (WebCore::HTMLOptionElement::setRenderStyle):
1098
1099 2011-01-17  MORITA Hajime  <morrita@google.com>
1100
1101         Unreviewed, rolling out r75995.
1102         http://trac.webkit.org/changeset/75995
1103         https://bugs.webkit.org/show_bug.cgi?id=51914
1104
1105         Causes assertion failures.
1106
1107         * dom/Element.cpp:
1108         (WebCore::Element::shadowRoot):
1109         (WebCore::Element::setShadowRoot):
1110         (WebCore::Element::removeShadowRoot):
1111         * dom/ElementRareData.h:
1112         (WebCore::ElementRareData::ElementRareData):
1113
1114 2011-01-17  MORITA Hajime  <morrita@google.com>
1115
1116         Unreviewed, rolling out r75999.
1117         http://trac.webkit.org/changeset/75999
1118
1119         * dom/Element.cpp:
1120         (WebCore::Element::removeShadowRoot):
1121
1122 2011-01-17 MORITA Hajime  <morrita@google.com>
1123
1124         Unreviewed crash fix, which introduced at r75995
1125
1126         * dom/Element.cpp:
1127         (WebCore::Element::removeShadowRoot):
1128
1129 2011-01-17  MORITA Hajime  <morrita@google.com>
1130
1131         Reviewed by Dimitri Glazkov.
1132
1133         ElementRareData::m_shadowRoot should not be RefPtr.
1134         https://bugs.webkit.org/show_bug.cgi?id=51914
1135
1136         This change makes m_shadowRoot a raw pointer, as Node::m_parent is.
1137         This change is safe because shadow host pointer is stored as TreeShared::m_parent
1138         which prevents deletion unless set to null.
1139         
1140         No test, no behavioral change.
1141
1142         * dom/Element.cpp:
1143         (WebCore::Element::shadowRoot):
1144         (WebCore::Element::setShadowRoot):
1145         (WebCore::Element::removeShadowRoot):
1146         * dom/ElementRareData.h:
1147         (WebCore::ElementRareData::ElementRareData):
1148
1149 2011-01-17  Maciej Stachowiak  <mjs@apple.com>
1150
1151         Reviewed by Dan Bernstein.
1152
1153         Some WebKit2 layout tests crash due to focus being on a frame in the page cache
1154         https://bugs.webkit.org/show_bug.cgi?id=52607
1155
1156         No new tests. Existing tests crash in WebKit2 without this fix.
1157         
1158         I suspect there are other consequences besides the WebKit2 crash, but I
1159         was unable to identify any for certain.
1160
1161         * history/CachedFrame.cpp:
1162         (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page
1163         goes in the page cache, reset focus to the main frame.
1164
1165 2011-01-17  Adam Roben  <aroben@apple.com>
1166
1167         Simplify WKCACFLayerRenderer's API
1168
1169         createRenderer/destroyRenderer are now hidden behind setHostWindow.
1170         WKCACFLayerRendererClient::animationsStarted has been removed, as it
1171         was never called. (The work it was supposed to do was already being
1172         accomplished by WKCACFLayerRenderer::render telling each layer that
1173         animations are starting.)
1174
1175         Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use
1176
1177         Reviewed by Chris Marrin.
1178
1179         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1180         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the
1181         call to setHostWindow here from the WM_CREATE handler. The WM_CREATE
1182         handler was causing the Direct3D device to be created, but MSDN says
1183         you shouldn't create a device while handling WM_CREATE. Removed
1184         no-longer-needed call to createRenderer (setHostWindow does this now)
1185         and the never-needed call to setNeedsDisplay (we never draw into the
1186         root layer; this was just creating an unnecessary backing store the
1187         size of the screen!).
1188         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE
1189         code, as described above. Removed call to destroyRenderer when handling
1190         WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler
1191         to do a synchronous paint and to clear our dirty region, while I was in
1192         here.
1193
1194         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1195         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
1196         setHostWindow instead of destroyRenderer; the former calls the latter
1197         if needed.
1198         (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the
1199         header file. Destroys our old renderer (i.e., IDirect3DDevice9) if
1200         we're losing our window, or creates a renderer if we're gaining a
1201         window.
1202         (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename.
1203         (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the
1204         D3D device from our context before releasing the device.
1205
1206         * platform/graphics/win/WKCACFLayerRenderer.h: Removed
1207         WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
1208         Make createRenderer, destroyRenderer, and renderSoon private.
1209
1210 2011-01-17  Adam Roben  <aroben@apple.com>
1211
1212         Remove special-cased support for providing content for the root layer
1213
1214         Clients will just have to provide content through the normal
1215         GraphicsLayer channels now!
1216
1217         Support for <http://webkit.org/b/52582> WebView should paint directly
1218         into a GraphicsLayer when in accelerated compositing mode
1219
1220         Reviewed by Simon Fraser and Chris Marrin.
1221
1222         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1223         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
1224         initialization of m_backingStoreDirty, which has itself been removed.
1225         (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
1226         a sync from here to syncCompositingStateSoon. We only need to call
1227         renderSoon if we don't call syncCompositingStateSoon; the latter
1228         function calls the former.
1229         (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
1230         m_backingStoreDirty. We don't want to know anything about clients'
1231         backing stores.
1232         (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
1233         came from setNeedsDisplay.
1234
1235         * platform/graphics/win/WKCACFLayerRenderer.h:
1236         Removed setRootContents[AndDisplay], setBackingStoreDirty, and
1237         m_backingStoreDirty. Made paint() public so that clients can force a
1238         synchronous render (e.g., when handling WM_PAINT).
1239
1240 2011-01-17  Adam Roben  <aroben@apple.com>
1241
1242         Remove contexts from WKCACFContextFlusher before destroying them
1243
1244         We aren't really using WKCACFContextFlusher for anything useful at the
1245         moment, but that will probably change in the near future.
1246
1247         I couldn't come up with a way to test this because it isn't possible to
1248         resize a window in DumpRenderTree.
1249
1250         Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
1251         WKCACFContextFlusher::flushAllContexts when resizing window on page
1252         that uses accelerated compositing
1253
1254         Reviewed by Simon Fraser.
1255
1256         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1257         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
1258         context from WKCACFContextFlusher. (This code was erroneously removed
1259         from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
1260         sensible place for it.)
1261
1262 2011-01-17  Adam Roben  <aroben@apple.com>
1263
1264         Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
1265
1266         There might be a secret extra sublayer (the tile parent layer) that
1267         PlatformCALayer doesn't know about. When PlatformCALayer would
1268         encounter this, it would try to use the tile parent layer's
1269         PlatformCALayer wrapper, which was null, and then would crash. We now
1270         ask PlatformCALayerWinInternal for the sublayer list, since that class
1271         knows about the tile parent layer and can exclude it from the sublayer
1272         list.
1273
1274         Covered by compositing/tiling/huge-layer-resize.html.
1275
1276         Fixes <http://webkit.org/b/52597> Crash beneath
1277         PlatformCALayer::adoptSublayers when switching out of tiling mode
1278         (null-dereference of a PlatformCALayer)
1279
1280         Reviewed by Darin Adler and Chris Marrin.
1281
1282         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1283         (PlatformCALayer::adoptSublayers):
1284         (printLayer):
1285         Changed to use PlatformCALayerWinInternal::getSublayers.
1286
1287         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
1288         (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
1289         of PlatformCALayers that represent our sublayers. Significantly, this
1290         code knows about the tile parent layer and can thus exclude it.
1291
1292         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
1293         getSublayers.
1294
1295 2011-01-17  Naoki Takano  <takano.naoki@gmail.com>
1296
1297         Reviewed by Kent Tamura.
1298
1299         [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
1300         https://bugs.webkit.org/show_bug.cgi?id=51382
1301         http://crbug.com/60427
1302
1303         Calculate correct location of popup window whenever the items in the window change.
1304
1305         No new tests, because this fix is for Chromium project and hard to test only in WebKit project
1306
1307         * platform/chromium/PopupMenuChromium.cpp:
1308         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
1309         (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
1310         (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
1311         * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().
1312
1313 2011-01-17  Mark Rowe  <mrowe@apple.com>
1314
1315         Fix the 32-bit build.
1316
1317         * WebCore.exp.in:
1318
1319 2011-01-17  Dan Bernstein  <mitz@apple.com>
1320
1321         Reviewed by Darin Adler.
1322
1323         Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
1324         https://bugs.webkit.org/show_bug.cgi?id=52598
1325
1326         Test: fast/css/font-face-zero-hash-key.html
1327
1328         * css/CSSFontFaceSource.cpp:
1329         (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
1330         * css/CSSSegmentedFontFace.cpp:
1331         (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
1332
1333 2011-01-17  David Kilzer  <ddkilzer@apple.com>
1334
1335         <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
1336
1337         Reviewed by Dan Bernstein.
1338
1339         This fixes two issues:
1340
1341         Add missing DOMDocumentFragmentPrivate.h and
1342         DOMDocumentPrivate.h files to the project.  These files were
1343         never added to the the project although their *Internal.h
1344         counterparts were added in r16548 and r17390.
1345
1346         Add missing DOMDocumentFragmentInternal.h to the Headers
1347         section.  It was moved from Headers to "Copy Generated Headers"
1348         in r31045, but it should have an entry in both sections.
1349
1350         * WebCore.xcodeproj/project.pbxproj:
1351
1352 2011-01-17  Helder Correia  <helder@sencha.com>
1353
1354         Reviewed by Andreas Kling.
1355
1356         [Qt] Incorrect shadow alpha with pattern fillStyle
1357         https://bugs.webkit.org/show_bug.cgi?id=52559
1358
1359         The shadow color opacity needs to be set on the shadow painter.
1360         This is related to bug 52556.
1361
1362         Test: fast/canvas/canvas-fillPath-pattern-shadow.html
1363
1364         * platform/graphics/qt/GraphicsContextQt.cpp:
1365         (WebCore::GraphicsContext::fillPath):
1366
1367 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
1368
1369         Reviewed by Andreas Kling.
1370
1371         [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
1372         https://bugs.webkit.org/show_bug.cgi?id=52586
1373
1374         No new tests. This is just a merge from upstream.
1375
1376         * platform/network/soup/cache/soup-http-input-stream.c:
1377         (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
1378
1379 2011-01-17  Tony Gentilcore  <tonyg@chromium.org>
1380
1381         Reviewed by Alexey Proskuryakov.
1382
1383         Fix some headers with missing or misspelled #ifndef guards
1384         https://bugs.webkit.org/show_bug.cgi?id=52545
1385
1386         No new tests because no new functionality.
1387
1388         * ForwardingHeaders/runtime/InitializeThreading.h:
1389         * editing/SmartReplace.h:
1390         * loader/CrossOriginAccessControl.h:
1391         * loader/NetscapePlugInStreamLoader.h:
1392         * platform/chromium/ClipboardUtilitiesChromium.h:
1393         * platform/graphics/cairo/DrawErrorUnderline.h:
1394         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1395         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1396         * platform/graphics/cg/PDFDocumentImage.h:
1397         * platform/win/WebCoreTextRenderer.h:
1398
1399 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
1400
1401         Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
1402
1403         * inspector/front-end/NetworkPanel.js:
1404         (WebInspector.NetworkPanel.prototype.clear):
1405         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
1406
1407 2011-01-17  Sergio Villar Senin  <svillar@igalia.com>
1408
1409         Reviewed by Martin Robinson.
1410
1411         [Gtk] No need to content sniff 304 Not Modified responses
1412         https://bugs.webkit.org/show_bug.cgi?id=52570
1413
1414         Makes no sense to wait for the outcome of content sniffing when WebCore
1415         is validating resources. If we get a 304 Not Modified it means that we can
1416         safely use the cached version of the resource we're asking for.
1417
1418         No new tests because it does not change functionality, it just
1419         calls didReceiveResponse sooner for 304 Not Modified responses.
1420
1421         * platform/network/soup/ResourceHandleSoup.cpp:
1422         (WebCore::gotHeadersCallback):
1423
1424 2011-01-17  Jessie Berlin  <jberlin@apple.com>
1425
1426         Reviewed by Anders Carlsson.
1427
1428         REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
1429         navigating back to an unreachable URL
1430         https://bugs.webkit.org/show_bug.cgi?id=52388
1431
1432         Test: http/tests/navigation/go-back-to-error-page.html
1433
1434         * history/PageCache.cpp:
1435         (WebCore::PageCache::canCachePageContainingThisFrame):
1436         Do not cache any error pages (which we can recognize as having substitute data and/or an
1437         unreachableURL).
1438
1439 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
1440
1441         Not reviewed: fixing typo in r75952.
1442
1443         * inspector/front-end/NetworkPanel.js:
1444         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
1445
1446 2011-01-17  Enrica Casucci  <enrica@apple.com>
1447
1448         Reviewed by Alexey Proskuryakov.
1449
1450         Drag and drop support: refactoring of image from link and image from selection
1451         https://bugs.webkit.org/show_bug.cgi?id=52496
1452
1453         This work cleans up the Mac code and makes it more similar to the Windows implementation,
1454         avoiding the use of an NSView when the FrameView can be used.
1455         The refactoring is a necessary step towards the complete support of drag and drop
1456         in WebKit2.
1457         
1458         * page/mac/FrameMac.mm:
1459         (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
1460         to generate the image for drag.
1461
1462 2011-01-17  Dan Bernstein  <mitz@apple.com>
1463
1464         Rubber-stamped by Mark Rowe.
1465
1466         Update xcodeproj svn:ignore to include xcuserdata.
1467
1468         * WebCore.xcodeproj: Modified property svn:ignore.
1469         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
1470
1471 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
1472
1473         Leopard build fix.
1474
1475         * page/PrintContext.cpp: GCC complained about shortening a double value to float.
1476
1477 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
1478
1479         Reviewed by Dan Bernstein.
1480
1481         https://bugs.webkit.org/show_bug.cgi?id=52495
1482
1483         No change in behavior, so no tests.
1484
1485         * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
1486
1487         * page/PrintContext.cpp:
1488         (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
1489         destroyed already.
1490         (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
1491         (WebCore::PrintContext::pageRect): Ditto.
1492         (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
1493         PrintContext already has code to calculate scale factor, so it makes sense to make methods
1494         that contain it universal (allowHorizontalTiling is always true for Safari).
1495         Round page height to an integer, because Mac code does that, and because page height is
1496         treated as integer almost everywhere else in code.
1497         (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
1498         to return to screen mode if e.g. "print backgounds" option changes.
1499         (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
1500         that clients don't have to copy it.
1501         (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
1502         comes from code that doesn't have page number.
1503         (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.
1504
1505         * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
1506         depends on deciding how it really needs to work (e.g. whether computePageRects() should
1507         cause relayout).
1508
1509 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
1510
1511         Reviewed by Yury Semikhatsky.
1512
1513         Web Inspector: unify image data source assignment, add image url
1514         to the image view properties list.
1515         https://bugs.webkit.org/show_bug.cgi?id=52584
1516
1517         * English.lproj/localizedStrings.js:
1518         * inspector/front-end/ImageView.js:
1519         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
1520         (WebInspector.ImageView.prototype._createContentIfNeeded):
1521         * inspector/front-end/NetworkPanel.js:
1522         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
1523         * inspector/front-end/Resource.js:
1524         (WebInspector.Resource.prototype.populateImageSource):
1525         (WebInspector.Resource.prototype._contentURL):
1526         * inspector/front-end/ResourcesPanel.js:
1527         (WebInspector.FrameResourceTreeElement.prototype.onattach):
1528
1529 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
1530
1531         Reviewed by Pavel Feldman.
1532
1533         Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
1534         Make resource start/finish hanlding more consistent.
1535         https://bugs.webkit.org/show_bug.cgi?id=52452
1536
1537         * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
1538         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
1539         (WebInspector.AuditLauncherView.prototype.resourceStarted):
1540         (WebInspector.AuditLauncherView.prototype.resourceFinished):
1541         * inspector/front-end/NetworkManager.js:
1542         (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
1543         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
1544         (WebInspector.NetworkManager.prototype.willSendRequest):
1545         (WebInspector.NetworkManager.prototype.markResourceAsCached):
1546         (WebInspector.NetworkManager.prototype.didReceiveResponse):
1547         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
1548         (WebInspector.NetworkManager.prototype.didFinishLoading):
1549         (WebInspector.NetworkManager.prototype.didFailLoading):
1550         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
1551         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
1552         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
1553         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
1554         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
1555         (WebInspector.NetworkManager.prototype._appendRedirect):
1556         (WebInspector.NetworkManager.prototype._startResource):
1557         (WebInspector.NetworkManager.prototype._finishResource):
1558
1559 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
1560
1561         Reviewed by Yury Semikhatsky.
1562
1563         Web Inspector: restore dom and network state upon frontend reuse.
1564         https://bugs.webkit.org/show_bug.cgi?id=52574
1565
1566         * inspector/Inspector.idl:
1567         * inspector/InspectorController.cpp:
1568         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1569         (WebCore::InspectorController::populateScriptObjects):
1570         (WebCore::InspectorController::pushDataCollectedOffline):
1571         (WebCore::InspectorController::didCommitLoad):
1572         * inspector/InspectorController.h:
1573         * inspector/front-end/NetworkManager.js:
1574         (WebInspector.NetworkManager.prototype.reset):
1575         * inspector/front-end/NetworkPanel.js:
1576         (WebInspector.NetworkPanel.prototype.clear):
1577         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
1578         * inspector/front-end/ResourceTreeModel.js:
1579         (WebInspector.ResourceTreeModel):
1580         (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
1581         * inspector/front-end/ResourcesPanel.js:
1582         (WebInspector.ResourcesPanel.prototype.clear):
1583         * inspector/front-end/inspector.js:
1584         (WebInspector.frontendReused):
1585
1586 2011-01-17  Csaba Osztrogonác  <ossy@webkit.org>
1587
1588         Unreviewed buildfix after r75944.
1589
1590         * WebCore.pro:
1591
1592 2011-01-17  Yi Shen  <yi.4.shen@nokia.com>
1593
1594         Reviewed by Andreas Kling.
1595
1596         [Qt] Extend the Platform Plugin to support full screen video handler
1597         https://bugs.webkit.org/show_bug.cgi?id=51249
1598
1599         Make MediaPlayerPrivateQt support a fullscreen player.
1600
1601         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
1602         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
1603         So, still skip it for Qt.
1604
1605         * WebCore.pro:
1606         * features.pri:
1607         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1608         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
1609         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
1610         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
1611         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1612         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
1613         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
1614
1615 2011-01-17  Anthony Ricaud  <rik@webkit.org>
1616
1617         Reviewed by Kent Tamura.
1618
1619         [HTML5] Revert display:none on datalist
1620         https://bugs.webkit.org/show_bug.cgi?id=52214
1621
1622         * css/html.css:
1623
1624 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
1625
1626         Reviewed by Yury Semikhatsky.
1627
1628         Web Inspector: simplify debugger enabling routine.
1629         https://bugs.webkit.org/show_bug.cgi?id=52472
1630
1631         * inspector/Inspector.idl:
1632         * inspector/InspectorController.cpp:
1633         (WebCore::InspectorController::restoreDebugger):
1634         (WebCore::InspectorController::showAndEnableDebugger):
1635         (WebCore::InspectorController::enableDebugger):
1636         * inspector/InspectorController.h:
1637         * inspector/front-end/DebuggerModel.js:
1638         * inspector/front-end/ScriptsPanel.js:
1639         (WebInspector.ScriptsPanel.prototype.show):
1640         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1641
1642 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
1643
1644         Reviewed by Pavel Feldman.
1645
1646         Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
1647         https://bugs.webkit.org/show_bug.cgi?id=51738
1648
1649         Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
1650         Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.
1651
1652         * inspector/front-end/ScriptView.js:
1653         (WebInspector.ScriptView):
1654         (WebInspector.SourceFrameContentProviderForScript):
1655         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
1656         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
1657         (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
1658         * inspector/front-end/ScriptsPanel.js:
1659         (WebInspector.ScriptsPanel.prototype._addScript):
1660         (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
1661         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
1662         * inspector/front-end/SourceFrame.js:
1663         (WebInspector.SourceFrame):
1664         (WebInspector.SourceFrame.prototype.set visible):
1665         (WebInspector.SourceFrame.prototype._createTextViewer):
1666         (WebInspector.SourceFrame.prototype._breakpointAdded):
1667         (WebInspector.SourceFrame.prototype._breakpoints):
1668         (WebInspector.SourceFrame.prototype._sourceIDForLine):
1669         (WebInspector.SourceFrame.prototype._sourceIDSet):
1670         (WebInspector.SourceFrameContentProvider):
1671         (WebInspector.SourceFrameContentProvider.prototype.requestContent):
1672         (WebInspector.SourceFrameContentProvider.prototype.scripts):
1673         * inspector/front-end/SourceView.js:
1674         (WebInspector.SourceView):
1675         (WebInspector.SourceView.prototype.show):
1676         (WebInspector.SourceView.prototype.resize):
1677         (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
1678         (WebInspector.SourceView.prototype.performSearch):
1679         (WebInspector.SourceView.prototype.revealLine):
1680         (WebInspector.SourceView.prototype.highlightLine):
1681         (WebInspector.SourceView.prototype._jumpToSearchResult):
1682         (WebInspector.SourceFrameContentProviderForResource):
1683         (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
1684         (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):
1685
1686 2011-01-17  John Knottenbelt  <jknotten@chromium.org>
1687
1688         Reviewed by Jeremy Orlow.
1689
1690         GeolocationController should call stopUpdating on destruction
1691         https://bugs.webkit.org/show_bug.cgi?id=52216
1692
1693         Test: fast/dom/Geolocation/window-close-crash.html
1694
1695         * page/GeolocationController.cpp:
1696         (WebCore::GeolocationController::~GeolocationController):
1697
1698 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
1699
1700         Not reviewed: Qt build fix.
1701
1702         * inspector/InspectorInstrumentation.h:
1703
1704 2011-01-16  Pavel Feldman  <pfeldman@chromium.org>
1705
1706         Reviewed by Yury Semikhatsky.
1707
1708         Web Inspector: make WebCore use InspectorInstrumentation
1709         for instrumentation calls.
1710         https://bugs.webkit.org/show_bug.cgi?id=52532
1711
1712         This change makes WebCore classes issue instrumentation signals
1713         by means of InspectorInstrumentation interface. It covered migration
1714         for Document, FrameLoader, Database, DOMStorage, etc. It fixed
1715         instrumentation handling for Console as well. This all is a part
1716         of story described in the bug 52510.
1717
1718         * dom/Document.cpp:
1719         (WebCore::Document::finishedParsing):
1720         * dom/Document.h:
1721         * dom/ScriptExecutionContext.h:
1722         * inspector/InspectorBrowserDebuggerAgent.cpp:
1723         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1724         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1725         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1726         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1727         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1728         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1729         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1730         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1731         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1732         * inspector/InspectorBrowserDebuggerAgent.h:
1733         (WebCore::InspectorBrowserDebuggerAgent::create):
1734         * inspector/InspectorConsoleAgent.cpp:
1735         (WebCore::InspectorConsoleAgent::stopTiming):
1736         (WebCore::InspectorConsoleAgent::count):
1737         * inspector/InspectorConsoleAgent.h:
1738         * inspector/InspectorController.cpp:
1739         (WebCore::InspectorController::InspectorController):
1740         (WebCore::InspectorController::~InspectorController):
1741         (WebCore::InspectorController::handleMousePress):
1742         (WebCore::InspectorController::didClearWindowObjectInWorld):
1743         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
1744         * inspector/InspectorController.h:
1745         * inspector/InspectorDOMAgent.h:
1746         * inspector/InspectorDOMStorageAgent.h:
1747         * inspector/InspectorDatabaseAgent.cpp:
1748         * inspector/InspectorDatabaseAgent.h:
1749         * inspector/InspectorFrontendHost.cpp:
1750         * inspector/InspectorFrontendHost.h:
1751         * inspector/InspectorInstrumentation.cpp:
1752         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
1753         (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
1754         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
1755         (WebCore::InspectorInstrumentation::handleMousePressImpl):
1756         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
1757         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
1758         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
1759         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1760         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1761         (WebCore::InspectorInstrumentation::consoleCountImpl):
1762         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
1763         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
1764         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
1765         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
1766         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
1767         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
1768         (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
1769         (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
1770         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
1771         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
1772         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
1773         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
1774         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
1775         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
1776         * inspector/InspectorInstrumentation.h:
1777         (WebCore::InspectorInstrumentation::inspectorControllerCreated):
1778         (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
1779         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
1780         (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
1781         (WebCore::InspectorInstrumentation::willInsertDOMNode):
1782         (WebCore::InspectorInstrumentation::didInsertDOMNode):
1783         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
1784         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
1785         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
1786         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
1787         (WebCore::InspectorInstrumentation::handleMousePress):
1788         (WebCore::InspectorInstrumentation::characterDataModified):
1789         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
1790         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
1791         (WebCore::InspectorInstrumentation::didInstallTimer):
1792         (WebCore::InspectorInstrumentation::didRemoveTimer):
1793         (WebCore::InspectorInstrumentation::willCallFunction):
1794         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
1795         (WebCore::InspectorInstrumentation::willDispatchEvent):
1796         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
1797         (WebCore::InspectorInstrumentation::willEvaluateScript):
1798         (WebCore::InspectorInstrumentation::willFireTimer):
1799         (WebCore::InspectorInstrumentation::willLayout):
1800         (WebCore::InspectorInstrumentation::willLoadXHR):
1801         (WebCore::InspectorInstrumentation::willPaint):
1802         (WebCore::InspectorInstrumentation::willRecalculateStyle):
1803         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
1804         (WebCore::InspectorInstrumentation::willSendRequest):
1805         (WebCore::InspectorInstrumentation::markResourceAsCached):
1806         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
1807         (WebCore::InspectorInstrumentation::willReceiveResourceData):
1808         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
1809         (WebCore::InspectorInstrumentation::didReceiveContentLength):
1810         (WebCore::InspectorInstrumentation::didFinishLoading):
1811         (WebCore::InspectorInstrumentation::didFailLoading):
1812         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
1813         (WebCore::InspectorInstrumentation::scriptImported):
1814         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
1815         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
1816         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
1817         (WebCore::InspectorInstrumentation::didCommitLoad):
1818         (WebCore::InspectorInstrumentation::willWriteHTML):
1819         (WebCore::InspectorInstrumentation::didOpenDatabase):
1820         (WebCore::InspectorInstrumentation::didUseDOMStorage):
1821         (WebCore::InspectorInstrumentation::didCreateWorker):
1822         (WebCore::InspectorInstrumentation::didDestroyWorker):
1823         (WebCore::InspectorInstrumentation::didCreateWebSocket):
1824         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
1825         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
1826         (WebCore::InspectorInstrumentation::didCloseWebSocket):
1827         (WebCore::InspectorInstrumentation::networkStateChanged):
1828         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
1829         (WebCore::InspectorInstrumentation::addMessageToConsole):
1830         (WebCore::InspectorInstrumentation::consoleCount):
1831         (WebCore::InspectorInstrumentation::startConsoleTiming):
1832         (WebCore::InspectorInstrumentation::stopConsoleTiming):
1833         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
1834         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
1835         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
1836         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
1837         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
1838         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
1839         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
1840         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
1841         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
1842         * inspector/InspectorState.cpp:
1843         * loader/FrameLoader.cpp:
1844         (WebCore::FrameLoader::detachFromParent):
1845         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
1846         (WebCore::FrameLoader::dispatchDidCommitLoad):
1847         * page/Chrome.cpp:
1848         (WebCore::Chrome::mouseDidMoveOverElement):
1849         * page/Console.cpp:
1850         (WebCore::Console::addMessage):
1851         (WebCore::Console::count):
1852         (WebCore::Console::markTimeline):
1853         (WebCore::Console::profile):
1854         (WebCore::Console::time):
1855         (WebCore::Console::timeEnd):
1856         (WebCore::Console::group):
1857         (WebCore::Console::groupCollapsed):
1858         (WebCore::Console::groupEnd):
1859         * page/DOMWindow.cpp:
1860         (WebCore::DOMWindow::sessionStorage):
1861         (WebCore::DOMWindow::localStorage):
1862         (WebCore::DOMWindow::dispatchLoadEvent):
1863         * page/EventHandler.cpp:
1864         (WebCore::EventHandler::handleMousePressEvent):
1865         * page/Page.cpp:
1866         (WebCore::Page::~Page):
1867         * storage/Database.cpp:
1868         (WebCore::Database::openDatabase):
1869         * workers/AbstractWorker.cpp:
1870         (WebCore::AbstractWorker::onDestroyWorker):
1871         * workers/SharedWorker.cpp:
1872         (WebCore::SharedWorker::create):
1873         * workers/Worker.cpp:
1874         (WebCore::Worker::create):
1875         * workers/WorkerMessagingProxy.cpp:
1876
1877 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1878
1879         Unreviewed, rolling out r75923.
1880
1881         GTK guy rolls out the r75914.
1882
1883         * platform/efl/ScrollViewEfl.cpp:
1884         (WebCore::ScrollView::platformInit):
1885
1886 2011-01-17  Helder Correia  <helder@sencha.com>
1887
1888         Reviewed by Kenneth Rohde Christiansen.
1889
1890         [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
1891         https://bugs.webkit.org/show_bug.cgi?id=52556
1892
1893         The shadow color opacity needs to be set on the shadow painter.
1894         Additionally, the gradient brush should be transformed.
1895
1896         * platform/graphics/qt/GraphicsContextQt.cpp:
1897         (WebCore::GraphicsContext::fillPath):
1898
1899 2011-01-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
1900
1901         Reviewed by Kenneth Rohde Christiansen.
1902
1903         [Qt] Background image rendering is slow
1904         https://bugs.webkit.org/show_bug.cgi?id=50527
1905
1906         When tiling a scaled pixmap in Image::drawPattern, scale the tile
1907         first and only then draw it to the target. Do so only when drawing
1908         more than one tile.
1909
1910         Tests in fast/backgrounds/size cover this.
1911
1912         * platform/graphics/qt/ImageQt.cpp:
1913         (WebCore::Image::drawPattern):
1914
1915 2011-01-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1916
1917         Reviewed by Simon Hausmann.
1918
1919         [Qt] [Symbian] Fix building NPAPI support
1920         https://bugs.webkit.org/show_bug.cgi?id=51981
1921
1922         Make sure that npapi.h is always included outside of the extern "C"
1923         linkage declaration block.
1924
1925         No new tests as there is no new functionality.
1926
1927         * bridge/npruntime.h:
1928
1929 2011-01-17  Philippe Normand  <pnormand@igalia.com>
1930
1931         Unreviewed, rolling out r75914.
1932         http://trac.webkit.org/changeset/75914
1933         https://bugs.webkit.org/show_bug.cgi?id=49177
1934
1935         multiple crashes on GTK
1936
1937         * platform/ScrollView.cpp:
1938         (WebCore::ScrollView::removeChild):
1939         (WebCore::ScrollView::wheelEvent):
1940         * platform/gtk/MainFrameScrollbarGtk.cpp:
1941         (MainFrameScrollbarGtk::attachAdjustment):
1942         (MainFrameScrollbarGtk::gtkValueChanged):
1943         * platform/gtk/ScrollViewGtk.cpp:
1944         (WebCore::ScrollView::platformInit):
1945         (WebCore::ScrollView::platformAddChild):
1946         (WebCore::ScrollView::platformRemoveChild):
1947
1948 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1949
1950         Unreviewed build fix.
1951
1952         Bug 49177's patch enabled platformInit() in super class(ScrollView).
1953         But, it didn't removed the function in ScrollViewEfl.cpp.
1954
1955         * platform/efl/ScrollViewEfl.cpp:
1956
1957 2011-01-16  Dan Bernstein  <mitz@apple.com>
1958
1959         Reviewed by Sam Weinig.
1960
1961         <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
1962
1963         Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
1964         quad to a non-empty rect.
1965
1966         * rendering/RenderWidget.cpp:
1967         (WebCore::RenderWidget::setWidget):
1968         (WebCore::RenderWidget::updateWidgetPosition):
1969
1970 2011-01-16  Martin Robinson  <mrobinson@igalia.com>
1971
1972         Reviewed by Xan Lopez.
1973
1974         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
1975         https://bugs.webkit.org/show_bug.cgi?id=49177
1976
1977         * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
1978         now shares the implementation of platformAddChild and platformRemoveChild,
1979         but has its own implementation of removeChild, which knows how to inform
1980         main frame scrollbars that they no longer control the WebCore scrollbar.
1981         * platform/gtk/MainFrameScrollbarGtk.cpp:
1982         (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
1983         that we already have, bail out early. Apply the value changed signal handler
1984         after configuring the adjustment. We don't want our reset of the adjustment to
1985         stomp on WebCore values.
1986         (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
1987         state already matches ours. This prevents some unnecessary recursion
1988         * platform/gtk/ScrollViewGtk.cpp:
1989         (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
1990         which need their adjustments detached.
1991
1992 2011-01-13  Yuzo Fujishima  <yuzo@google.com>
1993
1994         Reviewed by Antti Koivisto.
1995
1996         Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
1997         https://bugs.webkit.org/show_bug.cgi?id=52427
1998
1999         In constructor/destructor of CachedResourceLoader, m_cache has been
2000         used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
2001         while cache() is used everywhere else.
2002
2003         Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
2004         Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
2005
2006         No new tests because the behavior remains the same.
2007
2008         * loader/cache/CachedResourceLoader.cpp:
2009         (WebCore::CachedResourceLoader::CachedResourceLoader):
2010         (WebCore::CachedResourceLoader::~CachedResourceLoader):
2011         * loader/cache/CachedResourceLoader.h:
2012         * loader/cache/MemoryCache.cpp:
2013         * loader/cache/MemoryCache.h:
2014
2015 2011-01-16  Adam Barth  <abarth@webkit.org>
2016
2017         Rubber-stamped by Eric Seidel.
2018
2019         Move WebKit into Source
2020         https://bugs.webkit.org/show_bug.cgi?id=52530
2021
2022         * WebCore.gyp/WebCore.gyp:
2023         * WebCore.pri:
2024         * WebCore.pro:
2025
2026 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
2027
2028         Reviewed by Dan Bernstein.
2029
2030         frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
2031         https://bugs.webkit.org/show_bug.cgi?id=52549
2032
2033         Fix regression from r75900; m_widget->setFrameRect() can run script that
2034         clears m_widget, so null-check it before calling setBoundsSize().
2035         
2036         Tested by fast/replaced/frame-removed-during-resize.html
2037
2038         * rendering/RenderWidget.cpp:
2039         (WebCore::RenderWidget::setWidgetGeometry):
2040
2041 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
2042
2043         Keep Leopard build happy.
2044
2045         * platform/mac/WidgetMac.mm:
2046         (WebCore::Widget::setBoundsSize):
2047
2048 2011-01-16  Robert Hogan  <robert@webkit.org>
2049
2050         Reviewed by Andreas Kling.
2051
2052         [Qt] plugins/keyboard-events.html fails after r72717
2053         https://bugs.webkit.org/show_bug.cgi?id=50050
2054
2055         * plugins/qt/PluginViewQt.cpp:
2056         (WebCore::setXKeyEventSpecificFields): map event text to keycode
2057
2058 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
2059
2060         Reviewed by Dan Bernstein.
2061
2062         Issues with iframes and plugins when the WebView is scaled.
2063         <rdar://problem/6213380>
2064         
2065         When _scaleWebView has been called on a WebView, iframes
2066         in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
2067         This is caused by AppKit NSViews not playing nicely with the scale
2068         applied through style.
2069         
2070         Work around most of these issues by adjusting the bounds size
2071         of widgets to allow iframe contents to paint with the correct scale,
2072         and fix various places in the code where we relied on coordinate
2073         transforms via NSViews (which ignore CSS transforms).
2074
2075         * WebCore.exp.in:
2076         * platform/Widget.cpp:
2077         (WebCore::Widget::setBoundsSize):
2078         * platform/Widget.h:
2079         * platform/mac/WidgetMac.mm:
2080         (WebCore::Widget::setBoundsSize):
2081         (WebCore::Widget::paint):
2082         * rendering/RenderLayerCompositor.cpp:
2083         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
2084         * rendering/RenderWidget.cpp:
2085         (WebCore::RenderWidget::setWidgetGeometry):
2086         (WebCore::RenderWidget::setWidget):
2087         (WebCore::RenderWidget::updateWidgetPosition):
2088         * rendering/RenderWidget.h:
2089
2090 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
2091
2092         Reviewed by Dan Bernstein.
2093
2094         RenderView needs to take transforms on its layer into account
2095         https://bugs.webkit.org/show_bug.cgi?id=52536
2096         
2097         The RenderView's coordinate mapping methods failed to
2098         take into account a transform on the RenderView's layer.
2099
2100         No tests because it's not possible to get a transform
2101         on the RenderView's layer through content.
2102
2103         * rendering/RenderView.cpp:
2104         (WebCore::RenderView::mapLocalToContainer):
2105         (WebCore::RenderView::mapAbsoluteToLocalPoint):
2106
2107 2011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2108
2109         Unreviewed, rolling out r75708.
2110         http://trac.webkit.org/changeset/75708
2111         https://bugs.webkit.org/show_bug.cgi?id=52521
2112
2113         Breaks Qt build if mobility is not installed. (Requested by
2114         benjaminp on #webkit).
2115
2116         * WebCore.pro:
2117         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2118         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
2119         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2120         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
2121
2122 2011-01-15  David Kilzer  <ddkilzer@apple.com>
2123
2124         <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
2125
2126         Reviewed by Adele Peterson.
2127
2128         The fix for Bug 50710 in r73799 introduced an off-by-one error
2129         when copying nodes to a local NodeVector for processing.  A fix
2130         was attempted for Bug 50854 in r73818, but instead of stopping
2131         at the end offset, it iterates through all the sibling nodes
2132         because the loop variable (i) is never incremented.  To clean
2133         this up, revert back to the code in r73799 and fix the
2134         off-by-one error.
2135
2136         Test: fast/dom/Range/range-clone-contents.html
2137
2138         * dom/Range.cpp:
2139         (WebCore::Range::processContents): Fix the loop that copies
2140         nodes to a local NodeVector by restoring the code from r73799
2141         and fixing the off-by-one error.
2142
2143 2011-01-15  Adam Barth  <abarth@webkit.org>
2144
2145         Rubber-stamped by Eric Seidel.
2146
2147         Move WebKit2 into Source
2148         https://bugs.webkit.org/show_bug.cgi?id=52438
2149
2150         * WebCore.pro:
2151
2152 2011-01-15  Joone Hur  <joone.hur@collabora.co.uk>
2153
2154         Reviewed by Martin Robinson.
2155
2156         [GTK] Linux build with FileSystem API enabled fails
2157         https://bugs.webkit.org/show_bug.cgi?id=43878
2158
2159         This patch allows WebKitGtk+ to build with FileSystem API option.
2160
2161         No new tests because no new functionality.
2162
2163         * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
2164         * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
2165
2166 2011-01-14  Sam Magnuson  <smagnuso@gmail.com>
2167
2168         Reviewed by Kenneth Rohde Christiansen.
2169
2170         [Qt] Compile with QT_NO_GRAPHICSVIEW
2171         https://bugs.webkit.org/show_bug.cgi?id=49750
2172
2173         * platform/graphics/qt/GraphicsLayerQt.cpp:
2174         * platform/graphics/qt/GraphicsLayerQt.h:
2175         * platform/qt/PlatformMouseEventQt.cpp:
2176
2177 2011-01-14  Tony Chang  <tony@chromium.org>
2178
2179         Reviewed by Alexey Proskuryakov.
2180
2181         Strip NUL character when copying text on Windows
2182         https://bugs.webkit.org/show_bug.cgi?id=52236
2183
2184         Test: editing/pasteboard/copy-null-characters.html
2185
2186         * editing/Editor.cpp:
2187         (WebCore::Editor::selectedText):
2188         * platform/mac/PasteboardMac.mm:
2189         (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.
2190
2191 2011-01-14  Yuzo Fujishima  <yuzo@google.com>
2192
2193         Reviewed by Antti Koivisto.
2194
2195         Rename cache() to memoryCache()
2196         https://bugs.webkit.org/show_bug.cgi?id=52433
2197
2198         No new tests because the behavior remains the same.
2199
2200         * WebCore.exp.in:
2201         * WebCore.order:
2202         * history/PageCache.cpp:
2203         (WebCore::PageCache::releaseAutoreleasedPagesNow):
2204         * inspector/InspectorResourceAgent.cpp:
2205         (WebCore::InspectorResourceAgent::cachedResource):
2206         * loader/FrameLoader.cpp:
2207         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
2208         * loader/archive/cf/LegacyWebArchive.cpp:
2209         (WebCore::LegacyWebArchive::create):
2210         * loader/cache/CachedImage.cpp:
2211         (WebCore::CachedImage::allClientsRemoved):
2212         (WebCore::CachedImage::data):
2213         * loader/cache/CachedResource.cpp:
2214         (WebCore::CachedResource::~CachedResource):
2215         (WebCore::CachedResource::addClientToSet):
2216         (WebCore::CachedResource::removeClient):
2217         (WebCore::CachedResource::setDecodedSize):
2218         (WebCore::CachedResource::setEncodedSize):
2219         (WebCore::CachedResource::didAccessDecodedData):
2220         * loader/cache/CachedResourceLoader.cpp:
2221         (WebCore::CachedResourceLoader::CachedResourceLoader):
2222         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
2223         (WebCore::CachedResourceLoader::requestResource):
2224         (WebCore::CachedResourceLoader::revalidateResource):
2225         (WebCore::CachedResourceLoader::loadResource):
2226         (WebCore::CachedResourceLoader::clearPreloads):
2227         (WebCore::CachedResourceLoader::printPreloadStats):
2228         * loader/cache/CachedResourceRequest.cpp:
2229         (WebCore::CachedResourceRequest::load):
2230         (WebCore::CachedResourceRequest::didFail):
2231         (WebCore::CachedResourceRequest::didReceiveResponse):
2232         * loader/cache/MemoryCache.cpp:
2233         (WebCore::memoryCache):
2234         * loader/cache/MemoryCache.h:
2235
2236 2011-01-14  Dan Bernstein  <mitz@apple.com>
2237
2238         Reviewed by Simon Fraser.
2239
2240         WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
2241
2242         * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
2243         RenderWidget::resumeWidgetHierarchyUpdates().
2244         * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
2245         * rendering/RenderWidget.cpp:
2246         (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
2247         are disabled. When this assertion was added, this condition was a subset of the “calling out to
2248         plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
2249         change now suspends widget hierarchy updates even at times where plug-in code is expected to be
2250         called, which invalidates the assertion.
2251
2252 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
2253
2254         Unreviewed build fix.
2255
2256         Fix Qt build after r75837
2257         https://bugs.webkit.org/show_bug.cgi?id=52494
2258
2259         * rendering/style/StyleRareInheritedData.cpp:
2260         * rendering/style/StyleRareNonInheritedData.cpp:
2261
2262 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
2263
2264         Unreviewed build fix.
2265
2266         Fix Qt build after r75837
2267         https://bugs.webkit.org/show_bug.cgi?id=52494
2268
2269         * rendering/style/RenderStyle.cpp:
2270
2271 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
2272
2273         Unreviewed build fix.
2274
2275         Fix Qt build after r75837
2276         https://bugs.webkit.org/show_bug.cgi?id=52494
2277
2278         * editing/EditorCommand.cpp:
2279
2280 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
2281
2282         Unreviewed build fix.
2283
2284         Fix Qt build after r75837
2285         https://bugs.webkit.org/show_bug.cgi?id=52494
2286
2287         * editing/ApplyStyleCommand.cpp:
2288
2289 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
2290
2291         Unreviewed build fix.
2292
2293         Fix Qt build after r75837
2294         https://bugs.webkit.org/show_bug.cgi?id=52494
2295
2296         * css/CSSStyleSelector.cpp:
2297
2298 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
2299
2300         Unreviewed build fix.
2301
2302         Fix Qt build after r75837
2303         https://bugs.webkit.org/show_bug.cgi?id=52494
2304
2305         * rendering/InlineFlowBox.h:
2306         * rendering/RenderBoxModelObject.h:
2307
2308 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
2309
2310         Reviewed by David Levin.
2311
2312         Do some forward declaration in RenderStyle.h
2313         https://bugs.webkit.org/show_bug.cgi?id=52453
2314
2315         No new tests because no new functionality.
2316
2317         * css/CSSComputedStyleDeclaration.cpp:
2318         * css/CSSStyleSelector.cpp:
2319         * editing/Editor.cpp:
2320         * page/EventHandler.cpp:
2321         * rendering/EllipsisBox.cpp:
2322         * rendering/InlineBox.cpp:
2323         * rendering/InlineTextBox.cpp:
2324         * rendering/RenderBlock.cpp:
2325         * rendering/RenderBlock.h:
2326         * rendering/RenderBox.cpp:
2327         * rendering/RenderBox.h:
2328         * rendering/RenderEmbeddedObject.cpp:
2329         * rendering/RenderFieldset.cpp:
2330         * rendering/RenderFileUploadControl.cpp:
2331         * rendering/RenderFrameSet.cpp:
2332         * rendering/RenderHTMLCanvas.cpp:
2333         * rendering/RenderImageResource.cpp:
2334         * rendering/RenderInputSpeech.cpp:
2335         * rendering/RenderLayer.h:
2336         * rendering/RenderLineBoxList.cpp:
2337         * rendering/RenderListBox.cpp:
2338         * rendering/RenderMediaControlsChromium.cpp:
2339         * rendering/RenderObject.cpp:
2340         * rendering/RenderObject.h:
2341         * rendering/RenderObjectChildList.cpp:
2342         * rendering/RenderProgress.cpp:
2343         * rendering/RenderScrollbarPart.cpp:
2344         * rendering/RenderTable.cpp:
2345         * rendering/RenderTable.h:
2346         * rendering/RenderTableCell.cpp:
2347         * rendering/RenderTableRow.cpp:
2348         * rendering/RenderTableSection.cpp:
2349         * rendering/RenderTheme.cpp:
2350         * rendering/RenderThemeChromiumSkia.cpp:
2351         * rendering/RenderThemeChromiumWin.cpp:
2352         * rendering/RootInlineBox.cpp:
2353         * rendering/style/RenderStyle.cpp:
2354         * rendering/style/RenderStyle.h:
2355         * rendering/style/StyleRareInheritedData.cpp:
2356
2357 2011-01-14  Ryosuke Niwa  <rniwa@webkit.org>
2358
2359         Reviewed by Eric Seidel.
2360
2361         Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
2362         BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
2363         https://bugs.webkit.org/show_bug.cgi?id=52481
2364
2365         Removed instantiation of legacy editing positions.
2366         Calls to Position::Position are replaced by calls to Position's convenience functions.
2367         
2368         Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
2369         they instantiate right positions for text nodes.
2370
2371         * accessibility/AccessibilityRenderObject.cpp:
2372         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2373         * dom/Element.cpp:
2374         (WebCore::Element::updateFocusAppearance):
2375         * editing/BreakBlockquoteCommand.cpp:
2376         (WebCore::BreakBlockquoteCommand::doApply):
2377         * editing/CompositeEditCommand.cpp:
2378         (WebCore::CompositeEditCommand::inputText):
2379         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
2380         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2381         (WebCore::CompositeEditCommand::moveParagraphs):
2382         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2383         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2384         (WebCore::CompositeEditCommand::splitTreeToNode):
2385         * editing/DeleteButtonController.cpp:
2386         (WebCore::enclosingDeletableElement):
2387         * editing/htmlediting.h:
2388         (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
2389         positionBeforeNode for a text node.
2390         (WebCore::lastPositionInOrAfterNode): Ditto.
2391
2392 2011-01-14  Helder Correia  <helder@sencha.com>
2393
2394         Reviewed by Simon Fraser.
2395
2396         Shadow is not drawn when filling a path with a gradient
2397         https://bugs.webkit.org/show_bug.cgi?id=51982
2398
2399         This happens in CG and is related to bug 51869, this time to be fixed
2400         in GraphicsContext::fillPath(const Path& path). We need to draw the
2401         gradient clipped to the path on a CGLayer first, and then draw the
2402         layer on the GraphicsContext.
2403
2404         Test: fast/canvas/canvas-fillPath-gradient-shadow.html
2405
2406         * platform/graphics/cg/GraphicsContextCG.cpp:
2407         (WebCore::GraphicsContext::fillPath):
2408
2409 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
2410
2411         Reviewed by Adam Roben.
2412
2413         Layer syncing should go through the compositor
2414         https://bugs.webkit.org/show_bug.cgi?id=52486
2415
2416         Rather than have FrameView go directly to GraphicsLayer to
2417         sync pending changes, route the call through RenderLayerCompositor.
2418         
2419         Add a FIXME about an existing issue with flushing and subframes.
2420         
2421         No behavior change, so no tests.
2422
2423         * page/FrameView.cpp:
2424         (WebCore::FrameView::syncCompositingStateForThisFrame):
2425         * rendering/RenderLayerBacking.cpp:
2426         (WebCore::RenderLayerBacking::notifySyncRequired):
2427         * rendering/RenderLayerCompositor.cpp:
2428         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
2429         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2430         * rendering/RenderLayerCompositor.h:
2431         (WebCore::RenderLayerCompositor::notifySyncRequired):
2432
2433 2011-01-14  Abhishek Arya  <inferno@chromium.org>
2434
2435         Reviewed by David Hyatt.
2436
2437         Fix parent block calculation when trying to find top most node
2438         containing "this" float.
2439         https://bugs.webkit.org/show_bug.cgi?id=51711
2440
2441         Replace use of containingBlock and traverse the parents directly
2442         to check for float existence. containingBlock can skip parents and
2443         jump to the RenderView directly which will cause floats to not get
2444         cleared from intermediate parents.
2445
2446         Test: fast/block/float/floats-not-cleared-crash.html
2447
2448         * rendering/RenderBox.cpp:
2449         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2450
2451 2011-01-14  Adam Klein  <adamk@chromium.org>
2452
2453         Reviewed by Darin Fisher.
2454
2455         [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
2456         https://bugs.webkit.org/show_bug.cgi?id=42237
2457
2458         Remove Chromium-specific implementation from WebCore.
2459
2460         No tests added; this refactor should be covered by existing history-exercising tests.
2461
2462         * WebCore.gyp/WebCore.gyp:
2463         * WebCore.gypi:
2464         * history/BackForwardListChromium.cpp: Removed.
2465         * history/BackForwardListImpl.h:
2466
2467 2011-01-12  Satish Sampath  <satish@chromium.org>
2468
2469         Reviewed by Dimitri Glazkov.
2470
2471         Fix a crash when accessing speech input from script.
2472         https://bugs.webkit.org/show_bug.cgi?id=52325
2473
2474         Test: fast/speech/speech-input-scripting.html
2475
2476         * html/HTMLInputElement.cpp:
2477         (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
2478         * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
2479         * rendering/RenderTextControlSingleLine.h:
2480         * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
2481         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2482         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
2483         (WebCore::InputFieldSpeechButtonElement::detach):
2484
2485 2011-01-14  Abhishek Arya  <inferno@chromium.org>
2486
2487         Reviewed by David Hyatt.
2488
2489         Prevent merging of anonymous blocks if one of them is already getting
2490         destroyed.
2491         https://bugs.webkit.org/show_bug.cgi?id=52402
2492
2493         Test: fast/block/merge-anonymous-block-remove-child-crash2.html
2494
2495         * rendering/RenderBlock.cpp:
2496         (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
2497         (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
2498         (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
2499         (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
2500         * rendering/RenderBlock.h:
2501         (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.
2502
2503 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
2504
2505         Not reviewed. Follow up to r75791: fix missing dispatch.
2506         https://bugs.webkit.org/show_bug.cgi?id=52442
2507
2508         * inspector/front-end/DebuggerModel.js:
2509         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
2510
2511 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
2512
2513         Reviewed by Adam Roben.
2514
2515         Issues with contentsScale in GraphicsLayerCA
2516         https://bugs.webkit.org/show_bug.cgi?id=52463
2517
2518         Fix various issues with the recent contentsScale changes:
2519
2520         * platform/graphics/ca/GraphicsLayerCA.cpp:
2521         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
2522         (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
2523         if the layer draws content, otherwise we'll create backing store for empty layers.
2524         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
2525         on the new (tiled or untiled) layer.
2526         (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.
2527
2528 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
2529
2530         Let Xcode have it's way with the project file.
2531
2532         * WebCore.xcodeproj/project.pbxproj:
2533
2534 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
2535
2536         Reviewed by Anders Carlsson.
2537
2538         Refactor some FrameView::syncCompositingState code
2539         https://bugs.webkit.org/show_bug.cgi?id=52459
2540
2541         Refactor some code in FrameView related to synchronizing
2542         compositing layer state.
2543         
2544         * page/FrameView.cpp:
2545         (WebCore::FrameView::syncCompositingStateForThisFrame):
2546         (WebCore::FrameView::syncCompositingStateRecursive):
2547         (WebCore::FrameView::paintContents):
2548         * page/FrameView.h:
2549
2550 2011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2551
2552         Reviewed by Eric Seidel.
2553
2554         [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
2555         https://bugs.webkit.org/show_bug.cgi?id=30179
2556
2557         * plugins/symbian/PluginViewSymbian.cpp:
2558
2559 2011-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2560
2561         Reviewed by Martin Robinson.
2562
2563         [GTK] Add volume slider to media player
2564         https://bugs.webkit.org/show_bug.cgi?id=51532
2565
2566         * css/mediaControlsGtk.css:
2567         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2568         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2569         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2570         * platform/gtk/RenderThemeGtk.cpp:
2571         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
2572         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
2573         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
2574         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
2575         * platform/gtk/RenderThemeGtk.h:
2576         * platform/gtk/RenderThemeGtk2.cpp:
2577         (WebCore::RenderThemeGtk::paintSliderTrack):
2578         (WebCore::RenderThemeGtk::paintSliderThumb):
2579         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2580         * platform/gtk/RenderThemeGtk3.cpp:
2581         (WebCore::RenderThemeGtk::paintSliderTrack):
2582         (WebCore::RenderThemeGtk::paintSliderThumb):
2583         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2584
2585 2011-01-14  Joone Hur  <joone.hur@collabora.co.uk>
2586
2587         Reviewed by David Levin.
2588
2589         [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
2590         https://bugs.webkit.org/show_bug.cgi?id=52434
2591
2592         No new tests. This code will be tested when an implementation 
2593         of beginDragWithFiles is complete. 
2594
2595         * platform/gtk/FileSystemGtk.cpp:
2596         (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
2597         (WebCore::fileSystemRepresentation): Ditto.
2598         (WebCore::filenameForDisplay): Ditto.
2599         (WebCore::pathGetFileName): Ditto.
2600
2601 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
2602
2603         Reviewed by Yury Semikhatsky.
2604
2605         Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
2606         https://bugs.webkit.org/show_bug.cgi?id=52215
2607
2608         * inspector/front-end/Breakpoint.js:
2609         (WebInspector.Breakpoint):
2610         (WebInspector.Breakpoint.prototype.populateLabelElement):
2611         * inspector/front-end/Script.js:
2612         (WebInspector.Script.prototype.get linesCount):
2613         (WebInspector.Script.prototype.sourceLine):
2614         (WebInspector.Script.prototype.sourceLine.didRequestSource):
2615         (WebInspector.Script.prototype.set source):
2616         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
2617         (WebInspector.Script.prototype.requestSource):
2618         * inspector/front-end/ScriptView.js:
2619         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
2620         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
2621         * inspector/front-end/SourceFrame.js:
2622         (WebInspector.SourceFrame.prototype._addBreakpoint):
2623         * inspector/front-end/utilities.js:
2624         (String.prototype.findAll):
2625
2626 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
2627
2628         Reviewed by Yury Semikhatsky.
2629
2630         Web Inspector: provide script column offset to frontend.
2631         https://bugs.webkit.org/show_bug.cgi?id=52377
2632
2633         * bindings/js/ScriptDebugServer.cpp:
2634         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2635         * bindings/js/ScriptSourceCode.h:
2636         (WebCore::ScriptSourceCode::ScriptSourceCode):
2637         * bindings/v8/DebuggerScript.js:
2638         ():
2639         * bindings/v8/ScriptDebugServer.cpp:
2640         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2641         * inspector/Inspector.idl:
2642         * inspector/InspectorDebuggerAgent.cpp:
2643         (WebCore::InspectorDebuggerAgent::didParseSource):
2644         * inspector/InspectorDebuggerAgent.h:
2645         * inspector/ScriptDebugListener.h:
2646         * inspector/front-end/DebuggerModel.js:
2647         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
2648         * inspector/front-end/Script.js:
2649         (WebInspector.Script):
2650
2651 2011-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
2652
2653         Unreviewed one line fix for console-xhr-logging test.
2654
2655         The problem was introduced at r75788.
2656
2657         * inspector/InspectorBrowserDebuggerAgent.cpp:
2658         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
2659
2660 2011-01-13  Yury Semikhatsky  <yurys@chromium.org>
2661
2662         Reviewed by Pavel Feldman.
2663
2664         Web Inspector: extract console related functionality into InspectorConsoleAgent
2665         https://bugs.webkit.org/show_bug.cgi?id=52282
2666
2667         * CMakeLists.txt:
2668         * GNUmakefile.am:
2669         * WebCore.gypi:
2670         * WebCore.pro:
2671         * inspector/CodeGeneratorInspector.pm:
2672         * inspector/ConsoleMessage.cpp:
2673         (WebCore::ConsoleMessage::~ConsoleMessage):
2674         * inspector/ConsoleMessage.h:
2675         * inspector/Inspector.idl:
2676         * inspector/InspectorConsoleAgent.cpp: Added.
2677         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2678         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2679         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2680         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2681         (WebCore::InspectorConsoleAgent::reset):
2682         (WebCore::InspectorConsoleAgent::setFrontend):
2683         (WebCore::InspectorConsoleAgent::addMessageToConsole):
2684         (WebCore::InspectorConsoleAgent::startTiming):
2685         (WebCore::InspectorConsoleAgent::stopTiming):
2686         (WebCore::InspectorConsoleAgent::count):
2687         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
2688         (WebCore::InspectorConsoleAgent::didReceiveResponse):
2689         (WebCore::InspectorConsoleAgent::didFailLoading):
2690         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2691         * inspector/InspectorConsoleAgent.h: Added.
2692         * inspector/InspectorController.cpp:
2693         (WebCore::InspectorController::InspectorController):
2694         (WebCore::InspectorController::clearConsoleMessages):
2695         (WebCore::InspectorController::connectFrontend):
2696         (WebCore::InspectorController::disconnectFrontend):
2697         (WebCore::InspectorController::didCommitLoad):
2698         * inspector/InspectorController.h:
2699         (WebCore::InspectorController::consoleAgent):
2700         * inspector/InspectorInstrumentation.cpp:
2701         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
2702         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
2703         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
2704         (WebCore::InspectorInstrumentation::addMessageToConsole):
2705         (WebCore::InspectorInstrumentation::count):
2706         (WebCore::InspectorInstrumentation::startTiming):
2707         (WebCore::InspectorInstrumentation::stopTiming):
2708         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
2709         * inspector/InspectorInstrumentation.h:
2710         * inspector/InspectorProfilerAgent.cpp:
2711         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
2712         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
2713         * inspector/front-end/ConsoleView.js:
2714         (WebInspector.ConsoleView):
2715         (WebInspector.ConsoleView.prototype.addConsoleMessage):
2716         (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
2717         (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
2718         * inspector/front-end/inspector.js:
2719         * page/Console.cpp:
2720         (WebCore::Console::addMessage):
2721         (WebCore::Console::count):
2722         (WebCore::Console::profile):
2723         (WebCore::Console::time):
2724         (WebCore::Console::timeEnd):
2725         (WebCore::Console::group):
2726         (WebCore::Console::groupCollapsed):
2727         (WebCore::Console::groupEnd):
2728         * page/Console.h:
2729         * page/Console.idl:
2730
2731 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
2732
2733         Reviewed by Yury Semikhatsky.
2734
2735         Web Inspector: do not use this as protocol message
2736         dispatcher in models / agents.
2737         https://bugs.webkit.org/show_bug.cgi?id=52442
2738
2739         Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
2740         There should be a clear way to tell whether method is being called
2741         from within front-end or by the backend.
2742
2743         * inspector/front-end/DOMAgent.js:
2744         (WebInspector.DOMAgent):
2745         (WebInspector.DOMAgent.prototype.nodeForId):
2746         (WebInspector.DOMAgent.prototype._bindNodes):
2747         (WebInspector.DOMAgent.prototype._removeBreakpoints):
2748         (WebInspector.DOMDispatcher):
2749         (WebInspector.DOMDispatcher.prototype.setDocument):
2750         (WebInspector.DOMDispatcher.prototype.attributesUpdated):
2751         (WebInspector.DOMDispatcher.prototype.characterDataModified):
2752         (WebInspector.DOMDispatcher.prototype.setChildNodes):
2753         (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
2754         (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
2755         (WebInspector.DOMDispatcher.prototype.childNodeInserted):
2756         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
2757         (WebInspector.DOMDispatcher.prototype.didCommitLoad):
2758         (WebInspector.ApplicationCacheDispatcher):
2759         (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
2760         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
2761         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
2762         * inspector/front-end/DOMStorage.js:
2763         (WebInspector.DOMStorageDispatcher):
2764         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
2765         (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
2766         (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
2767         * inspector/front-end/Database.js:
2768         (WebInspector.Database.prototype.executeSql):
2769         (WebInspector.DatabaseDispatcher):
2770         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
2771         (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
2772         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
2773         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
2774         * inspector/front-end/DebuggerModel.js:
2775         (WebInspector.DebuggerModel):
2776         (WebInspector.DebuggerModel.prototype._pausedScript):
2777         (WebInspector.DebuggerModel.prototype._resumedScript):
2778         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2779         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
2780         (WebInspector.DebuggerDispatcher):
2781         (WebInspector.DebuggerDispatcher.prototype.pausedScript):
2782         (WebInspector.DebuggerDispatcher.prototype.resumedScript):
2783         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
2784         (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
2785         * inspector/front-end/FileSystemView.js:
2786         (WebInspector.FileSystemDispatcher):
2787         (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
2788         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
2789         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
2790         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
2791         * inspector/front-end/ProfilesPanel.js:
2792         (WebInspector.ProfilesPanel):
2793         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2794         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2795         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
2796         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2797         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
2798         (WebInspector.ProfilerDispatcher):
2799         (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
2800         (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
2801         (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
2802         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
2803         (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
2804         (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
2805         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
2806         (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
2807         * inspector/front-end/ResourceTreeModel.js:
2808         (WebInspector.ResourceTreeModel):
2809         * inspector/front-end/TimelinePanel.js:
2810         (WebInspector.TimelinePanel):
2811         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
2812         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
2813         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
2814         (WebInspector.TimelineDispatcher):
2815         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
2816         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
2817         (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):
2818
2819 2011-01-14  Csaba Osztrogonác  <ossy@webkit.org>
2820
2821         [Qt][V8] Unreviewed buildfix after r75788.
2822
2823         * inspector/InspectorBrowserDebuggerAgent.cpp:
2824
2825 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
2826
2827         Reviewed by Yury Semikhatsky.
2828
2829         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
2830         We have some methods of Debugger which are related to DOM.
2831         Lets extract these methods to BrowserDebugger agent.
2832
2833         http://bugs.webkit.org/show_bug.cgi?id=52294
2834
2835         * CMakeLists.txt:
2836         * WebCore.gypi:
2837         * WebCore.pro:
2838         * WebCore.vcproj/WebCore.vcproj:
2839         * WebCore.xcodeproj/project.pbxproj:
2840         * inspector/CodeGeneratorInspector.pm:
2841         * inspector/Inspector.idl:
2842         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
2843         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
2844         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
2845         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
2846         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
2847         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
2848         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
2849         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
2850         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
2851         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
2852         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
2853         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
2854         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
2855         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
2856         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
2857         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
2858         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
2859         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
2860         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
2861         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
2862         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
2863         * inspector/InspectorBrowserDebuggerAgent.h: Added.
2864         (WebCore::InspectorBrowserDebuggerAgent::create):
2865         * inspector/InspectorController.cpp:
2866         (WebCore::InspectorController::InspectorController):
2867         (WebCore::InspectorController::inspectedPageDestroyed):
2868         (WebCore::InspectorController::didCommitLoad):
2869         (WebCore::InspectorController::enableDebuggerFromFrontend):
2870         (WebCore::InspectorController::disableDebugger):
2871         (WebCore::InspectorController::restoreStickyBreakpoints):
2872         (WebCore::InspectorController::restoreStickyBreakpoint):
2873         * inspector/InspectorController.h:
2874         * inspector/InspectorDOMAgent.cpp:
2875         (WebCore::InspectorDOMAgent::discardBindings):
2876         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2877         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2878         * inspector/InspectorDOMAgent.h:
2879         * inspector/InspectorInstrumentation.cpp:
2880         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2881         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2882         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2883         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2884         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2885         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2886         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2887
2888 2011-01-14  Andrey Kosyakov  <caseq@chromium.org>
2889
2890         Reviewed by Pavel Feldman.
2891
2892         Web Inspector: redirected resources not handled properly in Network panel
2893         https://bugs.webkit.org/show_bug.cgi?id=52292
2894
2895         * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
2896         * inspector/InspectorInstrumentation.cpp: Ditto.
2897         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
2898         * inspector/InspectorResourceAgent.cpp: Ditto.
2899         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
2900         * inspector/InspectorResourceAgent.h: Ditto.
2901         * inspector/InspectorInstrumentation.cpp: Ditto.
2902         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
2903         * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
2904         * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
2905         (WebInspector.ConsoleMessage.prototype._formatMessage):
2906         * inspector/front-end/ExtensionServer.js: Ditto.
2907         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
2908         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2909         * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
2910         (WebInspector.HARLog.prototype.build):
2911         (WebInspector.HARLog.prototype._convertResource):
2912         * inspector/front-end/NetworkManager.js:
2913         (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
2914         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
2915         (WebInspector.NetworkManager.prototype.willSendRequest):
2916         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
2917         (WebInspector.NetworkManager.prototype.setInitialContent):
2918         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
2919         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
2920         (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
2921         (WebInspector.NetworkManager.prototype._appendRedirect):
2922         * inspector/front-end/NetworkPanel.js:
2923         (WebInspector.NetworkPanel):
2924         (WebInspector.NetworkPanel.prototype.get resources):
2925         (WebInspector.NetworkPanel.prototype.resourceById):
2926         (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
2927         (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
2928         (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
2929         * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
2930         (WebInspector.ResourceTreeModel.prototype._clearResources):
2931         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
2932         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
2933         (WebInspector.ResourceTreeModel.prototype.createResource):
2934         * inspector/front-end/inspector.js:
2935         (WebInspector.resourceById):
2936
2937 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2938
2939         Unreviewed, rolling out r75783.
2940         http://trac.webkit.org/changeset/75783
2941         https://bugs.webkit.org/show_bug.cgi?id=52439
2942
2943         a bit strange but the same patch have broken mac builds at
2944         linking stage. (Requested by loislo2 on #webkit).
2945
2946         * CMakeLists.txt:
2947         * GNUmakefile.am:
2948         * WebCore.gypi:
2949         * WebCore.pro:
2950         * WebCore.vcproj/WebCore.vcproj:
2951         * WebCore.xcodeproj/project.pbxproj:
2952         * inspector/CodeGeneratorInspector.pm:
2953         * inspector/Inspector.idl:
2954         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
2955         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
2956         * inspector/InspectorController.cpp:
2957         (WebCore::InspectorController::InspectorController):
2958         (WebCore::InspectorController::inspectedPageDestroyed):
2959         (WebCore::InspectorController::didCommitLoad):
2960         (WebCore::InspectorController::enableDebuggerFromFrontend):
2961         (WebCore::InspectorController::disableDebugger):
2962         (WebCore::InspectorController::restoreStickyBreakpoints):
2963         (WebCore::InspectorController::restoreStickyBreakpoint):
2964         (WebCore::InspectorController::setEventListenerBreakpoint):
2965         (WebCore::InspectorController::removeEventListenerBreakpoint):
2966         (WebCore::InspectorController::hasEventListenerBreakpoint):
2967         (WebCore::InspectorController::setXHRBreakpoint):
2968         (WebCore::InspectorController::removeXHRBreakpoint):
2969         (WebCore::InspectorController::hasXHRBreakpoint):
2970         * inspector/InspectorController.h:
2971         * inspector/InspectorDOMAgent.cpp:
2972         (WebCore::InspectorDOMAgent::discardBindings):
2973         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
2974         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
2975         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
2976         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
2977         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
2978         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
2979         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2980         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2981         (WebCore::InspectorDOMAgent::hasBreakpoint):
2982         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
2983         * inspector/InspectorDOMAgent.h:
2984         * inspector/InspectorInstrumentation.cpp:
2985         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2986         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2987         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2988         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2989         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2990         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2991         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2992
2993 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
2994
2995         Reviewed by Yury Semikhatsky.
2996
2997         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
2998         We have some methods of Debugger which are related to DOM.
2999         Lets extract these methods to BrowserDebugger agent.
3000
3001         http://bugs.webkit.org/show_bug.cgi?id=52294
3002
3003         * CMakeLists.txt:
3004         * WebCore.gypi:
3005         * WebCore.pro:
3006         * WebCore.vcproj/WebCore.vcproj:
3007         * WebCore.xcodeproj/project.pbxproj:
3008         * inspector/CodeGeneratorInspector.pm:
3009         * inspector/Inspector.idl:
3010         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
3011         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
3012         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
3013         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
3014         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
3015         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
3016         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
3017         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
3018         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
3019         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
3020         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
3021         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
3022         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
3023         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
3024         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
3025         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
3026         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3027         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
3028         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
3029         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3030         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
3031         * inspector/InspectorBrowserDebuggerAgent.h: Added.
3032         (WebCore::InspectorBrowserDebuggerAgent::create):
3033         * inspector/InspectorController.cpp:
3034         (WebCore::InspectorController::InspectorController):
3035         (WebCore::InspectorController::inspectedPageDestroyed):
3036         (WebCore::InspectorController::didCommitLoad):
3037         (WebCore::InspectorController::enableDebuggerFromFrontend):
3038         (WebCore::InspectorController::disableDebugger):
3039         (WebCore::InspectorController::restoreStickyBreakpoints):
3040         (WebCore::InspectorController::restoreStickyBreakpoint):
3041         * inspector/InspectorController.h:
3042         * inspector/InspectorDOMAgent.cpp:
3043         (WebCore::InspectorDOMAgent::discardBindings):
3044         (WebCore::InspectorDOMAgent::didInsertDOMNode):
3045         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3046         * inspector/InspectorDOMAgent.h:
3047         * inspector/InspectorInstrumentation.cpp:
3048         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3049         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3050         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3051         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3052         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3053         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3054         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3055
3056 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
3057
3058         Not reviewed: build fix.
3059
3060         * WebCore.vcproj/WebCore.vcproj:
3061
3062 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
3063
3064         Reviewed by Yury Semikhatsky.
3065
3066         Web Inspector: extract InspectorSettings from InspectorState,
3067         simplify it.
3068         https://bugs.webkit.org/show_bug.cgi?id=52429
3069
3070         * CMakeLists.txt:
3071         * GNUmakefile.am:
3072         * WebCore.gypi:
3073         * WebCore.pro:
3074         * WebCore.xcodeproj/project.pbxproj:
3075         * inspector/InspectorClient.h:
3076         * inspector/InspectorController.cpp:
3077         (WebCore::InspectorController::InspectorController):
3078         (WebCore::InspectorController::inspectorStartsAttached):
3079         (WebCore::InspectorController::setInspectorStartsAttached):
3080         (WebCore::InspectorController::setInspectorAttachedHeight):
3081         (WebCore::InspectorController::inspectorAttachedHeight):
3082         (WebCore::InspectorController::setMonitoringXHREnabled):
3083         (WebCore::InspectorController::restoreDebugger):
3084         (WebCore::InspectorController::restoreProfiler):
3085         (WebCore::InspectorController::ensureSettingsLoaded):
3086         (WebCore::InspectorController::enableProfiler):
3087         (WebCore::InspectorController::disableProfiler):
3088         (WebCore::InspectorController::enableDebuggerFromFrontend):
3089         (WebCore::InspectorController::disableDebugger):
3090         * inspector/InspectorController.h:
3091         * inspector/InspectorSettings.cpp: Added.
3092         (WebCore::InspectorSettings::InspectorSettings):
3093         (WebCore::InspectorSettings::getBoolean):
3094         (WebCore::InspectorSettings::setBoolean):
3095         (WebCore::InspectorSettings::getLong):
3096         (WebCore::InspectorSettings::setLong):
3097         (WebCore::InspectorSettings::registerBoolean):
3098         (WebCore::InspectorSettings::registerLong):
3099         * inspector/InspectorSettings.h: Added.
3100         * inspector/InspectorState.cpp:
3101         (WebCore::InspectorState::InspectorState):
3102         (WebCore::InspectorState::setValue):
3103         (WebCore::InspectorState::setObject):
3104         (WebCore::InspectorState::registerBoolean):
3105         (WebCore::InspectorState::registerString):
3106         (WebCore::InspectorState::registerLong):
3107         (WebCore::InspectorState::registerObject):
3108         (WebCore::InspectorState::Property::create):
3109         * inspector/InspectorState.h:
3110         (WebCore::InspectorState::setBoolean):
3111         (WebCore::InspectorState::setString):
3112         (WebCore::InspectorState::setLong):
3113
3114 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3115
3116         Unreviewed, rolling out r75774.
3117         http://trac.webkit.org/changeset/75774
3118         https://bugs.webkit.org/show_bug.cgi?id=52431
3119
3120         gtk builds were broken (Requested by loislo2 on #webkit).
3121
3122         * CMakeLists.txt:
3123         * WebCore.gypi:
3124         * WebCore.pro:
3125         * WebCore.vcproj/WebCore.vcproj:
3126         * WebCore.xcodeproj/project.pbxproj:
3127         * inspector/CodeGeneratorInspector.pm:
3128         * inspector/Inspector.idl:
3129         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
3130         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
3131         * inspector/InspectorController.cpp:
3132         (WebCore::InspectorController::InspectorController):
3133         (WebCore::InspectorController::inspectedPageDestroyed):
3134         (WebCore::InspectorController::didCommitLoad):
3135         (WebCore::InspectorController::enableDebuggerFromFrontend):
3136         (WebCore::InspectorController::disableDebugger):
3137         (WebCore::InspectorController::restoreStickyBreakpoints):
3138         (WebCore::InspectorController::restoreStickyBreakpoint):
3139         (WebCore::InspectorController::setEventListenerBreakpoint):
3140         (WebCore::InspectorController::removeEventListenerBreakpoint):
3141         (WebCore::InspectorController::hasEventListenerBreakpoint):
3142         (WebCore::InspectorController::setXHRBreakpoint):
3143         (WebCore::InspectorController::removeXHRBreakpoint):
3144         (WebCore::InspectorController::hasXHRBreakpoint):
3145         * inspector/InspectorController.h:
3146         * inspector/InspectorDOMAgent.cpp:
3147         (WebCore::InspectorDOMAgent::discardBindings):
3148         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
3149         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
3150         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
3151         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
3152         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
3153         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
3154         (WebCore::InspectorDOMAgent::didInsertDOMNode):
3155         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3156         (WebCore::InspectorDOMAgent::hasBreakpoint):
3157         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
3158         * inspector/InspectorDOMAgent.h:
3159         * inspector/InspectorInstrumentation.cpp:
3160         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3161         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3162         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3163         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3164         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3165         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3166         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3167
3168 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
3169
3170         Reviewed by Yury Semikhatsky.
3171
3172         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
3173         We have some methods of Debugger which are related to DOM.
3174         Lets extract these methods to BrowserDebugger agent.
3175
3176         http://bugs.webkit.org/show_bug.cgi?id=52294
3177
3178         * CMakeLists.txt:
3179         * WebCore.gypi:
3180         * WebCore.pro:
3181         * WebCore.vcproj/WebCore.vcproj:
3182         * WebCore.xcodeproj/project.pbxproj:
3183         * inspector/CodeGeneratorInspector.pm:
3184         * inspector/Inspector.idl:
3185         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
3186         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
3187         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
3188         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
3189         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
3190         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
3191         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
3192         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
3193         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
3194         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
3195         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
3196         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
3197         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
3198         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
3199         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
3200         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
3201         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3202         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
3203         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
3204         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3205         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
3206         * inspector/InspectorBrowserDebuggerAgent.h: Added.
3207         (WebCore::InspectorBrowserDebuggerAgent::create):
3208         * inspector/InspectorController.cpp:
3209         (WebCore::InspectorController::InspectorController):
3210         (WebCore::InspectorController::inspectedPageDestroyed):
3211         (WebCore::InspectorController::didCommitLoad):
3212         (WebCore::InspectorController::enableDebuggerFromFrontend):
3213         (WebCore::InspectorController::disableDebugger):
3214         (WebCore::InspectorController::restoreStickyBreakpoints):
3215         (WebCore::InspectorController::restoreStickyBreakpoint):
3216         * inspector/InspectorController.h:
3217         * inspector/InspectorDOMAgent.cpp:
3218         (WebCore::InspectorDOMAgent::discardBindings):
3219         (WebCore::InspectorDOMAgent::didInsertDOMNode):
3220         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3221         * inspector/InspectorDOMAgent.h:
3222         * inspector/InspectorInstrumentation.cpp:
3223         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3224         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3225         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3226         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3227         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3228         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3229         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3230
3231 2011-01-13  Kent Tamura  <tkent@chromium.org>
3232
3233         Reviewed by Dimitri Glazkov.
3234
3235         Implement form validation message UI
3236         https://bugs.webkit.org/show_bug.cgi?id=48980
3237
3238         * Add four internal pseudo selectors:
3239           - -webkit-validation-bubble
3240           - -webkit-validation-bubble-message
3241           - -webkit-validation-bubble-top-outer-arrow
3242           - -webkit-validation-bubble-top-inner-arrow
3243
3244         * Implement ValidationMessage functions
3245           Show the message for <the number of characters> / 20.0 seconds.
3246
3247         No new tests because the feature is disabled by default for now and the
3248         new behavior is strongly timing-dependent.
3249
3250         * css/CSSStyleSelector.cpp:
3251         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3252           Do not share a style with elements with different shadowPseudoId().
3253         * css/html.css: Define appearance for the internal selectors.
3254         (::-webkit-validation-bubble):
3255         (::-webkit-validation-bubble-message):
3256         (::-webkit-validation-bubble-top-outer-arrow):
3257         (::-webkit-validation-bubble-top-inner-arrow):
3258         * dom/Node.cpp:
3259         (WebCore::Node::createRendererIfNeeded):
3260           Allow to add shadow renderers even if canHaveChildren() returns false.
3261         * html/HTMLFormControlElement.cpp:
3262         (WebCore::HTMLFormControlElement::detach):
3263           Remove m_validationMessage immediately because we can't use
3264           hideVisibleValidationMessage(), which calls a ValidationMessage function later.
3265         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
3266           - Don't create ValidationMessage if the message is empty.
3267           - Remove the check for message equality.
3268         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
3269           Don't remove m_validationMessage immediately. We shouldn't make the
3270           element needsLayout() state in this context.
3271         * html/ValidationMessage.cpp:
3272         (WebCore::ValidationMessage::~ValidationMessage):
3273           hideMessage() -> deleteBubbleTree() renaming.
3274         (WebCore::ValidationMessage::setMessage): Implemented.
3275         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
3276           Added. This updates the validation message and starts the timer to hide it.
3277         (WebCore::ElementWithPseudoId):
3278           Added to help implementations of styled shadow nodes.
3279         (WebCore::ValidationMessage::buildBubbleTree): Added.
3280         (WebCore::ValidationMessage::requestToHideMessage): Added.
3281         (WebCore::ValidationMessage::deleteBubbleTree):
3282           Renamed from hideMessage(), and implemented.
3283         * html/ValidationMessage.h: Add declarations.
3284
3285 2011-01-13  Dan Bernstein  <mitz@apple.com>
3286
3287         Reviewed by Alexey Proskuryakov.
3288
3289         <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
3290         https://bugs.webkit.org/show_bug.cgi?id=52419
3291
3292         Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
3293
3294         * loader/ResourceLoader.cpp:
3295         (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
3296         willSendRequest(). Otherwise, willSendRequest() ends up calling into
3297         ThreadableDocumentRequest::willSendRequest(), which cancels the request.
3298
3299 2011-01-13  Dan Bernstein  <mitz@apple.com>
3300
3301         Reviewed by Mark Rowe.
3302
3303         Don’t try to compile InjectedScriptSource.js into WebCore.
3304
3305         * WebCore.xcodeproj/project.pbxproj:
3306
3307 2011-01-13  Mike Thole  <mthole@apple.com>
3308
3309         Reviewed by Darin Adler and Brady Eidson.
3310
3311         The pageScaleFactor() should be saved/restored along with the scroll position
3312         https://bugs.webkit.org/show_bug.cgi?id=52406
3313         <rdar://problem/8714412>
3314
3315         * history/HistoryItem.cpp:
3316         (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
3317         (WebCore::HistoryItem::pageScaleFactor): Added getter.
3318         (WebCore::HistoryItem::setPageScaleFactor): Added setter.
3319         (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
3320         (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
3321         * history/HistoryItem.h:
3322         * loader/HistoryController.cpp:
3323         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
3324         (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.
3325
3326 2011-01-13  Evan Martin  <evan@chromium.org>
3327
3328         Reviewed by Tony Chang.
3329
3330         [chromium] drop backwards iteration in Linux complex text code
3331         https://bugs.webkit.org/show_bug.cgi?id=52403
3332
3333         ComplexTextController previously supported iterating through the text in
3334         both directions, but this resulted in duplicate code for each path.
3335         Instead, by being more careful about flipping signs where appropriate,
3336         we can refactor the code into one code path.
3337
3338         No tests, just a refactoring; should be covered by existing tests.
3339
3340         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
3341         (WebCore::ComplexTextController::ComplexTextController):
3342         (WebCore::ComplexTextController::reset):
3343         (WebCore::ComplexTextController::nextScriptRun):
3344         * platform/graphics/chromium/ComplexTextControllerLinux.h:
3345         * platform/graphics/chromium/FontLinux.cpp:
3346         (WebCore::glyphIndexForXPositionInScriptRun):
3347         (WebCore::Font::selectionRectForComplexText):
3348
3349 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
3350
3351         Reviewed by Darin Adler.
3352
3353         Flip input[type=range] to use the new shadow DOM model.
3354         https://bugs.webkit.org/show_bug.cgi?id=52317
3355
3356         This is a straight-up flip, minimal change to the logic, which will be
3357         refactored in a follow-up patch.
3358
3359         Covered by existing tests.
3360
3361         * css/CSSStyleSelector.cpp:
3362         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
3363             host or parent node to find parent.
3364         * html/HTMLInputElement.cpp:
3365         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
3366             shadow DOM subtree.
3367         * html/InputType.cpp:
3368         (WebCore::InputType::createShadowSubtree): Added empty decl.
3369         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
3370             shadow subtree.
3371         * html/InputType.h: Added defs.
3372         * html/RangeInputType.cpp:
3373         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
3374             slider thumb.
3375         * html/RangeInputType.h: Adde def.
3376         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
3377             to handle cascading appearance.
3378         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
3379         (WebCore::RenderSliderThumb::layout): Moved here the logic from
3380             RenderSlider::createThumbStyle.
3381         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
3382             create RenderSliderThumb instance.
3383         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
3384             as base class.
3385         (WebCore::SliderThumbElement::detach): Ditto.
3386         * html/shadow/SliderThumbElement.h:
3387         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
3388         (WebCore::SliderThumbElement::create): Ditto.
3389         (WebCore::toSliderThumbElement): Added a casting helper.
3390         * rendering/MediaControlElements.cpp:
3391         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
3392             since the whole method is hand-rolled.
3393         (WebCore::MediaControlInputElement::updateStyle): Ditto.
3394         * rendering/RenderSlider.cpp:
3395         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
3396         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
3397         (WebCore::RenderSlider::layout): Ditto.
3398         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
3399             SliderThumbElement.
3400         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
3401         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
3402         (WebCore::RenderSlider::setValueForPosition): Ditto.
3403         (WebCore::RenderSlider::positionForOffset): Ditto.
3404         (WebCore::RenderSlider::currentPosition): Ditto.
3405         (WebCore::RenderSlider::trackSize): Ditto.
3406         (WebCore::RenderSlider::forwardEvent): Ditto.
3407         (WebCore::RenderSlider::inDragMode): Ditto.
3408         * rendering/RenderSlider.h: Added def.
3409
3410 2011-01-13  Adam Barth  <abarth@webkit.org>
3411
3412         Reviewed by Eric Seidel.
3413
3414         Rename RGBA32Buffer to ImageFrame
3415         https://bugs.webkit.org/show_bug.cgi?id=52363
3416
3417         RGBA32Buffer is a terrible misnomer.  ImageFrame is vastly
3418         more accurate.  More cleanup to come.
3419
3420         * WebCore.pro:
3421         * platform/graphics/ImageSource.cpp:
3422         (WebCore::ImageSource::createFrameAtIndex):
3423         (WebCore::ImageSource::frameDurationAtIndex):
3424         (WebCore::ImageSource::frameIsCompleteAtIndex):
3425         * platform/graphics/qt/ImageDecoderQt.cpp:
3426         (WebCore::ImageDecoderQt::frameBufferAtIndex):
3427         (WebCore::ImageDecoderQt::internalReadImage):
3428         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
3429         * platform/graphics/qt/ImageDecoderQt.h:
3430         * platform/graphics/wince/ImageWinCE.cpp:
3431         (WebCore::ImageFrame::asNewNativeImage):
3432         * platform/image-decoders/ImageDecoder.cpp:
3433         (WebCore::ImageFrame::ImageFrame):
3434         (WebCore::ImageFrame::operator=):
3435         (WebCore::ImageFrame::clear):
3436         (WebCore::ImageFrame::zeroFill):
3437         (WebCore::ImageFrame::copyReferenceToBitmapData):
3438         (WebCore::ImageFrame::copyBitmapData):
3439         (WebCore::ImageFrame::setSize):
3440         (WebCore::ImageFrame::hasAlpha):
3441         (WebCore::ImageFrame::setHasAlpha):
3442         (WebCore::ImageFrame::setColorProfile):
3443         (WebCore::ImageFrame::setStatus):
3444         (WebCore::ImageFrame::width):
3445         (WebCore::ImageFrame::height):
3446         * platform/image-decoders/ImageDecoder.h:
3447         (WebCore::ImageFrame::ImageFrame):
3448         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
3449         (WebCore::BMPImageDecoder::frameBufferAtIndex):
3450         (WebCore::BMPImageDecoder::decode):
3451         * platform/image-decoders/bmp/BMPImageDecoder.h:
3452         * platform/image-decoders/bmp/BMPImageReader.cpp:
3453         (WebCore::BMPImageReader::decodeBMP):
3454         * platform/image-decoders/bmp/BMPImageReader.h:
3455         (WebCore::BMPImageReader::setBuffer):
3456         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
3457         (WebCore::ImageFrame::asNewNativeImage):
3458         * platform/image-decoders/cg/ImageDecoderCG.cpp:
3459         (WebCore::getPtrAsPixelData):
3460         (WebCore::ImageFrame::copyReferenceToBitmapData):
3461         (WebCore::ImageFrame::copyBitmapData):
3462         (WebCore::ImageFrame::setSize):
3463         (WebCore::ImageFrame::asNewNativeImage):
3464         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3465         (WebCore::GIFImageDecoder::frameBufferAtIndex):
3466         (WebCore::GIFImageDecoder::clearFrameBufferCache):
3467         (WebCore::GIFImageDecoder::haveDecodedRow):
3468         (WebCore::GIFImageDecoder::frameComplete):
3469         (WebCore::GIFImageDecoder::initFrameBuffer):
3470         * platform/image-decoders/gif/GIFImageDecoder.h:
3471         * platform/image-decoders/gif/GIFImageReader.cpp:
3472         (GIFImageReader::read):
3473         * platform/image-decoders/gif/GIFImageReader.h:
3474         (GIFFrameReader::GIFFrameReader):