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