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