1 2011-09-26 Max Perepelitsyn <pph34r@gmail.com>
3 Set but unused variables cleanup in v8 bindings (gcc 4.6)
4 https://bugs.webkit.org/show_bug.cgi?id=68079
6 Reviewed by Adam Barth.
8 Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
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):
22 2011-09-26 Tony Chang <tony@chromium.org>
24 switch the initial value of flex-order to 0
25 https://bugs.webkit.org/show_bug.cgi?id=68820
27 The spec changed from having an initial value of 1 to 0.
29 Reviewed by Ojan Vafai.
31 * rendering/style/RenderStyle.h:
32 (WebCore::InheritedFlags::initialFlexOrder):
34 2011-09-26 Chris Rogers <crogers@google.com>
36 OfflineAudioDestinationNode must wait for thread completion in uninitialize()
37 https://bugs.webkit.org/show_bug.cgi?id=68725
39 Reviewed by Kenneth Russell.
41 No new tests. This fixes internal implementation details.
43 * webaudio/OfflineAudioDestinationNode.cpp:
44 (WebCore::OfflineAudioDestinationNode::uninitialize):
46 2011-09-26 Xan Lopez <xlopez@igalia.com>
48 [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
49 https://bugs.webkit.org/show_bug.cgi?id=68837
51 Reviewed by Martin Robinson.
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.
57 2011-09-26 Ryosuke Niwa <rniwa@webkit.org>
61 * testing/Internals.cpp:
62 (WebCore::Internals::setZoomAnimatorTransform):
64 2011-09-26 Joshua Bell <jsbell@chromium.org>
66 IndexedDB: Null key path gets stored as empty string key path
67 https://bugs.webkit.org/show_bug.cgi?id=68726
69 Reviewed by Tony Chang.
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.
75 * storage/IDBLevelDBBackingStore.cpp:
76 (WebCore::checkObjectStoreAndMetaDataType):
77 (WebCore::IDBLevelDBBackingStore::getObjectStores):
78 (WebCore::IDBLevelDBBackingStore::createObjectStore):
79 * storage/IDBLevelDBCoding.cpp:
81 2011-09-26 John Bauman <jbauman@chromium.org>
83 Fix nonpremultiplied webgl toDataURL to jpeg
84 https://bugs.webkit.org/show_bug.cgi?id=68366
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
90 Reviewed by Kenneth Russell.
92 * platform/graphics/cg/ImageBufferCG.cpp:
93 (WebCore::CGImageToDataURL):
94 (WebCore::ImageBuffer::toDataURL):
95 (WebCore::ImageDataToDataURL):
96 * platform/image-encoders/skia/JPEGImageEncoder.cpp:
99 2011-09-26 Raphael Kubo da Costa <kubo@profusion.mobi>
101 [CMake] Remove FindFreetype.cmake
102 https://bugs.webkit.org/show_bug.cgi?id=68778
104 Reviewed by Adam Barth.
106 CMake has provided its own FindFreetype.cmake forever, so there is no
107 need to have another implementation in WebKit.
109 No new tests, just a buildsystem change.
111 * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
112 Freetype_{LIBRARIES,INCLUDE_DIRS}.
114 2011-09-26 Alexei Svitkine <asvitkine@chromium.org>
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
119 Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
121 (This also happens on Safari.)
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.
125 Reviewed by Adam Barth.
127 No new tests, since this is highly timing-related.
129 * platform/ScrollView.cpp:
130 (WebCore::ScrollView::overhangAmount):
131 (WebCore::ScrollView::wheelEvent):
133 2011-09-26 W. James MacLean <wjmaclean@chromium.org>
135 [chromium] Revise zoom animator backend to use full transform instead of just scale.
136 https://bugs.webkit.org/show_bug.cgi?id=68535
138 Reviewed by Kenneth Russell.
141 (WebCore::Settings::Settings):
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:
167 2011-09-26 Dan Bernstein <mitz@apple.com>
169 REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
170 https://bugs.webkit.org/show_bug.cgi?id=68819
172 Reviewed by Dave Hyatt.
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.
178 2011-09-26 Vsevolod Vlasov <vsevik@chromium.org>
180 Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
181 https://bugs.webkit.org/show_bug.cgi?id=67399
183 Reviewed by Pavel Feldman.
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):
202 2011-09-26 Jer Noble <jer.noble@apple.com>
204 White flash when entering full-screen using element.webkitRequestFullScreen()
205 https://bugs.webkit.org/show_bug.cgi?id=68481
207 Reviewed by Simon Fraser.
209 No new tests; covered by existing full screen tests.
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
217 * rendering/RenderLayerBacking.cpp:
218 (WebCore::RenderLayerBacking::containsPaintedContent):
220 2011-09-26 Mihai Parparita <mihaip@chromium.org>
222 Unreviewed, rolling out r95960.
223 http://trac.webkit.org/changeset/95960
224 https://bugs.webkit.org/show_bug.cgi?id=58608
226 Significantly changes table border rendering
228 * rendering/RenderObject.cpp:
229 (WebCore::RenderObject::drawLineForBoxSide):
231 2011-09-23 Simon Fraser <simon.fraser@apple.com>
233 Repaint tests don't work in WebKit2
234 https://bugs.webkit.org/show_bug.cgi?id=68453
236 Reviewed by Sam Weinig.
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.
242 The repaint rects are in WebView coordinates, so we have to
243 unapply the scroll offset.
246 * page/FrameView.cpp:
247 (WebCore::FrameView::FrameView):
248 (WebCore::FrameView::reset):
249 (WebCore::FrameView::repaintContentRectangle):
250 (WebCore::FrameView::setTracksRepaints):
252 (WebCore::FrameView::isTrackingRepaints):
253 (WebCore::FrameView::resetTrackedRepaints):
254 (WebCore::FrameView::trackedRepaintRects):
256 2011-09-26 Antti Koivisto <antti@apple.com>
258 Optimize matching of common pseudo classes
259 https://bugs.webkit.org/show_bug.cgi?id=68633
261 Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
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.
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.
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.
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):
288 Add a new lists, some stylistic renamings.
290 (WebCore::CSSStyleSelector::matchRules):
292 New link and focus checks.
294 (WebCore::CSSStyleSelector::matchRulesForList):
295 (WebCore::CSSStyleSelector::checkSelector):
297 Inline the rightmost selector tag checking, skip if unnecessary.
299 (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
301 Common pseudo classes now match based on early filtering (though it is not a hash in this case).
303 (WebCore::RuleData::RuleData):
304 (WebCore::RuleSet::~RuleSet):
305 (WebCore::RuleSet::addRule):
307 Sort pseudo classes to new lists.
309 (WebCore::RuleSet::collectFeatures):
310 (WebCore::RuleSet::shrinkToFit):
311 (WebCore::CSSStyleSelector::matchPageRules):
312 * css/SelectorChecker.cpp:
313 (WebCore::SelectorChecker::checkSelector):
315 Adopt to expanded fast path (this is used by querySelectorAll).
317 (WebCore::SelectorChecker::fastCheckRightmostSelector):
318 (WebCore::SelectorChecker::fastCheckSelector):
320 Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
321 is equivalent to fastCheckRightmostSelector().
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):
336 Refactor a bunch of shared checks into functions.
338 2011-09-12 Ryosuke Niwa <rniwa@webkit.org>
340 REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
341 https://bugs.webkit.org/show_bug.cgi?id=57340
343 Reviewed by Eric Seidel.
345 This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
347 To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
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).
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".
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.
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.
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".
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.
376 Test: editing/selection/select-bidi-run.html
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):
413 2011-09-26 Sheriff Bot <webkit.review.bot@gmail.com>
415 Unreviewed, rolling out r95256.
416 http://trac.webkit.org/changeset/95256
417 https://bugs.webkit.org/show_bug.cgi?id=68814
419 Temporary CRASH calls no longer needed (Requested by enne on
422 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
423 (WebCore::CCLayerTreeHost::commitTo):
425 2011-09-26 Mark Rowe <mrowe@apple.com>
427 <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
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.
434 Reviewed by Anders Carlsson.
436 * loader/icon/IconDatabase.cpp:
437 (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
440 2011-09-26 Antaryami Pandia <antaryami.pandia@motorola.com>
442 Groove/inset/outset borders show solid if the color is black.
443 https://bugs.webkit.org/show_bug.cgi?id=58608
445 Reviewed by Simon Fraser.
447 Lightened the border side colors when drawing borders with styles as
448 Outset/Inset/Groove/Ridge.
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
455 * rendering/RenderObject.cpp:
456 (WebCore::RenderObject::drawLineForBoxSide):
458 2011-09-26 Abhishek Arya <inferno@chromium.org>
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
464 Reviewed by Dave Hyatt.
466 Test: fast/text/custom-font-data-crash.html
469 (WebCore::Document::recalcStyle):
471 2011-09-23 Adrienne Walker <enne@google.com>
473 [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
474 https://bugs.webkit.org/show_bug.cgi?id=68742
476 Reviewed by James Robinson.
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.
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
488 Test: compositing/video-page-visibility.html
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:
499 2011-09-26 Pavel Feldman <pfeldman@google.com>
501 Web Inspector: introduce protocol backwards compatibility validator.
502 https://bugs.webkit.org/show_bug.cgi?id=68800
504 Reviewed by Yury Semikhatsky.
506 * inspector/Inspector.json:
507 * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
508 * inspector/validate-protocol-compatibility: Added.
510 2011-09-26 Andreas Kling <kling@webkit.org>
512 [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
513 https://bugs.webkit.org/show_bug.cgi?id=68798
515 Reviewed by Noam Rosenthal.
517 * platform/network/qt/QNetworkReplyHandler.cpp:
518 (WebCore::QNetworkReplyHandler::sendNetworkRequest):
520 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
522 Second unreviewed build fix for r95941
524 * inspector/InspectorInstrumentation.cpp:
525 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
527 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
529 Unreviewed build fix for webkit builds after r95941.
531 * inspector/InspectorInstrumentation.cpp:
532 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
534 2011-09-26 Andrey Kosyakov <caseq@chromium.org>
536 Web Inspector: [Extensions API] allow resources to hook on click on resource links
537 https://bugs.webkit.org/show_bug.cgi?id=68528
539 Reviewed by Yury Semikhatsky.
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):
570 2011-09-23 Ilya Tikhonovsky <loislo@chromium.org>
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
575 In a complex web application developer might want to timeline a specific piece of code.
577 In this case he can do the next steps:
579 2) eval a command in console;
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.
584 Reviewed by Yury Semikhatsky.
586 Test: inspector/timeline/timeline-injected-script-eval.html
588 * bindings/v8/ScriptFunctionCall.cpp:
589 * inspector/InjectedScript.cpp:
590 (WebCore::InjectedScript::makeCall):
591 * inspector/InspectorInstrumentation.cpp:
592 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
594 2011-09-26 No'am Rosenthal <noam.rosenthal@nokia.com>
596 [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
597 https://bugs.webkit.org/show_bug.cgi?id=65473
599 Reviewed by Andreas Kling.
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.
606 No new tests. Existing layout tests cover this.
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):
614 2011-09-26 Sergio Villar Senin <svillar@igalia.com>
616 [GTK] Fix coding style bits in ResourceHandleSoup.cpp
617 https://bugs.webkit.org/show_bug.cgi?id=68634
619 Reviewed by Martin Robinson.
623 * platform/network/soup/ResourceHandleSoup.cpp:
624 (WebCore::ResourceHandle::defaultSession):
626 2011-09-26 James Robinson <jamesr@chromium.org>
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
631 Reviewed by Simon Fraser.
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.
636 Test: fast/animation/request-animation-frame-timestamps-advance.html
638 * dom/ScriptedAnimationController.cpp:
639 (WebCore::ScriptedAnimationController::animationTimerFired):
641 2011-09-25 Mark Hahnenberg <mhahnenberg@apple.com>
643 Add custom vtable struct to ClassInfo struct
644 https://bugs.webkit.org/show_bug.cgi?id=68567
646 Reviewed by Oliver Hunt.
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.
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:
664 * bindings/js/JSOptionConstructor.cpp:
665 * bindings/js/JSWorkerContextBase.cpp:
667 Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
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:
690 2011-09-25 Eunmi Lee <eunmi15.lee@samsung.com>
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
695 Reviewed by Martin Robinson.
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.
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:
716 2011-09-25 Adam Barth <abarth@webkit.org>
718 Finish removing PLATFORM(BREWMP) by removing associated code
719 https://bugs.webkit.org/show_bug.cgi?id=68779
721 Reviewed by Sam Weinig.
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).
728 * WebCore.gyp/WebCore.gyp:
730 * bindings/js/ScriptControllerBrew.cpp: Removed.
731 * editing/brew: Removed.
732 * editing/brew/EditorBrew.cpp: Removed.
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.
789 2011-09-25 Kentaro Hara <haraken@chromium.org>
791 Implement a CloseEvent constructor for JSC
792 https://bugs.webkit.org/show_bug.cgi?id=68340
794 Reviewed by Oliver Hunt.
796 The spec of the CloseEvent constructor is here:
797 http://dev.w3.org/html5/websockets/#closeevent
799 Test: fast/events/constructors/close-event-constructor.html
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.
809 2011-09-25 Mark Rowe <mrowe@apple.com>
811 <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
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.
817 Reviewed by Sam Weinig.
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:
830 2011-09-25 Dan Bernstein <mitz@apple.com>
832 <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
834 Reviewed by Sam Weinig.
836 Test: fast/dynamic/subtree-unrooted.html
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”.
842 2011-09-24 Abhishek Arya <inferno@chromium.org>
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
848 Reviewed by Dan Bernstein.
850 Test: fast/ruby/ruby-base-merge-block-children-crash.html
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.
867 2011-09-25 Adam Barth <abarth@webkit.org>
869 Remove PLATFORM(HAIKU) and associated code
870 https://bugs.webkit.org/show_bug.cgi?id=68774
872 Reviewed by Sam Weinig.
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.
879 * WebCore.gyp/WebCore.gyp:
881 * bindings/js/ScriptControllerHaiku.cpp: Removed.
882 * editing/haiku: Removed.
883 * editing/haiku/EditorHaiku.cpp: Removed.
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:
894 * platform/DragData.h:
895 * platform/DragImage.h:
896 * platform/PlatformKeyboardEvent.h:
897 * platform/PlatformMenuDescription.h:
898 * platform/PlatformMouseEvent.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.
976 2011-09-25 Adam Barth <abarth@webkit.org>
978 Attempted build fixes for GTK and Qt.
980 * GNUmakefile.list.am:
983 2011-09-24 Adam Barth <abarth@webkit.org>
985 Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
986 https://bugs.webkit.org/show_bug.cgi?id=68767
988 Reviewed by Eric Seidel.
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
995 * Configurations/FeatureDefines.xcconfig:
997 * GNUmakefile.list.am:
1000 * bindings/cpp/WebDOMEventTarget.cpp:
1002 * bindings/js/JSEventTarget.cpp:
1004 (WebCore::toEventTarget):
1005 * bindings/v8/V8DOMWrapper.cpp:
1006 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1007 * dom/EventTarget.cpp:
1008 (WebCore::EventTarget::toDOMApplicationCache):
1009 * dom/EventTarget.h:
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):
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):
1108 2011-09-24 Adam Barth <abarth@webkit.org>
1110 Remove ENABLE(WCSS) and associated code
1111 https://bugs.webkit.org/show_bug.cgi?id=68759
1113 Reviewed by Darin Adler.
1115 As discussed on webkit-dev, we are removing this feature from trunk to
1116 reduce the number of different configurations.
1118 * CodeGenerators.pri:
1121 * css/CSSParser.cpp:
1122 (WebCore::CSSParser::parseValue):
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.
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:
1143 2011-09-24 Young Han Lee <joybro@company100.net>
1145 SVGAnimation does not support 'values' for from-to animations
1146 https://bugs.webkit.org/show_bug.cgi?id=64859
1148 Reviewed by Dirk Schulze.
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]
1153 When keyTimes is given, calculate the progress percentage of the animation with it
1154 even for from-to animation.
1156 [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
1157 [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
1159 Test: svg/animations/animate-from-to-keyTimes.html
1161 * svg/SVGAnimationElement.cpp:
1162 (WebCore::SVGAnimationElement::calculatePercentForFromTo):
1163 (WebCore::SVGAnimationElement::updateAnimation):
1164 * svg/SVGAnimationElement.h:
1166 2011-09-23 Chris Fleizach <cfleizach@apple.com>
1168 WebKit does not expose AXPlaceholder value on password fields
1169 https://bugs.webkit.org/show_bug.cgi?id=68745
1171 Reviewed by Oliver Hunt.
1173 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1174 (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1176 2011-09-23 Mark Rowe <mrowe@apple.com>
1180 * loader/CrossOriginAccessControl.cpp:
1181 (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
1183 2011-09-23 Adam Barth <abarth@webkit.org>
1185 Canvas security checks show up on HTML5GamingTest benchmark
1186 https://bugs.webkit.org/show_bug.cgi?id=68743
1188 Reviewed by Oliver Hunt.
1190 Prior to this patch, the canvas security checks took as much as 4% of
1191 the time on the HTML5GamingTest benchmark:
1193 http://craftymind.com/factory/guimark2/HTML5GamingTest.html
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).
1199 * html/canvas/CanvasRenderingContext.cpp:
1200 (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1201 * loader/CrossOriginAccessControl.cpp:
1202 (WebCore::passesAccessControlCheck):
1204 2011-09-23 Justin Novosad <junov@chromium.org>
1206 Unwarranted DOM Exception when canvas2D drawImage is called with src
1208 https://bugs.webkit.org/show_bug.cgi?id=65709
1210 Reviewed by Oliver Hunt.
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.
1217 2011-09-23 Lukasz Slachciak <l.slachciak@samsung.com>
1219 Printing of notImplemented() when logging enabled.
1220 https://bugs.webkit.org/show_bug.cgi?id=64590
1222 Printing of notImplemented() method was enabled on Debug builds only.
1223 Now it is enabled when logging is enabled.
1225 Reviewed by Oliver Hunt.
1227 No new tests because there is no new functionality.
1229 * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
1231 2011-09-23 Mihai Parparita <mihaip@chromium.org>
1233 [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
1234 https://bugs.webkit.org/show_bug.cgi?id=68730
1236 Reviewed by James Robinson.
1238 Adds a missing contentsResized() call in ScrollView::setFrameRect.
1240 Test: fast/dom/Window/window-resize-contents.html
1242 * platform/ScrollView.cpp:
1243 (WebCore::ScrollView::setFrameRect):
1245 2011-09-23 Adam Klein <adamk@chromium.org>
1247 Add ENABLE_MUTATION_OBSERVERS feature flag
1248 https://bugs.webkit.org/show_bug.cgi?id=68732
1250 Reviewed by Ojan Vafai.
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
1255 * Configurations/FeatureDefines.xcconfig:
1258 2011-09-23 Varun Jain <varunjain@google.com>
1260 Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
1261 https://bugs.webkit.org/show_bug.cgi?id=68198
1263 Reviewed by Dimitri Glazkov.
1265 Tests: fast/dom/scroll-element-to-rect-centered.html
1266 fast/dom/scroll-element-to-rect.html
1269 * page/FrameView.cpp:
1270 (WebCore::FrameView::scrollElementToRect):
1272 * testing/Internals.cpp:
1273 (WebCore::Internals::scrollElementToRect):
1274 * testing/Internals.h:
1275 * testing/Internals.idl:
1277 2011-09-23 Mihai Parparita <mihaip@chromium.org>
1279 Unreviewed, rolling out r95860.
1280 http://trac.webkit.org/changeset/95860
1281 https://bugs.webkit.org/show_bug.cgi?id=68648
1283 Breaks overhang rendering on Chromium Mac
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):
1292 2011-09-23 Dean Jackson <dino@apple.com>
1294 Add -webkit-filter to CSSPropertyNames
1295 https://bugs.webkit.org/show_bug.cgi?id=68675
1297 Reviewed by Simon Fraser.
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.
1303 Test: css3/filters/filter-property.html
1305 * css/CSSComputedStyleDeclaration.cpp:
1306 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1307 * css/CSSParser.cpp:
1308 (WebCore::CSSParser::parseValue):
1309 (WebCore::CSSParser::parseFilter):
1311 * css/CSSPropertyNames.in:
1312 * css/CSSStyleSelector.cpp:
1313 (WebCore::CSSStyleSelector::applyProperty):
1315 2011-09-23 Antoine Labour <piman@chromium.org>
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
1321 Reviewed by James Robinson.
1323 Covered by compositing/ layeout tests.
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):
1337 2011-09-23 Julien Chaffraix <jchaffraix@webkit.org>
1339 Implicit conversion double to float in ShadowBlur::adjustBlurRadius
1340 https://bugs.webkit.org/show_bug.cgi?id=68722
1342 Reviewed by Simon Fraser.
1344 * platform/graphics/ShadowBlur.cpp:
1345 (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
1348 2011-09-23 Dan Bernstein <mitz@apple.com>
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
1353 Reviewed by Darin Adler.
1355 Test: fast/text/combining-character-sequence-fallback-crash.html
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
1362 2011-09-23 David Reveman <reveman@chromium.org>
1364 [Chromium] Fix CSS 3D corner anti-aliasing.
1365 https://bugs.webkit.org/show_bug.cgi?id=68087
1367 Reviewed by James Robinson.
1369 Render sharp corners more correctly by adding bounding box
1370 edges to anti-aliasing shaders.
1372 Test: platform/chromium/compositing/3d-corners.html
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:
1388 2011-09-23 Oliver Hunt <oliver@apple.com>
1390 Make write barriers actually do something when enabled
1391 https://bugs.webkit.org/show_bug.cgi?id=68717
1393 Reviewed by Geoffrey Garen.
1395 Add a forwarding header, and fix an evaluation ordering
1396 issue that shows up if you try to use write barriers.
1398 * ForwardingHeaders/heap/CardSet.h: Added.
1399 * bindings/js/JSEventListener.h:
1400 (WebCore::JSEventListener::jsFunction):
1402 2011-09-23 James Robinson <jamesr@chromium.org>
1404 Avoid updating compositing state during paint
1405 https://bugs.webkit.org/show_bug.cgi?id=68727
1407 Reviewed by Simon Fraser.
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.
1413 * rendering/RenderLayer.cpp:
1414 (WebCore::RenderLayer::paintLayer):
1415 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
1416 * rendering/RenderLayerCompositor.cpp:
1417 (WebCore::RenderLayerCompositor::updateCompositingLayers):
1418 * rendering/RenderLayerCompositor.h:
1420 2011-09-23 Fady Samuel <fsamuel@chromium.org>
1422 Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
1423 https://bugs.webkit.org/show_bug.cgi?id=68648
1425 Reviewed by Dimitri Glazkov.
1427 No new tests because there's no change in functionality (yet).
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):
1438 2011-09-23 Ojan Vafai <ojan@chromium.org>
1440 remove physical flex-flow values to match the updated spec
1441 https://bugs.webkit.org/show_bug.cgi?id=68728
1443 Reviewed by Tony Chang.
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:
1453 2011-09-23 Abhishek Arya <inferno@chromium.org>
1455 Style not updated for :before, :after content
1457 https://bugs.webkit.org/show_bug.cgi?id=68625
1459 Reviewed by Dave Hyatt.
1461 Test: fast/ruby/ruby-text-before-after-content.html
1463 * rendering/RenderRubyText.cpp:
1464 (WebCore::RenderRubyText::updateBeforeAfterContent):
1465 * rendering/RenderRubyText.h:
1467 2011-09-22 Ojan Vafai <ojan@chromium.org>
1469 refactor RenderFlexibleBox to use flex-flow aware methods
1470 https://bugs.webkit.org/show_bug.cgi?id=68665
1472 Reviewed by Tony Chang.
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.
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:
1517 2011-09-23 David Hyatt <hyatt@apple.com>
1519 https://bugs.webkit.org/show_bug.cgi?id=68719
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.
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.
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
1532 Reviewed by Anders Carlsson.
1534 Added new tests in fast/regions.
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:
1548 2011-09-23 Konstantin Scheglov <scheglov@google.com>
1550 Redrawing dirty parts of a large table is very slow
1551 https://bugs.webkit.org/show_bug.cgi?id=64546
1553 Reviewed by David Hyatt.
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.
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
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.
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:
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):
1603 2011-09-23 Mark Hahnenberg <mhahnenberg@apple.com>
1605 Add static version of JSCell::visitChildren
1606 https://bugs.webkit.org/show_bug.cgi?id=68404
1608 Reviewed by Darin Adler.
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.
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:
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:
1709 2011-09-23 Mario Sanchez Prada <msanchez@igalia.com>
1711 [GTK] Remove extra space at the beginning of the last line.
1712 https://bugs.webkit.org/show_bug.cgi?id=68710
1714 Reviewed by Gustavo Noronha Silva.
1716 * platform/network/soup/SocketStreamHandleSoup.cpp:
1718 2011-09-23 Mario Sanchez Prada <msanchez@igalia.com>
1720 [GTK] Fix coding style issues in ResourceRequestSoup.cpp
1721 https://bugs.webkit.org/show_bug.cgi?id=68707
1723 Reviewed by Xan Lopez.
1725 This patch fixes some issues as reported by check-webkit-style.
1727 * platform/network/soup/ResourceRequestSoup.cpp:
1728 (WebCore::ResourceRequest::updateFromSoupMessage):
1730 2011-09-22 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
1732 Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
1734 Include MSVC2010 in the list of compilers where incremental
1735 build is disabled (INCREMENTAL:NO).
1737 Change suggested by Simo Falt <simo.falt@nokia.com>, already present
1738 in the Qt-4.8 repository where the problem was identified.
1742 2011-09-23 Darin Adler <darin@apple.com>
1744 Try to fix warning seen in some 32-bit builds.
1746 * rendering/RenderBoxModelObject.cpp:
1747 (WebCore::backgroundRectAdjustedForBleedAvoidance):
1748 Use an explicit cast for the conversion from a double to a LayoutUnit.
1750 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
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
1755 Reviewed by Yury Semikhatsky.
1757 * inspector/front-end/SearchController.js:
1758 (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
1759 * inspector/front-end/inspector.js:
1760 (WebInspector._showAnchorLocationInPanel):
1762 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
1764 Web Inspector: InspectorStyleSheet should use stylesheet's original url, not final one.
1765 https://bugs.webkit.org/show_bug.cgi?id=68631
1767 Reviewed by Yury Semikhatsky.
1769 Test: http/tests/inspector/styles/styles-redirected-css.html
1771 * inspector/InspectorStyleSheet.cpp:
1772 (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1774 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
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
1779 Reviewed by Yury Semikhatsky.
1781 Test: http/tests/inspector/network/network-xhr-same-url-as-main-resource.html
1783 * inspector/InspectorResourceAgent.cpp:
1784 (WebCore::InspectorResourceAgent::didReceiveResponse):
1786 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
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
1791 Reviewed by Yury Semikhatsky.
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):
1804 2011-09-23 Deepak Sherveghar <bpwv64@motorola.com>
1806 [Gtk] Title attribute is not respected on option elements.
1807 https://bugs.webkit.org/show_bug.cgi?id=68615
1809 Reviewed by Martin Robinson.
1811 Set tooltip on PopupMenuGtk items created from GtkActions.
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.
1820 2011-09-23 Yael Aharon <yael.aharon@nokia.com>
1822 [Qt][Gtk] Wrong state when pausing a video in the "playing" event handler
1823 https://bugs.webkit.org/show_bug.cgi?id=68589
1825 Reviewed by Philippe Normand.
1827 Test: media/video-playing-and-pause.html
1829 As suggested by Alexis Menard on IRC, query gstreamer's state instead of using a cached value
1830 in MediaPlayerGstreamerPrivate::paused().
1832 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1833 (WebCore::MediaPlayerPrivateGStreamer::paused):
1835 2011-09-15 Pavel Podivilov <podivilov@chromium.org>
1837 Web Inspector: skip overlapping scripts when displaying concatenated content.
1838 https://bugs.webkit.org/show_bug.cgi?id=68144
1840 Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
1842 Reviewed by Pavel Feldman.
1844 * inspector/front-end/SourceFile.js:
1845 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
1846 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1848 2011-09-23 Ilya Tikhonovsky <loislo@chromium.org>
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
1853 Reviewed by Yury Semikhatsky.
1855 * inspector/front-end/TimelinePanel.js:
1856 (WebInspector.TimelinePanel.prototype._createFileSelector):
1858 2011-09-23 Sheriff Bot <webkit.review.bot@gmail.com>
1860 Unreviewed, rolling out r95383.
1861 http://trac.webkit.org/changeset/95383
1862 https://bugs.webkit.org/show_bug.cgi?id=68690
1864 It broke WebInspector.Timeline.LoadFromFile feature.
1865 (Requested by loislo on #webkit).
1867 * inspector/front-end/TimelinePanel.js:
1868 (WebInspector.TimelinePanel.prototype._createFileSelector):
1870 2011-09-23 Rob Buis <rbuis@rim.com>
1872 use after free in WebCore::SVGTRefElement::updateReferencedText
1873 https://bugs.webkit.org/show_bug.cgi?id=67555
1875 Reviewed by Nikolas Zimmermann.
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.
1881 Test: svg/custom/tref-clone-crash.html
1883 * svg/SVGTRefElement.cpp:
1884 (WebCore::SVGTRefElement::svgAttributeChanged):
1885 (WebCore::SVGTRefElement::insertedIntoDocument):
1886 * svg/SVGTRefElement.h:
1888 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
1890 ASSERTION FAILED: documentLoader in WebKit/Source/WebCore/inspector/InspectorInstrumentation.cpp(597)
1891 https://bugs.webkit.org/show_bug.cgi?id=68291
1893 Reviewed by Tony Chang.
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):
1906 2011-09-22 Tony Chang <tony@chromium.org>
1908 implement -webkit-flex-order
1909 https://bugs.webkit.org/show_bug.cgi?id=67432
1911 Reviewed by Ojan Vafai.
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.
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.
1920 Test: css3/flexbox/flex-order.html
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
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:
1945 2011-09-22 Darin Adler <darin@apple.com>
1947 Use AffineTransform scale functions in ShadowBlur::adjustBlurRadius
1948 https://bugs.webkit.org/show_bug.cgi?id=68667
1950 Reviewed by Simon Fraser.
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
1957 2011-09-22 Darin Adler <darin@apple.com>
1959 Remove unneeded type conversion from background bleed code
1960 https://bugs.webkit.org/show_bug.cgi?id=68669
1962 Reviewed by Geoffrey Garen.
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
1969 2011-09-22 Darin Adler <darin@apple.com>
1971 Refactor checks for antialiasing lines to share a single function
1972 https://bugs.webkit.org/show_bug.cgi?id=68666
1974 Reviewed by Dan Bernstein.
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.
1987 2011-09-22 Antoine Labour <piman@chromium.org>
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
1995 Reviewed by James Robinson.
1997 No functional change, no new test needed.
1999 * platform/graphics/chromium/LayerChromium.cpp:
2000 (WebCore::LayerChromium::LayerChromium):
2001 * platform/graphics/chromium/LayerChromium.h:
2003 2011-09-22 Tom Sepez <tsepez@chromium.org>
2005 Make XSSAuditor extract meaningful snippet from script blocks for comparison
2006 against the URL when checking for reflection. Avoids getting caugh up in
2008 https://bugs.webkit.org/show_bug.cgi?id=68094
2010 Reviewed by Adam Barth.
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
2016 * html/parser/XSSAuditor.cpp:
2017 (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
2018 (WebCore::XSSAuditor::extractCodeFragment):
2019 * html/parser/XSSAuditor.h:
2021 2011-09-22 Nate Chapin <japhet@chromium.org>
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
2028 Reviewed by Alexey Proskuryakov.
2030 No new tests, refactor only.
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:
2063 2011-09-22 Dean Jackson <dino@apple.com>
2065 Add ENABLE_CSS_FILTERS
2066 https://bugs.webkit.org/show_bug.cgi?id=68652
2068 Reviewed by Simon Fraser.
2070 * Configurations/FeatureDefines.xcconfig:
2072 2011-09-22 Anders Carlsson <andersca@apple.com>
2074 Make sure to update scrollbars in ScrollView::setFrameRect
2075 https://bugs.webkit.org/show_bug.cgi?id=68663
2077 Reviewed by Sam Weinig.
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.
2083 * platform/ScrollView.cpp:
2084 (WebCore::ScrollView::setFrameRect):
2086 2011-09-22 Jon Lee <jonlee@apple.com>
2088 Progress control gets cropped on the bottom
2089 https://bugs.webkit.org/show_bug.cgi?id=68302
2090 <rdar://problem/10069915>
2092 Reviewed by Kent Tamura.
2094 As it turns out the smaller control type does not get rendered either, so this patch
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.
2106 2011-09-22 David Hyatt <hyatt@apple.com>
2108 https://bugs.webkit.org/show_bug.cgi?id=68658
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.
2114 Reviewed by Anders Carlsson.
2116 Added new tests in fast/regions.
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
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.
2129 (WebCore::RenderBlock::matchedEndLine):
2130 Changed to call the new helper function that will check both floats and pagination.
2132 2011-09-22 Gavin Barraclough <barraclough@apple.com>
2134 Implement Function.prototype.bind
2135 https://bugs.webkit.org/show_bug.cgi?id=26382
2137 Reviewed by Sam Weinig.
2139 Test: fast/js/function-bind.html
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>
2156 https://bugs.webkit.org/show_bug.cgi?id=68650
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
2162 Reviewed by Sam Weinig.
2164 Covered by existing fast/regions tests.
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.
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.
2175 (WebCore::RenderBlock::positionNewFloats):
2176 Changed because more code moved from here into computeLogicalLocationForFloat.
2178 (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
2179 No changes. Just moved the function above the left offset function.
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.
2187 (WebCore::RenderBlock::logicalRightOffsetForLine):
2188 Changed to no longer do region fitting, since that's built into logicalRightOffsetForContent now.
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.
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.
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.
2203 (WebCore::RenderBlock::availableLogicalWidthForContent):
2204 New helper function that calls right - left (similar to the corresponding line function that includes
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.
2212 * rendering/RootInlineBox.cpp:
2213 (WebCore::RootInlineBox::RootInlineBox):
2214 (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2215 Sets the paginated line width from the current block logical height.
2217 * rendering/RootInlineBox.h:
2218 (WebCore::RootInlineBox::paginationStrut):
2219 (WebCore::RootInlineBox::setPaginationStrut):
2220 Fixed paginationStrut to be LayoutUnit instead of int.
2222 (WebCore::RootInlineBox::paginatedLineWidth):
2223 (WebCore::RootInlineBox::setPaginatedLineWidth):
2224 Added paginatedLineWidth getter/setter for caching the content width for a given root line.
2226 2011-09-21 Anders Carlsson <andersca@apple.com>
2228 Remove Widget::beforeMouseDown and Widget::afterMouseDown
2229 https://bugs.webkit.org/show_bug.cgi?id=68570
2231 Reviewed by Darin Adler.
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.
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.
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):
2247 * rendering/RenderWidget.cpp:
2248 Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
2250 2011-09-22 Sheriff Bot <webkit.review.bot@gmail.com>
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
2257 Wrong fix (Requested by rniwa on #webkit).
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):
2271 2011-09-22 Ryosuke Niwa <rniwa@webkit.org>
2273 Revert r95673 since it caused hundreds of tests to fail on Leopard / Snow Leopard.
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:
2285 2011-09-22 David Hyatt <hyatt@apple.com>
2287 https://bugs.webkit.org/show_bug.cgi?id=68638
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.
2293 Reviewed by Dan Bernstein and Adam Roben.
2295 * rendering/RenderFlowThread.cpp:
2296 (WebCore::RenderFlowThread::RenderFlowThread):
2297 (WebCore::RenderFlowThread::layout):
2298 * rendering/RenderFlowThread.h:
2300 2011-09-22 Anders Carlsson <andersca@apple.com>
2302 FrameView::invalidateRect and FrameView::setFrameRect shouldn't take LayoutRects
2303 https://bugs.webkit.org/show_bug.cgi?id=68639
2305 Reviewed by David Hyatt.
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).
2311 * page/FrameView.cpp:
2312 (WebCore::FrameView::invalidateRect):
2313 (WebCore::FrameView::setFrameRect):
2316 2011-09-22 Tim Horton <timothy_horton@apple.com>
2318 Unreviewed build fix (fixes warning about too many parens).
2320 * rendering/RenderBox.cpp:
2321 (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2323 2011-09-22 Anders Carlsson <andersca@apple.com>
2325 Widget::frameRect shouldn't be virtual
2326 https://bugs.webkit.org/show_bug.cgi?id=68637
2328 Reviewed by Sam Weinig.
2330 Nobody overrides Widget::frameRect and nobody should.
2332 * platform/Widget.h:
2334 2011-09-22 Sergey Glazunov <serg.glazunov@gmail.com>
2336 Ref protect shaders in V8WebGLRenderingContext::getAttachedShadersCallback
2337 https://bugs.webkit.org/show_bug.cgi?id=68630
2339 Reviewed by Adam Barth.
2341 Test: fast/canvas/webgl/shader-deleted-by-accessor.html
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:
2351 2011-09-05 Robert Hogan <robert@webkit.org>
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
2356 Reviewed by David Hyatt.
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().
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):
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):
2389 2011-09-22 Anders Carlsson <andersca@apple.com>
2391 Get rid of Widget::setBoundsSize
2392 https://bugs.webkit.org/show_bug.cgi?id=68491
2394 Reviewed by Sam Weinig.
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.
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:
2426 2011-09-21 David Hyatt <hyatt@apple.com>
2428 https://bugs.webkit.org/show_bug.cgi?id=68590
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.
2434 Covered by an existing regions test that exposes the issue.
2436 Reviewed by Adam Roben.
2438 * rendering/RenderBlock.cpp:
2439 (WebCore::RenderBlock::computeLogicalLocationForFloat):
2440 (WebCore::RenderBlock::positionNewFloats):
2441 * rendering/RenderBlock.h:
2443 2011-09-22 Leandro Gracia Gil <leandrogracia@chromium.org>
2445 Fire TextInput events on speech input, but not set/add any inputMethod attribute.
2446 https://bugs.webkit.org/show_bug.cgi?id=60451
2448 Reviewed by Ryosuke Niwa.
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.
2454 Test: fast/speech/input-ontextinput-event.html
2456 * dom/TextEventInputType.h:
2457 * html/shadow/TextControlInnerElements.cpp:
2458 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
2460 2011-09-20 Jason Liu <jason.liu@torchmobile.com.cn>
2462 Reviewed by Simon Fraser.
2464 CSS outline property on a narrow element has rabbit ear artifacts
2465 https://bugs.webkit.org/show_bug.cgi?id=36793
2467 Patch by Jason Liu <jason.liu@torchmobile.com.cn>
2468 Patch updated by Robert Hogan <robert@webkit.org>
2470 Test: fast/css/outline-narrowLine.html
2472 * rendering/RenderInline.cpp:
2473 (WebCore::RenderInline::paintOutlineForLine):
2475 2011-09-22 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
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
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.
2484 Reviewed by Martin Robinson.
2486 * platform/gtk/GtkPopupMenu.cpp:
2487 (WebCore::GtkPopupMenu::menuPositionFunction): Set pushIn to false in the menu position function.
2489 2011-09-22 Alpha Lam <hclam@chromium.org>
2491 Define export symbol correctly due to rename of pageScaleFactor to
2494 Not reviewed. Build fix.
2498 2011-09-22 Vsevolod Vlasov <vsevik@chromium.org>
2500 Web Inspector: Console is always scrolled to the top
2501 https://bugs.webkit.org/show_bug.cgi?id=67483
2503 Reviewed by Pavel Feldman.
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):
2522 2011-09-22 Alpha Lam <hclam@chromium.org>
2524 https://bugs.webkit.org/show_bug.cgi?id=68081
2525 Fix scroll in page scaling mode.
2527 Reviewed by Simon Fraser.
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.
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
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):
2554 (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
2555 main frame, otherwise 1.0
2557 * page/FrameView.cpp:
2558 (WebCore::FrameView::applyOverflowToViewport):
2559 (WebCore::FrameView::scrollXForFixedPosition):
2560 (WebCore::FrameView::scrollYForFixedPosition):
2562 2011-09-22 Andreas Kling <kling@webkit.org>
2564 CSS: Implement 'font' property in CSSComputedStyle.
2565 https://bugs.webkit.org/show_bug.cgi?id=66666
2567 Reviewed by Antti Koivisto.
2569 Test: fast/css/getComputedStyle/computed-style-font.html
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').
2578 (WebCore::lineHeightFromStyle): Factored out of getPropertyCSSValue().
2579 (WebCore::fontSizeFromStyle): Ditto.
2580 (WebCore::fontStyleFromStyle): Ditto.
2581 (WebCore::fontVariantFromStyle): Ditto.
2582 (WebCore::fontWeightFromStyle): Ditto.
2584 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
2585 implementation of the computed 'font' property (CSSPropertyFont.)
2587 2011-09-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
2589 [Qt] Redirection overflow errors have wrong error domain
2590 https://bugs.webkit.org/show_bug.cgi?id=68612
2592 Reviewed by Andreas Kling.
2594 Redirection overflow currently puts the URL hostname in the errorDomain field.
2595 Now redirection overflow errors will be classified as "HTTP" errors.
2597 * platform/network/qt/QNetworkReplyHandler.cpp:
2598 (WebCore::QNetworkReplyHandler::redirect):
2600 2011-09-22 James Robinson <jamesr@chromium.org>
2602 Unreviewed, rolling out r95699.
2603 http://trac.webkit.org/changeset/95699
2604 https://bugs.webkit.org/show_bug.cgi?id=67417
2606 Makes many chromium compositor tests crash
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:
2651 2011-09-22 Nat Duca <nduca@chromium.org>
2653 [chromium] Make CCThreadProxy draw
2654 https://bugs.webkit.org/show_bug.cgi?id=67417
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.
2660 Reviewed by James Robinson.
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:
2705 2011-09-21 Beth Dakin <bdakin@apple.com>
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
2710 <rdar://problem/10060379>
2712 Reviewed by Darin Adler.
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):
2723 Make the deviceScaleFactor convenience function just a namespace-level function in
2724 Page rather than a static member or Page.
2726 (WebCore::deviceScaleFactor):
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):
2739 2011-09-21 Tim Horton <timothy_horton@apple.com>
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>
2745 Reviewed by Simon Fraser.
2747 Factor the unmultiplied check out of the inner loop, resulting in a
2748 speed bump in ImageBufferData::getData.
2750 No new tests, performance improvement.
2752 * platform/graphics/cg/ImageBufferDataCG.cpp:
2753 (WebCore::ImageBufferData::getData):
2755 2011-09-21 Sameer Patil <mkrp87@motorola.com>
2757 :hover selector fails when hovering over a child select element with size attribute
2758 https://bugs.webkit.org/show_bug.cgi?id=67594
2760 Reviewed by Darin Adler.
2762 Test: fast/css/hover-affects-ancestor.html
2764 This patch addresses the problem of deactivation of the ancestor element :hover rules
2765 when hovered its contained elements.
2767 * rendering/RenderLayer.cpp:
2768 (WebCore::RenderLayer::updateHoverActiveState):
2770 2011-09-21 Sergey Glazunov <serg.glazunov@gmail.com>
2772 [Chromium] Protect message ports from being deleted in V8MessageEvent::portsAccessorGetter
2773 https://bugs.webkit.org/show_bug.cgi?id=68584
2775 Reviewed by Adam Barth.
2777 Test: fast/dom/message-port-deleted-by-accessor.html
2779 * bindings/v8/custom/V8MessageEventCustom.cpp:
2780 (WebCore::V8MessageEvent::portsAccessorGetter):
2782 2011-09-21 Anders Carlsson <andersca@apple.com>
2784 Add back protection against the NSView going away while handling mouseDown
2785 https://bugs.webkit.org/show_bug.cgi?id=68585
2787 Reviewed by Darin Adler.
2789 Add calls to RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(),
2790 as a followup fix to https://bugs.webkit.org/show_bug.cgi?id=68570.
2792 * page/mac/EventHandlerMac.mm:
2793 (WebCore::EventHandler::passMouseDownEventToWidget):
2795 2011-09-21 Julien Chaffraix <jchaffraix@webkit.org>
2797 Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
2798 https://bugs.webkit.org/show_bug.cgi?id=68133
2800 Reviewed by Darin Adler.
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
2808 GraphicsContext::getCTM crashes if called with a GraphicsContext that has painting
2809 disabled. RenderBox::paintMaskImages would thus crash if called in this condition.
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.
2815 * WebCore.exp.in: Added symbols of the newly export window.internals function.
2817 * page/FrameView.cpp:
2818 (WebCore::FrameView::updateControlTints): Split this function in 2 so that
2819 I can expose the internal paintControlTints.
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.
2825 * page/FrameView.h: Added paintControlTints.
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.
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.
2847 2011-09-19 Jer Noble <jer.noble@apple.com>
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
2852 Reviewed by Darin Adler.
2854 Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
2856 No new tests, as this feature is not yet enabled by default.
2858 * bindings/js/JSDOMWindowCustom.cpp:
2859 (WebCore::JSDOMWindow::webkitAudioContext):
2861 2011-09-21 Anders Carlsson <andersca@apple.com>
2863 Remove checks for Leopard-only Objective-C APIs
2864 https://bugs.webkit.org/show_bug.cgi?id=68579
2866 Reviewed by Sam Weinig.
2868 We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
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:
2879 2011-09-21 Anders Carlsson <andersca@apple.com>
2881 Remove Widget::beforeMouseDown and Widget::afterMouseDown
2882 https://bugs.webkit.org/show_bug.cgi?id=68570
2884 Reviewed by Sam Weinig.
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.
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):
2897 * rendering/RenderWidget.cpp:
2898 Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
2900 2011-09-21 Abhishek Arya <inferno@chromium.org>
2902 Not use anonymousContainer on beforeChild calculation
2903 and let later code handle it. Fix style update on block-level
2905 https://bugs.webkit.org/show_bug.cgi?id=67656
2907 Reviewed by David Hyatt.
2909 Test: fast/table/quote-text-around-iframe.html
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):
2920 2011-09-21 David Hyatt <hyatt@apple.com>
2922 https://bugs.webkit.org/show_bug.cgi?id=68562
2924 Pagination struts don't update properly when collapsing margin estimates are wrong.
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.
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.
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.
2936 Reviewed by Sam Weinig.
2938 Added fast/regions/text-regions-split-small-pagination.html
2940 * rendering/RenderBlock.cpp:
2941 (WebCore::RenderBlock::estimateLogicalTopPosition):
2942 (WebCore::RenderBlock::layoutBlockChild):
2943 (WebCore::RenderBlock::adjustBlockChildForPagination):
2944 * rendering/RenderBlock.h:
2946 2011-09-21 James Robinson <jamesr@chromium.org>
2948 [chromium] SharedGraphicsContext3D's context should not be destroyed during atexit
2949 https://bugs.webkit.org/show_bug.cgi?id=68558
2951 Reviewed by Stephen White.
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
2959 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2960 (WebCore::SharedGraphicsContext3D::get):
2962 2011-09-21 Sergey Glazunov <serg.glazunov@gmail.com>
2964 [Chromium] Protect the Frame in V8HTMLDocument::openCallback
2965 https://bugs.webkit.org/show_bug.cgi?id=68555
2967 Reviewed by Nate Chapin.
2969 Test: fast/dom/frame-deleted-in-document-open.html
2971 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2972 (WebCore::V8HTMLDocument::openCallback):
2974 2011-09-21 Adam Klein <adamk@chromium.org>
2976 Clean up CSS Counter code
2977 https://bugs.webkit.org/show_bug.cgi?id=68492
2979 Reviewed by Tony Chang.
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.
2988 Test: fast/css/counters/getCounterValue.html
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):
2997 * css/CSSStyleSelector.cpp:
2998 (WebCore::CSSStyleSelector::applyProperty):
2999 Convert from a CSS_IDENT to an EListStyleType.
3001 (WebCore::Counter::listStyleIdent):
3002 Renamed from listStyleNumber to match its new functionality.
3004 2011-09-21 Chris Marrin <cmarrin@apple.com>
3006 Check in WebCore.vcproj file unchanged but written like MSDev likes it
3010 * WebCode.vcproj/WebCore.vcproj:
3012 2011-09-21 Stephen White <senorblanco@chromium.org>
3014 [chromium] Optimize ImageBuffer constructor when accelerated
3015 https://bugs.webkit.org/show_bug.cgi?id=68501
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).
3023 Reviewed by James Robinson.
3025 Covered by existing tests.
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.
3039 2011-09-21 Dan Bernstein <mitz@apple.com>
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
3044 Reviewed by Darin Adler.
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".
3049 2011-09-21 Dan Bernstein <mitz@apple.com>
3051 <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
3052 https://bugs.webkit.org/show_bug.cgi?id=68550
3054 Reviewed by Darin Adler.
3056 Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
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).
3063 2011-09-21 ChangSeok Oh <shivamidow@gmail.com>
3065 [GTK] Fix build break when enabling webgl on r95593
3066 https://bugs.webkit.org/show_bug.cgi?id=68502
3068 Reviewed by Martin Robinson.
3070 Add PassOwnPtr.h to GC3DPrivate.h and remove useless one from GC3DGtk.cpp & GC3DPrivate.cpp
3074 * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
3075 * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
3076 * platform/graphics/gtk/GraphicsContext3DPrivate.h:
3078 2011-09-21 Vsevolod Vlasov <vsevik@chromium.org>
3080 Web Inspector: clear resource agent resource cache upon resource agent's disable.
3081 https://bugs.webkit.org/show_bug.cgi?id=67995
3083 Reviewed by Pavel Feldman.
3085 Test: http/tests/inspector/network/network-disabling-check-no-memory-leak.html
3087 * inspector/InspectorResourceAgent.cpp:
3088 (WebCore::InspectorResourceAgent::disable):
3090 2011-09-21 David Hyatt <hyatt@apple.com>
3092 https://bugs.webkit.org/show_bug.cgi?id=68543
3094 Make sure that when regions change dimensions we recompute pagination slices.
3096 Reviewed by Simon Fraser.
3098 Added new tests in fast/regions.
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):
3115 2011-09-21 Xianzhu Wang <wangxianzhu@chromium.org>
3117 Ensure TestWebKitAPI works on mac, win, chromium-mac and chromium-linux
3118 https://bugs.webkit.org/show_bug.cgi?id=68206
3120 Reviewed by Tony Chang.
3122 Added two new wtf headers into ForwardingHeaders/wtf to make
3123 #include <wtf/...h> cross-platform.
3124 No new tests needed.
3126 * ForwardingHeaders/wtf/MetaAllocator.h: Added.
3127 * ForwardingHeaders/wtf/RedBlackTree.h: Added.
3129 2011-09-21 David Delaune <david.delaune@googlemail.com>
3131 [WinCairo] IconDatabase::defaultIcon always fails for non-CAN_THEME_URL_ICON builds.
3132 https://bugs.webkit.org/show_bug.cgi?id=67469
3134 Reviewed by Brent Fulgham.
3136 No new functionality added in this change.
3138 * loader/icon/IconDatabase.cpp: defining CAN_THEME_URL_ICON for the WIN_CAIRO
3140 2011-09-20 Ryosuke Niwa <rniwa@webkit.org>
3142 Span element gets produced using backspace/delete to merge header with paragraph
3143 https://bugs.webkit.org/show_bug.cgi?id=68413
3145 Reviewed by Darin Adler.
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.
3151 Test: editing/deleting/merge-paragraph-from-p-with-style.html
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):
3162 2011-09-21 Alice Boxhall <aboxhall@chromium.org>
3164 Report AXValueChanged when value changes in element with role=textbox.
3165 https://bugs.webkit.org/show_bug.cgi?id=68201
3167 Reviewed by Chris Fleizach.
3169 Test: platform/mac/accessibility/textbox-role-reports-notifications.html
3171 * accessibility/AccessibilityObject.cpp:
3172 (WebCore::AccessibilityObject::isARIATextControl):
3173 * accessibility/AccessibilityObject.h:
3174 * accessibility/AccessibilityRenderObject.cpp:
3175 (WebCore::AccessibilityRenderObject::contentChanged):
3176 (WebCore::AccessibilityRenderObject::childrenChanged):
3178 2011-09-21 Pavel Feldman <pfeldman@google.com>
3180 Web Inspector: introduce Page.enable and Page.disable
3181 https://bugs.webkit.org/show_bug.cgi?id=68530
3183 Otherwise protocol is violating the contract of not sending
3184 notifications by default.
3186 Reviewed by Yury Semikhatsky.
3188 * inspector/Inspector.json:
3190 2011-09-21 Pavel Feldman <pfeldman@google.com>
3192 Web Inspector: add minimal error handling to the DOM breakpoints.
3193 https://bugs.webkit.org/show_bug.cgi?id=68537
3195 Reviewed by Yury Semikhatsky.
3197 * inspector/InspectorDOMAgent.h:
3198 * inspector/InspectorDOMDebuggerAgent.cpp:
3199 (WebCore::domTypeForName):
3200 (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
3201 (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
3203 2011-09-21 Ilya Tikhonovsky <loislo@chromium.org>
3205 Web Inspector: make WebInspector a bit more timeline friendly.
3206 https://bugs.webkit.org/show_bug.cgi?id=68534
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.
3212 Reviewed by Yury Semikhatsky.
3214 * inspector/CodeGeneratorInspector.pm:
3215 * inspector/front-end/TimelinePanel.js:
3216 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3218 2011-09-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
3220 [Qt][WK2] Implement Download support in WebProcess
3221 https://bugs.webkit.org/show_bug.cgi?id=68153
3223 Reviewed by Andreas Kling.
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.
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:
3236 2011-09-21 Pavel Feldman <pfeldman@google.com>
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
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
3246 Reviewed by Yury Semikhatsky.
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:
3259 * inspector/front-end/inspector.js:
3260 (WebInspector.buildHighlightConfig):
3262 2011-09-21 Andreas Kling <kling@webkit.org>
3264 Protect against misuse of EventListenerIterator.
3265 https://bugs.webkit.org/show_bug.cgi?id=68364
3267 Reviewed by Darin Adler.
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.
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:
3285 2011-09-21 Pavel Feldman <pfeldman@google.com>
3287 Web Inspector: minor fixes in the DOM domain of the protocol.
3288 https://bugs.webkit.org/show_bug.cgi?id=68517
3290 Reviewed by Yury Semikhatsky.
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):
3299 2011-09-16 Pavel Feldman <pfeldman@google.com>
3301 Web Inspector: limit the use of "Resource" term in the protocol.
3302 https://bugs.webkit.org/show_bug.cgi?id=68250
3304 Reviewed by Yury Semikhatsky.
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):
3320 2011-09-21 Sheriff Bot <webkit.review.bot@gmail.com>
3322 Unreviewed, rolling out r95608.
3323 http://trac.webkit.org/changeset/95608
3324 https://bugs.webkit.org/show_bug.cgi?id=68521
3326 breaks GTK and Windows builds. Please check EWS next time.
3327 (Requested by philn-tp on #webkit).
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):
3340 (WebCore::Frame::pageScaleFactor):
3342 * page/FrameView.cpp:
3343 (WebCore::FrameView::applyOverflowToViewport):
3344 (WebCore::FrameView::scrollXForFixedPosition):
3345 (WebCore::FrameView::scrollYForFixedPosition):
3347 2011-09-21 Pavel Feldman <pfeldman@google.com>
3349 Web Inspector: console panel's scroller is not properly aligned.
3350 https://bugs.webkit.org/show_bug.cgi?id=68448
3352 Reviewed by Yury Semikhatsky.
3354 * inspector/front-end/inspector.css:
3356 (#console-messages):
3357 (#drawer #console-messages):
3359 2011-09-20 Alpha Lam <hclam@chromium.org>
3361 https://bugs.webkit.org/show_bug.cgi?id=68081
3362 Fix scroll in page scaling mode.
3364 Reviewed by Simon Fraser.
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.
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
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):
3391 (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
3392 main frame, otherwise 1.0
3394 * page/FrameView.cpp:
3395 (WebCore::FrameView::applyOverflowToViewport):
3396 (WebCore::FrameView::scrollXForFixedPosition):
3397 (WebCore::FrameView::scrollYForFixedPosition):
3399 2011-09-21 Andras Becsi <andras.becsi@nokia.com>
3401 [Qt] Remove Qt specific code from css/SelectorChecker.cpp
3402 https://bugs.webkit.org/show_bug.cgi?id=67702
3404 Reviewed by Csaba Osztrogonác.
3406 No new tests needed.
3408 * css/SelectorChecker.cpp: Move Qt-specific code to the Qt-specific WebPlatformStrategies.
3409 (WebCore::SelectorChecker::determineLinkStateSlowCase):
3410 * platform/VisitedLinkStrategy.h:
3412 2011-09-16 MORITA Hajime <morrita@google.com>
3414 Style changes on forwarded shadow children should trigger shadow renderer reconstruction.
3415 https://bugs.webkit.org/show_bug.cgi?id=68228
3417 Reviewed by Dimitri Glazkov.
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.
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.
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().
3437 No new tests. This is a defensive change. There is no visible
3438 difference at this time.
3440 * dom/NodeRenderingContext.cpp:
3441 (WebCore::NodeRenderingContext::NodeRenderingContext):
3442 * dom/ShadowRoot.cpp:
3443 (WebCore::ShadowRoot::isInclusionSelectorActive):
3446 2011-09-20 MORITA Hajime <morrita@google.com>
3448 <meter> doesn't update rendering when its value is changed.
3449 https://bugs.webkit.org/show_bug.cgi?id=67614
3451 Reviewed by Dimitri Glazkov.
3453 It lacks repaint() when the value is changed.
3455 For non-native appearance it works because the indicator is
3456 implemented in shadow DOM, for native appearance, repainting should be
3459 Test: fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html
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):
3469 2011-09-20 Kent Tamura <tkent@chromium.org>
3471 Move RenderObject::markContainingBlocksForLayout() to RenderObject.cpp.
3472 https://bugs.webkit.org/show_bug.cgi?id=67989