1597bb0eadd5a5e07c321d3eb1f5c7f118d64376
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
2
3         Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
4         https://bugs.webkit.org/show_bug.cgi?id=67399
5
6         Reviewed by Pavel Feldman.
7
8         * inspector/ConsoleMessage.cpp:
9         (WebCore::ConsoleMessage::ConsoleMessage):
10         * inspector/ConsoleMessage.h:
11         * inspector/InspectorConsoleAgent.cpp:
12         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
13         * inspector/InspectorConsoleAgent.h:
14         * inspector/InspectorInstrumentation.cpp:
15         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
16         * inspector/front-end/ConsoleMessage.js:
17         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
18         (WebInspector.ConsoleMessage.prototype._formatMessage):
19         * inspector/front-end/ResourcesPanel.js:
20         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
21         * inspector/front-end/inspector.js:
22         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
23         (WebInspector.linkifyStringAsFragment):
24
25 2011-09-26  Jer Noble  <jer.noble@apple.com>
26
27         White flash when entering full-screen using element.webkitRequestFullScreen()
28         https://bugs.webkit.org/show_bug.cgi?id=68481
29
30         Reviewed by Simon Fraser.
31
32         No new tests; covered by existing full screen tests.
33
34         During an animation, renderers may try to paint into the FullScreenRenderer's 
35         GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's 
36         background will cause these paints to fail. Remove this optimization in 
37         containsPaintedContent, and taking non-composited elements into full screen will
38         animate correctly.
39
40         * rendering/RenderLayerBacking.cpp:
41         (WebCore::RenderLayerBacking::containsPaintedContent):
42
43 2011-09-26  Mihai Parparita  <mihaip@chromium.org>
44
45         Unreviewed, rolling out r95960.
46         http://trac.webkit.org/changeset/95960
47         https://bugs.webkit.org/show_bug.cgi?id=58608
48
49         Significantly changes table border rendering
50
51         * rendering/RenderObject.cpp:
52         (WebCore::RenderObject::drawLineForBoxSide):
53
54 2011-09-23  Simon Fraser  <simon.fraser@apple.com>
55
56         Repaint tests don't work in WebKit2
57         https://bugs.webkit.org/show_bug.cgi?id=68453
58
59         Reviewed by Sam Weinig.
60
61         Have FrameView keep track of repaint rects when asked to, and
62         expose this set of repaint rects via private WebKit API for later
63         use by DumpRenderTree.
64         
65         The repaint rects are in WebView coordinates, so we have to
66         unapply the scroll offset.
67
68         * WebCore.exp.in:
69         * page/FrameView.cpp:
70         (WebCore::FrameView::FrameView):
71         (WebCore::FrameView::reset):
72         (WebCore::FrameView::repaintContentRectangle):
73         (WebCore::FrameView::setTracksRepaints):
74         * page/FrameView.h:
75         (WebCore::FrameView::isTrackingRepaints):
76         (WebCore::FrameView::resetTrackedRepaints):
77         (WebCore::FrameView::trackedRepaintRects):
78
79 2011-09-26  Antti Koivisto  <antti@apple.com>
80
81         Optimize matching of common pseudo classes
82         https://bugs.webkit.org/show_bug.cgi?id=68633
83
84         Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
85         
86         :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
87         default stylesheet) so we try to match them for all elements in the document. They take always the 
88         slow matching path. In addition we match link styles twice due to visited link pseudo style generation
89         so the overhead is doubled. As a result substantial portion of our style matching time is spent 
90         dealing with these pseudo classes. 
91         
92         This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
93         if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
94         We can also enable the fast path checking for the rest of the selector in many cases.
95     
96         This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
97         when loading the full HTML5 spec.
98
99         * css/CSSStyleSelector.cpp:
100         (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
101         (WebCore::RuleSet::idRules):
102         (WebCore::RuleSet::classRules):
103         (WebCore::RuleSet::tagRules):
104         (WebCore::RuleSet::shadowPseudoElementRules):
105         (WebCore::RuleSet::linkPseudoClassRules):
106         (WebCore::RuleSet::visitedPseudoClassRules):
107         (WebCore::RuleSet::focusPseudoClassRules):
108         (WebCore::RuleSet::universalRules):
109         (WebCore::RuleSet::pageRules):
110         
111             Add a new lists, some stylistic renamings.
112     
113         (WebCore::CSSStyleSelector::matchRules):
114         
115             New link and focus checks.
116
117         (WebCore::CSSStyleSelector::matchRulesForList):
118         (WebCore::CSSStyleSelector::checkSelector):
119         
120             Inline the rightmost selector tag checking, skip if unnecessary.
121         
122         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
123         
124             Common pseudo classes now match based on early filtering (though it is not a hash in this case).
125
126         (WebCore::RuleData::RuleData):
127         (WebCore::RuleSet::~RuleSet):
128         (WebCore::RuleSet::addRule):
129         
130             Sort pseudo classes to new lists.
131         
132         (WebCore::RuleSet::collectFeatures):
133         (WebCore::RuleSet::shrinkToFit):
134         (WebCore::CSSStyleSelector::matchPageRules):
135         * css/SelectorChecker.cpp:
136         (WebCore::SelectorChecker::checkSelector):
137         
138             Adopt to expanded fast path (this is used by querySelectorAll).
139
140         (WebCore::SelectorChecker::fastCheckRightmostSelector):
141         (WebCore::SelectorChecker::fastCheckSelector):
142         
143             Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
144             is equivalent to fastCheckRightmostSelector().
145         
146         (WebCore::isFastCheckableRelation):
147         (WebCore::isFastCheckableMatch):
148         (WebCore::isFastCheckableRightmostSelector):
149         (WebCore::SelectorChecker::isFastCheckableSelector):
150         (WebCore::SelectorChecker::checkOneSelector):
151         (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
152         (WebCore::SelectorChecker::isFrameFocused):
153         * css/SelectorChecker.h:
154         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
155         (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
156         (WebCore::SelectorChecker::matchesFocusPseudoClass):
157         (WebCore::SelectorChecker::tagMatches):
158         
159             Refactor a bunch of shared checks into functions.
160
161 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
162
163         REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
164         https://bugs.webkit.org/show_bug.cgi?id=57340
165
166         Reviewed by Eric Seidel.
167
168         This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
169
170         To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
171
172         Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
173         placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
174         Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
175
176         Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
177         B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
178         moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
179
180         To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
181         example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
182
183         This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
184         end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
185         base position on the right of A is the right end of a bidi run and the extent position between B and A is
186         inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
187
188         Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
189         a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
190         because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
191         when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
192         between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
193         the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
194         we'll end up selecting just "c".
195
196         While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
197         various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
198
199         Test: editing/selection/select-bidi-run.html
200
201         * editing/FrameSelection.cpp:
202         (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
203         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
204         restores the original base as needed.
205         * editing/FrameSelection.h:
206         * editing/RenderedPosition.cpp:
207         (WebCore::RenderedPosition::RenderedPosition):
208         (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
209         (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
210         (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
211         so that the rightmost position in a box and the leftmost position in the following box is considered equal.
212         (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
213         add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
214         (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
215         (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
216         (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
217         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
218         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
219         (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
220         if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
221         (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
222         * editing/RenderedPosition.h:
223         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
224         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
225         (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
226         (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
227         (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
228         reinterpret_cast<InlineBox*>(1) is not an integral value.
229         (WebCore::RenderedPosition::RenderedPosition):
230         * editing/VisibleSelection.h:
231         (WebCore::VisibleSelection::visibleBase): Added.
232         (WebCore::VisibleSelection::visibleExtent): Added.
233         * page/EventHandler.cpp:
234         (WebCore::EventHandler::updateSelectionForMouseDrag):
235
236 2011-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
237
238         Unreviewed, rolling out r95256.
239         http://trac.webkit.org/changeset/95256
240         https://bugs.webkit.org/show_bug.cgi?id=68814
241
242         Temporary CRASH calls no longer needed (Requested by enne on
243         #webkit).
244
245         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
246         (WebCore::CCLayerTreeHost::commitTo):
247
248 2011-09-26  Mark Rowe  <mrowe@apple.com>
249
250         <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
251
252         If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
253         while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
254         lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
255         thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
256
257         Reviewed by Anders Carlsson.
258
259         * loader/icon/IconDatabase.cpp:
260         (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
261         all pending work.
262
263 2011-09-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
264
265         Groove/inset/outset borders show solid if the color is black.
266         https://bugs.webkit.org/show_bug.cgi?id=58608
267
268         Reviewed by Simon Fraser.
269
270         Lightened the border side colors when drawing borders with styles as
271         Outset/Inset/Groove/Ridge.
272
273         Tests: fast/borders/border-groove.html
274                fast/borders/border-inset.html
275                fast/borders/border-outset.html
276                fast/borders/border-ridge.html
277
278         * rendering/RenderObject.cpp:
279         (WebCore::RenderObject::drawLineForBoxSide):
280
281 2011-09-26  Abhishek Arya  <inferno@chromium.org>
282
283         Delete retired custom font data only on document
284         destruction, and not on recalc style.
285         https://bugs.webkit.org/show_bug.cgi?id=68805
286
287         Reviewed by Dave Hyatt.
288
289         Test: fast/text/custom-font-data-crash.html
290
291         * dom/Document.cpp:
292         (WebCore::Document::recalcStyle):
293
294 2011-09-23  Adrienne Walker  <enne@google.com>
295
296         [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
297         https://bugs.webkit.org/show_bug.cgi?id=68742
298
299         Reviewed by James Robinson.
300
301         If video textures are reclaimed (such as during a visibility change on
302         a tab), the dirty rect for the layer is empty and it skips out of
303         updating compositor resources, leaving the video textures invalid.
304         Instead, check the textures here to make sure they're still valid
305         first before early out so that they can get reupdated if necessary.
306
307         Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
308         videos would not get drawn because all 3 planes didn't have valid
309         textures.
310
311         Test: compositing/video-page-visibility.html
312
313         * platform/graphics/chromium/VideoLayerChromium.cpp:
314         (WebCore::VideoLayerChromium::VideoLayerChromium):
315         (WebCore::VideoLayerChromium::cleanupResources):
316         (WebCore::VideoLayerChromium::updateCompositorResources):
317         (WebCore::VideoLayerChromium::pushPropertiesTo):
318         (WebCore::VideoLayerChromium::setLayerTreeHost):
319         (WebCore::VideoLayerChromium::texturesValid):
320         * platform/graphics/chromium/VideoLayerChromium.h:
321
322 2011-09-26  Pavel Feldman  <pfeldman@google.com>
323
324         Web Inspector: introduce protocol backwards compatibility validator.
325         https://bugs.webkit.org/show_bug.cgi?id=68800
326
327         Reviewed by Yury Semikhatsky.
328
329         * inspector/Inspector.json:
330         * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
331         * inspector/validate-protocol-compatibility: Added.
332
333 2011-09-26  Andreas Kling  <kling@webkit.org>
334
335         [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
336         https://bugs.webkit.org/show_bug.cgi?id=68798
337
338         Reviewed by Noam Rosenthal.
339
340         * platform/network/qt/QNetworkReplyHandler.cpp:
341         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
342
343 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
344
345         Second unreviewed build fix for r95941
346
347         * inspector/InspectorInstrumentation.cpp:
348         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
349
350 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
351
352         Unreviewed build fix for webkit builds after r95941.
353
354         * inspector/InspectorInstrumentation.cpp:
355         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
356
357 2011-09-26  Andrey Kosyakov  <caseq@chromium.org>
358
359         Web Inspector: [Extensions API] allow resources to hook on click on resource links
360         https://bugs.webkit.org/show_bug.cgi?id=68528
361
362         Reviewed by Yury Semikhatsky.
363
364         * WebCore.gypi:
365         * WebCore.vcproj/WebCore.vcproj:
366         * inspector/front-end/ExtensionAPI.js:
367         (injectedExtensionAPI.Console.prototype.get Severity):
368         (injectedExtensionAPI.Panels.prototype.create):
369         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
370         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
371         (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
372         (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
373         * inspector/front-end/ExtensionServer.js:
374         (WebInspector.ExtensionServer):
375         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
376         (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
377         (WebInspector.ExtensionServer.prototype._addExtensions):
378         (WebInspector.ExtensionServer.prototype._addExtension):
379         (WebInspector.ExtensionServer.prototype._registerExtension):
380         * inspector/front-end/SettingsScreen.js:
381         (WebInspector.SettingsScreen):
382         (WebInspector.SettingsScreen.prototype._createCustomSetting):
383         * inspector/front-end/WebKit.qrc:
384         * inspector/front-end/helpScreen.css:
385         (.help-content select):
386         (.help-content select:disabled):
387         (.help-content option):
388         * inspector/front-end/inspector.html:
389         * inspector/front-end/inspector.js:
390         (WebInspector.set attached):
391         (WebInspector._showAnchorLocation):
392
393 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
394
395         Web Inspector: Timeline: record root event for the function calls enforced by console eval.
396         https://bugs.webkit.org/show_bug.cgi?id=68695
397
398         In a complex web application developer might want to timeline a specific piece of code.
399
400         In this case he can do the next steps:
401         1) start timeline;
402         2) eval a command in console;
403         3) stop timeline.
404
405         I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
406
407         Reviewed by Yury Semikhatsky.
408
409         Test: inspector/timeline/timeline-injected-script-eval.html
410
411         * bindings/v8/ScriptFunctionCall.cpp:
412         * inspector/InjectedScript.cpp:
413         (WebCore::InjectedScript::makeCall):
414         * inspector/InspectorInstrumentation.cpp:
415         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
416
417 2011-09-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
418
419         [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
420         https://bugs.webkit.org/show_bug.cgi?id=65473
421
422         Reviewed by Andreas Kling.
423
424         For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
425         We do that by iterating on the pixels and manually swapping each pixel's red and blue
426         values. This can be done faster with shaders, but for now this is a working solution
427         for platforms without BGRA support.
428
429         No new tests. Existing layout tests cover this.
430
431         * platform/graphics/opengl/TextureMapperGL.cpp:
432         (WebCore::BitmapTextureGL::endPaint):
433         * platform/graphics/opengl/TextureMapperGL.h:
434         * platform/graphics/qt/TextureMapperQt.cpp:
435         (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
436
437 2011-09-26  Sergio Villar Senin  <svillar@igalia.com>
438
439         [GTK] Fix coding style bits in ResourceHandleSoup.cpp
440         https://bugs.webkit.org/show_bug.cgi?id=68634
441
442         Reviewed by Martin Robinson.
443
444         No new tests needed.
445
446         * platform/network/soup/ResourceHandleSoup.cpp:
447         (WebCore::ResourceHandle::defaultSession):
448
449 2011-09-26  James Robinson  <jamesr@chromium.org>
450
451         [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
452         https://bugs.webkit.org/show_bug.cgi?id=68769
453
454         Reviewed by Simon Fraser.
455
456         Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
457         implicit double->long conversion, which ignores the units of the value.
458
459         Test: fast/animation/request-animation-frame-timestamps-advance.html
460
461         * dom/ScriptedAnimationController.cpp:
462         (WebCore::ScriptedAnimationController::animationTimerFired):
463
464 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
465
466         Add custom vtable struct to ClassInfo struct
467         https://bugs.webkit.org/show_bug.cgi?id=68567
468
469         Reviewed by Oliver Hunt.
470
471         No new tests.
472
473         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
474         specified class in its ClassInfo.  Also added to it the first function to use 
475         this macro, visitChildren.  This is part of the process of getting rid of all 
476         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
477         that can't easily be converted to non-virtual functions will be put into 
478         this custom vtable structure.
479
480         * bindings/js/JSAudioConstructor.cpp:
481         * bindings/js/JSDOMGlobalObject.cpp:
482         * bindings/js/JSDOMWindowBase.cpp:
483         * bindings/js/JSDOMWindowShell.cpp:
484         * bindings/js/JSImageConstructor.cpp:
485         * bindings/js/JSImageDataCustom.cpp:
486         (WebCore::toJS):
487         * bindings/js/JSOptionConstructor.cpp:
488         * bindings/js/JSWorkerContextBase.cpp:
489
490         Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
491         necessary.
492         * bindings/scripts/CodeGeneratorJS.pm:
493         (GenerateImplementation):
494         (GenerateConstructorDefinition):
495         * bindings/scripts/test/JS/JSTestInterface.cpp:
496         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
497         * bindings/scripts/test/JS/JSTestObj.cpp:
498         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
499         * bridge/c/CRuntimeObject.cpp:
500         * bridge/c/c_instance.cpp:
501         * bridge/jni/jsc/JavaInstanceJSC.cpp:
502         * bridge/jni/jsc/JavaRuntimeObject.cpp:
503         * bridge/objc/ObjCRuntimeObject.mm:
504         * bridge/objc/objc_instance.mm:
505         * bridge/objc/objc_runtime.mm:
506         * bridge/qt/qt_instance.cpp:
507         * bridge/qt/qt_pixmapruntime.cpp:
508         * bridge/qt/qt_runtime.cpp:
509         * bridge/runtime_array.cpp:
510         * bridge/runtime_method.cpp:
511         * bridge/runtime_object.cpp:
512
513 2011-09-25  Eunmi Lee  <eunmi15.lee@samsung.com>
514
515         [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
516         https://bugs.webkit.org/show_bug.cgi?id=63502
517
518         Reviewed by Martin Robinson.
519
520         The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
521         some codes for EFL are added.
522         WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
523         when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
524
525         * CMakeListsEfl.txt:
526         * GNUmakefile.list.am:
527         * platform/cairo/WidgetBackingStore.h:
528         * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
529         (WebCore::createSurfaceForBackingStore):
530         (WebCore::WidgetBackingStorePrivate::create):
531         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
532         (WebCore::WidgetBackingStore::create):
533         (WebCore::WidgetBackingStore::WidgetBackingStore):
534         (WebCore::WidgetBackingStore::~WidgetBackingStore):
535         (WebCore::WidgetBackingStore::cairoSurface):
536         (WebCore::WidgetBackingStore::scroll):
537         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
538
539 2011-09-25  Adam Barth  <abarth@webkit.org>
540
541         Finish removing PLATFORM(BREWMP) by removing associated code
542         https://bugs.webkit.org/show_bug.cgi?id=68779
543
544         Reviewed by Sam Weinig.
545
546         When Geoffrey Garen removed PLATFORM(BREWMP) in
547         http://trac.webkit.org/changeset/95555, he did not remove all the
548         associated code.  This completes the work started in r95555 by removing
549         all the code assoicated with PLATFORM(BREWMP).
550
551         * WebCore.gyp/WebCore.gyp:
552         * WebCore.gypi:
553         * bindings/js/ScriptControllerBrew.cpp: Removed.
554         * editing/brew: Removed.
555         * editing/brew/EditorBrew.cpp: Removed.
556         * gyp/WebCore.gyp:
557         * page/brew: Removed.
558         * page/brew/ChromeClientBrew.h: Removed.
559         * page/brew/DragControllerBrew.cpp: Removed.
560         * page/brew/EventHandlerBrew.cpp: Removed.
561         * page/brew/FrameBrew.cpp: Removed.
562         * platform/brew: Removed.
563         * platform/brew/ClipboardBrew.cpp: Removed.
564         * platform/brew/ClipboardBrew.h: Removed.
565         * platform/brew/ContextMenuBrew.cpp: Removed.
566         * platform/brew/ContextMenuItemBrew.cpp: Removed.
567         * platform/brew/CursorBrew.cpp: Removed.
568         * platform/brew/DragDataBrew.cpp: Removed.
569         * platform/brew/EventLoopBrew.cpp: Removed.
570         * platform/brew/FileSystemBrew.cpp: Removed.
571         * platform/brew/KURLBrew.cpp: Removed.
572         * platform/brew/LanguageBrew.cpp: Removed.
573         * platform/brew/LocalizedStringsBrew.cpp: Removed.
574         * platform/brew/LoggingBrew.cpp: Removed.
575         * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
576         * platform/brew/PasteboardBrew.cpp: Removed.
577         * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
578         * platform/brew/PlatformMouseEventBrew.cpp: Removed.
579         * platform/brew/PlatformTouchEventBrew.cpp: Removed.
580         * platform/brew/PlatformTouchPointBrew.cpp: Removed.
581         * platform/brew/PopupMenuBrew.cpp: Removed.
582         * platform/brew/PopupMenuBrew.h: Removed.
583         * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
584         * platform/brew/ScreenBrew.cpp: Removed.
585         * platform/brew/ScrollbarThemeBrew.cpp: Removed.
586         * platform/brew/ScrollbarThemeBrew.h: Removed.
587         * platform/brew/SearchPopupMenuBrew.cpp: Removed.
588         * platform/brew/SearchPopupMenuBrew.h: Removed.
589         * platform/brew/SharedBufferBrew.cpp: Removed.
590         * platform/brew/SharedTimerBrew.cpp: Removed.
591         * platform/brew/SoundBrew.cpp: Removed.
592         * platform/brew/SystemTimeBrew.cpp: Removed.
593         * platform/brew/TemporaryLinkStubs.cpp: Removed.
594         * platform/brew/WidgetBrew.cpp: Removed.
595         * platform/graphics/brew: Removed.
596         * platform/graphics/brew/IconBrew.cpp: Removed.
597         * platform/graphics/brew/ImageBrew.cpp: Removed.
598         * platform/graphics/brew/IntPointBrew.cpp: Removed.
599         * platform/graphics/brew/IntSizeBrew.cpp: Removed.
600         * platform/network/brew: Removed.
601         * platform/network/brew/DNSBrew.cpp: Removed.
602         * platform/network/brew/SocketStreamError.h: Removed.
603         * platform/network/brew/SocketStreamHandle.h: Removed.
604         * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
605         * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
606         * platform/text/brew: Removed.
607         * platform/text/brew/TextBoundariesBrew.cpp: Removed.
608         * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
609         * platform/text/brew/TextCodecBrew.cpp: Removed.
610         * platform/text/brew/TextCodecBrew.h: Removed.
611
612 2011-09-25  Kentaro Hara  <haraken@chromium.org>
613
614         Implement a CloseEvent constructor for JSC
615         https://bugs.webkit.org/show_bug.cgi?id=68340
616
617         Reviewed by Oliver Hunt.
618
619         The spec of the CloseEvent constructor is here:
620         http://dev.w3.org/html5/websockets/#closeevent
621
622         Test: fast/events/constructors/close-event-constructor.html
623
624         * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
625         * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
626         * websockets/CloseEvent.h: Added a definition for CloseEventInit.
627         (WebCore::CloseEventInit::CloseEventInit):
628         (WebCore::CloseEvent::create):
629         (WebCore::CloseEvent::CloseEvent):
630         * websockets/CloseEvent.idl: Makes CloseEvent constructible.
631
632 2011-09-25  Mark Rowe  <mrowe@apple.com>
633
634         <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
635
636         It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
637         When that happens we should immediately return to waiting rather than doing our normal work, as some of that
638         work relies on wakeSyncThread having been called to signal the condition.
639
640         Reviewed by Sam Weinig.
641
642         * loader/icon/IconDatabase.cpp:
643         (WebCore::IconDatabase::IconDatabase):
644         (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
645         (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
646         go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
647         do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
648         our local shouldReenableSuddenTermination variable since it can be updated by other threads while
649         we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
650         and reacquiring the lock.
651         * loader/icon/IconDatabase.h:
652
653 2011-09-25  Dan Bernstein  <mitz@apple.com>
654
655         <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
656
657         Reviewed by Sam Weinig.
658
659         Test: fast/dynamic/subtree-unrooted.html
660
661         * rendering/RenderObject.cpp:
662         (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
663         which was added in r21162, with a check that it is “rooted”.
664
665 2011-09-24  Abhishek Arya  <inferno@chromium.org>
666
667         Issues with merging block children of a ruby
668         base with another ruby base having inline children. 
669         https://bugs.webkit.org/show_bug.cgi?id=66124
670
671         Reviewed by Dan Bernstein.
672
673         Test: fast/ruby/ruby-base-merge-block-children-crash.html
674
675         * rendering/RenderRubyBase.cpp:
676         (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
677         check to prevent empty anonymous block addition, just like
678         moveBlockChildren method.
679         * rendering/RenderRubyBase.cpp:
680         (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
681         doing optimizations to see if current ruby base has only inline
682         children before beforeChild and then trying to take out them from 
683         their parent anonymous blocks. The problem is those inlines could
684         be split and have continuations because of encountering a block
685         inside inline flow. In those cases, we cannot take the inline out.
686         So, we should just make children non-inline in the destination
687         block and transfer the children as it-is.
688         * rendering/RenderRubyBase.h: remove unncessary functions.
689
690 2011-09-25  Adam Barth  <abarth@webkit.org>
691
692         Remove PLATFORM(HAIKU) and associated code
693         https://bugs.webkit.org/show_bug.cgi?id=68774
694
695         Reviewed by Sam Weinig.
696
697         As discussed on webkit-dev, the Haiku port has been inactive for over a
698         year.  A year and a half ago, we discussed removing the port, but folks
699         said they planned to work on it more.  That work does not appear to
700         have happened in the intervening time.
701
702         * WebCore.gyp/WebCore.gyp:
703         * WebCore.gypi:
704         * bindings/js/ScriptControllerHaiku.cpp: Removed.
705         * editing/haiku: Removed.
706         * editing/haiku/EditorHaiku.cpp: Removed.
707         * gyp/WebCore.gyp:
708         * loader/cache/CachedFont.cpp:
709         * page/EventHandler.cpp:
710         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
711         * page/haiku: Removed.
712         * page/haiku/DragControllerHaiku.cpp: Removed.
713         * page/haiku/EventHandlerHaiku.cpp: Removed.
714         * page/haiku/FrameHaiku.cpp: Removed.
715         * platform/ContextMenuItem.h:
716         * platform/Cursor.h:
717         * platform/DragData.h:
718         * platform/DragImage.h:
719         * platform/PlatformKeyboardEvent.h:
720         * platform/PlatformMenuDescription.h:
721         * platform/PlatformMouseEvent.h:
722         * platform/Widget.h:
723         * platform/graphics/BitmapImage.h:
724         * platform/graphics/Color.h:
725         * platform/graphics/FloatPoint.h:
726         * platform/graphics/FloatRect.h:
727         * platform/graphics/Gradient.h:
728         * platform/graphics/GraphicsContext.cpp:
729         * platform/graphics/GraphicsContext.h:
730         * platform/graphics/ImageBufferData.h:
731         * platform/graphics/ImageSource.h:
732         * platform/graphics/IntPoint.h:
733         * platform/graphics/IntRect.h:
734         * platform/graphics/IntSize.h:
735         * platform/graphics/Path.h:
736         * platform/graphics/Pattern.h:
737         * platform/graphics/SimpleFontData.h:
738         * platform/graphics/haiku: Removed.
739         * platform/graphics/haiku/ColorHaiku.cpp: Removed.
740         * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
741         * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
742         * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
743         * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
744         * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
745         * platform/graphics/haiku/FontHaiku.cpp: Removed.
746         * platform/graphics/haiku/FontPlatformData.h: Removed.
747         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
748         * platform/graphics/haiku/GradientHaiku.cpp: Removed.
749         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
750         * platform/graphics/haiku/IconHaiku.cpp: Removed.
751         * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
752         * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
753         * platform/graphics/haiku/ImageHaiku.cpp: Removed.
754         * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
755         * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
756         * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
757         * platform/graphics/haiku/PathHaiku.cpp: Removed.
758         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
759         * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
760         * platform/graphics/haiku/StillImageHaiku.h: Removed.
761         * platform/haiku: Removed.
762         * platform/haiku/ClipboardHaiku.cpp: Removed.
763         * platform/haiku/ClipboardHaiku.h: Removed.
764         * platform/haiku/ContextMenuHaiku.cpp: Removed.
765         * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
766         * platform/haiku/CookieJarHaiku.cpp: Removed.
767         * platform/haiku/CursorHaiku.cpp: Removed.
768         * platform/haiku/DragDataHaiku.cpp: Removed.
769         * platform/haiku/DragImageHaiku.cpp: Removed.
770         * platform/haiku/EventLoopHaiku.cpp: Removed.
771         * platform/haiku/FileSystemHaiku.cpp: Removed.
772         * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
773         * platform/haiku/LoggingHaiku.cpp: Removed.
774         * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
775         * platform/haiku/PasteboardHaiku.cpp: Removed.
776         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
777         * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
778         * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
779         * platform/haiku/PopupMenuHaiku.cpp: Removed.
780         * platform/haiku/PopupMenuHaiku.h: Removed.
781         * platform/haiku/RenderThemeHaiku.cpp: Removed.
782         * platform/haiku/RenderThemeHaiku.h: Removed.
783         * platform/haiku/ScreenHaiku.cpp: Removed.
784         * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
785         * platform/haiku/ScrollbarThemeHaiku.h: Removed.
786         * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
787         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
788         * platform/haiku/SharedBufferHaiku.cpp: Removed.
789         * platform/haiku/SharedTimerHaiku.cpp: Removed.
790         * platform/haiku/SoundHaiku.cpp: Removed.
791         * platform/haiku/TemporaryLinkStubs.cpp: Removed.
792         * platform/haiku/WidgetHaiku.cpp: Removed.
793         * platform/image-decoders/haiku: Removed.
794         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
795         * platform/text/UnicodeRange.h:
796         * platform/text/haiku: Removed.
797         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
798
799 2011-09-25  Adam Barth  <abarth@webkit.org>
800
801         Attempted build fixes for GTK and Qt.
802
803         * GNUmakefile.list.am:
804         * WebCore.pro:
805
806 2011-09-24  Adam Barth  <abarth@webkit.org>
807
808         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
809         https://bugs.webkit.org/show_bug.cgi?id=68767
810
811         Reviewed by Eric Seidel.
812
813         As discussed on webkit-dev, almost everyone has this enable turned on
814         and this feature is unlikely to be removed from the web platform given
815         its popularity.
816
817         * CMakeLists.txt:
818         * Configurations/FeatureDefines.xcconfig:
819         * GNUmakefile.am:
820         * GNUmakefile.list.am:
821         * WebCore.exp.in:
822         * WebCore.pro:
823         * bindings/cpp/WebDOMEventTarget.cpp:
824         (toWebKit):
825         * bindings/js/JSEventTarget.cpp:
826         (WebCore::toJS):
827         (WebCore::toEventTarget):
828         * bindings/v8/V8DOMWrapper.cpp:
829         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
830         * dom/EventTarget.cpp:
831         (WebCore::EventTarget::toDOMApplicationCache):
832         * dom/EventTarget.h:
833         * features.pri:
834         * history/PageCache.cpp:
835         (WebCore::logCanCacheFrameDecision):
836         (WebCore::PageCache::canCachePageContainingThisFrame):
837         * html/HTMLHtmlElement.cpp:
838         (WebCore::HTMLHtmlElement::insertedByParser):
839         * html/HTMLHtmlElement.h:
840         * html/HTMLMediaElement.cpp:
841         (WebCore::createFileURLForApplicationCacheResource):
842         (WebCore::HTMLMediaElement::loadResource):
843         * html/ImageDocument.cpp:
844         (WebCore::ImageDocument::createDocumentStructure):
845         * html/MediaDocument.cpp:
846         (WebCore::MediaDocumentParser::createDocumentStructure):
847         * html/PluginDocument.cpp:
848         (WebCore::PluginDocumentParser::createDocumentStructure):
849         * html/parser/HTMLConstructionSite.cpp:
850         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
851         * inspector/InspectorApplicationCacheAgent.cpp:
852         * inspector/InspectorApplicationCacheAgent.h:
853         * inspector/InspectorController.cpp:
854         (WebCore::InspectorController::InspectorController):
855         (WebCore::InspectorController::connectFrontend):
856         (WebCore::InspectorController::disconnectFrontend):
857         * inspector/InspectorController.h:
858         * inspector/InspectorInstrumentation.cpp:
859         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
860         * inspector/InspectorInstrumentation.h:
861         (WebCore::InspectorInstrumentation::networkStateChanged):
862         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
863         * inspector/InstrumentingAgents.h:
864         (WebCore::InstrumentingAgents::InstrumentingAgents):
865         (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
866         * inspector/WorkerInspectorController.cpp:
867         (WebCore::WorkerInspectorController::connectFrontend):
868         * inspector/generate-inspector-idl:
869         * loader/DocumentLoader.cpp:
870         (WebCore::DocumentLoader::DocumentLoader):
871         (WebCore::DocumentLoader::mainReceivedError):
872         (WebCore::DocumentLoader::stopLoading):
873         (WebCore::DocumentLoader::detachFromFrame):
874         (WebCore::DocumentLoader::handledOnloadEvents):
875         * loader/DocumentLoader.h:
876         (WebCore::DocumentLoader::applicationCacheHost):
877         * loader/EmptyClients.h:
878         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
879         * loader/FrameLoader.cpp:
880         (WebCore::FrameLoader::loadResourceSynchronously):
881         * loader/MainResourceLoader.cpp:
882         (WebCore::MainResourceLoader::willSendRequest):
883         (WebCore::MainResourceLoader::didReceiveResponse):
884         (WebCore::MainResourceLoader::didReceiveData):
885         (WebCore::MainResourceLoader::didFinishLoading):
886         (WebCore::MainResourceLoader::didFail):
887         (WebCore::MainResourceLoader::load):
888         * loader/ResourceLoader.cpp:
889         (WebCore::ResourceLoader::start):
890         (WebCore::ResourceLoader::willSendRequest):
891         (WebCore::ResourceLoader::didSendData):
892         (WebCore::ResourceLoader::didReceiveResponse):
893         (WebCore::ResourceLoader::didReceiveData):
894         (WebCore::ResourceLoader::didFinishLoading):
895         (WebCore::ResourceLoader::didFail):
896         (WebCore::ResourceLoader::wasBlocked):
897         (WebCore::ResourceLoader::cannotShowURL):
898         (WebCore::ResourceLoader::shouldUseCredentialStorage):
899         (WebCore::ResourceLoader::willCacheResponse):
900         * loader/ResourceLoader.h:
901         * loader/appcache/ApplicationCache.cpp:
902         * loader/appcache/ApplicationCache.h:
903         * loader/appcache/ApplicationCacheGroup.cpp:
904         * loader/appcache/ApplicationCacheGroup.h:
905         * loader/appcache/ApplicationCacheHost.cpp:
906         * loader/appcache/ApplicationCacheHost.h:
907         * loader/appcache/ApplicationCacheResource.cpp:
908         * loader/appcache/ApplicationCacheResource.h:
909         * loader/appcache/ApplicationCacheStorage.cpp:
910         * loader/appcache/ApplicationCacheStorage.h:
911         * loader/appcache/DOMApplicationCache.cpp:
912         * loader/appcache/DOMApplicationCache.h:
913         * loader/appcache/DOMApplicationCache.idl:
914         * loader/appcache/ManifestParser.cpp:
915         (WebCore::parseManifest):
916         * loader/appcache/ManifestParser.h:
917         * loader/chromium/ResourceLoaderChromium.cpp:
918         (WebCore::ResourceLoader::didDownloadData):
919         * page/ChromeClient.h:
920         * page/DOMWindow.cpp:
921         (WebCore::DOMWindow::clear):
922         (WebCore::DOMWindow::applicationCache):
923         * page/DOMWindow.h:
924         (WebCore::DOMWindow::optionalApplicationCache):
925         * page/DOMWindow.idl:
926         * xml/parser/XMLDocumentParserLibxml2.cpp:
927         (WebCore::XMLDocumentParser::startElementNs):
928         * xml/parser/XMLDocumentParserQt.cpp:
929         (WebCore::XMLDocumentParser::parseStartElement):
930
931 2011-09-24  Adam Barth  <abarth@webkit.org>
932
933         Remove ENABLE(WCSS) and associated code
934         https://bugs.webkit.org/show_bug.cgi?id=68759
935
936         Reviewed by Darin Adler.
937
938         As discussed on webkit-dev, we are removing this feature from trunk to
939         reduce the number of different configurations.
940
941         * CodeGenerators.pri:
942         * GNUmakefile.am:
943         * WebCore.pro:
944         * css/CSSParser.cpp:
945         (WebCore::CSSParser::parseValue):
946         * css/CSSParser.h:
947         * css/CSSPrimitiveValueMappings.h:
948         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
949         * css/CSSStyleSelector.cpp:
950         (WebCore::CSSStyleSelector::applyProperty):
951         * css/WCSSPropertyNames.in: Removed.
952         * css/WCSSValueKeywords.in: Removed.
953         * features.pri:
954         * html/HTMLInputElement.cpp:
955         (WebCore::HTMLInputElement::HTMLInputElement):
956         * html/HTMLInputElement.h:
957         * html/TextFieldInputType.cpp:
958         (WebCore::TextFieldInputType::sanitizeValue):
959         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
960         * rendering/RenderMarquee.cpp:
961         (WebCore::RenderMarquee::start):
962         * rendering/RenderObject.cpp:
963         (WebCore::RenderObject::createObject):
964         * rendering/style/RenderStyleConstants.h:
965
966 2011-09-24  Young Han Lee  <joybro@company100.net>
967
968         SVGAnimation does not support 'values' for from-to animations
969         https://bugs.webkit.org/show_bug.cgi?id=64859
970
971         Reviewed by Dirk Schulze.
972
973         If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
974         the keyTimes indicate the begin and the end of the animation respectively.[1][2]
975
976         When keyTimes is given, calculate the progress percentage of the animation with it
977         even for from-to animation.
978
979         [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
980         [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
981
982         Test: svg/animations/animate-from-to-keyTimes.html
983
984         * svg/SVGAnimationElement.cpp:
985         (WebCore::SVGAnimationElement::calculatePercentForFromTo):
986         (WebCore::SVGAnimationElement::updateAnimation):
987         * svg/SVGAnimationElement.h:
988
989 2011-09-23  Chris Fleizach  <cfleizach@apple.com>
990
991         WebKit does not expose AXPlaceholder value on password fields
992         https://bugs.webkit.org/show_bug.cgi?id=68745
993
994         Reviewed by Oliver Hunt.
995
996         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
997         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
998
999 2011-09-23  Mark Rowe  <mrowe@apple.com>
1000
1001         Fix the build.
1002
1003         * loader/CrossOriginAccessControl.cpp:
1004         (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
1005
1006 2011-09-23  Adam Barth  <abarth@webkit.org>
1007
1008         Canvas security checks show up on HTML5GamingTest benchmark
1009         https://bugs.webkit.org/show_bug.cgi?id=68743
1010
1011         Reviewed by Oliver Hunt.
1012
1013         Prior to this patch, the canvas security checks took as much as 4% of
1014         the time on the HTML5GamingTest benchmark:
1015
1016         http://craftymind.com/factory/guimark2/HTML5GamingTest.html
1017
1018         This patch uses a couple of AtomicStrings and shuffles around the order
1019         of the security check to take this down to around 0.1% (which is near
1020         the noise floor of what I can measure with my profiler).
1021
1022         * html/canvas/CanvasRenderingContext.cpp:
1023         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1024         * loader/CrossOriginAccessControl.cpp:
1025         (WebCore::passesAccessControlCheck):
1026
1027 2011-09-23  Justin Novosad  <junov@chromium.org>
1028
1029         Unwarranted DOM Exception when canvas2D drawImage is called with src
1030         rect out of bounds
1031         https://bugs.webkit.org/show_bug.cgi?id=65709
1032
1033         Reviewed by Oliver Hunt.
1034
1035         * html/canvas/CanvasRenderingContext2D.cpp:
1036         (WebCore::CanvasRenderingContext2D::drawImage):
1037         Return early without throwing an exception if source rectangle is out of 
1038         bounds to match the spec.
1039
1040 2011-09-23  Lukasz Slachciak  <l.slachciak@samsung.com>
1041
1042         Printing of notImplemented() when logging enabled.
1043         https://bugs.webkit.org/show_bug.cgi?id=64590
1044
1045         Printing of notImplemented() method was enabled on Debug builds only.
1046         Now it is enabled when logging is enabled.
1047
1048         Reviewed by Oliver Hunt.
1049
1050         No new tests because there is no new functionality.
1051
1052         * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
1053
1054 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
1055
1056         [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
1057         https://bugs.webkit.org/show_bug.cgi?id=68730
1058
1059         Reviewed by James Robinson.
1060
1061         Adds a missing contentsResized() call in ScrollView::setFrameRect.
1062
1063         Test: fast/dom/Window/window-resize-contents.html
1064
1065         * platform/ScrollView.cpp:
1066         (WebCore::ScrollView::setFrameRect):
1067
1068 2011-09-23  Adam Klein  <adamk@chromium.org>
1069
1070         Add ENABLE_MUTATION_OBSERVERS feature flag
1071         https://bugs.webkit.org/show_bug.cgi?id=68732
1072
1073         Reviewed by Ojan Vafai.
1074
1075         This flag will guard an implementation of the "Mutation Observers" proposed in
1076         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
1077
1078         * Configurations/FeatureDefines.xcconfig:
1079         * GNUmakefile.am:
1080
1081 2011-09-23  Varun Jain  <varunjain@google.com>
1082
1083         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
1084         https://bugs.webkit.org/show_bug.cgi?id=68198
1085
1086         Reviewed by Dimitri Glazkov.
1087
1088         Tests: fast/dom/scroll-element-to-rect-centered.html
1089                fast/dom/scroll-element-to-rect.html
1090
1091         * WebCore.exp.in:
1092         * page/FrameView.cpp:
1093         (WebCore::FrameView::scrollElementToRect):
1094         * page/FrameView.h:
1095         * testing/Internals.cpp:
1096         (WebCore::Internals::scrollElementToRect):
1097         * testing/Internals.h:
1098         * testing/Internals.idl:
1099
1100 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
1101
1102         Unreviewed, rolling out r95860.
1103         http://trac.webkit.org/changeset/95860
1104         https://bugs.webkit.org/show_bug.cgi?id=68648
1105
1106         Breaks overhang rendering on Chromium Mac
1107
1108         * platform/chromium/ScrollbarThemeChromium.cpp:
1109         * platform/chromium/ScrollbarThemeChromium.h:
1110         * platform/chromium/ScrollbarThemeChromiumMac.h:
1111         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1112         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1113         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
1114
1115 2011-09-23  Dean Jackson  <dino@apple.com>
1116
1117         Add -webkit-filter to CSSPropertyNames
1118         https://bugs.webkit.org/show_bug.cgi?id=68675
1119
1120         Reviewed by Simon Fraser.
1121
1122         Add property and rudimentary parsing for -webkit-filter. The
1123         property value isn't preserved anywhere yet. Add
1124         stub definition for computed style.
1125
1126         Test: css3/filters/filter-property.html
1127
1128         * css/CSSComputedStyleDeclaration.cpp:
1129         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1130         * css/CSSParser.cpp:
1131         (WebCore::CSSParser::parseValue):
1132         (WebCore::CSSParser::parseFilter):
1133         * css/CSSParser.h:
1134         * css/CSSPropertyNames.in:
1135         * css/CSSStyleSelector.cpp:
1136         (WebCore::CSSStyleSelector::applyProperty):
1137
1138 2011-09-23  Antoine Labour  <piman@chromium.org>
1139
1140         Remove preserves3D() from CCLayerDelegate, replacing it by setting the
1141         value explicitly after creating a layer, or setting its delegate.
1142         https://bugs.webkit.org/show_bug.cgi?id=68295
1143
1144         Reviewed by James Robinson.
1145
1146         Covered by compositing/ layeout tests.
1147
1148         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1149         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1150         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1151         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1152         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1153         * platform/graphics/chromium/GraphicsLayerChromium.h:
1154         * platform/graphics/chromium/LayerChromium.cpp:
1155         (WebCore::LayerChromium::LayerChromium):
1156         * platform/graphics/chromium/LayerChromium.h:
1157         (WebCore::LayerChromium::setPreserves3D):
1158         (WebCore::LayerChromium::preserves3D):
1159
1160 2011-09-23  Julien Chaffraix  <jchaffraix@webkit.org>
1161
1162         Implicit conversion double to float in ShadowBlur::adjustBlurRadius
1163         https://bugs.webkit.org/show_bug.cgi?id=68722
1164
1165         Reviewed by Simon Fraser.
1166
1167         * platform/graphics/ShadowBlur.cpp:
1168         (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
1169         conversions.
1170
1171 2011-09-23  Dan Bernstein  <mitz@apple.com>
1172
1173         <rdar://problem/10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
1174         https://bugs.webkit.org/show_bug.cgi?id=68737
1175
1176         Reviewed by Darin Adler.
1177
1178         Test: fast/text/combining-character-sequence-fallback-crash.html
1179
1180         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1181         (-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
1182         number of FontData instances in the fallback list rather than the number of font families in the
1183         font description.
1184
1185 2011-09-23  David Reveman  <reveman@chromium.org>
1186
1187         [Chromium] Fix CSS 3D corner anti-aliasing.
1188         https://bugs.webkit.org/show_bug.cgi?id=68087
1189
1190         Reviewed by James Robinson.
1191
1192         Render sharp corners more correctly by adding bounding box
1193         edges to anti-aliasing shaders.
1194
1195         Test: platform/chromium/compositing/3d-corners.html
1196
1197         * platform/graphics/chromium/ShaderChromium.cpp:
1198         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
1199         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
1200         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
1201         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
1202         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1203         (WebCore::CCRenderSurface::drawLayer):
1204         (WebCore::CCRenderSurface::drawSurface):
1205         * platform/graphics/chromium/cc/CCRenderSurface.h:
1206         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1207         (WebCore::CCTiledLayerImpl::draw):
1208         (WebCore::CCTiledLayerImpl::drawTiles):
1209         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1210
1211 2011-09-23  Oliver Hunt  <oliver@apple.com>
1212
1213         Make write barriers actually do something when enabled
1214         https://bugs.webkit.org/show_bug.cgi?id=68717
1215
1216         Reviewed by Geoffrey Garen.
1217
1218         Add a forwarding header, and fix an evaluation ordering
1219         issue that shows up if you try to use write barriers.
1220
1221         * ForwardingHeaders/heap/CardSet.h: Added.
1222         * bindings/js/JSEventListener.h:
1223         (WebCore::JSEventListener::jsFunction):
1224
1225 2011-09-23  James Robinson  <jamesr@chromium.org>
1226
1227         Avoid updating compositing state during paint
1228         https://bugs.webkit.org/show_bug.cgi?id=68727
1229
1230         Reviewed by Simon Fraser.
1231
1232         We shouldn't update our compositing state in the middle of a paint. The call to
1233         updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
1234         fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
1235
1236         * rendering/RenderLayer.cpp:
1237         (WebCore::RenderLayer::paintLayer):
1238         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
1239         * rendering/RenderLayerCompositor.cpp:
1240         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1241         * rendering/RenderLayerCompositor.h:
1242
1243 2011-09-23  Fady Samuel  <fsamuel@chromium.org>
1244
1245         Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
1246         https://bugs.webkit.org/show_bug.cgi?id=68648
1247
1248         Reviewed by Dimitri Glazkov.
1249
1250         No new tests because there's no change in functionality (yet).
1251
1252         * platform/chromium/ScrollbarThemeChromium.cpp:
1253         (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
1254         (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
1255         (WebCore::ScrollbarThemeChromium::paintOverhangAreas):
1256         * platform/chromium/ScrollbarThemeChromium.h:
1257         * platform/chromium/ScrollbarThemeChromiumMac.h:
1258         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1259         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1260
1261 2011-09-23  Ojan Vafai  <ojan@chromium.org>
1262
1263         remove physical flex-flow values to match the updated spec
1264         https://bugs.webkit.org/show_bug.cgi?id=68728
1265
1266         Reviewed by Tony Chang.
1267
1268         * css/CSSParser.cpp:
1269         (WebCore::CSSParser::parseValue):
1270         * css/CSSPrimitiveValueMappings.h:
1271         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1272         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
1273         * css/CSSValueKeywords.in:
1274         * rendering/style/RenderStyleConstants.h:
1275
1276 2011-09-23  Abhishek Arya  <inferno@chromium.org>
1277
1278         Style not updated for :before, :after content
1279         in ruby text.
1280         https://bugs.webkit.org/show_bug.cgi?id=68625
1281
1282         Reviewed by Dave Hyatt.
1283
1284         Test: fast/ruby/ruby-text-before-after-content.html
1285
1286         * rendering/RenderRubyText.cpp:
1287         (WebCore::RenderRubyText::updateBeforeAfterContent):
1288         * rendering/RenderRubyText.h:
1289
1290 2011-09-22  Ojan Vafai  <ojan@chromium.org>
1291
1292         refactor RenderFlexibleBox to use flex-flow aware methods
1293         https://bugs.webkit.org/show_bug.cgi?id=68665
1294
1295         Reviewed by Tony Chang.
1296
1297         This is just a refactor. Just move the all the code that needs to
1298         be flow aware into helper functions. Actually making them flow-aware
1299         can be done in a followup patch.
1300
1301         * rendering/RenderBlock.cpp:
1302         * rendering/RenderBlock.h:
1303         Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
1304         * rendering/RenderFlexibleBox.cpp:
1305         (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
1306         (WebCore::RenderFlexibleBox::isHorizontalFlow):
1307         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
1308         (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
1309         (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
1310         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
1311         (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
1312         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
1313         (WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
1314         (WebCore::RenderFlexibleBox::flowAwareBorderStart):
1315         (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
1316         (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
1317         (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
1318         (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
1319         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
1320         (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
1321         (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
1322         (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
1323         (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
1324         (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
1325         (WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
1326         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
1327         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
1328         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
1329         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
1330         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
1331         (WebCore::RenderFlexibleBox::layoutInlineDirection):
1332         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
1333         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
1334         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1335         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
1336         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
1337         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1338         * rendering/RenderFlexibleBox.h:
1339
1340 2011-09-23  David Hyatt  <hyatt@apple.com>
1341
1342         https://bugs.webkit.org/show_bug.cgi?id=68719
1343         
1344         Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
1345         columns, when regions have a non-uniform height, we may need to push through multiple regions
1346         in order to find one that fits.
1347         
1348         Added an optimization for quickly noticing if regions do have a uniform height so that we can
1349         treat them like columns and pages if so.
1350
1351         Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
1352         layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
1353         the new tests.
1354
1355         Reviewed by Anders Carlsson.
1356
1357         Added new tests in fast/regions.
1358
1359         * rendering/RenderBlock.cpp:
1360         (WebCore::RenderBlock::adjustForUnsplittableChild):
1361         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
1362         (WebCore::RenderBlock::adjustLinePositionForPagination):
1363         * rendering/RenderBlock.h:
1364         * rendering/RenderBlockLineLayout.cpp:
1365         (WebCore::RenderBlock::matchedEndLine):
1366         * rendering/RenderFlowThread.cpp:
1367         (WebCore::RenderFlowThread::RenderFlowThread):
1368         (WebCore::RenderFlowThread::layout):
1369         * rendering/RenderFlowThread.h:
1370
1371 2011-09-23  Konstantin Scheglov  <scheglov@google.com>
1372
1373         Redrawing dirty parts of a large table is very slow
1374         https://bugs.webkit.org/show_bug.cgi?id=64546
1375
1376         Reviewed by David Hyatt.
1377
1378         Move CollapsedBorderValues into RenderTable.h.
1379         Calculate collapsed borders only once and re-use during paintObject().
1380         Invalidate cache when cell, row, row group, col, col group or table border is changed.
1381
1382         Tests: fast/table/border-collapsing/cached-cell-append.html
1383                fast/table/border-collapsing/cached-cell-remove.html
1384                fast/table/border-collapsing/cached-change-cell-border-color.html
1385                fast/table/border-collapsing/cached-change-cell-border-width.html
1386                fast/table/border-collapsing/cached-change-col-border-color.html
1387                fast/table/border-collapsing/cached-change-col-border-width.html
1388                fast/table/border-collapsing/cached-change-colgroup-border-color.html
1389                fast/table/border-collapsing/cached-change-colgroup-border-width.html
1390                fast/table/border-collapsing/cached-change-row-border-color.html
1391                fast/table/border-collapsing/cached-change-row-border-width.html
1392                fast/table/border-collapsing/cached-change-table-border-color.html
1393                fast/table/border-collapsing/cached-change-table-border-width.html
1394                fast/table/border-collapsing/cached-change-tbody-border-color.html
1395                fast/table/border-collapsing/cached-change-tbody-border-width.html
1396
1397         * rendering/RenderTable.cpp:
1398         (WebCore::RenderTable::RenderTable):
1399         (WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
1400         (WebCore::RenderTable::layout): Invalidate cache if layout changed.
1401         (WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
1402         (WebCore::RenderTable::paintObject): Use cached collapsed borders.
1403         * rendering/RenderTable.h:
1404         (WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.
1405         (WebCore::RenderTable::currentBorderValue): Rename to use word "value".
1406         * rendering/RenderTableCell.cpp:
1407         (WebCore::RenderTableCell::styleDidChange): If border changed, invalidate cache.
1408
1409         Rename to use word "value".
1410         (WebCore::addBorderStyle):
1411         (WebCore::RenderTableCell::collectBorderValues):
1412         (WebCore::compareBorderValuesForQSort):
1413         (WebCore::RenderTableCell::sortBorderValues):
1414         (WebCore::RenderTableCell::paintCollapsedBorder):
1415         * rendering/RenderTableCell.h:
1416         
1417         If border changed, invalidate cache.
1418         * rendering/RenderTableCol.cpp:
1419         (WebCore::RenderTableCol::styleDidChange):
1420         * rendering/RenderTableCol.h:
1421         * rendering/RenderTableRow.cpp:
1422         (WebCore::RenderTableRow::styleDidChange):
1423         * rendering/RenderTableSection.cpp:
1424         (WebCore::RenderTableSection::styleDidChange):
1425
1426 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
1427
1428         Add static version of JSCell::visitChildren
1429         https://bugs.webkit.org/show_bug.cgi?id=68404
1430
1431         Reviewed by Darin Adler.
1432
1433         No new tests.
1434
1435         In this patch we just extract the bodies of the virtual visitChildren methods
1436         throughout the JSCell inheritance hierarchy out into static methods, which are 
1437         now called from the virtual methods.  This is an intermediate step in trying to 
1438         move the virtual-ness of visitChildren into our own custom vtable stored in 
1439         ClassInfo.  We need to convert the methods to static methods in order to be 
1440         able to more easily store and refer to them in our custom vtable since normal 
1441         member methods store some implicit information in their types, making it 
1442         impossible to store them generically in ClassInfo.
1443
1444         * WebCore.exp.in:
1445         * bindings/js/JSAttrCustom.cpp:
1446         (WebCore::JSAttr::visitChildrenVirtual):
1447         (WebCore::JSAttr::visitChildren):
1448         * bindings/js/JSAudioContextCustom.cpp:
1449         (WebCore::JSAudioContext::visitChildrenVirtual):
1450         (WebCore::JSAudioContext::visitChildren):
1451         * bindings/js/JSCSSRuleCustom.cpp:
1452         (WebCore::JSCSSRule::visitChildrenVirtual):
1453         (WebCore::JSCSSRule::visitChildren):
1454         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1455         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
1456         (WebCore::JSCSSStyleDeclaration::visitChildren):
1457         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1458         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
1459         (WebCore::JSCanvasRenderingContext::visitChildren):
1460         * bindings/js/JSDOMGlobalObject.cpp:
1461         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
1462         (WebCore::JSDOMGlobalObject::visitChildren):
1463         * bindings/js/JSDOMGlobalObject.h:
1464         * bindings/js/JSDOMWindowCustom.cpp:
1465         (WebCore::JSDOMWindow::visitChildrenVirtual):
1466         (WebCore::JSDOMWindow::visitChildren):
1467         * bindings/js/JSDOMWindowShell.cpp:
1468         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
1469         (WebCore::JSDOMWindowShell::visitChildren):
1470         * bindings/js/JSDOMWindowShell.h:
1471         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
1472         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
1473         (WebCore::JSJavaScriptAudioNode::visitChildren):
1474         * bindings/js/JSMessageChannelCustom.cpp:
1475         (WebCore::JSMessageChannel::visitChildrenVirtual):
1476         (WebCore::JSMessageChannel::visitChildren):
1477         * bindings/js/JSMessagePortCustom.cpp:
1478         (WebCore::JSMessagePort::visitChildrenVirtual):
1479         (WebCore::JSMessagePort::visitChildren):
1480         * bindings/js/JSNamedNodeMapCustom.cpp:
1481         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
1482         (WebCore::JSNamedNodeMap::visitChildren):
1483         * bindings/js/JSNodeCustom.cpp:
1484         (WebCore::JSNode::visitChildrenVirtual):
1485         (WebCore::JSNode::visitChildren):
1486         * bindings/js/JSNodeFilterCustom.cpp:
1487         (WebCore::JSNodeFilter::visitChildrenVirtual):
1488         (WebCore::JSNodeFilter::visitChildren):
1489         * bindings/js/JSNodeIteratorCustom.cpp:
1490         (WebCore::JSNodeIterator::visitChildrenVirtual):
1491         (WebCore::JSNodeIterator::visitChildren):
1492         * bindings/js/JSSVGElementInstanceCustom.cpp:
1493         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
1494         (WebCore::JSSVGElementInstance::visitChildren):
1495         * bindings/js/JSSharedWorkerCustom.cpp:
1496         (WebCore::JSSharedWorker::visitChildrenVirtual):
1497         (WebCore::JSSharedWorker::visitChildren):
1498         * bindings/js/JSStyleSheetCustom.cpp:
1499         (WebCore::JSStyleSheet::visitChildrenVirtual):
1500         (WebCore::JSStyleSheet::visitChildren):
1501         * bindings/js/JSTreeWalkerCustom.cpp:
1502         (WebCore::JSTreeWalker::visitChildrenVirtual):
1503         (WebCore::JSTreeWalker::visitChildren):
1504         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1505         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
1506         (WebCore::JSWebGLRenderingContext::visitChildren):
1507         * bindings/js/JSWorkerContextCustom.cpp:
1508         (WebCore::JSWorkerContext::visitChildrenVirtual):
1509         (WebCore::JSWorkerContext::visitChildren):
1510         * bindings/js/JSXMLHttpRequestCustom.cpp:
1511         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
1512         (WebCore::JSXMLHttpRequest::visitChildren):
1513         * bindings/js/JSXPathResultCustom.cpp:
1514         (WebCore::JSXPathResult::visitChildrenVirtual):
1515         (WebCore::JSXPathResult::visitChildren):
1516         * bindings/scripts/CodeGeneratorJS.pm:
1517         (GenerateHeader):
1518         (GenerateImplementation):
1519         * bindings/scripts/test/JS/JSTestObj.cpp:
1520         (WebCore::JSTestObj::visitChildrenVirtual):
1521         (WebCore::JSTestObj::visitChildren):
1522         * bindings/scripts/test/JS/JSTestObj.h:
1523         * bridge/qt/qt_instance.cpp:
1524         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
1525         (JSC::Bindings::QtRuntimeObject::visitChildren):
1526         * bridge/qt/qt_runtime.cpp:
1527         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
1528         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
1529         * bridge/qt/qt_runtime.h:
1530         * workers/WorkerContext.h:
1531
1532 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
1533
1534         [GTK] Remove extra space at the beginning of the last line.
1535         https://bugs.webkit.org/show_bug.cgi?id=68710
1536
1537         Reviewed by Gustavo Noronha Silva.
1538
1539         * platform/network/soup/SocketStreamHandleSoup.cpp:
1540
1541 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
1542
1543         [GTK] Fix coding style issues in ResourceRequestSoup.cpp
1544         https://bugs.webkit.org/show_bug.cgi?id=68707
1545
1546         Reviewed by Xan Lopez.
1547
1548         This patch fixes some issues as reported by check-webkit-style.
1549
1550         * platform/network/soup/ResourceRequestSoup.cpp:
1551         (WebCore::ResourceRequest::updateFromSoupMessage):
1552
1553 2011-09-22  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
1554
1555         Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
1556
1557         Include MSVC2010 in the list of compilers where incremental
1558         build is disabled (INCREMENTAL:NO).
1559
1560         Change suggested by Simo Falt <simo.falt@nokia.com>, already present
1561         in the Qt-4.8 repository where the problem was identified.
1562
1563         * WebCore.pri:
1564
1565 2011-09-23  Darin Adler  <darin@apple.com>
1566
1567         Try to fix warning seen in some 32-bit builds.
1568
1569         * rendering/RenderBoxModelObject.cpp:
1570         (WebCore::backgroundRectAdjustedForBleedAvoidance):
1571         Use an explicit cast for the conversion from a double to a LayoutUnit.
1572
1573 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1574
1575         Web Inspector: Clicking on error doesn't point on the correct line if user searched something
1576         https://bugs.webkit.org/show_bug.cgi?id=68627
1577
1578         Reviewed by Yury Semikhatsky.
1579
1580         * inspector/front-end/SearchController.js:
1581         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
1582         * inspector/front-end/inspector.js:
1583         (WebInspector._showAnchorLocationInPanel):
1584
1585 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1586
1587         Web Inspector: InspectorStyleSheet should use stylesheet's original url, not final one.
1588         https://bugs.webkit.org/show_bug.cgi?id=68631
1589
1590         Reviewed by Yury Semikhatsky.
1591
1592         Test: http/tests/inspector/styles/styles-redirected-css.html
1593
1594         * inspector/InspectorStyleSheet.cpp:
1595         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1596
1597 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1598
1599         Web Inspector: XHRs requests with the same url as main resource should have correct category.
1600         https://bugs.webkit.org/show_bug.cgi?id=68646
1601
1602         Reviewed by Yury Semikhatsky.
1603
1604         Test: http/tests/inspector/network/network-xhr-same-url-as-main-resource.html
1605
1606         * inspector/InspectorResourceAgent.cpp:
1607         (WebCore::InspectorResourceAgent::didReceiveResponse):
1608
1609 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1610
1611         Web Inspector: Add context menu action to navigate from resources panel resource to network panel.
1612         https://bugs.webkit.org/show_bug.cgi?id=68657
1613
1614         Reviewed by Yury Semikhatsky.
1615
1616         * English.lproj/localizedStrings.js:
1617         * inspector/front-end/NetworkPanel.js:
1618         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1619         (WebInspector.NetworkPanel.prototype.revealAndHighlightResource):
1620         * inspector/front-end/ResourcesPanel.js:
1621         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
1622         (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
1623         * inspector/front-end/inspector.js:
1624         (WebInspector.openInNetworkPanelLabel):
1625         (WebInspector.openRequestInNetworkPanel):
1626
1627 2011-09-23  Deepak Sherveghar  <bpwv64@motorola.com>
1628
1629         [Gtk] Title attribute is not respected on option elements.
1630         https://bugs.webkit.org/show_bug.cgi?id=68615
1631
1632         Reviewed by Martin Robinson.
1633
1634         Set tooltip on PopupMenuGtk items created from GtkActions.
1635
1636         * platform/gtk/GtkPopupMenu.cpp:
1637         (WebCore::GtkPopupMenu::appendItem): Added a call to gtk_widget_set_tooltip_text()
1638             to set the tooltip on menuitem. Tooltip text is retrieved from GtkAction.
1639         * platform/gtk/PopupMenuGtk.cpp:
1640         (WebCore::PopupMenuGtk::createGtkActionForMenuItem): Pass the tooltip text
1641             from client when creating a GtkAction.
1642
1643 2011-09-23  Yael Aharon  <yael.aharon@nokia.com>
1644
1645         [Qt][Gtk] Wrong state when pausing a video in the "playing" event handler
1646         https://bugs.webkit.org/show_bug.cgi?id=68589
1647
1648         Reviewed by Philippe Normand.
1649
1650         Test: media/video-playing-and-pause.html
1651
1652         As suggested by Alexis Menard on IRC, query gstreamer's state instead of using a cached value
1653         in MediaPlayerGstreamerPrivate::paused(). 
1654
1655         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1656         (WebCore::MediaPlayerPrivateGStreamer::paused):
1657
1658 2011-09-15  Pavel Podivilov  <podivilov@chromium.org>
1659
1660         Web Inspector: skip overlapping scripts when displaying concatenated content.
1661         https://bugs.webkit.org/show_bug.cgi?id=68144
1662
1663         Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
1664
1665         Reviewed by Pavel Feldman.
1666
1667         * inspector/front-end/SourceFile.js:
1668         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
1669         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1670
1671 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
1672
1673         Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
1674         https://bugs.webkit.org/show_bug.cgi?id=68312
1675
1676         Reviewed by Yury Semikhatsky.
1677
1678         * inspector/front-end/TimelinePanel.js:
1679         (WebInspector.TimelinePanel.prototype._createFileSelector):
1680
1681 2011-09-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1682
1683         Unreviewed, rolling out r95383.
1684         http://trac.webkit.org/changeset/95383
1685         https://bugs.webkit.org/show_bug.cgi?id=68690
1686
1687         It broke WebInspector.Timeline.LoadFromFile feature.
1688         (Requested by loislo on #webkit).
1689
1690         * inspector/front-end/TimelinePanel.js:
1691         (WebInspector.TimelinePanel.prototype._createFileSelector):
1692
1693 2011-09-23  Rob Buis  <rbuis@rim.com>
1694
1695         use after free in WebCore::SVGTRefElement::updateReferencedText
1696         https://bugs.webkit.org/show_bug.cgi?id=67555
1697
1698         Reviewed by Nikolas Zimmermann.
1699
1700         Event listeners can outlive the tref element that created them when
1701         the tref is cloned and then garbage collected, causing a dangling pointer to the
1702         tref. To fix this do not install event listener until the tref is inserted into the document.
1703
1704         Test: svg/custom/tref-clone-crash.html
1705
1706         * svg/SVGTRefElement.cpp:
1707         (WebCore::SVGTRefElement::svgAttributeChanged):
1708         (WebCore::SVGTRefElement::insertedIntoDocument):
1709         * svg/SVGTRefElement.h:
1710
1711 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1712
1713         ASSERTION FAILED: documentLoader in WebKit/Source/WebCore/inspector/InspectorInstrumentation.cpp(597)
1714         https://bugs.webkit.org/show_bug.cgi?id=68291
1715
1716         Reviewed by Tony Chang.
1717
1718         * dom/Document.cpp:
1719         (WebCore::Document::finishedParsing):
1720         * inspector/InspectorInstrumentation.cpp:
1721         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1722         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
1723         * inspector/InspectorInstrumentation.h:
1724         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
1725         (WebCore::InspectorInstrumentation::loadEventFired):
1726         * page/DOMWindow.cpp:
1727         (WebCore::DOMWindow::dispatchLoadEvent):
1728
1729 2011-09-22  Tony Chang  <tony@chromium.org>
1730
1731         implement -webkit-flex-order
1732         https://bugs.webkit.org/show_bug.cgi?id=67432
1733
1734         Reviewed by Ojan Vafai.
1735
1736         flex-order can be an int (including negative), but we disallow the two
1737         smallest values so we can put the numbers into a hash set.
1738
1739         Also, create two iterators: one that goes in render tree order (we use
1740         this for the first pass and to collect the possible flex order values)
1741         and one that goes in flex order.
1742
1743         Test: css3/flexbox/flex-order.html
1744
1745         * css/CSSParser.cpp:
1746         (WebCore::CSSParser::parseValue):
1747         * rendering/RenderFlexibleBox.cpp:
1748         (WebCore::FlexOrderHashTraits::emptyValue):
1749         (WebCore::FlexOrderHashTraits::constructDeletedValue):
1750         (WebCore::FlexOrderHashTraits::isDeletedValue):
1751         (WebCore::RenderFlexibleBox::TreeOrderIterator::TreeOrderIterator): A simple iterator
1752             that goes in render tree order.
1753         (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
1754         (WebCore::RenderFlexibleBox::TreeOrderIterator::reset):
1755         (WebCore::RenderFlexibleBox::TreeOrderIterator::flexOrderValues):
1756         (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator): An iterator that
1757             goes in flex-order order.  Creating this involves sorting, so only create it once
1758             and pass it around.
1759         (WebCore::RenderFlexibleBox::FlexOrderIterator::first):
1760         (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
1761         (WebCore::RenderFlexibleBox::FlexOrderIterator::reset):
1762         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
1763         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1764         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
1765         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1766         * rendering/RenderFlexibleBox.h:
1767
1768 2011-09-22  Darin Adler  <darin@apple.com>
1769
1770         Use AffineTransform scale functions in ShadowBlur::adjustBlurRadius
1771         https://bugs.webkit.org/show_bug.cgi?id=68667
1772
1773         Reviewed by Simon Fraser.
1774
1775         * platform/graphics/ShadowBlur.cpp:
1776         (WebCore::ShadowBlur::adjustBlurRadius): Use AffineTransform::xScale and
1777         AffineTransform::yScale instead of the custom code here that seems to do
1778         the same thing.
1779
1780 2011-09-22  Darin Adler  <darin@apple.com>
1781
1782         Remove unneeded type conversion from background bleed code
1783         https://bugs.webkit.org/show_bug.cgi?id=68669
1784
1785         Reviewed by Geoffrey Garen.
1786
1787         * rendering/RenderBoxModelObject.cpp:
1788         (WebCore::backgroundRectAdjustedForBleedAvoidance): Use ceil instead of ceilf
1789         and eliminate superflous conversion to float and use of FloatSize. Also added
1790         a "why" comment.
1791
1792 2011-09-22  Darin Adler  <darin@apple.com>
1793
1794         Refactor checks for antialiasing lines to share a single function
1795         https://bugs.webkit.org/show_bug.cgi?id=68666
1796
1797         Reviewed by Dan Bernstein.
1798
1799         * rendering/RenderBlock.cpp:
1800         (WebCore::RenderBlock::paintColumnRules): Call shouldAntialiasLines.
1801         * rendering/RenderBoxModelObject.cpp:
1802         (WebCore::RenderBoxModelObject::paintBorder): Ditto.
1803         (WebCore::RenderBoxModelObject::shouldAntialiasLines): Added.
1804         * rendering/RenderBoxModelObject.h: Added shouldAntialiasLines function.
1805         * rendering/RenderInline.cpp:
1806         (WebCore::RenderInline::paintOutlineForLine): Call shouldAntialiasLines.
1807         * rendering/RenderTableCell.cpp:
1808         (WebCore::RenderTableCell::paintCollapsedBorder): Ditto.
1809
1810 2011-09-22  Antoine Labour  <piman@chromium.org>
1811
1812         Remove unused members from LayerChromium.
1813         These members are never set, and never used.
1814         Other members that are set but not used have been left (we may use them
1815         later, e.g. m_opaque).
1816         https://bugs.webkit.org/show_bug.cgi?id=68297
1817
1818         Reviewed by James Robinson.
1819
1820         No functional change, no new test needed.
1821
1822         * platform/graphics/chromium/LayerChromium.cpp:
1823         (WebCore::LayerChromium::LayerChromium):
1824         * platform/graphics/chromium/LayerChromium.h:
1825
1826 2011-09-22  Tom Sepez  <tsepez@chromium.org>
1827
1828         Make XSSAuditor extract meaningful snippet from script blocks for comparison
1829         against the URL when checking for reflection.  Avoids getting caugh up in
1830         trailing comments.
1831         https://bugs.webkit.org/show_bug.cgi?id=68094
1832
1833         Reviewed by Adam Barth.
1834
1835         Tests: http/tests/security/xssAuditor/script-tag-with-trailing-comment.html
1836                http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html
1837                http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html
1838
1839         * html/parser/XSSAuditor.cpp:
1840         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
1841         (WebCore::XSSAuditor::extractCodeFragment):
1842         * html/parser/XSSAuditor.h:
1843
1844 2011-09-22  Nate Chapin  <japhet@chromium.org>
1845
1846         Remove didReceiveAuthenticationChallenge() from SubresourceLoaderClient.
1847         Instead, add a load-specific policy for showing the user authentication
1848         challenge down to ResourceLoaderOptions and enforce it in ResourceLoader.
1849         https://bugs.webkit.org/show_bug.cgi?id=65330
1850
1851         Reviewed by Alexey Proskuryakov.
1852
1853         No new tests, refactor only.
1854
1855         * loader/DocumentThreadableLoader.cpp:
1856         * loader/DocumentThreadableLoader.h:
1857         * loader/MainResourceLoader.cpp:
1858         * loader/NetscapePlugInStreamLoader.cpp:
1859         * loader/ResourceLoadScheduler.h:
1860         * loader/ResourceLoader.cpp:
1861         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1862            For resource types that always send a challenge to the embedder,
1863            this patch doesn't change anything. For those that don't, we will
1864            always try to continue without credentials when they are forbidden
1865            and the platform supports it.
1866            When continuing without credentials was initially implemented in
1867            DocumentThreadableLoader, we sent the ThreadableLoaderClient a didFail(),
1868            then canceled the SubresourceLoader. This was necessary because of the
1869            quirks of ThreadableLoader cancellation (we sever the client/loader connections
1870            before the load actually cancels), but a simple didFail() should suffice at
1871            the ResourceLoader layer.
1872         * loader/ResourceLoaderOptions.h:
1873         * loader/SubresourceLoader.cpp:
1874         * loader/SubresourceLoader.h:
1875         * loader/SubresourceLoaderClient.h:
1876         * loader/cache/CachedResource.cpp:
1877         * loader/cache/CachedResourceLoader.cpp:
1878         * loader/cache/CachedResourceLoader.h:
1879         * loader/icon/IconLoader.cpp: The ResourceLoader implementation of
1880             didReceiveAuthenticationChallege means that IconLoader will now
1881             try to continue with credentials on platforms that support it,
1882             rather than just canceling outright. We still will never prompt
1883             for authentication for icons.
1884         * loader/icon/IconLoader.h:
1885
1886 2011-09-22  Dean Jackson  <dino@apple.com>
1887
1888         Add ENABLE_CSS_FILTERS
1889         https://bugs.webkit.org/show_bug.cgi?id=68652
1890
1891         Reviewed by Simon Fraser.
1892
1893         * Configurations/FeatureDefines.xcconfig:
1894
1895 2011-09-22  Anders Carlsson  <andersca@apple.com>
1896
1897         Make sure to update scrollbars in ScrollView::setFrameRect
1898         https://bugs.webkit.org/show_bug.cgi?id=68663
1899
1900         Reviewed by Sam Weinig.
1901
1902         Call updateScrollbars after setting the frame rect. This was previously done by the
1903         call to setBoundsSize from RenderWidget::setWidgetGeometry but setBoundsSize was removed
1904         completely in http://trac.webkit.org/changeset/95725.
1905
1906         * platform/ScrollView.cpp:
1907         (WebCore::ScrollView::setFrameRect):
1908
1909 2011-09-22  Jon Lee  <jonlee@apple.com>
1910
1911         Progress control gets cropped on the bottom
1912         https://bugs.webkit.org/show_bug.cgi?id=68302
1913         <rdar://problem/10069915>
1914
1915         Reviewed by Kent Tamura.
1916
1917         As it turns out the smaller control type does not get rendered either, so this patch
1918         fixes both.
1919
1920         * manual-tests/dom/progressbar.html: Altered to show both sizes of controls
1921         * rendering/RenderThemeMac.h:
1922         * rendering/RenderThemeMac.mm: Added methods to inflate the drawing rect
1923         (WebCore::RenderThemeMac::progressBarSizes):
1924         (WebCore::RenderThemeMac::progressBarMargins):
1925         (WebCore::RenderThemeMac::minimumProgressBarHeight):
1926         (WebCore::RenderThemeMac::paintProgressBar): Inflate the rect based on minimum desired
1927         control height and glow margin.
1928
1929 2011-09-22  David Hyatt  <hyatt@apple.com>
1930
1931         https://bugs.webkit.org/show_bug.cgi?id=68658
1932
1933         Make matchedEndLine smart enough to not match lines that have moved to new
1934         regions with different available content logical widths. When this happens, we go ahead and treat
1935         the line as failing to match.
1936
1937         Reviewed by Anders Carlsson.
1938
1939         Added new tests in fast/regions.
1940
1941         * rendering/RenderBlock.cpp:
1942         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
1943         * rendering/RenderBlock.h:
1944         Enhanced to take an optional delta, so that you can check a new position without having to move
1945         the line box.
1946
1947         * rendering/RenderBlockLineLayout.cpp:
1948         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1949         New function that refactors checking for line width changes from region movement as well as the
1950         float checks. Since the float checks were duplicated twice, this is a nice refactoring.
1951
1952         (WebCore::RenderBlock::matchedEndLine):
1953         Changed to call the new helper function that will check both floats and pagination.
1954
1955 2011-09-22  Gavin Barraclough  <barraclough@apple.com>
1956
1957         Implement Function.prototype.bind
1958         https://bugs.webkit.org/show_bug.cgi?id=26382
1959
1960         Reviewed by Sam Weinig.
1961
1962         Test: fast/js/function-bind.html
1963
1964         * bindings/js/JSDOMBinding.cpp:
1965         (WebCore::objectToStringFunctionGetter):
1966         * bindings/js/JSDOMWindowCustom.cpp:
1967         (WebCore::nonCachingStaticFunctionGetter):
1968         * bindings/js/JSHistoryCustom.cpp:
1969         (WebCore::nonCachingStaticBackFunctionGetter):
1970         (WebCore::nonCachingStaticForwardFunctionGetter):
1971         (WebCore::nonCachingStaticGoFunctionGetter):
1972         * bindings/js/JSLocationCustom.cpp:
1973         (WebCore::nonCachingStaticReplaceFunctionGetter):
1974         (WebCore::nonCachingStaticReloadFunctionGetter):
1975         (WebCore::nonCachingStaticAssignFunctionGetter):
1976             - Function::create no longer requires functionStructure() to be passed.
1977 2011-09-22  David Hyatt  <hyatt@apple.com>
1978
1979         https://bugs.webkit.org/show_bug.cgi?id=68650
1980         
1981         Make determineStartPosition smart enough to not skip over clean lines that have moved to a new
1982         region with a different available content logical width. When this happens, we go ahead and treat
1983         the line as dirty.
1984
1985         Reviewed by Sam Weinig.
1986
1987         Covered by existing fast/regions tests.
1988
1989         * rendering/RenderBlock.cpp:
1990         (WebCore::RenderBlock::layoutBlock):
1991         Disable region fitting if we detect that the regions all have uniform widths. In this case we know
1992         the content width can't vary, so there's no reason to waste time worrying about it.
1993
1994         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1995         Pull the content width checking code into computeLogicalLocationForFloat, since we've incorporated
1996         region fitting into the fixed offsets now rather than the line functions.
1997
1998         (WebCore::RenderBlock::positionNewFloats):
1999         Changed because more code moved from here into computeLogicalLocationForFloat.
2000         
2001         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
2002         No changes. Just moved the function above the left offset function.
2003
2004         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2005         (WebCore::RenderBlock::logicalRightOffsetForContent):
2006         Added. These new functions give the fixed left and right offsets for lines in a particular region.
2007         When no regions are present or when all the regions have a uniform width, they are identical
2008         to the versions of the functions that take no arguments.
2009
2010         (WebCore::RenderBlock::logicalRightOffsetForLine):
2011         Changed to no longer do region fitting, since that's built into logicalRightOffsetForContent now.
2012
2013         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2014         New function that takes a root line box and compares its cached old content width with the width
2015         available at the line's new location.
2016     
2017         * rendering/RenderBlock.h:
2018         (WebCore::RenderBlock::logicalRightOffsetForLine):
2019         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2020         Modified to call the logicalXXXOffsetForContent functions that take a block direction position.
2021
2022         (WebCore::RenderBlock::logicalRightOffsetForContent):
2023         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2024         Added the new functions that take a position so that they can fit to the correct region.
2025
2026         (WebCore::RenderBlock::availableLogicalWidthForContent):
2027         New helper function that calls right - left (similar to the corresponding line function that includes
2028         floats).
2029
2030         * rendering/RenderBlockLineLayout.cpp:
2031         (WebCore::RenderBlock::determineStartPosition):
2032         Patched to check if a line has moved to a place with a different available content width. If so, the line
2033         is dirtied so that line layout can re-run.
2034
2035         * rendering/RootInlineBox.cpp:
2036         (WebCore::RootInlineBox::RootInlineBox):
2037         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2038         Sets the paginated line width from the current block logical height.
2039
2040         * rendering/RootInlineBox.h:
2041         (WebCore::RootInlineBox::paginationStrut):
2042         (WebCore::RootInlineBox::setPaginationStrut):
2043         Fixed paginationStrut to be LayoutUnit instead of int.
2044
2045         (WebCore::RootInlineBox::paginatedLineWidth):
2046         (WebCore::RootInlineBox::setPaginatedLineWidth):
2047         Added paginatedLineWidth getter/setter for caching the content width for a given root line.
2048
2049 2011-09-21  Anders Carlsson  <andersca@apple.com>
2050
2051         Remove Widget::beforeMouseDown and Widget::afterMouseDown
2052         https://bugs.webkit.org/show_bug.cgi?id=68570
2053
2054         Reviewed by Darin Adler.
2055
2056         These two member functions were originally added to avoid crashes due to removing NSViews while they were
2057         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
2058         AppKit that lead to crashes have been fixed.
2059
2060         This patch was rolled out in r95743 because it broke a bunch of tests. The patch accidentally removed setting back
2061         m_sendingEventToSubview to false.
2062
2063         * page/mac/EventHandlerMac.mm:
2064         (WebCore::EventHandler::passMouseDownEventToWidget):
2065         * platform/Widget.h:
2066         * platform/mac/WidgetMac.mm:
2067         (WebCore::Widget::Widget):
2068         (WebCore::Widget::removeFromSuperview):
2069
2070         * rendering/RenderWidget.cpp:
2071         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
2072
2073 2011-09-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2074
2075         Unreviewed, rolling out r95335 and r95645.
2076         http://trac.webkit.org/changeset/95335
2077         http://trac.webkit.org/changeset/95645
2078         https://bugs.webkit.org/show_bug.cgi?id=68649
2079
2080         Wrong fix (Requested by rniwa on #webkit).
2081
2082         * editing/DeleteSelectionCommand.cpp:
2083         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2084         * editing/EditingStyle.cpp:
2085         (WebCore::EditingStyle::removeStyleAddedByNode):
2086         * editing/EditingStyle.h:
2087         * editing/ReplaceSelectionCommand.cpp:
2088         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2089         * editing/markup.cpp:
2090         (WebCore::StyledMarkupAccumulator::serializeNodes):
2091         (WebCore::ancestorToRetainStructureAndAppearance):
2092         * editing/markup.h:
2093
2094 2011-09-22  Ryosuke Niwa  <rniwa@webkit.org>
2095
2096         Revert r95673 since it caused hundreds of tests to fail on Leopard / Snow Leopard.
2097
2098         * page/mac/EventHandlerMac.mm:
2099         (WebCore::EventHandler::passMouseDownEventToWidget):
2100         * platform/Widget.h:
2101         * platform/mac/WidgetMac.mm:
2102         (WebCore::Widget::Widget):
2103         (WebCore::Widget::removeFromSuperview):
2104         (WebCore::Widget::beforeMouseDown):
2105         (WebCore::Widget::afterMouseDown):
2106         * rendering/RenderWidget.cpp:
2107
2108 2011-09-22  David Hyatt  <hyatt@apple.com>
2109
2110         https://bugs.webkit.org/show_bug.cgi?id=68638
2111         
2112         Make RenderFlowThread cache whether or not it has regions of varying widths. This will
2113         be relevant for performance as we begin adding code to do custom block painting and
2114         layout based off regions not having the same width.
2115
2116         Reviewed by Dan Bernstein and Adam Roben.
2117
2118         * rendering/RenderFlowThread.cpp:
2119         (WebCore::RenderFlowThread::RenderFlowThread):
2120         (WebCore::RenderFlowThread::layout):
2121         * rendering/RenderFlowThread.h:
2122
2123 2011-09-22  Anders Carlsson  <andersca@apple.com>
2124
2125         FrameView::invalidateRect and FrameView::setFrameRect shouldn't take LayoutRects
2126         https://bugs.webkit.org/show_bug.cgi?id=68639
2127
2128         Reviewed by David Hyatt.
2129
2130         FrameView::invalidateRect and FrameView::setFrameRect override Widget and ScrollView
2131         member functions that take IntRects, and Widget coordinates are currently defined in terms of
2132         IntRects (and probably always should since we want them to be pixel-aligned).
2133
2134         * page/FrameView.cpp:
2135         (WebCore::FrameView::invalidateRect):
2136         (WebCore::FrameView::setFrameRect):
2137         * page/FrameView.h:
2138
2139 2011-09-22  Tim Horton  <timothy_horton@apple.com>
2140
2141         Unreviewed build fix (fixes warning about too many parens).
2142
2143         * rendering/RenderBox.cpp:
2144         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2145
2146 2011-09-22  Anders Carlsson  <andersca@apple.com>
2147
2148         Widget::frameRect shouldn't be virtual
2149         https://bugs.webkit.org/show_bug.cgi?id=68637
2150
2151         Reviewed by Sam Weinig.
2152
2153         Nobody overrides Widget::frameRect and nobody should.
2154
2155         * platform/Widget.h:
2156
2157 2011-09-22  Sergey Glazunov  <serg.glazunov@gmail.com>
2158
2159         Ref protect shaders in V8WebGLRenderingContext::getAttachedShadersCallback
2160         https://bugs.webkit.org/show_bug.cgi?id=68630
2161
2162         Reviewed by Adam Barth.
2163
2164         Test: fast/canvas/webgl/shader-deleted-by-accessor.html
2165
2166         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2167         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
2168         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2169         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2170         * html/canvas/WebGLRenderingContext.cpp:
2171         (WebCore::WebGLRenderingContext::getAttachedShaders):
2172         * html/canvas/WebGLRenderingContext.h:
2173
2174 2011-09-05  Robert Hogan  <robert@webkit.org>
2175
2176         CSS 2.1 failure: abspos-non-replaced-width-margin-000, abspos-replaced-width-margin-000
2177         https://bugs.webkit.org/show_bug.cgi?id=47148
2178
2179         Reviewed by David Hyatt.
2180
2181         * rendering/RenderBlock.h:
2182         * rendering/RenderBlockLineLayout.cpp:
2183         (WebCore::RenderBlock::startOffsetForLine): Return offset from right, rather than offset from left + logicalwidth
2184         * rendering/RenderBlockLineLayout.cpp:
2185         (WebCore::RenderBlock::startAlignedOffsetForLine): 
2186               Return the correct alignment for RTL blocks too. Looks like neither FF or Opera do this correctly.
2187               Covered by new test left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html
2188         * rendering/RenderBox.cpp:
2189         (WebCore::computeInlineStaticDistance):
2190             - The CSS 2.1 tests now require UAs to use the parent block's direction (rather than the
2191               containing block's direction) when computing static distance. The container block's direction
2192               is still used in the other width and offset related calculations.
2193             - In the context of this function, the logicalRight value is just an element that will be used later to calculate 
2194               the correct logicalLeft position for the RTL block. So whereas an LTR block can substract containerBlock->borderLogicalLeft() 
2195               in this function directly, an RTL block has to add it here so that will be later subtracted from availableSpace to get 
2196               logicalLeft in computePositionedLogicalWidthUsing().
2197
2198         (WebCore::RenderBox::computePositionedLogicalWidth):
2199            - Update comments and use the container block's direction except when calculating the static distance.
2200            - Remove the notion of a quirks mode in this function and for calculating the position of replaced and non-replaced
2201              blocks generally. This is in line with both FF4 and Opera - neither of which have a quirks mode for them.
2202         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2203            - Update comments and use the container block's direction except when calculating the static distance.
2204         (WebCore::RenderBox::computePositionedLogicalHeight):
2205            - Update comments.
2206         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2207            - Update comments and use the container block's direction except when calculating the static distance.
2208            - If the containing block is RTL, always assume that values are over-constrained.
2209         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
2210            - Update comments.
2211
2212 2011-09-22  Anders Carlsson  <andersca@apple.com>
2213
2214         Get rid of Widget::setBoundsSize
2215         https://bugs.webkit.org/show_bug.cgi?id=68491
2216
2217         Reviewed by Sam Weinig.
2218
2219         This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897
2220         which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1
2221         anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this
2222         will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff.
2223
2224         * WebCore.exp.in:
2225         * loader/FrameLoader.cpp:
2226         (WebCore::FrameLoader::open):
2227         * page/FrameView.cpp:
2228         (WebCore::FrameView::create):
2229         * platform/ScrollView.cpp:
2230         (WebCore::ScrollView::visibleContentRect):
2231         (WebCore::ScrollView::updateScrollbars):
2232         (WebCore::ScrollView::wheelEvent):
2233         * platform/ScrollView.h:
2234         * platform/Widget.cpp:
2235         * platform/Widget.h:
2236         (WebCore::Widget::resize):
2237         * platform/chromium/PopupContainer.cpp:
2238         (WebCore::PopupContainer::refresh):
2239         * platform/gtk/ScrollViewGtk.cpp:
2240         (WebCore::ScrollView::visibleContentRect):
2241         * platform/mac/WidgetMac.mm:
2242         (WebCore::Widget::paint):
2243         * rendering/RenderWidget.cpp:
2244         (WebCore::RenderWidget::setWidgetGeometry):
2245         (WebCore::RenderWidget::setWidget):
2246         (WebCore::RenderWidget::updateWidgetPosition):
2247         * rendering/RenderWidget.h:
2248
2249 2011-09-21  David Hyatt  <hyatt@apple.com>
2250
2251         https://bugs.webkit.org/show_bug.cgi?id=68590
2252         
2253         Floats pushed to next page, column or region don't reposition properly if the amount of
2254         available logical width at the new position changes. Refactor the code so that we can
2255         run the float placement algorithm again when this happens.
2256
2257         Covered by an existing regions test that exposes the issue.
2258
2259         Reviewed by Adam Roben.
2260
2261         * rendering/RenderBlock.cpp:
2262         (WebCore::RenderBlock::computeLogicalLocationForFloat):
2263         (WebCore::RenderBlock::positionNewFloats):
2264         * rendering/RenderBlock.h:
2265
2266 2011-09-22  Leandro Gracia Gil  <leandrogracia@chromium.org>
2267
2268         Fire TextInput events on speech input, but not set/add any inputMethod attribute.
2269         https://bugs.webkit.org/show_bug.cgi?id=60451
2270
2271         Reviewed by Ryosuke Niwa.
2272
2273         Introduce code to dispatch TextInput events when text is introduced via
2274         the speech input feature. Handle also the cases where speech input is
2275         started programmatically from the LayoutTestController.
2276
2277         Test: fast/speech/input-ontextinput-event.html
2278
2279         * dom/TextEventInputType.h:
2280         * html/shadow/TextControlInnerElements.cpp:
2281         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
2282
2283 2011-09-20  Jason Liu  <jason.liu@torchmobile.com.cn>
2284
2285         Reviewed by Simon Fraser.
2286
2287         CSS outline property on a narrow element has rabbit ear artifacts
2288         https://bugs.webkit.org/show_bug.cgi?id=36793
2289
2290         Patch by Jason Liu  <jason.liu@torchmobile.com.cn>
2291         Patch updated by Robert Hogan <robert@webkit.org>
2292
2293         Test: fast/css/outline-narrowLine.html
2294
2295         * rendering/RenderInline.cpp:
2296         (WebCore::RenderInline::paintOutlineForLine):
2297
2298 2011-09-22  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
2299
2300         [GTK]Popup drop-down menu contains extra empty spaces at beginning and 
2301         occupies whole screen when items in popup reaches the height of display device.
2302         https://bugs.webkit.org/show_bug.cgi?id=68533
2303
2304         When implementing the GTK+ menu position function, set pushIn to false, which tell
2305         GTK+ not create a menu that is as big as the entire screen.
2306
2307         Reviewed by Martin Robinson.
2308
2309         * platform/gtk/GtkPopupMenu.cpp:
2310         (WebCore::GtkPopupMenu::menuPositionFunction): Set pushIn to false in the menu position function.
2311
2312 2011-09-22  Alpha Lam  <hclam@chromium.org>
2313
2314         Define export symbol correctly due to rename of pageScaleFactor to
2315         frameScaleFactor.
2316
2317         Not reviewed. Build fix.
2318
2319         * WebCore.exp.in:
2320
2321 2011-09-22  Vsevolod Vlasov  <vsevik@chromium.org>
2322
2323         Web Inspector: Console is always scrolled to the top
2324         https://bugs.webkit.org/show_bug.cgi?id=67483
2325
2326         Reviewed by Pavel Feldman.
2327
2328         * inspector/front-end/ConsoleView.js:
2329         (WebInspector.ConsoleView.prototype.wasShown):
2330         (WebInspector.ConsoleView.prototype.storeScrollPositions):
2331         (WebInspector.ConsoleView.prototype.restoreScrollPositions):
2332         (WebInspector.ConsoleView.prototype.onResize):
2333         (WebInspector.ConsoleView.prototype._immediatelyScrollIntoView):
2334         (WebInspector.ConsoleView.prototype._cancelScheduledScrollIntoView):
2335         (WebInspector.ConsoleView.prototype._consoleCleared):
2336         * inspector/front-end/Drawer.js:
2337         (WebInspector.Drawer.prototype.hide):
2338         (WebInspector.Drawer.prototype.resize):
2339         (WebInspector.Drawer.prototype._startStatusBarDragging):
2340         (WebInspector.Drawer.prototype._statusBarDragging):
2341         * inspector/front-end/inspector.js:
2342         (WebInspector.animateStyle):
2343         (WebInspector.animateStyle.forceComplete):
2344
2345 2011-09-22  Alpha Lam  <hclam@chromium.org>
2346
2347         https://bugs.webkit.org/show_bug.cgi?id=68081
2348         Fix scroll in page scaling mode.
2349
2350         Reviewed by Simon Fraser.
2351
2352         The following things are done in this patch:
2353         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
2354            reflect its purpose.
2355         2. Frame::frameScaleFactor() returns the scale factor of this frame with
2356            respect to the container. So for the main frame it'll return the scale
2357            factor of the page, inner frames will return 1.0
2358         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
2359            scale factor, causing incorrect coordinates reported to Javascript.
2360
2361         Tests: fast/events/scale-and-scroll-body.html
2362                fast/events/scale-and-scroll-iframe-body.html
2363                fast/events/scale-and-scroll-iframe-window.html
2364                fast/events/scale-and-scroll-window.html
2365
2366         * html/HTMLBodyElement.cpp:
2367         (WebCore::adjustForZoom):
2368         (WebCore::HTMLBodyElement::setScrollLeft):
2369         (WebCore::HTMLBodyElement::setScrollTop):
2370         * loader/HistoryController.cpp:
2371         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
2372         * page/DOMWindow.cpp:
2373         (WebCore::DOMWindow::scrollX):
2374         (WebCore::DOMWindow::scrollY):
2375         (WebCore::DOMWindow::scrollTo):
2376         * page/Frame.cpp:
2377         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
2378                                             main frame, otherwise 1.0
2379         * page/Frame.h:
2380         * page/FrameView.cpp:
2381         (WebCore::FrameView::applyOverflowToViewport):
2382         (WebCore::FrameView::scrollXForFixedPosition):
2383         (WebCore::FrameView::scrollYForFixedPosition):
2384
2385 2011-09-22  Andreas Kling  <kling@webkit.org>
2386
2387         CSS: Implement 'font' property in CSSComputedStyle.
2388         https://bugs.webkit.org/show_bug.cgi?id=66666
2389
2390         Reviewed by Antti Koivisto.
2391
2392         Test: fast/css/getComputedStyle/computed-style-font.html
2393
2394         * css/CSSComputedStyleDeclaration.cpp:
2395         (WebCore::fontFamilyFromStyle): Factored out of getPropertyCSSValue().
2396         This function will always return a CSSValueList, as opposed to the previous
2397         implementation which would return a CSSPrimitiveValue if there was only one family.
2398         getCSSPropertyValue() will return the first element of the list for 1-element lists
2399         to preserve the current behavior of getPropertyCSSValue('font-family').
2400
2401         (WebCore::lineHeightFromStyle): Factored out of getPropertyCSSValue().
2402         (WebCore::fontSizeFromStyle): Ditto.
2403         (WebCore::fontStyleFromStyle): Ditto.
2404         (WebCore::fontVariantFromStyle): Ditto.
2405         (WebCore::fontWeightFromStyle): Ditto.
2406
2407         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
2408         implementation of the computed 'font' property (CSSPropertyFont.)
2409
2410 2011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2411
2412         [Qt] Redirection overflow errors have wrong error domain
2413         https://bugs.webkit.org/show_bug.cgi?id=68612
2414
2415         Reviewed by Andreas Kling.
2416
2417         Redirection overflow currently puts the URL hostname in the errorDomain field.
2418         Now redirection overflow errors will be classified as "HTTP" errors.
2419
2420         * platform/network/qt/QNetworkReplyHandler.cpp:
2421         (WebCore::QNetworkReplyHandler::redirect):
2422
2423 2011-09-22  James Robinson  <jamesr@chromium.org>
2424
2425         Unreviewed, rolling out r95699.
2426         http://trac.webkit.org/changeset/95699
2427         https://bugs.webkit.org/show_bug.cgi?id=67417
2428
2429         Makes many chromium compositor tests crash
2430
2431         * platform/CrossThreadCopier.h:
2432         * platform/graphics/chromium/LayerRendererChromium.cpp:
2433         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2434         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2435         (WebCore::CCHeadsUpDisplay::enabled):
2436         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2437         (WebCore::CCLayerImpl::CCLayerImpl):
2438         (WebCore::CCLayerImpl::~CCLayerImpl):
2439         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2440         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2441         (WebCore::CCLayerTreeHost::commitTo):
2442         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2443         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2444         (WebCore::CCSettings::CCSettings):
2445         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2446         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2447         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2448         * platform/graphics/chromium/cc/CCProxy.h:
2449         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2450         (WebCore::CCSingleThreadProxy::finishAllRendering):
2451         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2452         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2453         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2454         (WebCore::CCThreadProxy::CCThreadProxy):
2455         (WebCore::CCThreadProxy::~CCThreadProxy):
2456         (WebCore::CCThreadProxy::compositeAndReadback):
2457         (WebCore::CCThreadProxy::finishAllRendering):
2458         (WebCore::CCThreadProxy::isStarted):
2459         (WebCore::CCThreadProxy::initializeLayerRenderer):
2460         (WebCore::CCThreadProxy::setNeedsCommit):
2461         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2462         (WebCore::CCThreadProxy::setNeedsRedraw):
2463         (WebCore::CCThreadProxy::start):
2464         (WebCore::CCThreadProxy::stop):
2465         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2466         (WebCore::CCThreadProxy::beginFrameAndCommit):
2467         (WebCore::CCThreadProxy::commitOnCCThread):
2468         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2469         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
2470         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2471         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2472         * platform/graphics/chromium/cc/CCThreadProxy.h:
2473
2474 2011-09-22  Nat Duca  <nduca@chromium.org>
2475
2476         [chromium] Make CCThreadProxy draw
2477         https://bugs.webkit.org/show_bug.cgi?id=67417
2478
2479         Update the CCThreadProxy to correctly implement the CCProxy
2480         interface, do all the right committing and updating steps, and
2481         draw a picture on the screen.
2482
2483         Reviewed by James Robinson.
2484
2485         * platform/graphics/IntRect.h:
2486         * platform/graphics/chromium/LayerRendererChromium.cpp:
2487         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2488         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2489         (WebCore::CCHeadsUpDisplay::enabled):
2490         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2491         (WebCore::CCLayerImpl::CCLayerImpl):
2492         (WebCore::CCLayerImpl::~CCLayerImpl):
2493         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2494         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2495         (WebCore::CCLayerTreeHost::commitTo):
2496         (WebCore::CCLayerTreeHost::commitComplete):
2497         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2498         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2499         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2500         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2501         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2502         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2503         (WebCore::CCSingleThreadProxy::finishAllRendering):
2504         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2505         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2506         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2507         (WebCore::CCThreadProxy::CCThreadProxy):
2508         (WebCore::CCThreadProxy::~CCThreadProxy):
2509         (WebCore::CCThreadProxy::compositeAndReadback):
2510         (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
2511         (WebCore::CCThreadProxy::finishAllRendering):
2512         (WebCore::CCThreadProxy::isStarted):
2513         (WebCore::CCThreadProxy::setNeedsCommit):
2514         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2515         (WebCore::CCThreadProxy::setNeedsRedraw):
2516         (WebCore::CCThreadProxy::start):
2517         (WebCore::CCThreadProxy::stop):
2518         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
2519         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
2520         (WebCore::CCThreadProxy::beginFrameAndCommit):
2521         (WebCore::CCThreadProxy::commitOnCCThread):
2522         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
2523         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
2524         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2525         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
2526         * platform/graphics/chromium/cc/CCThreadProxy.h:
2527
2528 2011-09-21  Beth Dakin  <bdakin@apple.com>
2529
2530         https://bugs.webkit.org/show_bug.cgi?id=67415
2531         Text drawn via -webkit-background-clip:text is blurry at device scale factors >1.0
2532         -and corresponding-
2533         <rdar://problem/10060379>
2534
2535         Reviewed by Darin Adler.
2536
2537         New helper function RenderBoxModelObject scales the mask image by the 
2538         deviceScaleFactor to get an image of the appropriate resolution. It also scales 
2539         the image's GraphicsContext so that the clip is set up on the same scale. Back in 
2540         paintFillLayerExtended() we still clip the image to the original maskRect to get 
2541         everything scaled back to the appropriate size.
2542         * rendering/RenderBoxModelObject.cpp:
2543         (WebCore::createDeviceScaledImageBuffer):
2544         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2545
2546         Make the deviceScaleFactor convenience function just a namespace-level function in 
2547         Page rather than a static member or Page.
2548         * page/Page.cpp:
2549         (WebCore::deviceScaleFactor):
2550         * page/Page.h:
2551         
2552         Pre-existing callers of Page::deviceScaleFactor(Frame*) must now use 
2553         WebCore::deviceScaleFactor(Frame*)
2554         * editing/DeleteButtonController.cpp:
2555         (WebCore::DeleteButtonController::createDeletionUI):
2556         * rendering/RenderImage.cpp:
2557         (WebCore::RenderImage::imageSizeForError):
2558         (WebCore::RenderImage::paintReplaced):
2559         * rendering/RenderLayer.cpp:
2560         (WebCore::RenderLayer::drawPlatformResizerImage):
2561
2562 2011-09-21  Tim Horton  <timothy_horton@apple.com>
2563
2564         [CG] ImageBufferData::getData has an invariant comparison in the inner part of a loop which doesn't get optimized out
2565         https://bugs.webkit.org/show_bug.cgi?id=68588
2566         <rdar://problem/10164955>
2567
2568         Reviewed by Simon Fraser.
2569
2570         Factor the unmultiplied check out of the inner loop, resulting in a
2571         speed bump in ImageBufferData::getData.
2572
2573         No new tests, performance improvement.
2574
2575         * platform/graphics/cg/ImageBufferDataCG.cpp:
2576         (WebCore::ImageBufferData::getData):
2577
2578 2011-09-21  Sameer Patil  <mkrp87@motorola.com>
2579
2580         :hover selector fails when hovering over a child select element with size attribute
2581         https://bugs.webkit.org/show_bug.cgi?id=67594
2582
2583         Reviewed by Darin Adler.
2584
2585         Test: fast/css/hover-affects-ancestor.html
2586
2587         This patch addresses the problem of deactivation of the ancestor element :hover rules
2588         when hovered its contained elements.
2589
2590         * rendering/RenderLayer.cpp:
2591         (WebCore::RenderLayer::updateHoverActiveState):
2592
2593 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
2594
2595         [Chromium] Protect message ports from being deleted in V8MessageEvent::portsAccessorGetter
2596         https://bugs.webkit.org/show_bug.cgi?id=68584
2597
2598         Reviewed by Adam Barth.
2599
2600         Test: fast/dom/message-port-deleted-by-accessor.html
2601
2602         * bindings/v8/custom/V8MessageEventCustom.cpp:
2603         (WebCore::V8MessageEvent::portsAccessorGetter):
2604
2605 2011-09-21  Anders Carlsson  <andersca@apple.com>
2606
2607         Add back protection against the NSView going away while handling mouseDown
2608         https://bugs.webkit.org/show_bug.cgi?id=68585
2609
2610         Reviewed by Darin Adler.
2611
2612         Add calls to RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(),
2613         as a followup fix to https://bugs.webkit.org/show_bug.cgi?id=68570.
2614
2615         * page/mac/EventHandlerMac.mm:
2616         (WebCore::EventHandler::passMouseDownEventToWidget):
2617
2618 2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
2619
2620         Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
2621         https://bugs.webkit.org/show_bug.cgi?id=68133
2622
2623         Reviewed by Darin Adler.
2624
2625         Tests: fast/css/webkit-mask-crash-fieldset-legend.html
2626                fast/css/webkit-mask-crash-figure.html
2627                fast/css/webkit-mask-crash-table.html
2628                fast/css/webkit-mask-crash-td-2.html
2629                fast/css/webkit-mask-crash-td.html
2630
2631         GraphicsContext::getCTM crashes if called with a GraphicsContext that has painting
2632         disabled. RenderBox::paintMaskImages would thus crash if called in this condition.
2633
2634         This change just modifies the different GraphicsContext::getCTM method to bail early
2635         if painting is disabled on the GraphicsContext. The rest of the change is exposing
2636         paintControlTints that exposes this.
2637
2638         * WebCore.exp.in: Added symbols of the newly export window.internals function.
2639
2640         * page/FrameView.cpp:
2641         (WebCore::FrameView::updateControlTints): Split this function in 2 so that
2642         I can expose the internal paintControlTints.
2643
2644         (WebCore::FrameView::paintControlTints):
2645         This is the one exposed to Internals as we want to be testable regardless of
2646         whether the platform supports control tints.
2647
2648         * page/FrameView.h: Added paintControlTints.
2649
2650         * testing/Internals.cpp:
2651         (WebCore::Internals::paintControlTints):
2652         * testing/Internals.h:
2653         * testing/Internals.idl:
2654         Added a way to force a fake painting so that we can easily reproduce the bugs.
2655
2656         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2657         (WebCore::GraphicsContext::getCTM):
2658         * platform/graphics/cg/GraphicsContextCG.cpp:
2659         (WebCore::GraphicsContext::getCTM):
2660         * platform/graphics/qt/GraphicsContextQt.cpp:
2661         (WebCore::GraphicsContext::getCTM):
2662         * platform/graphics/skia/GraphicsContextSkia.cpp:
2663         (WebCore::GraphicsContext::getCTM):
2664         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2665         (WebCore::GraphicsContext::getCTM):
2666         * platform/graphics/wx/GraphicsContextWx.cpp:
2667         (WebCore::GraphicsContext::getCTM):
2668         Fixed all our back-end to exit early if painting is disabled.
2669
2670 2011-09-19  Jer Noble  <jer.noble@apple.com>
2671
2672         Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
2673         https://bugs.webkit.org/show_bug.cgi?id=68382
2674
2675         Reviewed by Darin Adler.
2676
2677         Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
2678
2679         No new tests, as this feature is not yet enabled by default.
2680
2681         * bindings/js/JSDOMWindowCustom.cpp:
2682         (WebCore::JSDOMWindow::webkitAudioContext):
2683
2684 2011-09-21  Anders Carlsson  <andersca@apple.com>
2685
2686         Remove checks for Leopard-only Objective-C APIs
2687         https://bugs.webkit.org/show_bug.cgi?id=68579
2688
2689         Reviewed by Sam Weinig.
2690
2691         We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
2692
2693         * bridge/objc/objc_class.mm:
2694         (JSC::Bindings::ObjcClass::methodsNamed):
2695         (JSC::Bindings::ObjcClass::fieldNamed):
2696         * bridge/objc/objc_instance.mm:
2697         (allocateAutoReleasePool):
2698         * bridge/objc/objc_runtime.mm:
2699         (JSC::Bindings::ObjcField::ObjcField):
2700         * page/mac/EventHandlerMac.mm:
2701
2702 2011-09-21  Anders Carlsson  <andersca@apple.com>
2703
2704         Remove Widget::beforeMouseDown and Widget::afterMouseDown
2705         https://bugs.webkit.org/show_bug.cgi?id=68570
2706
2707         Reviewed by Sam Weinig.
2708
2709         These two member functions were originally added to avoid crashes due to removing NSViews while they were
2710         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
2711         AppKit that lead to crashes have been fixed.
2712
2713         * page/mac/EventHandlerMac.mm:
2714         (WebCore::EventHandler::passMouseDownEventToWidget):
2715         * platform/Widget.h:
2716         * platform/mac/WidgetMac.mm:
2717         (WebCore::Widget::Widget):
2718         (WebCore::Widget::removeFromSuperview):
2719
2720         * rendering/RenderWidget.cpp:
2721         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
2722
2723 2011-09-21  Abhishek Arya  <inferno@chromium.org>
2724
2725         Not use anonymousContainer on beforeChild calculation
2726         and let later code handle it. Fix style update on block-level
2727         anonymous objects.
2728         https://bugs.webkit.org/show_bug.cgi?id=67656
2729
2730         Reviewed by David Hyatt.
2731
2732         Test: fast/table/quote-text-around-iframe.html
2733
2734         * rendering/RenderTable.cpp:
2735         (WebCore::RenderTable::addChild):
2736         * rendering/RenderTableCell.cpp:
2737         (WebCore::RenderTableCell::styleDidChange):
2738         * rendering/RenderTableRow.cpp:
2739         (WebCore::RenderTableRow::addChild):
2740         * rendering/RenderObject.cpp:
2741         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
2742
2743 2011-09-21  David Hyatt  <hyatt@apple.com>
2744
2745         https://bugs.webkit.org/show_bug.cgi?id=68562
2746         
2747         Pagination struts don't update properly when collapsing margin estimates are wrong.
2748         
2749         Refactor the pagination adjustments that happen during block layout to allow for
2750         a 3-pass layout system instead of just a 2-pass layout system. The basic idea is
2751         to come up with an estimate that includes collapsing, clearance and pagination.
2752         
2753         If the estimate only with collapsing and clearance was wrong, then we lay out again
2754         using the correct collapsing margin values and clearance before applying pagination breaks.
2755         
2756         After this second layout, the normal code that runs when unpaginated compares estimates
2757         and lays out a third time to account for adjustments as a result of pagination movement.
2758
2759         Reviewed by Sam Weinig.
2760
2761         Added fast/regions/text-regions-split-small-pagination.html
2762
2763         * rendering/RenderBlock.cpp:
2764         (WebCore::RenderBlock::estimateLogicalTopPosition):
2765         (WebCore::RenderBlock::layoutBlockChild):
2766         (WebCore::RenderBlock::adjustBlockChildForPagination):
2767         * rendering/RenderBlock.h:
2768
2769 2011-09-21  James Robinson  <jamesr@chromium.org>
2770
2771         [chromium] SharedGraphicsContext3D's context should not be destroyed during atexit
2772         https://bugs.webkit.org/show_bug.cgi?id=68558
2773
2774         Reviewed by Stephen White.
2775
2776         The SharedGraphicsContext3D's internal context is lazily created and then leaked intentionally, but since the
2777         last ref is in a function-static RefPtr<> it ends up being destroyed at process exit time.  This is bad, since
2778         by the time we get this far in process shutdown we can't actually cleanly run the destruction logic and we
2779         crash.  Since we are explicitly leaking this for the lifetime of the process there's no point in keeping it in a
2780         RefPtr<>
2781
2782         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2783         (WebCore::SharedGraphicsContext3D::get):
2784
2785 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
2786
2787         [Chromium] Protect the Frame in V8HTMLDocument::openCallback
2788         https://bugs.webkit.org/show_bug.cgi?id=68555
2789
2790         Reviewed by Nate Chapin.
2791
2792         Test: fast/dom/frame-deleted-in-document-open.html
2793
2794         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2795         (WebCore::V8HTMLDocument::openCallback):
2796
2797 2011-09-21  Adam Klein  <adamk@chromium.org>
2798
2799         Clean up CSS Counter code
2800         https://bugs.webkit.org/show_bug.cgi?id=68492
2801
2802         Reviewed by Tony Chang.
2803
2804         Several cleanups/fixes:
2805         - Make Counter::listStyle() return the actual list style string,
2806           rather than empty string.
2807         - Handle a specified list style of "none" correctly when generating
2808           cssText and in Counter::listStyle().
2809         - Use StringBuilder when generating cssText.
2810
2811         Test: fast/css/counters/getCounterValue.html
2812
2813         * css/CSSParser.cpp:
2814         (WebCore::CSSParser::parseCounterContent):
2815         Simplify processing (moving conversion to CSSStyleSelector),
2816         pass a CSS_IDENT as the listStyle to Counter::create.
2817         * css/CSSPrimitiveValue.cpp:
2818         (WebCore::CSSPrimitiveValue::cssText):
2819         Use StringBuilder.
2820         * css/CSSStyleSelector.cpp:
2821         (WebCore::CSSStyleSelector::applyProperty):
2822         Convert from a CSS_IDENT to an EListStyleType.
2823         * css/Counter.h:
2824         (WebCore::Counter::listStyleIdent):
2825         Renamed from listStyleNumber to match its new functionality.
2826
2827 2011-09-21  Chris Marrin  <cmarrin@apple.com>
2828
2829         Check in WebCore.vcproj file unchanged but written like MSDev likes it
2830
2831         Unreviewed.
2832
2833         * WebCode.vcproj/WebCore.vcproj:
2834
2835 2011-09-21  Stephen White  <senorblanco@chromium.org>
2836
2837         [chromium] Optimize ImageBuffer constructor when accelerated
2838         https://bugs.webkit.org/show_bug.cgi?id=68501
2839
2840         If the accelerated rendering mode is passed in to ImageBuffer, instead
2841         of creating a bitmap PlatformCanvas and subsequently replacing its
2842         device with an SkGpuDevice, create an SkCanvas and SkGpuDevice first,
2843         and fall back to raster creation only failure.  This saves on system
2844         RAM for the backing store (and possibly GDI resources).
2845
2846         Reviewed by James Robinson.
2847
2848         Covered by existing tests.
2849
2850         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2851         (WebCore::SharedGraphicsContext3D::get):
2852         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2853         Rename "SharedGraphicsContext3D::create()" to "get()" to more
2854         accurately reflect its function.
2855         * platform/graphics/skia/ImageBufferSkia.cpp:
2856         (WebCore::createAcceleratedCanvas):
2857         Refactor creation of accelerated ImageBuffer.
2858         (WebCore::ImageBuffer::ImageBuffer):
2859         Attempt creation of accelerated ImageBuffer first, and only fall back
2860         to bitmap-backed canvas creation if it fails.
2861
2862 2011-09-21  Dan Bernstein  <mitz@apple.com>
2863
2864         WebCore part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
2865         https://bugs.webkit.org/show_bug.cgi?id=68451
2866
2867         Reviewed by Darin Adler.
2868
2869         * WebCore.xcodeproj/project.pbxproj: Added a script build phase that invokes
2870         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "DOM" or "Web".
2871
2872 2011-09-21  Dan Bernstein  <mitz@apple.com>
2873
2874         <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
2875         https://bugs.webkit.org/show_bug.cgi?id=68550
2876
2877         Reviewed by Darin Adler.
2878
2879         Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
2880
2881         * rendering/RenderBlock.cpp:
2882         (WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
2883         floating object set is empty, which can happen if there were no floats on previous lines
2884         (in which case, lastFloat is 0).
2885
2886 2011-09-21  ChangSeok Oh  <shivamidow@gmail.com>
2887
2888         [GTK] Fix build break when enabling webgl on r95593
2889         https://bugs.webkit.org/show_bug.cgi?id=68502
2890
2891         Reviewed by Martin Robinson.
2892
2893         Add PassOwnPtr.h to GC3DPrivate.h and remove useless one from GC3DGtk.cpp & GC3DPrivate.cpp
2894
2895         No tests required.
2896
2897         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
2898         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
2899         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
2900
2901 2011-09-21  Vsevolod Vlasov  <vsevik@chromium.org>
2902
2903         Web Inspector: clear resource agent resource cache upon resource agent's disable.
2904         https://bugs.webkit.org/show_bug.cgi?id=67995
2905
2906         Reviewed by Pavel Feldman.
2907
2908         Test: http/tests/inspector/network/network-disabling-check-no-memory-leak.html
2909
2910         * inspector/InspectorResourceAgent.cpp:
2911         (WebCore::InspectorResourceAgent::disable):
2912
2913 2011-09-21  David Hyatt  <hyatt@apple.com>
2914
2915         https://bugs.webkit.org/show_bug.cgi?id=68543
2916         
2917         Make sure that when regions change dimensions we recompute pagination slices.
2918
2919         Reviewed by Simon Fraser.
2920
2921         Added new tests in fast/regions.
2922
2923         * rendering/LayoutState.cpp:
2924         (WebCore::LayoutState::LayoutState):
2925         * rendering/LayoutState.h:
2926         * rendering/RenderFlowThread.cpp:
2927         (WebCore::RenderFlowThread::layout):
2928         (WebCore::RenderFlowThread::renderRegionForLine):
2929         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
2930         * rendering/RenderRegion.cpp:
2931         (WebCore::RenderRegion::layout):
2932         * rendering/RenderView.cpp:
2933         (WebCore::RenderView::pushLayoutState):
2934         * rendering/RenderView.h:
2935         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2936         (WebCore::LayoutStateMaintainer::push):
2937
2938 2011-09-21  Xianzhu Wang  <wangxianzhu@chromium.org>
2939
2940         Ensure TestWebKitAPI works on mac, win, chromium-mac and chromium-linux
2941         https://bugs.webkit.org/show_bug.cgi?id=68206
2942
2943         Reviewed by Tony Chang.
2944
2945         Added two new wtf headers into ForwardingHeaders/wtf to make
2946         #include <wtf/...h> cross-platform.
2947         No new tests needed.
2948
2949         * ForwardingHeaders/wtf/MetaAllocator.h: Added.
2950         * ForwardingHeaders/wtf/RedBlackTree.h: Added.
2951
2952 2011-09-21  David Delaune  <david.delaune@googlemail.com>
2953
2954         [WinCairo] IconDatabase::defaultIcon always fails for non-CAN_THEME_URL_ICON builds.
2955         https://bugs.webkit.org/show_bug.cgi?id=67469
2956
2957         Reviewed by Brent Fulgham.
2958
2959         No new functionality added in this change.
2960
2961         * loader/icon/IconDatabase.cpp: defining CAN_THEME_URL_ICON for the WIN_CAIRO
2962
2963 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
2964
2965         Span element gets produced using backspace/delete to merge header with paragraph
2966         https://bugs.webkit.org/show_bug.cgi?id=68413
2967
2968         Reviewed by Darin Adler.
2969
2970         Add p element to the list of elements to retain appearance. Also modified removeStyleFromNode
2971         (and renamed to removeStyleFromRules) not to remove inline style declarations because
2972         inline styles need to stay on copy.
2973
2974         Test: editing/deleting/merge-paragraph-from-p-with-style.html
2975
2976         * editing/DeleteSelectionCommand.cpp:
2977         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2978         * editing/EditingStyle.cpp:
2979         (WebCore::EditingStyle::removeStyleFromRules): Renamed from removeStyleFromNode.
2980         * editing/EditingStyle.h:
2981         * editing/markup.cpp:
2982         (WebCore::isBlockNodeToRetainAppearance):
2983         (WebCore::StyledMarkupAccumulator::serializeNodes):
2984
2985 2011-09-21  Alice Boxhall  <aboxhall@chromium.org>
2986
2987         Report AXValueChanged when value changes in element with role=textbox.
2988         https://bugs.webkit.org/show_bug.cgi?id=68201
2989
2990         Reviewed by Chris Fleizach.
2991
2992         Test: platform/mac/accessibility/textbox-role-reports-notifications.html
2993
2994         * accessibility/AccessibilityObject.cpp:
2995         (WebCore::AccessibilityObject::isARIATextControl):
2996         * accessibility/AccessibilityObject.h:
2997         * accessibility/AccessibilityRenderObject.cpp:
2998         (WebCore::AccessibilityRenderObject::contentChanged):
2999         (WebCore::AccessibilityRenderObject::childrenChanged):
3000
3001 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3002
3003         Web Inspector: introduce Page.enable and Page.disable
3004         https://bugs.webkit.org/show_bug.cgi?id=68530
3005
3006         Otherwise protocol is violating the contract of not sending
3007         notifications by default.
3008
3009         Reviewed by Yury Semikhatsky.
3010
3011         * inspector/Inspector.json:
3012
3013 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3014
3015         Web Inspector: add minimal error handling to the DOM breakpoints.
3016         https://bugs.webkit.org/show_bug.cgi?id=68537
3017
3018         Reviewed by Yury Semikhatsky.
3019
3020         * inspector/InspectorDOMAgent.h:
3021         * inspector/InspectorDOMDebuggerAgent.cpp:
3022         (WebCore::domTypeForName):
3023         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
3024         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
3025
3026 2011-09-21  Ilya Tikhonovsky  <loislo@chromium.org>
3027
3028         Web Inspector: make WebInspector a bit more timeline friendly.
3029         https://bugs.webkit.org/show_bug.cgi?id=68534
3030
3031         I found that the maximum captured stack frame depth tracked by timeline is not
3032         very convenient because the average depth of call stack considerably more than five.
3033         Another useful trick is console.timeStamp for all backend calls.
3034
3035         Reviewed by Yury Semikhatsky.
3036
3037         * inspector/CodeGeneratorInspector.pm:
3038         * inspector/front-end/TimelinePanel.js:
3039         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3040
3041 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3042
3043         [Qt][WK2] Implement Download support in WebProcess
3044         https://bugs.webkit.org/show_bug.cgi?id=68153
3045
3046         Reviewed by Andreas Kling.
3047
3048         Refactored QNetworkReplyHandler::finish() in order to add
3049         and use the static function QNetworkReplyHandler::errorForReply().
3050         This will be used by our Download implementation in WebKit2 (WebProcess)
3051         when handling ResourceError.
3052
3053         * platform/network/qt/QNetworkReplyHandler.cpp:
3054         (WebCore::QNetworkReplyHandler::finish):
3055         (WebCore::QNetworkReplyHandler::errorForReply):
3056         * platform/network/qt/QNetworkReplyHandler.h:
3057         * platform/network/qt/ResourceRequest.h:
3058
3059 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3060
3061         Web Inspector: paint box model colors in Metrics sidebar at all times, do not draw box outlines.
3062         https://bugs.webkit.org/show_bug.cgi?id=68240
3063
3064         Today we paint backgrounds in Metrics box model on hover only - should be painted at all
3065         times for the reference. Outlining boxes is highlight is wrong since outlines are outside
3066         the corresponding box regions. We've seen few reports on that + Firebug does not do borders
3067         for that reason.
3068
3069         Reviewed by Yury Semikhatsky.
3070
3071         * inspector/DOMNodeHighlighter.cpp:
3072         * inspector/DOMNodeHighlighter.h:
3073         * inspector/Inspector.json:
3074         * inspector/InspectorDOMAgent.cpp:
3075         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
3076         * inspector/front-end/Color.js:
3077         * inspector/front-end/MetricsSidebarPane.js:
3078         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
3079         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
3080         * inspector/front-end/inspector.css:
3081         (.metrics .label):
3082         * inspector/front-end/inspector.js:
3083         (WebInspector.buildHighlightConfig):
3084
3085 2011-09-21  Andreas Kling  <kling@webkit.org>
3086
3087         Protect against misuse of EventListenerIterator.
3088         https://bugs.webkit.org/show_bug.cgi?id=68364
3089
3090         Reviewed by Darin Adler.
3091
3092         In debug mode, keep track of the number of active EventListenerIterators
3093         on an EventListenerMap, and assert that there are no iterators when the
3094         map is being modified.
3095
3096         * dom/EventListenerMap.cpp:
3097         (WebCore::EventListenerMap::EventListenerMap):
3098         (WebCore::EventListenerMap::clear):
3099         (WebCore::EventListenerMap::add):
3100         (WebCore::EventListenerMap::remove):
3101         (WebCore::EventListenerMap::find):
3102         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
3103         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
3104         (WebCore::EventListenerIterator::EventListenerIterator):
3105         (WebCore::EventListenerIterator::~EventListenerIterator):
3106         * dom/EventListenerMap.h:
3107
3108 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3109
3110         Web Inspector: minor fixes in the DOM domain of the protocol.
3111         https://bugs.webkit.org/show_bug.cgi?id=68517
3112
3113         Reviewed by Yury Semikhatsky.
3114
3115         * inspector/Inspector.json:
3116         * inspector/InspectorDOMAgent.cpp:
3117         (WebCore::InspectorDOMAgent::setAttributesAsText):
3118         * inspector/InspectorDOMAgent.h:
3119         * inspector/front-end/DOMAgent.js:
3120         (WebInspector.DOMNode.prototype.setAttribute):
3121
3122 2011-09-16  Pavel Feldman  <pfeldman@google.com>
3123
3124         Web Inspector: limit the use of "Resource" term in the protocol.
3125         https://bugs.webkit.org/show_bug.cgi?id=68250
3126
3127         Reviewed by Yury Semikhatsky.
3128
3129         * inspector/Inspector.json:
3130         * inspector/InspectorResourceAgent.cpp:
3131         (WebCore::InspectorResourceAgent::markResourceAsCached):
3132         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3133         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
3134         (WebCore::InspectorResourceAgent::getResponseBody):
3135         * inspector/InspectorResourceAgent.h:
3136         * inspector/front-end/ExtensionServer.js:
3137         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
3138         * inspector/front-end/NetworkManager.js:
3139         (WebInspector.NetworkManager.prototype.requestContent):
3140         (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
3141         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
3142
3143 2011-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3144
3145         Unreviewed, rolling out r95608.
3146         http://trac.webkit.org/changeset/95608
3147         https://bugs.webkit.org/show_bug.cgi?id=68521
3148
3149         breaks GTK and Windows builds. Please check EWS next time.
3150         (Requested by philn-tp on #webkit).
3151
3152         * html/HTMLBodyElement.cpp:
3153         (WebCore::adjustForZoom):
3154         (WebCore::HTMLBodyElement::setScrollLeft):
3155         (WebCore::HTMLBodyElement::setScrollTop):
3156         * loader/HistoryController.cpp:
3157         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
3158         * page/DOMWindow.cpp:
3159         (WebCore::DOMWindow::scrollX):
3160         (WebCore::DOMWindow::scrollY):
3161         (WebCore::DOMWindow::scrollTo):
3162         * page/Frame.cpp:
3163         (WebCore::Frame::pageScaleFactor):
3164         * page/Frame.h:
3165         * page/FrameView.cpp:
3166         (WebCore::FrameView::applyOverflowToViewport):
3167         (WebCore::FrameView::scrollXForFixedPosition):
3168         (WebCore::FrameView::scrollYForFixedPosition):
3169
3170 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3171
3172         Web Inspector: console panel's scroller is not properly aligned.
3173         https://bugs.webkit.org/show_bug.cgi?id=68448
3174
3175         Reviewed by Yury Semikhatsky.
3176
3177         * inspector/front-end/inspector.css:
3178         (#console-view):
3179         (#console-messages):
3180         (#drawer #console-messages):
3181
3182 2011-09-20  Alpha Lam  <hclam@chromium.org>
3183
3184         https://bugs.webkit.org/show_bug.cgi?id=68081
3185         Fix scroll in page scaling mode.
3186
3187         Reviewed by Simon Fraser.
3188
3189         The following things are done in this patch:
3190         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
3191            reflect its purpose.
3192         2. Frame::frameScaleFactor() returns the scale factor of this frame with
3193            respect to the container. So for the main frame it'll return the scale
3194            factor of the page, inner frames will return 1.0
3195         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
3196            scale factor, causing incorrect coordinates reported to Javascript.
3197
3198         Tests: fast/events/scale-and-scroll-body.html
3199                fast/events/scale-and-scroll-iframe-body.html
3200                fast/events/scale-and-scroll-iframe-window.html
3201                fast/events/scale-and-scroll-window.html
3202
3203         * html/HTMLBodyElement.cpp:
3204         (WebCore::adjustForZoom):
3205         (WebCore::HTMLBodyElement::setScrollLeft):
3206         (WebCore::HTMLBodyElement::setScrollTop):
3207         * loader/HistoryController.cpp:
3208         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
3209         * page/DOMWindow.cpp:
3210         (WebCore::DOMWindow::scrollX):
3211         (WebCore::DOMWindow::scrollY):
3212         (WebCore::DOMWindow::scrollTo):
3213         * page/Frame.cpp:
3214         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
3215                                             main frame, otherwise 1.0
3216         * page/Frame.h:
3217         * page/FrameView.cpp:
3218         (WebCore::FrameView::applyOverflowToViewport):
3219         (WebCore::FrameView::scrollXForFixedPosition):
3220         (WebCore::FrameView::scrollYForFixedPosition):
3221
3222 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
3223
3224         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
3225         https://bugs.webkit.org/show_bug.cgi?id=67702
3226
3227         Reviewed by Csaba Osztrogonác.
3228
3229         No new tests needed.
3230
3231         * css/SelectorChecker.cpp: Move Qt-specific code to the Qt-specific WebPlatformStrategies.
3232         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3233         * platform/VisitedLinkStrategy.h:
3234
3235 2011-09-16  MORITA Hajime  <morrita@google.com>
3236
3237         Style changes on forwarded shadow children should trigger shadow renderer reconstruction.
3238         https://bugs.webkit.org/show_bug.cgi?id=68228
3239
3240         Reviewed by Dimitri Glazkov.
3241
3242         Currently style changes on forwarded shadow child triggers
3243         Node::reattach() only for the forwarded node. But it should
3244         invalidate whole renderers on the shadow tree because
3245         ShadowContentElement expects its inclusions to be attached and to
3246         create renderers in the inclusion order. But single node
3247         reattach() violates the expectation and possibly creates
3248         inconsistent render tree.
3249
3250         This change makes NodeRenderingContext to go
3251         AttachContentForwarded, where the ShadowContentElement::attach()
3252         happens, only during ShadowRoot::attach(), not for style-change
3253         triggered Node::attach() on the forwarded nodes.
3254
3255         Note that the altering phase AttachContentLight doesn't create
3256         renderers for the forwarded nodes. Instead of that, it possibly
3257         triggers shadow subtree reconstruction on
3258         NodeRenderingContext::hostChildrenChanged().
3259
3260         No new tests. This is a defensive change. There is no visible
3261         difference at this time.
3262
3263         * dom/NodeRenderingContext.cpp:
3264         (WebCore::NodeRenderingContext::NodeRenderingContext):
3265         * dom/ShadowRoot.cpp:
3266         (WebCore::ShadowRoot::isInclusionSelectorActive):
3267         * dom/ShadowRoot.h:
3268
3269 2011-09-20  MORITA Hajime  <morrita@google.com>
3270
3271         <meter> doesn't update rendering when its value is changed.
3272         https://bugs.webkit.org/show_bug.cgi?id=67614
3273
3274         Reviewed by Dimitri Glazkov.
3275
3276         It lacks repaint() when the value is changed. 
3277         
3278         For non-native appearance it works because the indicator is
3279         implemented in shadow DOM, for native appearance, repainting should be
3280         handled explicitly.
3281         
3282         Test: fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html
3283
3284         * html/HTMLMeterElement.cpp:
3285         (WebCore::HTMLMeterElement::didElementStateChange):
3286         * rendering/RenderMeter.cpp:
3287         (WebCore::RenderMeter::updateFromElement):
3288         * rendering/RenderMeter.h:
3289         * rendering/RenderProgress.cpp:
3290         (WebCore::RenderProgress::updateAnimationState):
3291
3292 2011-09-20  Kent Tamura  <tkent@chromium.org>
3293
3294         Move RenderObject::markContainingBlocksForLayout() to RenderObject.cpp.
3295         https://bugs.webkit.org/show_bug.cgi?id=67989
3296
3297         Reviewed by Ryosuke Niwa.
3298
3299         No new tests because of no behavior change.
3300
3301         * rendering/RenderObject.cpp:
3302         (WebCore::objectIsRelayoutBoundary): Moved from RenderObject.h.
3303         (WebCore::RenderObject::markContainingBlocksForLayout): Moved from RenderObject.h
3304         * rendering/RenderObject.h:
3305
3306 2011-09-20  Rachel Blum  <groby@chromium.org>
3307
3308         Support for multiple <link rel="icon"> favicon elements.
3309         https://bugs.webkit.org/show_bug.cgi?id=65564
3310
3311         Reviewed by Darin Fisher.
3312
3313         No tests - purely an API change. (And API is not exposed to LayoutTests)
3314
3315         * dom/Document.cpp:
3316         (WebCore::Document::iconURLs):
3317         (WebCore::Document::addIconURL):
3318         * dom/Document.h:
3319         * dom/IconURL.cpp:
3320         (WebCore::toIconIndex):
3321         * dom/IconURL.h:
3322         (WebCore::IconURL::IconURL):
3323         * html/HTMLLinkElement.cpp:
3324         (WebCore::HTMLLinkElement::process):
3325         * loader/LinkLoader.cpp:
3326         (WebCore::LinkLoader::loadLink):
3327         * loader/LinkLoader.h:
3328         * loader/icon/IconController.cpp:
3329         (WebCore::IconController::urlsForTypes):
3330         (WebCore::IconController::appendToIconURLs):
3331         (WebCore::IconController::defaultURL):
3332
3333 2011-09-20  Ojan Vafai  <ojan@chromium.org>
3334
3335         [css3-flexbox] cleanup padding width calculations
3336         https://bugs.webkit.org/show_bug.cgi?id=68490
3337
3338         Reviewed by Tony Chang.
3339
3340         No new tests. Existing tests cover the refactor.
3341
3342         * rendering/RenderFlexibleBox.cpp:
3343         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
3344         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
3345         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
3346         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
3347         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
3348         * rendering/RenderFlexibleBox.h:
3349
3350 2011-09-19  Jer Noble  <jer.noble@apple.com>
3351
3352         Fix clang compile errors in Web Audio
3353         https://bugs.webkit.org/show_bug.cgi?id=68384
3354
3355         Reviewed by David Levin.
3356
3357         No new tests; no net change in functionality.
3358
3359         * platform/graphics/MediaPlayer.h: Forward declare (instead of including directly)
3360             AudioSourceProvider.
3361         * webaudio/AudioChannelMerger.cpp:
3362         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput): Remove unused parameter name.
3363
3364 2011-09-20  John Gregg  <johnnyg@google.com>
3365
3366         Directory Upload: parent path can truncate first char of the correct path
3367         https://bugs.webkit.org/show_bug.cgi?id=66695
3368
3369         In some cases, if the parent path we compute ends with a separator
3370         character like '/' or 'C:\', by adding one in an attempt to grab the
3371         subsequent separator we actually grab a character of the real path,
3372         which is incorrect.
3373
3374         Reviewed by Darin Fisher.
3375
3376         * html/FileInputType.cpp:
3377         (WebCore::FileInputType::setFileList):
3378
3379 2011-09-20  Jochen Eisinger  <jochen@chromium.org>
3380
3381         Invoke CachedResourceLoader::canRequest for all URLs in a redirect chain
3382         https://bugs.webkit.org/show_bug.cgi?id=68279
3383
3384         Reviewed by Adam Barth.
3385
3386         * loader/cache/CachedResourceLoader.h:
3387         * loader/cache/CachedResourceRequest.cpp:
3388         (WebCore::CachedResourceRequest::willSendRequest):
3389
3390 2011-09-18  Ojan Vafai  <ojan@chromium.org>
3391
3392         change RenderFlexibleBox to act on logical coordinates
3393         https://bugs.webkit.org/show_bug.cgi?id=68129
3394
3395         Reviewed by David Hyatt.
3396
3397         This makes RenderFlexibleBox respect direction and writing-mode.
3398         We now properly support the default flex-flow value of "row".
3399
3400         Test: css3/flexbox/writing-modes.html
3401
3402         * rendering/RenderBlock.cpp:
3403         (WebCore::RenderBlock::setLogicalLocationForChild):
3404         * rendering/RenderBlock.h:
3405         * rendering/RenderFlexibleBox.cpp:
3406         (WebCore::RenderFlexibleBox::layoutBlock):
3407         (WebCore::RenderFlexibleBox::logicalBorderWidthForChild):
3408         (WebCore::RenderFlexibleBox::logicalPaddingWidthForChild):
3409         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
3410         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
3411         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
3412         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
3413         (WebCore::RenderFlexibleBox::layoutInlineDirection):
3414         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
3415         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
3416         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
3417         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
3418         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
3419         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
3420         * rendering/RenderFlexibleBox.h:
3421
3422 2011-09-20  Marshall Greenblatt  <marshall@chromium.org>
3423
3424         Use DEFINE_STATIC_LOCAL to intentionally leak the static RefCountedHFONT object returned from
3425         FontPlatformData::hashTableDeletedFontValue() to avoid global destructor ordering problems.
3426         https://bugs.webkit.org/show_bug.cgi?id=67906
3427
3428         Reviewed by Adam Barth.
3429
3430         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
3431
3432 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
3433
3434         Hit testing on margins of body and head elements doesn't recur
3435         https://bugs.webkit.org/show_bug.cgi?id=40753
3436
3437         Reviewed by Darin Adler.
3438
3439         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
3440         of head/body and html elements when hit testing was done inside margins of head and body elements.
3441
3442         Fixed the bug by special-casing html element since margins of head and body elements are special.
3443
3444         Tests: editing/selection/click-on-body-margin.html
3445                editing/selection/click-on-head-margin.html
3446
3447         * rendering/RenderBlock.cpp:
3448         (WebCore::positionForPointRespectingEditingBoundaries):
3449
3450 2011-09-20  David Hyatt  <hyatt@apple.com>
3451
3452         https://bugs.webkit.org/show_bug.cgi?id=68480
3453         
3454         De-virtualize containingBlock() and make RenderView return 0 instead
3455         of itself to make the construction of normal loops that terminate via
3456         a null-check possible.
3457
3458         Fix the only two places in the tree that needed null checks.
3459
3460         Eliminating RenderTableCell::containingBlock() is fine since the base class
3461         does the same thing anyway.
3462
3463         Reviewed by Simon Fraser.
3464
3465         * editing/VisiblePosition.cpp:
3466         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation):
3467         * rendering/RenderObject.cpp:
3468         (WebCore::RenderObject::containingBlock):
3469         * rendering/RenderObject.h:
3470         * rendering/RenderTableCell.cpp:
3471         * rendering/RenderTableCell.h:
3472         * rendering/RenderTreeAsText.cpp: