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