Not reviewed, build fix.
[WebKit.git] / WebCore / ChangeLog
1 2010-05-18  Maciej Stachowiak  <mjs@apple.com>
2
3         Not reviewed, build fix.
4
5         Attempt to fix build for v8 bindings (untested).
6
7         * bindings/v8/ScriptController.cpp:
8         (WebCore::ScriptController::clearWindowShell):
9         * bindings/v8/ScriptController.h:
10
11 2010-05-17  Maciej Stachowiak  <mjs@apple.com>
12
13         Reviewed by Oliver Hunt.
14
15         GC more promptly when navigating to a new inner window, but not at all when it went in the page cache
16         https://bugs.webkit.org/show_bug.cgi?id=39254
17         <rdar://problem/7996370>
18
19         ~1% PLT speedup
20         ~4% iBench HTML speedup
21
22         * bindings/js/GCController.cpp:
23         (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of
24         0.5 second.
25         * bindings/js/ScriptController.cpp:
26         (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't
27         garbageColectSoon if the page is going into the page cache.
28         * bindings/js/ScriptController.h: Prototype change for above.
29         * loader/FrameLoader.cpp:
30         (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache.
31
32 2010-05-18  Adam Barth  <abarth@webkit.org>
33
34         Reviewed by Eric Seidel.
35
36         Implement ScriptData states for HTML5Lexer
37         https://bugs.webkit.org/show_bug.cgi?id=39273
38
39         This patch implements more of the lexer states according to the HTML5
40         specification.  Currently, this code is compiled by not tested.  We're
41         working on bringing up a test harness in parallel with transliterating
42         the spec into code.
43
44         * html/HTML5Lexer.cpp:
45         (WebCore::HTML5Lexer::tokenize):
46         (WebCore::HTML5Lexer::temporaryBufferIs):
47         * html/HTML5Lexer.h:
48         (WebCore::HTML5Lexer::):
49
50 2010-05-17  Eric Seidel  <eric@webkit.org>
51
52         Reviewed by Adam Barth.
53
54         Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer
55         https://bugs.webkit.org/show_bug.cgi?id=39272
56
57         Strictly a rename, no functionality change.
58
59         * WebCore.xcodeproj/project.pbxproj:
60         * html/HTML5Lexer.cpp: Added.
61         * html/HTML5Lexer.h: Added.
62         * html/HTML5Tokenizer.cpp: Removed.
63         * html/HTML5Tokenizer.h: Removed.
64
65 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
66
67         Unreviewed, rolling out r59652.
68         http://trac.webkit.org/changeset/59652
69         https://bugs.webkit.org/show_bug.cgi?id=39268
70
71         file-input-files-access test is broken on Mac (Requested by
72         dcheng on #webkit).
73
74         * platform/chromium/DragDataChromium.cpp:
75         (WebCore::DragData::asURL):
76
77 2010-05-17  Adam Barth  <abarth@webkit.org>
78
79         Reviewed by Eric Seidel.
80
81         Implement RAWTEXT tokenizer states
82         https://bugs.webkit.org/show_bug.cgi?id=39267
83
84         More tokenizer states.  There's a bunch of functionality notImplemented
85         that we'll come back to.
86
87         * html/HTML5Tokenizer.cpp:
88         (WebCore::HTML5Tokenizer::tokenize):
89         * html/HTML5Tokenizer.h:
90
91 2010-05-17  Adam Barth  <abarth@webkit.org>
92
93         Reviewed by Eric Seidel.
94
95         Implement more parser states in HTML5Tokenizer
96         https://bugs.webkit.org/show_bug.cgi?id=39265
97
98         This patch implements some easy states.  I'll come back and do the
99         harder states later.
100
101         * html/HTML5Tokenizer.cpp:
102         (WebCore::HTML5Tokenizer::tokenize):
103         (WebCore::HTML5Tokenizer::emitParseError):
104         * html/HTML5Tokenizer.h:
105
106 2010-05-17  Daniel Cheng  <dcheng@chromium.org>
107
108         Reviewed by Darin Adler.
109
110         DragData::asURL() shouldn't do file validity checks
111         https://bugs.webkit.org/show_bug.cgi?id=38711
112
113         There's no point to trying to make sure the file is valid in
114         DragData::asURL(). It's better to ask for forgiveness than to ask for
115         permission, since asking for permission is prone to race conditions
116         and results in unnecessary I/O.  Consumers of this function either:
117         - need to verify the file exists themselves (e.g. the loader)
118         - don't care about file validity (rich text drag-and-drop)
119
120         * platform/chromium/DragDataChromium.cpp:
121         (WebCore::DragData::asURL):
122
123 2010-05-17  Adam Barth  <abarth@webkit.org>
124
125         Reviewed by Eric Seidel.
126
127         Update states in HTML5Tokenizer to match HTML5 spec
128         https://bugs.webkit.org/show_bug.cgi?id=39264
129
130         I've also implemented the DataState.  More states to follow.
131
132         * html/HTML5Tokenizer.cpp:
133         (WebCore::HTML5Tokenizer::reset):
134         (WebCore::HTML5Tokenizer::tokenize):
135         * html/HTML5Tokenizer.h:
136         (WebCore::HTML5Tokenizer::):
137
138 2010-05-17  Kent Tamura  <tkent@chromium.org>
139
140         Reviewed by Darin Adler.
141
142         ':valid' CSS selector should not be applied to some form controls
143         https://bugs.webkit.org/show_bug.cgi?id=39162
144
145         * html/HTMLElement.cpp:
146         (WebCore::inlineTagList): Always includes progressTag. This change is
147         needed in a case of no ENABLE_PROGRESS_TAG. Without this change and
148         ENABLE_PROGRESS_TAG, <progress> tags disappear.
149         * html/HTMLInputElement.cpp:
150         (WebCore::HTMLInputElement::recalcWillValidate):
151           Return false for SUBMIT and IMAGE.
152         * html/HTMLProgressElement.h:
153         (WebCore::HTMLProgressElement::recalcWillValidate):
154           Return false. This change is needed in a case of ENABLE_PROGRESS_TAG.
155
156 2010-05-17  Adam Barth  <abarth@webkit.org>
157
158         Reviewed by Eric Seidel.
159
160         Remove load-related code from HTML5Tokenizer
161         https://bugs.webkit.org/show_bug.cgi?id=39263
162
163         This code is related to reloading resources and not to tokenizing.  In
164         the PreloadScanner, these concerns are coupled, but we want to decouple
165         them.
166
167         * html/HTML5Tokenizer.cpp:
168         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
169         (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
170         (WebCore::HTML5Tokenizer::begin):
171         (WebCore::HTML5Tokenizer::end):
172         (WebCore::HTML5Tokenizer::reset):
173         (WebCore::HTML5Tokenizer::write):
174         (WebCore::HTML5Tokenizer::consumeEntity):
175         (WebCore::HTML5Tokenizer::tokenize):
176         (WebCore::HTML5Tokenizer::processAttribute):
177         (WebCore::HTML5Tokenizer::emitCharacter):
178         (WebCore::HTML5Tokenizer::emitTag):
179         * html/HTML5Tokenizer.h:
180
181 2010-05-17  Adam Barth  <abarth@webkit.org>
182
183         Reviewed by Eric Seidel.
184
185         Add HTML5Tokenizer to the build system on Mac
186         https://bugs.webkit.org/show_bug.cgi?id=39262
187
188         This file will be easier to work with if we're actually compiling it.
189         Hopefully we'll get this wired into the PreloadScanner soon.  Once we
190         start actually calling the code, we'll add it to the build system on
191         other platforms.
192
193         * WebCore.xcodeproj/project.pbxproj:
194
195 2010-05-17  Eric Seidel  <eric@webkit.org>
196
197         Reviewed by Adam Barth.
198
199         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
200         https://bugs.webkit.org/show_bug.cgi?id=39261
201
202         * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer.
203         * html/HTML5Tokenizer.h: ditto.
204
205 2010-05-17  Eric Seidel  <eric@webkit.org>
206
207         Reviewed by Adam Barth.
208
209         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
210         https://bugs.webkit.org/show_bug.cgi?id=39261
211
212         This time copy the cpp from the right file.
213
214         * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp.
215
216 2010-05-17  Eric Seidel  <eric@webkit.org>
217
218         Reviewed by Adam Barth.
219
220         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
221         https://bugs.webkit.org/show_bug.cgi?id=39261
222
223         * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h.
224         * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h.
225
226 2010-05-17  MORITA Hajime  <morrita@google.com>
227
228         Reviewed by Kent Tamura.
229
230         [Chromium] Windows: Speed of indeterminate progress bar should be constant
231         https://bugs.webkit.org/show_bug.cgi?id=39211
232
233         No new tests, animation effect can be confirmed only manually.
234
235         * rendering/RenderThemeChromiumWin.cpp:
236         (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
237         (WebCore::RenderThemeChromiumWin::paintProgressBar):
238
239 2010-05-17  Drew Wilson  <atwilson@chromium.org>
240
241         Unreviewed build fix for Qt and Chromium.
242
243         https://bugs.webkit.org/show_bug.cgi?id=39147
244
245         * page/Frame.h: Now includes CSSMutableStyleDeclaration.h.
246
247 2010-05-17  Simon Fraser  <simon.fraser@apple.com>
248
249         Reviewed by Darin Adler.
250
251         Remove unused member member from Document
252         https://bugs.webkit.org/show_bug.cgi?id=39251
253
254         Remove m_associatedHistoryItems from Document; it is never used.
255
256         * dom/Document.h:
257
258 2010-05-17  Darin Adler  <darin@apple.com>
259
260         Fix Qt build.
261
262         * page/Frame.cpp:
263         (WebCore::Frame::setTypingStyle): Move back to make non-inline.
264         * page/Frame.h: Removed inline version of setTypingStyle.
265
266 2010-05-14  Darin Adler  <darin@apple.com>
267
268         Reviewed by Brady Eidson.
269
270         Frame has many trivial member functions that should be inlined
271         https://bugs.webkit.org/show_bug.cgi?id=39147
272
273         * WebCore.base.exp: Export the functions that are now inlined.
274
275         * page/Frame.cpp:
276         (WebCore::Frame::removeEditingStyleFromBodyElement):
277         Removed the body of this function.
278
279         * page/Frame.h:
280         (WebCore::Frame::init): Moved here from .cpp.
281         (WebCore::Frame::loader): Ditto.
282         (WebCore::Frame::redirectScheduler): Ditto.
283         (WebCore::Frame::view): Ditto.
284         (WebCore::Frame::script): Ditto.
285         (WebCore::Frame::document): Ditto.
286         (WebCore::Frame::selection): Ditto.
287         (WebCore::Frame::editor): Ditto.
288         (WebCore::Frame::animation): Ditto.
289         (WebCore::Frame::mark): Ditto.
290         (WebCore::Frame::setMark): Ditto.
291         (WebCore::Frame::zoomFactor): Ditto.
292         (WebCore::Frame::jsStatusBarText): Ditto.
293         (WebCore::Frame::jsDefaultStatusBarText): Ditto.
294         (WebCore::Frame::needsReapplyStyles): Ditto.
295         (WebCore::Frame::typingStyle): Ditto.
296         (WebCore::Frame::setTypingStyle): Ditto.
297         (WebCore::Frame::clearTypingStyle): Ditto.
298         (WebCore::Frame::ownerElement): Ditto.
299         (WebCore::Frame::isDisconnected): Ditto.
300         (WebCore::Frame::setIsDisconnected): Ditto.
301         (WebCore::Frame::excludeFromTextSearch): Ditto.
302         (WebCore::Frame::setExcludeFromTextSearch): Ditto.
303         (WebCore::Frame::inViewSourceMode): Ditto.
304         (WebCore::Frame::setInViewSourceMode): Ditto.
305         (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto.
306         (WebCore::Frame::tree): Ditto.
307         (WebCore::Frame::page): Ditto.
308         (WebCore::Frame::detachFromPage): Ditto.
309         (WebCore::Frame::eventHandler): Ditto.
310         (WebCore::Frame::shouldClose): Ditto.
311
312 2010-05-17  Anders Carlsson  <andersca@apple.com>
313
314         Reviewed by Sam Weinig.
315
316         https://bugs.webkit.org/show_bug.cgi?id=39247
317         <rdar://problem/7994707>
318         Move rarely used data members to the rare structures, thus saving memory.
319
320         Move rarely used member variables from StyleInheritedData and StyleVisualData to
321         StyleRareInheritedData and StyleRareNonInheritedData, namely:
322
323         indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData.
324         m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData.
325
326         * rendering/style/RenderStyle.cpp:
327         (WebCore::RenderStyle::diff):
328         (WebCore::RenderStyle::addCursor):
329         (WebCore::RenderStyle::setCursorList):
330         (WebCore::RenderStyle::clearCursorList):
331         * rendering/style/RenderStyle.h:
332         (WebCore::InheritedFlags::textIndent):
333         (WebCore::InheritedFlags::effectiveZoom):
334         (WebCore::InheritedFlags::counterIncrement):
335         (WebCore::InheritedFlags::counterReset):
336         (WebCore::InheritedFlags::cursors):
337         (WebCore::InheritedFlags::widows):
338         (WebCore::InheritedFlags::orphans):
339         (WebCore::InheritedFlags::setTextIndent):
340         (WebCore::InheritedFlags::setEffectiveZoom):
341         (WebCore::InheritedFlags::setCounterIncrement):
342         (WebCore::InheritedFlags::setCounterReset):
343         (WebCore::InheritedFlags::setWidows):
344         (WebCore::InheritedFlags::setOrphans):
345         * rendering/style/StyleInheritedData.cpp:
346         (WebCore::StyleInheritedData::StyleInheritedData):
347         (WebCore::StyleInheritedData::operator==):
348         * rendering/style/StyleInheritedData.h:
349         * rendering/style/StyleRareInheritedData.cpp:
350         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
351         (WebCore::cursorDataEquivalent):
352         (WebCore::StyleRareInheritedData::operator==):
353         * rendering/style/StyleRareInheritedData.h:
354         * rendering/style/StyleRareNonInheritedData.cpp:
355         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
356         (WebCore::StyleRareNonInheritedData::operator==):
357         * rendering/style/StyleRareNonInheritedData.h:
358         * rendering/style/StyleVisualData.cpp:
359         (WebCore::StyleVisualData::StyleVisualData):
360         * rendering/style/StyleVisualData.h:
361         (WebCore::StyleVisualData::operator==):
362
363 2010-05-17  Robert Hogan  <robert@webkit.org>
364
365         Rubber-stamped by Eric Seidel.
366
367         Fix --no-svg build.
368
369         I have no idea where the SVG-dependent include of this file is hidden, but
370         it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp.
371
372         * bindings/js/JSWorkerContextCustom.cpp:
373
374 2010-05-17  David Hyatt  <hyatt@apple.com>
375
376         Reviewed by Dan Bernstein.
377
378         https://bugs.webkit.org/show_bug.cgi?id=39231
379
380         Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html.  Make sure block children of RTL blocks are positioned using
381         the reduced column width instead of the total content width.
382
383         * rendering/RenderBlock.cpp:
384         (WebCore::RenderBlock::determineHorizontalPosition):
385         (WebCore::RenderBlock::nodeAtPoint):
386         (WebCore::RenderBlock::hitTestContents):
387         (WebCore::RenderBlock::adjustForColumns):
388
389 2010-05-17  Jakob Petsovits  <jpetsovits@rim.com>
390
391         Reviewed by George Staikos.
392
393         [OpenVG] Add support for decoding and drawing images
394         https://bugs.webkit.org/show_bug.cgi?id=36072
395
396         OpenVG has a maximum image size (how large is
397         specific to the OpenVG implementation), so this
398         requires us to store them as separate image tiles.
399
400         Image decoding and initial drawing code by
401         Adam Treat <atreat@rim.com>. Image decoder
402         downsampling support by Yong Li <yoli@rim.com>.
403
404         * platform/graphics/ImageSource.h:
405         * platform/graphics/openvg/ImageOpenVG.cpp: Added.
406         (WebCore::FrameData::clear):
407         (WebCore::BitmapImage::BitmapImage):
408         (WebCore::BitmapImage::checkForSolidColor):
409         (WebCore::BitmapImage::initPlatformData):
410         (WebCore::BitmapImage::invalidatePlatformData):
411         (WebCore::adjustSourceRectForDownSampling):
412         (WebCore::BitmapImage::draw):
413         (WebCore::Image::drawPattern):
414         (WebCore::Image::loadPlatformResource):
415         * platform/graphics/openvg/PainterOpenVG.cpp:
416         (WebCore::PainterOpenVG::drawImage):
417         (WebCore::PainterOpenVG::asNewNativeImage):
418         * platform/graphics/openvg/PainterOpenVG.h:
419         * platform/graphics/openvg/TiledImageOpenVG.cpp: Added.
420         (WebCore::TiledImageOpenVG::TiledImageOpenVG):
421         (WebCore::TiledImageOpenVG::operator=):
422         (WebCore::TiledImageOpenVG::~TiledImageOpenVG):
423         (WebCore::TiledImageOpenVG::numTiles):
424         (WebCore::TiledImageOpenVG::numColumns):
425         (WebCore::TiledImageOpenVG::numRows):
426         (WebCore::TiledImageOpenVG::setTile):
427         (WebCore::TiledImageOpenVG::tilesInRect):
428         (WebCore::TiledImageOpenVG::tile):
429         (WebCore::TiledImageOpenVG::tileRect):
430         (WebCore::TiledImageOpenVG::detachTiles):
431         (WebCore::TiledImageOpenVG::destroyTiles):
432         * platform/graphics/openvg/TiledImageOpenVG.h: Added.
433         (WebCore::TiledImageOpenVG::size):
434         (WebCore::TiledImageOpenVG::maxTileSize):
435         * platform/graphics/openvg/VGUtils.cpp:
436         (WebCore::VGUtils::bytesForImage):
437         (WebCore::VGUtils::bytesForImageScanline):
438         (WebCore::VGUtils::imageFormatBitsPerPixel):
439         (WebCore::VGUtils::endianAwareImageFormat):
440         * platform/graphics/openvg/VGUtils.h:
441         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
442         (WebCore::RGBA32Buffer::asNewNativeImage):
443
444 2010-05-17  Yaar Schnitman  <yaar@chromium.org>
445
446         Reviewed by Darin Adler.
447
448         Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads.
449         https://bugs.webkit.org/show_bug.cgi?id=39227
450
451         * bindings/scripts/CodeGeneratorJS.pm:
452         * bindings/scripts/test/JS/JSTestObj.cpp:
453         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
454
455 2010-05-16  Sam Weinig  <sam@webkit.org>
456
457         Reviewed by Adam Barth.
458
459         https://bugs.webkit.org/show_bug.cgi?id=39192
460         Remove unused PERFECT_HASH code CodeGeneratorJS.
461
462         * bindings/scripts/CodeGeneratorJS.pm:
463
464 2010-05-17  Jeremy Moskovich  <jeremy@chromium.org>
465
466         Reviewed by Jeremy Orlow.
467
468         Remove debug code that was introduced to help narrow down the
469         source of a crash.
470         https://bugs.webkit.org/show_bug.cgi?id=36426
471
472         No change in behavior, so no new tests.
473
474         * loader/FrameLoader.cpp:
475         (WebCore::FrameLoader::finishedLoadingDocument):
476
477 2010-05-17  Andreas Kling  <andreas.kling@nokia.com>
478
479         Reviewed by Kenneth Rohde Christiansen.
480
481         Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
482         Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
483         Changed createImageData(width, height) to use the absolute values of width and height.
484
485         https://bugs.webkit.org/show_bug.cgi?id=39189
486
487         Spec link:
488         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
489
490         Test: fast/canvas/canvas-createImageData.html
491
492         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
493         (WebCore::JSCanvasRenderingContext2D::createImageData):
494         * html/canvas/CanvasRenderingContext2D.cpp:
495         (WebCore::CanvasRenderingContext2D::createImageData):
496         * html/canvas/CanvasRenderingContext2D.h:
497         * html/canvas/CanvasRenderingContext2D.idl:
498
499 2010-05-17  Antti Koivisto  <koivisto@iki.fi>
500
501         This was missing from previous commit.
502
503         * platform/qt/QWebPageClient.h:
504         (QWebPageClient::graphicsItemVisibleRect):
505
506 2010-05-17  Antti Koivisto  <koivisto@iki.fi>
507
508         Reviewed by Kenneth Rohde Christiansen.
509
510         https://bugs.webkit.org/show_bug.cgi?id=39218
511         [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
512         
513         Tiles sometimes flicker when exiting a zoom animation. This happens as a result
514         of the visible rectangle being momentarily out of sync.
515         
516         Instead of updating the visible rect by explicitly setting it, pull it through
517         the client and recompute in the WebKit level.
518
519         * page/ChromeClient.h:
520         (WebCore::ChromeClient::visibleRectForTiledBackingStore):
521         * page/Frame.cpp:
522         (WebCore::Frame::tiledBackingStoreVisibleRect):
523         * page/Frame.h:
524         * platform/graphics/TiledBackingStore.cpp:
525         (WebCore::TiledBackingStore::checkVisibleRectChanged):
526         (WebCore::TiledBackingStore::createTiles):
527         * platform/graphics/TiledBackingStore.h:
528         * platform/graphics/TiledBackingStoreClient.h:
529
530 2010-05-15  Adam Roben  <aroben@apple.com>
531
532         Periodically try to reset a lost IDirect3DDevice9 until we succeed
533
534         This is how MSDN says we must respond to a lost device (see
535         <http://msdn.microsoft.com/en-us/library/bb174714(v=VS.85).aspx>).
536
537         Only testable by a manual test, unfortunately.
538
539         Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that
540         use hardware acceleration don't repaint after waking computer from
541         sleep
542
543         Reviewed by John Sullivan.
544
545         * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is
546         the Poster Circle demo from webkit.org/blog, but with instructions for
547         putting the computer to sleep and waking it up again.
548
549         * platform/graphics/win/WKCACFLayerRenderer.cpp:
550         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new
551         member that tells us whether we need to try to reset the device before
552         rendering.
553         (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice
554         the reason why the device needs to be reset (which is because the
555         window's size has changed).
556         (WebCore::WKCACFLayerRenderer::render): Before we do anything else,
557         check if we need to reset the device before rendering. If we do, try
558         to reset it. If that fails, bail out and set a timer to try again
559         later. If we discover that the device is lost when calling
560         IDirect3DDevice9::Present and resetting the device fails, bail out and
561         set a timer to try again later.
562         (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a
563         boolean indicating whether resetting succeeded or not. Added a
564         ResetReason parameter so callers can specify whey the device needs to
565         be reset. Before trying to do anything, we call
566         IDirect3DDevice9::TestCooperativeLevel to find out whether the device
567         can be reset currently. If it can't, we set a flag to tell ourselves
568         that the device must be reset before we next render, and indicate to
569         the caller that the reset failed. If we thought the device was lost
570         but it turns out not to be, we don't have to do anything and can tell
571         the caller that the reset succeeded. Otherwise we go ahead and reset
572         the device as before, and indicate to the caller that the reset
573         succeeded.
574
575         * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to
576         return a boolean and take a ResetReason parameter. Added a comment
577         about when and why this function should be called. And added
578         m_mustResetLostDeviceBeforeRendering.
579
580 2010-05-15  Adam Roben  <aroben@apple.com>
581
582         Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset
583
584         MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be
585         destroyed before calling IDirect3DDevice9::Reset. The only way to
586         guarantee this with Core Animation is to call CARenderOGLPurge.
587
588         Unfortunately this isn't testable at the moment, as we don't use any
589         features of Core Animation (e.g., mask layers) that actually make this
590         required. But it seems like a good idea to fix the code now so that
591         if/when we do start using those features we won't run into problems.
592
593         Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice
594         might fail due to failing to destroy all D3DPOOL_DEFAULT resources
595
596         Reviewed by John Sullivan.
597
598         * platform/graphics/win/WKCACFLayerRenderer.cpp:
599         (WebCore::WKCACFLayerRenderer::render): Moved the call to
600         CARenderOGLPurge from here...
601         (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it
602         will be called whenever we reset the device (e.g., when resizing the
603         window).
604
605 2010-05-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
606
607         Rubber-stamped by Xan Lopez.
608
609         Build fix. Remove bashism from build system.
610
611         * GNUmakefile.am:
612
613 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
614
615         Unreviewed, rolling out r59483.
616         http://trac.webkit.org/changeset/59483
617         https://bugs.webkit.org/show_bug.cgi?id=39215
618
619         "page_cycler_intl1 regression on Linux" (Requested by yurys on
620         #webkit).
621
622         * platform/chromium/ChromiumBridge.h:
623         * platform/graphics/chromium/FontCacheLinux.cpp:
624         (WebCore::FontCache::getFontDataForCharacters):
625
626 2010-05-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
627
628         Reviewed by Laszlo Gombos.
629
630         REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
631
632         Patch declared a variable index, which shadowed an earlier declared
633         variable.
634
635         * bridge/qt/qt_class.cpp:
636         (JSC::Bindings::QtClass::fallbackObject):
637
638 2010-05-14  Andrei Popescu  <andreip@google.com>
639
640         Reviewed by Jeremy Orlow.
641
642         IDBRequest is not a proper ActiveDomObject
643         https://bugs.webkit.org/show_bug.cgi?id=39001
644
645         Add IDBRequest interface to the IsActiveDomType
646         routine of the CodeGeneratorV8.pm.
647
648         Rename IDBRequest::m_stopped to m_suspended and reset
649         the flag when resume() is called.
650
651         No new tests, Indexed Database isn't yet testable.
652
653         * bindings/scripts/CodeGeneratorV8.pm:
654         * storage/IDBRequest.cpp:
655         (WebCore::IDBRequest::suspend):
656         (WebCore::IDBRequest::resume):
657         (WebCore::IDBRequest::timerFired):
658         (WebCore::IDBRequest::onEventCommon):
659         * storage/IDBRequest.h:
660
661 2010-05-17  Xan Lopez  <xlopez@igalia.com>
662
663         Do not include the indexed database headers if the feature is not
664         enabled. Should fix the build in GTK+.
665
666         * bindings/js/JSEventCustom.cpp:
667
668 2010-05-17  Xan Lopez  <xlopez@igalia.com>
669
670         Try to fix GTK+ build.
671
672         * GNUmakefile.am:
673
674 2010-05-14  Jeremy Orlow  <jorlow@chromium.org>
675
676         Reviewed by Nate Chapin.
677
678         Finish up IndexedDB events
679         https://bugs.webkit.org/show_bug.cgi?id=39117
680
681         Implement the indexed database event interfaces as proposed by Mozilla.
682         Refactor the run time type detection code that was in IDBRequest into its own
683         class named IDBAny.  Use this new class within the new event classes and
684         IDBResults.
685
686         Test: storage/indexeddb/basics.html
687
688         * DerivedSources.cpp:
689         * DerivedSources.make:
690         * GNUmakefile.am:
691         * WebCore.gyp/WebCore.gyp:
692         * WebCore.gypi:
693         * WebCore.pri:
694         * WebCore.pro:
695         * WebCore.vcproj/WebCore.vcproj:
696         * WebCore.xcodeproj/project.pbxproj:
697         * bindings/js/JSEventCustom.cpp:
698         (WebCore::toJS):
699         * bindings/js/JSEventTarget.cpp:
700         (WebCore::toJS):
701         * bindings/js/JSIDBAnyCustom.cpp: Added.
702         (WebCore::toJS):
703         * bindings/js/JSIDBRequestCustom.cpp: Removed.
704         * bindings/v8/custom/V8EventCustom.cpp:
705         (WebCore::toV8):
706         * bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
707         (WebCore::toV8):
708         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
709         * dom/Event.cpp:
710         (WebCore::Event::isIDBErrorEvent):
711         (WebCore::Event::isIDBSuccessEvent):
712         * dom/Event.h:
713         * storage/IDBAny.cpp: Added.
714         (WebCore::IDBAny::create):
715         (WebCore::IDBAny::IDBAny):
716         (WebCore::IDBAny::~IDBAny):
717         (WebCore::IDBAny::idbDatabaseRequest):
718         (WebCore::IDBAny::indexedDatabaseRequest):
719         (WebCore::IDBAny::serializedScriptValue):
720         (WebCore::IDBAny::set):
721         * storage/IDBAny.h: Added.
722         (WebCore::IDBAny::):
723         (WebCore::IDBAny::type):
724         * storage/IDBAny.idl: Added.
725         * storage/IDBErrorEvent.cpp: Added.
726         (WebCore::IDBErrorEvent::create):
727         (WebCore::IDBErrorEvent::IDBErrorEvent):
728         (WebCore::IDBErrorEvent::~IDBErrorEvent):
729         * storage/IDBErrorEvent.h: Added.
730         (WebCore::IDBErrorEvent::code):
731         (WebCore::IDBErrorEvent::message):
732         (WebCore::IDBErrorEvent::isIDBErrorEvent):
733         * storage/IDBErrorEvent.idl: Added.
734         * storage/IDBEvent.cpp: Added.
735         (WebCore::IDBEvent::IDBEvent):
736         (WebCore::IDBEvent::~IDBEvent):
737         (WebCore::IDBEvent::source):
738         * storage/IDBEvent.h: Added.
739         * storage/IDBEvent.idl: Added.
740         * storage/IDBRequest.cpp:
741         (WebCore::IDBRequest::IDBRequest):
742         (WebCore::IDBRequest::onSuccess):
743         (WebCore::IDBRequest::timerFired):
744         (WebCore::IDBRequest::onEventCommon):
745         * storage/IDBRequest.h:
746         (WebCore::IDBRequest::create):
747         (WebCore::IDBRequest::result):
748         * storage/IDBRequest.idl:
749         * storage/IDBSuccessEvent.cpp: Added.
750         (WebCore::IDBSuccessEvent::create):
751         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
752         (WebCore::IDBSuccessEvent::~IDBSuccessEvent):
753         (WebCore::IDBSuccessEvent::result):
754         * storage/IDBSuccessEvent.h: Added.
755         (WebCore::IDBSuccessEvent::isIDBSuccessEvent):
756         * storage/IDBSuccessEvent.idl: Added.
757         * storage/IndexedDatabaseImpl.cpp:
758         (WebCore::IndexedDatabaseImpl::open):
759         * storage/IndexedDatabaseRequest.cpp:
760         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
761         (WebCore::IndexedDatabaseRequest::open):
762         * storage/IndexedDatabaseRequest.h:
763
764 2010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
765
766         Unreviewed.
767
768         Removed the stray equals sign from the reviewer's name in the
769         "Reviewed by" line of the ChangeLog entry for r59596:
770
771         http://trac.webkit.org/changeset/59596
772
773 2010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
774
775         Reviewed by Adam Barth.
776
777         Refactored FrameLoader::changeLocation() and urlSelected() to share more code.
778
779         https://bugs.webkit.org/show_bug.cgi?id=38827
780
781         No change in behavior, so no new tests.
782
783         * bindings/ScriptControllerBase.cpp:
784         (WebCore::ScriptController::executeIfJavaScriptURL):
785           - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
786         * bindings/js/ScriptController.h:
787           - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
788         * bindings/v8/ScriptController.h:
789           - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
790         * loader/FrameLoader.cpp:
791         (WebCore::FrameLoader::changeLocation):
792           - Changed to call the new private overload of urlSelected().
793         (WebCore::FrameLoader::urlSelected):
794           - Added a private overload of urlSelected().
795           - Changed the public urlSelected() to call the private overload.
796         (WebCore::FrameLoader::submitForm):
797         * loader/FrameLoader.h:
798           - Added a private overload of urlSelected().
799         * loader/FrameLoaderTypes.h:
800           - Added a ShouldReplaceDocumentIfJavaScriptURL enum.
801
802 2010-05-16  Daniel Bates  <dbates@rim.com>
803
804         Reviewed by David Hyatt.
805
806         https://bugs.webkit.org/show_bug.cgi?id=39196
807
808         Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>.
809
810         Prepared on behalf of David Hyatt.
811
812         "Not worth the memory use." Just roll this out.
813
814         * WebCore.vcproj/WebCore.vcproj:
815         * WebCore.xcodeproj/project.pbxproj:
816         * editing/visible_units.cpp:
817         (WebCore::previousLinePosition):
818         (WebCore::nextLinePosition):
819         * rendering/EllipsisBox.cpp:
820         (WebCore::EllipsisBox::paint):
821         (WebCore::EllipsisBox::selectionRect):
822         (WebCore::EllipsisBox::paintSelection):
823         (WebCore::EllipsisBox::nodeAtPoint):
824         * rendering/EllipsisBox.h:
825         (WebCore::EllipsisBox::EllipsisBox):
826         (WebCore::EllipsisBox::height):
827         * rendering/InlineBox.cpp:
828         (WebCore::InlineBox::height):
829         (WebCore::InlineBox::adjustPosition):
830         (WebCore::InlineBox::canAccommodateEllipsis):
831         * rendering/InlineBox.h:
832         (WebCore::InlineBox::InlineBox):
833         (WebCore::InlineBox::isInlineBox):
834         (WebCore::InlineBox::hasVirtualHeight):
835         (WebCore::InlineBox::setHasVirtualHeight):
836         (WebCore::InlineBox::virtualHeight):
837         (WebCore::InlineBox::setWidth):
838         (WebCore::InlineBox::width):
839         (WebCore::InlineBox::setX):
840         (WebCore::InlineBox::x):
841         (WebCore::InlineBox::setY):
842         (WebCore::InlineBox::y):
843         (WebCore::InlineBox::baselinePosition):
844         (WebCore::InlineBox::lineHeight):
845         * rendering/InlineFlowBox.cpp:
846         (WebCore::InlineFlowBox::placeBoxesVertically):
847         (WebCore::InlineFlowBox::computeVerticalOverflow):
848         (WebCore::InlineFlowBox::nodeAtPoint):
849         (WebCore::InlineFlowBox::paintBoxDecorations):
850         (WebCore::InlineFlowBox::paintMask):
851         (WebCore::InlineFlowBox::paintTextDecorations):
852         * rendering/InlineFlowBox.h:
853         (WebCore::InlineFlowBox::visibleOverflowRect):
854         (WebCore::InlineFlowBox::topLayoutOverflow):
855         (WebCore::InlineFlowBox::bottomLayoutOverflow):
856         (WebCore::InlineFlowBox::leftLayoutOverflow):
857         (WebCore::InlineFlowBox::rightLayoutOverflow):
858         (WebCore::InlineFlowBox::layoutOverflowRect):
859         (WebCore::InlineFlowBox::topVisualOverflow):
860         (WebCore::InlineFlowBox::bottomVisualOverflow):
861         (WebCore::InlineFlowBox::leftVisualOverflow):
862         (WebCore::InlineFlowBox::rightVisualOverflow):
863         (WebCore::InlineFlowBox::visualOverflowRect):
864         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
865         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
866         * rendering/InlineTextBox.cpp:
867         (WebCore::InlineTextBox::selectionRect):
868         (WebCore::InlineTextBox::placeEllipsisBox):
869         (WebCore::InlineTextBox::nodeAtPoint):
870         (WebCore::InlineTextBox::paint):
871         (WebCore::InlineTextBox::paintSelection):
872         (WebCore::InlineTextBox::paintCompositionBackground):
873         (WebCore::InlineTextBox::paintDecoration):
874         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
875         (WebCore::InlineTextBox::paintTextMatchMarker):
876         (WebCore::InlineTextBox::computeRectForReplacementMarker):
877         (WebCore::InlineTextBox::paintCompositionUnderline):
878         (WebCore::InlineTextBox::offsetForPosition):
879         (WebCore::InlineTextBox::positionForOffset):
880         * rendering/InlineTextBox.h:
881         (WebCore::InlineTextBox::setSpaceAdd):
882         * rendering/RenderBlock.cpp:
883         (WebCore::RenderBlock::positionForPointWithInlineChildren):
884         * rendering/RenderBlockLineLayout.cpp:
885         (WebCore::RenderBlock::computeVerticalPositionsForLine):
886         (WebCore::RenderBlock::layoutInlineChildren):
887         * rendering/RenderSVGInline.cpp:
888         (WebCore::RenderSVGInline::createInlineFlowBox):
889         * rendering/RenderSVGInlineText.cpp:
890         (WebCore::RenderSVGInlineText::createTextBox):
891         * rendering/RenderSVGText.cpp:
892         (WebCore::RenderSVGText::createRootInlineBox):
893         * rendering/RenderText.cpp:
894         (WebCore::RenderText::positionForPoint):
895         (WebCore::RenderText::firstRunX):
896         (WebCore::RenderText::firstRunY):
897         * rendering/RenderTreeAsText.cpp:
898         (WebCore::writeTextRun):
899         * rendering/RootInlineBox.cpp:
900         (WebCore::RootInlineBox::placeEllipsis):
901         (WebCore::RootInlineBox::addHighlightOverflow):
902         (WebCore::RootInlineBox::closestLeafChildForXPos):
903         * rendering/SVGInlineFlowBox.h:
904         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
905         (WebCore::SVGInlineFlowBox::virtualHeight):
906         (WebCore::SVGInlineFlowBox::setHeight):
907         * rendering/SVGInlineTextBox.h:
908         (WebCore::SVGInlineTextBox::virtualHeight):
909         (WebCore::SVGInlineTextBox::setHeight):
910         (WebCore::SVGInlineTextBox::selectionTop):
911         (WebCore::SVGInlineTextBox::selectionHeight):
912         * rendering/SVGRootInlineBox.h:
913         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
914         (WebCore::SVGRootInlineBox::virtualHeight):
915         (WebCore::SVGRootInlineBox::setHeight):
916         * rendering/TrailingFloatsRootInlineBox.h: Added.
917         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
918         (WebCore::TrailingFloatsRootInlineBox::virtualHeight):
919
920 2010-05-13  Tony Chang  <tony@chromium.org>
921
922         Reviewed by Darin Adler.
923
924         REGRESSION: Crash by pasting to a textarea with white-space:nowrap
925         https://bugs.webkit.org/show_bug.cgi?id=38992
926
927         Test: editing/pasteboard/paste-plaintext-nowrap.html
928
929         * editing/InsertParagraphSeparatorCommand.cpp:
930         (WebCore::highestVisuallyEquivalentDivBelowRoot):
931         (WebCore::InsertParagraphSeparatorCommand::doApply):
932
933 2010-05-16  David Hyatt  <hyatt@apple.com>
934
935         Reviewed by Dan Bernstein.
936
937         https://bugs.webkit.org/show_bug.cgi?id=39194
938
939         Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality.
940
941         Added fast/multicol/column-count-with-rules.html
942
943         * rendering/RenderBlock.cpp:
944         (WebCore::RenderBlock::paintColumnRules):
945         (WebCore::RenderBlock::paintColumnContents):
946         (WebCore::RenderBlock::hitTestColumns):
947         (WebCore::RenderBlock::adjustRectForColumns):
948
949 2010-05-16  Dan Bernstein  <mitz@apple.com>
950
951         Reviewed by Dave Hyatt.
952
953         Fix SVG test failures after r59588.
954
955         Updated SVG InlineBox virtual method overrides to match HTML ones. Removed
956         SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares
957         verticallyAlignBoxes().
958
959         * rendering/SVGInlineFlowBox.cpp:
960         (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
961         * rendering/SVGInlineFlowBox.h:
962         * rendering/SVGRootInlineBox.cpp:
963         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
964         (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
965         * rendering/SVGRootInlineBox.h:
966
967 2010-05-16  Dan Bernstein  <mitz@apple.com>
968
969         Reviewed by Darin Adler.
970
971         Move transient glyph overflow and fallback font data from a global to the stack
972         https://bugs.webkit.org/show_bug.cgi?id=39050
973
974         * rendering/InlineFlowBox.cpp:
975         (WebCore::InlineFlowBox::placeBoxesHorizontally): Added a GlyphOverflowAndFallbackFontsMap
976         parameter. Read glyph overflow from the map.
977         (WebCore::InlineFlowBox::computeLogicalBoxHeights): Added a GlyphOverflowAndFallbackFontsMap
978         parameter. Read fallback fonts from the map.
979         (WebCore::InlineFlowBox::computeVerticalOverflow): Added a GlyphOverflowAndFallbackFontsMap
980         parameter. Read glyph overflow from the map.
981         * rendering/InlineFlowBox.h:
982         * rendering/InlineTextBox.cpp: Removed setFallbackFonts(), fallbackFonts(), setGlyphOverflow(),
983         and glyphOverflow(). Removed s_glyphOverflowAndFallbackFontsMap.
984         * rendering/InlineTextBox.h:
985         * rendering/RenderBlock.h:
986         * rendering/RenderBlockLineLayout.cpp:
987         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
988         parameter. Write fallback fonts and glyph overflow into the map.
989         (WebCore::RenderBlock::computeVerticalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
990         parameter. Pass it down to verticallyAlignBoxes().
991         (WebCore::RenderBlock::layoutInlineChildren): Create a GlyphOverflowAndFallbackFontsMap on the
992         stack and pass it down to computeHorizontalPositionsForLine(), computeVerticalPositionsForLine(),
993         and verticallyAlignBoxes().
994         * rendering/RootInlineBox.cpp:
995         (WebCore::RootInlineBox::verticallyAlignBoxes): Added a GlyphOverflowAndFallbackFontsMap parameter.
996         Pass it down to computeLogicalBoxHeights() and computeVerticalOverflow().
997         * rendering/RootInlineBox.h:
998         * rendering/SVGRootInlineBox.cpp:
999         (WebCore::SVGRootInlineBox::layoutInlineBoxes): Updated.
1000
1001 2010-05-12  Tony Chang  <tony@chromium.org>
1002
1003         Reviewed by Darin Adler.
1004
1005         Spellcheck disabling does not disable context menu
1006         https://bugs.webkit.org/show_bug.cgi?id=25639
1007
1008         Test: editing/spelling/context-menu-suggestions.html
1009
1010         * platform/ContextMenu.cpp:
1011         (WebCore::ContextMenu::populate):
1012
1013 2010-05-16  Sam Weinig  <sam@webkit.org>
1014
1015         Reviewed by Dan Bernstein.
1016
1017         https://bugs.webkit.org/show_bug.cgi?id=39190
1018         Shave a word off of GlyphPageTreeNode
1019         <rdar://problem/7990428>
1020
1021         * platform/graphics/GlyphPageTreeNode.h:
1022         (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
1023
1024 2010-05-16  Andreas Kling  <andreas.kling@nokia.com>
1025
1026         Reviewed by Kenneth Rohde Christiansen.
1027
1028         Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData().
1029         Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments.
1030         getImageData() should throw INDEX_SIZE_ERR if either width or height is 0.
1031
1032         https://bugs.webkit.org/show_bug.cgi?id=39175
1033
1034         Spec link:
1035         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
1036
1037         Test: fast/canvas/canvas-getImageData-invalid.html
1038
1039         * html/canvas/CanvasRenderingContext2D.cpp:
1040         (WebCore::CanvasRenderingContext2D::createImageData):
1041         (WebCore::CanvasRenderingContext2D::getImageData):
1042         (WebCore::CanvasRenderingContext2D::putImageData):
1043
1044 2010-05-16  Andreas Kling  <andreas.kling@nokia.com>
1045
1046         Reviewed by Kenneth Rohde Christiansen.
1047
1048         Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
1049         https://bugs.webkit.org/show_bug.cgi?id=39153
1050
1051         Spec link:
1052         http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
1053
1054         Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
1055
1056         * dom/CanvasSurface.cpp:
1057         (WebCore::CanvasSurface::toDataURL):
1058
1059 2010-05-16  Simon Fraser  <simon.fraser@apple.com>
1060
1061         Reviewed by Anders Carlsson.
1062
1063         Shrink SimpleFontData
1064         https://bugs.webkit.org/show_bug.cgi?id=39179
1065
1066         Change SimpleFontData to have a pointer to the m_glyphToBoundsMap, 
1067         and to allocate this lazily. This reduces the size of the class from
1068         5632 to 1536 bytes.
1069
1070         * platform/graphics/SimpleFontData.h:
1071         (WebCore::SimpleFontData::boundsForGlyph):
1072
1073 2010-05-15  Simon Fraser  <simon.fraser@apple.com>
1074
1075         Reviewed by Maciej Stachowiak.
1076
1077         Reduce the size of CachedResource
1078         https://bugs.webkit.org/show_bug.cgi?id=39171
1079
1080         Make protected data members of CachedResource private, to allow for
1081         easier rearrangement, and hide the fact that enums are in bitfields.
1082         
1083         Rearrange the data members of CachedResource to save 32 bytes per instance
1084         in 64-bit. Also modernized the constructor code.
1085
1086         * loader/CachedCSSStyleSheet.cpp:
1087         (WebCore::CachedCSSStyleSheet::didAddClient):
1088         (WebCore::CachedCSSStyleSheet::data):
1089         (WebCore::CachedCSSStyleSheet::checkNotify):
1090         (WebCore::CachedCSSStyleSheet::error):
1091         * loader/CachedFont.cpp:
1092         (WebCore::CachedFont::load):
1093         (WebCore::CachedFont::didAddClient):
1094         (WebCore::CachedFont::data):
1095         (WebCore::CachedFont::ensureCustomFontData):
1096         (WebCore::CachedFont::ensureSVGFontData):
1097         (WebCore::CachedFont::checkNotify):
1098         (WebCore::CachedFont::error):
1099         * loader/CachedImage.cpp:
1100         (WebCore::CachedImage::CachedImage):
1101         (WebCore::CachedImage::load):
1102         (WebCore::CachedImage::didAddClient):
1103         (WebCore::CachedImage::allClientsRemoved):
1104         (WebCore::CachedImage::image):
1105         (WebCore::CachedImage::data):
1106         (WebCore::CachedImage::error):
1107         (WebCore::CachedImage::checkNotify):
1108         (WebCore::CachedImage::destroyDecodedData):
1109         * loader/CachedImage.h:
1110         (WebCore::CachedImage::stillNeedsLoad):
1111         * loader/CachedResource.cpp:
1112         (WebCore::CachedResource::CachedResource):
1113         * loader/CachedResource.h:
1114         (WebCore::CachedResource::type):
1115         (WebCore::CachedResource::preloadResult):
1116         (WebCore::CachedResource::status):
1117         (WebCore::CachedResource::setStatus):
1118         (WebCore::CachedResource::isLoaded):
1119         (WebCore::CachedResource::isLoading):
1120         (WebCore::CachedResource::setErrorOccurred):
1121         * loader/CachedScript.cpp:
1122         (WebCore::CachedScript::didAddClient):
1123         (WebCore::CachedScript::data):
1124         (WebCore::CachedScript::checkNotify):
1125         (WebCore::CachedScript::error):
1126         * loader/CachedXSLStyleSheet.cpp:
1127         (WebCore::CachedXSLStyleSheet::didAddClient):
1128         (WebCore::CachedXSLStyleSheet::data):
1129         (WebCore::CachedXSLStyleSheet::checkNotify):
1130         (WebCore::CachedXSLStyleSheet::error):
1131
1132 2010-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1133
1134         Unreviewed, rolling out r59574.
1135         http://trac.webkit.org/changeset/59574
1136         https://bugs.webkit.org/show_bug.cgi?id=39176
1137
1138         Supposedly broke cr-win, but the errors seems somewhat
1139         unrelated (Requested by abarth on #webkit).
1140
1141         * platform/network/chromium/ResourceResponse.h:
1142         (WebCore::ResourceResponse::ResourceResponse):
1143         (WebCore::ResourceResponse::setSecurityInfo):
1144         (WebCore::ResourceResponse::isContentFiltered):
1145         (WebCore::ResourceResponse::setIsContentFiltered):
1146         (WebCore::ResourceResponse::setAppCacheID):
1147         (WebCore::ResourceResponse::setAppCacheManifestURL):
1148         (WebCore::ResourceResponse::setWasFetchedViaSPDY):
1149         (WebCore::ResourceResponse::setIsMultipartPayload):
1150         (WebCore::ResourceResponse::setResponseTime):
1151
1152 2010-05-16  Dan Bernstein  <mitz@apple.com>
1153
1154         Reviewed by Darin Adler.
1155
1156         Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL
1157         https://bugs.webkit.org/show_bug.cgi?id=39086
1158
1159         Use global variables directly.
1160
1161         * bindings/v8/ScriptCallStack.cpp:
1162         (WebCore::ScriptCallStack::createUtilityContext):
1163         * platform/ScrollView.cpp:
1164         (WebCore::ScrollView::wheelEvent):
1165         * platform/graphics/mac/ComplexTextController.cpp:
1166         (WebCore::shouldUseATSUIAPI):
1167
1168 2010-05-16  Andreas Kling  <andreas.kling@nokia.com>
1169
1170         Reviewed by Kenneth Rohde Christiansen.
1171
1172         Canvas's getContext() must return null when called with an invalid/unsupported parameter.
1173         (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext
1174
1175         https://bugs.webkit.org/show_bug.cgi?id=39150
1176
1177         Test: fast/canvas/canvas-getContext-invalid.html
1178
1179         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1180         (WebCore::JSHTMLCanvasElement::getContext):
1181         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1182         (WebCore::V8HTMLCanvasElement::getContextCallback):
1183
1184 2010-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1185
1186         Unreviewed, rolling out r59565.
1187         http://trac.webkit.org/changeset/59565
1188         https://bugs.webkit.org/show_bug.cgi?id=39173
1189
1190         Broke GTK (Requested by abarth on #webkit).
1191
1192         * dom/CanvasSurface.cpp:
1193         (WebCore::CanvasSurface::toDataURL):
1194
1195 2010-05-15  Andreas Kling  <andreas.kling@nokia.com>
1196
1197         Reviewed by Kenneth Rohde Christiansen.
1198
1199         Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
1200         https://bugs.webkit.org/show_bug.cgi?id=39153
1201
1202         Spec link:
1203         http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
1204
1205         Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
1206
1207         * dom/CanvasSurface.cpp:
1208         (WebCore::CanvasSurface::toDataURL):
1209
1210 2010-05-15  Anders Bakken  <agbakken@gmail.com>
1211
1212         Reviewed by Kenneth Rohde Christiansen.
1213
1214         QObject::objectName() returns a QString and QtField::name()
1215         creates a temporary QByteArray object and returns constData() from it.
1216         This is not safe.
1217
1218         This patch changes the signature of the function to return a
1219         QByteArray instead of const char *.
1220
1221         https://bugs.webkit.org/show_bug.cgi?id=39010
1222
1223         * bridge/qt/qt_instance.cpp:
1224         (JSC::Bindings::QtInstance::getPropertyNames):
1225         (JSC::Bindings::QtField::name):
1226         * bridge/qt/qt_runtime.h:
1227
1228 2010-05-15  Anders Bakken  <agbakken@gmail.com>
1229
1230         Reviewed by Kenneth Rohde Christiansen.
1231
1232         Don't unnecessarily copy data when searching for methods in QtClass.
1233
1234         [Qt] JSValue QtClass::fallbackObject can be optimized
1235         https://bugs.webkit.org/show_bug.cgi?id=37684
1236
1237         * bridge/qt/qt_class.cpp:
1238         (JSC::Bindings::QtClass::fallbackObject):
1239
1240 2010-05-15  Anders Bakken  <agbakken@gmail.com>
1241
1242         Reviewed by Kenneth Rohde Christiansen.
1243
1244         Identifier::ascii() is not threadsafe and shouldn't be used for
1245         converting to and from QString/QByteArray.
1246
1247         https://bugs.webkit.org/show_bug.cgi?id=39009
1248
1249         * bridge/qt/qt_class.cpp:
1250         (JSC::Bindings::QtClass::fallbackObject):
1251         (JSC::Bindings::QtClass::fieldNamed):
1252
1253 2010-05-15  Chang Shu  <chang.shu@nokia.com>
1254
1255         Reviewed by Kenneth Rohde Christiansen.
1256
1257         Based on the spec and Philip Taylor's test suite, createImageData() should throw
1258         an INDEX_SIZE_ERR exception if either the sw or sh arguments are zero.
1259         The link to the spec:
1260         http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.imageData.getcreate.zero
1261
1262         https://bugs.webkit.org/show_bug.cgi?id=39166
1263
1264         The complete test suite is in the process of checking in.
1265         https://bugs.webkit.org/show_bug.cgi?id=20553
1266
1267         * html/canvas/CanvasRenderingContext2D.cpp:
1268         (WebCore::CanvasRenderingContext2D::createImageData):
1269
1270 2010-05-15  Adam Barth  <abarth@webkit.org>
1271
1272         Reviewed by Darin Adler.
1273
1274         XMLHttpRequest.getResponseHeader doesn't need to be custom
1275         https://bugs.webkit.org/show_bug.cgi?id=39125
1276
1277         I don't see any reason this method needs to be custom.  No new tests
1278         because there's no behavior change.
1279
1280         * bindings/js/JSXMLHttpRequestCustom.cpp:
1281         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1282         * xml/XMLHttpRequest.idl:
1283
1284 2010-05-15  Adam Barth  <abarth@webkit.org>
1285
1286         Reviewed by Darin Adler.
1287
1288         XMLHttpRequest.setRequestHeader shouldn't be custom
1289         https://bugs.webkit.org/show_bug.cgi?id=39124
1290
1291         I don't see any reason why this method needs to be custom.  No tests
1292         because no behavior change.
1293
1294         * bindings/js/JSXMLHttpRequestCustom.cpp:
1295         * bindings/scripts/CodeGeneratorJS.pm:
1296         * bindings/scripts/CodeGeneratorV8.pm:
1297         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1298         (webkit_dom_test_obj_method_that_requires_all_args):
1299         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
1300         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1301         * bindings/scripts/test/JS/JSTestObj.cpp:
1302         (WebCore::):
1303         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
1304         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1305         * bindings/scripts/test/JS/JSTestObj.h:
1306         * bindings/scripts/test/ObjC/DOMTestObj.h:
1307         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1308         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
1309         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
1310         * bindings/scripts/test/TestObj.idl:
1311         * bindings/scripts/test/V8/V8TestObj.cpp:
1312         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
1313         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
1314         (WebCore::ConfigureV8TestObjTemplate):
1315         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1316         * xml/XMLHttpRequest.idl:
1317
1318 2010-05-14  Alexey Proskuryakov  <ap@apple.com>
1319
1320         Reviewed by Darin Adler.
1321
1322         https://bugs.webkit.org/show_bug.cgi?id=39048
1323         <rdar://problem/7978384> REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not
1324         defined") with JavaScript disabled
1325
1326         Google Maps goes into mobile mode if JavaScript is disabled for some reason, and sends XHTML
1327         content with XHTML Mobile DOCTYPE. We want to handle it whether XHTMLMP is enabled or not.
1328
1329         Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml
1330
1331         * dom/XMLTokenizerLibxml2.cpp: (WebCore::externalSubsetHandler): Restore pre-55802 behavior
1332         for builds that don't have XHTMLMP enabled. Given that r55802 negated the condition without
1333         breaking XHTMLMP, this line is actually always needed.
1334
1335 2010-05-15  Vangelis Kokkevis  <vangelis@chromium.org>
1336
1337         Reviewed by Darin Fisher.
1338
1339         Fixing LayerChromium hierarchy updates where due to mixed ownership
1340         handling, sublayer updates didn't always properly update parent-to-child
1341         and child-to-parent pointers in sync.
1342         https://bugs.webkit.org/show_bug.cgi?id=39138
1343
1344         * platform/graphics/chromium/LayerChromium.cpp:
1345         (WebCore::LayerChromium::~LayerChromium):
1346         (WebCore::LayerChromium::setNeedsCommit): Typo fix.
1347         (WebCore::LayerChromium::insertSublayer):
1348         (WebCore::LayerChromium::removeFromSuperlayer):
1349         (WebCore::LayerChromium::removeSublayer):
1350         (WebCore::LayerChromium::replaceSublayer):
1351         (WebCore::LayerChromium::removeAllSublayers):
1352         (WebCore::LayerChromium::setSublayers):
1353         * platform/graphics/chromium/LayerChromium.h:
1354         (WebCore::LayerChromium::setSuperlayer):
1355
1356 2010-05-15  Andrey Kosyakov  <caseq@chromium.org>
1357
1358         Reviewed by Timothy Hatcher.
1359
1360         Got rid of absolute positioning in favor of flex boxes where possible.
1361         Added shadow for help window.
1362         Changed window style names to more comprehensible.
1363         https://bugs.webkit.org/show_bug.cgi?id=39120
1364  
1365         * inspector/front-end/HelpScreen.js:
1366         (WebInspector.HelpScreen):
1367         * inspector/front-end/helpScreen.css:
1368         (.help-window-outer):
1369         (body.attached .help-window-outer):
1370         (.help-window-main):
1371         (body.attached .help-window-main):
1372         (.help-window-caption):
1373         (body.attached .help-window-caption):
1374         (.help-window-title):
1375         (.help-scrollable):
1376         (.help-close-button):
1377         (body.platform-mac .help-close-button):
1378         (body:not(.platform-mac) .help-close-button):
1379
1380 2010-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1381
1382         Unreviewed, rolling out r59549.
1383         http://trac.webkit.org/changeset/59549
1384         https://bugs.webkit.org/show_bug.cgi?id=39167
1385
1386         Broke Chromium build (Requested by abarth on #webkit).
1387
1388         * bindings/scripts/CodeGeneratorV8.pm:
1389         * storage/IDBRequest.cpp:
1390         (WebCore::IDBRequest::suspend):
1391         (WebCore::IDBRequest::resume):
1392         (WebCore::IDBRequest::timerFired):
1393         (WebCore::IDBRequest::onEventCommon):
1394         * storage/IDBRequest.h:
1395
1396 2010-05-15  Vangelis Kokkevis  <vangelis@chromium.org>
1397
1398         Reviewed by Darin Fisher.
1399
1400         Adding code path for composited layers (LayerChromium) containing only
1401         an Image element.
1402         https://bugs.webkit.org/show_bug.cgi?id=39142
1403
1404         No new tests, covered under the existing tests for composited layers.
1405
1406         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1407         (WebCore::GraphicsLayerChromium::setContentsToImage):
1408         (WebCore::GraphicsLayerChromium::updateContentsImage):
1409         * platform/graphics/chromium/GraphicsLayerChromium.h:
1410         * platform/graphics/chromium/LayerChromium.cpp:
1411         (WebCore::LayerChromium::LayerChromium):
1412         (WebCore::LayerChromium::setContents):
1413         * platform/graphics/chromium/LayerChromium.h:
1414         (WebCore::LayerChromium::contents):
1415
1416 2010-05-15  Andrei Popescu  <andreip@google.com>
1417
1418         Reviewed by Jeremy Orlow.
1419
1420         IDBRequest is not a proper ActiveDomObject
1421         https://bugs.webkit.org/show_bug.cgi?id=39001
1422
1423         Add IDBRequest interface to the IsActiveDomType
1424         routine of the CodeGeneratorV8.pm.
1425
1426         Rename IDBRequest::m_stopped to m_suspended and reset
1427         the flag when resume() is called.
1428
1429         No new tests, Indexed Database isn't yet testable.
1430
1431         * bindings/scripts/CodeGeneratorV8.pm:
1432         * storage/IDBRequest.cpp:
1433         (WebCore::IDBRequest::suspend):
1434         (WebCore::IDBRequest::resume):
1435         (WebCore::IDBRequest::timerFired):
1436         (WebCore::IDBRequest::onEventCommon):
1437         * storage/IDBRequest.h:
1438
1439 2010-05-15  Andrei Bucur  <abucur@adobe.com>
1440
1441         Reviewed by Gustavo Noronha Silva.
1442
1443         Functions using the cairo_pattern_t object returned by
1444         Pattern::createPlatformPattern sould destroy it after the painting
1445         operation. Failing to do so causes memory leaks.
1446
1447         Test: No test was added because the patch adds no new functionality.
1448         It just completes the normal life cycle of a cairo_pattern_t object.
1449
1450         * platform/graphics/cairo/FontCairo.cpp:
1451         (WebCore::Font::drawGlyphs):
1452         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1453         (WebCore::setPlatformFill):
1454         (WebCore::setPlatformStroke):
1455
1456 2010-05-15  Yael Aharon  <yael.aharon@nokia.com>
1457
1458         Reviewed by Kent Tamura.
1459
1460         Initial support for HTMLMeterElement
1461         https://bugs.webkit.org/show_bug.cgi?id=38140
1462
1463         This patch adds support for HTMLMeterElement, including default rendering
1464         of the meter element. That is because some platforms do not have a native gauge.
1465         The feature is turned on only for the Qt platform.
1466
1467         Tests: fast/dom/HTMLMeterElement/meter-element.html
1468                fast/dom/HTMLMeterElement/set-meter-properties.html
1469
1470         * DerivedSources.cpp:
1471         * DerivedSources.make:
1472         * GNUmakefile.am:
1473         * WebCore.gypi:
1474         * WebCore.pri:
1475         * WebCore.pro:
1476         * WebCore.vcproj/WebCore.vcproj:
1477         * css/CSSPrimitiveValueMappings.h:
1478         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1479         * css/CSSValueKeywords.in:
1480         * css/html.css:
1481         (meter):
1482         (meter::-webkit-meter):
1483         * html/HTMLAttributeNames.in:
1484         * html/HTMLElement.cpp:
1485         (WebCore::inlineTagList):
1486         * html/HTMLElementsAllInOne.cpp:
1487         * html/HTMLMeterElement.cpp: Added.
1488         (WebCore::HTMLMeterElement::HTMLMeterElement):
1489         (WebCore::HTMLMeterElement::create):
1490         (WebCore::HTMLMeterElement::createRenderer):
1491         (WebCore::HTMLMeterElement::formControlType):
1492         (WebCore::HTMLMeterElement::parseMappedAttribute):
1493         (WebCore::HTMLMeterElement::min):
1494         (WebCore::HTMLMeterElement::setMin):
1495         (WebCore::HTMLMeterElement::max):
1496         (WebCore::HTMLMeterElement::setMax):
1497         (WebCore::HTMLMeterElement::value):
1498         (WebCore::HTMLMeterElement::setValue):
1499         (WebCore::HTMLMeterElement::low):
1500         (WebCore::HTMLMeterElement::setLow):
1501         (WebCore::HTMLMeterElement::high):
1502         (WebCore::HTMLMeterElement::setHigh):
1503         (WebCore::HTMLMeterElement::optimum):
1504         (WebCore::HTMLMeterElement::setOptimum):
1505         * html/HTMLMeterElement.h: Added.
1506         (WebCore::HTMLMeterElement::recalcWillValidate):
1507         * html/HTMLMeterElement.idl: Added.
1508         * html/HTMLTagNames.in:
1509         * page/DOMWindow.idl:
1510         * platform/ThemeTypes.h:
1511         * rendering/RenderMeter.cpp: Added.
1512         (WebCore::RenderMeter::RenderMeter):
1513         (WebCore::RenderMeter::layout):
1514         (WebCore::RenderMeter::updateFromElement):
1515         * rendering/RenderMeter.h: Added.
1516         (WebCore::RenderMeter::renderName):
1517         (WebCore::RenderMeter::isMeter):
1518         (WebCore::toRenderMeter):
1519         * rendering/RenderObject.h:
1520         (WebCore::RenderObject::isMeter):
1521         * rendering/RenderTheme.cpp:
1522         (WebCore::RenderTheme::adjustStyle):
1523         (WebCore::RenderTheme::paint):
1524         (WebCore::RenderTheme::paintBorderOnly):
1525         (WebCore::RenderTheme::paintDecorations):
1526         (WebCore::RenderTheme::adjustMeterStyle):
1527         (WebCore::RenderTheme::paintMeter):
1528         * rendering/RenderTheme.h:
1529
1530 2010-05-15  Eric Uhrhane  <ericu@chromium.org>
1531
1532         Reviewed by Dmitry Titov.
1533
1534         Add bindings for async DB API in Workers.
1535         https://bugs.webkit.org/show_bug.cgi?id=34992
1536
1537         Tests: storage/change-version-handle-reuse-worker.html
1538                storage/execute-sql-args-worker.html
1539
1540         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
1541         (WebCore::JSWorkerContext::openDatabase):
1542
1543         * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
1544         (WebCore::V8WorkerContext::openDatabaseCallback):
1545
1546         Add NoStaticTables flags to all objects now shared with workers.
1547         * storage/Database.idl:
1548         * storage/SQLError.idl:
1549         * storage/SQLResultSet.idl:
1550         * storage/SQLResultSetRowList.idl:
1551         * storage/SQLTransaction.idl:
1552         
1553         * workers/WorkerContext.h: Add databaseExceededQuota.
1554         * workers/WorkerContext.cpp:
1555         (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
1556         (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
1557
1558         Add the IDL for the call to openDatabase.
1559         * workers/WorkerContext.idl:
1560
1561 2010-05-15  Leandro Pereira  <leandro@profusion.mobi>
1562
1563         Reviewed by Adam Treat.
1564
1565         [EFL] Add build system for the EFL port.
1566         http://webkit.org/b/37945
1567
1568         * CMakeLists.txt: Added.
1569         * CMakeListsEfl.txt: Added.
1570         * config.h: Add conditional to look for cmakeconfig.h.
1571
1572 2010-05-15  Adam Barth  <abarth@webkit.org>
1573
1574         Reviewed by Darin Adler.
1575
1576         Clipboard.setData doesn't need to be custom
1577         https://bugs.webkit.org/show_bug.cgi?id=39133
1578
1579         The implementation of the custom binding for this function was a bit
1580         different than its declaration in the IDL file.  I've updated the IDL
1581         to match the implementation, but we probably should check whether our
1582         behavior is correct with respect to the specification.
1583
1584         No tests because I've maintained our current behavior.
1585
1586         * bindings/js/JSClipboardCustom.cpp:
1587         * bindings/v8/custom/V8ClipboardCustom.cpp:
1588         * dom/Clipboard.idl:
1589
1590 2010-05-15  Yaar Schnitman  <yaar@chromium.org>
1591
1592         Reviewed by Adam Barth.
1593
1594         V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches.
1595         https://bugs.webkit.org/show_bug.cgi?id=38920
1596
1597         Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator.
1598
1599         * bindings/scripts/CodeGenerator.pm:
1600         * bindings/scripts/CodeGeneratorJS.pm:
1601         * bindings/scripts/CodeGeneratorV8.pm:
1602         * bindings/scripts/test/JS/JSTestCallback.cpp:
1603         (WebCore::JSTestCallback::JSTestCallback):
1604         (WebCore::JSTestCallback::~JSTestCallback):
1605         * bindings/scripts/test/JS/JSTestCallback.h: 
1606         * bindings/scripts/test/JS/JSTestObj.cpp:
1607         (WebCore::):
1608         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1609         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1610         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1611         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1612         (WebCore::testObjPrototypeFunctionOverloadedMethod):
1613         * bindings/scripts/test/JS/JSTestObj.h:
1614         * bindings/scripts/test/TestObj.idl:
1615
1616 2010-05-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1617
1618         Reviewed by Xan Lopez.
1619
1620         https://bugs.webkit.org/show_bug.cgi?id=30500
1621         [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
1622
1623         The "announcement" is now made in the form of an object attribute
1624         associated with the AtkObject.
1625
1626         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1627         (webkit_accessible_get_attributes):
1628
1629 2010-05-15  Adam Barth  <abarth@webkit.org>
1630
1631         Reviewed by Darin Adler.
1632
1633         Show a console message when X-Frame-Options blocks a load
1634         https://bugs.webkit.org/show_bug.cgi?id=39087
1635
1636         The blank page confuses people when X-Frame-Options blocks a load.  The
1637         console message should at least give them a hint as to what's going on.
1638
1639         * dom/Document.cpp:
1640         (WebCore::Document::processHttpEquiv):
1641
1642 2010-05-15  Ilya Tikhonovsky  <loislo@chromium.org>
1643
1644         Reviewed by Geoffrey Garen.
1645
1646         WebInspector: JSC Should provide heap size info for Timeline panel.
1647         https://bugs.webkit.org/show_bug.cgi?id=38420
1648
1649         * GNUmakefile.am:
1650         * WebCore.pro:
1651         * WebCore.vcproj/WebCore.vcproj:
1652         * WebCore.xcodeproj/project.pbxproj:
1653         * bindings/js/ScriptGCEvent.cpp: Added.
1654         (WebCore::ScriptGCEvent::getHeapSize):
1655         * bindings/js/ScriptGCEvent.h:
1656
1657 2010-05-15  Dave Tapuska  <dtapuska@rim.com>
1658
1659         Reviewed by Darin Adler.
1660
1661         Fix alignment faults on ARMv5TE architectures.
1662
1663         In debug mode the RenderAreaDebugHeader was 12 bytes which
1664         caused an alignment failure for RenderObjects because they
1665         would start on a 4 byte boundary. Align the RenderArenaDebugHeader
1666         using the ARENA_ALIGN macro.
1667
1668         In NDEBUG mode the RenderArena objects come from a pool which
1669         has 4 byte alignment. Allow the alignment to be based on the
1670         AllocAlignmentInteger. This define will be activated for ARMv5TE.
1671
1672         https://bugs.webkit.org/show_bug.cgi?id=19946
1673
1674 2010-05-14  Adam Barth  <abarth@webkit.org>
1675
1676         Reviewed by Darin Adler.
1677
1678         XMLHttpRequest.overrideMimeType doesn't need to be custom
1679         https://bugs.webkit.org/show_bug.cgi?id=39127
1680
1681         I don't see any reason why this method should be custom.  No tests
1682         because no behavior change.
1683
1684         * bindings/js/JSXMLHttpRequestCustom.cpp:
1685         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1686         * xml/XMLHttpRequest.idl:
1687
1688 2010-05-14  Adele Peterson  <adele@apple.com>
1689
1690         Reviewed by Dave Hyatt.
1691
1692         Fix for https://bugs.webkit.org/show_bug.cgi?id=39095 
1693         <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left
1694
1695         Test: editing/selection/applystyle-to-inline-inside-block.html
1696
1697         * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling
1698         downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to 
1699         jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced).
1700
1701 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
1702
1703         Reviewed by Mark Rowe.
1704
1705         Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally,
1706         use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead
1707         of nmake variables.
1708         
1709         * WebCore.vcproj/WebCore.make:
1710
1711 2010-05-14  Stephanie Lewis  <slewis@apple.com>
1712
1713         Rubber-stamped by Mark Rowe.
1714
1715         Update order files.
1716
1717         * WebCore.order:
1718
1719 2010-05-14  David Hyatt  <hyatt@apple.com>
1720
1721         Reviewed by Simon Fraser.
1722
1723         https://bugs.webkit.org/show_bug.cgi?id=39137
1724
1725         Make RenderLayers position properly inside multicolumn layout.
1726         
1727         (1) Create RenderLayers when column properties are specified.  This allows descendant layers to easily
1728         know they are inside a multicolumn layout when positioning.
1729         
1730         (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer.  Splitting
1731         of a layer across columns still does not work, but the layer will now at least appear in the first column in
1732         which it occurs.
1733         
1734         (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers
1735         are involved.  Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases
1736         working properly).  With this change elements like <video> will paginate properly and not get split across pages.
1737
1738         (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to
1739         account for RTL.
1740         
1741         (5) Fix RTL pagination by making sure the column pagination rects are the content width of the whole block and not just
1742         the width of one column.
1743
1744         Added fast/multicol/layers-in-multicol.html
1745
1746         * rendering/RenderBlock.cpp:
1747         (WebCore::RenderBlock::layoutColumns):
1748         (WebCore::RenderBlock::adjustForColumns):
1749         * rendering/RenderBox.h:
1750         (WebCore::RenderBox::locationOffset):
1751         * rendering/RenderBoxModelObject.h:
1752         (WebCore::RenderBoxModelObject::requiresLayer):
1753         * rendering/RenderLayer.cpp:
1754         (WebCore::RenderLayer::updateLayerPosition):
1755         (WebCore::RenderLayer::convertToLayerCoords):
1756         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1757         * rendering/RenderLineBoxList.cpp:
1758         (WebCore::RenderLineBoxList::paint):
1759         * rendering/RenderView.cpp:
1760         (WebCore::RenderView::RenderView):
1761         * rendering/RenderView.h:
1762         (WebCore::RenderView::requiresLayer):
1763         * rendering/style/RenderStyle.h:
1764         (WebCore::InheritedFlags::specifiesColumns):
1765
1766 2010-05-14  Leon Clarke  <leonclarke@google.com>
1767
1768         Reviewed by Steve Block.
1769
1770         Refactor signature of tokenizeRelAttribute and the variables it refers to so that new features don't keep changing the signature, and make m_disabledState into an enum.
1771         https://bugs.webkit.org/show_bug.cgi?id=38900
1772
1773         No new tests. Refactoring only.
1774
1775         * html/HTMLLinkElement.cpp:
1776         (WebCore::HTMLLinkElement::HTMLLinkElement):
1777         (WebCore::HTMLLinkElement::setDisabledState):
1778         (WebCore::HTMLLinkElement::parseMappedAttribute):
1779         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
1780         (WebCore::HTMLLinkElement::process):
1781         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
1782         * html/HTMLLinkElement.h:
1783         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
1784         (WebCore::HTMLLinkElement::isAlternate):
1785         (WebCore::HTMLLinkElement::isDisabled):
1786         (WebCore::HTMLLinkElement::isEnabledViaScript):
1787         (WebCore::HTMLLinkElement::isIcon):
1788         (WebCore::HTMLLinkElement::):
1789         * html/PreloadScanner.cpp:
1790         (WebCore::PreloadScanner::processAttribute):
1791
1792 2010-05-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
1793
1794         Reviewed by Kenneth Rohde Christiansen.
1795
1796         [Qt] GraphicsLayer caches directly composited images
1797         https://bugs.webkit.org/show_bug.cgi?id=38444
1798
1799         Directly-composited images and solid fills shouldn't be cached, as that cache
1800         is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content,
1801         but we were missing that test.
1802         The fix makes sure we only cache HTML content.
1803
1804         No new tests: this is a minor optimization.
1805
1806         * platform/graphics/qt/GraphicsLayerQt.cpp:
1807         (WebCore::GraphicsLayerQtImpl::flushChanges):
1808
1809 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
1810
1811         Reviewed by Mark Rowe.
1812
1813         Build fix. Had the environment variables wrong for source and destination of the copy operation
1814         that was added.
1815
1816         * WebCore.vcproj/WebCore.make:
1817
1818 2010-05-14  Adam Barth  <abarth@webkit.org>
1819
1820         Reviewed by Eric Seidel.
1821
1822         Remove custom bindings for HTMLInputElement
1823         https://bugs.webkit.org/show_bug.cgi?id=38344
1824
1825         Fix a bug in the TestObj.idl file and update expected results.  This
1826         was originally part of a larger change reviewed by Eric, but I'm
1827         landing it separately to help me understand the more interesting bits
1828         of the patch clearly.
1829
1830         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1831         (webkit_dom_test_obj_get_attr_with_setter_exception):
1832         (webkit_dom_test_obj_set_attr_with_setter_exception):
1833         (webkit_dom_test_obj_set_attr_with_getter_exception):
1834         (webkit_dom_test_obj_set_property):
1835         (webkit_dom_test_obj_get_property):
1836         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1837         * bindings/scripts/test/JS/JSTestObj.cpp:
1838         (WebCore::jsTestObjAttrWithSetterException):
1839         (WebCore::setJSTestObjAttrWithSetterException):
1840         (WebCore::setJSTestObjAttrWithGetterException):
1841         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1842         (-[DOMTestObj attrWithSetterException]):
1843         (-[DOMTestObj setAttrWithSetterException:]):
1844         (-[DOMTestObj setAttrWithGetterException:]):
1845         * bindings/scripts/test/TestObj.idl:
1846         * bindings/scripts/test/V8/V8TestObj.cpp:
1847         (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
1848         (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
1849         (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
1850
1851 2010-05-14  Kenneth Russell  <kbr@google.com>
1852
1853         Reviewed by Darin Adler.
1854
1855         Rename WebGLArray types to TypedArray types
1856         https://bugs.webkit.org/show_bug.cgi?id=39091
1857
1858         Extended functionality of do-webcore-rename script and used it to
1859         rename the WebGLArray types to the TypedArray naming convention.
1860         The only source files which were touched by hand, and which are
1861         being manually reviewed, are:
1862             WebCore/page/DOMWindow.idl
1863             WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
1864             WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
1865             WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
1866         These only needed to be touched to update the aliases between the
1867         WebGLArray and TypedArray names introduced in bug 39036. (It was
1868         not feasible to have do-webcore-rename handle this as it would
1869         introduce circular renamings.) These aliases will be removed in
1870         roughly a month once existing WebGL content has been updated.
1871
1872         No new tests; covered under existing WebGL tests. Updated
1873         constructed-objects-prototypes and prototype-inheritance-2 tests.
1874         Ran all layout tests in Safari and all WebGL tests in Chromium.
1875
1876         * DerivedSources.make:
1877         * GNUmakefile.am:
1878         * WebCore.gypi:
1879         * WebCore.pri:
1880         * WebCore.pro:
1881         * WebCore.xcodeproj/project.pbxproj:
1882         * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp.
1883         (WebCore::):
1884         (WebCore::JSArrayBufferConstructor::JSArrayBufferConstructor):
1885         (WebCore::constructCanvasArrayBuffer):
1886         (WebCore::JSArrayBufferConstructor::getConstructData):
1887         * bindings/js/JSArrayBufferConstructor.h: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.h.
1888         (WebCore::construct):
1889         * bindings/js/JSArrayBufferViewCustom.cpp: Copied from WebCore/bindings/js/JSWebGLArrayCustom.cpp.
1890         (WebCore::toJS):
1891         (WebCore::JSArrayBufferView::slice):
1892         * bindings/js/JSArrayBufferViewHelper.h: Copied from WebCore/bindings/js/JSWebGLArrayHelper.h.
1893         * bindings/js/JSDOMWindowCustom.cpp:
1894         (WebCore::JSDOMWindow::arrayBuffer):
1895         (WebCore::JSDOMWindow::int8Array):
1896         (WebCore::JSDOMWindow::uint8Array):
1897         (WebCore::JSDOMWindow::int32Array):
1898         (WebCore::JSDOMWindow::uint32Array):
1899         (WebCore::JSDOMWindow::int16Array):
1900         (WebCore::JSDOMWindow::uint16Array):
1901         (WebCore::JSDOMWindow::floatArray):
1902         (WebCore::JSDOMWindow::webGLArrayBuffer):
1903         (WebCore::JSDOMWindow::webGLByteArray):
1904         (WebCore::JSDOMWindow::webGLUnsignedByteArray):
1905         (WebCore::JSDOMWindow::webGLIntArray):
1906         (WebCore::JSDOMWindow::webGLUnsignedIntArray):
1907         (WebCore::JSDOMWindow::webGLShortArray):
1908         (WebCore::JSDOMWindow::webGLUnsignedShortArray):
1909         (WebCore::JSDOMWindow::webGLFloatArray):
1910         * bindings/js/JSFloatArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp.
1911         (WebCore::):
1912         (WebCore::JSFloatArrayConstructor::JSFloatArrayConstructor):
1913         (WebCore::constructCanvasFloatArray):
1914         (WebCore::JSFloatArrayConstructor::getConstructData):
1915         * bindings/js/JSFloatArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.h.
1916         * bindings/js/JSFloatArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp.
1917         (WebCore::JSFloatArray::indexSetter):
1918         (WebCore::toJS):
1919         (WebCore::JSFloatArray::set):
1920         * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp.
1921         (WebCore::):
1922         (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
1923         (WebCore::constructCanvasShortArray):
1924         (WebCore::JSInt16ArrayConstructor::getConstructData):
1925         * bindings/js/JSInt16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.h.
1926         * bindings/js/JSInt16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayCustom.cpp.
1927         (WebCore::JSInt16Array::indexSetter):
1928         (WebCore::toJS):
1929         (WebCore::JSInt16Array::set):
1930         * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp.
1931         (WebCore::):
1932         (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
1933         (WebCore::constructCanvasIntArray):
1934         (WebCore::JSInt32ArrayConstructor::getConstructData):
1935         * bindings/js/JSInt32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.h.
1936         * bindings/js/JSInt32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayCustom.cpp.
1937         (WebCore::JSInt32Array::indexSetter):
1938         (WebCore::toJS):
1939         (WebCore::JSInt32Array::set):
1940         * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp.
1941         (WebCore::):
1942         (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
1943         (WebCore::constructCanvasByteArray):
1944         (WebCore::JSInt8ArrayConstructor::getConstructData):
1945         * bindings/js/JSInt8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.h.
1946         * bindings/js/JSInt8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayCustom.cpp.
1947         (WebCore::JSInt8Array::indexSetter):
1948         (WebCore::toJS):
1949         (WebCore::JSInt8Array::set):
1950         * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp.
1951         (WebCore::):
1952         (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
1953         (WebCore::constructCanvasUnsignedShortArray):
1954         (WebCore::JSUint16ArrayConstructor::getConstructData):
1955         * bindings/js/JSUint16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h.
1956         * bindings/js/JSUint16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp.
1957         (WebCore::JSUint16Array::indexSetter):
1958         (WebCore::toJS):
1959         (WebCore::JSUint16Array::set):
1960         * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp.
1961         (WebCore::):
1962         (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
1963         (WebCore::constructCanvasUnsignedIntArray):
1964         (WebCore::JSUint32ArrayConstructor::getConstructData):
1965         * bindings/js/JSUint32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h.
1966         * bindings/js/JSUint32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp.
1967         (WebCore::JSUint32Array::indexSetter):
1968         (WebCore::toJS):
1969         (WebCore::JSUint32Array::set):
1970         * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp.
1971         (WebCore::):
1972         (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
1973         (WebCore::constructCanvasUnsignedByteArray):
1974         (WebCore::JSUint8ArrayConstructor::getConstructData):
1975         * bindings/js/JSUint8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h.
1976         * bindings/js/JSUint8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp.
1977         (WebCore::JSUint8Array::indexSetter):
1978         (WebCore::toJS):
1979         (WebCore::JSUint8Array::set):
1980         * bindings/js/JSWebGLArrayBufferConstructor.cpp: Removed.
1981         * bindings/js/JSWebGLArrayBufferConstructor.h: Removed.
1982         * bindings/js/JSWebGLArrayCustom.cpp: Removed.
1983         * bindings/js/JSWebGLArrayHelper.h: Removed.
1984         * bindings/js/JSWebGLByteArrayConstructor.cpp: Removed.
1985         * bindings/js/JSWebGLByteArrayConstructor.h: Removed.
1986         * bindings/js/JSWebGLByteArrayCustom.cpp: Removed.
1987         * bindings/js/JSWebGLFloatArrayConstructor.cpp: Removed.
1988         * bindings/js/JSWebGLFloatArrayConstructor.h: Removed.
1989         * bindings/js/JSWebGLFloatArrayCustom.cpp: Removed.
1990         * bindings/js/JSWebGLIntArrayConstructor.cpp: Removed.
1991         * bindings/js/JSWebGLIntArrayConstructor.h: Removed.
1992         * bindings/js/JSWebGLIntArrayCustom.cpp: Removed.
1993         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1994         (WebCore::JSWebGLRenderingContext::bufferData):
1995         (WebCore::JSWebGLRenderingContext::bufferSubData):
1996         (WebCore::JSWebGLRenderingContext::texImage2D):
1997         (WebCore::JSWebGLRenderingContext::texSubImage2D):
1998         (WebCore::dataFunctionf):
1999         (WebCore::dataFunctioni):
2000         (WebCore::dataFunctionMatrix):
2001         * bindings/js/JSWebGLShortArrayConstructor.cpp: Removed.
2002         * bindings/js/JSWebGLShortArrayConstructor.h: Removed.
2003         * bindings/js/JSWebGLShortArrayCustom.cpp: Removed.
2004         * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: Removed.
2005         * bindings/js/JSWebGLUnsignedByteArrayConstructor.h: Removed.
2006         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: Removed.
2007         * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: Removed.
2008         * bindings/js/JSWebGLUnsignedIntArrayConstructor.h: Removed.
2009         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: Removed.
2010         * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: Removed.
2011         * bindings/js/JSWebGLUnsignedShortArrayConstructor.h: Removed.
2012         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: Removed.
2013         * bindings/v8/V8DOMWrapper.cpp:
2014         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp.
2015         (WebCore::V8ArrayBuffer::constructorCallback):
2016         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.cpp.
2017         (WebCore::toV8):
2018         (WebCore::V8ArrayBufferView::sliceCallback):
2019         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.h.
2020         (WebCore::constructWebGLArray):
2021         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2022         (WebCore::V8DOMWindow::WebGLArrayBufferAccessorGetter):
2023         (WebCore::V8DOMWindow::WebGLByteArrayAccessorGetter):
2024         (WebCore::V8DOMWindow::WebGLUnsignedByteArrayAccessorGetter):
2025         (WebCore::V8DOMWindow::WebGLShortArrayAccessorGetter):
2026         (WebCore::V8DOMWindow::WebGLUnsignedShortArrayAccessorGetter):
2027         (WebCore::V8DOMWindow::WebGLIntArrayAccessorGetter):
2028         (WebCore::V8DOMWindow::WebGLUnsignedIntArrayAccessorGetter):
2029         (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
2030         * bindings/v8/custom/V8FloatArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp.
2031         (WebCore::V8FloatArray::constructorCallback):
2032         (WebCore::V8FloatArray::setCallback):
2033         (WebCore::toV8):
2034         * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp.
2035         (WebCore::V8Int16Array::constructorCallback):
2036         (WebCore::V8Int16Array::setCallback):
2037         (WebCore::toV8):
2038         * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp.
2039         (WebCore::V8Int32Array::constructorCallback):
2040         (WebCore::V8Int32Array::setCallback):
2041         (WebCore::toV8):
2042         * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp.
2043         (WebCore::V8Int8Array::constructorCallback):
2044         (WebCore::V8Int8Array::setCallback):
2045         (WebCore::toV8):
2046         * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp.
2047         (WebCore::V8Uint16Array::constructorCallback):
2048         (WebCore::V8Uint16Array::setCallback):
2049         (WebCore::toV8):
2050         * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp.
2051         (WebCore::V8Uint32Array::constructorCallback):
2052         (WebCore::V8Uint32Array::setCallback):
2053         (WebCore::toV8):
2054         * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp.
2055         (WebCore::V8Uint8Array::constructorCallback):
2056         (WebCore::V8Uint8Array::setCallback):
2057         (WebCore::toV8):
2058         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: Removed.
2059         * bindings/v8/custom/V8WebGLArrayCustom.cpp: Removed.
2060         * bindings/v8/custom/V8WebGLArrayCustom.h: Removed.
2061         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: Removed.
2062         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: Removed.
2063         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: Removed.
2064         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2065         (WebCore::vertexAttribAndUniformHelperf):
2066         (WebCore::uniformHelperi):
2067         (WebCore::uniformMatrixHelper):
2068         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: Removed.
2069         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: Removed.
2070         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: Removed.
2071         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: Removed.
2072         * html/canvas/ArrayBuffer.cpp: Copied from WebCore/html/canvas/WebGLArrayBuffer.cpp.
2073         (WebCore::ArrayBuffer::create):
2074         (WebCore::ArrayBuffer::ArrayBuffer):
2075         (WebCore::ArrayBuffer::data):
2076         (WebCore::ArrayBuffer::byteLength):
2077         (WebCore::ArrayBuffer::~ArrayBuffer):
2078         (WebCore::ArrayBuffer::tryAllocate):
2079         * html/canvas/ArrayBuffer.h: Copied from WebCore/html/canvas/WebGLArrayBuffer.h.
2080         * html/canvas/ArrayBuffer.idl: Copied from WebCore/html/canvas/WebGLArrayBuffer.idl.
2081         * html/canvas/ArrayBufferView.cpp: Copied from WebCore/html/canvas/WebGLArray.cpp.
2082         (WebCore::ArrayBufferView::ArrayBufferView):
2083         (WebCore::ArrayBufferView::~ArrayBufferView):
2084         (WebCore::ArrayBufferView::setImpl):
2085         (WebCore::ArrayBufferView::calculateOffsetAndLength):
2086         * html/canvas/ArrayBufferView.h: Copied from WebCore/html/canvas/WebGLArray.h.
2087         (WebCore::ArrayBufferView::buffer):
2088         (WebCore::ArrayBufferView::verifySubRange):
2089         (WebCore::ArrayBufferView::clampOffsetAndNumElements):
2090         * html/canvas/ArrayBufferView.idl: Copied from WebCore/html/canvas/WebGLArray.idl.
2091         * html/canvas/FloatArray.cpp: Copied from WebCore/html/canvas/WebGLFloatArray.cpp.
2092         (WebCore::FloatArray::create):
2093         (WebCore::FloatArray::FloatArray):
2094         (WebCore::FloatArray::slice):
2095         * html/canvas/FloatArray.h: Copied from WebCore/html/canvas/WebGLFloatArray.h.
2096         (WebCore::FloatArray::set):
2097         (WebCore::FloatArray::item):
2098         * html/canvas/FloatArray.idl: Copied from WebCore/html/canvas/WebGLFloatArray.idl.
2099         * html/canvas/Int16Array.cpp: Copied from WebCore/html/canvas/WebGLShortArray.cpp.
2100         (WebCore::Int16Array::create):
2101         (WebCore::Int16Array::Int16Array):
2102         (WebCore::Int16Array::slice):
2103         * html/canvas/Int16Array.h: Copied from WebCore/html/canvas/WebGLShortArray.h.
2104         * html/canvas/Int16Array.idl: Copied from WebCore/html/canvas/WebGLShortArray.idl.
2105         * html/canvas/Int32Array.cpp: Copied from WebCore/html/canvas/WebGLIntArray.cpp.
2106         (WebCore::Int32Array::create):
2107         (WebCore::Int32Array::Int32Array):
2108         (WebCore::Int32Array::slice):
2109         * html/canvas/Int32Array.h: Copied from WebCore/html/canvas/WebGLIntArray.h.
2110         * html/canvas/Int32Array.idl: Copied from WebCore/html/canvas/WebGLIntArray.idl.
2111         * html/canvas/Int8Array.cpp: Copied from WebCore/html/canvas/WebGLByteArray.cpp.
2112         (WebCore::Int8Array::create):
2113         (WebCore::Int8Array::Int8Array):
2114         (WebCore::Int8Array::slice):
2115         * html/canvas/Int8Array.h: Copied from WebCore/html/canvas/WebGLByteArray.h.
2116         * html/canvas/Int8Array.idl: Copied from WebCore/html/canvas/WebGLByteArray.idl.
2117         * html/canvas/IntegralTypedArrayBase.h: Copied from WebCore/html/canvas/WebGLIntegralTypedArrayBase.h.
2118         (WebCore::IntegralTypedArrayBase::set):
2119         (WebCore::IntegralTypedArrayBase::item):
2120         (WebCore::IntegralTypedArrayBase::IntegralTypedArrayBase):
2121         * html/canvas/TypedArrayBase.h: Copied from WebCore/html/canvas/WebGLTypedArrayBase.h.
2122         (WebCore::TypedArrayBase::set):
2123         (WebCore::TypedArrayBase::TypedArrayBase):
2124         (WebCore::TypedArrayBase::create):
2125         * html/canvas/Uint16Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.cpp.
2126         (WebCore::Uint16Array::create):
2127         (WebCore::Uint16Array::Uint16Array):
2128         (WebCore::Uint16Array::slice):
2129         * html/canvas/Uint16Array.h: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.h.
2130         * html/canvas/Uint16Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.idl.
2131         * html/canvas/Uint32Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.cpp.
2132         (WebCore::Uint32Array::create):
2133         (WebCore::Uint32Array::Uint32Array):
2134         (WebCore::Uint32Array::slice):
2135         * html/canvas/Uint32Array.h: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.h.
2136         * html/canvas/Uint32Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.idl.
2137         * html/canvas/Uint8Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.cpp.
2138         (WebCore::Uint8Array::create):
2139         (WebCore::Uint8Array::Uint8Array):
2140         (WebCore::Uint8Array::slice):
2141         * html/canvas/Uint8Array.h: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.h.
2142         * html/canvas/Uint8Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.idl.
2143         * html/canvas/WebGLArray.cpp: Removed.
2144         * html/canvas/WebGLArray.h: Removed.
2145         * html/canvas/WebGLArray.idl: Removed.
2146         * html/canvas/WebGLArrayBuffer.cpp: Removed.
2147         * html/canvas/WebGLArrayBuffer.h: Removed.
2148         * html/canvas/WebGLArrayBuffer.idl: Removed.
2149         * html/canvas/WebGLBuffer.cpp:
2150         (WebCore::WebGLBuffer::associateBufferData):
2151         (WebCore::WebGLBuffer::associateBufferSubData):
2152         * html/canvas/WebGLBuffer.h:
2153         (WebCore::WebGLBuffer::elementArrayBuffer):
2154         * html/canvas/WebGLByteArray.cpp: Removed.
2155         * html/canvas/WebGLByteArray.h: Removed.
2156         * html/canvas/WebGLByteArray.idl: Removed.
2157         * html/canvas/WebGLFloatArray.cpp: Removed.
2158         * html/canvas/WebGLFloatArray.h: Removed.
2159         * html/canvas/WebGLFloatArray.idl: Removed.
2160         * html/canvas/WebGLGetInfo.cpp:
2161         (WebCore::WebGLGetInfo::WebGLGetInfo):
2162         (WebCore::WebGLGetInfo::getWebGLFloatArray):
2163         (WebCore::WebGLGetInfo::getWebGLIntArray):
2164         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
2165         * html/canvas/WebGLGetInfo.h:
2166         * html/canvas/WebGLIntArray.cpp: Removed.
2167         * html/canvas/WebGLIntArray.h: Removed.
2168         * html/canvas/WebGLIntArray.idl: Removed.
2169         * html/canvas/WebGLIntegralTypedArrayBase.h: Removed.
2170         * html/canvas/WebGLRenderingContext.cpp:
2171         (WebCore::WebGLRenderingContext::bufferData):
2172         (WebCore::WebGLRenderingContext::bufferSubData):
2173         (WebCore::WebGLRenderingContext::getUniform):
2174         (WebCore::WebGLRenderingContext::getVertexAttrib):
2175         (WebCore::WebGLRenderingContext::readPixels):
2176         (WebCore::WebGLRenderingContext::texImage2D):
2177         (WebCore::WebGLRenderingContext::texSubImage2D):
2178         (WebCore::WebGLRenderingContext::uniform1fv):
2179         (WebCore::WebGLRenderingContext::uniform1iv):
2180         (WebCore::WebGLRenderingContext::uniform2fv):
2181         (WebCore::WebGLRenderingContext::uniform2iv):
2182         (WebCore::WebGLRenderingContext::uniform3fv):
2183         (WebCore::WebGLRenderingContext::uniform3iv):
2184         (WebCore::WebGLRenderingContext::uniform4fv):
2185         (WebCore::WebGLRenderingContext::uniform4iv):
2186         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2187         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2188         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2189         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
2190         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
2191         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
2192         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
2193         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
2194         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
2195         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
2196         * html/canvas/WebGLRenderingContext.h:
2197         * html/canvas/WebGLRenderingContext.idl:
2198         * html/canvas/WebGLShortArray.cpp: Removed.
2199         * html/canvas/WebGLShortArray.h: Removed.
2200         * html/canvas/WebGLShortArray.idl: Removed.
2201         * html/canvas/WebGLTypedArrayBase.h: Removed.
2202         * html/canvas/WebGLUnsignedByteArray.cpp: Removed.
2203         * html/canvas/WebGLUnsignedByteArray.h: Removed.
2204         * html/canvas/WebGLUnsignedByteArray.idl: Removed.
2205         * html/canvas/WebGLUnsignedIntArray.cpp: Removed.
2206         * html/canvas/WebGLUnsignedIntArray.h: Removed.
2207         * html/canvas/WebGLUnsignedIntArray.idl: Removed.
2208         * html/canvas/WebGLUnsignedShortArray.cpp: Removed.
2209         * html/canvas/WebGLUnsignedShortArray.h: Removed.
2210         * html/canvas/WebGLUnsignedShortArray.idl: Removed.
2211         * page/DOMWindow.idl:
2212         * platform/graphics/GraphicsContext3D.h:
2213         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2214         (WebCore::GraphicsContext3D::bufferData):
2215         (WebCore::GraphicsContext3D::bufferSubData):
2216         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2217         (WebCore::GraphicsContext3D::bufferData):
2218         (WebCore::GraphicsContext3D::bufferSubData):
2219
2220 2010-05-14  Steve Falkenburg  <sfalken@apple.com>
2221
2222         Reviewed by Sam Weinig.
2223
2224         <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values
2225         https://bugs.webkit.org/show_bug.cgi?id=39132
2226
2227         * platform/network/cf/ResourceHandleCFNet.cpp:
2228         (WebCore::createConnectionProperties):
2229
2230 2010-05-14  Abhishek Arya  <inferno@chromium.org>
2231
2232         Reviewed by David Hyatt.
2233
2234         Move the m_width(Length) and m_columns(RenderTable::ColumnStruct)
2235         vector out-of-bounds check out of the ASSERT into the main code.
2236         https://bugs.webkit.org/show_bug.cgi?id=38261
2237
2238         Test: fast/table/fixed-table-layout-large-colspan-crash.html
2239
2240         * rendering/FixedTableLayout.cpp:
2241         (WebCore::FixedTableLayout::calcWidthArray):
2242
2243 2010-05-14  Eric Seidel  <eric@webkit.org>
2244
2245         Unreviewed, rolling out r59489.
2246         http://trac.webkit.org/changeset/59489
2247         https://bugs.webkit.org/show_bug.cgi?id=37815
2248
2249         abarth broke the known universe and then some.
2250
2251         * Android.jscbindings.mk:
2252         * GNUmakefile.am:
2253         * WebCore.gypi:
2254         * WebCore.pro:
2255         * WebCore.vcproj/WebCore.vcproj:
2256         * WebCore.xcodeproj/project.pbxproj:
2257         * bindings/js/JSBindingsAllInOne.cpp:
2258         * bindings/js/JSCallbackData.cpp:
2259         (WebCore::JSCallbackData::invokeCallback):
2260         * bindings/js/JSEventListener.cpp:
2261         (WebCore::JSEventListener::handleEvent):
2262         * bindings/js/JSInjectedScriptHostCustom.cpp:
2263         (WebCore::InjectedScriptHost::createInjectedScript):
2264         * bindings/js/ScheduledAction.cpp:
2265         (WebCore::ScheduledAction::executeFunctionInContext):
2266         (WebCore::ScheduledAction::execute):
2267         * bindings/js/ScheduledAction.h:
2268         * bindings/js/ScriptController.cpp:
2269         (WebCore::ScriptController::evaluateInWorld):
2270         * bindings/js/ScriptController.h:
2271         * bindings/js/ScriptFunctionCall.cpp:
2272         (WebCore::ScriptFunctionCall::call):
2273         * bindings/objc/ObjCEventListener.mm:
2274         (WebCore::ObjCEventListener::handleEvent):
2275         * bindings/objc/WebScriptObject.mm:
2276         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2277         (-[WebScriptObject evaluateWebScript:]):
2278         * bindings/scripts/CodeGeneratorObjC.pm:
2279         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2280         (-[DOMTestCallback callbackWithClass1Param:]):
2281         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2282         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2283         (-[DOMTestCallback customCallback:class6Param:]):
2284         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2285         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2286         (-[DOMTestObj readOnlyIntAttr]):
2287         (-[DOMTestObj readOnlyStringAttr]):
2288         (-[DOMTestObj readOnlyTestObjAttr]):
2289         (-[DOMTestObj intAttr]):
2290         (-[DOMTestObj setIntAttr:]):
2291         (-[DOMTestObj longLongAttr]):
2292         (-[DOMTestObj setLongLongAttr:]):
2293         (-[DOMTestObj unsignedLongLongAttr]):
2294         (-[DOMTestObj setUnsignedLongLongAttr:]):
2295         (-[DOMTestObj stringAttr]):
2296         (-[DOMTestObj setStringAttr:]):
2297         (-[DOMTestObj testObjAttr]):
2298         (-[DOMTestObj setTestObjAttr:]):
2299         (-[DOMTestObj attrWithException]):
2300         (-[DOMTestObj setAttrWithException:]):
2301         (-[DOMTestObj attrWithSetterException]):
2302         (-[DOMTestObj setAttrWithSetterException:]):
2303         (-[DOMTestObj attrWithGetterException]):
2304         (-[DOMTestObj setAttrWithGetterException:]):
2305         (-[DOMTestObj customAttr]):
2306         (-[DOMTestObj setCustomAttr:]):
2307         (-[DOMTestObj scriptStringAttr]):
2308         (-[DOMTestObj voidMethod]):
2309         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2310         (-[DOMTestObj intMethod]):
2311         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2312         (-[DOMTestObj objMethod]):
2313         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2314         (-[DOMTestObj serializedValue:]):
2315         (-[DOMTestObj methodWithException]):
2316         (-[DOMTestObj customMethod]):
2317         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2318         (-[DOMTestObj customArgsAndException:]):
2319         (-[DOMTestObj addEventListener:listener:useCapture:]):
2320         (-[DOMTestObj removeEventListener:listener:useCapture:]):
2321         (-[DOMTestObj withDynamicFrame]):
2322         (-[DOMTestObj withDynamicFrameAndArg:]):
2323         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2324         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2325         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2326         (-[DOMTestObj withScriptStateVoid]):
2327         (-[DOMTestObj withScriptStateObj]):
2328         (-[DOMTestObj withScriptStateVoidException]):
2329         (-[DOMTestObj withScriptStateObjException]):
2330         (-[DOMTestObj methodWithOptionalArg:]):
2331         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2332         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2333         * bindings/v8/ScriptController.cpp:
2334         * bindings/v8/ScriptController.h:
2335         * html/HTMLFrameElementBase.cpp:
2336         (WebCore::HTMLFrameElementBase::isURLAllowed):
2337
2338 2010-05-14  Justin Schuh  <jschuh@chromium.org>
2339
2340         Reviewed by Adam Barth.
2341
2342         Moving frame.src checks out of the bindings
2343         https://bugs.webkit.org/show_bug.cgi?id=37815
2344
2345         Moved JavaScript frame.src checks out of bindings and into
2346         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
2347         so ExecState is available inside core DOM. Updated affected bindings
2348         (except for GObject, which will need to be updated to avoid origin
2349         failures inside native code).
2350
2351         * Android.jscbindings.mk:
2352         * GNUmakefile.am:
2353         * WebCore.gypi:
2354         * WebCore.pro:
2355         * WebCore.vcproj/WebCore.vcproj:
2356         * WebCore.xcodeproj/project.pbxproj:
2357         * bindings/js/JSBindingsAllInOne.cpp:
2358         * bindings/js/JSCallbackData.cpp:
2359         (WebCore::JSCallbackData::invokeCallback):
2360         * bindings/js/JSEventListener.cpp:
2361         (WebCore::JSEventListener::handleEvent):
2362         * bindings/js/JSInjectedScriptHostCustom.cpp:
2363         (WebCore::InjectedScriptHost::createInjectedScript):
2364         * bindings/js/ScheduledAction.cpp:
2365         (WebCore::ScheduledAction::executeFunctionInContext):
2366         (WebCore::ScheduledAction::execute):
2367         * bindings/js/ScheduledAction.h:
2368         * bindings/js/ScriptController.cpp:
2369         (WebCore::ScriptController::evaluateInWorld):
2370         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2371         * bindings/js/ScriptController.h:
2372         * bindings/js/ScriptFunctionCall.cpp:
2373         (WebCore::ScriptFunctionCall::call):
2374         * bindings/objc/ObjCEventListener.mm:
2375         (WebCore::ObjCEventListener::handleEvent):
2376         * bindings/objc/WebScriptObject.mm:
2377         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2378         (-[WebScriptObject evaluateWebScript:]):
2379         * bindings/scripts/CodeGeneratorObjC.pm:
2380         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2381         (-[DOMTestCallback callbackWithClass1Param:]):
2382         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2383         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2384         (-[DOMTestCallback customCallback:class6Param:]):
2385         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2386         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2387         (-[DOMTestObj readOnlyIntAttr]):
2388         (-[DOMTestObj readOnlyStringAttr]):
2389         (-[DOMTestObj readOnlyTestObjAttr]):
2390         (-[DOMTestObj intAttr]):
2391         (-[DOMTestObj setIntAttr:]):
2392         (-[DOMTestObj longLongAttr]):
2393         (-[DOMTestObj setLongLongAttr:]):
2394         (-[DOMTestObj unsignedLongLongAttr]):
2395         (-[DOMTestObj setUnsignedLongLongAttr:]):
2396         (-[DOMTestObj stringAttr]):
2397         (-[DOMTestObj setStringAttr:]):
2398         (-[DOMTestObj testObjAttr]):
2399         (-[DOMTestObj setTestObjAttr:]):
2400         (-[DOMTestObj attrWithException]):
2401         (-[DOMTestObj setAttrWithException:]):
2402         (-[DOMTestObj attrWithSetterException]):
2403         (-[DOMTestObj setAttrWithSetterException:]):
2404         (-[DOMTestObj attrWithGetterException]):
2405         (-[DOMTestObj setAttrWithGetterException:]):
2406         (-[DOMTestObj customAttr]):
2407         (-[DOMTestObj setCustomAttr:]):
2408         (-[DOMTestObj scriptStringAttr]):
2409         (-[DOMTestObj voidMethod]):
2410         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2411         (-[DOMTestObj intMethod]):
2412         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2413         (-[DOMTestObj objMethod]):
2414         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2415         (-[DOMTestObj serializedValue:]):
2416         (-[DOMTestObj methodWithException]):
2417         (-[DOMTestObj customMethod]):
2418         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2419         (-[DOMTestObj customArgsAndException:]):
2420         (-[DOMTestObj addEventListener:listener:useCapture:]):
2421         (-[DOMTestObj removeEventListener:listener:useCapture:]):
2422         (-[DOMTestObj withDynamicFrame]):
2423         (-[DOMTestObj withDynamicFrameAndArg:]):
2424         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2425         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2426         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2427         (-[DOMTestObj withScriptStateVoid]):
2428         (-[DOMTestObj withScriptStateObj]):
2429         (-[DOMTestObj withScriptStateVoidException]):
2430         (-[DOMTestObj withScriptStateObjException]):
2431         (-[DOMTestObj methodWithOptionalArg:]):
2432         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2433         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2434         * bindings/v8/ScriptController.cpp:
2435         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2436         * bindings/v8/ScriptController.h:
2437         * html/HTMLFrameElementBase.cpp:
2438         (WebCore::HTMLFrameElementBase::isURLAllowed):
2439
2440 2010-05-14  Sergey Ulanov  <sergeyu@chromium.org>
2441
2442         Reviewed by Dmitry Titov and Brett Wilson.
2443
2444         Adding resized image caching for Skia.
2445         https://bugs.webkit.org/show_bug.cgi?id=39085
2446
2447         Tests: HTML5 video on YouTube.
2448
2449         * platform/graphics/skia/ImageSkia.cpp:
2450         (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible.
2451
2452 2010-05-14  Alexey Proskuryakov  <ap@apple.com>
2453
2454         Reviewed by Brady Eidson.
2455
2456         https://bugs.webkit.org/show_bug.cgi?id=39008
2457         <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail
2458
2459         Test: fast/parser/tokenizer-close-during-document-write.html
2460
2461         * dom/Document.cpp: (WebCore::Document::write): Check that the tokenizer is still around
2462         after calling write(). It can become null (as it happens in regression test), and I don't
2463         see any guarantee that it would never be replaced with a different one (but I can't make a
2464         test for that).
2465
2466 2010-05-14  Jian Li  <jianli@chromium.org>
2467
2468         Rubber-stamped by Dmitry Titov.
2469
2470         Fix the code indentation inside a namespace to be consistent with the
2471         style guide.
2472
2473         * workers/GenericWorkerTask.h:
2474
2475 2010-05-14  Jian Li  <jianli@chromium.org>
2476
2477         Reviewed by Dmitry Titov.
2478
2479         Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and rename
2480         all occurrences of GenericWorkerTask* to GenericTask* in this file.
2481         https://bugs.webkit.org/show_bug.cgi?id=39129
2482
2483         I will have another patch to rename the file and move it to the right
2484         place.
2485
2486         * workers/GenericWorkerTask.h:
2487         (WebCore::):
2488         (WebCore::GenericTask1::create):
2489         (WebCore::GenericTask1::GenericTask1):
2490         (WebCore::GenericTask2::create):
2491         (WebCore::GenericTask2::GenericTask2):
2492         (WebCore::GenericTask3::create):
2493         (WebCore::GenericTask3::GenericTask3):
2494         (WebCore::GenericTask4::create):
2495         (WebCore::GenericTask4::GenericTask4):
2496         (WebCore::GenericTask5::create):
2497         (WebCore::GenericTask5::GenericTask5):
2498         (WebCore::GenericTask6::create):
2499         (WebCore::GenericTask6::GenericTask6):
2500         (WebCore::GenericTask7::create):
2501         (WebCore::GenericTask7::GenericTask7):
2502         (WebCore::GenericTask8::create):
2503         (WebCore::GenericTask8::GenericTask8):
2504         (WebCore::createCallbackTask):
2505
2506 2010-05-14  Evan Martin  <evan@chromium.org>
2507
2508         Reviewed by David Levin.
2509
2510         [chromium] don't call fontconfig twice in complex text path
2511         https://bugs.webkit.org/show_bug.cgi?id=38701
2512
2513         Previously getFontDataForCharacters would call fontconfig once to
2514         resolve a font name, then pass that name to getCachedFontPlatformData
2515         to load the font.  This would be two trips through fontconfig (including
2516         IPCs).  With this change, we completely load the font in the first pass.
2517
2518         This patch is actually the same code as in r58341, which was reverted
2519         because of a performance problem; a performance improvement has now
2520         been committed, and with that change in place this change improves
2521         the Chromium intl2 page cycler performance by another 5%.
2522
2523         See also https://bugs.webkit.org/show_bug.cgi?id=37904 .
2524
2525         Test: fast/text/international/bold-bengali.html
2526         (Was checked in as part of the first attempt at this change, continues
2527         to pass after this change.)
2528
2529         * platform/chromium/ChromiumBridge.h:
2530         * platform/graphics/chromium/FontCacheLinux.cpp:
2531         (WebCore::FontCache::getFontDataForCharacters):
2532
2533 2010-05-14  Young Han Lee  <joybro@company100.net>
2534
2535         Reviewed by Darin Adler.
2536
2537         Don't include RetainPtr.h unless PLATFORM(CF) is set.
2538         The RetainPtr is only used for CF platform in this class. 
2539         https://bugs.webkit.org/show_bug.cgi?id=39043
2540
2541         No new tests, there is no new functionality.
2542
2543         * platform/network/curl/ResourceHandleManager.cpp:
2544
2545 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
2546
2547         Reviewed by Adam Roben.
2548
2549         Build fix, we need to copy over the files in $(WebKitOutputDir)/include/JavaScriptCore/private before
2550         WebCore builds. This is because we are building a couple WTF files in WebCore and JavaScriptCore.
2551
2552         * WebCore.vcproj/WebCore.make: 
2553
2554 2010-05-14  Shinichiro Hamaji  <hamaji@chromium.org>
2555
2556         Unreviewed.  Attempt to fix chromium's memory bot error.
2557
2558         More :visited link optimizations to reduce memory usage
2559         https://bugs.webkit.org/show_bug.cgi?id=39084
2560
2561         The original change (r59386) adds check for m_element in initElement.
2562         As don't initialize m_element in the constructor of CSSStyleSelector,
2563         valgrind complains.
2564
2565         * css/CSSStyleSelector.cpp:
2566         (WebCore::CSSStyleSelector::CSSStyleSelector):
2567
2568 2010-05-14  Andreas Kling  <andreas.kling@nokia.com>
2569
2570         Reviewed by Darin Adler.
2571
2572         CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
2573         https://bugs.webkit.org/show_bug.cgi?id=39031
2574
2575         * css/CSSParser.cpp:
2576         (WebCore::CSSParser::parseColor):
2577         * editing/ApplyStyleCommand.cpp:
2578         (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior.
2579         * html/canvas/CanvasRenderingContext2D.cpp:
2580         (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code.
2581
2582 2010-05-14  Jens Alfke  <snej@chromium.org>
2583
2584         Reviewed by John Sullivan.
2585
2586         Don't clear yellow autofill highlight from text fields until the user edits them.
2587         https://bugs.webkit.org/show_bug.cgi?id=39032
2588         No new tests (Couldn't find any autofill tests. The flag doesn't seem to be exposed to JS.)
2589
2590         * html/HTMLInputElement.cpp:
2591         (WebCore::HTMLInputElement::handleFocusEvent):  Don't clear the autofilled flag.
2592         (WebCore::HTMLInputElement::setValueFromRenderer):  Clear the autofilled flag.
2593
2594 2010-05-14  Zhenyao Mo  <zmo@google.com>
2595
2596         Reviewed by Dimitri Glazkov.
2597
2598         Must implement OpenGL ES 2.0 semantics for NPOT textures
2599         https://bugs.webkit.org/show_bug.cgi?id=33805
2600
2601         Test: fast/canvas/webgl/texture-npot.html
2602
2603         * html/canvas/WebGLRenderingContext.cpp:
2604         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Create black 1x1 textures.
2605         (WebCore::WebGLRenderingContext::bindTexture): Set texture dimensionality.
2606         (WebCore::WebGLRenderingContext::copyTexImage2D): Error check, set texture size.
2607         (WebCore::WebGLRenderingContext::drawArrays): Bind to black textures if needed.
2608         (WebCore::WebGLRenderingContext::drawElements): Bind to black textures if needed.
2609         (WebCore::WebGLRenderingContext::generateMipmap): Error check.
2610         (WebCore::WebGLRenderingContext::texImage2DBase): Error check, set texture size.
2611         (WebCore::WebGLRenderingContext::texParameterf): Set texture parameter.
2612         (WebCore::WebGLRenderingContext::texParameteri): Ditto.
2613         (WebCore::WebGLRenderingContext::handleNPOTTextures): Bind to black textures if needed before draw, and bind back to original textures after draw.
2614         * html/canvas/WebGLRenderingContext.h: Add black 1x1 textures.
2615         * html/canvas/WebGLTexture.cpp: Add support to track NPOT textures.
2616         (WebCore::WebGLTexture::createBlackTexture1x1): Create a black 1x1 texture.
2617         (WebCore::WebGLTexture::WebGLTexture): Initialize parameters and states.
2618         (WebCore::WebGLTexture::setDimensionality): Set dimensionality.
2619         (WebCore::WebGLTexture::setParameteri): Set parameter.
2620         (WebCore::WebGLTexture::setParameterf): Ditto.
2621         (WebCore::WebGLTexture::setSize): Set level 0 texture size.
2622         (WebCore::WebGLTexture::isNPOT): Whether the texture is NPOT.
2623         (WebCore::WebGLTexture::updateNPOTStates): Calculate NPOT and NeedToUseBlackTexture states.
2624         * html/canvas/WebGLTexture.h: Add support to track NPOT textures.
2625         (WebCore::WebGLTexture::isNPOT):
2626         (WebCore::WebGLTexture::needToUseBlackTexture):
2627
2628 2010-05-14  Andrey Kosyakov  <caseq@chromium.org>
2629
2630         Reviewed by Pavel Feldman.
2631
2632         Web Inspector: add help on keyboard shortcuts (take 2).
2633
2634         https://bugs.webkit.org/show_bug.cgi?id=38667
2635
2636         * English.lproj/localizedStrings.js:
2637         * WebCore.gypi:
2638         * WebCore.vcproj/WebCore.vcproj:
2639         * inspector/front-end/CallStackSidebarPane.js:
2640         (WebInspector.CallStackSidebarPane):
2641         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
2642         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
2643         * inspector/front-end/ConsoleView.js:
2644         (WebInspector.ConsoleView):
2645         (WebInspector.ConsoleView.prototype._registerShortcuts):
2646         * inspector/front-end/ElementsPanel.js:
2647         (WebInspector.ElementsPanel):
2648         (WebInspector.ElementsPanel.prototype._registerShortcuts):
2649         * inspector/front-end/ElementsTreeOutline.js:
2650         (WebInspector.ElementsTreeOutline.prototype._keyDown):
2651         * inspector/front-end/HelpScreen.js: Added.
2652         * inspector/front-end/KeyboardShortcut.js:
2653         * inspector/front-end/ScriptsPanel.js:
2654         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
2655         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
2656         * inspector/front-end/ShortcutsHelp.js: Added.
2657         * inspector/front-end/SidebarPane.js:
2658         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
2659         * inspector/front-end/StylesSidebarPane.js:
2660         (WebInspector.StylesSidebarPane.prototype.removeSection):
2661         (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
2662         * inspector/front-end/TextViewer.js:
2663         (WebInspector.TextViewer.prototype._handleKeyDown):
2664         * inspector/front-end/WebKit.qrc:
2665         * inspector/front-end/helpScreen.css: Added.
2666
2667 2010-05-14  Tony Gentilcore  <tonyg@chromium.org>
2668
2669         Reviewed by Darin Fisher.
2670
2671         [chromium] Update chromium port to send/receive cached metadata
2672         https://bugs.webkit.org/show_bug.cgi?id=38665
2673
2674         No new tests because no new functionality.
2675
2676         * platform/chromium/ChromiumBridge.h:
2677         * platform/network/chromium/ResourceResponse.h:
2678         (WebCore::ResourceResponse::ResourceResponse):
2679         (WebCore::ResourceResponse::responseTime):
2680         (WebCore::ResourceResponse::setResponseTime):
2681
2682 2010-05-14  Chris Evans  <cevans@chromium.org>
2683
2684         Reviewed by Adam Barth.
2685
2686         Chromium-specific fix to prevent zombie infobars.
2687
2688         https://bugs.webkit.org/show_bug.cgi?id=38948
2689
2690         * bindings/v8/ScriptController.cpp
2691         (WebCore::ScriptController::processingUserGesture):
2692           Require a more definite "no" signal.
2693         * loader/RedirectScheduler.cpp:
2694         (WebCore::ScheduledFormSubmission::fire):
2695           Use a very strong yes / no signal; no need for "possible" here.
2696         * dom/UserGestureIndicator.h:
2697         * dom/UserGestureIndicator.cpp:
2698           Adapt to tri-state: definitely yes; definitely no; not sure.
2699
2700 2010-05-14  Aaron Kennedy  <tffeeb@gmail.com>
2701
2702         Reviewed by Simon Hausmann.
2703
2704         [Qt] JavaScript unable to invoke methods declared in QML
2705         https://bugs.webkit.org/show_bug.cgi?id=38949
2706
2707         JavaScript code executed by webkit cannot call into QML declared
2708         methods, as it does not check for dynamic meta objects.
2709
2710         * bridge/qt/qt_instance.cpp:
2711         (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall.
2712         * bridge/qt/qt_runtime.cpp:
2713         (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
2714
2715 2010-05-14  Ben Murdoch  <benm@google.com>
2716
2717         Reviewed by Darin Fisher.
2718
2719         Touch events are disabled by default when using V8.
2720         https://bugs.webkit.org/show_bug.cgi?id=38990
2721
2722         Touch events are protected by a compile time guard, so it's safe to
2723         assume that the runtime flag  should be enabled by default when this
2724         guard is present.
2725
2726         No new tests, build fix for Android.
2727
2728         * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default.
2729
2730 2010-05-14  George Wright  <gwright@rim.com>
2731
2732         Reviewed by George Staikos.
2733
2734         https://bugs.webkit.org/show_bug.cgi?id=38909
2735
2736         Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString()
2737         on the property name.
2738
2739         * bindings/js/JSDataGridColumnListCustom.cpp:
2740         (WebCore::JSDataGridColumnList::canGetItemsForName):
2741         (WebCore::JSDataGridColumnList::nameGetter):
2742
2743 2010-05-14  Andreas Kling  <andreas.kling@nokia.com>
2744
2745         Reviewed by Darin Adler.
2746
2747         Ignore invalid values for various CanvasRenderingContext2D properties
2748         (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
2749
2750         https://bugs.webkit.org/show_bug.cgi?id=38841
2751
2752         Test: fast/canvas/canvas-invalid-values.html
2753
2754         * html/canvas/CanvasRenderingContext2D.cpp:
2755         (WebCore::CanvasRenderingContext2D::setLineWidth):
2756         (WebCore::CanvasRenderingContext2D::setMiterLimit):
2757         (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
2758         (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
2759         (WebCore::CanvasRenderingContext2D::setShadowBlur):
2760
2761 2010-05-13  Timothy Hatcher  <timothy@apple.com>
2762
2763         Expose WebCore::reportException and WebCore::toJSDOMWindow symbols.
2764
2765         Reviewed by Sam Weinig.
2766
2767         * WebCore.base.exp: Expose reportException and toJSDOMWindow.
2768
2769 2010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
2770
2771         Reviewed by Timothy Hatcher.
2772
2773         Web Inspector: Clearing Breakpoints Too Often
2774         https://bugs.webkit.org/show_bug.cgi?id=39094
2775
2776         Minor resets should preserve both workers and breakpoints.
2777
2778         * inspector/front-end/ScriptsPanel.js:
2779         (WebInspector.ScriptsPanel.prototype.reset):
2780
2781 2010-05-13  Simon Fraser  <simon.fraser@apple.com>
2782
2783         Reviewed by Dan Bernstein.
2784
2785         iframes in compositing layers don't redraw correctly on scrolling
2786         https://bugs.webkit.org/show_bug.cgi?id=39096
2787         
2788         When an iframe ends up in a compositing layer (that is painting to its backing store), we need
2789         to turn off blitting on scrolling. RenderView::paintBoxDecorations() already has code to do this
2790         for transformed frames, so do the same thing when the frame is enclosed in a compositing layer.
2791
2792         Test: compositing/iframes/iframe-copy-on-scroll.html
2793
2794         * rendering/RenderView.cpp:
2795         (WebCore::RenderView::paintBoxDecorations):
2796
2797 2010-05-13  Simon Fraser  <simon.fraser@apple.com>
2798
2799         Reviewed by Dave Hyatt.
2800
2801         Fix scrolling in composited iframes
2802         https://bugs.webkit.org/show_bug.cgi?id=39088
2803         <rdar://problem/7980099>
2804         
2805         When propagating compositing out of iframes, we have to update the position of the iframe content
2806         layers on scrolling.
2807
2808         Test: compositing/iframes/scrolling-iframe.html
2809
2810         * page/FrameView.cpp:
2811         (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling.
2812
2813         * rendering/RenderLayerBacking.cpp:
2814         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset().
2815
2816         * rendering/RenderLayerCompositor.h:
2817         * rendering/RenderLayerCompositor.cpp: Rename m_clippingLayer to m_clipLayer to go better with m_scrollLayer.
2818         (WebCore::RenderLayerCompositor::updateContentLayerOffset): Renamed from setRootPlatformLayerClippingBox().
2819             Set the size of the clipping layer from the FrameView now, so that scrollbars are not clipped out.
2820             Update the scroll layer position too.
2821         (WebCore::RenderLayerCompositor::updateContentLayerScrollPosition): Set the position of the scroll layer
2822             when the ScrollView is scrolled.
2823         (WebCore::RenderLayerCompositor::rootPlatformLayer): m_clippingLayer rename.
2824         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): m_clippingLayer rename. Also create m_scrollLayer at
2825             the same time as the clip layer, and clean it up as necessary.
2826         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): m_clippingLayer rename, and clean up the m_scrollLayer too.
2827         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): m_clippingLayer rename
2828
2829 2010-05-13  Sam Weinig  <sam@webkit.org>
2830
2831         Reviewed by Anders Carlsson.
2832
2833         Follow up to:
2834         Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
2835         Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
2836         Part of <rdar://problem/7921275>
2837
2838         Fix failing tests on Leopard.
2839
2840         Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods.
2841
2842         * css/CSSPrimitiveValue.cpp:
2843         (WebCore::CSSPrimitiveValue::init):
2844         (WebCore::CSSPrimitiveValue::cssText): Add extra assertion.
2845
2846 2010-05-13  Kent Tamura  <tkent@chromium.org>
2847
2848         Reviewed by Darin Adler.
2849
2850         Can't submit a form with <input type=checkbox required>
2851         https://bugs.webkit.org/show_bug.cgi?id=39065
2852
2853         Test: fast/forms/interactive-validation-required-checkbox.html
2854
2855         * html/HTMLInputElement.cpp:
2856         (WebCore::HTMLInputElement::setChecked):
2857           Update the validity cache when a checkbox state is changed.
2858
2859 2010-05-13  Kenneth Russell  <kbr@google.com>
2860
2861         Reviewed by Dimitri Glazkov.
2862
2863         Alias WebGLArray type names to TypedArray type names
2864         https://bugs.webkit.org/show_bug.cgi?id=39036
2865
2866         Exposed the existing WebGL<T>Array constructor functions on the
2867         DOMWindow under the naming convention in the TypedArray spec. The
2868         implementations will be renamed in a subsequent bug, and the
2869         aliases to the WebGL<T>Array type names eventually removed. Ran
2870         all layout tests (including WebGL) in Safari, and WebGL tests in
2871         Chromium.
2872
2873         Test: revised array-unit-tests.html to test both type names.
2874         Revised global prototype and constructor tests to ignore new types.
2875
2876         * bindings/generic/RuntimeEnabledFeatures.h:
2877         (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
2878         (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
2879         (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
2880         (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
2881         (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
2882         (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
2883         (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
2884         (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
2885         * bindings/js/JSDOMWindowCustom.cpp:
2886         (WebCore::JSDOMWindow::arrayBuffer):
2887         (WebCore::JSDOMWindow::int8Array):
2888         (WebCore::JSDOMWindow::uint8Array):
2889         (WebCore::JSDOMWindow::int32Array):
2890         (WebCore::JSDOMWindow::uint32Array):
2891         (WebCore::JSDOMWindow::int16Array):
2892         (WebCore::JSDOMWindow::uint16Array):
2893         (WebCore::JSDOMWindow::floatArray):
2894         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2895         (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
2896         (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
2897         (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
2898         (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
2899         (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
2900         (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
2901         (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
2902         (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
2903         * page/DOMWindow.idl:
2904
2905 2010-05-13  David Hyatt  <hyatt@apple.com>
2906
2907         Reviewed by Anders Carlsson.
2908
2909         https://bugs.webkit.org/show_bug.cgi?id=39084
2910
2911         Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and
2912         simplifications.
2913
2914         (1) Tie the caching of link state on CSSStyleSelector to the element.  Just clear out the element when
2915         style resolution finishes for the unvisited case to avoid caching across external calls.  The internal
2916         calls share the cache just fine by doing this.
2917
2918         (2) Delete the RenderStyle if the link is unvisited.  This shouldn't take long enough to make us vulnerable
2919         to timing attacks, and it makes sure the overall footprint stays the way it used to be for unvisited links.
2920
2921         (3) Limit the set of properties that can be applied to :visited links to only the colors it supports.  This
2922         stops images from being loadable from :visited rules.
2923
2924         * css/CSSStyleSelector.cpp:
2925         (WebCore::CSSStyleSelector::init):
2926         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
2927         (WebCore::CSSStyleSelector::initElement):
2928         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2929         (WebCore::CSSStyleSelector::styleForElement):
2930         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2931         (WebCore::isValidVisitedLinkProperty):
2932         (WebCore::CSSStyleSelector::applyProperty):
2933         * css/CSSStyleSelector.h:
2934         * rendering/style/RenderStyle.cpp:
2935         (WebCore::colorIncludingFallback):
2936
2937 2010-05-13  Sam Weinig  <sam@webkit.org>
2938
2939         Reviewed by Darin Adler.
2940
2941         Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
2942         Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
2943         Part of <rdar://problem/7921275>
2944
2945         - Use an external cache to speedup cssText for CSSPrimitiveValue instead
2946           of an extra member variable.
2947
2948         * css/CSSPrimitiveValue.cpp:
2949         (WebCore::cssTextCache):
2950         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2951         (WebCore::CSSPrimitiveValue::cleanup):
2952         (WebCore::CSSPrimitiveValue::cssText):
2953         * css/CSSPrimitiveValue.h:
2954         (WebCore::CSSPrimitiveValue::):
2955         * css/CSSPrimitiveValueMappings.h:
2956         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2957
2958 2010-05-13  Enrica Casucci  <enrica@apple.com>
2959
2960         Reviewed by Dave Hyatt.
2961
2962         Adding block elements to a block and removing them changes the height of the element.
2963         https://bugs.webkit.org/show_bug.cgi?id=38874
2964
2965         The initial height of an empty editable block is different from the height of the same block after we add block elements
2966         and remove them.
2967         
2968         Test: editing/deleting/delete-block-contents-004.html
2969
2970         * rendering/RenderBlock.cpp:
2971         (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children.
2972
2973 2010-05-13  Brady Eidson  <beidson@apple.com>
2974
2975         Reviewed by Darin Adler.
2976
2977         Repro crash at www.sears.com (infinite recursion in beforeunload handler)
2978         <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
2979
2980         Test: fast/loader/recursive-before-unload-crash.html
2981
2982         * loader/FrameLoader.cpp:
2983         (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set.
2984         * loader/FrameLoader.h:
2985
2986         * page/Frame.cpp:
2987         (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose().
2988         * page/Frame.h:
2989         (WebCore::Frame::existingDOMWindow):
2990
2991 2010-05-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2992
2993         Unreviewed, rolling out r59376.
2994         http://trac.webkit.org/changeset/59376
2995         https://bugs.webkit.org/show_bug.cgi?id=39080
2996
2997         Broke window prototype tests (Requested by jamesr on #webkit).
2998
2999         * bindings/generic/RuntimeEnabledFeatures.h:
3000         * bindings/js/JSDOMWindowCustom.cpp:
3001         (WebCore::JSDOMWindow::webGLFloatArray):
3002         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3003         * page/DOMWindow.idl:
3004
3005 2010-05-13  Pavel Feldman  <pfeldman@chromium.org>
3006
3007         Reviewed by Yury Semikhatsky.
3008
3009         Web Inspector: A disabled style property cannot be deleted.
3010
3011         https://bugs.webkit.org/show_bug.cgi?id=39057
3012
3013         * inspector/InspectorDOMAgent.cpp:
3014         (WebCore::InspectorDOMAgent::applyStyleText):
3015
3016 2010-05-12  Kenneth Russell  <kbr@google.com>
3017
3018         Reviewed by Dimitri Glazkov.
3019
3020         Alias WebGLArray type names to TypedArray type names
3021         https://bugs.webkit.org/show_bug.cgi?id=39036
3022
3023         Exposed the existing WebGL<T>Array constructor functions on the
3024         DOMWindow under the naming convention in the TypedArray spec. The
3025         implementations will be renamed in a subsequent bug, and the
3026         aliases to the WebGL<T>Array type names eventually removed. Ran
3027         all WebGL layout tests in Safari and Chromium.
3028
3029         Test: revised array-unit-tests.html to test both type names.
3030
3031         * bindings/generic/RuntimeEnabledFeatures.h:
3032         (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
3033         (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
3034         (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
3035         (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
3036         (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
3037         (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
3038         (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
3039         (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
3040         * bindings/js/JSDOMWindowCustom.cpp:
3041         (WebCore::JSDOMWindow::arrayBuffer):
3042         (WebCore::JSDOMWindow::int8Array):
3043         (WebCore::JSDOMWindow::uint8Array):
3044         (WebCore::JSDOMWindow::int32Array):
3045         (WebCore::JSDOMWindow::uint32Array):
3046         (WebCore::JSDOMWindow::int16Array):
3047         (WebCore::JSDOMWindow::uint16Array):
3048         (WebCore::JSDOMWindow::floatArray):
3049         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3050         (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
3051         (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
3052         (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
3053         (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
3054         (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
3055         (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
3056         (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
3057         (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
3058         * page/DOMWindow.idl:
3059
3060 2010-05-13  Brady Eidson  <beidson@apple.com>
3061
3062         Reviewed by John Sullivan.
3063
3064         Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
3065
3066         No new tests. (No change in behavior)
3067
3068         m_unloadEventBeingDispatched was already overloaded to include both unload and pagehide events.
3069         In general, these are "page dismissal" events, and might also include beforeunload, so let's rename
3070         the flag!
3071
3072         * loader/FrameLoader.cpp:
3073         (WebCore::FrameLoader::FrameLoader):
3074         (WebCore::FrameLoader::stopLoading):
3075         (WebCore::FrameLoader::loadURL):
3076         (WebCore::FrameLoader::loadWithDocumentLoader):
3077         (WebCore::FrameLoader::stopAllLoaders):
3078         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3079         (WebCore::FrameLoader::pageHidden):
3080         * loader/FrameLoader.h:
3081
3082 2010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
3083
3084         Reviewed by Pavel Feldman.
3085
3086         Web Inspector: Event Markers should be hidden in Resource's "Size" Graph
3087         https://bugs.webkit.org/show_bug.cgi?id=39074
3088
3089         Added Show / Hide event dividers functionality to the timeline grid,
3090         and included delegation functions in AbstractTimelinePanel.
3091
3092         * inspector/front-end/AbstractTimelinePanel.js: delegate to the inner grid
3093         (WebInspector.AbstractTimelinePanel.prototype.hideEventDividers):
3094         (WebInspector.AbstractTimelinePanel.prototype.showEventDividers):
3095         * inspector/front-end/ResourcesPanel.js:
3096         (WebInspector.ResourcesPanel.prototype.populateSidebar): save a reference to the size graph item to know when its selected
3097         (WebInspector.ResourcesPanel.prototype._graphSelected): if the size graph is selected hide the dividers, otherwise show them
3098         * inspector/front-end/TimelineGrid.js:
3099         (WebInspector.TimelineGrid.prototype.hideEventDividers): set the container to display: none
3100         (WebInspector.TimelineGrid.prototype.showEventDividers): set the container to display: block
3101
3102 2010-05-13  Chang Shu  <chang.shu@nokia.com>
3103
3104         Reviewed by Kenneth Rohde Christiansen.
3105
3106         Based on the spec and Philip Taylor's test suite, strokeStyle and fillStyle attributes
3107         must initially have the string value #000000.
3108         The link to the spec:
3109         http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.colours.default
3110
3111         https://bugs.webkit.org/show_bug.cgi?id=39068
3112
3113         The complete test suite is in the process of checking in.
3114         https://bugs.webkit.org/show_bug.cgi?id=20553
3115
3116         * html/canvas/CanvasRenderingContext2D.cpp:
3117         (WebCore::CanvasRenderingContext2D::State::State):
3118
3119 2010-05-13  Yury Semikhatsky  <yurys@chromium.org>
3120
3121         Unreviewed, rolling out r59360.
3122         http://trac.webkit.org/changeset/59360
3123         https://bugs.webkit.org/show_bug.cgi?id=38667
3124
3125         It broke Chromium Win build
3126
3127         * English.lproj/localizedStrings.js:
3128         * WebCore.gypi:
3129         * WebCore.vcproj/WebCore.vcproj:
3130         * inspector/front-end/CallStackSidebarPane.js:
3131         (WebInspector.CallStackSidebarPane):
3132         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
3133         * inspector/front-end/ConsoleView.js:
3134         (WebInspector.ConsoleView):
3135         * inspector/front-end/ElementsPanel.js:
3136         (WebInspector.ElementsPanel):
3137         * inspector/front-end/ElementsTreeOutline.js:
3138         (WebInspector.ElementsTreeOutline.prototype._keyDown):
3139         * inspector/front-end/HelpScreen.js: Removed.
3140         * inspector/front-end/KeyboardShortcut.js:
3141         (WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers):
3142         * inspector/front-end/ScriptsPanel.js:
3143         (WebInspector.ScriptsPanel):
3144         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
3145         * inspector/front-end/ShortcutsHelp.js: Removed.
3146         * inspector/front-end/SidebarPane.js:
3147         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
3148         * inspector/front-end/StylesSidebarPane.js:
3149         (WebInspector.StylesSidebarPane.prototype.removeSection):
3150         * inspector/front-end/TextViewer.js:
3151         (WebInspector.TextViewer.prototype._handleKeyDown):
3152         * inspector/front-end/WebKit.qrc:
3153         * inspector/front-end/helpScreen.css: Removed.
3154         * inspector/front-end/inspector.html:
3155         * inspector/front-end/inspector.js:
3156         (WebInspector.loaded):
3157         (WebInspector.documentKeyDown):
3158         (WebInspector._searchKeyDown):
3159         (WebInspector.startEditing.keyDownEventListener):
3160         (WebInspector.startEditing):
3161         * inspector/front-end/utilities.js:
3162
3163 2010-05-13  Antti Koivisto  <koivisto@iki.fi>
3164
3165         Reviewed by Kenneth Rohde Christiansen.
3166
3167         https://bugs.webkit.org/show_bug.cgi?id=39063
3168         [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1
3169
3170         Use the dirty rect that has been adjusted for scaling instead of the original one.
3171
3172         * platform/graphics/TiledBackingStore.cpp:
3173         (WebCore::TiledBackingStore::paint):
3174
3175 2010-05-13  Chang Shu  <chang.shu@nokia.com>
3176
3177         Reviewed by Kenneth Rohde Christiansen.
3178
3179         Based on Philip Taylor's test suite, resetting the canvas
3180         state resets the current path.
3181         https://bugs.webkit.org/show_bug.cgi?id=38934
3182
3183         The complete test suite is in the process of checking in.
3184         https://bugs.webkit.org/show_bug.cgi?id=20553
3185
3186         * html/canvas/CanvasRenderingContext2D.cpp:
3187         (WebCore::CanvasRenderingContext2D::reset):
3188
3189 2010-05-13  Andrey Kosyakov  <caseq@chromium.org>
3190
3191         Reviewed by Pavel Feldman.
3192
3193         Added help screen with keyboard shortcuts.
3194         https://bugs.webkit.org/show_bug.cgi?id=38667
3195
3196         * English.lproj/localizedStrings.js:
3197         * WebCore.gypi:
3198         * WebCore.vcproj/WebCore.vcproj:
3199         * inspector/front-end/CallStackSidebarPane.js:
3200         (WebInspector.CallStackSidebarPane):
3201         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
3202         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
3203         * inspector/front-end/ConsoleView.js:
3204         (WebInspector.ConsoleView):
3205         (WebInspector.ConsoleView.prototype._registerShortcuts):
3206         * inspector/front-end/ElementsPanel.js:
3207         (WebInspector.ElementsPanel):
3208         (WebInspector.ElementsPanel.prototype._registerShortcuts):
3209         * inspector/front-end/HelpScreen.js: Added.
3210         * inspector/front-end/KeyboardShortcut.js:
3211         (WebInspector.KeyboardShortcut.makeDescriptor):
3212         (WebInspector.KeyboardShortcut.shortcutToString):
3213         (WebInspector.KeyboardShortcut._modifiersToString):
3214         * inspector/front-end/ScriptsPanel.js:
3215         (WebInspector.ScriptsPanel):
3216         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
3217         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
3218         * inspector/front-end/ShortcutsHelp.js: Added.
3219         * inspector/front-end/StylesSidebarPane.js:
3220         (WebInspector.StylesSidebarPane.prototype.removeSection):
3221         (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
3222         * inspector/front-end/WebKit.qrc:
3223         * inspector/front-end/helpScreen.css: Added.
3224
3225 2010-05-13  Yoshiki Hayashi  <yhayashi@google.com>
3226
3227         Reviewed by Darin Adler.
3228
3229         Fix a bug in handleRunInChild where only the first child run-in block
3230         is inserted because removeChildNode clears next sibling.
3231         https://bugs.webkit.org/show_bug.cgi?id=25047
3232
3233         Test: fast/css/run-in-children.html
3234
3235         * rendering/RenderBlock.cpp:
3236         (WebCore::RenderBlock::handleRunInChild):
3237
3238 2010-05-13  Alejandro G. Castro  <alex@igalia.com>
3239
3240         Reviewed by Xan Lopez.
3241
3242         In case there is no expose event we render the theme in a pixmap
3243         and copy it to the cairo context. This is slow but it is used just
3244         in case we are printing nowadays.
3245
3246         [GTK] Theme does not render when printing
3247         https://bugs.webkit.org/show_bug.cgi?id=38896
3248
3249         * platform/gtk/RenderThemeGtk.cpp:
3250         (WebCore::paintMozillaGtkWidget):
3251
3252 2010-05-12  Yuzo Fujishima  <yuzo@google.com>
3253
3254         Reviewed by Darin Adler.
3255
3256         Fix Bug 35014 - Modifying UA rules from page JS crashes
3257         Added a NULL check.
3258         https://bugs.webkit.org/show_bug.cgi?id=35014
3259
3260         Test: fast/css/modify-ua-rules-from-javascript.html
3261
3262         * css/CSSMutableStyleDeclaration.cpp:
3263         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
3264
3265 2010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
3266
3267         Reviewed by Adam Barth.
3268
3269         Add the parent class for Database and DatabaseSync.
3270         https://bugs.webkit.org/show_bug.cgi?id=39041
3271
3272         * GNUmakefile.am:
3273         * WebCore.gypi:
3274         * WebCore.pro:
3275         * WebCore.vcproj/WebCore.vcproj:
3276         * WebCore.xcodeproj/project.pbxproj:
3277         * storage/AbstractDatabase.cpp: Added.
3278         * storage/AbstractDatabase.h: Added.
3279
3280 2010-05-12  Noam Rosenthal  <noam.rosenthal@nokia.com>
3281
3282         Reviewed by Kenneth Rohde Christiansen.
3283
3284         [Qt] GraphicsLayer: depth-test causes flicker in certain situations
3285
3286         This patch removes the simplistic 2D depth test as it leads to flickering side effects.
3287         https://bugs.webkit.org/show_bug.cgi?id=38370
3288
3289         Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
3290
3291         * platform/graphics/qt/GraphicsLayerQt.cpp:
3292         (WebCore::GraphicsLayerQtImpl::updateTransform):
3293
3294 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
3295
3296         Reviewed by Mark Rowe.
3297
3298         Fix layer dump to avoid spurious platform differences
3299         https://bugs.webkit.org/show_bug.cgi?id=39045
3300         
3301         Only dump the children transform on layers that are not the root layer.
3302         The children transform on the root layer is used on Leopard to implement
3303         geometry flipping, so avoid this supurious difference in test output.
3304
3305         * platform/graphics/GraphicsLayer.cpp:
3306         (WebCore::GraphicsLayer::dumpProperties):
3307
3308 2010-05-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3309
3310         Unreviewed, rolling out r59270.
3311         http://trac.webkit.org/changeset/59270
3312         https://bugs.webkit.org/show_bug.cgi?id=39044
3313
3314         Caused a crash on some pages - bug 39042 (Requested by smfr on
3315         #webkit).
3316
3317         * rendering/RenderBlock.cpp:
3318         (WebCore::RenderBlock::removeChild):
3319
3320 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
3321
3322         Reviewed by David Hyatt.
3323
3324         Composited plug-ins can cause missed painting
3325         https://bugs.webkit.org/show_bug.cgi?id=39033
3326         <rdar://problem/7972478>
3327
3328         Fixed missed painting (and assertions in debug builds) related to compositing
3329         propagating out of iframes that contain plug-ins.
3330         
3331         When an iframe enters or leaves compositing mode, RenderLayerCompositor uses
3332         setNeedsStyleRecalc(SyntheticStyleChange) to trigger the parent document to re-evaluate
3333         whether the iframe itself should be composited. However, for iframes containing plug-ins,
3334         this can happen at inappropriate times. For example, when a browser tab is brought frontmost,
3335         plug-ins are instantiated for the first time (via -viewDidMoveToWindow), which triggers a 
3336         setNeedsStyleRecalc() on the object element. Soon after, the -viewWillDraw machinery
3337         does layout from the top down. During layout of the iframe, the iframe enters compositing mode,
3338         and does a setNeedsStyleRecalc() on the iframe element in its parent document. This leaves the
3339         FrameView as needsLayout(), so the FrameView::paintContents() asserts and bails.
3340         
3341         The fix is to avoid doing a setNeedsStyleRecalc() on the root while inside a recalcStyle on
3342         the iframe. We do this by switching the iframe into compositing mode eagerly as soon as we know
3343         the plug-in needs it.
3344         
3345         A secondary fix is to ensure that if a document has composited iframes, when that document becomes
3346         composited, we connect compositing layers between the iframes and the parent document.
3347
3348         Tests: compositing/iframes/connect-compositing-iframe-delayed.html
3349                compositing/iframes/iframe-src-change.html
3350
3351         * WebCore.base.exp: Export FrameView::enterCompositingMode()
3352
3353         * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code.
3354         * page/FrameView.cpp:
3355         (WebCore::FrameView::enterCompositingMode):
3356
3357         * rendering/RenderLayerCompositor.h:
3358         * rendering/RenderLayerCompositor.cpp:
3359         (WebCore::RenderLayerCompositor::enableCompositingMode): When we switch into compositing mode, we
3360             force a style recaclc on any iframes to get them into compositing layers, so they can hook up
3361             with their content layers if necessary.
3362         (WebCore::RenderLayerCompositor::didMoveOnscreen): Only call attachRootPlatformLayer() if we really need to.
3363         (WebCore::RenderLayerCompositor::willMoveOffscreen): Only call detachRootPlatformLayer() if we really need to.
3364         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Whitespace.
3365         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): Fetch iframe elements, and send a 
3366             synthetic style recalc on them.
3367
3368 2010-05-12  Anders Carlsson  <andersca@apple.com>
3369
3370         Reviewed by Simon Fraser.
3371
3372         Shrink the size of FillLayer by moving a member variable.
3373         https://bugs.webkit.org/show_bug.cgi?id=39035
3374
3375         * rendering/style/FillLayer.cpp:
3376         (WebCore::FillLayer::FillLayer):
3377         * rendering/style/FillLayer.h:
3378
3379 2010-05-12  Sam Weinig  <sam@webkit.org>
3380
3381         Reviewed by Anders Carlsson.
3382
3383         A bunch of nice micro-optimizations for ~1% speedup on PLT.
3384         - Add fastGetAttribute. The same as getAttribute except can only be
3385           called when it is known not to be style attribute or one of the SVG
3386           animatable attributes.
3387         - Inline some functions from Font.
3388         - Return the same string from deprecatedParseURL if there is nothing
3389           to strip.
3390         - Use a member variable instead of a virtual function to determine 
3391           whether a ScheduledNavigation is a location change.
3392
3393         * WebCore.base.exp:
3394         * css/CSSHelper.cpp:
3395         (WebCore::deprecatedParseURL):
3396         * css/CSSStyleSelector.cpp:
3397         (WebCore::linkAttribute):
3398         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3399         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3400         * dom/Element.cpp:
3401         (WebCore::Element::getAttribute):
3402         * dom/Element.h:
3403         (WebCore::Element::fastHasAttribute):
3404         (WebCore::Element::fastGetAttribute):
3405         * html/HTMLFormControlElement.cpp:
3406         (WebCore::HTMLFormControlElement::formControlName):
3407         * html/HTMLInputElement.cpp:
3408         (WebCore::HTMLInputElement::value):
3409         * loader/RedirectScheduler.cpp:
3410         (WebCore::ScheduledNavigation::ScheduledNavigation):
3411         (WebCore::ScheduledNavigation::isLocationChange):
3412         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
3413         (WebCore::ScheduledRedirect::ScheduledRedirect):
3414         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
3415         (WebCore::ScheduledRefresh::ScheduledRefresh):
3416         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
3417         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
3418         (WebCore::RedirectScheduler::locationChangePending):
3419         * platform/graphics/Font.cpp:
3420         * platform/graphics/Font.h:
3421         (WebCore::Font::~Font):
3422         (WebCore::Font::primaryFont):
3423         (WebCore::Font::fontDataAt):
3424         (WebCore::Font::fontDataForCharacters):
3425         (WebCore::Font::isFixedPitch):
3426         (WebCore::Font::fontSelector):
3427         * platform/graphics/FontFallbackList.h:
3428         * rendering/RenderImage.cpp:
3429         (WebCore::RenderImage::imageMap):
3430
3431 2010-05-12  David Hyatt  <hyatt@apple.com>
3432
3433         Reviewed by Sam Weinig.
3434
3435         Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time.
3436
3437         * WebCore.xcodeproj/project.pbxproj:
3438         * editing/visible_units.cpp:
3439         (WebCore::previousLinePosition):
3440         (WebCore::nextLinePosition):
3441         * rendering/EllipsisBox.cpp:
3442         (WebCore::EllipsisBox::paint):
3443         (WebCore::EllipsisBox::selectionRect):
3444         (WebCore::EllipsisBox::paintSelection):
3445         (WebCore::EllipsisBox::nodeAtPoint):
3446         * rendering/EllipsisBox.h:
3447         (WebCore::EllipsisBox::EllipsisBox):
3448         * rendering/InlineBox.cpp:
3449         (WebCore::InlineBox::adjustPosition):
3450         (WebCore::InlineBox::canAccommodateEllipsis):
3451         * rendering/InlineBox.h:
3452         (WebCore::InlineBox::InlineBox):
3453         (WebCore::InlineBox::isSVGRootInlineBox):
3454         (WebCore::InlineBox::x):
3455         (WebCore::InlineBox::y):
3456         (WebCore::InlineBox::width):
3457         (WebCore::InlineBox::height):
3458         (WebCore::InlineBox::bottom):
3459         (WebCore::InlineBox::right):
3460         (WebCore::InlineBox::setX):
3461         (WebCore::InlineBox::setY):
3462         (WebCore::InlineBox::setWidth):
3463         (WebCore::InlineBox::setHeight):
3464         (WebCore::InlineBox::location):
3465         (WebCore::InlineBox::size):
3466         (WebCore::InlineBox::setLocation):
3467         (WebCore::InlineBox::setSize):
3468         (WebCore::InlineBox::move):
3469         (WebCore::InlineBox::frameRect):
3470         (WebCore::InlineBox::setFrameRect):
3471         (WebCore::InlineBox::baselinePosition):
3472         (WebCore::InlineBox::lineHeight):
3473         * rendering/InlineFlowBox.cpp:
3474         (WebCore::InlineFlowBox::placeBoxesVertically):
3475         (WebCore::InlineFlowBox::computeVerticalOverflow):
3476         (WebCore::InlineFlowBox::nodeAtPoint):
3477         (WebCore::InlineFlowBox::paintBoxDecorations):
3478         (WebCore::InlineFlowBox::paintMask):
3479         (WebCore::InlineFlowBox::paintTextDecorations):
3480         * rendering/InlineFlowBox.h:
3481         (WebCore::InlineFlowBox::visibleOverflowRect):
3482         (WebCore::InlineFlowBox::topLayoutOverflow):
3483         (WebCore::InlineFlowBox::bottomLayoutOverflow):
3484         (WebCore::InlineFlowBox::leftLayoutOverflow):
3485         (WebCore::InlineFlowBox::rightLayoutOverflow):
3486         (WebCore::InlineFlowBox::layoutOverflowRect):
3487         (WebCore::InlineFlowBox::topVisualOverflow):
3488         (WebCore::InlineFlowBox::bottomVisualOverflow):
3489         (WebCore::InlineFlowBox::leftVisualOverflow):
3490         (WebCore::InlineFlowBox::rightVisualOverflow):
3491         (WebCore::InlineFlowBox::visualOverflowRect):
3492         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
3493         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
3494         * rendering/InlineTextBox.cpp:
3495         (WebCore::InlineTextBox::selectionRect):
3496         (WebCore::InlineTextBox::placeEllipsisBox):
3497         (WebCore::InlineTextBox::nodeAtPoint):
3498         (WebCore::InlineTextBox::paint):
3499         (WebCore::InlineTextBox::paintSelection):
3500         (WebCore::InlineTextBox::paintCompositionBackground):
3501         (WebCore::InlineTextBox::paintDecoration):
3502         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3503         (WebCore::InlineTextBox::paintTextMatchMarker):
3504         (WebCore::InlineTextBox::computeRectForReplacementMarker):
3505         (WebCore::InlineTextBox::paintCompositionUnderline):
3506         (WebCore::InlineTextBox::offsetForPosition):
3507         (WebCore::InlineTextBox::positionForOffset):
3508         * rendering/InlineTextBox.h:
3509         (WebCore::InlineTextBox::setSpaceAdd):
3510         * rendering/RenderBlock.cpp:
3511         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3512         * rendering/RenderBlockLineLayout.cpp:
3513         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3514         (WebCore::RenderBlock::layoutInlineChildren):
3515         * rendering/RenderSVGInline.cpp:
3516         (WebCore::RenderSVGInline::createInlineFlowBox):
3517         * rendering/RenderSVGInlineText.cpp:
3518         (WebCore::RenderSVGInlineText::createTextBox):
3519         * rendering/RenderSVGText.cpp:
3520         (WebCore::RenderSVGText::createRootInlineBox):
3521         * rendering/RenderText.cpp:
3522         (WebCore::RenderText::positionForPoint):
3523         (WebCore::RenderText::firstRunX):
3524         (WebCore::RenderText::firstRunY):
3525         * rendering/RenderTreeAsText.cpp:
3526         (WebCore::writeTextRun):
3527         * rendering/RootInlineBox.cpp:
3528         (WebCore::RootInlineBox::placeEllipsis):
3529         (WebCore::RootInlineBox::addHighlightOverflow):
3530         (WebCore::RootInlineBox::closestLeafChildForXPos):
3531         * rendering/SVGInlineFlowBox.h:
3532         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
3533         * rendering/SVGInlineTextBox.h:
3534         (WebCore::SVGInlineTextBox::selectionTop):
3535         (WebCore::SVGInlineTextBox::selectionHeight):
3536         * rendering/SVGRootInlineBox.h:
3537         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
3538         (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
3539         * rendering/TrailingFloatsRootInlineBox.h: Removed.
3540
3541 2010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
3542
3543         Reviewed by Dimitri Glazkov.
3544
3545         Removing the unnecessary dirfd parameter.
3546         https://bugs.webkit.org/show_bug.cgi?id=38869
3547
3548         * platform/chromium/ChromiumBridge.h:
3549         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3550
3551 2010-05-12  Enrica Casucci  <enrica@apple.com>
3552
3553         Reviewed by Dave Hyatt.
3554
3555         Adding block elements to a block and removing them changes the height of the element.
3556         https://bugs.webkit.org/show_bug.cgi?id=38874
3557
3558         The initial height of an empty editable block is different from the height of the same block after we add block elements
3559         and remove them.
3560         
3561         Test: editing/deleting/delete-block-contents-004.html
3562
3563         * rendering/RenderBlock.cpp:
3564         (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
3565         and never reset to true when all the block elements contained are removed.
3566
3567 2010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
3568
3569         Reviewed by Dimitri Glazkov.
3570
3571         Do not check if a database needs to be vacuumed after a read-only transaction.
3572         https://bugs.webkit.org/show_bug.cgi?id=38972
3573
3574         * storage/SQLTransaction.cpp:
3575         (WebCore::SQLTransaction::postflightAndCommit):
3576
3577 2010-05-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3578
3579         Reviewed by Kenneth Rohde Christiansen.
3580
3581         [Qt] Detect debug mode consistently
3582         https://bugs.webkit.org/show_bug.cgi?id=38863
3583
3584         No new tests as there is no new functionality.
3585
3586         * WebCore.pro:
3587
3588 2010-05-12  James Robinson  <jamesr@chromium.org>
3589
3590         Patch by Dan Bernstein.
3591
3592         Reviewed by David Hyatt.
3593
3594         Fix marking the layout root's parent as needing layout
3595         https://bugs.webkit.org/show_bug.cgi?id=37760
3596
3597         If an element gets marked as needing layout due to the recalcStyle()
3598         call in FrameView::layout(), the m_layoutSchedulingEnabled flag will
3599         be set to false.  It's possible at this point that a parent of the
3600         existing FrameView::m_layoutRoot will be marked as needing layout.
3601
3602         This patch updates FrameView::scheduleRelayoutOfSubtree to account
3603         for this case.
3604
3605         Manual test only due to subtle timing issues.
3606
3607         * manual-tests/layoutroot_detach.xml: Added.
3608         * page/FrameView.cpp:
3609         (WebCore::FrameView::scheduleRelayoutOfSubtree):
3610
3611 2010-05-12  Eric Seidel  <eric@webkit.org>
3612
3613         Unreviewed, rolling out r59245.
3614         http://trac.webkit.org/changeset/59245
3615         https://bugs.webkit.org/show_bug.cgi?id=38874
3616
3617         Broke at least one test on multiple platforms
3618
3619         * rendering/RenderBlock.cpp:
3620         (WebCore::RenderBlock::removeChild):
3621
3622 2010-05-12  Alexey Proskuryakov  <ap@apple.com>
3623
3624         Reviewed by Darin Adler.
3625
3626         https://bugs.webkit.org/show_bug.cgi?id=38752
3627         Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc)
3628
3629         Test: fast/images/extra-image-in-image-document.html
3630
3631         * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages
3632         after manually feeding an image - there may be more coming.
3633
3634 2010-05-12  yael aharon  <yael.aharon@nokia.com>
3635
3636         Reviewed by Dan Bernstein.
3637
3638         HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement
3639         https://bugs.webkit.org/show_bug.cgi?id=38991
3640
3641         No new tests since no new functionality was introduced.
3642
3643         * html/HTMLLabelElement.cpp:
3644         (WebCore::HTMLLabelElement::control):
3645         * html/HTMLLabelElement.h:
3646
3647 2010-05-12  David Hyatt  <hyatt@apple.com>
3648
3649         Reviewed by Darin Adler.
3650
3651         https://bugs.webkit.org/show_bug.cgi?id=38891
3652