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