Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1303)

Side by Side Diff: Source/WebCore/ChangeLog

Issue 6578030: Merge 78787 - 2011-02-16 Victoria Kirst <vrk@google.com>... (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/648/
Patch Set: Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | Source/WebCore/platform/graphics/chromium/VideoFrameChromium.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 2011-02-19 Charlie Reis <creis@chromium.org>
2
3 Reviewed by Mihai Parparita.
4
5 Ensure loading has stopped in HistoryController::goToItem
6 https://bugs.webkit.org/show_bug.cgi?id=54517
7
8 Avoid stopping all loaders in goToItem for same document navigations
9 or pseudo-back-forward URLs. Make HistoryController::goToItem private
10 to force callers to go through Page::goToItem. Also add a callback to
11 FrameLoaderClient to let clients decide whether to stop loading first.
12
13 Test: http/tests/navigation/forward-to-fragment-fires-onload.html
14
15 * loader/EmptyClients.h:
16 * loader/FrameLoader.h:
17 * loader/FrameLoaderClient.h:
18 * loader/HistoryController.cpp:
19 * loader/HistoryController.h:
20 * page/Page.cpp:
21
22 2011-02-19 Adam Barth <abarth@webkit.org>
23
24 Reviewed by Daniel Bates.
25
26 Fix xssAuditor/iframe-injection.html
27 https://bugs.webkit.org/show_bug.cgi?id=54591
28
29 We should block the iframe src attribute. Although this technically
30 can't be used to run script, it's a pretty easy vector for stealing
31 passwords.
32
33 * html/parser/XSSFilter.cpp:
34 (WebCore::XSSFilter::filterTokenInitial):
35 (WebCore::XSSFilter::filterIframeToken):
36 * html/parser/XSSFilter.h:
37
38 2011-02-18 Tony Gentilcore <tonyg@chromium.org>
39
40 Reviewed by Eric Seidel.
41
42 Let the parser yield for layout before running scripts
43 https://bugs.webkit.org/show_bug.cgi?id=54355
44
45 Prior to this patch, the parser would yield to perform a layout/paint be fore running a
46 script only if the script or a stylesheet blocking the script is not loa ded yet. Since we
47 don't preload scan into the body while parsing the head, typically we'll block on a script
48 early in the body that causes us to yield to do the first paint within a reasonable time.
49
50 However, I'm planning to change the PreloadScanner to scan into the body from the head.
51 That significantly improves overall load time, but would hurt first pain t time because
52 fewer scripts would be blocked during parsing and thus wouldn't yield.
53
54 This change causes us to yield before running scripts if we haven't pain ted yet (regardless
55 of whether or not the script is loaded). In addition to allowing the abo ve mentioned
56 PreloadScanner change to be implemented without regressing first paint t ime, this also
57 improves first paint time by itself.
58
59 I tested Alexa's top 45 websites using Web Page Replay to control the co ntent and simulate
60 bandwidth. This patch improved average first paint time by 1% over an un limited connection,
61 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
62 signifcant change in page load time.
63
64 Within the pages tested, 33 had no statistically significant change in t ime to first paint,
65 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
66 are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
67
68 * html/parser/HTMLDocumentParser.cpp:
69 (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield p oint.
70 (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
71 means that we are waiting for a script. Bug 54574 changed pumpTokenizer( ) so that it does
72 the right thing whether we are just before a token or waiting for a scri pt. Now that we may
73 yield before a token or before a script, this may be called while paused .
74 * html/parser/HTMLParserScheduler.cpp:
75 (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed min imumLayoutDelay()
76 to return m_extraLayoutDelay instead of 0 as a minimum. So checking !min imumLayoutDelay()
77 no longer works. The fix is to change it to check minimumLayoutDelay() = =
78 m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
79 do this in a follow up.
80 (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
81 * page/FrameView.h:
82 (WebCore::FrameView::hasEverPainted): Added.
83
84 2011-02-18 Dawit Alemayehu <adawit@kde.org>
85
86 Reviewed by Andreas Kling.
87
88 [Qt] Button Element is rendered w/ text off-center.
89 https://bugs.webkit.org/show_bug.cgi?id=53373
90
91 Test: LayoutTests/fast/forms/button-white-space.html
92
93 * platform/qt/RenderThemeQt.cpp:
94 (WebCore::RenderThemeQt::adjustButtonStyle):
95
96 2011-02-18 Jonathan Backer <backer@chromium.org>
97
98 Reviewed by Eric Seidel.
99
100 [chromium] Fix leak of texture IDs in compositor.
101 https://bugs.webkit.org/show_bug.cgi?id=54750
102
103 No new tests. It is extremely unlikely that this leak would have
104 any user visible impact because only a few bytes of space are wasted
105 (we're leaking texture IDs, not actual textures) and the space of
106 texture IDs is large (32 bits).
107
108 * platform/graphics/chromium/TextureManager.cpp:
109 (WebCore::TextureManager::requestTexture):
110
111 2011-02-18 Yi Shen <yi.4.shen@nokia.com>
112
113 Reviewed by Tor Arne Vestbø.
114
115 Always display the media controls when requiresFullscreenForVideoPlaybac k() is true
116 https://bugs.webkit.org/show_bug.cgi?id=54308
117
118 For video element, it should have controls when
119 Chrome::requiresFullscreenForVideoPlayback() is true.
120
121 * html/HTMLMediaElement.cpp:
122 (WebCore::HTMLMediaElement::controls):
123
124 2011-02-18 Adrienne Walker <enne@google.com>
125
126 Reviewed by Kenneth Russell.
127
128 [chromium] Use nearest-neighbor filtering for root layer.
129 https://bugs.webkit.org/show_bug.cgi?id=54409
130 https://bugs.webkit.org/show_bug.cgi?id=54509
131
132 This setting creates more consistent images for LayoutTests and
133 prevents small floating point errors in texture coordinates from
134 creating off-by-one pixel color differences.
135
136 * platform/graphics/chromium/LayerTilerChromium.cpp:
137 (WebCore::LayerTilerChromium::update):
138
139 2011-02-18 Gyuyoung Kim <gyuyoung.kim@samsung.com>
140
141 Reviewed by Kent Tamura.
142
143 [EFL] Fix coding style errors in RenderThemeEfl.h
144 https://bugs.webkit.org/show_bug.cgi?id=54693
145
146 Fix style errors in RenderThemeEfl.h
147
148 * platform/efl/RenderThemeEfl.h:
149
150 2011-02-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
151
152 Reviewed by Andreas Kling.
153
154 [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
155 https://bugs.webkit.org/show_bug.cgi?id=54742
156
157 This change was applied in the Qt repository (qt/src/3rdparty/webkit),
158 so we should do the same here in QtWebKit.
159
160 Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
161 a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
162
163 The previously used name "Nokia, Qt" was not usable for Nokia
164 Content Signing, which only allows "Nokia" as the visible vendor
165 name. The unique vendor ID remains as "Nokia, Qt"
166
167 * WebCore.pro:
168
169 2011-02-18 Alexis Menard <alexis.menard@openbossa.org>
170
171 Reviewed by Andreas Kling.
172
173 [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue app ears on the
174 menu bar due to flash.
175 https://bugs.webkit.org/show_bug.cgi?id=54741
176
177 Only show plugins with a valid size. We then don't involve X11 if there is
178 nothing to see anyway.
179
180 * plugins/qt/PluginViewQt.cpp:
181 (WebCore::PluginView::updatePluginWidget):
182 (WebCore::PluginView::platformStart):
183
184 2011-02-18 Ryuan Choi <ryuan.choi@samsung.com>
185
186 Reviewed by Kent Tamura.
187
188 [EFL] Remove GDK dependency.
189 https://bugs.webkit.org/show_bug.cgi?id=53978
190
191 Remove GLIB_SUPPORT macro in GDK related code.
192 Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
193
194 * CMakeListsEfl.txt:
195 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
196 (WebCore::getDefaultFontOptions):
197
198 2011-02-18 Noel Gordon <noel.gordon@gmail.com>
199
200 Reviewed by James Robinson.
201
202 [Chromium] Add elliptical gradient support to GradientSkia
203 https://bugs.webkit.org/show_bug.cgi?id=51841
204
205 Covered by existing tests, these need new rebaselines once this patch
206 lands for chrome linux, win32
207
208 fast/gradients/css3-color-stop-units.html
209 fast/gradients/css3-color-stops.html
210 fast/gradients/css3-linear-angle-gradients.html
211 fast/gradients/css3-radial-gradients.html
212 fast/gradients/css3-radial-gradients2.html
213 fast/gradients/css3-radial-gradients3.html
214 fast/gradients/css3-repeating-radial-gradients.html
215
216 * platform/graphics/skia/GradientSkia.cpp:
217 (WebCore::Gradient::platformGradient):
218
219 2011-02-18 James Robinson <jamesr@chromium.org>
220
221 Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
222
223 * platform/graphics/chromium/ContentLayerChromium.cpp:
224 (WebCore::ContentLayerChromium::updateTextureIfNeeded):
225
226 2011-02-18 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
227
228 Reviewed by Kenneth Rohde Christiansen.
229
230 Tiled backing store area is too big.
231 Error in area calculcation causes size of backing store
232 up to 6 times bigger than viewport with default multipliers.
233 https://bugs.webkit.org/show_bug.cgi?id=54587
234
235 * platform/graphics/TiledBackingStore.cpp:
236 (WebCore::TiledBackingStore::createTiles):
237
238 2011-02-18 Beth Dakin <bdakin@apple.com>
239
240 Reviewed by Sam Weinig.
241
242 Fix for <rdar://problem/9018729> Horizontal scroller doesn't
243 appear when loading a page with a Horizontal scrollbar from
244 the back/forward cache.
245
246 This patch adds a new bool member variable to FrameView to
247 keep track of whether we are loading a page from the back/
248 forward cache. If we are, don't suppress scrollbars on
249 first layout.
250 * history/CachedFrame.cpp:
251 (WebCore::CachedFrameBase::restore):
252 * page/FrameView.cpp:
253 (WebCore::FrameView::FrameView):
254 (WebCore::FrameView::reset):
255 (WebCore::FrameView::layout):
256 * page/FrameView.h:
257 (WebCore::FrameView::setIsRestoringFromBackForward):
258 (WebCore::FrameView::isRestoringFromBackForward):
259
260 2011-02-18 Patrick Gansterer <paroga@webkit.org>
261
262 Unreviewed WinCE build fix for r78846.
263
264 * platform/graphics/wince/FontWinCE.cpp:
265 (WebCore::TextRunComponent::TextRunComponent):
266 * platform/graphics/wince/GraphicsContextWinCE.cpp:
267 (WebCore::GraphicsContext::drawLineForText):
268 (WebCore::GraphicsContext::drawLineForTextChecking):
269 (WebCore::GraphicsContext::drawText):
270 * platform/wince/FileChooserWinCE.cpp:
271 (WebCore::FileChooser::basenameForWidth):
272
273 2011-02-18 Emil A Eklund <eae@chromium.org>
274
275 Reviewed by Darin Adler.
276
277 Crash in EventHandler::sendContextMenuEventForKey
278 https://bugs.webkit.org/show_bug.cgi?id=54495
279
280 Test: fast/events/menu-keydown-on-hidden-element.html
281
282 * page/EventHandler.cpp:
283 (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
284
285 2011-02-15 Adrienne Walker <enne@google.com>
286
287 Reviewed by James Robinson.
288
289 [chromium] Clean up shader code from LayerChromium classes
290 https://bugs.webkit.org/show_bug.cgi?id=54484
291
292 This is a refactoring and there should be no change in functionality.
293 All shader code is pulled out into classes in ShaderChromium.
294 The SharedValues classes are now turned into ProgramBinding, one per
295 shader program. These contain shader classes that know about what
296 variables they can bind.
297
298 * WebCore.gypi:
299 * platform/graphics/chromium/CanvasLayerChromium.cpp:
300 (WebCore::CanvasLayerChromium::draw):
301 * platform/graphics/chromium/CanvasLayerChromium.h:
302 * platform/graphics/chromium/ContentLayerChromium.cpp:
303 (WebCore::ContentLayerChromium::draw):
304 * platform/graphics/chromium/ContentLayerChromium.h:
305 * platform/graphics/chromium/GeometryBinding.cpp: Added.
306 (WebCore::GeometryBinding::GeometryBinding):
307 (WebCore::GeometryBinding::~GeometryBinding):
308 (WebCore::GeometryBinding::prepareForDraw):
309 * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCo re/platform/graphics/chromium/PluginLayerChromium.h.
310 (WebCore::GeometryBinding::initialized):
311 (WebCore::GeometryBinding::context):
312 (WebCore::GeometryBinding::quadVerticesVbo):
313 (WebCore::GeometryBinding::quadElementsVbo):
314 (WebCore::GeometryBinding::positionAttribLocation):
315 (WebCore::GeometryBinding::texCoordAttribLocation):
316 * platform/graphics/chromium/LayerChromium.cpp:
317 (WebCore::LayerChromium::drawDebugBorder):
318 * platform/graphics/chromium/LayerChromium.h:
319 * platform/graphics/chromium/LayerRendererChromium.cpp:
320 (WebCore::LayerRendererChromium::drawLayers):
321 (WebCore::LayerRendererChromium::initializeSharedObjects):
322 (WebCore::LayerRendererChromium::cleanupSharedObjects):
323 * platform/graphics/chromium/LayerRendererChromium.h:
324 (WebCore::LayerRendererChromium::sharedGeometry):
325 (WebCore::LayerRendererChromium::borderProgram):
326 (WebCore::LayerRendererChromium::contentLayerProgram):
327 (WebCore::LayerRendererChromium::canvasLayerProgram):
328 (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
329 (WebCore::LayerRendererChromium::videoLayerYUVProgram):
330 (WebCore::LayerRendererChromium::pluginLayerProgram):
331 (WebCore::LayerRendererChromium::renderSurfaceProgram):
332 (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
333 (WebCore::LayerRendererChromium::tilerProgram):
334 * platform/graphics/chromium/LayerTilerChromium.cpp:
335 (WebCore::LayerTilerChromium::draw):
336 (WebCore::LayerTilerChromium::drawTexturedQuad):
337 * platform/graphics/chromium/LayerTilerChromium.h:
338 * platform/graphics/chromium/PluginLayerChromium.cpp:
339 (WebCore::PluginLayerChromium::draw):
340 * platform/graphics/chromium/PluginLayerChromium.h:
341 * platform/graphics/chromium/ProgramBinding.cpp: Added.
342 (WebCore::ProgramBindingBase::ProgramBindingBase):
343 (WebCore::ProgramBindingBase::~ProgramBindingBase):
344 (WebCore::ProgramBindingBase::init):
345 (WebCore::ProgramBindingBase::loadShader):
346 (WebCore::ProgramBindingBase::createShaderProgram):
347 * platform/graphics/chromium/ProgramBinding.h: Added.
348 (WebCore::ProgramBindingBase::program):
349 (WebCore::ProgramBindingBase::initialized):
350 (WebCore::ProgramBinding::ProgramBinding):
351 (WebCore::ProgramBinding::vertexShader):
352 (WebCore::ProgramBinding::fragmentShader):
353 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
354 (WebCore::RenderSurfaceChromium::drawSurface):
355 * platform/graphics/chromium/RenderSurfaceChromium.h:
356 * platform/graphics/chromium/ShaderChromium.cpp: Added.
357 (WebCore::VertexShaderPosTex::VertexShaderPosTex):
358 (WebCore::VertexShaderPosTex::init):
359 (WebCore::VertexShaderPosTex::getShaderString):
360 (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
361 (WebCore::VertexShaderPosTexYUVStretch::init):
362 (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
363 (WebCore::VertexShaderPos::VertexShaderPos):
364 (WebCore::VertexShaderPos::init):
365 (WebCore::VertexShaderPos::getShaderString):
366 (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
367 (WebCore::VertexShaderPosTexTransform::init):
368 (WebCore::VertexShaderPosTexTransform::getShaderString):
369 (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
370 (WebCore::FragmentTexAlphaBinding::init):
371 (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
372 (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
373 (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
374 (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask ):
375 (WebCore::FragmentShaderRGBATexAlphaMask::init):
376 (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
377 (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
378 (WebCore::FragmentShaderYUVVideo::init):
379 (WebCore::FragmentShaderYUVVideo::getShaderString):
380 (WebCore::FragmentShaderColor::FragmentShaderColor):
381 (WebCore::FragmentShaderColor::init):
382 (WebCore::FragmentShaderColor::getShaderString):
383 * platform/graphics/chromium/ShaderChromium.h: Added.
384 (WebCore::VertexShaderPosTex::matrixLocation):
385 (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
386 (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
387 (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
388 (WebCore::VertexShaderPos::matrixLocation):
389 (WebCore::VertexShaderPosTexTransform::matrixLocation):
390 (WebCore::VertexShaderPosTexTransform::texTransformLocation):
391 (WebCore::FragmentTexAlphaBinding::alphaLocation):
392 (WebCore::FragmentTexAlphaBinding::samplerLocation):
393 (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
394 (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
395 (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
396 (WebCore::FragmentShaderYUVVideo::yTextureLocation):
397 (WebCore::FragmentShaderYUVVideo::uTextureLocation):
398 (WebCore::FragmentShaderYUVVideo::vTextureLocation):
399 (WebCore::FragmentShaderYUVVideo::alphaLocation):
400 (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
401 (WebCore::FragmentShaderYUVVideo::signAdjLocation):
402 (WebCore::FragmentShaderColor::colorLocation):
403 * platform/graphics/chromium/VideoLayerChromium.cpp:
404 (WebCore::VideoLayerChromium::draw):
405 (WebCore::VideoLayerChromium::drawYUV):
406 (WebCore::VideoLayerChromium::drawRGBA):
407 * platform/graphics/chromium/VideoLayerChromium.h:
408
409 2011-02-18 James Robinson <jamesr@chromium.org>
410
411 Reviewed by Kenneth Russell.
412
413 [chromium] Update texture for ContentLayerChromiums in draw() call inste ad of updateContents..() call
414 https://bugs.webkit.org/show_bug.cgi?id=54315
415
416 This defers all operations on the compositor's GL context until the
417 draw() call which is a prerequisite for moving the draw() off-thread.
418 Also cleans up the update cycle a bit - there were some unused local
419 variables and whatnot.
420
421 One consequence of this change is that the upload buffer is retained
422 across updates now instead of allocated by each paint. This is
423 necessary so that the full layer contents can be uploaded if the
424 texture manager evicts the layer's backing texture. This costs more
425 persistent memory but avoids lots of allocator churn on updates.
426 Another nonobvious detail is that I have to update the texture for
427 ContentLayerChromiums in bindContentsTexture() because mask layers
428 never draw(), they are instead bound to the secondary texture unit.
429
430 * platform/graphics/chromium/ContentLayerChromium.cpp:
431 (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
432 (WebCore::ContentLayerChromium::updateContentsIfDirty):
433 (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
434 (WebCore::ContentLayerChromium::resizeUploadBuffer):
435 (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLo ckerPixels):
436 (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoL ockerPixels):
437 (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
438 (WebCore::ContentLayerChromium::updateTextureIfNeeded):
439 (WebCore::ContentLayerChromium::draw):
440 (WebCore::ContentLayerChromium::unreserveContentsTexture):
441 (WebCore::ContentLayerChromium::bindContentsTexture):
442 * platform/graphics/chromium/ContentLayerChromium.h:
443 * platform/graphics/chromium/ImageLayerChromium.cpp:
444 (WebCore::ImageLayerChromium::updateContentsIfDirty):
445 * platform/graphics/chromium/LayerChromium.cpp:
446 (WebCore::LayerChromium::setBounds):
447 * platform/graphics/chromium/LayerChromium.h:
448
449 2011-02-18 Kenneth Russell <kbr@google.com>
450
451 Unreviewed, Chromium build fix on certain Linux platforms.
452
453 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
454
455 2011-02-18 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
456
457 Reviewed by Kenneth Rohde Christiansen.
458
459 [Qt] Implement client based geolocation for qtport
460 https://bugs.webkit.org/show_bug.cgi?id=42629
461
462 Implements client based geolocation for qtwebkit. Removed old code relat ed to non-client based geolocation
463
464 No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
465
466 * WebCore.pro:
467 * features.pri:
468 * platform/qt/GeolocationServiceQt.cpp: Removed.
469 * platform/qt/GeolocationServiceQt.h: Removed.
470
471 2011-02-18 Yael Aharon <yael.aharon@nokia.com>
472
473 Reviewed by Dave Hyatt.
474
475 Add support for dir=auto
476 https://bugs.webkit.org/show_bug.cgi?id=50916
477
478 When an element has dir attribute with value "auto", call defaultWriting Mode
479 to find its directionality.
480 Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
481 and check this flag. This flag is set on every node between an element w ith
482 dir=auto attribute and its first text node. Changes in the DOM between t hose
483 elements will trigger re-evaluating the directionality, but changes not
484 between those element do not need to be concerned.
485 The DOM hooks were added to childrenChanged, and to parseMappedAttribute .
486 The directionality is evaluated when children are added, and cleared whe n they are
487 removed. Directionality flag is also cleared on a child that is no longe r determining
488 the directionality due to a sibling being added before that child.
489
490 Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
491 We cannot used the mapped declaration, because it can take only one valu e.
492
493 Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
494 fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
495 fast/dom/HTMLElement/attr-dir-auto-change-text.html
496 fast/dom/HTMLElement/attr-dir-auto-children.html
497 fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
498 fast/dom/HTMLElement/attr-dir-auto.html
499 fast/dom/HTMLElement/attr-dir-value-change.html
500
501 * css/CSSStyleSelector.cpp:
502 (WebCore::leftToRightDeclaration):
503 (WebCore::rightToLeftDeclaration):
504 (WebCore::CSSStyleSelector::canShareStyleWithElement):
505 (WebCore::CSSStyleSelector::styleForElement):
506 * dom/Node.h:
507 (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
508 (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
509 * html/HTMLElement.cpp:
510 (WebCore::HTMLElement::mapToEntry):
511 (WebCore::HTMLElement::parseMappedAttribute):
512 (WebCore::setHasDirAutoFlagRecursively):
513 (WebCore::HTMLElement::childrenChanged):
514 (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
515 (WebCore::HTMLElement::directionality):
516 (WebCore::HTMLElement::dirAttributeChanged):
517 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeCh anged):
518 (WebCore::HTMLElement::calculateAndAdjustDirectionality):
519 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged) :
520 * html/HTMLElement.h:
521
522 2011-02-18 Yael Aharon <yael.aharon@nokia.com>
523
524 Reviewed by Antonio Gomes.
525
526 Navigating downwards / upwards does not focus on the links spread across more than one line.
527 https://bugs.webkit.org/show_bug.cgi?id=54639
528
529 When 2 anchor elements span more than one line each, and one ends on the same line that the
530 second starts on, the rects reported by their renderers are overlapping. When handling
531 2 overlapping nodes, check for this case, and don't assume that one of t he nodes is on a higher layer.
532
533 Test: fast/spatial-navigation/snav-two-elements-one-line.html
534
535 * page/FocusController.cpp:
536 (WebCore::updateFocusCandidateIfNeeded):
537 (WebCore::FocusController::findFocusCandidateInContainer):
538 * page/SpatialNavigation.cpp:
539 (WebCore::areElementsOnSameLine):
540 (WebCore::distanceDataForNode):
541 * page/SpatialNavigation.h:
542
543 2011-02-18 Ben Vanik <benvanik@google.com>
544
545 Reviewed by Kenneth Russell.
546
547 Bug 53940: Implement the OES_vertex_array_object WebGL extension
548 https://bugs.webkit.org/show_bug.cgi?id=53940
549
550 Initial implementation of the OES_vertex_array_object extension adding t he OESVertexArrayObject
551 extension container and WebGLVertexArrayObjectOES VAO object. The extens ion is plumbed through
552 the Extensions3D interface and implemented in the Extensions3DOpenGL (We bKit/OSX) version when
553 it is available.
554 Two big changes touching code outside of the extension files:
555 * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3 D.h (modeled after
556 GraphicsTypes.h). They are not namespaced as they weren't before.
557 * To make the code cleaner/clearer all vertex attribute state has been m oved to the
558 WebGLVertexArrayObjectOES type (struct VertexAttribState) except for v alues which are still
559 on the WebGLRenderingContext. A default VAO is now used to store the e xisting attribute
560 states for when no other VAO is used. Code in WebGLRenderingContext de aling with buffers and
561 vertex attributes now defers to or stores values in the bound array ob ject.
562
563 Tested against the WebGL conformance suite and the new
564 oes-vertex-array-object test:
565 https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/ conformance/oes-vertex-array-object.html
566
567 * CMakeLists.txt:
568 * CodeGenerators.pri:
569 * DerivedSources.make:
570 * GNUmakefile.am:
571 * WebCore.gyp: Modified property svn:ignore.
572 * WebCore.gypi:
573 * WebCore.pro:
574 * WebCore.xcodeproj/project.pbxproj:
575 * bindings/js/JSWebGLRenderingContextCustom.cpp:
576 (WebCore::toJS):
577 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
578 (WebCore::toV8Object):
579 * html/canvas/OESVertexArrayObject.cpp: Added.
580 (WebCore::OESVertexArrayObject::OESVertexArrayObject):
581 (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
582 (WebCore::OESVertexArrayObject::getName):
583 (WebCore::OESVertexArrayObject::create):
584 (WebCore::OESVertexArrayObject::createVertexArrayOES):
585 (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
586 (WebCore::OESVertexArrayObject::isVertexArrayOES):
587 (WebCore::OESVertexArrayObject::bindVertexArrayOES):
588 * html/canvas/OESVertexArrayObject.h: Added.
589 * html/canvas/OESVertexArrayObject.idl: Added.
590 * html/canvas/WebGLExtension.h:
591 * html/canvas/WebGLGetInfo.cpp:
592 (WebCore::WebGLGetInfo::WebGLGetInfo):
593 (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
594 * html/canvas/WebGLGetInfo.h:
595 * html/canvas/WebGLRenderingContext.cpp:
596 (WebCore::WebGLRenderingContext::initializeNewContext):
597 (WebCore::WebGLRenderingContext::bindBuffer):
598 (WebCore::WebGLRenderingContext::deleteBuffer):
599 (WebCore::WebGLRenderingContext::disableVertexAttribArray):
600 (WebCore::WebGLRenderingContext::validateElementArraySize):
601 (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
602 (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
603 (WebCore::WebGLRenderingContext::validateRenderingState):
604 (WebCore::WebGLRenderingContext::drawElements):
605 (WebCore::WebGLRenderingContext::enableVertexAttribArray):
606 (WebCore::WebGLRenderingContext::getExtension):
607 (WebCore::WebGLRenderingContext::getParameter):
608 (WebCore::WebGLRenderingContext::getSupportedExtensions):
609 (WebCore::WebGLRenderingContext::getVertexAttrib):
610 (WebCore::WebGLRenderingContext::vertexAttribPointer):
611 (WebCore::WebGLRenderingContext::validateBufferDataParameters):
612 (WebCore::WebGLRenderingContext::vertexAttribfImpl):
613 (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
614 (WebCore::WebGLRenderingContext::initVertexAttrib0):
615 (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
616 (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulati on):
617 (WebCore::WebGLRenderingContext::getNumberOfExtensions):
618 (WebCore::WebGLRenderingContext::getExtensionNumber):
619 * html/canvas/WebGLRenderingContext.h:
620 (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
621 (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
622 (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
623 * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
624 (WebCore::WebGLVertexArrayObjectOES::create):
625 (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
626 (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
627 * html/canvas/WebGLVertexArrayObjectOES.h: Added.
628 (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
629 (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribStat e):
630 (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
631 (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
632 (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
633 (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
634 (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
635 (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
636 (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
637 * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
638 * platform/graphics/Extensions3D.h:
639 * platform/graphics/GraphicsContext3D.h:
640 * platform/graphics/GraphicsTypes3D.h: Added.
641 * platform/graphics/chromium/Extensions3DChromium.h:
642 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
643 (WebCore::Extensions3DOpenGL::supports):
644 (WebCore::Extensions3DOpenGL::createVertexArrayOES):
645 (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
646 (WebCore::Extensions3DOpenGL::isVertexArrayOES):
647 (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
648 * platform/graphics/opengl/Extensions3DOpenGL.h:
649 * platform/graphics/qt/Extensions3DQt.cpp:
650 (WebCore::Extensions3DQt::createVertexArrayOES):
651 (WebCore::Extensions3DQt::deleteVertexArrayOES):
652 (WebCore::Extensions3DQt::isVertexArrayOES):
653 (WebCore::Extensions3DQt::bindVertexArrayOES):
654 * platform/graphics/qt/Extensions3DQt.h:
655
656 2011-02-17 Alexander Pavlov <apavlov@chromium.org>
657
658 Reviewed by Pavel Feldman.
659
660 Web Inspector: reflect changes to styles when they happen outside inspec tor.
661 https://bugs.webkit.org/show_bug.cgi?id=44620
662
663 Notify InspectorInstrumentation of inline style changes from CSSMutableS tyleDeclaration
664 whenever the style change does not come from a direct "style" attribute modification.
665 The performance regression occurs only with the Web Inspector opened, wh en inline styles
666 are modified through setting style.cssText or style.<styleAttribute>: ac cording to the Web Inspector protocol,
667 an attribute change requires that all attributes for the node in questio n be pushed into the frontend.
668
669 Test: inspector/styles/styles-update-from-js.html
670
671 * css/CSSMutableStyleDeclaration.cpp:
672 (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
673 * inspector/InspectorDOMAgent.cpp:
674 (WebCore::RevalidateStyleAttributeTask::reset):
675 (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
676 (WebCore::RevalidateStyleAttributeTask::scheduleFor):
677 (WebCore::RevalidateStyleAttributeTask::onTimer):
678 (WebCore::InspectorDOMAgent::reset):
679 (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
680 * inspector/InspectorDOMAgent.h:
681 * inspector/InspectorInstrumentation.cpp:
682 (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
683 * inspector/InspectorInstrumentation.h:
684 (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
685 * inspector/InspectorStyleSheet.cpp:
686 (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
687 (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
688 (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
689 * inspector/InspectorStyleSheet.h:
690 * inspector/front-end/ElementsPanel.js:
691 (WebInspector.ElementsPanel.prototype._attributesUpdated):
692 * inspector/front-end/StylesSidebarPane.js:
693 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules) :
694 (WebInspector.StylesSidebarPane.prototype.addBlankSection):
695 (WebInspector.StylePropertiesSection.prototype.onpopulate):
696 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
697 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
698 (WebInspector.BlankStylePropertiesSection):
699 (WebInspector.StylePropertyTreeElement):
700 (WebInspector.StylePropertyTreeElement.prototype):
701 (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previ ousContent.context.moveDirection):
702
703 2011-02-16 Tony Gentilcore <tonyg@chromium.org>
704
705 Reviewed by Eric Seidel.
706
707 Refactor pumpTokenizer loop
708 https://bugs.webkit.org/show_bug.cgi?id=54574
709
710 1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
711 the next token, although ASSERTs still enforce that we aren't waiting for a script. This
712 enables resumeParsingAfterYield() to call pumpTokenizer with no modif ications even if we
713 yield before running a script rather than before taking a token (see bug 54355).
714 2. This also picks up the refCount >= 1 assert when stopped.
715
716 Tested PerformanceTests/Parser to verify no regression. If anything it g ot faster.
717 Before:
718 avg 985.05
719 median 985.5
720 stdev 3.007906248539007
721 min 980
722 max 990
723 After:
724 avg 980.05
725 median 981
726 stdev 3.122098653149833
727 min 974
728 max 985
729
730 No new tests because no new functionality.
731
732 * html/parser/HTMLDocumentParser.cpp:
733 (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
734 (WebCore::HTMLDocumentParser::pumpTokenizer):
735 * html/parser/HTMLDocumentParser.h:
736
737 2011-02-18 Sheriff Bot <webkit.review.bot@gmail.com>
738
739 Unreviewed, rolling out r79003.
740 http://trac.webkit.org/changeset/79003
741 https://bugs.webkit.org/show_bug.cgi?id=54753
742
743 It broke tests on GTK bots (Requested by Ossy on #webkit).
744
745 * accessibility/AccessibilityRenderObject.cpp:
746 (WebCore::lastChildConsideringContinuation):
747 * dom/Node.cpp:
748 (WebCore::Node::removeEventListener):
749 * html/DateComponents.cpp:
750 (WebCore::DateComponents::parseTime):
751
752 2011-02-18 Csaba Osztrogonác <ossy@webkit.org>
753
754 Rubber-stamped by Andreas Kling.
755
756 Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
757
758 * accessibility/AccessibilityRenderObject.cpp:
759 (WebCore::lastChildConsideringContinuation):
760 * dom/Node.cpp:
761 (WebCore::Node::removeEventListener):
762 * html/DateComponents.cpp:
763 (WebCore::DateComponents::parseTime):
764
765 2011-02-18 Andrey Adaikin <aandrey@google.com>
766
767 Reviewed by Pavel Feldman.
768
769 Web Inspector: [Text editor] Optimize editing updates in main panel
770 https://bugs.webkit.org/show_bug.cgi?id=54661
771
772 * inspector/front-end/TextViewer.js:
773 (WebInspector.TextViewer):
774 (WebInspector.TextViewer.prototype._textChanged):
775 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
776 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
777 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
778 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
779 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
780 (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
781 (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
782 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
783 (WebInspector.TextEditorGutterChunk):
784 (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
785 (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
786 (WebInspector.TextEditorMainPanel):
787 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
788 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
789 (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
790 (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
791 (WebInspector.TextEditorMainPanel.prototype._paintLines):
792 (WebInspector.TextEditorMainPanel.prototype._paintLine):
793 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
794 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
795 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
796 (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
797 (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
798 (WebInspector.TextEditorMainChunk):
799 (WebInspector.TextEditorMainChunk.prototype.get startLine):
800 (WebInspector.TextEditorMainChunk.prototype.set startLine):
801 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
802 (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
803
804 2011-02-18 Steve Block <steveblock@google.com>
805
806 Reviewed by Andreas Kling
807
808 Memory allocation error in convertV8ObjectToNPVariant() for strings
809 https://bugs.webkit.org/show_bug.cgi?id=54737
810
811 Include the termination character in the length when allocating memory
812 and copying the string. This fixes a crashing bug on Android.
813
814 This should be tested by the java/ tests on Chromium, but these
815 tests are currently skipped.
816
817 * bindings/v8/V8NPUtils.cpp:
818 (WebCore::convertV8ObjectToNPVariant):
819
820 2011-02-18 Philippe Normand <pnormand@igalia.com>
821
822 Unreviewed, rolling out r78979.
823 http://trac.webkit.org/changeset/78979
824 https://bugs.webkit.org/show_bug.cgi?id=53146
825
826 causes multiple crashes on GTK
827
828 * accessibility/gtk/AXObjectCacheAtk.cpp:
829 (WebCore::notifyChildrenSelectionChange):
830 (WebCore::AXObjectCache::postPlatformNotification):
831
832 2011-02-18 Philippe Normand <pnormand@igalia.com>
833
834 Reviewed by Martin Robinson.
835
836 [GTK] minimal build unrecognized options
837 https://bugs.webkit.org/show_bug.cgi?id=50890
838
839 * GNUmakefile.am: new feature defines for optional features build.
840
841 2011-02-17 Hans Wennborg <hans@chromium.org>
842
843 Reviewed by Jeremy Orlow.
844
845 IndexedDB: Populate indexes created for object stores with data
846 https://bugs.webkit.org/show_bug.cgi?id=54669
847
848 Make sure that indices for object stores that already hold data get
849 populated.
850
851 * storage/IDBIndexBackendImpl.h:
852 (WebCore::IDBIndexBackendImpl::hasValidId):
853 * storage/IDBObjectStoreBackendImpl.cpp:
854 (WebCore::IDBObjectStoreBackendImpl::putInternal):
855 (WebCore::populateIndex):
856 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
857
858 2011-02-18 Mario Sanchez Prada <msanchez@igalia.com>
859
860 Reviewed by Martin Robinson.
861
862 [GTK] Combo boxes should emit object:selection-changed even when collaps ed
863 https://bugs.webkit.org/show_bug.cgi?id=53146
864
865 Emit the selection-changed signals when the menu list value has changed
866
867 Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.h tml
868
869 * accessibility/gtk/AXObjectCacheAtk.cpp:
870 (WebCore::getListObject): New, return the right list object for
871 menu lists and list boxes.
872 (WebCore::notifyChildrenSelectionChange): Support menu lists.
873 (WebCore::AXObjectCache::postPlatformNotification): Call function
874 notifyChildrenSelectionChange for AXMenuListValueChanged.
875
876 2011-02-18 Mario Sanchez Prada <msanchez@igalia.com>
877
878 Reviewed by Martin Robinson.
879
880 [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
881 https://bugs.webkit.org/show_bug.cgi?id=53453
882
883 Ensure that atk_text_{get|set}_selection() work with list items.
884
885 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
886 (webkit_accessible_text_get_text): Properly handle list item
887 markers when returning the text for an object for a given interval
888 specified through the startOffset and endOffset parameters.
889 (getSelectionOffsetsForObject): Bear in mind list item markers
890 when returning the offsets for a selection over a list item.
891 (webkit_accessible_text_set_selection): Adjust offsets if needed
892 for list items with item markers. Ensure that it returns TRUE only
893 when everything went fine setting the text selection.
894
895 2011-02-18 Antti Koivisto <antti@apple.com>
896
897 Reviewed by Maciej Stachowiak.
898
899 https://bugs.webkit.org/show_bug.cgi?id=54728
900 checkSelector*Value functions used in fastCheckSelector fail to inline
901
902 Wrap the functions used as template arguments to classes.
903
904 * css/CSSStyleSelector.cpp:
905 (WebCore::fastCheckSingleSelector):
906 (WebCore::ClassCheck::checkValue):
907 (WebCore::IdCheck::checkValue):
908 (WebCore::TagCheck::checkValue):
909 (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
910
911 2011-02-17 Simon Fraser <simon.fraser@apple.com>
912
913 Reviewed by Sam Weinig.
914
915 Composited iframe content is missing from snapshots in WebKit2
916 https://bugs.webkit.org/show_bug.cgi?id=54696
917
918 We need to propagate the 'flattening' paint behavior flag
919 down to subviews while painting. WebKit1 does this via
920 code in WebFrameView, but this is a more general fix
921 that works in WebKit2 as well.
922
923 Made a utility method, parentFrameView(), which I changed
924 some other methods to use as well.
925
926 * page/FrameView.cpp:
927 (WebCore::FrameView::isEnclosedInCompositingLayer):
928 (WebCore::FrameView::useSlowRepaints):
929 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
930 (WebCore::FrameView::isOverlappedIncludingAncestors):
931 (WebCore::FrameView::parentFrameView):
932 (WebCore::FrameView::paintContents):
933 * page/FrameView.h:
934
935 2011-02-17 Dan Bernstein <mitz@apple.com>
936
937 Reviewed by Simon Fraser.
938
939 <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled
940
941 * html/HTMLBodyElement.cpp:
942 (WebCore::adjustForZoom): Account for page scale.
943 (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
944 (WebCore::HTMLBodyElement::setScrollTop): Ditto.
945 * page/FrameView.cpp:
946 (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView her e and changed to
947 account for page scale: when the page is scaled, the “viewport” with res pect to which fixed
948 objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
949 the frame view), we move it around in proportion to the document scroll, so that when the document
950 is fully scrolled to the bottom-right, the bottom right of the scaled vi ewport is visible.
951 (WebCore::FrameView::scrollYForFixedPosition): Ditto.
952 (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollVie w here.
953 * page/FrameView.h:
954 * platform/ScrollView.cpp: Moved functions to FrameView.
955 * platform/ScrollView.h:
956 * rendering/RenderLayer.cpp:
957 (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the R enderView being transformed.
958 (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPos ition().
959 (WebCore::RenderLayer::backgroundClipRect): Ditto.
960
961 2011-02-17 Kenneth Russell <kbr@google.com>
962
963 Reviewed by James Robinson.
964
965 Add support for GPU accelerated path rendering
966 https://bugs.webkit.org/show_bug.cgi?id=44729
967
968 Incorporates the Loop and Blinn path rendering algorithm as an
969 option to the GPU-accelerated canvas code, currently only compiled
970 in to the Chromium port. Currently it's toggled by changing a
971 hardcoded constant in
972 SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is
973 disabled by default. This mechanism can be improved once we've
974 gained more confidence in the implementation. There are some known
975 bugs that need to be fixed first.
976
977 No new tests; ran some 2D Canvas tests manually with the new flag
978 both enabled and disabled.
979
980 * WebCore.gypi:
981 * platform/graphics/chromium/GLES2Canvas.cpp:
982 (WebCore::GLES2Canvas::GLES2Canvas):
983 (WebCore::GLES2Canvas::fillPath):
984 * platform/graphics/chromium/GLES2Canvas.h:
985 * platform/graphics/gpu/LoopBlinnClassifier.h:
986 * platform/graphics/gpu/LoopBlinnLocalTriangulator.h:
987 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
988 (WebCore::SharedGraphicsContext3D::create):
989 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
990 (WebCore::SharedGraphicsContext3D::createBuffer):
991 (WebCore::SharedGraphicsContext3D::bindBuffer):
992 (WebCore::SharedGraphicsContext3D::bufferData):
993 (WebCore::SharedGraphicsContext3D::bufferSubData):
994 (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering):
995 (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram):
996 (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram):
997 * platform/graphics/gpu/SharedGraphicsContext3D.h:
998 * platform/graphics/skia/GraphicsContextSkia.cpp:
999 (WebCore::GraphicsContext::fillPath):
1000
1001 2011-02-16 Stephen White <senorblanco@chromium.org>
1002
1003 Reviewed by James Robinson.
1004
1005 Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on
1006 accelerated 2D canvas w/compositor enabled.
1007 https://bugs.webkit.org/show_bug.cgi?id=54561
1008
1009 When resetting the CanvasRenderingContext2D, we also need to send a
1010 contentChanged() to the relevant RenderLayer. This is similar to what
1011 is done in didDraw().
1012
1013 Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note
1014 that this test will still fail pixel tests because the compositor
1015 is not compatible with repaint tests (the green square is now white,
1016 but the half-transparent grey repaint rect does not appear).
1017
1018 * html/canvas/CanvasRenderingContext2D.cpp:
1019 (WebCore::CanvasRenderingContext2D::reset):
1020
1021 2011-02-17 Sergey Glazunov <serg.glazunov@gmail.com>
1022
1023 Reviewed by Kenneth Russell.
1024
1025 Null out the WEBKIT_lose_context WebGL extension's context pointer when
1026 the WebGL rendering context is removed.
1027 https://bugs.webkit.org/show_bug.cgi?id=54679
1028
1029 Test: fast/canvas/webgl/context-destroyed-crash.html
1030
1031 * html/canvas/WebGLRenderingContext.cpp:
1032 (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
1033 * html/canvas/WebKitLoseContext.cpp:
1034 (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context.
1035 * html/canvas/WebKitLoseContext.h:
1036 (WebCore::WebKitLoseContext::contextDestroyed):
1037
1038 2011-02-17 Kenneth Russell <kbr@google.com>
1039
1040 Reviewed by Chris Marrin.
1041
1042 Construction of Uint8Array from JS Array (and possibly others) incorrect ly clamps values
1043 https://bugs.webkit.org/show_bug.cgi?id=52768
1044
1045 Removed incorrect clamping code from IntegralTypedArrayBase. Fixed
1046 code which casts from incoming double to the destination type.
1047 Changed the JSC bindings to use this code, rather than a copy of
1048 the casting code and a different constructor, in order to reuse
1049 the fix.
1050
1051 * bindings/js/JSArrayBufferViewHelper.h:
1052 (WebCore::constructArrayBufferView):
1053 * html/canvas/Int32Array.h:
1054 (WebCore::Int32Array::set):
1055 * html/canvas/Int8Array.h:
1056 (WebCore::Int8Array::set):
1057 * html/canvas/IntegralTypedArrayBase.h:
1058 (WebCore::IntegralTypedArrayBase::set):
1059 * html/canvas/Uint16Array.h:
1060 (WebCore::Uint16Array::set):
1061 * html/canvas/Uint32Array.h:
1062 (WebCore::Uint32Array::set):
1063 * html/canvas/Uint8Array.h:
1064 (WebCore::Uint8Array::set):
1065
1066 2011-02-17 Sam Weinig <sam@webkit.org>
1067
1068 Reviewed by Dan Bernstein.
1069
1070 Knob proportion not quite right during rubber-band.
1071 <rdar://problem/9015201>
1072
1073 Change knob proportion algorithm to treat overhang as making the view sm aller,
1074 rather than document bigger.
1075
1076 * platform/mac/ScrollbarThemeMac.mm:
1077 (WebCore::ScrollbarThemeMac::paint):
1078
1079 2011-02-16 Luiz Agostini <luiz.agostini@openbossa.org>
1080
1081 Reviewed by Andreas Kling.
1082
1083 Summary: HTML5 <details> and <summary>: HTMLSummaryElement
1084 https://bugs.webkit.org/show_bug.cgi?id=54584
1085
1086 Adding class HTMLSummaryElement to build systems. This class will be use d in
1087 the implementation of new HTML5 tag <summary>.
1088
1089 * CMakeLists.txt:
1090 * GNUmakefile.am:
1091 * WebCore.gypi:
1092 * WebCore.pro:
1093 * WebCore.vcproj/WebCore.vcproj:
1094 * WebCore.xcodeproj/project.pbxproj:
1095 * html/HTMLElementsAllInOne.cpp:
1096 * html/HTMLSummaryElement.cpp: Added.
1097 (WebCore::HTMLSummaryElement::create):
1098 (WebCore::HTMLSummaryElement::HTMLSummaryElement):
1099 * html/HTMLSummaryElement.h: Added.
1100 * html/HTMLTagNames.in:
1101
1102 2011-02-17 Jeremy Orlow <jorlow@chromium.org>
1103
1104 Reviewed by Nate Chapin.
1105
1106 Throwing in an IndexedDB error or success event should lead to the trans action aborting
1107 https://bugs.webkit.org/show_bug.cgi?id=54249
1108
1109 When an exception is thrown but not handled within an IDBRequests succe ss/error event,
1110 we should abort the transaction.
1111
1112 Test: storage/indexeddb/exception-in-event-aborts.html
1113
1114 * bindings/js/JSEventListener.cpp:
1115 (WebCore::JSEventListener::handleEvent):
1116 * bindings/js/JSEventTarget.cpp:
1117 (WebCore::toJS):
1118 * bindings/v8/V8AbstractEventListener.cpp:
1119 (WebCore::V8AbstractEventListener::invokeEventHandler):
1120 * dom/EventTarget.cpp:
1121 (WebCore::EventTarget::uncaughtExceptionInEventHandler):
1122 * dom/EventTarget.h:
1123 * storage/IDBRequest.cpp:
1124 (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
1125 * storage/IDBRequest.h:
1126
1127 2011-02-17 Sam Weinig <sam@webkit.org>
1128
1129 Reviewed by Maciej Stachowiak.
1130
1131 WebKit2: Support Dictionary popup
1132 <rdar://problem/7660670>
1133
1134 Add some necessary exports.
1135
1136 * WebCore.exp.in:
1137
1138 2011-02-17 W. James MacLean <wjmaclean@chromium.org>
1139
1140 Reviewed by James Robinson.
1141
1142 [chromium] Add command-line flag to enable composite to offscreen textur e.
1143 https://bugs.webkit.org/show_bug.cgi?id=52311
1144
1145 Add plumbing to allow command-line switch to enable offscreen compositin g. Function
1146 LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mim ic
1147 normal renderer operation.
1148
1149 Existing functionality not changed; offscreen compositing will be tested via GPU test framework.
1150
1151 * platform/graphics/chromium/LayerRendererChromium.cpp:
1152 (WebCore::LayerRendererChromium::setRootLayer):
1153 (WebCore::LayerRendererChromium::setCompositeOffscreen):
1154 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
1155 (WebCore::LayerRendererChromium::useRenderSurface):
1156 (WebCore::LayerRendererChromium::setScissorToRect):
1157 * platform/graphics/chromium/LayerRendererChromium.h:
1158 (WebCore::LayerRendererChromium::isCompositingOffscreen):
1159
1160 2011-02-17 Kevin Ollivier <kevino@theolliviers.com>
1161
1162 [wx] Build fixes after recent changes.
1163
1164 * dom/ScriptedAnimationController.h:
1165 * platform/graphics/wx/FontWx.cpp:
1166 (WebCore::Font::drawComplexText):
1167 * platform/graphics/wx/GraphicsContextWx.cpp:
1168 (WebCore::GraphicsContext::drawLineForText):
1169 (WebCore::GraphicsContext::drawLineForTextChecking):
1170 * platform/wx/WidgetWx.cpp:
1171 (WebCore::Widget::setFrameRect):
1172
1173 2011-02-16 Brian Weinstein <bweinstein@apple.com>
1174
1175 Reviewed by Brady Eidson.
1176
1177 WebKit2: Need a way to manage the WebCore Cache
1178 https://bugs.webkit.org/show_bug.cgi?id=54501
1179
1180 Add a way to get a set of all of the origins that have entries in the
1181 WebCore memory cache, and a method to remove all resources from the memo ry
1182 cache from a given security origin.
1183
1184 No change in behavior.
1185
1186 * WebCore.exp.in: Add functions that need to be exported.
1187 * loader/cache/MemoryCache.cpp:
1188 (WebCore::MemoryCache::removeResourcesWithOrigin):
1189 (WebCore::MemoryCache::getOriginsWithCache):
1190 * loader/cache/MemoryCache.h:
1191
1192 2011-02-16 David Hyatt <hyatt@apple.com>
1193
1194 Reviewed by Dan Bernstein.
1195
1196 https://bugs.webkit.org/show_bug.cgi?id=54244
1197
1198 Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding
1199 hacks from the Font code and makes sure all Font APIs involving width me asurement and width offsets use floats.
1200
1201 The line box tree's x, y and logicalWidth members have all been converte d to floats and all of the line box APIs have
1202 been changed as well.
1203
1204 In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
1205
1206 Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
1207
1208 Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
1209 still have a precise floating point position.
1210
1211 Justification will now allow subpixel positioning to occur as well. Pla tforms that don't support subpixel positioning should already
1212 be rounding justification spacing in their font code.
1213
1214 Many layout test results change on Mac, since rounding hacks were used t here and are now gone.
1215
1216 * WebCore.exp.in:
1217 * html/canvas/CanvasRenderingContext2D.cpp:
1218 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1219 * platform/chromium/FileChooserChromium.cpp:
1220 (WebCore::FileChooser::basenameForWidth):
1221 * platform/graphics/Font.cpp:
1222 (WebCore::Font::width):
1223 * platform/graphics/Font.h:
1224 (WebCore::Font::spaceWidth):
1225 (WebCore::Font::tabWidth):
1226 * platform/graphics/FontFastPath.cpp:
1227 (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
1228 * platform/graphics/GraphicsContext.cpp:
1229 (WebCore::GraphicsContext::drawText):
1230 (WebCore::GraphicsContext::drawEmphasisMarks):
1231 (WebCore::GraphicsContext::drawBidiText):
1232 (WebCore::GraphicsContext::drawHighlightForText):
1233 * platform/graphics/GraphicsContext.h:
1234 * platform/graphics/SimpleFontData.cpp:
1235 (WebCore::SimpleFontData::SimpleFontData):
1236 (WebCore::SimpleFontData::platformGlyphInit):
1237 * platform/graphics/SimpleFontData.h:
1238 (WebCore::SimpleFontData::spaceWidth):
1239 * platform/graphics/StringTruncator.cpp:
1240 (WebCore::stringWidth):
1241 (WebCore::truncateString):
1242 (WebCore::StringTruncator::centerTruncate):
1243 (WebCore::StringTruncator::rightTruncate):
1244 (WebCore::StringTruncator::width):
1245 * platform/graphics/StringTruncator.h:
1246 * platform/graphics/TextRun.h:
1247 (WebCore::TextRun::TextRun):
1248 (WebCore::TextRun::xPos):
1249 (WebCore::TextRun::expansion):
1250 (WebCore::TextRun::directionalOverride):
1251 (WebCore::TextRun::disableSpacing):
1252 * platform/graphics/WidthIterator.cpp:
1253 (WebCore::WidthIterator::WidthIterator):
1254 (WebCore::WidthIterator::advance):
1255 * platform/graphics/WidthIterator.h:
1256 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1257 (WebCore::GraphicsContext::drawLineForText):
1258 (WebCore::GraphicsContext::drawLineForTextChecking):
1259 * platform/graphics/cg/GraphicsContextCG.cpp:
1260 (WebCore::GraphicsContext::drawLineForText):
1261 * platform/graphics/mac/ComplexTextController.cpp:
1262 (WebCore::ComplexTextController::ComplexTextController):
1263 (WebCore::ComplexTextController::advance):
1264 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1265 * platform/graphics/mac/ComplexTextController.h:
1266 * platform/graphics/mac/FontComplexTextMac.cpp:
1267 (WebCore::Font::getGlyphsAndAdvancesForComplexText):
1268 * platform/graphics/mac/GraphicsContextMac.mm:
1269 (WebCore::GraphicsContext::drawLineForTextChecking):
1270 * platform/graphics/qt/GraphicsContextQt.cpp:
1271 (WebCore::GraphicsContext::drawLineForText):
1272 (WebCore::GraphicsContext::drawLineForTextChecking):
1273 * platform/graphics/qt/SimpleFontDataQt.cpp:
1274 (WebCore::SimpleFontData::platformGlyphInit):
1275 * platform/graphics/skia/GraphicsContextSkia.cpp:
1276 (WebCore::GraphicsContext::drawLineForTextChecking):
1277 (WebCore::GraphicsContext::drawLineForText):
1278 * platform/graphics/win/GraphicsContextCGWin.cpp:
1279 (WebCore::GraphicsContext::drawLineForTextChecking):
1280 * platform/graphics/win/UniscribeController.cpp:
1281 (WebCore::UniscribeController::shapeAndPlaceItem):
1282 * platform/gtk/FileChooserGtk.cpp:
1283 (WebCore::FileChooser::basenameForWidth):
1284 * platform/mac/DragImageMac.mm:
1285 (WebCore::widthWithFont):
1286 (WebCore::drawAtPoint):
1287 * platform/mac/FileChooserMac.mm:
1288 (WebCore::FileChooser::basenameForWidth):
1289 * platform/win/DragImageWin.cpp:
1290 (WebCore::createDragImageForLink):
1291 * platform/win/FileChooserWin.cpp:
1292 (WebCore::FileChooser::basenameForWidth):
1293 * platform/win/PopupMenuWin.cpp:
1294 (WebCore::PopupMenuWin::calculatePositionAndSize):
1295 * platform/win/WebCoreTextRenderer.cpp:
1296 (WebCore::WebCoreTextFloatWidth):
1297 * rendering/HitTestResult.cpp:
1298 (WebCore::HitTestResult::addNodeToRectBasedTestResult):
1299 * rendering/HitTestResult.h:
1300 * rendering/InlineBox.cpp:
1301 (WebCore::InlineBox::adjustPosition):
1302 (WebCore::InlineBox::placeEllipsisBox):
1303 (WebCore::InlineBox::locationIncludingFlipping):
1304 (WebCore::InlineBox::flipForWritingMode):
1305 * rendering/InlineBox.h:
1306 (WebCore::InlineBox::InlineBox):
1307 (WebCore::InlineBox::adjustLineDirectionPosition):
1308 (WebCore::InlineBox::adjustBlockDirectionPosition):
1309 (WebCore::InlineBox::setX):
1310 (WebCore::InlineBox::x):
1311 (WebCore::InlineBox::setY):
1312 (WebCore::InlineBox::y):
1313 (WebCore::InlineBox::width):
1314 (WebCore::InlineBox::height):
1315 (WebCore::InlineBox::logicalLeft):
1316 (WebCore::InlineBox::logicalRight):
1317 (WebCore::InlineBox::setLogicalLeft):
1318 (WebCore::InlineBox::pixelSnappedLogicalLeft):
1319 (WebCore::InlineBox::pixelSnappedLogicalRight):
1320 (WebCore::InlineBox::setLogicalWidth):
1321 (WebCore::InlineBox::logicalWidth):
1322 (WebCore::InlineBox::verticalAlign):
1323 * rendering/InlineFlowBox.cpp:
1324 (WebCore::InlineFlowBox::roundedFrameRect):
1325 (WebCore::InlineFlowBox::adjustPosition):
1326 (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
1327 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1328 (WebCore::verticalPositionForBox):
1329 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1330 (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1331 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1332 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1333 (WebCore::InlineFlowBox::computeOverflow):
1334 (WebCore::InlineFlowBox::setLayoutOverflow):
1335 (WebCore::InlineFlowBox::setVisualOverflow):
1336 (WebCore::InlineFlowBox::nodeAtPoint):
1337 (WebCore::InlineFlowBox::paintBoxDecorations):
1338 (WebCore::InlineFlowBox::paintMask):
1339 (WebCore::InlineFlowBox::placeEllipsisBox):
1340 * rendering/InlineFlowBox.h:
1341 (WebCore::InlineFlowBox::maxYLayoutOverflow):
1342 (WebCore::InlineFlowBox::maxXLayoutOverflow):
1343 (WebCore::InlineFlowBox::layoutOverflowRect):
1344 (WebCore::InlineFlowBox::maxYVisualOverflow):
1345 (WebCore::InlineFlowBox::maxXVisualOverflow):
1346 (WebCore::InlineFlowBox::visualOverflowRect):
1347 * rendering/InlineTextBox.cpp:
1348 (WebCore::InlineTextBox::placeEllipsisBox):
1349 (WebCore::InlineTextBox::nodeAtPoint):
1350 (WebCore::paintTextWithShadows):
1351 (WebCore::InlineTextBox::paint):
1352 (WebCore::InlineTextBox::paintSelection):
1353 (WebCore::InlineTextBox::paintCompositionBackground):
1354 (WebCore::InlineTextBox::paintDecoration):
1355 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1356 (WebCore::InlineTextBox::paintTextMatchMarker):
1357 (WebCore::InlineTextBox::paintDocumentMarkers):
1358 (WebCore::InlineTextBox::paintCompositionUnderline):
1359 (WebCore::InlineTextBox::textPos):
1360 (WebCore::InlineTextBox::offsetForPosition):
1361 (WebCore::InlineTextBox::positionForOffset):
1362 * rendering/InlineTextBox.h:
1363 (WebCore::InlineTextBox::setExpansion):
1364 * rendering/RenderBR.h:
1365 (WebCore::RenderBR::width):
1366 * rendering/RenderBlock.cpp:
1367 (WebCore::stripTrailingSpace):
1368 (WebCore::updatePreferredWidth):
1369 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1370 (WebCore::RenderBlock::adjustForBorderFit):
1371 (WebCore::RenderBlock::addFocusRingRects):
1372 * rendering/RenderBlock.h:
1373 * rendering/RenderBlockLineLayout.cpp:
1374 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1375 (WebCore::RenderBlock::fitBelowFloats):
1376 (WebCore::textWidth):
1377 (WebCore::tryHyphenating):
1378 (WebCore::RenderBlock::findNextLineBreak):
1379 * rendering/RenderBox.cpp:
1380 (WebCore::RenderBox::positionLineBox):
1381 (WebCore::RenderBox::flipForWritingMode):
1382 * rendering/RenderBox.h:
1383 * rendering/RenderCombineText.cpp:
1384 (WebCore::RenderCombineText::width):
1385 (WebCore::RenderCombineText::adjustTextOrigin):
1386 (WebCore::RenderCombineText::combineText):
1387 * rendering/RenderCombineText.h:
1388 (WebCore::RenderCombineText::combinedTextWidth):
1389 * rendering/RenderCounter.cpp:
1390 (WebCore::RenderCounter::computePreferredLogicalWidths):
1391 * rendering/RenderCounter.h:
1392 * rendering/RenderEmbeddedObject.cpp:
1393 (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1394 * rendering/RenderFileUploadControl.cpp:
1395 (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
1396 * rendering/RenderImage.cpp:
1397 * rendering/RenderInline.cpp:
1398 (WebCore::RenderInline::linesBoundingBox):
1399 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1400 (WebCore::RenderInline::addFocusRingRects):
1401 (WebCore::RenderInline::paintOutline):
1402 * rendering/RenderListBox.cpp:
1403 (WebCore::RenderListBox::updateFromElement):
1404 (WebCore::RenderListBox::paintItemForeground):
1405 * rendering/RenderMenuList.cpp:
1406 (WebCore::RenderMenuList::updateOptionsWidth):
1407 * rendering/RenderText.cpp:
1408 (WebCore::RenderText::localCaretRect):
1409 (WebCore::RenderText::widthFromCache):
1410 (WebCore::RenderText::trimmedPrefWidths):
1411 (WebCore::RenderText::minLogicalWidth):
1412 (WebCore::RenderText::maxLogicalWidth):
1413 (WebCore::RenderText::computePreferredLogicalWidths):
1414 (WebCore::RenderText::firstRunOrigin):
1415 (WebCore::RenderText::firstRunX):
1416 (WebCore::RenderText::firstRunY):
1417 (WebCore::RenderText::width):
1418 (WebCore::RenderText::linesBoundingBox):
1419 * rendering/RenderText.h:
1420 * rendering/RenderTextControl.cpp:
1421 (WebCore::RenderTextControl::getAvgCharWidth):
1422 (WebCore::RenderTextControl::paintPlaceholder):
1423 * rendering/RenderTreeAsText.cpp:
1424 (WebCore::writeTextRun):
1425 * rendering/RootInlineBox.cpp:
1426 (WebCore::RootInlineBox::placeEllipsis):
1427 (WebCore::RootInlineBox::placeEllipsisBox):
1428 (WebCore::RootInlineBox::adjustPosition):
1429 (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
1430 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
1431 * rendering/RootInlineBox.h:
1432 * rendering/VerticalPositionCache.h:
1433 * rendering/svg/SVGInlineTextBox.cpp:
1434 (WebCore::SVGInlineTextBox::offsetForPosition):
1435 (WebCore::SVGInlineTextBox::positionForOffset):
1436 (WebCore::SVGInlineTextBox::constructTextRun):
1437 * rendering/svg/SVGInlineTextBox.h:
1438 * rendering/svg/SVGRenderTreeAsText.cpp:
1439 (WebCore::writeRenderSVGTextBox):
1440 * rendering/svg/SVGTextMetrics.cpp:
1441 (WebCore::SVGTextMetrics::SVGTextMetrics):
1442 (WebCore::constructTextRun):
1443 * svg/SVGFont.cpp:
1444 (WebCore::floatWidthMissingGlyphCallback):
1445 (WebCore::Font::drawTextUsingSVGFont):
1446
1447 2011-02-17 Nikolas Zimmermann <nzimmermann@rim.com>
1448
1449 Reviewed by Dirk Schulze.
1450
1451 'ex' coordinates fail, when SVGFont doesn't provide an explicit xHeight attribute
1452 https://bugs.webkit.org/show_bug.cgi?id=54672
1453
1454 Measure the xHeight from the 'x' glyph of a SVGFont, if the font itself doesn't explicitely specify an x-height attribute.
1455 Fixes the modern version of SVG 1.1 2nd Edition coords-units-03-b.svg.
1456
1457 Test: svg/W3C-SVG-1.1-SE/coords-units-03-b.svg
1458
1459 * platform/graphics/SimpleFontData.cpp:
1460 (WebCore::SimpleFontData::SimpleFontData):
1461
1462 2011-02-10 Luiz Agostini <luiz.agostini@openbossa.org>
1463
1464 Reviewed by Adam Roben.
1465
1466 HTML5 <details> and <summary>: localized text
1467 https://bugs.webkit.org/show_bug.cgi?id=54260
1468
1469 The method defaultDetailsSummaryText was added to LocalizationStrategy c lass and to
1470 platform/LocalizedStrings. It is used to provide the default label to be used by a
1471 <details> tag that has no <summary> child.
1472
1473 * platform/LocalizationStrategy.h:
1474 * platform/LocalizedStrings.cpp:
1475 (WebCore::fileButtonNoFileSelectedLabel):
1476 (WebCore::defaultDetailsSummaryText):
1477 * platform/LocalizedStrings.h:
1478 * platform/android/LocalizedStringsAndroid.cpp:
1479 (WebCore::defaultDetailsSummaryText):
1480 * platform/brew/LocalizedStringsBrew.cpp:
1481 (WebCore::defaultDetailsSummaryText):
1482 * platform/efl/LocalizedStringsEfl.cpp:
1483 (WebCore::defaultDetailsSummaryText):
1484 * platform/gtk/LocalizedStringsGtk.cpp:
1485 (WebCore::defaultDetailsSummaryText):
1486 * platform/haiku/LocalizedStringsHaiku.cpp:
1487 (WebCore::defaultDetailsSummaryText):
1488 * platform/wx/LocalizedStringsWx.cpp:
1489 (WebCore::defaultDetailsSummaryText):
1490
1491 2011-02-17 Kristian Amlie <kristian.amlie@nokia.com>
1492
1493 Reviewed by Laszlo Gombos.
1494
1495 Updated include paths for phonon.
1496
1497 [Qt] WebKit patches required to work with a modularized version of Qt
1498 https://bugs.webkit.org/show_bug.cgi?id=53916
1499
1500 Build fix. No tests.
1501
1502 * WebCore.pro:
1503
1504 2011-02-17 Hui Huang <hui.2.huang@nokia.com>
1505
1506 Reviewed by Laszlo Gombos.
1507
1508 The URL of HTML5 Video Element is percent encoded at websites such as yo utube.
1509 It is percent encoded again by QUrl constructor QUrl::QUrl(QString). Thi s causes
1510 the HTTP GET request for the video to be rejected by the service provide r.
1511 https://bugs.webkit.org/show_bug.cgi?id=53973.
1512
1513 The bug is fixed by constructing QUrl from the encoded URL.
1514
1515 New test function tst_QWebPage::loadHtml5Video() is added in
1516 Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
1517
1518 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1519 (WebCore::MediaPlayerPrivateQt::commitLoad):
1520
1521 2011-02-17 Andreas Kling <kling@webkit.org>
1522
1523 Reviewed by Antti Koivisto.
1524
1525 [Qt] Crash when calling QWebFrame::setUrl() while a previous load has pe nding requests
1526 https://bugs.webkit.org/show_bug.cgi?id=49216
1527
1528 CachedResourceRequest::didFail() will protect the CachedResourceLoader's
1529 document() while it runs, but if we're being called from the Document de structor,
1530 the protecting RefPtr<Document> will cause a double-delete instead.
1531
1532 * loader/cache/CachedResourceLoader.cpp:
1533 (WebCore::CachedResourceLoader::~CachedResourceLoader): Clear the m_docu ment
1534 pointer so CachedResourceRequest::didFail() won't try to protect it.
1535 (WebCore::CachedResourceLoader::frame): Add null-check for m_document.
1536
1537 2011-02-17 Andrey Adaikin <aandrey@google.com>
1538
1539 Reviewed by Pavel Feldman.
1540
1541 Web Inspector: [Text editor] Add updateHighlight method to the highlight er
1542 https://bugs.webkit.org/show_bug.cgi?id=54448
1543
1544 * inspector/front-end/SourceTokenizer.js:
1545 * inspector/front-end/TextEditorHighlighter.js:
1546 (WebInspector.TextEditorHighlighter.prototype.set mimeType):
1547 (WebInspector.TextEditorHighlighter.prototype.reset):
1548 (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
1549 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
1550 (WebInspector.TextEditorHighlighter.prototype._highlightLines):
1551
1552 2011-02-16 Pavel Podivilov <podivilov@chromium.org>
1553
1554 Reviewed by Yury Semikhatsky.
1555
1556 Web Inspector: show all inlined scripts from single document in the same source frame.
1557 https://bugs.webkit.org/show_bug.cgi?id=54544
1558
1559 Currently when debugging synchronously executed inlined scripts each scr ipt is shown in it's own source frame ("example.html:24").
1560 We should show such scripts in the same source frame "example.html" with <script></script> framing.
1561
1562 Test: inspector/debugger/debug-inlined-scripts.html
1563
1564 * inspector/front-end/ScriptsPanel.js:
1565 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
1566 (WebInspector.ScriptsPanel.prototype._addScript):
1567 (WebInspector.ScriptsPanel.prototype._resourceForURL):
1568 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
1569 (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
1570 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
1571 (WebInspector.ScriptsPanel.prototype.reset):
1572 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
1573 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
1574 (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
1575 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1576 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare ):
1577 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1578 (WebInspector.SourceFrameContentProviderForScript.prototype.requestConte nt):
1579 (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource ):
1580
1581 2011-02-17 Nikolas Zimmermann <nzimmermann@rim.com>
1582
1583 Reviewed by Dirk Schulze.
1584
1585 svg/batik/paints/patternRegions-positioned-objects.svg fails on Windows
1586 https://bugs.webkit.org/show_bug.cgi?id=44484
1587
1588 Pattern of pattern defined with objectBoundingBox does not render correc tly
1589 https://bugs.webkit.org/show_bug.cgi?id=53463
1590
1591 Fix <pattern> + patternContentUnits="objectBoundingBox" support.
1592 We were incorrrectly translating the tile image transform, by the target objects bbox.x()/y().
1593 RenderSVGResourceMask/Clipper don't have this error.
1594
1595 Fix nesting <patterns> in objectBoundingBox mode, propagate the tileImag eTransform as new user-space
1596 when drawing the pattern children. <mask> + <clipPath> don't have the pr oblem.
1597
1598 Test: svg/custom/nested-pattern-boundingBoxModeContent.svg
1599
1600 * rendering/svg/RenderSVGResourcePattern.cpp:
1601 (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
1602 (WebCore::RenderSVGResourcePattern::createTileImage):
1603
1604 2011-02-17 Csaba Osztrogonác <ossy@webkit.org>
1605
1606 Unreviewed.
1607
1608 [Qt][V8] Buildfix after r78752.
1609
1610 * CodeGenerators.pri: Add missing IDL files.
1611
1612 2011-02-17 Benjamin Kalman <kalman@chromium.org>
1613
1614 Reviewed by Ryosuke Niwa.
1615
1616 RTL lineboundary left/right is reversed when cursor is at start of RTL c ontainer
1617 https://bugs.webkit.org/show_bug.cgi?id=54534
1618
1619 Test: editing/selection/extend-left-right-by-lineboundary.html
1620
1621 Add missing cases for extending left/right by lineboundary.
1622
1623 * editing/SelectionController.cpp:
1624 (WebCore::SelectionController::modifyExtendingRight):
1625 (WebCore::SelectionController::modifyExtendingLeft):
1626
1627 2011-02-16 Philippe Normand <pnormand@igalia.com>
1628
1629 Reviewed by Martin Robinson.
1630
1631 [GTK] libsoup critical warnings
1632 https://bugs.webkit.org/show_bug.cgi?id=54557
1633
1634 Avoid pausing a soup message for already downloaded resources.
1635
1636 * platform/network/soup/ResourceHandleSoup.cpp:
1637 (WebCore::ResourceHandle::platformSetDefersLoading):
1638
1639 2011-02-16 Brian Ryner <bryner@chromium.org>
1640
1641 Reviewed by Darin Fisher.
1642
1643 Split the socket address field into separate IP address and port fields.
1644 This will make the field less error-prone to parse, for example when
1645 dealing with IPv6 literals.
1646 https://bugs.webkit.org/show_bug.cgi?id=54607
1647
1648 No new tests required.
1649
1650 * platform/network/chromium/ResourceResponse.cpp:
1651 (WebCore::ResourceResponse::doPlatformCopyData):
1652 (WebCore::ResourceResponse::doPlatformAdopt):
1653 * platform/network/chromium/ResourceResponse.h:
1654 (WebCore::ResourceResponse::ResourceResponse):
1655 (WebCore::ResourceResponse::remoteIPAddress):
1656 (WebCore::ResourceResponse::setRemoteIPAddress):
1657 (WebCore::ResourceResponse::remotePort):
1658 (WebCore::ResourceResponse::setRemotePort):
1659
1660 2011-02-16 Dominic Mazzoni <dmazzoni@google.com>
1661
1662 Reviewed by Chris Fleizach.
1663
1664 Add support for canvas fallback content.
1665 https://bugs.webkit.org/show_bug.cgi?id=50126
1666
1667 Test: accessibility/canvas-fallback-content.html
1668
1669 * accessibility/AccessibilityObject.h:
1670 * accessibility/AccessibilityRenderObject.cpp:
1671 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1672 (WebCore::AccessibilityRenderObject::canHaveChildren):
1673 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1674 (atkRole):
1675 * accessibility/mac/AccessibilityObjectWrapper.mm:
1676 * html/HTMLFormControlElement.cpp:
1677 (WebCore::HTMLFormControlElement::isFocusable):
1678 * rendering/RenderHTMLCanvas.cpp:
1679 (WebCore::RenderHTMLCanvas::recursiveSetNoNeedsLayout):
1680 (WebCore::RenderHTMLCanvas::layout):
1681 (WebCore::RenderHTMLCanvas::nodeAtPoint):
1682 * rendering/RenderHTMLCanvas.h:
1683 (WebCore::RenderHTMLCanvas::children):
1684 (WebCore::RenderHTMLCanvas::canHaveChildren):
1685 (WebCore::RenderHTMLCanvas::virtualChildren):
1686 * rendering/RenderObject.cpp:
1687 (WebCore::RenderObject::repaint):
1688 * rendering/RenderTreeAsText.cpp:
1689 (WebCore::write):
1690
1691 2011-02-16 Matthew Delaney <mdelaney@apple.com>
1692
1693 Reviewed by Simon Fraser.
1694
1695 Allow acceleratesDrawing for WebKit2
1696 https://bugs.webkit.org/show_bug.cgi?id=54511
1697
1698 Plumb through preference for accelerated drawing.
1699
1700 When accelerated drawing is enabled, set a flag on new GraphicsLayers.
1701
1702 Not testable via Layout Tests
1703
1704 * WebCore.exp.in:
1705 * page/Settings.cpp:
1706 (WebCore::Settings::Settings):
1707 (WebCore::Settings::setAcceleratedDrawingEnabled):
1708 * page/Settings.h:
1709 (WebCore::Settings::acceleratedDrawingEnabled):
1710 * rendering/RenderLayerCompositor.cpp:
1711 (WebCore::RenderLayerCompositor::updateBacking):
1712
1713 2011-02-16 Victoria Kirst <vrk@google.com> 1 2011-02-16 Victoria Kirst <vrk@google.com>
1714 2
1715 Reviewed by Kenneth Russell. 3 Reviewed by Kenneth Russell.
1716 4
1717 [chromium] Fix green pixels at edge of certain GPU-accelerated videos 5 [chromium] Fix green pixels at edge of certain GPU-accelerated videos
1718 https://bugs.webkit.org/show_bug.cgi?id=54559 6 https://bugs.webkit.org/show_bug.cgi?id=54559
1719 7
1720 Adds logic to properly resize the range of YUV textures to only 8 Adds logic to properly resize the range of YUV textures to only
1721 select legitimate values. 9 select legitimate values.
1722 10
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
2036 324
2037 [V8] DataView constructor can be applied as a regular method 325 [V8] DataView constructor can be applied as a regular method
2038 https://bugs.webkit.org/show_bug.cgi?id=54563 326 https://bugs.webkit.org/show_bug.cgi?id=54563
2039 327
2040 Tested by adding a new test case to fast/canvas/webgl/data-view-test.htm l. 328 Tested by adding a new test case to fast/canvas/webgl/data-view-test.htm l.
2041 329
2042 * bindings/v8/custom/V8DataViewCustom.cpp: 330 * bindings/v8/custom/V8DataViewCustom.cpp:
2043 (WebCore::V8DataView::constructorCallback): 331 (WebCore::V8DataView::constructorCallback):
2044 332
2045 == Rolled over to ChangeLog-2011-02-16 == 333 == Rolled over to ChangeLog-2011-02-16 ==
OLDNEW
« no previous file with comments | « no previous file | Source/WebCore/platform/graphics/chromium/VideoFrameChromium.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698