f462e19a963fd11aab6b43141a984c9156479b15
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-08  Yael Aharon  <yael.aharon@nokia.com>
2
3         Reviewed by Antti Koivisto.
4
5         Crash when logging into gmail.com with frame flattening turned on.
6         https://bugs.webkit.org/show_bug.cgi?id=52449
7
8         Frame flattening algorithm requires that layout always starts from the main frame, since layout of
9         subframes impacts the layout of their parents. 
10         There are places in the code that call view->layout() not on the main frame.
11         Instead of changing all the callsites, I changed FrameView::layout()
12         to force layout from the main frame if frame flattening is enabled.
13         In addition, postLayoutTasks can trigger relayout, so make it use the timer even more.
14         Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(), 
15         because calling the from layout() leads to a crash in pages that have a selection in an iframe.
16
17         Tests: fast/frames/flattening/iframe-flattening-crash.html
18                fast/frames/flattening/iframe-flattening-selection-crash.html
19
20         * page/FrameView.cpp:
21         (WebCore::FrameView::layout):
22         (WebCore::FrameView::performPostLayoutTasks):
23
24 2011-02-08  Andy Estes  <aestes@apple.com>
25
26         Reviewed by Darin Adler.
27
28         <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be
29         a supported contentEditable mode.
30         https://bugs.webkit.org/show_bug.cgi?id=54041
31
32         * html/HTMLElement.cpp:
33         (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
34         attribute to 'plaintext-only' should not throw an exception.
35
36 2011-02-08  Dan Bernstein  <mitz@apple.com>
37
38         Reviewed by Simon Fraser.
39
40         RenderRubyRun::m_beingDestroyed is redundant
41         https://bugs.webkit.org/show_bug.cgi?id=54042
42
43         * rendering/RenderRubyRun.cpp:
44         (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed.
45         (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed(). 
46         * rendering/RenderRubyRun.h:
47
48 2011-02-08  Levi Weintraub  <leviw@chromium.org>
49
50         Reviewed by Ryosuke Niwa.
51
52         Stop instantiating legacy editing Positions in VisiblePosition
53         https://bugs.webkit.org/show_bug.cgi?id=52919
54
55         Changing VisiblePosition completely away from legacy positions.
56
57         No new tests since this is functionaly equivalent.
58
59         * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
60         adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
61         outside of WebCore, they should be parent anchored.
62         * accessibility/AXObjectCache.cpp:
63         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
64         * accessibility/AccessibilityObject.cpp:
65         (WebCore::startOfStyleRange):
66         (WebCore::endOfStyleRange):
67         * accessibility/AccessibilityRenderObject.cpp:
68         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
69         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
70         (objectAndOffsetUnignored):
71         * dom/Position.cpp:
72         (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
73         (WebCore::Position::downstream): ditto
74         * dom/Range.cpp:
75         (WebCore::Range::editingStartPosition):
76         * editing/Editor.cpp:
77         (WebCore::Editor::canDeleteRange):
78         * editing/ReplaceSelectionCommand.cpp:
79         (WebCore::ReplaceSelectionCommand::doApply):
80         * editing/SelectionController.cpp:
81         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
82         (WebCore::SelectionController::setSelectedRange):
83         * editing/TextIterator.cpp:
84         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
85         * editing/TypingCommand.cpp:
86         (WebCore::TypingCommand::deleteKeyPressed):
87         * editing/VisiblePosition.cpp:
88         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
89         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
90         (WebCore::VisiblePosition::canonicalPosition):
91         (WebCore::VisiblePosition::characterAfter):
92         (WebCore::VisiblePosition::localCaretRect):
93         (WebCore::makeRange):
94         (WebCore::startVisiblePosition):
95         (WebCore::endVisiblePosition):
96         (WebCore::setStart):
97         (WebCore::setEnd):
98         (WebCore::isFirstVisiblePositionInNode):
99         (WebCore::isLastVisiblePositionInNode):
100         * editing/VisiblePosition.h:
101         (WebCore::VisiblePosition::VisiblePosition):
102         * editing/htmlediting.cpp:
103         (WebCore::firstInSpecialElement):
104         (WebCore::lastInSpecialElement):
105         (WebCore::visiblePositionBeforeNode):
106         (WebCore::visiblePositionAfterNode):
107         * editing/visible_units.cpp:
108         (WebCore::startPositionForLine):
109         (WebCore::endPositionForLine):
110         (WebCore::previousLinePosition):
111         (WebCore::nextLinePosition):
112         (WebCore::startOfParagraph):
113         (WebCore::endOfParagraph):
114         (WebCore::endOfBlock):
115         (WebCore::startOfDocument):
116         (WebCore::endOfDocument):
117         (WebCore::logicalStartPositionForLine):
118         (WebCore::logicalEndPositionForLine):
119         * page/DOMSelection.cpp:
120         (WebCore::DOMSelection::collapse):
121         (WebCore::DOMSelection::setBaseAndExtent):
122         (WebCore::DOMSelection::setPosition):
123         (WebCore::DOMSelection::extend):
124         * page/EventHandler.cpp:
125         (WebCore::EventHandler::handleMousePressEventSingleClick):
126         * rendering/RenderObject.cpp:
127         (WebCore::RenderObject::createVisiblePosition):
128         * rendering/RenderTextControl.cpp:
129         (WebCore::RenderTextControl::visiblePositionForIndex):
130         * svg/SVGTextContentElement.cpp:
131         (WebCore::SVGTextContentElement::selectSubString):
132
133 2011-02-08  Michael Saboff  <msaboff@apple.com>
134
135         JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
136         https://bugs.webkit.org/show_bug.cgi?id=53716
137
138         Changed ASSERT to be an if for the case where the RuntimeObject was
139         GC'ed before RootObject::invalidate is called.  In that case there is 
140         no need to remove the RuntimeObject from the RootObject.  The isValid()
141         call will be false in this case, but the RuntimeObject has already
142         been removed from the RootObject.  Added similar defensive code
143         in RootObject::removeRuntimeObject().
144
145         * bridge/jsc/BridgeJSC.cpp:
146         (JSC::Bindings::Instance::willDestroyRuntimeObject):
147         * bridge/runtime_root.cpp:
148         (JSC::Bindings::RootObject::removeRuntimeObject):
149
150 2011-02-08  Beth Dakin  <bdakin@apple.com>
151
152         Reviewed by Darin Adler.
153
154         Fix for <rdar://problem/8953365> CrashTracer: 14 
155         crashes in WebProcess at com.apple.WebCore: 
156         -[ScrollKnobAnimation setCurrentProgress:] + 258
157
158         This crash seems to happen when the animation is running
159         and a window is closed. If the ScrollAnimator is destroyed,
160         delegate calls for the animation can still run, so we have 
161         to make sure we inform the delegates when the ScrollAnimator 
162         is gone, and then we have to null-check it before we do 
163         anything with it.
164
165         Remove scrollbarPainterDelegate() since it's not used anymore.
166         * platform/mac/ScrollAnimatorMac.h:
167         * platform/mac/ScrollAnimatorMac.mm:
168         
169         Add null-checks for _animator
170         (-[ScrollbarPartAnimation setCurrentProgress:]):
171         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
172         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
173         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
174         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
175         
176         New function to inform the delegates that the ScrollAnimator
177         is being destroyed.
178         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
179         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
180
181 2011-02-08  Adam Barth  <abarth@webkit.org>
182
183         Reviewed by Eric Seidel.
184
185         Remove orphan code from old parser
186         https://bugs.webkit.org/show_bug.cgi?id=53984
187
188         This code appears to be unused.
189
190         * html/HTMLParserErrorCodes.cpp:
191         * html/HTMLParserErrorCodes.h:
192         * html/HTMLParserQuirks.h:
193         * loader/EmptyClients.h:
194         * page/ChromeClient.h:
195
196 2011-02-08  Martin Robinson  <mrobinson@igalia.com>
197
198         Reviewed by Gustavo Noronha Silva.
199
200         [GTK] Move scrollbar rendering out of gtk2drawing.c
201         https://bugs.webkit.org/show_bug.cgi?id=52836
202
203         Replace gtk2drawing.c scrollbar rendering with our own version. This
204         is the last use of the Mozilla theme drawing code.
205
206         No new tests. This should not change the rendering of the default
207         theme.
208
209         * platform/gtk/GtkVersioning.h: Add some more backported allocation setters.
210         * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets.
211         * platform/gtk/RenderThemeGtk2.cpp:  Initialize and add getters for scrollbar widgets.
212         (WebCore::RenderThemeGtk::platformInit): Ditto.
213         (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto.
214         (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto.
215         * platform/gtk/ScrollbarThemeGtk.cpp: 
216         (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled
217         window background if we are repainting a button or the thumb. In that
218         case also repaint the track rect.
219         * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext.
220         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto.
221         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
222         (WebCore::getWidgetForScrollbar): Ditto.
223         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
224         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
225         (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
226         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
227         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
228         (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which
229         also adjusts a widget allocation according to the paint rect. This is
230         necessary to properly draw scrollbar buttons.
231         * platform/gtk/WidgetRenderingContext.h: Ditto.
232
233 2011-02-08  Simon Fraser  <simon.fraser@apple.com>
234
235         Reviewed by Dan Bernstein.
236
237         Inset shadow with large offset renders incorrectly
238         https://bugs.webkit.org/show_bug.cgi?id=53882
239         
240         Fix an issue with inset shadows, when the shadow offset
241         was larger than the box size. In this case we'd fail to
242         fill the box with the shadow color.
243
244         Test: fast/box-shadow/inset-shadow-large-offset.html
245
246         * rendering/RenderBoxModelObject.cpp:
247         (WebCore::areaCastingShadowInHole): Return a rect that covers the area
248         which contributes to the inset shadow.
249         
250         (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
251         to compute the outerRect.
252
253 2011-02-08  Zhenyao Mo  <zmo@google.com>
254
255         Reviewed by Kenneth Russell.
256
257         drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
258         https://bugs.webkit.org/show_bug.cgi?id=54017
259
260         * html/canvas/WebGLRenderingContext.cpp:
261         (WebCore::WebGLRenderingContext::drawElements):
262
263 2011-01-28  Dimitri Glazkov  <dglazkov@chromium.org>
264
265         Reviewed by Darin Adler.
266
267         Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
268         https://bugs.webkit.org/show_bug.cgi?id=53190
269
270         This is the second part of refactoring the HTMLMediaElement to use new
271         shadow DOM. The changes are mainly mechanical, except for needing to
272         add a new method to RenderTheme, which indicates whether or not status
273         display is being used by it. Previously, we relied on existence of a cached
274         pseudo style.
275
276         Refactoring, covered by existing tests.
277
278         * css/CSSSelector.cpp:
279         (WebCore::CSSSelector::pseudoId): Removed now-unused enum values.
280         (WebCore::nameToPseudoTypeMap): Ditto.
281         (WebCore::CSSSelector::extractPseudoType): Ditto.
282         * css/CSSSelector.h: Ditto.
283         * html/shadow/MediaControls.cpp:
284         (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement.
285         (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added
286             MediaControlCurrentTimeDisplayElement.
287         (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added
288                 MediaControlTimeRemainingDisplayElement.
289         * rendering/MediaControlElements.cpp:
290         (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the
291             standard style resolution.
292         (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added.
293         (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement
294             that is no longer necessary.
295         (WebCore::MediaControlElement::styleForElement): Changed to use the standard
296             style resolution.
297         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added.
298         (WebCore::MediaControlPanelElement::create): Added.
299         (WebCore::MediaControlPanelElement::displayType): Added.
300         (WebCore::MediaControlPanelElement::shadowPseudoId): Added.
301         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
302             Removed PseudoId constructor arg.
303         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
304             Changed to use the newly-plumbed usesMediaControlStatusDisplay helper.
305         (WebCore::MediaControlTimelineContainerElement::displayType): Added.
306         (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added.
307         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
308             Removed PseudoId constructor arg.
309         (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added.
310         (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added.
311         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
312             Removed PseudoId constructor arg.
313         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to
314             use the newly-plumbed usesMediaControlStatusDisplay helper.
315         (WebCore::MediaControlStatusDisplayElement::displayType): Added.
316         (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added.
317         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
318             Removed PseudoId constructor arg.
319         (WebCore::MediaControlTimeRemainingDisplayElement::create): Added.
320         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added.
321         (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added.
322         (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added.
323         (WebCore::MediaControlCurrentTimeDisplayElement::create): Added.
324         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added.
325         (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added.
326         (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added.
327         * rendering/MediaControlElements.h: Added/changed defs accordingly.
328         * rendering/RenderTheme.h:
329         (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added.
330         * rendering/RenderThemeMac.h: Added def.
331         * rendering/RenderThemeMac.mm:
332         (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added.
333         * rendering/style/RenderStyleConstants.h: Removed now-unused enum values.
334
335 2011-02-08  Xiaomei Ji  <xji@chromium.org>
336
337         Reviewed by Dan Bernstein.
338
339         Fix pop-up button text not rendered correctly according to its direction
340         in <option>.
341         https://bugs.webkit.org/show_bug.cgi?id=53642
342  
343         In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi 
344         changes, set it needs layout.
345
346         Test: fast/text/international/pop-up-button-text-alignment-and-direction.html
347
348         * rendering/RenderMenuList.cpp:
349         (WebCore::RenderMenuList::adjustInnerStyle):
350
351 2011-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
352
353         Unreviewed build fix for Qt-minimal.
354
355         * inspector/InspectorInstrumentation.h:
356         (WebCore::InspectorInstrumentation::hasFrontend):
357
358 2011-02-02  Ilya Tikhonovsky  <loislo@chromium.org>
359
360         Reviewed by Yury Semikhatsky.
361
362         Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
363
364         https://bugs.webkit.org/show_bug.cgi?id=53169
365
366         All the Inspector API for WebCore has two parts.
367         The first one is InspectorInstrumentation for WebCore.
368         The second is InspectorController for WebKit.
369         InspectorAgent was produced by renaming original InspectorController.
370         This patch extracts WebKit related methods from InspectorAgent to InspectorController.
371
372         * WebCore.exp.in:
373         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
374         * html/HTMLDocument.cpp:
375         (WebCore::HTMLDocument::createParser):
376         * inspector/InspectorAgent.cpp:
377         (WebCore::InspectorAgent::InspectorAgent):
378         (WebCore::InspectorAgent::~InspectorAgent):
379         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
380         (WebCore::InspectorAgent::inspect):
381         (WebCore::InspectorAgent::handleMousePress):
382         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
383         (WebCore::InspectorAgent::setFrontend):
384         (WebCore::InspectorAgent::disconnectFrontend):
385         (WebCore::InspectorAgent::resourceAgent):
386         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
387         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
388         (WebCore::InspectorAgent::populateScriptObjects):
389         (WebCore::InspectorAgent::pushDataCollectedOffline):
390         (WebCore::InspectorAgent::restoreProfiler):
391         (WebCore::InspectorAgent::startTimelineProfiler):
392         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
393         (WebCore::InspectorAgent::didOpenDatabase):
394         (WebCore::InspectorAgent::didUseDOMStorage):
395         (WebCore::InspectorAgent::showAndEnableDebugger):
396         (WebCore::InspectorAgent::enableDebugger):
397         (WebCore::InspectorAgent::enabled):
398         * inspector/InspectorAgent.h:
399         (WebCore::InspectorAgent::frontend):
400         * inspector/InspectorController.cpp:
401         (WebCore::InspectorController::InspectorController):
402         (WebCore::InspectorController::~InspectorController):
403         (WebCore::InspectorController::setInspectorFrontendClient):
404         (WebCore::InspectorController::hasInspectorFrontendClient):
405         (WebCore::InspectorController::didClearWindowObjectInWorld):
406         (WebCore::InspectorController::startTimelineProfiler):
407         (WebCore::InspectorController::stopTimelineProfiler):
408         (WebCore::InspectorController::connectFrontend):
409         (WebCore::InspectorController::disconnectFrontend):
410         (WebCore::InspectorController::disconnectFrontendImpl):
411         (WebCore::InspectorController::show):
412         (WebCore::InspectorController::close):
413         (WebCore::InspectorController::restoreInspectorStateFromCookie):
414         (WebCore::InspectorController::evaluateForTestInFrontend):
415         (WebCore::InspectorController::drawNodeHighlight):
416         (WebCore::InspectorController::inspect):
417         (WebCore::InspectorController::enabled):
418         (WebCore::InspectorController::showPanel):
419         (WebCore::InspectorController::frontendLoaded):
420         (WebCore::InspectorController::timelineProfilerEnabled):
421         (WebCore::InspectorController::enableProfiler):
422         (WebCore::InspectorController::disableProfiler):
423         (WebCore::InspectorController::profilerEnabled):
424         (WebCore::InspectorController::debuggerEnabled):
425         (WebCore::InspectorController::showAndEnableDebugger):
426         (WebCore::InspectorController::disableDebugger):
427         (WebCore::InspectorController::startUserInitiatedProfiling):
428         (WebCore::InspectorController::stopUserInitiatedProfiling):
429         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
430         (WebCore::InspectorController::setInspectorExtensionAPI):
431         (WebCore::InspectorController::resume):
432         (WebCore::InspectorController::hideHighlight):
433         (WebCore::InspectorController::dispatchMessageFromFrontend):
434         * inspector/InspectorController.h:
435         (WebCore::InspectorController::inspectorClient):
436         (WebCore::InspectorController::inspectedPage):
437         (WebCore::InspectorController::hasFrontend):
438         * inspector/InspectorFrontendClientLocal.cpp:
439         (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
440         * inspector/InspectorFrontendHost.cpp:
441         (WebCore::InspectorFrontendHost::setExtensionAPI):
442         * inspector/InspectorInstrumentation.cpp:
443         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
444         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
445         * inspector/InspectorInstrumentation.h:
446         (WebCore::InspectorInstrumentation::hasFrontend):
447         * loader/FrameLoader.cpp:
448         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
449
450 2011-02-08  George Wright  <gwright@rim.com>
451
452         Reviewed by Adam Barth.
453
454         https://bugs.webkit.org/show_bug.cgi?id=53949
455
456         Ensure that we pack the colour byte order correctly for Skia using
457         Skia's SkPackARGB32 function.
458
459         * platform/image-decoders/ImageDecoder.h:
460         (WebCore::ImageFrame::setRGBA):
461
462 2011-02-08  George Wright  <gwright@rim.com>
463
464         Reviewed by Darin Adler.
465
466         https://bugs.webkit.org/show_bug.cgi?id=53951
467
468         Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
469         pass the full image dimensions.
470
471         * platform/graphics/GraphicsContext.cpp:
472         (WebCore::GraphicsContext::drawImageBuffer):
473
474 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
475
476         Reviewed by Adam Roben.
477
478         [WIN] Add missing includes and forward declarations for DownloadBundle
479         https://bugs.webkit.org/show_bug.cgi?id=53881
480
481         * platform/network/cf/DownloadBundle.h:
482         * platform/network/win/DownloadBundleWin.cpp:
483         (WebCore::DownloadBundle::appendResumeData):
484
485 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
486
487         Reviewed by Adam Roben.
488
489         [WIN] Add missing include in WKCAImageQueue
490         https://bugs.webkit.org/show_bug.cgi?id=53890
491
492         * platform/graphics/win/WKCAImageQueue.cpp:
493
494 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
495
496         Reviewed by Adam Roben.
497
498         [WIN] Add missing includes and forward declarations for CFNetwork
499         https://bugs.webkit.org/show_bug.cgi?id=53883
500
501         * platform/network/cf/DNSCFNet.cpp:
502         * platform/network/cf/LoaderRunLoopCF.cpp:
503         * platform/network/cf/LoaderRunLoopCF.h:
504         * platform/network/cf/ProxyServerCFNet.cpp:
505         * platform/network/cf/SocketStreamHandle.h:
506         * platform/network/cf/SocketStreamHandleCFNet.cpp:
507
508 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
509
510         Unreviewed WinCE build fix for r77870.
511
512         * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.
513
514 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
515
516         Reviewed by Yury Semikhatsky.
517
518         Web Inspector: open network resource url in new tab upon double click.
519         https://bugs.webkit.org/show_bug.cgi?id=53930
520
521         * inspector/front-end/NetworkPanel.js:
522         (WebInspector.NetworkDataGridNode.prototype.createCells):
523         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
524
525 2011-02-08  Yonathan Randolph  <yonathan@gmail.com>
526
527         Reviewed by Pavel Feldman.
528
529         Web Inspector: $x: any node should work in optional context parameter.
530         https://bugs.webkit.org/show_bug.cgi?id=50138
531
532         * inspector/InjectedScriptSource.js:
533
534 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
535
536         Unreviewed WinCE build fix for r77870.
537
538         Remove the global namespace prefix from GlobalLock/GlobalUnlock.
539
540         * platform/win/ClipboardUtilitiesWin.cpp:
541
542 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
543
544         Not reviewed: re-apply r77924.
545
546         Test: inspector/console-api-on-call-frame.html
547
548         * inspector/InjectedScriptSource.js:
549         * inspector/front-end/ExtensionServer.js:
550         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
551
552 2011-02-08  Andreas Kling  <kling@webkit.org>
553
554         Reviewed by Tor Arne Vestbø.
555
556         REGRESSION(r77312): Unbreak TiledBackingStore.
557
558         Due to an off-by-one error, we were no longer rendering the
559         rightmost column and bottom row of tiles.
560
561         Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().
562
563         * platform/graphics/TiledBackingStore.cpp:
564         (WebCore::TiledBackingStore::invalidate):
565         (WebCore::TiledBackingStore::updateTileBuffers):
566         (WebCore::TiledBackingStore::paint):
567         (WebCore::TiledBackingStore::createTiles):
568
569 2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
570
571         Unreviewed, rolling out r77924.
572         http://trac.webkit.org/changeset/77924
573         https://bugs.webkit.org/show_bug.cgi?id=53997
574
575         Breaks inspector tests. (Requested by pfeldman on #webkit).
576
577         * inspector/InjectedScriptSource.js:
578         (.):
579         ():
580
581 2011-02-08  Andrey Kosyakov  <caseq@chromium.org>
582
583         Reviewed by Pavel Feldman.
584
585         Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent
586         https://bugs.webkit.org/show_bug.cgi?id=53789
587          - perform UserAgent override via InspectorInstrumentation
588          - move adding extra request headers to InspectorResourceAgent
589          - simplified things in InspectorState
590
591         * inspector/Inspector.idl:
592         * inspector/InspectorAgent.cpp:
593         (WebCore::InspectorAgent::disconnectFrontend):
594         (WebCore::InspectorAgent::applyUserAgentOverride):
595         * inspector/InspectorAgent.h:
596         * inspector/InspectorInstrumentation.cpp:
597         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
598         (WebCore::InspectorInstrumentation::willSendRequestImpl):
599         * inspector/InspectorInstrumentation.h:
600         (WebCore::InspectorInstrumentation::applyUserAgentOverride):
601         * inspector/InspectorResourceAgent.cpp:
602         (WebCore::InspectorResourceAgent::setExtraHeaders):
603         (WebCore::InspectorResourceAgent::willSendRequest):
604         * inspector/InspectorResourceAgent.h:
605         * inspector/InspectorState.cpp:
606         (WebCore::InspectorState::InspectorState):
607         (WebCore::InspectorState::restoreFromInspectorCookie):
608         (WebCore::InspectorState::updateCookie):
609         (WebCore::InspectorState::setValue):
610         (WebCore::InspectorState::getBoolean):
611         (WebCore::InspectorState::getString):
612         (WebCore::InspectorState::getLong):
613         (WebCore::InspectorState::getObject):
614         * inspector/InspectorState.h:
615         (WebCore::InspectorState::setObject):
616         * loader/FrameLoader.cpp:
617         (WebCore::FrameLoader::userAgent):
618
619 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
620
621         Reviewed by Yury Semikhatsky.
622
623         Web Inspector: do not hide scope variables with command line api.
624         https://bugs.webkit.org/show_bug.cgi?id=53497
625
626         Test: inspector/console-api-on-call-frame.html
627
628         * inspector/InjectedScriptSource.js:
629
630 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
631
632         Reviewed by Yury Semikhatsky.
633
634         Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
635         https://bugs.webkit.org/show_bug.cgi?id=53914
636
637         * inspector/Inspector.idl:
638         * inspector/InspectorAgent.cpp:
639         (WebCore::InspectorAgent::reloadPage):
640         * inspector/InspectorAgent.h:
641         * inspector/front-end/AuditsPanel.js:
642         (WebInspector.AuditsPanel.prototype._reloadResources):
643         * inspector/front-end/ExtensionServer.js:
644         (WebInspector.ExtensionServer.prototype._onReload):
645         * inspector/front-end/inspector.js:
646         (WebInspector.documentKeyDown):
647
648 2011-02-08  Antti Koivisto  <antti@apple.com>
649
650         Reviewed by Cameron Zwarich.
651
652         Skip over sibling selectors when collecting descendant selector hashes 
653         https://bugs.webkit.org/show_bug.cgi?id=53987
654         
655         Skip instead of bailing out. This will allow optimizing some sibling selector cases.
656
657         * css/CSSStyleSelector.cpp:
658         (WebCore::RuleData::RuleData):
659         (WebCore::RuleData::collectIdentifierHashes):
660         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
661         * css/CSSStyleSelector.h:
662
663 2011-02-07  Cris Neckar  <cdn@chromium.org>
664
665         Reviewed by Jian Li.
666
667         Fix null deref in DOMURL
668         https://bugs.webkit.org/show_bug.cgi?id=53811
669
670         Test: fast/files/domurl-script-execution-context-crash.html
671
672         * html/DOMURL.cpp:
673         (WebCore::DOMURL::DOMURL):
674
675 2011-02-07  Mark Rowe  <mrowe@apple.com>
676
677         Fix the 32-bit build.
678
679         * platform/mac/ScrollAnimatorMac.mm:
680         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
681         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.
682
683 2011-02-07  Xiyuan Xia  <xiyuan@chromium.org>
684
685         Reviewed by Tony Chang.
686
687         [Chromium] Select popup box does not align with select button when appearance is not "menulist".
688         https://bugs.webkit.org/show_bug.cgi?id=53942
689
690         Added manual test select_webkit_appearance_off_popup_alignment.html.
691
692         * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
693         * platform/chromium/PopupMenuChromium.cpp:
694         (WebCore::PopupListBox::layout):
695
696 2011-02-07  Aparna Nandyal  <aparna.nand@wipro.com>
697
698         Reviewed by Andreas Kling.
699
700         [Qt] - Context menu needs "Copy" as well when the selected text is a link.
701         https://bugs.webkit.org/show_bug.cgi?id=40983
702
703         Added copy option for Qt platform if selection is a link. 
704         Added a test in tst_qwebpage.cpp. 
705
706         * page/ContextMenuController.cpp:
707         (WebCore::ContextMenuController::populate):
708
709 2011-02-07  Mike Reed  <reed@google.com>
710
711         Reviewed by Kenneth Russell.
712
713         Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
714         when drawing <canvas>. Disabled by default.
715
716         No new tests. existing canvas layouttests apply
717
718         * platform/graphics/chromium/DrawingBufferChromium.cpp:
719         (WebCore::DrawingBuffer::publishToPlatformLayer):
720         * platform/graphics/skia/PlatformContextSkia.cpp:
721         (WebCore::GetGlobalGrContext):
722         (WebCore::PlatformContextSkia::isPrinting):
723         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
724         (WebCore::PlatformContextSkia::syncSoftwareCanvas):
725
726 2011-02-07  Jay Civelli  <jcivelli@chromium.org>
727
728         Reviewed by Darin Fisher.
729
730         Removing unused code from PopupMenuChromium.
731         https://bugs.webkit.org/show_bug.cgi?id=53866
732
733        * platform/chromium/PopupMenuChromium.cpp:
734         (WebCore::PopupListBox::layout):
735         (WebCore::PopupMenuChromium::show):
736         * platform/chromium/PopupMenuChromium.h:
737
738 2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
739
740         Reviewed by Andreas Kling.
741
742         HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
743         https://bugs.webkit.org/show_bug.cgi?id=53791
744
745         Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().
746
747         Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html
748
749         * html/HTMLOutputElement.cpp:
750         (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
751         childrenChanged().
752
753 2011-02-07  Benjamin Poulain  <ikipou@gmail.com>
754
755         Reviewed by Kenneth Rohde Christiansen.
756
757         [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
758         https://bugs.webkit.org/show_bug.cgi?id=52289
759
760         Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
761         in the same thread as the QNetworkAccessManager.
762
763         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
764         (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
765         (WebCore::QtNAMThreadSafeProxy::hasCookieJar):
766         * platform/network/qt/QtNAMThreadSafeProxy.h:
767         * platform/qt/CookieJarQt.cpp:
768         (WebCore::cookiesEnabled):
769
770 2011-02-07  Alexey Marinichev  <amarinichev@chromium.org>
771
772         Reviewed by Kenneth Russell.
773
774         Hook up WebGraphicsContext3D::setContextLostCallback.
775         https://bugs.webkit.org/show_bug.cgi?id=53722
776
777         Test: fast/canvas/webgl/context-lost.html, comment out the line with
778         extension.loseContext() and kill the GPU process "Lose context"
779         message shows up.
780
781         * html/canvas/WebGLRenderingContext.cpp:
782         (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
783         (WebCore::WebGLRenderingContextLostCallback::onContextLost):
784         (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback):
785         (WebCore::WebGLRenderingContext::initializeNewContext):
786         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
787         * platform/graphics/GraphicsContext3D.h:
788         (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback):
789         * platform/graphics/mac/GraphicsContext3DMac.mm:
790         (WebCore::GraphicsContext3D::setContextLostCallback): stub
791         * platform/graphics/qt/GraphicsContext3DQt.cpp:
792         (WebCore::GraphicsContext3D::setContextLostCallback): stub
793
794 2011-02-07  Patrick Gansterer  <paroga@webkit.org>
795
796         Reviewed by Eric Seidel.
797
798         Add missing PaintInfo include in RenderThemeWin.cpp
799         https://bugs.webkit.org/show_bug.cgi?id=53885
800
801         * rendering/RenderThemeWin.cpp:
802
803 2011-02-07  Qi Zhang  <qi.2.zhang@nokia.com>
804
805         Reviewed by Andreas Kling.
806
807         [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
808         https://bugs.webkit.org/show_bug.cgi?id=52974
809
810         Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
811
812         * page/ContextMenuController.cpp:
813         (WebCore::ContextMenuController::contextMenuItemSelected):
814         (WebCore::ContextMenuController::populate):
815         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
816         * platform/ContextMenuItem.h:
817         * platform/LocalizationStrategy.h:
818         * platform/LocalizedStrings.cpp:
819         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
820         * platform/LocalizedStrings.h:
821
822 2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
823
824         Reviewed by Kent Tamura.
825
826         HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
827         https://bugs.webkit.org/show_bug.cgi?id=53970
828
829         Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
830         return the right value.
831
832         Test: fast/dom/HTMLObjectElement/form/nested-form-element.html
833
834         * html/HTMLObjectElement.cpp:
835         (WebCore::HTMLObjectElement::virtualForm): Added.
836         * html/HTMLObjectElement.h: Added virtualForm().
837
838 2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
839
840         Unreviewed Leopard build fix.
841
842         * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion.
843         * platform/mac/DragImageMac.mm:
844         (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat.
845
846 2011-02-07  Enrica Casucci  <enrica@apple.com>
847
848         Reviewed by Sam Weinig.
849
850         Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
851
852         When moving code from WebKit to WebCore we needed to move some additional
853         functions previously in NSStringExtras.
854         
855         * WebCore.xcodeproj/project.pbxproj:
856         * platform/mac/DragImageMac.mm:
857         (WebCore::fontFromNSFont):
858         (WebCore::canUseFastRenderer):
859         (WebCore::widthWithFont):
860         (WebCore::webkit_CGCeiling):
861         (WebCore::drawAtPoint):
862         (WebCore::drawDoubledAtPoint):
863         (WebCore::createDragImageForLink):
864
865 2011-02-07  Lucas Forschler  <lforschler@apple.com>
866
867         Reviewed by Geoff Garen.
868
869         Tr #2, Fix the Leopard 32bit debug build.
870         
871         No new tests required.
872
873         * WebCore.xcodeproj/project.pbxproj:
874         * accessibility/AccessibilityAllInOne.cpp:
875
876 2011-02-07  Beth Dakin  <bdakin@apple.com>
877
878         Reviewed by Sam Weinig.
879
880         Fix for <rdar://problem/8946961> Fix repaint problems
881         with WKScrollbarPainter scrollers while resizing the window
882
883         Remove setPainterForPainterController() and 
884         removePainterFromPainterController() since they aren't
885         used anymore.
886         * platform/mac/ScrollAnimatorMac.h:
887         
888         Return early if they alpha hasn't changed.
889         * platform/mac/ScrollAnimatorMac.mm:
890         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
891         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
892         
893         If we're in a live resize, restore alpha to 1.
894         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
895         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
896
897 2011-02-07  Beth Dakin  <bdakin@apple.com>
898
899         Reviewed by Eric Seidel.
900
901         Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
902         USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
903         Platform.h instead
904
905         Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
906         than the silly, old in-file #define.
907
908         * platform/mac/ScrollbarThemeMac.mm:
909         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
910         (WebCore::updateArrowPlacement):
911         (WebCore::ScrollbarThemeMac::registerScrollbar):
912         (WebCore::ScrollbarThemeMac::scrollbarThickness):
913         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
914         (WebCore::ScrollbarThemeMac::hasThumb):
915         (WebCore::ScrollbarThemeMac::minimumThumbLength):
916         (WebCore::ScrollbarThemeMac::paint):
917
918 2011-02-07  Enrica Casucci  <enrica@apple.com>
919
920         Reviewed Adam Roben and Darin Adler.
921
922         WebKit2: drag and drop support on Windows.
923         https://bugs.webkit.org/show_bug.cgi?id=52775
924         <rdar://problem/8514409>
925
926         * loader/EmptyClients.h: Removed createDragImageFromLink.
927         * page/DragClient.h: Ditto.
928         * page/DragController.cpp:
929         (WebCore::DragController::startDrag): changed call to createDragImageFromLink.
930         * platform/DragImage.h:
931         * platform/mac/DragImageMac.mm:
932         (WebCore::createDragImageForLink): Moved from DragClient.
933         * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions
934         to de-serialize the drag data from the map into an IDataObject.
935         (WebCore::getWebLocData):
936         (WebCore::texthtmlFormat):
937         (WebCore::createGlobalData):
938         (WebCore::getFullCFHTML):
939         (WebCore::urlWFormat):
940         (WebCore::urlFormat):
941         (WebCore::filenameWFormat):
942         (WebCore::filenameFormat):
943         (WebCore::htmlFormat):
944         (WebCore::smartPasteFormat):
945         (WebCore::getURL):
946         (WebCore::getPlainText):
947         (WebCore::getTextHTML):
948         (WebCore::ClipboardDataItem::ClipboardDataItem):
949         (WebCore::getStringData):
950         (WebCore::getUtf8Data):
951         (WebCore::getCFData):
952         (WebCore::setUCharData):
953         (WebCore::setCharData):
954         (WebCore::setCFData):
955         (WebCore::getClipboardMap):
956         (WebCore::getClipboardData):
957         (WebCore::setClipboardData):
958         * platform/win/ClipboardUtilitiesWin.h:
959         * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient
960         to a platform specific file in WebCore. It makes a lot more sense here, since
961         the drag image is always created in WebCore for all the other content types
962         except for links.
963         (WebCore::dragLabelFont):
964         (WebCore::createDragImageForLink):
965         * platform/win/WCDataObject.cpp: Added new way to
966         construct a WCDataObject from a DragDataMap.
967         (WebCore::WCDataObject::createInstance):
968         (WebCore::WCDataObject::clearData):
969         * platform/win/WCDataObject.h:
970
971 2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
972
973         Unreviewed, rolling out r77848.
974         http://trac.webkit.org/changeset/77848
975         https://bugs.webkit.org/show_bug.cgi?id=53963
976
977         caused 6 test failures (Requested by othermaciej on #webkit).
978
979         * rendering/RenderBlockLineLayout.cpp:
980         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
981
982 2011-02-04  Kenneth Russell  <kbr@google.com>
983
984         Reviewed by James Robinson.
985
986         Add shaders for GPU accelerated path rendering
987         https://bugs.webkit.org/show_bug.cgi?id=45520
988
989         Refactored SolidFillShader and TexShader to call new
990         generateVertex() and generateFragment() methods on base Shader
991         class, and added support for the Loop/Blinn shaders. Refactored
992         Loop/Blinn shader classes to derive from Shader.
993
994         Tested these changes with several of the IE9 Testdrive demos with
995         accelerated 2D canvas enabled, as well as a full layout test run
996         with --platform chromium-gpu.
997
998         * platform/graphics/gpu/LoopBlinnShader.cpp: Added.
999         (WebCore::LoopBlinnShader::LoopBlinnShader):
1000         (WebCore::LoopBlinnShader::use):
1001         * platform/graphics/gpu/LoopBlinnShader.h: Added.
1002         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added.
1003         (WebCore::LoopBlinnSolidFillShader::create):
1004         (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader):
1005         (WebCore::LoopBlinnSolidFillShader::use):
1006         * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added.
1007         * platform/graphics/gpu/Shader.cpp:
1008         (WebCore::Shader::affineTo4x4):
1009         (WebCore::Shader::loadShader):
1010         (WebCore::Shader::loadProgram):
1011         (WebCore::Shader::generateVertex):
1012         (WebCore::Shader::generateFragment):
1013         * platform/graphics/gpu/Shader.h:
1014         * platform/graphics/gpu/SolidFillShader.cpp:
1015         (WebCore::SolidFillShader::create):
1016         * platform/graphics/gpu/TexShader.cpp:
1017         (WebCore::TexShader::TexShader):
1018         (WebCore::TexShader::create):
1019
1020 2011-02-07  Dan Bernstein  <mitz@apple.com>
1021
1022         Reviewed by Oliver Hunt.
1023
1024         <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg)
1025         https://bugs.webkit.org/show_bug.cgi?id=53480
1026
1027         * WebCore.xcodeproj/project.pbxproj:
1028         * platform/graphics/mac/ComplexTextController.cpp:
1029         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an
1030         offset into m_characters, not into the run’s characters.
1031         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1032         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
1033
1034 2011-02-07  Sam Weinig  <sam@webkit.org>
1035
1036         Reviewed by Anders Carlsson.
1037
1038         Add bundle API to get the background color of a frame
1039         <rdar://problem/8962670>
1040         https://bugs.webkit.org/show_bug.cgi?id=53952
1041
1042         * WebCore.exp.in: Add export.
1043
1044 2011-02-07  Geoffrey Garen  <ggaren@apple.com>
1045
1046         Reviewed by Darin Adler.
1047
1048         Assertion failure in ~JSGlobalObject when loading apple.com HTML5
1049         transitions demo page
1050         https://bugs.webkit.org/show_bug.cgi?id=53853
1051
1052         This was a long-standing bookkeeping bug uncovered by some heap refactoring.
1053
1054         * html/HTMLCanvasElement.cpp:
1055         (WebCore::HTMLCanvasElement::createImageBuffer):
1056         * html/HTMLImageLoader.cpp:
1057         (WebCore::HTMLImageLoader::notifyFinished):
1058         * xml/XMLHttpRequest.cpp:
1059         (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before
1060         reporting extra cost to the JavaScriptCore heap, since all use of
1061         JavaScriptCore is supposed to be guarded by JSLock.
1062
1063 2011-02-07  Jian Li  <jianli@chromium.org>
1064
1065         Reviewed by David Levin.
1066
1067         Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
1068         bots
1069         https://bugs.webkit.org/show_bug.cgi?id=53104
1070
1071         Covered by the existing tests.
1072
1073         * fileapi/FileStreamProxy.cpp:
1074         (WebCore::FileStreamProxy::startOnFileThread):
1075         * platform/network/BlobRegistryImpl.cpp:
1076         (WebCore::BlobRegistryImpl::createResourceHandle):
1077         * platform/network/BlobResourceHandle.cpp:
1078         (WebCore::BlobResourceHandle::BlobResourceHandle):
1079         (WebCore::BlobResourceHandle::cancel):
1080         (WebCore::delayedStartBlobResourceHandle):
1081         (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive
1082         till the delay function is called.
1083         (WebCore::BlobResourceHandle::doStart):
1084         (WebCore::doNotifyFinish):
1085         (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the
1086         standalone function to prevent the handle from being disposed immediately
1087         by the client which will make the calls in the stack that're still bound
1088         to the handle suffer.
1089         * platform/network/BlobResourceHandle.h:
1090         * platform/network/ResourceHandle.h: Change cancel() to virtual so that
1091         BlobResourceHandle::cancel will be called when we abort a FileReader.
1092
1093 2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1094
1095         Unreviewed, rolling out r77845.
1096         http://trac.webkit.org/changeset/77845
1097         https://bugs.webkit.org/show_bug.cgi?id=53946
1098
1099         build failure (Requested by lforschler_ on #webkit).
1100
1101         * WebCore.xcodeproj/project.pbxproj:
1102         * accessibility/AccessibilityAllInOne.cpp:
1103
1104 2011-02-07  Darin Adler  <darin@apple.com>
1105
1106         https://bugs.webkit.org/show_bug.cgi?id=53939
1107         fast/css/text-overflow-ellipsis.html failure after r77818/77819
1108
1109         * platform/text/TextCodecICU.cpp:
1110         (WebCore::TextCodecICU::registerExtendedEncodingNames):
1111         Add back the "utf8" synonym for "UTF-8".
1112
1113 2011-02-07  David Hyatt  <hyatt@apple.com>
1114
1115         Reviewed by Dan Bernstein.
1116
1117         Remove an unnecessary extra computeLogicalWidth() from line layout.
1118
1119         * rendering/RenderBlockLineLayout.cpp:
1120         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1121
1122 2011-02-07  Lucas Forschler  <lforschler@apple.com>
1123
1124         Reviewed by Geoffrey Garen.
1125
1126         Fix Leopard Intel Debug Build.
1127         <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681)
1128         This could potentially break windows, since I had to change #include <filename> to #include "filename"
1129         
1130         * WebCore.xcodeproj/project.pbxproj:
1131         * accessibility/AccessibilityAllInOne.cpp:
1132
1133 2011-02-07  Sam Weinig  <sam@webkit.org>
1134
1135         Fix build.
1136
1137         * platform/mac/ScrollAnimatorMac.mm:
1138         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1139         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1140         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1141         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1142
1143 2011-02-07  Sam Weinig  <sam@webkit.org>
1144
1145         Reviewed by Beth Dakin.
1146
1147         Add mechanism to inform the ScrollAnimator when Scrollbars are added 
1148         and removed.
1149
1150         * platform/ScrollAnimator.h:
1151         (WebCore::ScrollAnimator::didAddVerticalScrollbar):
1152         (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
1153         (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
1154         (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
1155         Make virtual to allow platform specific overrides.
1156
1157         * platform/ScrollView.cpp:
1158         (WebCore::ScrollView::setHasHorizontalScrollbar):
1159         (WebCore::ScrollView::setHasVerticalScrollbar):
1160         Call new ScrollableArea functions.
1161
1162         * platform/ScrollableArea.cpp:
1163         (WebCore::ScrollableArea::didAddVerticalScrollbar):
1164         (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
1165         (WebCore::ScrollableArea::didAddHorizontalScrollbar):
1166         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
1167         * platform/ScrollableArea.h:
1168         Pipe to ScrollAnimator.
1169
1170         * platform/mac/ScrollAnimatorMac.h:
1171         * platform/mac/ScrollAnimatorMac.mm:
1172         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1173         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1174         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1175         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1176         * platform/mac/ScrollbarThemeMac.h:
1177         * platform/mac/ScrollbarThemeMac.mm:
1178         (WebCore::ScrollbarThemeMac::registerScrollbar):
1179         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1180         (WebCore::ScrollbarThemeMac::painterForScrollbar):
1181         Move painter delegate registration to the new didAdd/willRemove functions.
1182
1183 2011-02-07  Anders Carlsson  <andersca@apple.com>
1184
1185         Reviewed by Dan Bernstein.
1186
1187         Missing text match markers with accelerated content
1188         https://bugs.webkit.org/show_bug.cgi?id=53934
1189
1190         When doing the fake paint that recomputes the text match rects, we need to
1191         flatten compositing layers, otherwise the rects won't be updated until the next paint call.
1192
1193         (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
1194         window before asking for the text match rects).
1195
1196         * editing/Editor.cpp:
1197         (WebCore::Editor::countMatchesForText):
1198
1199 2011-02-07  Antti Koivisto  <antti@apple.com>
1200
1201         Reviewed by Andreas Kling.
1202
1203         REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
1204         https://bugs.webkit.org/show_bug.cgi?id=53900
1205         
1206         Ignore link elements in shadow trees.
1207
1208         * dom/Element.cpp:
1209         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
1210         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
1211                 
1212             Some asserts to catch cases like this.
1213
1214         (WebCore::Element::attach):
1215         (WebCore::Element::recalcStyle):
1216         * html/HTMLLinkElement.cpp:
1217         (WebCore::HTMLLinkElement::HTMLLinkElement):
1218         (WebCore::HTMLLinkElement::process):
1219         (WebCore::HTMLLinkElement::insertedIntoDocument):
1220         (WebCore::HTMLLinkElement::removedFromDocument):
1221         * html/HTMLLinkElement.h:
1222
1223 2011-02-07  Darin Adler  <darin@apple.com>
1224
1225         Turn UTF-8 decoder off for now so we can look into failing tests
1226         without leaving the tree red.
1227
1228         * platform/text/TextCodecICU.cpp:
1229         (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
1230         earlier change so this can handle UTF-8.
1231         (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
1232         (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
1233         (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
1234         * platform/text/TextCodecICU.h: Ditto.
1235         * platform/text/TextEncodingRegistry.cpp:
1236         (WebCore::buildBaseTextCodecMaps): Ditto.
1237         (WebCore::extendTextCodecMaps): Ditto.
1238         * platform/text/brew/TextCodecBrew.cpp:
1239         (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
1240         (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
1241         (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
1242         (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
1243         * platform/text/brew/TextCodecBrew.h: Ditto.
1244         * platform/text/gtk/TextCodecGtk.cpp:
1245         (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
1246         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
1247         * platform/text/wince/TextCodecWinCE.cpp:
1248         (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
1249         (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
1250         (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
1251         (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
1252         * platform/text/wince/TextCodecWinCE.h: Ditto.
1253
1254 2011-02-07  Anders Carlsson  <andersca@apple.com>
1255
1256         Reviewed by Maciej Stachowiak.
1257
1258         Don't exclude overlay scrollers from the page overlay bounds
1259         https://bugs.webkit.org/show_bug.cgi?id=53924
1260
1261         Export ScrollbarTheme::nativeTheme.
1262
1263         * WebCore.exp.in:
1264
1265 2011-02-07  Zhenyao Mo  <zmo@google.com>
1266
1267         Reviewed by Kenneth Russell.
1268
1269         Crash in glDrawArrays with NaCl crystal model
1270         https://bugs.webkit.org/show_bug.cgi?id=52831
1271
1272         * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
1273         (WebCore::WebGLRenderingContext::initVertexAttrib0):
1274         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
1275         * html/canvas/WebGLRenderingContext.h:
1276
1277 2011-02-07  Chris Fleizach  <cfleizach@apple.com>
1278
1279         Reviewed by Darin Adler.
1280
1281         WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
1282         https://bugs.webkit.org/show_bug.cgi?id=53842
1283
1284         Test: platform/mac/accessibility/aria-sort.html
1285
1286         * accessibility/AccessibilityObject.cpp:
1287         (WebCore::AccessibilityObject::sortDirection):
1288         * accessibility/AccessibilityObject.h:
1289         * accessibility/mac/AccessibilityObjectWrapper.mm:
1290         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1291         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1292         * html/HTMLAttributeNames.in:
1293
1294 2011-02-07  Darin Adler  <darin@apple.com>
1295
1296         Reviewed by Antti Koivisto.
1297
1298         Add built-in decoder for UTF-8 for improved performance
1299         https://bugs.webkit.org/show_bug.cgi?id=53898
1300
1301         Correct behavior is covered by existing tests.
1302
1303         * Android.mk: Added TextCodecUTF8.
1304         * CMakeLists.txt: Ditto.
1305         * GNUmakefile.am: Ditto.
1306         * WebCore.gypi: Ditto.
1307         * WebCore.pro: Ditto.
1308         * WebCore.vcproj/WebCore.vcproj: Ditto.
1309         * WebCore.xcodeproj/project.pbxproj: Ditto.
1310
1311         * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
1312         since that's now handled by the built-in UTF-8 codec.
1313         (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
1314         the word "extended" since all codecs from ICU are now extended.
1315         (WebCore::TextCodecICU::registerCodecs): Ditto.
1316         * platform/text/TextCodecICU.h: Ditto.
1317
1318         * platform/text/TextCodecUTF16.cpp:
1319         (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
1320         error handling.
1321
1322         * platform/text/TextCodecUTF8.cpp: Added.
1323         * platform/text/TextCodecUTF8.h: Added.
1324
1325         * platform/text/TextEncodingRegistry.cpp:
1326         (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
1327         removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
1328         (WebCore::extendTextCodecMaps): Updated names for
1329         TextCodecICU and TextCodecWinCE.
1330
1331         * platform/text/brew/TextCodecBrew.cpp:
1332         (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
1333         the word "extended" since all codecs from Brew are now extended.
1334         (WebCore::TextCodecBrew::registerCodecs): Ditto.
1335         * platform/text/brew/TextCodecBrew.h: Ditto.
1336
1337         * platform/text/gtk/TextCodecGtk.cpp:
1338         (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
1339         registration of UTF-8. It's questionable whether the other codecs
1340         here are really basic. If we think they qualify, then we should
1341         register them on other platforms, not just GTK.
1342         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
1343
1344         * platform/text/wince/TextCodecWinCE.cpp:
1345         (WebCore::getCodePage): Removed special case for UTF-8 since we
1346         no longer use this codec for UTF-8.
1347         (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
1348         the word "extended" since all codecs from WinCE are now extended.
1349         (WebCore::TextCodecWinCE::registerCodecs): Ditto.
1350         * platform/text/wince/TextCodecWinCE.h: Ditto.
1351
1352 2011-02-07  Mario Sanchez Prada  <msanchez@igalia.com>
1353
1354         Reviewed by Xan Lopez.
1355
1356         [Gtk] atk_text_get_caret_offset fails for list items
1357         https://bugs.webkit.org/show_bug.cgi?id=53436
1358
1359         Consider list item markers when calculating the offset.
1360
1361         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1362         (webkit_accessible_text_get_caret_offset): Adjust the offset
1363         with the item marker's length for list items.
1364         (webkit_accessible_text_set_caret_offset): Replace usage of
1365         g_utf8_strlen() by calling to markerText.length().
1366
1367 2011-02-07  Yi Shen  <yi.4.shen@nokia.com>
1368
1369         Reviewed by Tor Arne Vestbø.
1370
1371         [Qt] Fix LayoutTests/media/restore-from-page-cache.html
1372         https://bugs.webkit.org/show_bug.cgi?id=53621
1373
1374         Changed the networkState to MediaPlayer::Loaded when 
1375         MediaPlayerPrivateQt has enough data.
1376
1377         Test: media/restore-from-page-cache.html
1378
1379         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1380         (WebCore::MediaPlayerPrivateQt::updateStates):
1381
1382 2011-01-31  Pavel Podivilov  <podivilov@chromium.org>
1383
1384         Reviewed by Yury Semikhatsky.
1385
1386         Web Inspector: implement beautification of scripts inlined in html documents.
1387         https://bugs.webkit.org/show_bug.cgi?id=52706
1388
1389         To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
1390         finally paste them back to html.
1391
1392         * WebCore.gypi:
1393         * WebCore.vcproj/WebCore.vcproj:
1394         * inspector/front-end/ScriptFormatter.js:
1395         (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
1396         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
1397         (WebInspector.ScriptFormatter.prototype.formatContent):
1398         (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
1399         (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
1400         (WebInspector.ScriptFormatter.prototype._formatChunks):
1401         (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
1402         (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
1403         (WebInspector.ScriptFormatter.prototype._formatScript):
1404         * inspector/front-end/ScriptFormatterWorker.js:
1405         (onmessage):
1406         (buildMapping):
1407         * inspector/front-end/SourceFrame.js:
1408         (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
1409         * inspector/front-end/SourceFrameContent.js: Added.
1410         (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
1411         (WebInspector.SourceFrameContent.prototype.get scriptRanges):
1412         (WebInspector.SourceFrameContent.prototype.locationToPosition):
1413         (WebInspector.SourceFrameContent.prototype.positionToLocation):
1414         (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
1415         (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
1416         (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
1417         (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
1418         (WebInspector):
1419         (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
1420         (WebInspector.FormattedSourceFrameContent.prototype.get text):
1421         (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
1422         (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
1423         (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
1424         * inspector/front-end/WebKit.qrc:
1425         * inspector/front-end/inspector.html:
1426
1427 2011-02-07  Pavel Feldman  <pfeldman@chromium.org>
1428
1429         Reviewed by Yury Semikhatsky.
1430
1431         Web Inspector: "Reveal in elements panel" does not always work.
1432         https://bugs.webkit.org/show_bug.cgi?id=53775
1433
1434         * inspector/front-end/ConsoleView.js:
1435         (WebInspector.ConsoleView):
1436         * inspector/front-end/ContextMenu.js:
1437         (WebInspector.ContextMenu.prototype.show):
1438         * inspector/front-end/ElementsPanel.js:
1439         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
1440         * inspector/front-end/ElementsTreeOutline.js:
1441         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
1442         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
1443         * inspector/front-end/ObjectPropertiesSection.js:
1444         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1445         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
1446         * inspector/front-end/inspector.js:
1447         (WebInspector.cancelSearch):
1448
1449 2011-02-07  Adam Barth  <abarth@webkit.org>
1450
1451         Reviewed by Eric Seidel.
1452
1453         Relative .. in URL paths shouldn't skip adjacent / characters
1454         https://bugs.webkit.org/show_bug.cgi?id=53907
1455
1456         Our new behavior matches Firefox, Chrome, and IE.
1457
1458         * platform/KURL.cpp:
1459         (WebCore::copyPathRemovingDots):
1460
1461 2011-02-07  Maciej Stachowiak  <mjs@apple.com>
1462
1463         Reviewed by Antti Koivisto.
1464
1465         WebKitTestRunner does not block remote resources or complain about them
1466         https://bugs.webkit.org/show_bug.cgi?id=42139
1467         <rdar://problem/8183942>
1468
1469         * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
1470         WebCore.
1471         * WebCore.exp.in: Export a handful of KURL symbols.
1472
1473 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
1474
1475         Reviewed by Darin Adler.
1476
1477         OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
1478         https://bugs.webkit.org/show_bug.cgi?id=52867
1479
1480         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
1481         * bindings/v8/NPV8Object.cpp:
1482         (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
1483         v8::Handle<v8::Value>*.
1484         (_NPN_Invoke): Calls createValueListFromVariantArgs.
1485         (_NPN_InvokeDefault): createValueListFromVariantArgs.
1486         (_NPN_Construct): createValueListFromVariantArgs.
1487         * bindings/v8/ScriptFunctionCall.cpp:
1488         (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
1489         (WebCore::ScriptFunctionCall::construct): Ditto.
1490         (WebCore::ScriptCallback::call):
1491         * bindings/v8/V8DOMWindowShell.cpp:
1492         (WebCore::V8DOMWindowShell::createNewContext): Ditto.
1493         * bindings/v8/V8NPObject.cpp:
1494         (WebCore::npObjectInvokeImpl): Ditto
1495         * bindings/v8/V8NodeFilterCondition.cpp:
1496         (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
1497         * html/HTMLAreaElement.cpp:
1498         (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
1499         * html/HTMLFrameSetElement.cpp:
1500         (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
1501         * html/canvas/WebGLRenderingContext.cpp:
1502         (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
1503         (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
1504         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
1505         * platform/Length.cpp:
1506         (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
1507         (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
1508         * platform/Length.h: Prototype changes.
1509         * platform/graphics/ANGLEWebKitBridge.cpp:
1510         (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
1511         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1512         (WebCore::getDirtyRects): Ditto.
1513         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1514         (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
1515         * platform/graphics/chromium/HarfbuzzSkia.cpp:
1516         (WebCore::glyphsToAdvances): Ditto.
1517         (WebCore::canRender): Ditto.
1518         * platform/graphics/gpu/Texture.cpp:
1519         (WebCore::Texture::updateSubRect): Ditto.
1520         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1521         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
1522         * platform/graphics/skia/PlatformContextSkia.cpp:
1523         (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
1524         * platform/graphics/wince/SharedBitmap.cpp:
1525         (WebCore::SharedBitmap::to16bit): Ditto.
1526         * platform/win/ContextMenuWin.cpp:
1527         (WebCore::ContextMenu::getContextMenuItems): Ditto.
1528         * platform/win/LoggingWin.cpp:
1529         (WebCore::initializeWithUserDefault): Ditto.
1530         * plugins/win/PluginPackageWin.cpp:
1531         (WebCore::PluginPackage::fetchInfo): Ditto.
1532
1533 2011-02-06  Kent Tamura  <tkent@chromium.org>
1534
1535         Unreviewed.
1536
1537         * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
1538
1539 2011-02-03  Dominic Cooney  <dominicc@google.com>
1540
1541         Reviewed by Dimitri Glazkov.
1542
1543         Convert <keygen> option elements to a shadow DOM
1544         https://bugs.webkit.org/show_bug.cgi?id=51379
1545
1546         Covered by existing tests e.g. fast/html/keygen.html,
1547         html5lib/runner.html, etc.
1548
1549         * css/html.css:
1550         (form): Cleanup.
1551         (keygen, select): Border radii should match so focus ring looks good.
1552         (keygen::-webkit-keygen-select): No margin on the shadow element.
1553         (select): Hoisting border radius to keygen, select rule.
1554         * dom/SelectElement.cpp:
1555         (WebCore::toSelectElement): keygen is no longer a select element.
1556         * html/HTMLKeygenElement.cpp: Implements keygen shadow.
1557         (WebCore::KeygenSelectElement::create):
1558         (WebCore::KeygenSelectElement::shadowPseudoId):
1559         (WebCore::KeygenSelectElement::KeygenSelectElement):
1560         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1561         (WebCore::HTMLKeygenElement::parseMappedAttribute):
1562         (WebCore::HTMLKeygenElement::appendFormData):
1563         (WebCore::HTMLKeygenElement::formControlType):
1564         (WebCore::HTMLKeygenElement::reset):
1565         (WebCore::HTMLKeygenElement::selectShadow):
1566         * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
1567         (WebCore::HTMLKeygenElement::canStartSelection):
1568         (WebCore::HTMLKeygenElement::isEnumeratable):
1569         (WebCore::HTMLKeygenElement::isResettable):
1570         * html/HTMLOptionElement.cpp:
1571         (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
1572         * html/HTMLSelectElement.cpp:
1573         (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.
1574
1575 2011-02-06  Benjamin Poulain  <ikipou@gmail.com>
1576
1577         Reviewed by Kenneth Rohde Christiansen.
1578
1579         [Qt] Fix coding style errors in ClipboardQt.h
1580         https://bugs.webkit.org/show_bug.cgi?id=43520
1581
1582         Fix coding style: order of header and indentation.
1583
1584         * platform/qt/ClipboardQt.h:
1585         (WebCore::ClipboardQt::create):
1586         (WebCore::ClipboardQt::clipboardData):
1587         (WebCore::ClipboardQt::invalidateWritableData):
1588
1589 2011-02-06  Antti Koivisto  <antti@apple.com>
1590
1591         Reviewed by Maciej Stachowiak.
1592
1593         Use bloom filter for descendant selector filtering
1594         https://bugs.webkit.org/show_bug.cgi?id=53880
1595         
1596         Bloom filter is faster than a hash set in this kind of use.
1597         
1598         Shark thinks this speeds up style matching by ~30% on sites
1599         with lots of descendant selectors.
1600
1601         * ForwardingHeaders/wtf/BloomFilter.h: Added.
1602         * css/CSSStyleSelector.cpp:
1603         (WebCore::collectElementIdentifierHashes):
1604         (WebCore::CSSStyleSelector::pushParent):
1605         (WebCore::CSSStyleSelector::popParent):
1606         (WebCore::CSSStyleSelector::fastRejectSelector):
1607         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
1608         * css/CSSStyleSelector.h:
1609
1610 2011-02-06  Maciej Stachowiak  <mjs@apple.com>
1611
1612         Reviewed by Antti Koivisto.
1613
1614         media/video-document-types.html sometimes crashes the WebProcess
1615         https://bugs.webkit.org/show_bug.cgi?id=53884
1616
1617         No new tests. Already covered by media/video-document-types.html
1618
1619         * html/HTMLMediaElement.cpp:
1620         (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
1621         when cancelling the load.
1622
1623 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
1624
1625         Reviewed by Adam Roben.
1626
1627         [WIN] Use WCHAR instead of TCHAR
1628         https://bugs.webkit.org/show_bug.cgi?id=53863
1629
1630         We always use the UNICODE versions of windows functions, so
1631         the usage of TCHAR makes no sense and mixing them is bad style.
1632
1633         * platform/graphics/win/IconWin.cpp:
1634         (WebCore::Icon::createIconForFiles):
1635         * platform/graphics/win/QTMovie.cpp:
1636         * platform/graphics/win/QTMovieGWorld.cpp:
1637         (QTMovieGWorld::fullscreenWndProc):
1638         (QTMovieGWorld::enterFullscreen):
1639         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1640         (WebCore::SimpleFontData::platformInit):
1641         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1642         * platform/graphics/win/SimpleFontDataWin.cpp:
1643         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
1644         * platform/win/BString.cpp:
1645         * platform/win/ClipboardWin.cpp:
1646         (WebCore::filesystemPathFromUrlOrTitle):
1647         (WebCore::createGlobalHDropContent):
1648         (WebCore::createGlobalImageFileDescriptor):
1649         * platform/win/ContextMenuWin.cpp:
1650         * platform/win/CursorWin.cpp:
1651         (WebCore::loadSharedCursor):
1652         * platform/win/FileChooserWin.cpp:
1653         (WebCore::FileChooser::basenameForWidth):
1654         * platform/win/PopupMenuWin.cpp:
1655         (WebCore::PopupMenuWin::popupClassName):
1656         (WebCore::PopupMenuWin::show):
1657         * platform/win/PopupMenuWin.h:
1658
1659 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
1660
1661         Reviewed by Andreas Kling.
1662
1663         Replace FLT_MAX with std::numeric_limits
1664         https://bugs.webkit.org/show_bug.cgi?id=53861
1665
1666         Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
1667
1668         * html/NumberInputType.cpp:
1669         * html/parser/HTMLParserIdioms.cpp:
1670         (WebCore::parseToDoubleForNumberType):
1671         * platform/brew/SystemTimeBrew.cpp:
1672         (WebCore::userIdleTime):
1673         * platform/efl/SystemTimeEfl.cpp:
1674         (WebCore::userIdleTime):
1675         * platform/efl/TemporaryLinkStubs.cpp:
1676         * platform/graphics/ca/GraphicsLayerCA.cpp:
1677         (WebCore::GraphicsLayerCA::setupAnimation):
1678         * platform/win/SystemTimeWin.cpp:
1679         (WebCore::userIdleTime):
1680         * platform/wx/SystemTimeWx.cpp:
1681         (WebCore::userIdleTime):
1682
1683 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
1684
1685         Reviewed by Andreas Kling.
1686
1687         [CMake] Add dependencies for Visual Studio projects
1688         https://bugs.webkit.org/show_bug.cgi?id=53773
1689
1690         Add a JavaScriptCore dependecy to WebCore, so CMake can 
1691         generate the correct build order for the solution.
1692
1693         * CMakeLists.txt:
1694
1695 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
1696
1697         Reviewed by Andreas Kling.
1698
1699         [CMake] Unify ENABLE_SVG sections
1700         https://bugs.webkit.org/show_bug.cgi?id=53778
1701
1702         * CMakeLists.txt:
1703
1704 2011-02-06  Andreas Kling  <kling@webkit.org>
1705
1706         Reviewed by Dirk Schulze.
1707
1708         Refactor Font::normalizeSpaces() to avoid an extra String copy.
1709         https://bugs.webkit.org/show_bug.cgi?id=53871
1710
1711         Have normalizeSpaces() take UChar*,length arguments instead of a
1712         String, since all call sites were creating temporaries from these
1713         components anyway.
1714
1715         Font::normalizeSpaces() now always makes 1 String copy,
1716         instead of 1 in the best case and 2 in the worst case.
1717
1718         * platform/graphics/Font.cpp:
1719         (WebCore::Font::normalizeSpaces):
1720         * platform/graphics/Font.h:
1721         * platform/graphics/qt/FontQt.cpp:
1722         (WebCore::drawTextCommon):
1723         (WebCore::Font::floatWidthForSimpleText):
1724         (WebCore::Font::floatWidthForComplexText):
1725         (WebCore::Font::offsetForPositionForSimpleText):
1726         (WebCore::Font::offsetForPositionForComplexText):
1727         (WebCore::Font::selectionRectForSimpleText):
1728         (WebCore::Font::selectionRectForComplexText):
1729         * svg/SVGFont.cpp:
1730         (WebCore::SVGTextRunWalker::walk):
1731
1732 2011-02-06  Andreas Kling  <kling@webkit.org>
1733
1734         Reviewed by Dirk Schulze.
1735
1736         Fix potential buffer overrun in SVGTextRunWalker::walk()
1737         https://bugs.webkit.org/show_bug.cgi?id=53870
1738
1739         A new String was created from a UChar* with a 'length' argument
1740         that could be greater than the number of UChars available.
1741
1742         * svg/SVGFont.cpp:
1743         (WebCore::SVGTextRunWalker::walk):
1744
1745 2011-02-05  Adam Barth  <abarth@webkit.org>
1746
1747         Reviewed by Eric Seidel.
1748
1749         Remove unused parameter related to XSSAuditor
1750         https://bugs.webkit.org/show_bug.cgi?id=53862
1751
1752         * WebCore.exp.in:
1753         * bindings/ScriptControllerBase.cpp:
1754         (WebCore::ScriptController::executeScript):
1755         (WebCore::ScriptController::executeIfJavaScriptURL):
1756         * bindings/ScriptControllerBase.h:
1757         * bindings/js/ScriptController.cpp:
1758         (WebCore::ScriptController::evaluateInWorld):
1759         (WebCore::ScriptController::evaluate):
1760         (WebCore::ScriptController::executeScriptInWorld):
1761         * bindings/js/ScriptController.h:
1762         * bindings/v8/ScriptController.cpp:
1763         (WebCore::ScriptController::evaluate):
1764         * bindings/v8/ScriptController.h:
1765
1766 2011-02-05  Adam Barth  <abarth@webkit.org>
1767
1768         Fix Qt build.
1769
1770         * WebCore.pro:
1771
1772 2011-02-05  Adam Barth  <abarth@webkit.org>
1773
1774         Reviewed by Eric Seidel.
1775
1776         Delete XSSAuditor
1777         https://bugs.webkit.org/show_bug.cgi?id=53859
1778
1779         The job of the XSSAuditor is now done by the XSSFilter.  In the future,
1780         we might rename XSSFilter to XSSAuditor.
1781
1782         * Android.mk:
1783         * CMakeLists.txt:
1784         * GNUmakefile.am:
1785         * WebCore.gypi:
1786         * WebCore.vcproj/WebCore.vcproj:
1787         * WebCore.xcodeproj/project.pbxproj:
1788         * bindings/ScriptControllerBase.cpp:
1789         (WebCore::ScriptController::executeIfJavaScriptURL):
1790         * bindings/ScriptControllerBase.h:
1791         * bindings/js/ScriptController.cpp:
1792         (WebCore::ScriptController::ScriptController):
1793         (WebCore::ScriptController::evaluateInWorld):
1794         * bindings/js/ScriptController.h:
1795         * bindings/js/ScriptEventListener.cpp:
1796         (WebCore::createAttributeEventListener):
1797         * bindings/v8/ScriptController.cpp:
1798         (WebCore::ScriptController::ScriptController):
1799         (WebCore::ScriptController::evaluate):
1800         * bindings/v8/ScriptController.h:
1801         * bindings/v8/ScriptEventListener.cpp:
1802         (WebCore::createAttributeEventListener):
1803         * dom/Document.cpp:
1804         (WebCore::Document::implicitOpen):
1805         (WebCore::Document::processBaseElement):
1806         * dom/ScriptableDocumentParser.cpp:
1807         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
1808         * dom/ScriptableDocumentParser.h:
1809         * html/parser/HTMLDocumentParser.cpp:
1810         (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
1811         * loader/SubframeLoader.cpp:
1812         (WebCore::SubframeLoader::requestObject):
1813         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
1814         * page/XSSAuditor.cpp: Removed.
1815         * page/XSSAuditor.h: Removed.
1816
1817 2011-02-05  Anders Carlsson  <andersca@apple.com>
1818
1819         Reviewed by Darin Adler.
1820
1821         Need a way to resize and scroll the page at the same time
1822         https://bugs.webkit.org/show_bug.cgi?id=53814
1823         <rdar://problem/8498008>
1824
1825         Export a function needed by WebKit2.
1826
1827         * WebCore.exp.in:
1828
1829 2011-02-05  Patrick Gansterer  <paroga@webkit.org>
1830
1831         Reviewed by Alexey Proskuryakov.
1832
1833         Use Document::encoding() instead of DocumentWriter::encoding()
1834         https://bugs.webkit.org/show_bug.cgi?id=53398
1835
1836         This change makes the code more readable, when a subresource
1837         inherits the character encoding of the document.
1838
1839         * dom/ProcessingInstruction.cpp:
1840         (WebCore::ProcessingInstruction::checkStyleSheet):
1841         * dom/ScriptElement.cpp:
1842         (WebCore::ScriptElement::scriptCharset):
1843         * html/HTMLLinkElement.cpp:
1844         (WebCore::HTMLLinkElement::process):
1845         * loader/cache/CachedResourceLoader.cpp:
1846         (WebCore::CachedResourceLoader::requestPreload):
1847         * platform/network/FormDataBuilder.cpp:
1848         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
1849
1850 2011-02-05  Adam Barth  <abarth@webkit.org>
1851
1852         Reviewed by Eric Seidel.
1853
1854         Introduce URLString to represent a canonicalized URL represented by a string
1855         https://bugs.webkit.org/show_bug.cgi?id=53847
1856
1857         Instead of using String all over the codebase to represent a URL,
1858         instead we should have a type to represent a canonicalized URL in the
1859         form of a string.  This patch introduces that type.
1860
1861         * GNUmakefile.am:
1862         * WebCore.gypi:
1863         * WebCore.xcodeproj/project.pbxproj:
1864         * platform/KURL.cpp:
1865         (WebCore::KURL::KURL):
1866         * platform/KURL.h:
1867         (WebCore::KURL::urlString):
1868
1869 2011-02-05  Robert Hogan  <robert@webkit.org>
1870
1871         Reviewed by Antonio Gomes.
1872
1873         [Qt] Style widgets not rendering
1874         https://bugs.webkit.org/show_bug.cgi?id=53849
1875
1876         * html/HTMLObjectElement.cpp:
1877         (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
1878
1879 2011-02-05  Jochen Eisinger  <jochen@chromium.org>
1880
1881         Reviewed by Adam Barth.
1882
1883         Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
1884         https://bugs.webkit.org/show_bug.cgi?id=53685
1885
1886         * WebCore.xcodeproj/project.pbxproj:
1887         * dom/Document.h:
1888         (WebCore::Document::contentSecurityPolicy):
1889         * loader/MainResourceLoader.cpp:
1890         (WebCore::MainResourceLoader::didReceiveResponse):
1891         * page/ContentSecurityPolicy.cpp:
1892         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1893         * page/ContentSecurityPolicy.h:
1894
1895 2011-02-05  Eric Seidel  <eric@webkit.org>
1896
1897         Reviewed by Adam Barth.
1898
1899         Safari should lowercase schemes in cannonicalized urls to match every other browser
1900         https://bugs.webkit.org/show_bug.cgi?id=53848
1901
1902         We're clearly the odd man out here.  See results from every browser at:
1903         https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt
1904
1905         * platform/KURL.cpp:
1906         (WebCore::KURL::parse):
1907          - Just lowercase the scheme when copying.
1908
1909 2011-02-05  Antti Koivisto  <antti@apple.com>
1910
1911         Reviewed by Dave Hyatt.
1912
1913         Optimize matching of descendant selectors
1914         https://bugs.webkit.org/show_bug.cgi?id=49876
1915         <rdar://problem/8772822>
1916         
1917         During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
1918         Use the filter to quickly reject descendant and child selectors when doing style matching.
1919
1920         This speeds up style recalculations 3-6x on many major web sites.
1921
1922         * css/CSSStyleSelector.cpp:
1923         (WebCore::RuleData::RuleData):
1924         (WebCore::RuleData::descendantSelectorIdentifierHashes):
1925         (WebCore::collectElementIdentifiers):
1926         (WebCore::CSSStyleSelector::pushParent):
1927         (WebCore::CSSStyleSelector::popParent):
1928         (WebCore::CSSStyleSelector::fastRejectSelector):
1929         (WebCore::CSSStyleSelector::matchRulesForList):
1930         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
1931         * css/CSSStyleSelector.h:
1932         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
1933         * dom/Element.cpp:
1934         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
1935         (WebCore::StyleSelectorParentPusher::push):
1936         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
1937         (WebCore::Element::attach):
1938         (WebCore::Element::recalcStyle):
1939
1940 2011-02-05  Nate Chapin  <japhet@chromium.org>
1941
1942         Reviewed by Adam Barth.
1943
1944         Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
1945         when it inherits one from ActiveDOMObject.
1946         https://bugs.webkit.org/show_bug.cgi?id=53815
1947
1948         * bindings/js/JSDesktopNotificationsCustom.cpp:
1949         (WebCore::JSNotificationCenter::requestPermission):
1950         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1951         (WebCore::V8NotificationCenter::requestPermissionCallback):
1952         * notifications/NotificationCenter.cpp:
1953         (WebCore::NotificationCenter::NotificationCenter):
1954         (WebCore::NotificationCenter::checkPermission):
1955         (WebCore::NotificationCenter::requestPermission):
1956         (WebCore::NotificationCenter::disconnectFrame):
1957         * notifications/NotificationCenter.h:
1958         (WebCore::NotificationCenter::createHTMLNotification):
1959         (WebCore::NotificationCenter::createNotification):
1960
1961 2011-02-04  Adam Barth  <abarth@webkit.org>
1962
1963         Reviewed by Maciej Stachowiak.
1964
1965         Crash in WebCore::TextEncoding::decode below XSSFilter::init
1966         https://bugs.webkit.org/show_bug.cgi?id=53837
1967
1968         Add missing null check.
1969
1970         Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
1971
1972         * html/parser/XSSFilter.cpp:
1973         (WebCore::XSSFilter::init):
1974
1975 2011-02-04  Simon Fraser  <simon.fraser@apple.com>
1976
1977         Reviewed by Dan Bernstein.
1978
1979         Crashes in ShadowBlur via WebKit2 FindController
1980         https://bugs.webkit.org/show_bug.cgi?id=53830
1981         
1982         Fix a crash cause by re-entering ShadowBlur, and add assertions to
1983         detect when it happens.
1984         
1985         The re-entrancy occurred when drawRectShadowWithTiling() filled
1986         the interior of the shadow with fillRect() on the context
1987         which still had the shadow state set. This would make another ShadowBlur
1988         on the stack and call into the code again, potentially blowing away
1989         the image buffer.
1990         
1991         Fix by turning off shadows in the destination context while we're
1992         drawing the tiled shadow. The non-tiled code path already did this.
1993
1994         Not testable because CSS shadows clip out the inside of the rect
1995         being shadowed, and SVG uses fillPath, even for rects.
1996
1997         * platform/graphics/ShadowBlur.cpp:
1998         (WebCore::ScratchBuffer::ScratchBuffer):
1999         (WebCore::ScratchBuffer::getScratchBuffer):
2000         (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
2001         (WebCore::ShadowBlur::ShadowBlur):
2002         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2003
2004 2011-02-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2005
2006         Reviewed by Martin Robinson.
2007
2008         [GTK] Don't use a fixed size for search field icons
2009         https://bugs.webkit.org/show_bug.cgi?id=50624
2010
2011         Use the parent input content box to make sure the icon fits in the
2012         search field, scaling it down when needed.
2013
2014         * platform/gtk/RenderThemeGtk.cpp:
2015         (WebCore::paintGdkPixbuf):
2016         (WebCore::getIconSizeForPixelSize):
2017         (WebCore::adjustSearchFieldIconStyle):
2018         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
2019         (WebCore::centerRectVerticallyInParentInputElement):
2020         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2021         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
2022         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2023         (WebCore::RenderThemeGtk::paintCapsLockIndicator):
2024         (WebCore::RenderThemeGtk::paintMediaButton):
2025
2026 2011-02-04  Hironori Bono  <hbono@chromium.org>
2027
2028         Reviewed by Adam Barth.
2029
2030         [chromium] JPEG corruption
2031         https://bugs.webkit.org/show_bug.cgi?id=53250
2032
2033         Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
2034         profiles from CMYK to RGB twice and it causes color corruption. This
2035         change suppresses the color profiles for CMYK JPEGs same as gray-scale
2036         ones.
2037
2038         Test: fast/images/cmyk-jpeg-with-color-profile.html
2039
2040         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2041         (WebCore::JPEGImageReader::decode):
2042
2043 2011-02-04  Xiyuan Xia  <xiyuan@chromium.org>
2044
2045         Reviewed by Tony Chang.
2046
2047         [Chromium] Option text in select popup does not align with menulist button text
2048         https://bugs.webkit.org/show_bug.cgi?id=53632
2049
2050         This makes clientPaddingLeft and  clientPaddingRight return
2051         the additional m_innerBlock's padding so that the popup item text
2052         aligns with the menulist button text.
2053
2054         * rendering/RenderMenuList.cpp:
2055         (WebCore::RenderMenuList::clientPaddingLeft):
2056         (WebCore::RenderMenuList::clientPaddingRight):
2057
2058 2011-02-04  Anders Carlsson  <andersca@apple.com>
2059
2060         Reviewed by Sam Weinig and Beth Dakin.
2061
2062         REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
2063         <rdar://problem/8962457>
2064
2065         * platform/ScrollView.cpp:
2066         (WebCore::ScrollView::scrollContents):
2067         Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
2068         
2069         * platform/ScrollableArea.cpp:
2070         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
2071         Make sure to invalidate both scrollbars if overlay scrollers are enabled.
2072
2073 2011-02-04  Adam Barth  <abarth@webkit.org>
2074
2075         Reviewed by Eric Seidel.
2076
2077         PluginDocuments don't create widgets for plugins on back/forward
2078         https://bugs.webkit.org/show_bug.cgi?id=53474
2079
2080         Long ago, PluginDocument always caused the HTMLEmbedElement to create
2081         its widget synchronously during a post-layout task.  Recently, however,
2082         some changes to the HistroyController caused layout on back/forward to
2083         become slightly more complicated (and added an extra level of recursion
2084         to layout).  This extra level of recursion triggered the "I've recursed
2085         too many times" condition in the post-layout task queue, causing the
2086         FrameView to run the remainder of the tasks asynchronously.
2087         Unfortunately, that broke PluginDocument because it needs its the
2088         HTMLEmbedElement's updateWidget task to run synchronously.
2089
2090         This patch adds a mechanism for "kicking off" the pending post-layout
2091         tasks synchronously (instead of waiting for the timer to fire).
2092         PluginDocument then uses that facility to ensure that the
2093         HTMLEmbedElement's updateWidget task happens.
2094
2095         Test: plugins/plugin-document-back-forward.html
2096
2097         * html/PluginDocument.cpp:
2098         (WebCore::PluginDocumentParser::appendBytes):
2099         * page/FrameView.cpp:
2100         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
2101         * page/FrameView.h:
2102
2103 2011-02-04  Charlie Reis  <creis@chromium.org>
2104
2105         Reviewed by Mihai Parparita.
2106
2107         Crash in WebCore::HistoryController::itemsAreClones
2108         https://bugs.webkit.org/show_bug.cgi?id=52819
2109
2110         Avoids deleting the current HistoryItem while it is still in use.
2111         Ensures that provisional items are committed for same document navigations.
2112         Ensures that error pages are committed on back/forward navigations.
2113         Also removes unneeded sanity checks used for diagnosing the problem.
2114
2115         * loader/HistoryController.cpp:
2116         * loader/HistoryController.h:
2117
2118 2011-02-04  Carol Szabo  <carol.szabo@nokia.com>
2119
2120         Reviewed by David Hyatt.
2121
2122         Code Changes.
2123
2124         CSS 2.1 failure: content-*
2125         https://bugs.webkit.org/show_bug.cgi?id=52126
2126
2127         Test: fast/css/counters/content-021.html
2128
2129         * rendering/CounterNode.cpp:
2130         (showCounterTree):
2131         Made parameter const because it is supposed to be so.
2132         * rendering/RenderCounter.cpp:
2133         (WebCore::previousInPreOrder):
2134         (WebCore::previousSiblingOrParent):
2135         (WebCore::parentElement):
2136         (WebCore::areRenderersElementsSiblings):
2137         (WebCore::nextInPreOrder):
2138         Added these local helper functions to help navigate the DOM tree
2139         enriched with :before and :after pseudo elements.
2140         (WebCore::planCounter):
2141         Fixed bug that would create a repeat counter for second and
2142         subsequent renderers associated with the same DOM element.
2143         (WebCore::findPlaceForCounter):
2144         (WebCore::makeCounterNode):
2145         Changed to use the new tree navigation functions described above
2146         instead of the Renderer Tree navigation functions.
2147         (WebCore::RenderCounter::rendererSubtreeAttached):
2148         (WebCore::RenderCounter::rendererStyleChanged):
2149         Optimized to not bother about counters until the renderers are
2150         finally attached.
2151         (showRendererTree):
2152         (showNodeTree):
2153         Debug helper functions used to debug Counter bugs.
2154
2155 2011-02-04  Dan Bernstein  <mitz@apple.com>
2156
2157         Typo fix.
2158
2159         * html/parser/XSSFilter.cpp:
2160         (WebCore::HTMLNames::containsJavaScriptURL):
2161
2162 2011-02-04  Dan Bernstein  <mitz@apple.com>
2163
2164         Reviewed by Anders Carlsson.
2165
2166         Make an infinite loop introduced in r77454 finite.
2167
2168         * html/parser/XSSFilter.cpp:
2169         (WebCore::HTMLNames::containsJavaScriptURL):
2170
2171 2011-02-04  Jer Noble  <jer.noble@apple.com>
2172
2173         Reviewed by Eric Carlson.
2174
2175         Frame accurate seeking isn't always accurate
2176         https://bugs.webkit.org/show_bug.cgi?id=52697
2177
2178         Test: media/video-frame-accurate-seek.html
2179
2180         Make seeking slightly more accurate by rounding instead of truncating
2181         when converting from seconds-in-float to time/timeScale.
2182
2183         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2184         (WebCore::MediaPlayerPrivateQTKit::createQTTime):
2185         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2186         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
2187         * platform/graphics/win/QTMovie.cpp:
2188         (QTMovie::setCurrentTime):
2189
2190 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2191
2192         Reviewed by Nate Chapin.
2193
2194         Second IndexedDB events overhaul patch
2195         https://bugs.webkit.org/show_bug.cgi?id=53813
2196
2197         If an IDBRequest has a IDBTransaction, it should propogate
2198         events through it. In order to do this, IDBRequest needs to
2199         hold a transaction frontend object rather than a backend one.
2200
2201         Test: storage/indexeddb/request-event-propagation.html
2202
2203         * storage/IDBCursor.cpp:
2204         (WebCore::IDBCursor::IDBCursor):
2205         * storage/IDBCursor.h:
2206         (WebCore::IDBCursor::create):
2207         * storage/IDBDatabase.cpp:
2208         (WebCore::IDBDatabase::setSetVersionTransaction):
2209         (WebCore::IDBDatabase::createObjectStore):
2210         (WebCore::IDBDatabase::deleteObjectStore):
2211         * storage/IDBDatabase.h:
2212         * storage/IDBIndex.cpp:
2213         (WebCore::IDBIndex::IDBIndex):
2214         (WebCore::IDBIndex::openCursor):
2215         (WebCore::IDBIndex::openKeyCursor):
2216         (WebCore::IDBIndex::get):
2217         (WebCore::IDBIndex::getKey):
2218         * storage/IDBIndex.h:
2219         (WebCore::IDBIndex::create):
2220         * storage/IDBObjectStore.cpp:
2221         (WebCore::IDBObjectStore::IDBObjectStore):
2222         (WebCore::IDBObjectStore::get):
2223         (WebCore::IDBObjectStore::add):
2224         (WebCore::IDBObjectStore::put):
2225         (WebCore::IDBObjectStore::deleteFunction):
2226         (WebCore::IDBObjectStore::createIndex):
2227         (WebCore::IDBObjectStore::deleteIndex):
2228         (WebCore::IDBObjectStore::openCursor):
2229         * storage/IDBObjectStore.h:
2230         (WebCore::IDBObjectStore::create):
2231         * storage/IDBRequest.cpp:
2232         (WebCore::IDBRequest::create):
2233         (WebCore::IDBRequest::IDBRequest):
2234         (WebCore::IDBRequest::resetReadyState):
2235         (WebCore::IDBRequest::onSuccess):
2236         (WebCore::IDBRequest::dispatchEvent):
2237         * storage/IDBRequest.h:
2238         * storage/IDBTransaction.cpp:
2239         (WebCore::IDBTransaction::IDBTransaction):
2240         (WebCore::IDBTransaction::objectStore):
2241         (WebCore::IDBTransaction::contextDestroyed):
2242         (WebCore::IDBTransaction::enqueueEvent):
2243         * storage/IDBTransaction.h:
2244         * storage/IDBTransaction.idl:
2245
2246 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2247
2248         Reviewed by Nate Chapin.
2249
2250         First step towards event propogation within IndexedDB
2251         https://bugs.webkit.org/show_bug.cgi?id=53795
2252
2253         This is the first step towards implementing
2254         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
2255         within IndexedDB. I've created a method that knows how
2256         to capture and bubble (based on Node's dispatchGenericEvent).
2257         I've then changed IDBRequest to use it.
2258
2259         The only functional change is that preventDefault now must
2260         be called in error events to prevent the transaction from
2261         being aborted. The tests reflect this change and there's one
2262         specific test to look at this behavior.
2263
2264         Test: storage/indexeddb/error-causes-abort-by-default.html
2265
2266         * storage/IDBAbortEvent.cpp:
2267         (WebCore::IDBAbortEvent::create):
2268         (WebCore::IDBAbortEvent::IDBAbortEvent):
2269         * storage/IDBAbortEvent.h:
2270         * storage/IDBCompleteEvent.cpp:
2271         (WebCore::IDBCompleteEvent::create):
2272         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
2273         * storage/IDBCompleteEvent.h:
2274         * storage/IDBErrorEvent.cpp:
2275         (WebCore::IDBErrorEvent::IDBErrorEvent):
2276         * storage/IDBEvent.cpp:
2277         (WebCore::IDBEvent::IDBEvent):
2278         (WebCore::IDBEvent::dispatch):
2279         * storage/IDBEvent.h:
2280         * storage/IDBRequest.cpp:
2281         (WebCore::IDBRequest::dispatchEvent):
2282         * storage/IDBRequest.h:
2283         * storage/IDBSuccessEvent.cpp:
2284         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
2285         * storage/IDBTransaction.cpp:
2286         (WebCore::IDBTransaction::onAbort):
2287         (WebCore::IDBTransaction::onComplete):
2288         * storage/IDBTransaction.h:
2289         (WebCore::IDBTransaction::backend):
2290         * storage/IDBTransactionBackendImpl.cpp:
2291         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2292
2293 2011-02-04  Daniel Cheng  <dcheng@chromium.org>
2294
2295         Reviewed by Dmitry Titov.
2296
2297         Clone WebClipboard to be frame-specific.
2298         https://bugs.webkit.org/show_bug.cgi?id=53727
2299
2300         For drop operations, Chrome currently snapshots the data and copies it
2301         into the renderer process. As we add more supported drag data types, the
2302         copy will become increasingly expensive. Instead, we'd like to snapshot
2303         data in the browser to reduce the amount of data copied and to support
2304         Blob in DataTransferItem. In order to allow this, we associated
2305         WebClipboard with a frame so it can correctly route its IPCs to the
2306         corresponding Chromium host.
2307
2308         No new tests because no new functionality.
2309
2310         * platform/chromium/ChromiumDataObject.cpp:
2311         (WebCore::ChromiumDataObject::createReadable):
2312         * platform/chromium/ChromiumDataObject.h:
2313         * platform/chromium/ClipboardChromium.cpp:
2314         (WebCore::ClipboardChromium::create):
2315         * platform/chromium/PlatformBridge.h:
2316         * platform/chromium/ReadableDataObject.cpp:
2317         (WebCore::ReadableDataObject::create):
2318         (WebCore::ReadableDataObject::ReadableDataObject):
2319         (WebCore::ReadableDataObject::getData):
2320         (WebCore::ReadableDataObject::urlTitle):
2321         (WebCore::ReadableDataObject::htmlBaseUrl):
2322         (WebCore::ReadableDataObject::filenames):
2323         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2324         * platform/chromium/ReadableDataObject.h:
2325
2326 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2327
2328         Revert https://bugs.webkit.org/show_bug.cgi?id=53795
2329
2330         * storage/IDBAbortEvent.cpp:
2331         (WebCore::IDBAbortEvent::create):
2332         (WebCore::IDBAbortEvent::IDBAbortEvent):
2333         * storage/IDBAbortEvent.h:
2334         * storage/IDBCompleteEvent.cpp:
2335         (WebCore::IDBCompleteEvent::create):
2336         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
2337         * storage/IDBCompleteEvent.h:
2338         * storage/IDBErrorEvent.cpp:
2339         (WebCore::IDBErrorEvent::IDBErrorEvent):
2340         * storage/IDBEvent.cpp:
2341         (WebCore::IDBEvent::IDBEvent):
2342         * storage/IDBEvent.h:
2343         * storage/IDBRequest.cpp:
2344         (WebCore::IDBRequest::dispatchEvent):
2345         * storage/IDBRequest.h:
2346         * storage/IDBSuccessEvent.cpp:
2347         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
2348         * storage/IDBTransaction.cpp:
2349         (WebCore::IDBTransaction::onAbort):
2350         (WebCore::IDBTransaction::onComplete):
2351         * storage/IDBTransaction.h:
2352         * storage/IDBTransactionBackendImpl.cpp:
2353         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2354
2355 2011-02-04  Martin Galpin  <martin@66laps.com>
2356
2357         Reviewed by David Levin.
2358
2359         CORS origin header not set on GET when a preflight request is required.
2360         https://bugs.webkit.org/show_bug.cgi?id=50773
2361         
2362         Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
2363
2364         * loader/DocumentThreadableLoader.cpp:
2365         (WebCore::DocumentThreadableLoader::preflightSuccess): 
2366         Explicitly set the request origin after a preflight request succeeds.
2367
2368 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2369
2370         Reviewed by Nate Chapin.
2371
2372         First step towards event propogation within IndexedDB
2373         https://bugs.webkit.org/show_bug.cgi?id=53795
2374
2375         This is the first step towards implementing
2376         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
2377         within IndexedDB. I've created a method that knows how
2378         to capture and bubble (based on Node's dispatchGenericEvent).
2379         I've then changed IDBRequest to use it.
2380
2381         The only functional change is that preventDefault now must
2382         be called in error events to prevent the transaction from
2383         being aborted. The tests reflect this change and there's one
2384         specific test to look at this behavior.
2385
2386         Test: storage/indexeddb/error-causes-abort-by-default.html
2387
2388         * storage/IDBAbortEvent.cpp:
2389         (WebCore::IDBAbortEvent::create):
2390         (WebCore::IDBAbortEvent::IDBAbortEvent):
2391         * storage/IDBAbortEvent.h:
2392         * storage/IDBCompleteEvent.cpp:
2393         (WebCore::IDBCompleteEvent::create):
2394         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
2395         * storage/IDBCompleteEvent.h:
2396         * storage/IDBErrorEvent.cpp:
2397         (WebCore::IDBErrorEvent::IDBErrorEvent):
2398         * storage/IDBEvent.cpp:
2399         (WebCore::IDBEvent::IDBEvent):
2400         (WebCore::IDBEvent::dispatch):
2401         * storage/IDBEvent.h:
2402         * storage/IDBRequest.cpp:
2403         (WebCore::IDBRequest::dispatchEvent):
2404         * storage/IDBRequest.h:
2405         * storage/IDBSuccessEvent.cpp:
2406         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
2407         * storage/IDBTransaction.cpp:
2408         (WebCore::IDBTransaction::onAbort):
2409         (WebCore::IDBTransaction::onComplete):
2410         * storage/IDBTransaction.h:
2411         (WebCore::IDBTransaction::backend):
2412         * storage/IDBTransactionBackendImpl.cpp:
2413         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2414
2415 2011-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
2416
2417         Reviewed by Csaba Osztrogonác.
2418
2419         [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
2420         https://bugs.webkit.org/show_bug.cgi?id=53674
2421
2422         * css/mediaControlsQt.css:
2423
2424 2011-02-04  Dan Bernstein  <mitz@apple.com>
2425
2426         Reviewed by Darin Adler and Dave Hyatt.
2427
2428         <rdar://problem/8902704> Make ruby text size 50% by default
2429         https://bugs.webkit.org/show_bug.cgi?id=53723
2430
2431         * css/html.css:
2432         (ruby > rt): Changed the font-size from 60% to 50%.
2433
2434 2011-02-04  Antti Koivisto  <antti@apple.com>
2435
2436         Reviewed by Dimitri Glazkov.
2437
2438         https://bugs.webkit.org/show_bug.cgi?id=53610
2439         Regression: adjacent sibling selector not working as expected
2440         <rdar://problem/8960033>
2441         
2442         https://bugs.webkit.org/show_bug.cgi?id=53574
2443         REGRESSION (r76012): :last-child:after not working as expected
2444         <rdar://problem/8948643>
2445         
2446         Test for additional conditions in parent style that prevent sharing.
2447
2448         Tests: fast/selectors/style-sharing-adjacent-selector.html
2449                fast/selectors/style-sharing-last-child.html
2450
2451         * css/CSSStyleSelector.cpp:
2452         (WebCore::parentStylePreventsSharing):
2453         (WebCore::CSSStyleSelector::locateSharedStyle):
2454
2455 2011-02-04  Mark Mentovai  <mark@chromium.org>
2456
2457         Reviewed by Dimitri Glazkov.
2458
2459         Chromium GYP build fix.
2460
2461         When various settings were moved to webcore_prerequisites in r66364,
2462         things that should have been direct_dependent_settings were not marked
2463         as such. GYP 'defines', for example, make no sense on a 'none'-type
2464         target such as webcore_prerequisites. It appears that it was intended
2465         for these settings to be pushed to direct dependents, which would make
2466         direct_dependent_settings correct.
2467
2468         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
2469         http://crbug.com/71537, which at best causes Mac console log spew, and
2470         at worst may result in Chromium's copy of WebCore using system
2471         definitions of certain Objective-C classes at runtime, or vice-versa.
2472
2473         The build now includes a postbuild step to prevent
2474         http://crbug.com/71537 from regressing again. The build will fail upon
2475         regression.
2476
2477         https://bugs.webkit.org/show_bug.cgi?id=53630
2478
2479         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
2480           direct_dependent_settings as needed, add the check_objc_rename
2481           postbuild step.
2482         * WebCore.gyp/mac/check_objc_rename.sh: Added.
2483
2484 2011-02-04  Robert Hogan  <robert@webkit.org>
2485
2486         Reviewed by Darin Fisher.
2487
2488         Move chromium iframe shim code to cross-platform file
2489         https://bugs.webkit.org/show_bug.cgi?id=52594
2490
2491         Move Chromium code for identifying and cutting out
2492         iframe shims from plugins to cross-platform utility file
2493         IFrameShimSupport.cpp.
2494         Amend PluginViewQt to use this code to handle shims correctly.
2495
2496         * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
2497         * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
2498         * plugins/IFrameShimSupport.cpp: Added.
2499         (WebCore::getObjectStack):
2500         (WebCore::iframeIsAbovePlugin):
2501         (WebCore::getPluginOcclusions):
2502         * plugins/IFframeShimSupport.h: Added.
2503         * plugins/qt/PluginViewQt.cpp:
2504         (WebCore::PluginView::setNPWindowIfNeeded):
2505
2506 2011-02-04  Xiaomei Ji  <xji@chromium.org>
2507
2508         Reviewed by David Levin.
2509
2510         Implement "<option> should implement the dir attribute" for chromium port after r76983.
2511         https://bugs.webkit.org/show_bug.cgi?id=50969
2512
2513         Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
2514         added in r76983.
2515
2516         * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
2517         <select> drop-down setting.
2518         (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
2519         items in drop-down and pass-in bidi override flag when creating text run.
2520         * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
2521         PopupContainerSettings.
2522
2523 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2524
2525         Build fix from merge mistake.
2526
2527         * storage/IDBTransaction.cpp:
2528         (WebCore::IDBTransaction::ensureEventTargetData):
2529
2530 2011-02-04  Levi Weintraub  <leviw@chromium.org>
2531
2532         Reviewed by Darin Adler.
2533
2534         Remove unneeded function declarations in comments in EditorClient.h
2535         https://bugs.webkit.org/show_bug.cgi?id=53745
2536
2537         Removing unused commented out function declarations. No tests since this is just cleanup.
2538
2539         * page/EditorClient.h:
2540
2541 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
2542
2543         Reviewed by Nate Chapin.
2544
2545         Refactor IDBRequest and IDBTransaction a bit
2546         https://bugs.webkit.org/show_bug.cgi?id=53565
2547
2548         There were a lot of subtle issues with the way IDBTransaction
2549         and IDBRequest used to be written. This cleans a lot of them up
2550         and largely simplifies the logic. Using EventQueue rather than
2551         timers is one example of the simplification.
2552
2553         * bindings/scripts/CodeGeneratorV8.pm:
2554         * dom/EventQueue.cpp:
2555         (WebCore::EventQueue::enqueueEvent):
2556         (WebCore::EventQueue::dispatchEvent):
2557         * storage/IDBCursor.cpp:
2558         (WebCore::IDBCursor::continueFunction):
2559         * storage/IDBRequest.cpp:
2560         (WebCore::IDBRequest::create):
2561         (WebCore::IDBRequest::IDBRequest):
2562         (WebCore::IDBRequest::resetReadyState):
2563         (WebCore::IDBRequest::onError):
2564         (WebCore::IDBRequest::onSuccess):
2565         (WebCore::IDBRequest::dispatchEvent):
2566         (WebCore::IDBRequest::enqueueEvent):
2567         (WebCore::IDBRequest::eventTargetData):
2568         (WebCore::IDBRequest::ensureEventTargetData):
2569         * storage/IDBRequest.h:
2570         (WebCore::IDBRequest::dispatchEvent):
2571         * storage/IDBTransaction.cpp:
2572         (WebCore::IDBTransaction::create):
2573         (WebCore::IDBTransaction::IDBTransaction):
2574         (WebCore::IDBTransaction::objectStore):
2575         (WebCore::IDBTransaction::abort):
2576         (WebCore::IDBTransaction::onAbort):
2577         (WebCore::IDBTransaction::onComplete):
2578         (WebCore::IDBTransaction::onTimeout):
2579         (WebCore::IDBTransaction::canSuspend):
2580         (WebCore::IDBTransaction::stop):
2581         (WebCore::IDBTransaction::enqueueEvent):
2582         (WebCore::IDBTransaction::eventTargetData):
2583         (WebCore::IDBTransaction::ensureEventTargetData):
2584         * storage/IDBTransaction.h:
2585
2586 2011-02-01  Jeremy Orlow  <jorlow@chromium.org>
2587
2588         Reviewed by Nate Chapin.
2589
2590         Remove the timeout event from IndexedDB
2591         https://bugs.webkit.org/show_bug.cgi?id=53521
2592
2593         Remove timeout and ontimeout from IDBTransaction per the spec.
2594
2595         * WebCore.gypi:
2596         * storage/IDBDatabase.cpp:
2597         (WebCore::IDBDatabase::transaction):
2598         * storage/IDBDatabase.h:
2599         (WebCore::IDBDatabase::transaction):
2600         * storage/IDBDatabase.idl:
2601         * storage/IDBDatabaseBackendImpl.cpp:
2602         (WebCore::IDBDatabaseBackendImpl::setVersion):
2603         (WebCore::IDBDatabaseBackendImpl::transaction):
2604         * storage/IDBDatabaseBackendImpl.h:
2605         * storage/IDBDatabaseBackendInterface.h:
2606         * storage/IDBTimeoutEvent.cpp: Removed.
2607         * storage/IDBTimeoutEvent.h: Removed.
2608         * storage/IDBTransaction.cpp:
2609         (WebCore::IDBTransaction::IDBTransaction):
2610         (WebCore::IDBTransaction::onAbort):
2611         (WebCore::IDBTransaction::onComplete):
2612         * storage/IDBTransaction.h:
2613         * storage/IDBTransaction.idl:
2614         * storage/IDBTransactionBackendImpl.cpp:
2615         (WebCore::IDBTransactionBackendImpl::create):
2616         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
2617         * storage/IDBTransactionBackendImpl.h:
2618         * storage/IDBTransactionCallbacks.h:
2619
2620 2011-02-04  Chris Fleizach  <cfleizach@apple.com>
2621
2622         Reviewed by Darin Adler.
2623
2624         AX: Can't set accessibility overridden attributes on web objects
2625         https://bugs.webkit.org/show_bug.cgi?id=53725
2626
2627         accessibilitySetOverriddenValue does not work on AX objects from WebCore because 
2628         the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
2629         Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
2630         attribute only when an AX client asks for it through the AX frameworks.
2631
2632         * accessibility/mac/AccessibilityObjectWrapper.mm:
2633         (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
2634
2635 2011-02-03  Dimitri Glazkov  <dglazkov@chromium.org>
2636
2637         Reviewed by Kent Tamura.
2638
2639         REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
2640         https://bugs.webkit.org/show_bug.cgi?id=53691
2641
2642         Test: fast/repaint/slider-thumb-drag-release.html
2643
2644         * html/shadow/SliderThumbElement.cpp:
2645         (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
2646             that the thumb is repainted.
2647
2648 2011-02-04  Mikhail Naganov  <mnaganov@chromium.org>
2649
2650         Reviewed by Pavel Feldman.
2651
2652         Web Inspector: Add "show more" data grid node and waiting message UI components.
2653         https://bugs.webkit.org/show_bug.cgi?id=53763
2654
2655         - "show more" data grid node is used for on-demand population of
2656         data grid contents (similar to DOM tree capability for limiting
2657         displayed nodes count);
2658
2659         - waiting message is used for informing user about long lasting
2660         operations (with a possibility to cancel them).
2661
2662         * English.lproj/localizedStrings.js:
2663         * WebCore.gypi:
2664         * WebCore.vcproj/WebCore.vcproj:
2665         * inspector/front-end/PleaseWaitMessage.js: Added.
2666         (WebInspector.PleaseWaitMessage):
2667         * inspector/front-end/ShowMoreDataGridNode.js: Added.
2668         (WebInspector.ShowMoreDataGridNode):
2669         * inspector/front-end/WebKit.qrc:
2670         * inspector/front-end/inspector.css:
2671         (.data-grid button):
2672         (.please-wait-msg):
2673         * inspector/front-end/inspector.html:
2674
2675 2011-02-04  Adele Peterson  <adele@apple.com>
2676
2677         Reviewed by Dan Bernstein.
2678
2679         Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
2680         <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
2681
2682         Tests:
2683         fast/forms/textarea-placeholder-visibility-1.html
2684         fast/forms/textarea-placeholder-visibility-2.html
2685         fast/forms/input-placeholder-visibility-1.html
2686         fast/forms/input-placeholder-visibility-2.html
2687         fast/forms/input-placeholder-visibility-3.html
2688
2689         * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
2690         Add a check for shouldShowPlaceholderWhenFocused.
2691         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
2692         Whenever the value is updated, we should also update placeholder visibility.
2693         * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
2694         Make the default the same as the existing behavior.
2695         * rendering/RenderThemeMac.h:
2696         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
2697         Show placeholder when appropriate. 
2698
2699 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
2700
2701         Reviewed by Pavel Feldman.
2702
2703         Web Inspector: evaluate on hover does not work on a breakpoint.
2704         https://bugs.webkit.org/show_bug.cgi?id=53768
2705
2706         * inspector/front-end/SourceFrame.js:
2707         (WebInspector.SourceFrame.prototype._mouseHover):
2708
2709 2011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2710
2711         Unreviewed, rolling out r77625 and r77626.
2712         http://trac.webkit.org/changeset/77625
2713         http://trac.webkit.org/changeset/77626
2714         https://bugs.webkit.org/show_bug.cgi?id=53765
2715
2716         It broke Windows builds (Requested by Ossy_ on #webkit).
2717
2718         * Android.jscbindings.mk:
2719         * CMakeLists.txt:
2720         * ForwardingHeaders/pcre/pcre.h: Added.
2721         * ForwardingHeaders/yarr/Yarr.h: Removed.
2722         * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
2723         * ForwardingHeaders/yarr/YarrPattern.h: Removed.
2724         * WebCore.gyp/WebCore.gyp:
2725         * WebCore.pro:
2726         * WebCore.vcproj/WebCore.vcproj:
2727         * WebCore.vcproj/copyForwardingHeaders.cmd:
2728         * platform/text/RegularExpression.cpp:
2729         (WebCore::RegularExpression::Private::regexp):
2730         (WebCore::RegularExpression::Private::compile):
2731         (WebCore::RegularExpression::Private::Private):
2732         (WebCore::RegularExpression::Private::create):
2733         (WebCore::RegularExpression::Private::~Private):
2734         (WebCore::RegularExpression::match):
2735
2736 2011-02-04  Peter Varga  <pvarga@webkit.org>
2737
2738         Rubber-stamped by Csaba Osztrogonác.
2739
2740         Replace PCRE with Yarr in WebCore
2741         https://bugs.webkit.org/show_bug.cgi?id=53496
2742
2743         Speculative windows build fix.
2744
2745         No new tests needed.
2746
2747         * platform/text/RegularExpression.cpp:
2748
2749 2011-02-04  Peter Varga  <pvarga@webkit.org>
2750
2751
2752         Reviewed by Gavin Barraclough.
2753
2754         Replace PCRE with Yarr in WebCore
2755         https://bugs.webkit.org/show_bug.cgi?id=53496
2756
2757         No new tests needed.
2758
2759         * Android.jscbindings.mk:
2760         * CMakeLists.txt:
2761         * ForwardingHeaders/pcre/pcre.h: Removed.
2762         * ForwardingHeaders/yarr/Yarr.h: Added.
2763         * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
2764         * ForwardingHeaders/yarr/YarrPattern.h: Added.
2765         * WebCore.gyp/WebCore.gyp:
2766         * WebCore.pro:
2767         * WebCore.vcproj/WebCore.vcproj:
2768         * WebCore.vcproj/copyForwardingHeaders.cmd:
2769         * platform/text/RegularExpression.cpp:
2770         (WebCore::RegularExpression::Private::create):
2771         (WebCore::RegularExpression::Private::Private):
2772         (WebCore::RegularExpression::Private::compile):
2773         (WebCore::RegularExpression::match):
2774
2775 2011-02-04  Pavel Feldman  <pfeldman@chromium.org>
2776
2777         Reviewed by Yury Semikhatsky.
2778
2779         Web Inspector: Network panel filtering is broken.
2780         https://bugs.webkit.org/show_bug.cgi?id=53764
2781
2782         * inspector/front-end/NetworkPanel.js:
2783         (WebInspector.NetworkPanel.prototype._sortItems):
2784         (WebInspector.NetworkPanel.prototype._sortByTimeline):
2785         (WebInspector.NetworkPanel.prototype._filter):
2786         (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
2787         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
2788         (WebInspector.NetworkDataGridNode.prototype.get selectable):
2789         (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
2790         (WebInspector.NetworkTotalGridNode.prototype.get selectable):
2791
2792 2011-02-04  Andrey Kosyakov  <caseq@chromium.org>
2793
2794         Reviewed by Pavel Feldman.
2795
2796         Web Inspector: support overriding user agent strings
2797         https://bugs.webkit.org/show_bug.cgi?id=51485
2798
2799         Test: http/tests/inspector/extensions-useragent.html
2800
2801         * inspector/Inspector.idl:
2802         * inspector/InspectorController.cpp:
2803         (WebCore::InspectorController::disconnectFrontend):
2804         (WebCore::InspectorController::setUserAgentOverride):
2805         (WebCore::InspectorController::userAgentOverride):
2806         * inspector/InspectorController.h:
2807         * inspector/front-end/ExtensionAPI.js:
2808         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
2809         * inspector/front-end/ExtensionServer.js:
2810         (WebInspector.ExtensionServer.prototype._onReload):
2811         * loader/FrameLoader.cpp:
2812         (WebCore::FrameLoader::userAgent):
2813         (WebCore::FrameLoader::applyUserAgent):
2814
2815 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
2816
2817         Reviewed by Pavel Feldman.
2818
2819         Web Inspector: scripts panel displays wrong file name after reload.
2820         https://bugs.webkit.org/show_bug.cgi?id=53761
2821
2822         * inspector/front-end/ScriptsPanel.js:
2823         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
2824
2825 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
2826
2827         Reviewed by Pavel Feldman.
2828
2829         Web Inspector: remove settings related methods from InspectorClient
2830         https://bugs.webkit.org/show_bug.cgi?id=53686
2831
2832         * WebCore.exp.in:
2833         * inspector/CodeGeneratorInspector.pm:
2834         * inspector/InspectorClient.h:
2835         * inspector/InspectorFrontendClientLocal.cpp:
2836         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2837         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
2838         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
2839         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
2840         provide platform-specific settings accessor.
2841         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
2842         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
2843         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
2844         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
2845         * loader/EmptyClients.h:
2846
2847 2011-02-03  Anton Muhin  <antonm@chromium.org>
2848
2849         Reviewed by Adam Barth.
2850
2851         [v8] frame several more JS code invocations into v8::TryCatch
2852         https://bugs.webkit.org/show_bug.cgi?id=53594
2853
2854         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
2855         in v8::ThrowException---currently sometimes exceptions thrown by this method
2856         do not reach surrounding v8::TryCatch handler (see
2857         http://code.google.com/p/v8/issues/detail?id=1072 and
2858         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
2859         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
2860         one rebaseline as of now.)
2861
2862         * bindings/v8/V8Proxy.cpp:
2863         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
2864         * bindings/v8/V8WindowErrorHandler.cpp:
2865         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
2866
2867 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
2868
2869         Reviewed by Dan Bernstein.
2870
2871         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
2872         https://bugs.webkit.org/show_bug.cgi?id=52897
2873         <rdar://problem/8898294>
2874
2875         * WebCore.exp.in: Add export now needed by WebKit2
2876
2877 2011-02-03  Victoria Kirst  <vrk@google.com>
2878
2879         Reviewed by James Robinson.
2880
2881         Replaces float literals with uniform values in shader code
2882         so that buggy drivers unable to parse float values in different
2883         locales will not produce a pink video.
2884
2885         [chromium] Fix pink video bug with gpu-acceleration enabled
2886         https://bugs.webkit.org/show_bug.cgi?id=53568
2887
2888         * platform/graphics/chromium/VideoLayerChromium.cpp:
2889         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
2890         (WebCore::VideoLayerChromium::drawYUV):
2891         * platform/graphics/chromium/VideoLayerChromium.h:
2892         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
2893
2894 2011-02-03  James Kozianski  <koz@chromium.org>
2895
2896         Reviewed by Dimitri Glazkov.
2897
2898         Add navigator.registerProtocolHandler behind a flag.
2899         https://bugs.webkit.org/show_bug.cgi?id=52609
2900
2901         This method is described in the HTML5 specification here,
2902         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
2903
2904         This change is largely cribbed from B. Green's 29651 patches. It is
2905         behind a flag so as not to break JS feature detection.
2906
2907         New layout test fast/dom/registerProtocolHandler.html.
2908
2909         * Configurations/FeatureDefines.xcconfig:
2910         * loader/EmptyClients.h:
2911         (WebCore::EmptyChromeClient::registerProtocolHandler):
2912         * page/Chrome.cpp:
2913         (WebCore::Chrome::registerProtocolHandler):
2914         * page/Chrome.h:
2915         * page/ChromeClient.h:
2916         * page/Navigator.cpp:
2917         (WebCore::verifyCustomHandlerURL):
2918         (WebCore::verifyProtocolHandlerScheme):
2919         (WebCore::Navigator::registerProtocolHandler):
2920         * page/Navigator.h:
2921         * page/Navigator.idl:
2922
2923 2011-02-03  Brian Ryner  <bryner@chromium.org>
2924
2925         Reviewed by Darin Fisher.
2926
2927         Add a field to the ResourceResponse for tracking the socket address
2928         of the host that the resource was fetched from.  Patch was originally
2929         by Paul Marks.
2930         https://bugs.webkit.org/show_bug.cgi?id=53699
2931
2932         * platform/network/chromium/ResourceResponse.cpp:
2933         (WebCore::ResourceResponse::doPlatformCopyData):
2934         (WebCore::ResourceResponse::doPlatformAdopt):
2935         * platform/network/chromium/ResourceResponse.h:
2936         (WebCore::ResourceResponse::socketAddress):
2937         (WebCore::ResourceResponse::setSocketAddress):
2938
2939 2011-02-03  Adam Langley  <agl@chromium.org>
2940
2941         Reviewed by Adam Barth.
2942
2943         Plumb mixed script URL to FrameLoaderClient
2944         https://bugs.webkit.org/show_bug.cgi?id=52384
2945
2946         Regressions covered by http/tests/security/mixedContent/*
2947
2948         * loader/EmptyClients.h:
2949         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
2950         * loader/FrameLoader.cpp:
2951         (WebCore::FrameLoader::checkIfRunInsecureContent):
2952         * loader/FrameLoaderClient.h:
2953
2954 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
2955
2956         Reviewed by Dan Bernstein.
2957
2958         REGRESSION: Artifacts on box-shadow corners in some cases
2959         https://bugs.webkit.org/show_bug.cgi?id=53731
2960
2961         Fix overdrawing artifacts in ShadowBlur's tiling code path,
2962         which show up in shadows using a color with alpha.
2963         
2964         Test: fast/box-shadow/shadow-tiling-artifact.html
2965
2966         * platform/graphics/ShadowBlur.cpp:
2967         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
2968         that the inner rect that gets filled does not overlap with any
2969         of the eight tiled areas by having the corner and side dimensions
2970         be the same for contiguous areas.
2971
2972 2011-02-03  Adam Barth  <abarth@webkit.org>
2973
2974         Reviewed by Alexey Proskuryakov.
2975
2976         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
2977         percent signs in large posted data
2978         https://bugs.webkit.org/show_bug.cgi?id=53405
2979
2980         If the input string contains many non-% characters followed by a %
2981         character that is not a valid URL escape sequence, then the old
2982         algorithm would only advance the initial search by one character
2983         (instead of jumping to just after the % character).  That would cause
2984         the algorithm to take N^2 time (in the number of characters before the
2985         first % character).  This patch just advances the search past the first
2986         % character so we can start looking for next % character sooner.
2987
2988         * platform/KURL.cpp:
2989         (WebCore::decodeURLEscapeSequences):
2990
2991 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
2992
2993         Reviewed by Pavel Feldman.
2994
2995         Web Inspector: click on a breakpoint highlights wrong line in source frame.
2996         https://bugs.webkit.org/show_bug.cgi?id=53692
2997
2998         * inspector/front-end/BreakpointsSidebarPane.js:
2999         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
3000
3001 2011-02-03  Anton Muhin  <antonm@chromium.org>
3002
3003         Reviewed by Adam Barth.
3004
3005         [v8] Bail out if to string conversion returned empty handle
3006         https://bugs.webkit.org/show_bug.cgi?id=53687
3007
3008         This a temporary measure: actually one probably should never get empty handle
3009         if there was no exception.  The root cause is under investigation.
3010         The bailout though allows Chromium not to crash---attempt to convert an empty
3011         v8 hande into WebCore string crashes with invalid memory access.
3012
3013         See http://code.google.com/p/chromium/issues/detail?id=71544
3014
3015         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
3016
3017         * bindings/v8/V8Binding.cpp:
3018         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
3019         * bindings/v8/V8Binding.h:
3020         (WebCore::V8ParameterBase::prepareBase): Ditto
3021
3022 2011-02-03  Adam Barth  <abarth@webkit.org>
3023
3024         Attempt to fix Chromium build.
3025
3026         * html/parser/XSSFilter.cpp:
3027
3028 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
3029
3030         Unreviewed, rolling out r77562.
3031         http://trac.webkit.org/changeset/77562
3032         https://bugs.webkit.org/show_bug.cgi?id=53630
3033
3034         broke chromium mac build
3035
3036         * WebCore.gyp/WebCore.gyp:
3037         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
3038
3039 2011-02-03  Adam Barth  <abarth@webkit.org>
3040
3041         Reviewed by Daniel Bates.
3042
3043         XSS Auditor severely affects loading performance after submitting a large form
3044         https://bugs.webkit.org/show_bug.cgi?id=49845
3045
3046         Switch over from the XSSAuditor to the XSSFilter, improving performance
3047         on this example.
3048
3049         * html/parser/XSSFilter.cpp:
3050         (WebCore::XSSFilter::filterToken):
3051         * page/XSSAuditor.cpp:
3052         (WebCore::XSSAuditor::isEnabled):
3053
3054 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
3055
3056         Unreviewed, rolling out r77567.
3057         http://trac.webkit.org/changeset/77567
3058         https://bugs.webkit.org/show_bug.cgi?id=53468
3059
3060         broke chromium linux svg, canvas tests, possibly win also?
3061
3062         * platform/graphics/skia/ImageBufferSkia.cpp:
3063         (WebCore::getImageData):
3064         (WebCore::ImageBuffer::getUnmultipliedImageData):
3065         (WebCore::ImageBuffer::getPremultipliedImageData):
3066         (WebCore::putImageData):
3067         (WebCore::ImageBuffer::putUnmultipliedImageData):
3068         (WebCore::ImageBuffer::putPremultipliedImageData):
3069
3070 2011-02-02  MORITA Hajime  <morrita@google.com>
3071
3072         Reviewed by Dimitri Glazkov.
3073
3074         Refactoring: <progress> should not use ShadowElement
3075         https://bugs.webkit.org/show_bug.cgi?id=53583
3076
3077         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
3078           to be responsible for bar-part layout,
3079           which adopted layout logic from ShadowBlockElement.
3080         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
3081         - Remove dependency from RenderProgress to HTMLProgressElement and
3082           ShadowBlockElement.
3083         - The shadow tree is no longer removed on detach(). It becomes persistent.
3084           This is now possible because the ShadowBlockElement dependency is gone.
3085         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
3086           That didn't make sense.
3087
3088         * html/HTMLProgressElement.cpp:
3089         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
3090         * html/HTMLProgressElement.h:
3091         * html/shadow/ProgressBarValueElement.h: Added.
3092         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3093         (WebCore::ProgressBarValueElement::shadowPseudoId):
3094         (WebCore::ProgressBarValueElement::createRenderer):
3095         (WebCore::ProgressBarValueElement::create):
3096         * rendering/RenderIndicator.cpp:
3097         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
3098         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
3099         (WebCore::RenderIndicatorPart::layout):
3100         (WebCore::RenderIndicatorPart::styleDidChange):
3101         * rendering/RenderIndicator.h: Added RenderIndicatorPart class
3102         (WebCore::RenderIndicatorPart::originalVisibility):
3103         (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
3104         (WebCore::RenderIndicatorPart::canHaveChildren):
3105         * rendering/RenderProgress.cpp:
3106         (WebCore::RenderProgressBarValuePart::preferredFrameRect):
3107         (WebCore::RenderProgressBarValuePart::shouldBeHidden):
3108         (WebCore::RenderProgress::updateFromElement):
3109         (WebCore::RenderProgress::layoutParts):
3110         (WebCore::RenderProgress::shouldHaveParts):
3111         * rendering/RenderProgress.h:
3112         (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
3113
3114 2011-02-03  Jia Pu  <jpu@apple.com>
3115
3116         Reversion should not be marked as misspelled.
3117         https://bugs.webkit.org/show_bug.cgi?id=53255
3118
3119         This patch includes fix for reported bug, and also some housekeeping changes.
3120
3121         To implement desired behavior, we need:
3122         1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
3123            that shouldn't be spellchecked and text shouldn't be autocorrected.
3124         2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
3125            Otherwise the spell checking code in that function may interfere with autocorrection. This
3126            is achieved by explicitly applying pending correction when user types space, line break or
3127            paragraph break.
3128
3129         Housekeeping code changes include:
3130         1. Change manual-tests that were broken by relocated WebCore directory.
3131         2. Use TextIterator in various DocumentMarkerController functions instead of using
3132            Node::traverseNextNode() directly.
3133         3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
3134            DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
3135         4. Fixes of minor bugs that were exposed previously.
3136
3137         * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
3138
3139         * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
3140
3141         * dom/DocumentMarkerController.cpp:
3142         (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
3143            consistent with addMarker() function. Allow passing in multiple marker types in one call.
3144            Added a boolean argument to specify the behavior when removing markers that partially
3145            overlap the specified range.
3146         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
3147            multiple marker types in one call.
3148         (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
3149            consistent with addMarker() function. Allow passing in multiple marker types in one call.
3150
3151         * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
3152            and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
3153            removing markers that partially overlap the specified range.
3154
3155         * editing/Editor.cpp:
3156         (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
3157         (WebCore::markerTypesForReplacement): Ditto.
3158         (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
3159            setSelection() to make sure there is no pending correction when entering
3160            markAllMisspellingsAndBadGrammarInRanges().
3161         (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
3162            is a top level command to improve efficiency.
3163         (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
3164         (WebCore::Editor::insertLineBreak): Ditto.
3165         (WebCore::Editor::insertParagraphSeparator): Ditto.
3166         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
3167            text carries SpellCheckingExemption marker.
3168         (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
3169            from spellchecker is an empty string.
3170         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
3171            Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
3172            efficiency and readability.
3173         (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
3174            applying correction, since it's unnecessary. Also, store pre-correction string together with
3175            the marker for reversion panel to use.
3176         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
3177         (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
3178            where we have access to EditCommand object.
3179
3180         * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
3181
3182         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
3183            were broken by relocated WebCore directory.
3184
3185         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
3186
3187         * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
3188
3189         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
3190
3191         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
3192
3193         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
3194
3195         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
3196
3197         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
3198
3199         * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
3200
3201         * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
3202
3203         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
3204            were broken by relocated WebCore directory.
3205
3206         * rendering/InlineTextBox.cpp:
3207         (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
3208
3209 2011-02-03  Abhishek Arya  <inferno@chromium.org>
3210
3211         Unreviewed, qt build fix.
3212
3213         * rendering/RenderBlock.cpp:
3214         (WebCore::RenderBlock::removeFloatingObject):
3215
3216 2011-02-03  Brian Salomon  <bsalomon@google.com>
3217
3218         Reviewed by James Robinson.
3219
3220         Handle non-raster backed images in getUnmultipliedImageData()
3221         https://bugs.webkit.org/show_bug.cgi?id=53468
3222
3223         No new tests. Existing canvas tests sufficient
3224         LayoutTests/canvas/philip/...
3225
3226         * platform/graphics/skia/ImageBufferSkia.cpp:
3227         (WebCore::getImageData):
3228         (WebCore::ImageBuffer::getUnmultipliedImageData):
3229         (WebCore::ImageBuffer::getPremultipliedImageData):
3230         (WebCore::putImageData):
3231         (WebCore::ImageBuffer::putUnmultipliedImageData):
3232         (WebCore::ImageBuffer::putPremultipliedImageData):
3233
3234 2011-02-03  Abhishek Arya  <inferno@chromium.org>
3235
3236         Reviewed by James Robinson.
3237
3238         Enforce more limits on root inline boxes height calculations.
3239         https://bugs.webkit.org/show_bug.cgi?id=53729
3240
3241         Test: fast/overflow/overflow-height-float-not-removed-crash.html
3242
3243         * rendering/RenderBlock.cpp:
3244         (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
3245         become negative when logicalTop is INT_MAX.
3246         (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
3247         is INT_MAX, we should dirty everything. So, we bail out to make
3248         afterLowest equal to the lastRootBox() or lowestDirstLine.
3249
3250 2011-02-03  David Levin  <levin@chromium.org>
3251
3252         Reviewed by Adam Barth and Oliver Hunt.
3253
3254         Worker.importScript() should clean errors for cross origin imports.
3255         https://bugs.webkit.org/show_bug.cgi?id=52871
3256
3257         Test: http/tests/workers/worker-importScriptsOnError.html
3258
3259         * bindings/js/WorkerScriptController.cpp:
3260         (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
3261         to determine when to create a clean exception.
3262         * bindings/v8/WorkerContextExecutionProxy.cpp:
3263         (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
3264         * dom/ScriptExecutionContext.cpp:
3265         (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
3266         if the error needs to be cleaned up.
3267         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
3268         sanitizeScriptError for use by other places.
3269         * dom/ScriptExecutionContext.h:
3270         * workers/WorkerContext.cpp:
3271         (WebCore::WorkerContext::importScripts): Use the reponse url when
3272         telling the evaluate where the script came fro.
3273         * workers/WorkerScriptLoader.cpp:
3274         (WebCore::WorkerScriptLoader::responseURL): Expose the url that
3275         the script was loaded from (which may be different from url() due
3276         to redirects).
3277         (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
3278         * workers/WorkerScriptLoader.h:
3279
3280 2011-02-03  Mark Mentovai  <mark@chromium.org>
3281
3282         Reviewed by Dimitri Glazkov.
3283
3284         Chromium GYP build fix.
3285
3286         When various settings were moved to webcore_prerequisites in r66364,
3287         things that should have been direct_dependent_settings were not marked
3288         as such. GYP 'defines', for example, make no sense on a 'none'-type
3289         target such as webcore_prerequisites. It appears that it was intended
3290         for these settings to be pushed to direct dependents, which would make
3291         direct_dependent_settings correct.
3292
3293         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
3294         http://crbug.com/71537, which at best causes Mac console log spew, and
3295         at worst may result in Chromium's copy of WebCore using system
3296         definitions of certain Objective-C classes at runtime, or vice-versa.
3297
3298         The build now includes a postbuild step to prevent
3299         http://crbug.com/71537 from regressing again. The build will fail upon
3300         regression.
3301
3302         https://bugs.webkit.org/show_bug.cgi?id=53630
3303
3304         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
3305           direct_dependent_settings as needed, add the check_objc_rename
3306           postbuild step.
3307         * WebCore.gyp/mac/check_objc_rename.sh: Added.
3308
3309 2011-02-03  Adam Barth  <abarth@webkit.org>
3310
3311         Reviewed by Eric Seidel.
3312
3313         Make XSSFilter go fast by adding a SuffixTree
3314         https://bugs.webkit.org/show_bug.cgi?id=53665
3315
3316         The SuffixTree lets us quickly reject snippets if the POST data is
3317         large (because we can avoid a linear scan over the POST data).
3318
3319         * html/parser/XSSFilter.cpp:
3320         (WebCore::XSSFilter::init):
3321         (WebCore::XSSFilter::isContainedInRequest):
3322         * html/parser/XSSFilter.h:
3323
3324 2011-02-03  Mihai Parparita  <mihaip@chromium.org>
3325
3326         Reviewed by Alexey Proskuryakov.
3327
3328         REGRESSION (r77355): Page cache layout tests crash
3329         https://bugs.webkit.org/show_bug.cgi?id=53648
3330
3331         Test: fast/events/pagehide-timeout.html
3332         
3333         Suspend active DOM objects after all pagehide event handlers have run,
3334         otherwise it's possible for them to create more objects that weren't
3335         getting suspended.
3336
3337         * history/CachedFrame.cpp:
3338         (WebCore::CachedFrame::CachedFrame):
3339
3340 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
3341
3342         Reviewed by Nate Chapin.
3343
3344         SerializedScriptValue should not require v8 to create undefined and null values
3345         https://bugs.webkit.org/show_bug.cgi?id=53730
3346
3347         Instead of creating a v8 type and passing that into the constructor, just use
3348         the writer class directly. While I was at it, I cleaned up the code a bit too
3349         by getting rid of the WireData/StringValue enum as I found that personally
3350         confusing.
3351
3352         This is necessary because these methods are called by IndexedDB in the browser
3353         process where v8 is not spun up.
3354
3355         No functionality changed and not possible to test.
3356
3357         * bindings/v8/SerializedScriptValue.cpp:
3358         (WebCore::SerializedScriptValue::createFromWire):
3359         (WebCore::SerializedScriptValue::create):
3360         (WebCore::SerializedScriptValue::nullValue):
3361         (WebCore::SerializedScriptValue::undefinedValue):
3362         (WebCore::SerializedScriptValue::release):
3363         (WebCore::SerializedScriptValue::SerializedScriptValue):
3364         * bindings/v8/SerializedScriptValue.h:
3365
3366 2011-02-03  Beth Dakin  <bdakin@apple.com>
3367
3368         Reviewed by Sam Weinig.
3369
3370         Fix for <rdar://problem/8944544> Ability to animate track
3371         for WKPainter scrollers
3372
3373         Two new WebKitSystemInterface functions.
3374         * WebCore.exp.in:
3375         * platform/mac/WebCoreSystemInterface.h:
3376         * platform/mac/WebCoreSystemInterface.mm:
3377
3378         Use Scrollbar::convertFromContainingView() to return the right point.
3379         * platform/mac/ScrollAnimatorMac.mm:
3380         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3381         
3382         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
3383         now be used to animate the knob or the track.
3384         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
3385         (-[ScrollbarPartAnimation setCurrentProgress:]):
3386         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
3387         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
3388         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
3389
3390         Scrollbars need invalodating after the overlay state changes. 
3391         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
3392
3393 2011-02-03  Sam Weinig  <sam@webkit.org>
3394
3395         Reviewed by Beth Dakin.
3396
3397         Scroll thumb jumps to top when resizing horizontally.
3398
3399         * platform/ScrollView.cpp:
3400         (WebCore::ScrollView::updateScrollbars): Add call to update
3401         the scrollbar's offset in the case where we may have created
3402         a new scrollbar but have not changed the current position.
3403
3404 2011-02-03  Justin Schuh  <jschuh@chromium.org>
3405
3406         Reviewed by Dirk Schulze.
3407
3408         startAnimations should use a local, RefCounted Vector.
3409         https://bugs.webkit.org/show_bug.cgi?id=53458
3410
3411         Test: svg/custom/use-animation-in-fill.html
3412
3413         * svg/SVGDocumentExtensions.cpp:
3414         (WebCore::SVGDocumentExtensions::startAnimations):
3415
3416 2011-02-03  Adam Barth  <abarth@webkit.org>
3417
3418         Reviewed by Daniel Bates.
3419
3420         XSSFilter shouldn't bother to analyze pages without "injection"
3421         characters in the request
3422         https://bugs.webkit.org/show_bug.cgi?id=53664
3423
3424         If the request lacks these "injection" characters, then it's unlikely
3425         that there's a reflective XSS attack happening.  This hueristic lets us
3426         avoid analyzing the vast majority of responses for XSS.  Of course, the
3427         hueristic isn't perfect.  Because of this huerstic, we miss out on
3428         injections into unquoted attributes.  However, it's a trade-off that's
3429         worked well in the XSSAuditor.
3430
3431         * html/parser/XSSFilter.cpp:
3432         (WebCore::HTMLNames::isRequiredForInjection):
3433         (WebCore::XSSFilter::XSSFilter):
3434         (WebCore::XSSFilter::init):
3435         (WebCore::XSSFilter::filterToken):
3436         (WebCore::XSSFilter::isContainedInRequest):
3437         * html/parser/XSSFilter.h:
3438
3439 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
3440
3441         Reviewed by Kenneth Russell.
3442
3443         [chromium] Fixing a compositor crash occurring on layers
3444         without an associated RenderSurface.
3445         https://bugs.webkit.org/show_bug.cgi?id=53679
3446         Regression was introduced by in r77425 
3447
3448         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
3449         anymore.
3450
3451         * platform/graphics/chromium/LayerRendererChromium.cpp:
3452         (WebCore::LayerRendererChromium::drawLayer):
3453
3454 2011-02-03  Dan Bernstein  <mitz@apple.com>
3455
3456         Reviewed by Anders Carlsson.
3457
3458         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
3459         https://bugs.webkit.org/show_bug.cgi?id=53709
3460
3461         Covered by rendering of fast/text/emphasis-vertical.html
3462
3463         * platform/graphics/mac/SimpleFontDataMac.mm:
3464         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
3465         has.
3466
3467 2011-02-02  Levi Weintraub  <leviw@chromium.org>
3468
3469         Reviewed by Ryosuke Niwa.
3470
3471         Moving cursor down in table cycles at the end of a row
3472         https://bugs.webkit.org/show_bug.cgi?id=50012
3473
3474         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
3475         end of a document due to a bug in nextLeafWithSameEditability.
3476
3477         Test: editing/selection/move-by-line-cycles-in-table.html
3478
3479         * editing/visible_units.cpp:
3480         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
3481         original leaf node.
3482
3483 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
3484
3485         Reviewed by Pavel Feldman.
3486
3487         Web Inspector: remove dead code related to changes panel.
3488         https://bugs.webkit.org/show_bug.cgi?id=53688
3489
3490         * WebCore.gypi:
3491         * WebCore.vcproj/WebCore.vcproj:
3492         * inspector/front-end/ChangesView.js: Removed.
3493         * inspector/front-end/WebKit.qrc:
3494         * inspector/front-end/inspector.css:
3495         (#error-warning-count):
3496         (#error-warning-count:hover):
3497         (#error-count + #warning-count):
3498         * inspector/front-end/inspector.html:
3499         * inspector/front-end/inspector.js:
3500
3501 2011-02-02  Sam Weinig  <sam@webkit.org>
3502
3503         Reviewed by Anders Carlsson.
3504
3505         Add notification of the end of a rubber band.
3506         <rdar://problem/8940648>
3507
3508         * WebCore.exp.in:
3509         Add additional exprots.
3510
3511         * page/ChromeClient.h:
3512         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
3513         * page/FrameView.cpp:
3514         (WebCore::FrameView::didCompleteRubberBand):
3515         * page/FrameView.h:
3516         * platform/ScrollView.cpp:
3517         (WebCore::ScrollView::didCompleteRubberBand):
3518         * platform/ScrollView.h:
3519         Add hook.
3520
3521         * platform/ScrollableArea.h:
3522         (WebCore::ScrollableArea::inLiveResize):
3523         (WebCore::ScrollableArea::maximumScrollPosition):
3524         (WebCore::ScrollableArea::visibleWidth):
3525         (WebCore::ScrollableArea::overhangAmount):
3526         (WebCore::ScrollableArea::didCompleteRubberBand):
3527         Reorganize and de-virtualize live resize notifications.
3528
3529         * platform/mac/ScrollAnimatorMac.mm:
3530         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3531         Call the new hook when the rubberband ends.
3532
3533 2011-02-02  Evan Martin  <evan@chromium.org>
3534
3535         Reviewed by Tony Chang.
3536
3537         [chromium] complex joining characters positioned in wrong place
3538         https://bugs.webkit.org/show_bug.cgi?id=53637
3539
3540         Provide the correct font metrics to Harfbuzz related to the font design space.
3541         There are used in some fonts for GPOS positioning.
3542
3543         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
3544
3545         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
3546         (WebCore::ComplexTextController::setupFontForScriptRun):
3547         (WebCore::ComplexTextController::allocHarfbuzzFont):
3548         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3549         (WebCore::FontPlatformData::FontPlatformData):
3550         (WebCore::FontPlatformData::emSizeInFontUnits):
3551         (WebCore::FontPlatformData::operator=):
3552         * platform/graphics/chromium/FontPlatformDataLinux.h:
3553         (WebCore::FontPlatformData::FontPlatformData):
3554
3555 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
3556
3557         Reviewed by Kent Tamura.
3558
3559         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
3560         https://bugs.webkit.org/show_bug.cgi?id=53634
3561
3562         Test: fast/dom/HTMLInputElement/input-slider-update.html
3563
3564         * html/HTMLInputElement.cpp:
3565         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
3566         * html/InputType.cpp:
3567         (WebCore::InputType::valueChanged): Added empty implementation.
3568         * html/InputType.h: Added def.
3569         * html/RangeInputType.cpp:
3570         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
3571             bit on the thumb.
3572         * html/RangeInputType.h: Added def.
3573
3574 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
3575
3576         Reviewed by Pavel Feldman.
3577
3578         Web Inspector: do not share source frames between resources panel and scripts panel.
3579         https://bugs.webkit.org/show_bug.cgi?id=53584
3580
3581         Currently, we show error messages only for resources. This change will allow showing error
3582         messages in source frame even when resource is not available (eval scripts, inlined scripts).
3583
3584         * inspector/front-end/ConsoleView.js:
3585         (WebInspector.ConsoleView.prototype.addMessage):
3586         (WebInspector.ConsoleView.prototype.clearMessages):
3587         * inspector/front-end/ResourceView.js:
3588         (WebInspector.ResourceView.recreateResourceView):
3589         * inspector/front-end/ResourcesPanel.js:
3590         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
3591         * inspector/front-end/ScriptsPanel.js:
3592         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
3593         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
3594         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
3595         (WebInspector.ScriptsPanel.prototype.reset):
3596         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
3597         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
3598         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
3599
3600 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
3601
3602         Fix 32-bit builds.
3603
3604         * platform/graphics/ShadowBlur.cpp:
3605         (WebCore::ShadowBlur::blurLayerImage):
3606
3607 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
3608
3609         Reviewed by Pavel Feldman.
3610
3611         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
3612         https://bugs.webkit.org/show_bug.cgi?id=53592
3613
3614         In JSC there is no limit, thus 'undefined' value is returned.
3615         For V8, the limit reported by the VM is returned.
3616
3617         * Android.jscbindings.mk:
3618         * CMakeLists.txt:
3619         * GNUmakefile.am:
3620         * WebCore.gypi:
3621         * WebCore.pro:
3622         * WebCore.vcproj/WebCore.vcproj:
3623         * WebCore.xcodeproj/project.pbxproj:
3624         * bindings/js/JSBindingsAllInOne.cpp:
3625         * bindings/js/JSMemoryInfoCustom.cpp: Added.
3626         * bindings/js/ScriptGCEvent.cpp:
3627         (WebCore::ScriptGCEvent::getHeapSize):
3628         * bindings/js/ScriptGCEvent.h:
3629         * bindings/v8/ScriptGCEvent.cpp:
3630         (WebCore::ScriptGCEvent::getHeapSize):
3631         * bindings/v8/ScriptGCEvent.h:
3632         * inspector/InspectorTimelineAgent.cpp:
3633         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
3634         * page/MemoryInfo.cpp:
3635         (WebCore::MemoryInfo::MemoryInfo):
3636         * page/MemoryInfo.h:
3637         (WebCore::MemoryInfo::jsHeapSizeLimit):
3638         * page/MemoryInfo.idl:
3639
3640 2011-01-27  Philippe Normand  <pnormand@igalia.com>
3641
3642         Reviewed by Martin Robinson.
3643
3644         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
3645         https://bugs.webkit.org/show_bug.cgi?id=53125
3646
3647         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3648         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
3649
3650 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
3651
3652         Reviewed by Sam Weinig.
3653
3654         ShadowBlur radius for CSS shadows is slightly too big
3655         https://bugs.webkit.org/show_bug.cgi?id=53660
3656         
3657         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
3658         shadows that extend further than the CSS "blur radius", which results
3659         in the shadows being truncated.
3660         
3661         Fix with a small fudge factor to reduce the kernel diameter slightly
3662         for CSS shadows.
3663         
3664         Also more closely follow the algorithm described in the SVG spec
3665         for computing the kernel size for different diameters, and clean up
3666         some variable naming relating to the shadow bounds.
3667
3668         * platform/graphics/ShadowBlur.cpp:
3669         (WebCore::ShadowBlur::blurLayerImage):
3670         (WebCore::ShadowBlur::drawRectShadowWithTiling):
3671
3672 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
3673
3674         Reviewed by Pavel Feldman.
3675
3676         Web Inspector: introduce new api for managing JavaScript breakpoints.
3677         https://bugs.webkit.org/show_bug.cgi?id=53235
3678
3679         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
3680         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
3681         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
3682
3683         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
3684         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
3685
3686         * bindings/js/ScriptDebugServer.cpp:
3687         (WebCore::ScriptDebugServer::setBreakpoint):
3688         (WebCore::ScriptDebugServer::removeBreakpoint):
3689         * bindings/js/ScriptDebugServer.h:
3690         * bindings/v8/DebuggerScript.js:
3691         ():
3692         * bindings/v8/ScriptDebugServer.cpp:
3693         (WebCore::ScriptDebugServer::setBreakpoint):
3694         * bindings/v8/ScriptDebugServer.h:
3695         * inspector/Inspector.idl:
3696         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
3697         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3698         (WebCore::InspectorAgent::populateScriptObjects):
3699         (WebCore::InspectorAgent::restoreDebugger):
3700         (WebCore::InspectorAgent::showAndEnableDebugger):
3701         (WebCore::InspectorAgent::enableDebugger):
3702         * inspector/InspectorAgent.h:
3703         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
3704         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3705         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
3706         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
3707         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
3708         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
3709         (WebCore::InspectorDebuggerAgent::continueToLocation):
3710         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
3711         (WebCore::InspectorDebuggerAgent::getScriptSource):
3712         (WebCore::InspectorDebuggerAgent::didParseSource):
3713         (WebCore::InspectorDebuggerAgent::didPause):
3714         * inspector/InspectorDebuggerAgent.h:
3715         (WebCore::InspectorDebuggerAgent::Script::Script):
3716         * inspector/InspectorValues.cpp:
3717         (WebCore::InspectorValue::asNumber):
3718         (WebCore::InspectorBasicValue::asNumber):
3719         (WebCore::InspectorObject::remove):
3720         * inspector/InspectorValues.h:
3721         (WebCore::InspectorObject::getNumber):
3722         (WebCore::InspectorObject::find):
3723         * inspector/ScriptBreakpoint.h:
3724         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
3725         * inspector/front-end/Breakpoint.js:
3726         (WebInspector.Breakpoint):
3727         (WebInspector.Breakpoint.prototype.addLocation):
3728         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
3729         (WebInspector.BreakpointManager):
3730         (WebInspector.BreakpointManager.prototype._projectChanged):
3731         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
3732         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
3733         * inspector/front-end/BreakpointsSidebarPane.js:
3734         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
3735         * inspector/front-end/DebuggerModel.js:
3736         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
3737         * inspector/front-end/Script.js:
3738         (WebInspector.Script.prototype.sourceLine):
3739         * inspector/front-end/ScriptsPanel.js:
3740         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
3741         * inspector/front-end/Settings.js:
3742         (WebInspector.Settings):
3743         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
3744         * inspector/front-end/inspector.js:
3745
3746 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
3747
3748         Reviewed by Dirk Schulze.
3749
3750         small text which is scaled to be large renders pixelated
3751         https://bugs.webkit.org/show_bug.cgi?id=12448
3752
3753         SVG <text> with font-size smaller or equal to 1 does not paint correctly
3754         https://bugs.webkit.org/show_bug.cgi?id=14242
3755
3756         misplaced text in SVG
3757         https://bugs.webkit.org/show_bug.cgi?id=17053
3758
3759         Don't render very small (but zoomed) text inside SVG
3760         https://bugs.webkit.org/show_bug.cgi?id=19393
3761
3762         Tiny fonts scaled up end up too large in Safari
3763         https://bugs.webkit.org/show_bug.cgi?id=20192
3764
3765         Stretched SVG Text has awful glyph spacing 
3766         https://bugs.webkit.org/show_bug.cgi?id=21774
3767
3768         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
3769         https://bugs.webkit.org/show_bug.cgi?id=49846
3770
3771         [Gtk] Text height in zoomed SVG is 1px too high
3772         https://bugs.webkit.org/show_bug.cgi?id=50313
3773
3774         SVG text smaller than 0.5px not displayed properly
3775         https://bugs.webkit.org/show_bug.cgi?id=50528
3776
3777         When rendering text, we're selecting a font with a size, as specified in the markup.
3778         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
3779         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
3780         problem becomes apparent.
3781
3782         Consider following two snippets, which should render exactly the same:
3783         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
3784         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
3785
3786         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
3787         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
3788         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
3789
3790         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
3791         remove any scaling from the context, draw the text using the scaled font size, then reapply
3792         the context scale. This makes the example snippets above render exactly the same and fixes
3793         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
3794         internally, depending on the scale of the document, it's very important to use the new
3795         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
3796
3797         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
3798                               svg/hixie/text/003.html (no more pixelation)
3799                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
3800                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
3801                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
3802
3803         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
3804                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
3805                svg/text/scaled-font.svg (reduction from bug 12448)
3806                svg/text/small-fonts-2.svg (reduction from bug 14242)
3807                svg/text/small-fonts-3.svg (reduction from bug 17053)
3808                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
3809                svg/text/small-fonts.svg (reduction from bug 20192))
3810
3811         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
3812         * rendering/svg/RenderSVGInlineText.h:
3813         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
3814         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
3815         * rendering/svg/SVGInlineTextBox.h:
3816         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
3817         * rendering/svg/SVGTextMetrics.cpp: Ditto.
3818         * rendering/svg/SVGTextMetrics.h: Ditto.
3819         * rendering/svg/SVGTextQuery.cpp: Ditto.
3820         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
3821         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
3822         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
3823         * svg/SVGTextPositioningElement.h: 
3824
3825 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
3826
3827         Reviewed by Yury Semikhatsky.
3828
3829         Web Inspector: resources panel doesn't show frames after reload.
3830         https://bugs.webkit.org/show_bug.cgi?id=53430
3831
3832         * inspector/front-end/ResourcesPanel.js:
3833         (WebInspector.ResourcesPanel.prototype.show):
3834         (WebInspector.ResourcesPanel.prototype.loadEventFired):
3835         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
3836         (WebInspector.ResourcesPanel.prototype.reset):
3837         (WebInspector.ResourcesPanel.prototype.clear):
3838         * inspector/front-end/inspector.js:
3839         (WebInspector.loadEventFired):
3840
3841 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
3842
3843         Reviewed by Pavel Feldman.
3844
3845         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
3846         https://bugs.webkit.org/show_bug.cgi?id=53492
3847
3848         * inspector/Inspector.idl:
3849         * inspector/InspectorCSSAgent.cpp:
3850         (WebCore::InspectorCSSAgent::getStylesForNode):
3851         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
3852         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3853         (WebCore::InspectorCSSAgent::getAllStyles):
3854         (WebCore::InspectorCSSAgent::getStyleSheet):
3855         (WebCore::InspectorCSSAgent::getStyleSheetText):
3856         (WebCore::InspectorCSSAgent::setStyleSheetText):
3857         (WebCore::InspectorCSSAgent::setPropertyText):
3858         (WebCore::InspectorCSSAgent::toggleProperty):
3859         (WebCore::InspectorCSSAgent::setRuleSelector):
3860         (WebCore::InspectorCSSAgent::addRule):
3861         * inspector/InspectorCSSAgent.h:
3862         * inspector/front-end/AuditRules.js:
3863         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
3864         * inspector/front-end/CSSStyleModel.js:
3865         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
3866         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
3867         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
3868         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3869         (WebInspector.CSSStyleModel.prototype.addRule):
3870         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3871         (WebInspector.CSSStyleModel.prototype._onRevert):
3872         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
3873         (WebInspector.CSSProperty.prototype.setText):
3874         (WebInspector.CSSProperty.prototype.setDisabled):
3875         (WebInspector.CSSStyleSheet.createForId):
3876         (WebInspector.CSSStyleSheet.prototype.setText):
3877
3878 2011-02-03  Adam Barth  <abarth@webkit.org>
3879
3880         Reviewed by Daniel Bates.
3881
3882         Teach XSSFilter about data URLs
3883         https://bugs.webkit.org/show_bug.cgi?id=53662
3884
3885         The XSS filter doesn't really make sense for data URLs because
3886         everything in a "response" from a data URL was part of the request.
3887
3888         Test: http/tests/security/xssAuditor/data-urls-work.html
3889
3890         * html/parser/XSSFilter.cpp:
3891         (WebCore::XSSFilter::init):
3892         (WebCore::XSSFilter::filterToken):
3893
3894 2011-02-02  Chris Evans  <cevans@chromium.org>
3895
3896         Reviewed by Darin Fisher.
3897
3898         window.find() can fail when switching case sensitivity
3899         https://bugs.webkit.org/show_bug.cgi?id=53654
3900
3901         Reset the pattern to a safe one when done, to avoid usearch_reset()
3902         indirectly touching the old, stale text pointer.
3903
3904         Test: fast/text/find-window.html
3905
3906         * editing/TextIterator.cpp:
3907         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
3908
3909 2011-02-02  Adam Barth  <abarth@webkit.org>
3910
3911         Reviewed by Daniel Bates.
3912
3913         Teach XSSFilter that <param> elements can contain URLs
3914         https://bugs.webkit.org/show_bug.cgi?id=53652
3915
3916         When loading plugins for the <object> tag, we're "smart" enough to
3917         reach into the <param> elements and pull out the URL in some cases.
3918         This patch teaches the XSSFilter how to block injections into those
3919         sorts of param elements.
3920
3921         Fixes:
3922             http/tests/security/xssAuditor/object-*
3923
3924         * html/HTMLParamElement.cpp:
3925         (WebCore::HTMLParamElement::isURLParameter):
3926         (WebCore::HTMLParamElement::isURLAttribute):
3927         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
3928         * html/HTMLParamElement.h:
3929             - Add a helper function so that HTMLParamElement can share the
3930               ground truth for these names with the XSSFilter.
3931         * html/parser/XSSFilter.cpp:
3932         (WebCore::XSSFilter::filterTokenInitial):
3933         (WebCore::XSSFilter::filterParamToken):
3934         * html/parser/XSSFilter.h:
3935
3936 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
3937
3938         Reviewed by David Levin.
3939
3940         GCC compiler on ARM issues bogus warnings and fails to compile.
3941         https://bugs.webkit.org/show_bug.cgi?id=53620
3942
3943         Despite warnings explicitly being disallowed (-Wno-uninitialized),
3944         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
3945
3946         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
3947
3948         The fix is to add an extra condition, which somehow pacifies the compiler.
3949
3950         * css/CSSPrimitiveValue.cpp:
3951         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
3952
3953 2011-02-02  Adam Barth  <abarth@webkit.org>
3954
3955         Reviewed by Daniel Bates.
3956
3957         Teach XSSFilter about X-XSS-Protection
3958         https://bugs.webkit.org/show_bug.cgi?id=53640
3959
3960         This patch causes us to pass:
3961             http/tests/security/xssAuditor/full-block-*
3962             http/tests/security/xssAuditor/no-protection-script-tag.html
3963
3964         * html/parser/XSSFilter.cpp:
3965         (WebCore::XSSFilter::XSSFilter):
3966         (WebCore::XSSFilter::init):
3967         (WebCore::XSSFilter::filterToken):
3968         * html/parser/XSSFilter.h:
3969
3970 2011-02-02  Adam Barth  <abarth@webkit.org>
3971
3972         Reviewed by Daniel Bates.
3973
3974         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
3975         instead of the empty string
3976         https://bugs.webkit.org/show_bug.cgi?id=53643
3977
3978         In a URL context, the empty string completes to the URL of the current
3979         page, which causes these tests to go into an infinite loop.  Instead,
3980         we should use a "safe" JavaScript URL that does nothing.
3981
3982         Fixes:
3983             http/tests/security/xssAuditor/javascript-link*
3984
3985         * html/parser/XSSFilter.cpp:
3986         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
3987
3988 2011-02-02  Dan Bernstein  <mitz@apple.com>
3989
3990         Reviewed by Sam Weinig.
3991
3992         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
3993         https://bugs.webkit.org/show_bug.cgi?id=44942
3994
3995         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
3996
3997         * platform/text/BidiResolver.h:
3998         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
3999         a change to embedding levels.
4000         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
4001         the explicit embedding sequence, then runs were not added, and we should continue normally.
4002
4003 2011-02-02  Sam Weinig  <sam@webkit.org>
4004
4005         Reviewed by Dan Bernstein.
4006
4007         Fix miscalculation of the overhang area used for painting. We were
4008         not correctly accounting for scrollbars resulting in an non-negative
4009         overhang even when we weren't over the edge.
4010
4011         * platform/ScrollView.cpp:
4012         (WebCore::ScrollView::calculateOverhangAreasForPainting):
4013
4014 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
4015
4016         Reviewed by Nate Chapin.
4017
4018         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
4019         https://bugs.webkit.org/show_bug.cgi?id=52722
4020
4021         The solution is to change ScriptExecutionContext's destructor to iterate over
4022         the list in a way that handles the mutations. This new method is destructive,
4023         but that's OK since the object is going away. I've also added a several asserts.
4024
4025         There should be no behavior change.
4026
4027         * dom/ScriptExecutionContext.cpp:
4028         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
4029         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
4030         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
4031         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
4032         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
4033         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
4034         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
4035         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
4036         * dom/ScriptExecutionContext.h:
4037         * storage/IDBTransaction.cpp:
4038         (WebCore::IDBTransaction::contextDestroyed):
4039         * storage/IDBTransaction.h:
4040
4041 2011-02-02  Mark Rowe  <mrowe@apple.com>
4042
4043         Build fix.
4044
4045         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
4046         * platform/mac/ScrollbarThemeMac.mm:
4047         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
4048         up in the HashMap rather than relying on a local variable that doesn't
4049         exist.
4050
4051 2011-02-02  Adam Barth  <abarth@webkit.org>
4052
4053         Reviewed by Daniel Bates.
4054
4055         Teach XSSFilter about JavaScript URLs
4056         https://bugs.webkit.org/show_bug.cgi?id=53635
4057
4058         This patch teaches the XSSFilter to check for JavaScript URLs in
4059         attribute values.  If this approach has too many false positives, we
4060         can restrict which attribute names we examine.
4061
4062         Fixes these tests:
4063             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
4064             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
4065             http/tests/security/xssAuditor/iframe-javascript-url*
4066
4067         * html/parser/XSSFilter.cpp:
4068         (WebCore::HTMLNames::containsJavaScriptURL):
4069         (WebCore::XSSFilter::filterTokenInitial):
4070         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
4071         * html/parser/XSSFilter.h:
4072
4073 2011-02-02  Dan Bernstein  <mitz@apple.com>
4074
4075         Reviewed by Sam Weinig, even though this is just a...
4076
4077         ...build fix.
4078
4079         * platform/mac/ScrollAnimatorMac.mm:
4080         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
4081
4082 2011-02-02  Mark Rowe  <mrowe@apple.com>
4083
4084         Reviewed by Beth Dakin.
4085
4086         <rdar://problem/8952012> Crash on launch inside scrollbar code.
4087
4088         We need to ensure that we remove ourselves as the delegates of objects when we're going
4089         away as failing to do this can lead to crashes if the lifetime of the other objects
4090         is longer than ours.
4091
4092         * platform/mac/ScrollAnimatorMac.mm:
4093         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
4094         * platform/mac/ScrollbarThemeMac.mm:
4095         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
4096
4097 2011-02-02  Beth Dakin  <bdakin@apple.com>
4098
4099         Build fix.
4100
4101         * WebCore.exp.in:
4102
4103 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
4104
4105         Unreviewed WinCE build fix for r77397.
4106
4107         * page/wince/FrameWinCE.cpp:
4108         (WebCore::computePageRectsForFrame):
4109
4110 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
4111
4112         Unreviewed WinCE build fix for r77398.
4113
4114         * platform/graphics/wince/PlatformPathWinCE.cpp:
4115         (WebCore::containsPoint):
4116         (WebCore::inflateRectToContainPoint):
4117         (WebCore::PlatformPath::addRect):
4118         * platform/graphics/wince/SharedBitmap.cpp:
4119         (WebCore::SharedBitmap::drawPattern):
4120         * rendering/RenderThemeWinCE.cpp:
4121         (WebCore::RenderThemeWinCE::paintMenuListButton):