e55ae73ce7563af72a336d35a843310da1d856d8
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-13  Keishi Hattori  <keishi@webkit.org>
2
3         Sort WebCore.xcodeproj
4
5         Accomplished using sort-Xcode-project-file.
6
7         * WebCore.xcodeproj/project.pbxproj:
8
9 2011-06-12  Jer Noble  <jer.noble@apple.com>
10
11         Reviewed by Darin Adler.
12
13         REGRESSION (full screen video): Watch Again button is obscured after full screen playback ends at Apple trailers page
14         https://bugs.webkit.org/show_bug.cgi?id=62507
15
16         No new tests; DRT would have to be modified to delay between receiving exitFullScreenForElement() and calling 
17         webkitWillExitFullScreenForElement() to be able to test this.
18
19         If the full-screen element is removed, and webkitWillExitFullScreenForElement() is not called before
20         fullScreenElementRemoved() returns, then ancestors of the full-screen element will not have their
21         containsFullScreenElement property removed.  To protect against this, reset the property by calling 
22         setContainsFullScreenElementRecursively() from within fullScreenElementRemoved().
23
24         * dom/Document.cpp:
25         (WebCore::Document::fullScreenElementRemoved): Added call to setContainsFullScreenElementRecursively.
26
27 2011-06-12  Adam Barth  <abarth@webkit.org>
28
29         Reviewed by Alexey Proskuryakov.
30
31         Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
32         https://bugs.webkit.org/show_bug.cgi?id=62516
33
34         As requested by Alexey in https://bugs.webkit.org/show_bug.cgi?id=62510.
35
36         * loader/EmptyClients.h:
37         (WebCore::EmptyFrameLoaderClient::interruptedForPolicyChangeError):
38         * loader/FrameLoaderClient.h:
39         * loader/MainResourceLoader.cpp:
40         (WebCore::MainResourceLoader::interruptedForPolicyChangeError):
41         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
42         (WebCore::MainResourceLoader::continueAfterContentPolicy):
43         * loader/MainResourceLoader.h:
44
45 2011-06-12  Hironori Bono  <hbono@chromium.org>
46
47         Reviewed by Hajime Morita.
48
49         Add null checks to HTMLTextAreaElement::removeSpellcheckRange().
50         https://bugs.webkit.org/show_bug.cgi?id=62526
51
52         This change adds null checks to the following function to prevent crashes
53         when calling removeSpellcheckRange() with null:
54         HTMLTextAreaElement::removeSpellcheckRange(),
55         HTMLInputElement::removeSpellcheckRange(), and
56         HTMLDivElement::removeSpellcheckRange().
57
58         Test: editing/spelling/spellcheck-api-crash.html
59
60         * html/HTMLDivElement.cpp:
61         (WebCore::HTMLDivElement::removeSpellcheckRange):
62         * html/HTMLInputElement.cpp:
63         (WebCore::HTMLInputElement::removeSpellcheckRange):
64         * html/HTMLTextAreaElement.cpp:
65         (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
66
67 2011-06-12  Adam Barth  <abarth@webkit.org>
68
69         Reviewed by Darin Adler.
70
71         DocumentParser::appendBytes should use size_t for length instead of int
72         https://bugs.webkit.org/show_bug.cgi?id=62508
73
74         size_t is the proper type for distances in memory, especially on 64 bit
75         machines.
76
77         * dom/DecodedDataDocumentParser.cpp:
78         (WebCore::DecodedDataDocumentParser::appendBytes):
79         * dom/DecodedDataDocumentParser.h:
80         * dom/DocumentParser.h:
81         * html/ImageDocument.cpp:
82         (WebCore::ImageDocumentParser::appendBytes):
83         * html/MediaDocument.cpp:
84         (WebCore::MediaDocumentParser::appendBytes):
85         * html/PluginDocument.cpp:
86         (WebCore::PluginDocumentParser::appendBytes):
87         * loader/SinkDocument.cpp:
88         (WebCore::SinkDocumentParser::appendBytes):
89
90 2011-06-12  Adam Barth  <abarth@webkit.org>
91
92         Reviewed by Eric Seidel.
93
94         Remove FrameLoader::isProcessingUserGesture
95         https://bugs.webkit.org/show_bug.cgi?id=62519
96
97         This function is a remnant of the old user gesture design, which
98         involved per-frame state stored on FrameLoader.  Now that we're using
99         static state, we don't need this function anymore.
100
101         This function used to check whether JavaScript was enabled for the
102         top-level frame, but that check doesn't make any sense (like much of
103         the old user gesture code).
104
105         * WebCore.exp.in:
106         * html/HTMLMediaElement.cpp:
107         (WebCore::HTMLMediaElement::processingUserGesture):
108         * loader/FrameLoader.cpp:
109         (WebCore::FrameLoader::submitForm):
110         * loader/FrameLoader.h:
111         * rendering/RenderFileUploadControl.cpp:
112         (WebCore::RenderFileUploadControl::click):
113
114 2011-06-12  Adam Barth  <abarth@webkit.org>
115
116         Fix fullscreen/full-screen-iframe-legacy.html.
117
118         * html/HTMLVideoElement.idl:
119
120 2011-06-12  Adam Barth  <abarth@webkit.org>
121
122         Reviewed by Alexey Proskuryakov.
123
124         Remove trival "forward-to-client" member functions from FrameLoader
125         https://bugs.webkit.org/show_bug.cgi?id=62510
126
127         Originally, FrameLoader was supposed to abstract FrameLoaderClient, but
128         we lost that battle log ago.  Nowadays, it's easier if folks just call
129         into FrameLoaderClient directly.  Many of these functions have direct
130         callers already anyway.
131
132         * WebCore.exp.in:
133         * html/HTMLMediaElement.cpp:
134         (WebCore::HTMLMediaElement::createRenderer):
135         (WebCore::HTMLMediaElement::attach):
136         * loader/DocumentLoader.cpp:
137         (WebCore::DocumentLoader::setRequest):
138         (WebCore::DocumentLoader::setMainDocumentError):
139         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
140         * loader/FrameLoader.cpp:
141         (WebCore::FrameLoader::didFirstLayout):
142         * loader/FrameLoader.h:
143             - cancelledError is slightly more delicate, so I'm going to move it in
144               a separate patch.
145         * loader/MainResourceLoader.cpp:
146         (WebCore::MainResourceLoader::interruptForPolicyChangeError):
147         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
148         (WebCore::MainResourceLoader::continueAfterContentPolicy):
149         (WebCore::MainResourceLoader::handleEmptyLoad):
150         (WebCore::MainResourceLoader::loadNow):
151         * loader/MainResourceLoader.h:
152         * loader/NetscapePlugInStreamLoader.cpp:
153         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
154         * loader/PingLoader.cpp:
155         (WebCore::PingLoader::PingLoader):
156         * loader/PolicyChecker.cpp:
157         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
158         * loader/ResourceLoader.cpp:
159         (WebCore::ResourceLoader::blockedError):
160         (WebCore::ResourceLoader::cannotShowURLError):
161         (WebCore::ResourceLoader::shouldUseCredentialStorage):
162         (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace):
163         * page/ContextMenuController.cpp:
164         (WebCore::ContextMenuController::populate):
165
166 2011-06-12  Dan Bernstein  <mitz@apple.com>
167
168         Reviewed by Darin Adler.
169
170         <rdar://problem/9513180> REGRESSION (r84166): recalcStyle for display:inline to display:none transition has complexity N^2 where N is the number of child Text nodes
171         https://bugs.webkit.org/show_bug.cgi?id=61557
172
173         Replaced the fix for bug 58500 with a refined version.
174
175         * rendering/RenderText.cpp:
176         (WebCore::RenderText::clippedOverflowRectForRepaint): Use the containing block unless it is
177         across a layer boundary.
178
179 2011-06-12  Adam Barth  <abarth@webkit.org>
180
181         Reviewed by Andreas Kling.
182
183         Minor user-gesture related cleanup
184         https://bugs.webkit.org/show_bug.cgi?id=62511
185
186         In reading the user gesture code, I noticed that these lines of code
187         should be deleted because they don't do anything.
188
189         * bindings/v8/NPV8Object.cpp:
190         * html/HTMLAnchorElement.cpp:
191         * html/HTMLVideoElement.idl:
192
193 2011-06-11  Nikolas Zimmermann  <nzimmermann@rim.com>
194
195         Reviewed by Dirk Schulze.
196
197         Add TextRun charactersLength member
198         https://bugs.webkit.org/show_bug.cgi?id=62501
199
200         Preparation patch 2: Propagate the maximum length of the characters buffer the TextRun operates on, even when we're only measuring a substring.
201         For example: In RenderText when we're measuring 'len' characters starting from "text()->characters() + start", there's a portion
202         of "textLength() - start" characters that we're not processing. In order to support ligatures when integrating SVG Fonts
203         within the GlyphPage concept, we need this extra information, to lookup ligatures even when single chars are measured.
204         If a font defines an eg "ffl" ligature, and we're measuring the "f" of "ffl", it shall looukp the "ffl" glyph from the font,
205         and skip the next two characters (this will be done in WidthIterator).
206
207         This doesn't yet affect any test, the new SVG Fonts code is not merged yet, this is the preparaion patch 2.
208
209         * platform/graphics/Font.h: Add yet-unused "const TextRun&" parameter to drawGlyphBuffer/drawEmphasisMarks.
210         * platform/graphics/FontFastPath.cpp: Ditto. This parameter will be used to looukp the TextRunRenderingContext in a follow-up patch.
211         (WebCore::Font::drawSimpleText):
212         (WebCore::Font::drawEmphasisMarksForSimpleText):
213         (WebCore::Font::drawGlyphBuffer):
214         (WebCore::Font::drawEmphasisMarks):
215         * platform/graphics/TextRun.h: Add "int m_charactersLength", similar to "int m_len". It denotes the maximum length of the characters buffer
216                                        that we're holding. It defaults to the passed "len" value, but is overriden by explicit setCharactersLength calls.
217         (WebCore::TextRun::TextRun):
218         (WebCore::TextRun::charactersLength):
219         (WebCore::TextRun::setCharactersLength):
220         * platform/graphics/mac/FontComplexTextMac.cpp: Pass TextRun do drawGlyphBuffer/drawEmphasisMarks.
221         (WebCore::Font::drawComplexText):
222         (WebCore::Font::drawEmphasisMarksForComplexText):
223         * platform/graphics/win/FontWin.cpp: Ditto.
224         (WebCore::Font::drawComplexText):
225         (WebCore::Font::drawEmphasisMarksForComplexText):
226         * platform/graphics/wx/FontWx.cpp: Ditto.
227         (WebCore::Font::drawComplexText):
228         (WebCore::Font::drawEmphasisMarksForComplexText):
229         * rendering/InlineTextBox.cpp: Call setCharactersLength on the processed TextRun.
230         (WebCore::InlineTextBox::constructTextRun):
231         * rendering/RenderBlockLineLayout.cpp: Ditto.
232         (WebCore::textWidth):
233         (WebCore::tryHyphenating):
234         * rendering/RenderText.cpp: Ditto.
235         (WebCore::RenderText::widthFromCache):
236         (WebCore::RenderText::computePreferredLogicalWidths):
237         (WebCore::RenderText::width):
238         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
239         (WebCore::SVGInlineTextBox::constructTextRun):
240
241 2011-06-12  Robert Hogan  <robert@webkit.org>
242
243         Reviewed by Andreas Kling.
244
245         [Qt] Fix methods.html and methods-lower-case.html
246         https://bugs.webkit.org/show_bug.cgi?id=62221
247
248         * platform/network/qt/QNetworkReplyHandler.cpp:
249         (WebCore::QNetworkReplyHandler::clearContentsHeaders): Refactor code from sendNetworkRequest
250         (WebCore::QNetworkReplyHandler::getIODevice): ditto
251         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
252             - Remove ContentType and ContentLength headers from GET, DELETE and HEAD requests since
253               we do not send data with any of these requests.
254             - If a custom HTTP operation contains data, send it.
255         * platform/network/qt/QNetworkReplyHandler.h:
256
257 2011-06-11  Michael Saboff  <msaboff@apple.com>
258
259         Reviewed by James Robinson.
260
261         REGRESSION(88260): 10-50% performance regression across many page cyclers
262         https://bugs.webkit.org/show_bug.cgi?id=62349
263
264         Made CHROMIUM platform specific values for cMaxInactiveFontData and
265         cTargetInactiveFontData to mitigate the current performance issue on Chromium
266         page cycler tests.  Made the chromium value for cMaxInactiveFontData 250 based
267         on recommendation from James Robinson.  Changed cTargetInactiveFontData to 200
268         so that 50 inactive fonts will be cleaned up at a time.
269
270         Change made to address existing Chromium performance test regression.
271
272         * platform/graphics/FontCache.cpp:
273
274 2011-06-11  Adam Barth  <abarth@webkit.org>
275
276         Reviewed by Darin Adler.
277
278         Remove unnecessary strlen from DocumentWriter
279         https://bugs.webkit.org/show_bug.cgi?id=62505
280
281         This ugly piece of code appears not to be needed.  Rejoice.
282
283         * WebCore.exp.in:
284         * loader/DocumentLoader.cpp:
285         (WebCore::DocumentLoader::commitData):
286         * loader/DocumentLoader.h:
287         * loader/DocumentWriter.cpp:
288         (WebCore::DocumentWriter::addData):
289         * loader/DocumentWriter.h:
290
291 2011-06-11  Adam Barth  <abarth@webkit.org>
292
293         Reviewed by Darin Adler.
294
295         DocumentParser::appendBytes shouldn't have a "flush" boolean parameter
296         https://bugs.webkit.org/show_bug.cgi?id=62499
297
298         This patch removes the "flush" Boolean parameter from
299         DocumentParser::appendBytes in favor of a new flush method.  This makes
300         some code in DocumentWriter look less ridiculous.
301
302         There's still lots of on contorting to do here, but it's a start.
303
304         * dom/DecodedDataDocumentParser.cpp:
305         (WebCore::DecodedDataDocumentParser::appendBytes):
306         (WebCore::DecodedDataDocumentParser::flush):
307         * dom/DecodedDataDocumentParser.h:
308         * dom/DocumentParser.h:
309         * dom/RawDataDocumentParser.h:
310         (WebCore::RawDataDocumentParser::flush):
311         * html/ImageDocument.cpp:
312         (WebCore::ImageDocumentParser::appendBytes):
313         * html/MediaDocument.cpp:
314         (WebCore::MediaDocumentParser::appendBytes):
315         * html/PluginDocument.cpp:
316         (WebCore::PluginDocumentParser::appendBytes):
317         * loader/DocumentWriter.cpp:
318         (WebCore::DocumentWriter::reportDataReceived):
319         (WebCore::DocumentWriter::addData):
320         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
321         * loader/DocumentWriter.h:
322         * loader/SinkDocument.cpp:
323         (WebCore::SinkDocumentParser::appendBytes):
324
325 2011-06-11  Dimitri Glazkov  <dglazkov@chromium.org>
326
327         Unreviewed, rolling out r88569.
328         http://trac.webkit.org/changeset/88569
329         https://bugs.webkit.org/show_bug.cgi?id=62398
330
331         Broke Chromium browser test:
332         IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
333
334         * storage/IDBFactory.idl:
335
336 2011-06-11  Dimitri Glazkov  <dglazkov@chromium.org>
337
338         Unreviewed, rolling out r88565.
339         http://trac.webkit.org/changeset/88565
340         https://bugs.webkit.org/show_bug.cgi?id=62401
341
342         Broke Chromium browser test:
343         IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
344
345         * storage/IDBDatabase.cpp:
346         (WebCore::IDBDatabase::setVersion):
347         * storage/IDBDatabase.idl:
348
349 2011-06-10  Abhishek Arya  <inferno@chromium.org>
350
351         Reviewed by Simon Fraser.
352
353         Null parent element sheet pointers in CSSMutableStyleDeclaration consumers
354         when removed from document, set them when reinserted into document.
355         https://bugs.webkit.org/show_bug.cgi?id=62230
356
357         When a HTMLBodyElement, StyledElement are removed from document,
358         we didn't clear out the parent pointers from their link, style declarations.
359         These parent pointers pointed to the document's element sheet which will
360         get removed when document is getting destroyed. It does make sense to
361         clear out parent pointers when we are getting removed from document and
362         readd them when we get inserted again.
363
364         Tests: fast/dom/body-link-decl-parent-crash.html
365                fast/dom/styled-inline-style-decl-parent-crash.html
366
367         * dom/StyledElement.cpp:
368         (WebCore::StyledElement::insertedIntoDocument):
369         (WebCore::StyledElement::removedFromDocument):
370         * dom/StyledElement.h:
371         * html/HTMLBodyElement.cpp:
372         (WebCore::HTMLBodyElement::parseMappedAttribute):
373         (WebCore::HTMLBodyElement::insertedIntoDocument):
374         (WebCore::HTMLBodyElement::removedFromDocument):
375         (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
376         * html/HTMLBodyElement.h:
377
378 2011-06-10  Adam Barth  <abarth@webkit.org>
379
380         Remove bogus ASSERTs.  These ASSERTs used to be correct before I
381         changed DocumentWriter to put the onus for ignoring empty writes onto
382         the parser.
383
384         This patch should stop these test from triggering ASSERTs:
385
386         plugins/plugin-document-back-forward.html
387         plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
388         userscripts/user-script-plugin-document.html
389
390         * html/MediaDocument.cpp:
391         (WebCore::MediaDocumentParser::appendBytes):
392         * html/PluginDocument.cpp:
393         (WebCore::PluginDocumentParser::appendBytes):
394
395 2011-06-09  Jer Noble  <jer.noble@apple.com>
396
397         Reviewed by Darin Adler.
398
399         REGRESSION: End of apple.com video in full-screen mode leads to unusable page.
400         https://bugs.webkit.org/show_bug.cgi?id=62411
401         
402         Test: fullscreen/full-screen-remove-ancestor-after.html
403
404         The placeholder for RenderFullScreen was being created as a non-anonymous object, which led
405         to the document's renderer being set to 0 when the placeholder was removed due to its parent
406         being removed. Setting the placeholder to be anonymous, however, means that it will be
407         coalesced with sibling anonymous blocks, so added the RenderFullScreenPlaceholder to the
408         list of anonymous objects that are not considered anonymous blocks, to avoid the placeholder
409         being so coalesced. To do so, made the placeholder object a true subclass, and add and
410         override its destroy() function to notify the RenderFullScreen object that it has been
411         destroyed.
412
413         * rendering/RenderFullScreen.cpp:
414         (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder): Added.
415         (RenderFullScreenPlaceholder::~RenderFullScreenPlaceholder): Added.
416         (RenderFullScreenPlaceholder::isRenderFullScreenPlaceholder): Added.
417         (RenderFullScreenPlaceholder::destroy): Notify the owner renderer that its placeholder
418             has been destroyed.
419         (RenderFullScreen::destroy): Assert that the m_placeholder ivar is 0 after destroying it.
420         (RenderFullScreen::setPlaceholder): Added.
421         (RenderFullScreen::createPlaceholder): Do not make the placeholder anonymous.
422         * rendering/RenderFullScreen.h:
423         * rendering/RenderObject.h:
424         (WebCore::RenderObject::isRenderFullScreenPlaceholder): Added.
425         (WebCore::RenderObject::isAnonymousBlock): Added the placeholder class to the list of
426             objects which are not anonymous blocks.
427
428 2011-06-10  Gavin Barraclough  <barraclough@apple.com>
429
430         Reviewed by Sam Weinig.
431
432         https://bugs.webkit.org/show_bug.cgi?id=16777
433         Eliminate JSC::NaN and JSC::Inf
434
435         There's no good reason for -K-J-S- JSC to have its own NAN and infinity constants.
436         The ones in std::numeric_limits are perfectly good.
437         Remove JSC::Inf, JSC::NaN, switch some cases of (isnan || isinf) to !isfinite.
438
439         * bindings/js/JSDataViewCustom.cpp:
440         (WebCore::getDataViewMember):
441
442 2011-06-10  James Simonsen  <simonjam@chromium.org>
443
444         Reviewed by Eric Seidel.
445
446         <script> inside <svg> should be executed
447         https://bugs.webkit.org/show_bug.cgi?id=62412
448
449         Tests: svg/in-html/script-external.html
450                svg/in-html/script-nested.html
451                svg/in-html/script-write.html
452                svg/in-html/script.html
453
454         * html/parser/HTMLTreeBuilder.cpp:
455         (WebCore::HTMLTreeBuilder::processEndTag):
456
457 2011-06-10  Adam Barth  <abarth@webkit.org>
458
459         Reviewed by Darin Adler.
460
461         Script-created parsers should ignore data from the network
462         https://bugs.webkit.org/show_bug.cgi?id=62336
463
464         If the network packet boundaries line up just right, we can end up
465         feeding network data to a parser created by document.write (or
466         document.open).  That's incorrect.
467
468         This patch causes DocumentWriter to grab hold of the original parser
469         and direct all input to that parser.
470
471         Test: fast/parser/document-write-ignores-later-network-bytes.html
472
473         * dom/Document.cpp:
474         (WebCore::Document::explicitClose):
475         * loader/DocumentWriter.cpp:
476         (WebCore::DocumentWriter::begin):
477         (WebCore::DocumentWriter::addData):
478         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
479         (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
480         * loader/DocumentWriter.h:
481
482 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
483
484         Reviewed by Dan Bernstein.
485
486         Keep overlap testing logic until real 3d transforms are being used
487         https://bugs.webkit.org/show_bug.cgi?id=49857
488         
489         For pages that use the translateZ(0) hack to force compositing layers, it's
490         advantageous to keep overlap testing, to avoid putting too many other
491         elements into layers.
492         
493         Only turn off overlap testing if non-identity 3D transforms are used.
494
495         Tests: compositing/layer-creation/rotate3d-overlap.html
496                compositing/layer-creation/translatez-overlap.html
497
498         * rendering/RenderLayerCompositor.cpp:
499         (WebCore::RenderLayerCompositor::updateBacking):
500         (WebCore::RenderLayerCompositor::hasNonIdentity3DTransform):
501         * rendering/RenderLayerCompositor.h:
502
503 2011-06-10  David Levin  <levin@chromium.org>
504
505         Reviewed by Dmitry Titov.
506
507         Web Worker fails to fire error event when a resource fetch fails.
508         https://bugs.webkit.org/show_bug.cgi?id=62475
509
510         Test: http/tests/workers/worker-workerScriptNotThere.html
511
512         * workers/WorkerScriptLoader.cpp:
513         (WebCore::WorkerScriptLoader::didFinishLoading): Ensure that
514         the client is notified of the error when it happens during loading.
515
516 2011-06-10  David Levin  <levin@chromium.org>
517
518         Reviewed by Dmitry Titov.
519
520         Fetching a Worker with url that isn't allowed from a file based test causes DRT to crash.
521         https://bugs.webkit.org/show_bug.cgi?id=62469
522
523         Test: fast/workers/worker-crash-with-invalid-location.html
524
525         * workers/DefaultSharedWorkerRepository.cpp:
526         (WebCore::SharedWorkerScriptLoader::load): Changed to using the RefCounted version of WorkerScriptLoader.
527         * workers/Worker.cpp:
528         (WebCore::Worker::create): Ditto.
529         * workers/Worker.h: Ditto.
530         * workers/WorkerContext.cpp:
531         (WebCore::WorkerContext::importScripts):  Ditto.
532         * workers/WorkerScriptLoader.cpp:
533         (WebCore::WorkerScriptLoader::~WorkerScriptLoader): Created to
534         allow removing some header includes in WorkerScriptLoader.h.
535         (WebCore::WorkerScriptLoader::loadAsynchronously): Fix the ordering
536         of setPendingActivity and keep WorkerScriptLoader alive during a
537         potential callback.
538         * workers/WorkerScriptLoader.h: Made this RefCounted to allow for
539         keeping it alive during callbacks. Also, removed unnecessary header
540         inclusions (and added a destructor to facilitate that).
541         (WebCore::WorkerScriptLoader::create):
542
543 2011-06-10  Alok Priyadarshi  <alokp@chromium.org>
544
545         Reviewed by James Robinson.
546
547         [chromium] Top portion of page is rendered messed up with accelerated drawing
548         https://bugs.webkit.org/show_bug.cgi?id=62484
549
550         Fixed the math in flipping the texture from bottom-up to top-down.
551         Test: compositing/repaint/shrink-layer.html (existing)
552
553         * platform/graphics/chromium/LayerTilerChromium.cpp:
554         (WebCore::LayerTilerChromium::draw):
555
556 2011-06-10  Tony Chang  <tony@chromium.org>
557
558         Reviewed by Ojan Vafai.
559
560         add a compile guard ENABLE(FLEXBOX)
561         https://bugs.webkit.org/show_bug.cgi?id=62049
562
563         * Configurations/FeatureDefines.xcconfig:
564
565 2011-06-10  Sam Weinig  <sam@webkit.org>
566
567         Roll out r88568. It is not the right fix for the problem.
568
569         * loader/appcache/ApplicationCacheHost.cpp:
570         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
571
572 2011-06-10  Mark Rowe  <mrowe@apple.com>
573
574         Reviewed by Dimitri Glazkov.
575
576         <rdar://problem/9562114> Fix DumpRenderTree build for production configuration.
577
578         Rename the built WebCoreTestSupport dylib to libWebCoreTestSupport.dylib so
579         that it can be found via the library search path rather than requiring an
580         absolute path be passed to the linker.
581
582         Install the library and its associated header file in a more appropriate location
583         for the production configuration.
584
585         * Configurations/WebCoreTestSupport.xcconfig:
586
587 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
588
589         Reviewed by Dave Hyatt.
590
591         Add a scheduleSetNeedsStyleRecalc() method to ContainerNode for use by RenderLayerCompositor
592         https://bugs.webkit.org/show_bug.cgi?id=62471
593
594         RenderLayerCompositor had some code that did a setNeedsStyleRecalc(), but
595         in a way that was safe to call during existing style recalc or layout.
596         
597         Move this code to ContainerElement so it can be called elsewhere.
598         Also add a param to the node callback so we can pass the style change type.
599
600         * dom/ContainerNode.cpp:
601         (WebCore::ContainerNode::queuePostAttachCallback):
602         (WebCore::ContainerNode::dispatchPostAttachCallbacks):
603         (WebCore::needsStyleRecalcCallback):
604         (WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
605         * dom/ContainerNode.h:
606         * dom/Node.h:
607         (WebCore::Node::scheduleSetNeedsStyleRecalc):
608         * html/HTMLFormControlElement.cpp:
609         (WebCore::focusPostAttach):
610         (WebCore::updateFromElementCallback):
611         * html/HTMLPlugInImageElement.cpp:
612         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
613         * html/HTMLPlugInImageElement.h:
614         * rendering/RenderLayerCompositor.cpp:
615         (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
616         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
617         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
618         * rendering/RenderLayerCompositor.h:
619         * svg/SVGUseElement.cpp:
620         (WebCore::updateFromElementCallback):
621
622 2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>
623
624         Reviewed by Tony Chang.
625
626         IndexedDB: indexedDB.open() name argument is required
627         https://bugs.webkit.org/show_bug.cgi?id=62398
628
629         Test: storage/indexeddb/database-name-undefined.html
630
631         * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
632
633 2011-06-10  Sam Weinig  <sam@webkit.org>
634
635         Reviewed by Beth Dakin.
636
637         Common crash in ApplicationCacheHost::isApplicationCacheEnabled
638         <rdar://problem/9328684>
639
640         * loader/appcache/ApplicationCacheHost.cpp:
641         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
642         Speculative fix for a null frame on ApplicationCacheHost's DocumentLoader.
643
644 2011-06-10  Adam Barth  <abarth@webkit.org>
645
646         Reviewed by Eric Seidel.
647
648         Remove Document::finishParsing
649         https://bugs.webkit.org/show_bug.cgi?id=62474
650
651         This function appears to exist only to confuse and befuddle us.  This
652         patch prepares for DocumentWriter to grab hold of the parser.
653
654         This patch removes one of the print statements from
655         INSTRUMENT_LAYOUT_SCHEDULING, but I'm not sure
656         INSTRUMENT_LAYOUT_SCHEDULING works anymore anyway.
657
658         * dom/Document.cpp:
659         * dom/Document.h:
660         * dom/XMLDocumentParser.cpp:
661         (WebCore::XMLDocumentParser::finish):
662         * html/parser/HTMLDocumentParser.cpp:
663         (WebCore::HTMLDocumentParser::finish):
664         * loader/DocumentWriter.cpp:
665         (WebCore::DocumentWriter::addData):
666         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
667         * loader/FrameLoader.cpp:
668         (WebCore::FrameLoader::stop):
669
670 2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>
671
672         Reviewed by Tony Chang.
673
674         IndexedDB: setVersion() version argument is required
675         https://bugs.webkit.org/show_bug.cgi?id=62401
676
677         Test: storage/indexeddb/setVersion-undefined.html
678
679         * storage/IDBDatabase.cpp:
680         (WebCore::IDBDatabase::setVersion): check for null version
681         * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
682
683 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
684
685         Reviewed by Dan Bernstein.
686
687         Null-check the layer owner again when painting layers
688         https://bugs.webkit.org/show_bug.cgi?id=62473
689
690         Speculative fix for a crash that occurs when the layer's owner
691         gets destroyed during painting.
692
693         * platform/graphics/mac/WebLayer.mm:
694         (drawLayerContents):
695
696 2011-06-08  Robert Hogan  <robert@webkit.org>
697
698         Reviewed by Andreas Kling.
699
700         [Qt] Lighten the --no-svg build a little
701         https://bugs.webkit.org/show_bug.cgi?id=62314
702
703         Only generate source from SVG*.idl if the build is svg-enabled.
704
705         * CodeGenerators.pri:
706
707 2011-06-10  Nikolas Zimmermann  <nzimmermann@rim.com>
708
709         Reviewed by Rob Buis.
710
711         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
712         https://bugs.webkit.org/show_bug.cgi?id=59085
713
714         Add glyph table to SVGFontElement mapping between SVGGlyph <-> Glyph
715         https://bugs.webkit.org/show_bug.cgi?id=62441
716
717         Preparation patch 1: Introduce the internal glyph table in SVGGlyphMap that will be used to identify each
718         SVGGlyph identifier with a Glyph (which is just an ushort). It will be used by follow-up patches.
719
720         Doesn't affect any test so far.
721
722         * platform/graphics/SVGGlyph.h:
723         (WebCore::SVGGlyph::SVGGlyph):
724         (WebCore::SVGGlyph::operator==):
725         * rendering/svg/SVGTextRunRenderingContext.cpp:
726         (WebCore::SVGTextRunWalker::walk):
727         * svg/SVGFontData.cpp:
728         (WebCore::SVGFontData::initializeFontData):
729         * svg/SVGFontElement.cpp:
730         (WebCore::SVGFontElement::SVGFontElement):
731         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
732         (WebCore::SVGFontElement::ensureGlyphCache):
733         (WebCore::kerningForPairOfStringsAndGlyphs):
734         (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
735         (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
736         (WebCore::SVGFontElement::collectGlyphsForString):
737         (WebCore::SVGFontElement::collectGlyphsForGlyphName):
738         (WebCore::SVGFontElement::svgGlyphForGlyph):
739         (WebCore::SVGFontElement::missingGlyph):
740         * svg/SVGFontElement.h:
741         (WebCore::SVGKerningPair::SVGKerningPair):
742         * svg/SVGGlyphMap.h:
743         (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
744         (WebCore::SVGGlyphMap::addGlyphByName):
745         (WebCore::SVGGlyphMap::appendToGlyphTable):
746         (WebCore::SVGGlyphMap::collectGlyphsForString):
747         (WebCore::SVGGlyphMap::clear):
748         (WebCore::SVGGlyphMap::svgGlyphForGlyph):
749         (WebCore::SVGGlyphMap::glyphIdentifierForGlyphName):
750
751 2011-06-10  Emil A Eklund  <eae@chromium.org>
752
753         Reviewed by Eric Seidel.
754
755         Regression r85573: Blank pages appear at the end of some wikipedia documents.
756         https://bugs.webkit.org/show_bug.cgi?id=62343
757
758         Fix regression caused by r85573. Cached document size not updated after layout.
759
760         Test: printing/page-count-relayout-shrink.html
761
762         * page/FrameView.cpp:
763         (WebCore::FrameView::forceLayoutForPagination):
764
765 2011-06-10  Rob Buis  <rbuis@rim.com>
766
767         Reviewed by Nikolas Zimmermann.
768
769         amation event handling broken: focusin
770         https://bugs.webkit.org/show_bug.cgi?id=12894
771
772         focusin, focusout, activate not implemented in SVG
773         https://bugs.webkit.org/show_bug.cgi?id=40545
774
775         Make elements that should support GraphicalEventAttribute handle focussing, since focusin, focusout is part of that:
776
777         http://www.w3.org/TR/SVG11/intro.html#TermGraphicalEventAttribute
778
779         Match Opera behaviour ; elements that support GraphicalEventAttribute can receive visual mouse focus when having either a focusin or focusout event handler. Elements that support GraphicalEventAttribute can receive visual keyboard focus when having either a focusin or focusout event handler. Keyboard focus does not advance to SVG elements that are not focusable at the time.
780
781         Tests: svg/custom/focus-event-handling-keyboard.xhtml
782                svg/custom/focus-event-handling.xhtml
783
784         * rendering/svg/SVGRenderSupport.cpp:
785         (WebCore::SVGRenderSupport::computeRectForRepaint):
786         * svg/SVGCircleElement.h:
787         (WebCore::SVGCircleElement::supportsFocus):
788         * svg/SVGEllipseElement.h:
789         (WebCore::SVGEllipseElement::supportsFocus):
790         * svg/SVGGElement.h:
791         (WebCore::SVGGElement::supportsFocus):
792         * svg/SVGImageElement.h:
793         (WebCore::SVGImageElement::supportsFocus):
794         * svg/SVGLineElement.h:
795         (WebCore::SVGLineElement::supportsFocus):
796         * svg/SVGPathElement.h:
797         (WebCore::SVGPathElement::supportsFocus):
798         * svg/SVGPolyElement.h:
799         (WebCore::SVGPolyElement::supportsFocus):
800         * svg/SVGRectElement.h:
801         (WebCore::SVGRectElement::supportsFocus):
802         * svg/SVGSVGElement.h:
803         (WebCore::SVGSVGElement::supportsFocus):
804         * svg/SVGStyledElement.cpp:
805         (WebCore::SVGStyledElement::isMouseFocusable):
806         (WebCore::SVGStyledElement::isKeyboardFocusable):
807         * svg/SVGStyledElement.h:
808         * svg/SVGSwitchElement.h:
809         (WebCore::SVGSwitchElement::supportsFocus):
810         * svg/SVGSymbolElement.h:
811         (WebCore::SVGSymbolElement::supportsFocus):
812         * svg/SVGTextElement.h:
813         (WebCore::SVGTextElement::supportsFocus):
814         * svg/SVGUseElement.h:
815         (WebCore::SVGUseElement::supportsFocus):
816
817 2011-06-10  Luke Macpherson   <macpherson@chromium.org>
818
819         Reviewed by Eric Seidel.
820
821         Clean up CSSPrimitiveValue::computeLength*
822         https://bugs.webkit.org/show_bug.cgi?id=61612
823
824         No new tests as no functionality changed.
825
826         * css/CSSGradientValue.cpp:
827         Use new computeLength functions.
828         * css/CSSPrimitiveValue.cpp:
829         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
830         Reduce to a single function using default parameter values.
831         (WebCore::CSSPrimitiveValue::computeLength):
832         Redefine existing functions with separate names as a single function using templated function specialization.
833         * css/CSSPrimitiveValue.h:
834         Prototypes for computeLengthIntForLength and computeLength.
835         * css/CSSStyleApplyProperty.cpp:
836         Use new computeLength functions.
837         * css/CSSStyleSelector.cpp:
838         Use new computeLength functions.
839         * css/MediaQueryEvaluator.cpp:
840         Use new computeLength functions.
841         * css/SVGCSSStyleSelector.cpp:
842         Use new computeLength functions.
843
844 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
845
846         Reviewed by Beth Dakin.
847
848         Add utility to RenderLayer to determine if the layer is scrollable
849         https://bugs.webkit.org/show_bug.cgi?id=62467
850
851         New method that returns true if either scrollbar is present and enabled.
852         Not called anywhere yet.
853
854         * rendering/RenderLayer.cpp:
855         (WebCore::RenderLayer::allowsScrolling):
856         * rendering/RenderLayer.h:
857
858 2011-06-10  Dimitri Glazkov  <dglazkov@chromium.org>
859
860         Reviewed by Tony Chang.
861
862         REGRESSION (r88332): prototype-inheritance-2 ASSERTS attempting to enumerate spellCheckRanges
863         https://bugs.webkit.org/show_bug.cgi?id=62460
864
865         Test: fast/dom/prototype-inheritance-2.html
866
867         * dom/DocumentMarkerController.cpp:
868         (WebCore::DocumentMarkerController::userSpellingMarkersForNode): Added an extra 0-check.
869
870 2011-06-10  James Simonsen  <simonjam@chromium.org>
871
872         Reviewed by Tony Gentilcore.
873
874         Don't execute scripts in shadow SVG.
875         https://bugs.webkit.org/show_bug.cgi?id=62225
876
877         Test: svg/dom/use-style-recalc-script-execute-crash.html
878
879         * dom/ScriptElement.cpp:
880         (WebCore::ScriptElement::prepareScript):
881
882 2011-06-10  Konstantin Tokarev  <ktokarev@smartlabs.tv>
883
884         Reviewed by Joseph Pecoraro.
885
886         Fixed build with enabled workers and disabled inspector
887         https://bugs.webkit.org/show_bug.cgi?id=62461
888
889         * inspector/InspectorWorkerAgent.cpp: Added inspector guard
890
891 2011-06-10  Darin Adler  <darin@apple.com>
892
893         Reviewed by Eric Carlson.
894
895         REGRESSION: Fullscreen video controller can't be dragged
896         https://bugs.webkit.org/show_bug.cgi?id=62462
897
898         No regression test because we don't have machinery for testing the fullscreen
899         mode. We may find a way to add this in the future.
900
901         * html/shadow/MediaControlElements.cpp:
902         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
903         booleans related to dragging.
904         (WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
905         is allowed and a drag isn't already in progress.
906         (WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
907         dragging is already in progress.
908         (WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
909         done during the dragging process.
910         (WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
911         using explicit top/left.
912         (WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
913         done by setPosition.
914         (WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
915         continueDrag, and endDrag in response to mouse events.
916         (WebCore::MediaControlPanelElement::setCanBeDragged): Added.
917         * html/shadow/MediaControlElements.h: Added new function and data members
918         as mentioned above.
919
920         * html/shadow/MediaControlRootElement.cpp:
921         (WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
922         so you can drag the panel while in fullscreen.
923         (WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
924         so you can't drag the panel while not in fullscreen. Also call resetPosition so
925         position changes from dragging don't affect the panel in other contexts.
926
927 2011-06-10  Darin Adler  <darin@apple.com>
928
929         Reviewed by Eric Carlson.
930
931         REGRESSION: Full screen video HUD is positioned too low for standalone video documents
932         https://bugs.webkit.org/show_bug.cgi?id=62463
933
934         No test because we don't currently have machinery for testing fullscreen.
935
936         * css/fullscreen.css: Removed rule that said bottom: 0px for the control panel
937         for full page media in full screen mode. This is not needed because the control
938         panel for full screen mode already has style rules to set its vertical position.
939         (:-webkit-full-screen-ancestor:not(iframe)): Fixed typo where it said
940         -webkit-tranform. This will fix a potential problem where fullscreen would
941         malfunction on a page that had a media element inside a transform.
942
943 2011-06-10  Sergio Villar Senin  <svillar@igalia.com>
944
945         Reviewed by Gustavo Noronha Silva.
946
947         [GTK] Add support for non-ASCII filenames in Content-Disposition header
948         https://bugs.webkit.org/show_bug.cgi?id=62454
949
950         Try latin1 as fallback for header parameter values as some servers
951         do not follow RFC 2045 for example with filename parameter in
952         Content-Disposition.
953
954         No new tests required as no functionality changed.
955
956         * platform/network/soup/ResourceResponseSoup.cpp:
957         (WebCore::ResourceResponse::updateFromSoupMessage):
958
959 2011-06-10  No'am Rosenthal  <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
960
961         Reviewed by Kenneth Rohde Christiansen.
962
963         Add layer factory to GraphicsLayer for creating non-default layer type.
964         https://bugs.webkit.org/show_bug.cgi?id=61925
965
966         Added a static factory protected member to GraphicsLayer, which should be accessed from
967         a port-specific implementation of GraphicsLayer::create. For now this is enabled for Qt only.
968
969         This is needed for accelerated compositing across processes in WebKit2, since WebCore
970         doesn't know in compile time whether it's in WebKit or WebKit2, which makes having two
971         different implementations of GraphicsLayer coexist impossible without some runtime
972         factory that can be overridden by the web process.
973
974         Note that the use of the factory would be optional, and the port-specific GraphicsLayer::create
975         would have to explicitly call it, in order to be unintrusive with current implementations.
976
977         No new functionality, so no new tests.
978
979         * platform/graphics/GraphicsLayer.cpp:
980         (WebCore::GraphicsLayer::setGraphicsLayerFactory):
981         * platform/graphics/GraphicsLayer.h:
982
983 2011-06-10  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
984
985         Reviewed by Kenneth Rohde Christiansen.
986
987         [CMAKE] Add generic support for building with WebGL
988         https://bugs.webkit.org/show_bug.cgi?id=62376
989
990         Set new THIRDPARTY_DIR variable to compile sources under ThirdParty.
991
992         No change in functionality so no new tests.
993
994         * CMakeLists.txt:
995
996 2011-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
997
998         Reviewed by Andreas Kling.
999
1000         [GTK][EFL] m_imageInterpolationQuality is not initialized in PlatformContextCairo::PlatformContextCairo.
1001         https://bugs.webkit.org/show_bug.cgi?id=62435
1002
1003         No new tests required as just fixed warning.
1004
1005         * platform/graphics/cairo/PlatformContextCairo.cpp:
1006         (WebCore::PlatformContextCairo::PlatformContextCairo):
1007
1008 2011-06-11-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
1009
1010         Reviewed by Yury Semikhatsky.
1011
1012         Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
1013         https://bugs.webkit.org/show_bug.cgi?id=62377
1014
1015         * inspector/InspectorValues.cpp:
1016
1017 2011-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1018
1019         Unreviewed, rolling out r88530.
1020         http://trac.webkit.org/changeset/88530
1021         https://bugs.webkit.org/show_bug.cgi?id=62440
1022
1023         qt build was broken (Requested by loislo on #webkit).
1024
1025         * inspector/InspectorValues.cpp:
1026
1027 2011-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
1028
1029         Reviewed by Yury Semikhatsky.
1030
1031         Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
1032         https://bugs.webkit.org/show_bug.cgi?id=62377
1033
1034         * inspector/InspectorValues.cpp:
1035
1036 2011-06-09  Jer Noble  <jer.noble@apple.com>
1037
1038         Reviewed by Darin Adler.
1039
1040         REGRESSION: Vertical scroll bar appears when taking videos into full screen at jerryseinfeld.com
1041         https://bugs.webkit.org/show_bug.cgi?id=62402
1042
1043         Sites are able to override the "overflow:hidden" rule for root full-screen nodes
1044         simply by adding a "html {}" rule.  Make this rule !important, and also make it apply
1045         to root nodes who are merely ancestors of full-screen elements, to cover the case of
1046         a root node containing an <iframe> whose contents have gone full-screen.
1047
1048         * css/fullscreen.css:
1049         (:root:-webkit-full-screen-document:not(:-webkit-full-screen),
1050             :root:-webkit-full-screen-ancestor): Apply the overflow rule to root elements
1051             who are full-screen ancestors, and make them !important.
1052
1053 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
1054
1055         Reviewed by Eric Seidel.
1056
1057         Rename RenderStyle visuallyOrdered property and use an enum instead of a bool.
1058         https://bugs.webkit.org/show_bug.cgi?id=61495
1059
1060         No new tests required as no functionality changed.
1061
1062         * css/CSSPrimitiveValueMappings.h:
1063         Support cast to/from Order
1064         * css/CSSStyleSelector.cpp:
1065         (WebCore::CSSStyleSelector::styleForDocument):
1066         Convert from bool to enum type.
1067         (WebCore::CSSStyleSelector::applyProperty):
1068         Convert to macro that uses the cast defined in CSSPrimitiveValueMappings.
1069         * dom/Document.cpp:
1070         (WebCore::Document::setVisuallyOrdered):
1071         Change call to RenderStyle::setRTLOrdering using enum parameter.
1072         * rendering/style/RenderStyle.h:
1073         rename visuallyOrdered proerties rtlOrdering and use appropriate enum types.
1074         * rendering/style/RenderStyleConstants.h:
1075         Define enum type.
1076
1077 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
1078
1079         Reviewed by Eric Seidel.
1080
1081         Implement CSSPropertyOutlineStyle handler in CSSStyleApplyProperty
1082         https://bugs.webkit.org/show_bug.cgi?id=61601
1083
1084         No new tests. No new functionality added / covered by existing tests.
1085
1086         * css/CSSPrimitiveValueMappings.h:
1087         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
1088         Support CSSValueAuto as required by outline-style property.
1089         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
1090         Add cast to new OutlineIsAuto enum.
1091         * css/CSSStyleApplyProperty.cpp:
1092         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1093         Initialize handler for CSSPropertyOutlineStyle.
1094         * css/CSSStyleSelector.cpp:
1095         (WebCore::CSSStyleSelector::applyProperty):
1096         Remove old handler for CSSPropertyOutlineStyle.
1097         * rendering/style/OutlineValue.h:
1098         Use new OutlineIsAuto enum instead of bool.
1099         * rendering/style/RenderStyle.h:
1100         Split existing two-parameter setter setOutlineStyle into separate setters for style and auto properties.
1101         Use new OutlineIsAuto enum type.
1102         * rendering/style/RenderStyleConstants.h:
1103         Define new enum OutlineIsAuto.
1104
1105 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
1106
1107         Reviewed by Eric Seidel.
1108
1109         Code cleanup - add wrappers for function pointer dereferences to improve readability in ApplyPropertyDefaultBase and derived classes.
1110         https://bugs.webkit.org/show_bug.cgi?id=62418
1111
1112         No new tests / cleanup only.
1113
1114         * css/CSSStyleApplyProperty.cpp:
1115         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
1116         Use new wrapper functions.
1117         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
1118         Use new wrapper functions.
1119         (WebCore::ApplyPropertyDefaultBase::setValue):
1120         Wrapper for calling m_setter function pointer.
1121         (WebCore::ApplyPropertyDefaultBase::value):
1122         Wrapper for calling m_getter function pointer.
1123         (WebCore::ApplyPropertyDefaultBase::initial):
1124         Wrapper for calling m_initial function pointer.
1125         (WebCore::ApplyPropertyDefault::applyValue):
1126         Use new setValue function.
1127         (WebCore::ApplyPropertyLength::applyValue):
1128         Use new setValue function.
1129         (WebCore::ApplyPropertyWidth::applyValue):
1130         Use new setValue function.
1131
1132 2011-06-09  Hyowon Kim  <hw1008.kim@samsung.com>
1133
1134         Reviewed by Antonio Gomes.
1135
1136         [EFL] Make accelerated compositing build in Webkit-EFL
1137         https://bugs.webkit.org/show_bug.cgi?id=62361
1138
1139         Add a new class, GraphicsLayerEfl - not yet implemented.
1140         Add ACCELERATED_COMPOSITING related files to CMakeLists.
1141
1142         * CMakeLists.txt:
1143         * CMakeListsEfl.txt:
1144         * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
1145         (WebCore::GraphicsLayer::create):
1146         (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
1147         (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
1148         (WebCore::GraphicsLayerEfl::setNeedsDisplay):
1149         (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
1150         * platform/graphics/efl/GraphicsLayerEfl.h: Added.
1151
1152 2011-06-09  Jian Li  <jianli@chromium.org>
1153
1154         Reviewed by David Levin.
1155
1156         Calling WebKitBlobBuilder.append with null argument should not crash
1157         https://bugs.webkit.org/show_bug.cgi?id=62419
1158
1159         Test: fast/files/blob-builder-crash.html
1160
1161         * fileapi/WebKitBlobBuilder.cpp:
1162         (WebCore::WebKitBlobBuilder::append):
1163
1164 2011-06-09  Jer Noble  <jer.noble@apple.com>
1165
1166         Reviewed by David Hyatt.
1167
1168         Roll out r88468, and fix bug #61911 without making Element::offset functions virtual.
1169         https://bugs.webkit.org/show_bug.cgi?id=62400
1170
1171         No new tests; covered by existing fullscreen/full-screen-video-offset.html test.
1172
1173         * rendering/RenderVideo.cpp:
1174         (WebCore::rendererPlaceholder): Added; returns the placeholder block, if it exists.
1175         (WebCore::RenderVideo::offsetLeft): Pass the offset request to the placeholder block.
1176         (WebCore::RenderVideo::offsetTop): Ditto.
1177         (WebCore::RenderVideo::offsetWidth): Ditto.
1178         (WebCore::RenderVideo::offsetHeight): Ditto.
1179         * rendering/RenderVideo.h: Added virtual overrides for the offset functions.
1180
1181 2011-06-09  James Robinson  <jamesr@chromium.org>
1182
1183         Reviewed by Kenneth Russell.
1184
1185         [chromium] Scissor rect not set for clipping layers set offscreen
1186         https://bugs.webkit.org/show_bug.cgi?id=62339
1187
1188         We set a scissorRect on each layer, but only layers with masksToBounds and their descendants should actually set
1189         a scissor.  Layers that didn't need to scissor had empty scissorRects.  Unfortunately layers with masksToBounds
1190         and their descendants that are scrolled offscreen also end up with an empty clipped scissor rect.
1191
1192         This patch sets an explicit bit on each layer that should scissor and then checks that bit instead of checking
1193         for an empty scissor rect at draw time.  RenderSurfaceChromiums have different requirements for
1194         setScissorToRect, so the old behavior is still available with a flag.  This can probably be cleaned up more.
1195
1196         Test: platform/chromium/compositing/scissor-out-of-viewport.html
1197
1198         * platform/graphics/chromium/LayerRendererChromium.cpp:
1199         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1200         (WebCore::LayerRendererChromium::drawLayer):
1201         (WebCore::LayerRendererChromium::setScissorToRect):
1202         * platform/graphics/chromium/LayerRendererChromium.h:
1203         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1204         (WebCore::RenderSurfaceChromium::draw):
1205         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1206         (WebCore::CCLayerImpl::CCLayerImpl):
1207         * platform/graphics/chromium/cc/CCLayerImpl.h:
1208         (WebCore::CCLayerImpl::setUsesLayerScissor):
1209         (WebCore::CCLayerImpl::usesLayerScissor):
1210
1211 2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1212
1213         Unreviewed, rolling out r88468.
1214         http://trac.webkit.org/changeset/88468
1215         https://bugs.webkit.org/show_bug.cgi?id=62408
1216
1217         It broke build if !ENABLE(FULLSCREEN_API) (Requested by Ossy
1218         on #webkit).
1219
1220         * dom/Element.cpp:
1221         (WebCore::adjustForLocalZoom):
1222         * dom/Element.h:
1223         * html/HTMLMediaElement.cpp:
1224         * html/HTMLMediaElement.h:
1225
1226 2011-06-09  Kenneth Russell  <kbr@google.com>
1227
1228         Reviewed by Adam Barth.
1229
1230         Disallow use of cross-domain media (images, video) in WebGL
1231         https://bugs.webkit.org/show_bug.cgi?id=62257
1232
1233         Updated WebGL implementation to track recent spec updates in this area.
1234
1235         Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
1236                http/tests/security/webgl-remote-read-remote-image-allowed.html
1237                http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
1238
1239         * html/canvas/CanvasRenderingContext.cpp:
1240         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1241         (WebCore::CanvasRenderingContext::checkOrigin):
1242         * html/canvas/CanvasRenderingContext.h:
1243         (WebCore::CanvasRenderingContext::checkOrigin):
1244         * html/canvas/WebGLRenderingContext.cpp:
1245         (WebCore::WebGLRenderingContext::readPixels):
1246         (WebCore::WebGLRenderingContext::texImage2D):
1247         (WebCore::WebGLRenderingContext::videoFrameToImage):
1248         (WebCore::WebGLRenderingContext::texSubImage2D):
1249         * html/canvas/WebGLRenderingContext.h:
1250
1251 2011-06-09  Adam Barth  <abarth@webkit.org>
1252
1253         Reviewed by Eric Seidel.
1254
1255         Add an ASSERT to HTMLTreeBuilder
1256         https://bugs.webkit.org/show_bug.cgi?id=62403
1257
1258         This ASSERT was useful in investigating a re-entrancy bug.  We should
1259         keep it.
1260
1261         * html/parser/HTMLTreeBuilder.cpp:
1262         (WebCore::HTMLTreeBuilder::processEndOfFile):
1263
1264 2011-06-09  Dan Bernstein  <mitz@apple.com>
1265
1266         Reviewed by Darin Adler.
1267
1268         Fix a regression from r88478.
1269
1270         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1271         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Add the runs
1272         in reverse order in the RTL case here, since the whole vector is reversed by collectComplexTextRuns()
1273         afterwards.
1274
1275 2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>
1276
1277         Reviewed by Antti Koivisto.
1278
1279         REGRESSION(84329): Stylesheets on some pages do not load
1280         https://bugs.webkit.org/show_bug.cgi?id=61400
1281
1282         Test: fast/css/link-disabled-attr.html
1283
1284         Fixed r84329: the change did not take into account the fact
1285         that HTMLLinkElement did already contain the disabled information
1286         and the 2 information were not linked as they should have!
1287
1288         The new logic pushes the information to the stylesheet as this
1289         is what the spec mandates and what FF is doing. Also it keeps
1290         one bit of information (that JS enabled the stylesheet) as it
1291         is needed for the recalcStyleSelector logic.
1292
1293         * dom/Document.cpp:
1294         (WebCore::Document::recalcStyleSelector): s/isDisabled/disabled.
1295
1296         * html/HTMLLinkElement.cpp:
1297         (WebCore::HTMLLinkElement::HTMLLinkElement): Removed m_disabledState,
1298         replaced by m_isEnabledViaScript.
1299         (WebCore::HTMLLinkElement::setDisabled): Updated the logic after
1300         m_disabledState removal. It also matches the spec by forwarding
1301         the disabled state to our stylesheet if we have one.
1302         (WebCore::HTMLLinkElement::parseMappedAttribute): Removed harmful
1303         handling of the disabledAttr.
1304         (WebCore::HTMLLinkElement::process): Updated after m_disabledState removal.
1305         * html/HTMLLinkElement.h:
1306         (WebCore::HTMLLinkElement::isEnabledViaScript): Ditto.
1307         (WebCore::HTMLLinkElement::isAlternate): Ditto.
1308
1309 2011-06-09  Dan Bernstein  <mitz@apple.com>
1310
1311         Reviewed by Darin Adler.
1312
1313         Simplify ComplexTextController::collectComplexTextRuns()
1314         https://bugs.webkit.org/show_bug.cgi?id=62387
1315
1316         No new test, since functionality is unchanged.
1317
1318         * platform/graphics/mac/ComplexTextController.cpp:
1319         (WebCore::ComplexTextController::collectComplexTextRuns): Always iterate characters in logical order,
1320         then reverse the run vector for RTL.
1321
1322 2011-06-09  Dimitri Glazkov  <dglazkov@chromium.org>
1323
1324         Reviewed by Kent Tamura.
1325
1326         Fold isShadowBoundary into isShadowRoot.
1327         https://bugs.webkit.org/show_bug.cgi?id=62317
1328
1329         Since there are no longer cases where Node::isShadowBoundary() != Node::isShadowRoot, we can remove this function.
1330
1331         In one case where isShadowBoundary was also tested to find ShadowContentElemnt, added a new isContentElement function.
1332
1333         Refactoring, covered by existing tests.
1334
1335         * css/CSSStyleSelector.cpp:
1336         (WebCore::isAtShadowBoundary): Changed to use isShadowRoot.
1337         * dom/Element.cpp:
1338         (WebCore::Element::isSpellCheckingEnabled): Ditto.
1339         * dom/Node.cpp:
1340         (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
1341         (WebCore::Node::nonShadowBoundaryParentNode): Ditto.
1342         * dom/Node.h:
1343         (WebCore::Node::isContentElement): Added.
1344         * dom/NodeRenderingContext.cpp:
1345         (WebCore::NodeRenderingContext::NodeRenderingContext): Changed to use isShadowRoot.
1346         * dom/Position.cpp:
1347         (WebCore::Position::Position): Ditto.
1348         * dom/ShadowContentElement.h:
1349         (WebCore::ShadowContentElement::isContentElement): Added.
1350         * dom/ShadowRoot.cpp:
1351         (WebCore::ShadowRoot::hasContentElement): Changed to use isContentElement.
1352         * editing/CompositeEditCommand.cpp:
1353         (WebCore::CompositeEditCommand::insertNodeAfter): Changed to use isShadowRoot.
1354         * editing/htmlediting.cpp:
1355         (WebCore::visiblePositionBeforeNode): Ditto.
1356         (WebCore::visiblePositionAfterNode): Ditto.
1357         * page/DragController.cpp:
1358         (WebCore::asFileInput): Ditto.
1359         * rendering/RenderTreeAsText.cpp:
1360         (WebCore::nodePosition): Ditto.
1361
1362 2011-06-09  Simon Fraser  <simon.fraser@apple.com>
1363
1364         Reviewed by Darin Adler.
1365
1366         Crashes in RenderLayerBacking::paintingGoesToWindow
1367         https://bugs.webkit.org/show_bug.cgi?id=61159
1368
1369         Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
1370         finds a repaintContainer that is not the RenderView, but that is also not
1371         composited (for unknown reasons), by checking to see if the layer is
1372         compositing before using backing(). An assertion remains to try to catch
1373         this in debug builds.
1374
1375         * rendering/RenderLayer.cpp:
1376         (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
1377
1378 2011-06-09  Julien Chaffraix  <jchaffraix@webkit.org>
1379
1380         Reviewed by Darin Adler.
1381
1382         WebCore::WebKitCSSKeyframesRuleInternal::nameAttrSetter() - crash
1383         https://bugs.webkit.org/show_bug.cgi?id=62384
1384
1385         Test: fast/css/webkit-keyframes-crash.html
1386
1387         * css/WebKitCSSKeyframesRule.cpp:
1388         (WebCore::WebKitCSSKeyframesRule::setName): stylesheet() is never garanteed
1389         to return a non-null pointer. Thus null-check here like the rest of the code.
1390
1391 2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>
1392
1393         Reviewed by David Hyatt.
1394
1395         chrome.dll!WebCore::RenderStyle::fontMetrics ReadAV@NULL (two crashes)
1396         https://bugs.webkit.org/show_bug.cgi?id=57756
1397
1398         Tests: fast/css/fontMetric-border-radius-null-crash.html
1399                fast/css/fontMetric-webkit-border-end-width-null-crash.html
1400
1401         * css/CSSStyleSelector.cpp:
1402         (WebCore::CSSStyleSelector::styleForElement): Added a call to Font::update
1403         so that our FontFallbackList is allocated if we ever need it when applying our
1404         style rules.
1405
1406 2011-06-09  Cary Clark  <caryclark@google.com>
1407
1408         Reviewed by Eric Seidel.
1409
1410         Create local CG context for Mac UI elements when Skia is renderer
1411         https://bugs.webkit.org/show_bug.cgi?id=62213
1412
1413         When building Mac Chrome using Skia as the WebKit renderer,
1414         add state to LocalCurrentGraphicsContext to convert the SkCanvas
1415         context passed by WebKit into the CGContext needed by UI
1416         rendering.
1417
1418         No new tests.  The define typo in question is
1419         not yet enabled, so this change has no functional
1420         impact.
1421
1422         * platform/mac/LocalCurrentGraphicsContext.h:
1423         Add SkiaBitLocker to create and release the converted CGContext.
1424         Add ContextContainer, a class for Skia to create and release
1425         the converted CGContext. If Skia is not used, the class has no effect.
1426
1427         * platform/mac/LocalCurrentGraphicsContext.mm:
1428         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
1429         When building with Skia, create the CGContext before passing it on.
1430
1431         (WebCore::LocalCurrentGraphicsContext::cgContext):
1432         Get the CGContext from the SkiaBitLocker, or the saved context,
1433         as appropriate.
1434
1435         * rendering/RenderThemeMac.mm:
1436         Get the CGContext from Skia conversion or native, as appropriate.
1437         Use the LocalCurrentGraphicsContext if there is one. Otherwise,
1438         add a ContextContainer to house the SkCanvas to CGContext conversion.
1439
1440         (WebCore::RenderThemeMac::paintCapsLockIndicator):
1441         (WebCore::RenderThemeMac::paintProgressBar):
1442         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1443         (WebCore::RenderThemeMac::paintSliderTrack):
1444         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
1445         (WebCore::RenderThemeMac::paintMediaMuteButton):
1446         (WebCore::RenderThemeMac::paintMediaPlayButton):
1447         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
1448         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
1449         (WebCore::RenderThemeMac::paintMediaSliderTrack):
1450         (WebCore::RenderThemeMac::paintMediaSliderThumb):
1451         (WebCore::RenderThemeMac::paintMediaRewindButton):
1452         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
1453         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
1454         (WebCore::RenderThemeMac::paintMediaControlsBackground):
1455         (WebCore::RenderThemeMac::paintMediaCurrentTime):
1456         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
1457         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer):
1458         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack):
1459         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb):
1460
1461 2011-06-02  Jer Noble  <jer.noble@apple.com>
1462
1463         Reviewed by Maciej Stachowiak.
1464
1465         REGRESSION: Page layout messed up after exiting full screen after video ends at jerryseinfeld.com
1466         https://bugs.webkit.org/show_bug.cgi?id=61911
1467         <rdar://problem/9523017>
1468
1469         Test: fullscreen/full-screen-video-offset.html
1470
1471         When the video element is taken full-screen in the new element full-screen API, return the
1472         offset width and height of the placeholder renderer which is filling in for the full-screen
1473         element.  To do so, override offsetWidth, Height, Left, and Top from Element.  These are
1474         non-virtual functions, so make them virtual.
1475
1476         * dom/Element.cpp:
1477         (WebCore::Element::adjustForLocalZoom): Made into a class-static function.
1478         * dom/Element.h: Made offset functions virtual.
1479         * html/HTMLMediaElement.cpp:
1480         (WebCore::elementPlaceholder): Added; utility function.
1481         (WebCore::HTMLMediaElement::offsetLeft): Added; virtual override of the 
1482             Element function. Will be called directly via javascript.
1483         (WebCore::HTMLMediaElement::offsetTop): Ditto.
1484         (WebCore::HTMLMediaElement::offsetWidth): Ditto.
1485         (WebCore::HTMLMediaElement::offsetHeight): Ditto.
1486         * html/HTMLMediaElement.h:
1487
1488 2011-06-09  Dave Tapuska  <dtapuska@rim.com>
1489
1490         Reviewed by Daniel Bates.
1491
1492         PingLoader destructor could dereference 0 if the Resource
1493         Handle creation failed.
1494
1495         https://bugs.webkit.org/show_bug.cgi?id=62304
1496
1497         * loader/PingLoader.cpp:
1498         (WebCore::PingLoader::~PingLoader):
1499
1500 2011-06-08  Abhishek Arya  <inferno@chromium.org>
1501
1502         Reviewed by Ryosuke Niwa.
1503
1504         Make indexForVisiblePosition and isSelectableElement static.
1505         https://bugs.webkit.org/show_bug.cgi?id=62329
1506
1507         This protects us when converting frame->selection->start() or end()
1508         to VisiblePosition which blows away the RenderTextControl from
1509         underneath (due to layout update).
1510
1511         Test: fast/forms/text-control-selection-crash.html
1512
1513         * accessibility/AccessibilityRenderObject.cpp:
1514         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1515         * rendering/RenderTextControl.cpp:
1516         (WebCore::RenderTextControl::selectionStart):
1517         (WebCore::RenderTextControl::selectionEnd):
1518         (WebCore::RenderTextControl::isSelectableElement):
1519         (WebCore::RenderTextControl::indexForVisiblePosition):
1520         * rendering/RenderTextControl.h:
1521
1522 2011-06-09  Ben Murdoch  <benm@google.com>
1523
1524         Reviewed by Yury Semikhatsky.
1525
1526         Build break in ScriptProfile.cpp and inspector disabled.
1527         https://bugs.webkit.org/show_bug.cgi?id=62373
1528
1529         No new tests - build fix only.
1530
1531         * bindings/v8/ScriptProfile.cpp: Add necessary guards.
1532         * bindings/v8/ScriptProfile.h: ditto.
1533
1534 2011-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
1535
1536         Reviewed by Yury Semikhatsky.
1537
1538         Web Inspector: Network panel preview tab does not reattach SourceFrame when switching between preview and response tabs.
1539         https://bugs.webkit.org/show_bug.cgi?id=62298
1540
1541         * inspector/front-end/ResourcePreviewView.js:
1542         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
1543         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
1544
1545 2011-06-09  Csaba Osztrogonác  <ossy@webkit.org>
1546
1547         [Qt][Mac] Speculative buildfix after r88286.
1548
1549         * platform/graphics/IntPoint.h:
1550
1551 2011-06-09  Mike Lawther  <mikelawther@chromium.org>
1552
1553         Reviewed by Kent Tamura.
1554
1555         Parsing issue with -webkit-calc
1556         https://bugs.webkit.org/show_bug.cgi?id=62276
1557
1558         Set the CSSParserString for the calc functions.
1559
1560         Test: css3/calc/regression-62276.html
1561
1562         * css/CSSParser.cpp:
1563         (WebCore::CSSParser::lex):
1564
1565 2011-06-09  Robert Hogan  <robert@webkit.org>
1566
1567         Reviewed by Andreas Kling.
1568
1569         Teach Qt about window.internals
1570         https://bugs.webkit.org/show_bug.cgi?id=61074
1571
1572         A weakness of the Qt DRT setup is that things like JSContextRef are abstracted
1573         away from the QtWebKit API so we need DumpRenderTreeSupportQt to access WebCore internals.
1574         Since the window.internals object requires JSContextRef we need to implement it in DumpRenderTreeSupportQt
1575         where we can access it. DumpRenderTreeSupportQt cannot be compiled outside Qt's WebCore and as it
1576         is our only possible route into the WebCoreTestSupport class neither can the new window.internals plumbing.
1577         Likewise we can't put the accessor in WebCoreTestSupport because it would then need to know about QWebFrame
1578         and others. The only alternative seems like a compile time guard which we would have to teach the bots about.
1579
1580         * CodeGenerators.pri:
1581         * WebCore.pri:
1582         * WebCore.pro:
1583
1584 2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>
1585
1586         Reviewed by Pavel Feldman.
1587
1588         Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
1589         https://bugs.webkit.org/show_bug.cgi?id=52791
1590
1591         No new tests. The problem can be reproduced by trying to create InspectorValue
1592         from 1.0e-100 and call ->toJSONString() on this.
1593
1594         * inspector/InspectorValues.cpp:
1595         (WebCore::InspectorBasicValue::writeJSON):
1596         Added checking the predicted buffer size and choosing exponential format, or
1597         eventually "NaN" if the buffer is too small for decimal format.
1598
1599 2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1600
1601         Unreviewed, rolling out r88387.
1602         http://trac.webkit.org/changeset/88387
1603         https://bugs.webkit.org/show_bug.cgi?id=62368
1604
1605         New tests introduced in 88387 fail on Leopard,GTK,Qt bots
1606         (Requested by Ossy on #webkit).
1607
1608         * html/canvas/CanvasRenderingContext.cpp:
1609         (WebCore::CanvasRenderingContext::checkOrigin):
1610         * html/canvas/CanvasRenderingContext.h:
1611         * html/canvas/WebGLRenderingContext.cpp:
1612         (WebCore::WebGLRenderingContext::readPixels):
1613         (WebCore::WebGLRenderingContext::texImage2D):
1614         (WebCore::WebGLRenderingContext::videoFrameToImage):
1615         (WebCore::WebGLRenderingContext::texSubImage2D):
1616         * html/canvas/WebGLRenderingContext.h:
1617
1618 2011-06-09  Adam Barth  <abarth@webkit.org>
1619
1620         Reviewed by Eric Seidel.
1621
1622         Running script from attach can remove elements from the stack of open elements
1623         https://bugs.webkit.org/show_bug.cgi?id=62160
1624
1625         When the tree build runs script synchronously, that script can remove
1626         arbitrary elements from the stack of open elements.  We need to hold a
1627         reference to |parent| in attach instead of rely upon the reference in
1628         the stack of open elements.
1629
1630         Test: fast/parser/document-write-onload-clear.html
1631
1632         * html/parser/HTMLConstructionSite.cpp:
1633         (WebCore::HTMLConstructionSite::attach):
1634
1635 2011-06-08  Luke Macpherson   <macpherson@chromium.org>
1636
1637         Reviewed by Eric Seidel.
1638
1639         Make CSSPrimitiveValue support cast to EVerticalAlign.
1640         https://bugs.webkit.org/show_bug.cgi?id=62356
1641
1642         No new tests / refactoring only.
1643
1644         * css/CSSPrimitiveValueMappings.h:
1645         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1646         (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
1647         * css/CSSStyleSelector.cpp:
1648         (WebCore::CSSStyleSelector::applyProperty):
1649
1650 2011-06-08  Justin Novosad  <junov@chromium.org>
1651
1652         Reviewed by James Robinson.
1653
1654         [Chromium] Crash when closing a tab with accelerated 2d canvas
1655         https://bugs.webkit.org/show_bug.cgi?id=62324
1656         Upon graphics context destruction, it is important to signal skia
1657         to abandon all of its resource handles.  This prevents a crash caused
1658         by skia attempting to release resources that were in the destroyed
1659         graphics context.
1660
1661         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1662         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
1663
1664 2011-06-08  James Robinson  <jamesr@chromium.org>
1665
1666         Reviewed by Darin Fisher.
1667
1668         REGRESSION(88260): 10-50% performance regression across many page cyclers
1669         https://bugs.webkit.org/show_bug.cgi?id=62349
1670
1671         r88260 fixed a font cache resource leak and lowered the inactive font cache threshold.  The latter caused a
1672         significant performance regression across many chromium page cyclers, for example
1673         http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/moz/report.html?history=50&rev=88279.
1674
1675         This restores the previous inactive font size thresholds to their previous values, but retains the font cleanup
1676         logic.
1677
1678         * platform/graphics/FontCache.cpp:
1679
1680 2011-06-08  Hayato Ito  <hayato@chromium.org>
1681
1682         Reviewed by Dimitri Glazkov.
1683
1684         A forward/backward tab traversal now visits focusable elements in a shadow root.
1685         https://bugs.webkit.org/show_bug.cgi?id=61410
1686
1687         Test: fast/dom/shadow/tab-order-iframe-and-shadow.html
1688
1689         Like a iframe element, a shadow host becomes a scope of
1690         tabindex. That means all descendant elements in a shadow root are
1691         skipped if the host node of the shadow root is not focusable.
1692
1693         The patch doesn't affect HTMLInputElement and HTMLTextAreaElement,
1694         which uses a shadow root and do extra works in their focus()
1695         method.
1696
1697         A shadow root's <content> is not considered in this patch.
1698         That will be addressed in a following patch.
1699
1700         * page/FocusController.cpp:
1701         (WebCore::shadowRoot):
1702         (WebCore::isTreeScopeOwner):
1703         (WebCore::FocusController::deepFocusableNode):
1704         (WebCore::FocusController::advanceFocusInDocumentOrder):
1705         (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
1706         (WebCore::FocusController::findFocusableNode):
1707         (WebCore::FocusController::nextFocusableNode):
1708         (WebCore::FocusController::previousFocusableNode):
1709         (WebCore::FocusController::ownerOfTreeScope):
1710         * page/FocusController.h:
1711
1712 2011-06-08  Hayato Ito  <hayato@chromium.org>
1713
1714         Reviewed by Hajime Morita.
1715
1716         Makes sure that document.activeElement won't be an element in shadow root.
1717
1718         https://bugs.webkit.org/show_bug.cgi?id=61413
1719
1720         Test: fast/dom/shadow/activeelement-should-be-shadowhost.html
1721
1722         * html/HTMLDocument.cpp:
1723         (WebCore::focusedFrameOwnerElement):
1724         (WebCore::HTMLDocument::activeElement):
1725
1726 2011-06-08  Kent Tamura  <tkent@chromium.org>
1727
1728         Reviewed by Dimitri Glazkov.
1729
1730         Allow drawing a slider thumb for any nodes.
1731         https://bugs.webkit.org/show_bug.cgi?id=62196
1732
1733         RenderObject::node() should provide various information which is
1734         necessary for rendering. We don't need to refer the parent renderer.
1735
1736         * dom/Node.cpp:
1737         (WebCore::Node::focusDe1egate): Added.
1738         * dom/Node.h: Added a declaration.
1739         * html/shadow/MediaControlElements.cpp:
1740         (WebCore::toParentMediaElement):
1741           Added an overload of toParentMediaElement() with Node* parameter.
1742         * html/shadow/MediaControlElements.h:
1743         (WebCore::toParentMediaElement): ditto.
1744         * html/shadow/SliderThumbElement.cpp:
1745         (WebCore::SliderThumbElement::isEnabledFormControl):
1746           Returns the status of the host node.
1747         (WebCore::SliderThumbElement::isReadOnlyFormControl): ditto.
1748         (WebCore::SliderThumbElement::focusDe1egate):
1749           Returns the host node so that RenderTheme::isFocused() returns true.
1750         (WebCore::SliderThumbElement::detach): Style nit.
1751         (WebCore::SliderThumbElement::hostInput):
1752           Make it const because it is called by const functions.
1753         * html/shadow/SliderThumbElement.h:
1754           - Remove inDragMode()
1755           - Update declarations
1756         * platform/qt/RenderThemeQt.cpp:
1757         (WebCore::RenderThemeQt::paintMediaSliderThumb):
1758           Use Node::shadowAncestorNode() instead of RenderObject::parent() to
1759           support deeper thumb nodes.
1760         * rendering/RenderMediaControlsChromium.cpp:
1761         (WebCore::paintMediaSliderThumb): ditto.
1762         (WebCore::paintMediaVolumeSliderThumb): Remove isSlider() check.
1763         * rendering/RenderSlider.cpp:
1764         (WebCore::RenderSlider::inDragMode):
1765           SliderThumbElement::inDragMode() was removed, and Node::active() has
1766           the same information.
1767         * rendering/RenderTheme.cpp:
1768         (WebCore::RenderTheme::paint): Remove isSlider() checks.
1769         (WebCore::RenderTheme::isFocused): Apply Node::focusDelegate().
1770         * rendering/RenderThemeChromiumLinux.cpp:
1771         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
1772           isPressed() is enough.
1773         * rendering/RenderThemeChromiumWin.cpp:
1774           isEnabled(), isFocused(), and isPressed() are enough.
1775         (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
1776         (WebCore::RenderThemeChromiumWin::determineClassicState):
1777         * rendering/RenderThemeMac.mm:
1778         (WebCore::RenderThemeMac::paintSliderThumb):
1779           - Remove isSlider() check.
1780           - Passing 'o' to udpateFooState functions is enough.
1781           - isPressed() is enough.
1782         * rendering/RenderThemeSafari.cpp:
1783         (WebCore::RenderThemeSafari::paintSliderThumb):
1784           We don't need special handling anymore.
1785         * rendering/RenderThemeWin.cpp:
1786         (WebCore::RenderThemeWin::determineSliderThumbState):
1787           isEnabled(), isFocused(), and isPressed() are enough.
1788
1789 2011-06-08  Adam Barth  <abarth@webkit.org>
1790
1791         Reviewed by Eric Seidel.
1792
1793         constructTreeFromToken can re-enter parser, causing ASSERTs
1794         https://bugs.webkit.org/show_bug.cgi?id=62160
1795
1796         This patch clears the HTMLToken before constructing the tree from the
1797         token, putting the HTMLDocumentParser in a good state to be re-entered.
1798
1799         Tests: fast/parser/document-write-onload-nesting.html
1800                fast/parser/document-write-onload-ordering.html
1801
1802         * html/parser/HTMLDocumentParser.cpp:
1803         (WebCore::HTMLDocumentParser::pumpTokenizer):
1804         * html/parser/HTMLToken.h:
1805         (WebCore::HTMLToken::isUninitialized):
1806         * html/parser/HTMLTreeBuilder.cpp:
1807         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
1808
1809 2011-06-08  Kent Tamura  <tkent@chromium.org>
1810
1811         Fix Qt build for r88405.
1812         https://bugs.webkit.org/show_bug.cgi?id=62208
1813
1814         * platform/qt/RenderThemeQt.h:
1815
1816 2011-06-08  Kent Tamura  <tkent@chromium.org>
1817
1818         Reviewed by Dimitri Glazkov.
1819
1820         Change the argument of RenderTheme::adjustSliderThumbSize(): RenderObject* -> RenderStyle*
1821         https://bugs.webkit.org/show_bug.cgi?id=62208
1822
1823         Change the argument type of RenderTheme::adjustSliderThumbSize() and
1824         RenderMediaControls::adjustMediaSliderThumbSize() from RenderObject* to RenderStyle*.
1825
1826         Also, each of adjustSliderThumbStyle() overrides calls RenderTheme::
1827         adjustSliderThumbStyle() for future changes.
1828
1829         No new tests. This is a refactoring and should not change any behavior.
1830
1831         * html/shadow/SliderThumbElement.cpp:
1832         (WebCore::RenderSliderThumb::layout): Passing RenderStyle* and remove a FIXME comment.
1833         * platform/efl/RenderThemeEfl.cpp:
1834         (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
1835         * platform/gtk/RenderThemeGtk.cpp:
1836         (WebCore::RenderThemeGtk::adjustSliderThumbStyle): ditto.
1837         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
1838         * platform/gtk/RenderThemeGtk.h:
1839         * platform/gtk/RenderThemeGtk2.cpp:
1840         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1841         * platform/gtk/RenderThemeGtk3.cpp:
1842         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1843         * platform/qt/RenderThemeQt.cpp:
1844         (WebCore::RenderThemeQt::adjustSliderThumbStyle): ditto.
1845         (WebCore::RenderThemeQt::adjustSliderThumbSize):
1846         * rendering/RenderMediaControls.cpp:
1847         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
1848         * rendering/RenderMediaControls.h:
1849         * rendering/RenderMediaControlsChromium.cpp:
1850         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
1851         * rendering/RenderMediaControlsChromium.h:
1852         * rendering/RenderSlider.cpp:
1853         (WebCore::RenderSlider::layout): Passing RenderStyle* and remove a FIXME comment.
1854         * rendering/RenderTheme.cpp:
1855         (WebCore::RenderTheme::adjustSliderThumbStyle): Add a comment.
1856         (WebCore::RenderTheme::adjustSliderThumbSize):
1857         * rendering/RenderTheme.h:
1858         * rendering/RenderThemeChromiumLinux.cpp:
1859         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1860         * rendering/RenderThemeChromiumLinux.h:
1861         * rendering/RenderThemeChromiumMac.h:
1862         * rendering/RenderThemeChromiumMac.mm:
1863         (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
1864         * rendering/RenderThemeChromiumSkia.cpp:
1865         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
1866         * rendering/RenderThemeChromiumSkia.h:
1867         * rendering/RenderThemeChromiumWin.cpp:
1868         (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
1869         * rendering/RenderThemeChromiumWin.h:
1870         * rendering/RenderThemeMac.h:
1871         * rendering/RenderThemeMac.mm:
1872         (WebCore::RenderThemeMac::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
1873         (WebCore::RenderThemeMac::adjustSliderThumbSize):
1874         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
1875         * rendering/RenderThemeSafari.cpp:
1876         (WebCore::RenderThemeSafari::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
1877         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
1878         * rendering/RenderThemeSafari.h:
1879         * rendering/RenderThemeWin.cpp:
1880         (WebCore::RenderThemeWin::adjustSliderThumbSize):
1881         * rendering/RenderThemeWin.h:
1882         * rendering/RenderThemeWinCE.cpp:
1883         (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
1884         * rendering/RenderThemeWinCE.h:
1885
1886 2011-06-08  Brian Salomon  <bsalomon@google.com>
1887
1888         Reviewed by James Robinson.
1889
1890         Avoid always binding FBO 0 implicitly when deleting FBO in DrawingBuffer code because it invalidates Ganesh's cache of the current FBO.
1891         https://bugs.webkit.org/show_bug.cgi?id=62318
1892
1893         Chromium-only crash
1894         Failures takes multiple seconds to occur, relying on JS garbage-collection to occur 
1895         http://www.hotbazooka.com/privatejoe-large
1896
1897         * platform/graphics/gpu/DrawingBuffer.cpp:
1898         (WebCore::DrawingBuffer::clear):
1899
1900 2011-06-08  Emil A Eklund  <eae@chromium.org>
1901
1902         Reviewed by Eric Seidel.
1903
1904         RenderEmbeddedObject::getReplacementTextGeometry
1905         https://bugs.webkit.org/show_bug.cgi?id=62313
1906
1907         Replace the last use of tx, ty with IntPoint.
1908
1909         Covered by existing tests.
1910
1911         * platform/graphics/FloatRect.h:
1912         (WebCore::FloatRect::move):
1913         (WebCore::FloatRect::moveBy):
1914         * rendering/RenderEmbeddedObject.cpp:
1915         (WebCore::RenderEmbeddedObject::paintReplaced):
1916         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1917         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator):
1918         * rendering/RenderEmbeddedObject.h:
1919
1920 2011-06-08  Tim Horton  <timothy_horton@apple.com>
1921
1922         Reviewed by Ryosuke Niwa.
1923
1924         Use correct CFURLStorageSessionRef definition on Leopard, as
1925         we created an inconsistency in const-ness between
1926         WebCoreSystemInterface.h and these two files in the case
1927         of Leopard only.
1928         https://bugs.webkit.org/show_bug.cgi?id=62223
1929
1930         * platform/network/ResourceHandle.h:
1931         * platform/network/cf/ResourceRequest.h:
1932
1933 2011-06-08  Sailesh Agrawal  <sail@chromium.org>
1934
1935         Reviewed by Mihai Parparita.
1936
1937         Chromium Mac: Enable overlay scrollbars
1938         https://bugs.webkit.org/show_bug.cgi?id=59756
1939
1940         Sync ScrollbarThemeChromiumMac.mm/.h with ScrollbarThemeMac.mm to pick up support for overlay scrollbars. The only changes are renaming ScrollbarThemeMac to ScrollbarThemeChromiumMac and using runtime checks instead of #ifdef's.
1941
1942         No new tests, since this code is only enabled on future versions of Mac OS X.
1943
1944         * platform/chromium/ScrollAnimatorChromiumMac.mm: All changes to this file except in scroll() were to swap #if USE(WK_SCROLLBAR_PAINTER) with runtime checks.
1945         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
1946         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
1947         (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
1948         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
1949         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
1950         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
1951         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
1952         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
1953         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
1954         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
1955         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
1956         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
1957         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
1958         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
1959         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
1960         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
1961         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
1962         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
1963         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
1964         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
1965         (preferredScrollerStyle): Disabled overlay scrollbar styles due to trailing artifacts.
1966         (wkScrollbarPainterPaint): Fixed a problem where the scrollbar track wasn't being drawn.
1967         (wkScrollbarPainterKnobRect): Implemented a previously unimplemented function.
1968         (wkSetScrollbarPainterKnobStyle): Implemented a function that's now supported by the latest Mac OS X seeds.
1969         (isScrollbarOverlayAPIAvailable): Enabled new scrollbar code.
1970         * platform/chromium/ScrollbarThemeChromiumMac.h:
1971         * platform/chromium/ScrollbarThemeChromiumMac.mm: Sync with ScrollbarThemeMac.mm.
1972         (WebCore::scrollbarMap):
1973         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1974         (WebCore::updateArrowPlacement):
1975         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
1976         (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
1977         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
1978         (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
1979         (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
1980         (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
1981         (WebCore::ScrollbarThemeChromiumMac::hasButtons):
1982         (WebCore::ScrollbarThemeChromiumMac::hasThumb):
1983         (WebCore::buttonRepaintRect):
1984         (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
1985         (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
1986         (WebCore::toScrollbarPainterKnobStyle):
1987         (WebCore::ScrollbarThemeChromiumMac::paint):
1988
1989 2011-06-06  Nate Chapin  <japhet@chromium.org>
1990
1991         Reviewed by Adam Barth.
1992
1993         Remove all knowledge of CachedResourceRequests from
1994         CachedResourceLoader. This puts the full burden of
1995         canceling these requests on DocumentLoader (via
1996         SubresourceLoader), and makes a CachedResourceRequest
1997         an OwnPtr in CachedResource.
1998
1999         https://bugs.webkit.org/show_bug.cgi?id=62308
2000
2001         * loader/FrameLoader.cpp:
2002         (WebCore::FrameLoader::stopLoading):
2003         * loader/cache/CachedResource.cpp:
2004         (WebCore::CachedResource::CachedResource):
2005         (WebCore::CachedResource::load):
2006         (WebCore::CachedResource::stopLoading):
2007         * loader/cache/CachedResource.h:
2008         * loader/cache/CachedResourceLoader.cpp:
2009         (WebCore::CachedResourceLoader::~CachedResourceLoader):
2010         (WebCore::CachedResourceLoader::loadDone):
2011         * loader/cache/CachedResourceLoader.h:
2012         * loader/cache/CachedResourceRequest.cpp:
2013         (WebCore::CachedResourceRequest::CachedResourceRequest):
2014         (WebCore::CachedResourceRequest::~CachedResourceRequest):
2015         (WebCore::CachedResourceRequest::load):
2016         (WebCore::CachedResourceRequest::didFinishLoading):
2017         (WebCore::CachedResourceRequest::didFail):
2018         (WebCore::CachedResourceRequest::didReceiveResponse):
2019         (WebCore::CachedResourceRequest::end):
2020         * loader/cache/CachedResourceRequest.h:
2021
2022 2011-06-08  Mike Reed  <reed@google.com>
2023
2024         Reviewed by James Robinson.
2025
2026         [Skia] check for null-shader from gradient factory
2027         https://bugs.webkit.org/show_bug.cgi?id=62319
2028
2029         * platform/graphics/skia/GradientSkia.cpp:
2030         (WebCore::Gradient::platformDestroy):
2031         (WebCore::Gradient::platformGradient):
2032
2033 2011-06-08  Kenneth Russell  <kbr@google.com>
2034
2035         Reviewed by Adam Barth.
2036
2037         Disallow use of cross-domain media (images, video) in WebGL
2038         https://bugs.webkit.org/show_bug.cgi?id=62257
2039
2040         Updated WebGL implementation to track recent spec updates in this area.
2041
2042         Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
2043                http/tests/security/webgl-remote-read-remote-image-allowed.html
2044                http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
2045
2046         * html/canvas/CanvasRenderingContext.cpp:
2047         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
2048         (WebCore::CanvasRenderingContext::checkOrigin):
2049         * html/canvas/CanvasRenderingContext.h:
2050         (WebCore::CanvasRenderingContext::checkOrigin):
2051         * html/canvas/WebGLRenderingContext.cpp:
2052         (WebCore::WebGLRenderingContext::readPixels):
2053         (WebCore::WebGLRenderingContext::texImage2D):
2054         (WebCore::WebGLRenderingContext::videoFrameToImage):
2055         (WebCore::WebGLRenderingContext::texSubImage2D):
2056         * html/canvas/WebGLRenderingContext.h:
2057
2058 2011-06-08  John Bauman  <jbauman@chromium.org>
2059
2060         Reviewed by James Robinson.
2061
2062         Only draw portions of tiles in contentRect
2063         https://bugs.webkit.org/show_bug.cgi?id=62243
2064
2065         Old garbage data can remain in tiles, so make sure to draw only those
2066         portions that are supposed to be drawn.
2067
2068         Test: compositing/repaint/shrink-layer.html
2069
2070         * platform/graphics/chromium/LayerTilerChromium.cpp:
2071         (WebCore::LayerTilerChromium::draw):
2072
2073 2011-06-08  Emil A Eklund  <eae@chromium.org>
2074
2075         Reviewed by Eric Seidel.
2076
2077         Convert RenderBlock::isPointInOverflowControl to IntPoint
2078         https://bugs.webkit.org/show_bug.cgi?id=62312
2079
2080         Covered by existing tests.
2081
2082         * rendering/RenderBlock.cpp:
2083         (WebCore::RenderBlock::isPointInOverflowControl):
2084         (WebCore::RenderBlock::nodeAtPoint):
2085         * rendering/RenderBlock.h:
2086         * rendering/RenderListBox.cpp:
2087         (WebCore::RenderListBox::isPointInOverflowControl):
2088         * rendering/RenderListBox.h:
2089
2090 2011-06-08  James Simonsen  <simonjam@chromium.org>
2091
2092         Reviewed by Tony Gentilcore.
2093
2094         Fix clang issue, virtual function const mismatch
2095         https://bugs.webkit.org/show_bug.cgi?id=62307
2096
2097         No new tests. Built with clang & ran layout tests.
2098
2099         * page/MediaStreamFrameController.h:
2100         (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
2101
2102 2011-06-08  Chris Rogers  <crogers@google.com>
2103
2104         Reviewed by Kenneth Russell.
2105
2106         Implement BiquadFilterNode for filter types: LOWPASS, HIGHPASS, BANDPASS, LOWSHELF, HIGHSHELF, PEAKING, NOTCH, ALLPASS
2107         https://bugs.webkit.org/show_bug.cgi?id=62078
2108
2109         No new tests since audio API is not yet implemented.
2110
2111         * DerivedSources.make:
2112         * WebCore.gypi:
2113         * WebCore.xcodeproj/project.pbxproj:
2114         * platform/audio/Biquad.cpp:
2115         (WebCore::Biquad::Biquad):
2116         (WebCore::Biquad::reset):
2117         (WebCore::Biquad::setLowpassParams):
2118         (WebCore::Biquad::setHighpassParams):
2119         (WebCore::Biquad::setNormalizedCoefficients):
2120         (WebCore::Biquad::setLowShelfParams):
2121         (WebCore::Biquad::setHighShelfParams):
2122         (WebCore::Biquad::setPeakingParams):
2123         (WebCore::Biquad::setAllpassParams):
2124         (WebCore::Biquad::setNotchParams):
2125         (WebCore::Biquad::setBandpassParams):
2126         (WebCore::Biquad::setZeroPolePairs):
2127         (WebCore::Biquad::setAllpassPole):
2128         * platform/audio/Biquad.h:
2129         * webaudio/AudioContext.cpp:
2130         (WebCore::AudioContext::createBiquadFilter):
2131         (WebCore::AudioContext::createLowPass2Filter):
2132         (WebCore::AudioContext::createHighPass2Filter):
2133         * webaudio/AudioContext.h:
2134         * webaudio/AudioContext.idl:
2135         * webaudio/AudioNode.h:
2136         * webaudio/BiquadDSPKernel.cpp:
2137         (WebCore::BiquadDSPKernel::process):
2138         * webaudio/BiquadFilterNode.cpp: Added.
2139         (WebCore::BiquadFilterNode::BiquadFilterNode):
2140         * webaudio/BiquadFilterNode.h: Added.
2141         (WebCore::BiquadFilterNode::create):
2142         (WebCore::BiquadFilterNode::type):
2143         (WebCore::BiquadFilterNode::setType):
2144         (WebCore::BiquadFilterNode::frequency):
2145         (WebCore::BiquadFilterNode::q):
2146         (WebCore::BiquadFilterNode::gain):
2147         (WebCore::BiquadFilterNode::biquadProcessor):
2148         * webaudio/BiquadFilterNode.idl: Added.
2149         * webaudio/BiquadProcessor.cpp:
2150         (WebCore::BiquadProcessor::BiquadProcessor):
2151         * webaudio/BiquadProcessor.h:
2152         (WebCore::BiquadProcessor::setType):
2153         * webaudio/HighPass2FilterNode.cpp:
2154         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
2155         * webaudio/LowPass2FilterNode.cpp:
2156         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
2157
2158 2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
2159
2160         Reviewed by Kenneth Rohde Christiansen.
2161
2162         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
2163         https://bugs.webkit.org/show_bug.cgi?id=61694
2164
2165         No new tests, code path is not activated yet.
2166
2167         * WebCore.xcodeproj/project.pbxproj: Changed the TransformOperation subclassed from "project" to "private"
2168
2169 2011-06-08  Tom Sepez  <tsepez@chromium.org>
2170
2171         Reviewed by Adam Barth.
2172
2173         Cause checks for insecure content blocking policy to callback to client.
2174         https://bugs.webkit.org/show_bug.cgi?id=61946
2175         Tests: platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-allowed.html
2176                platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html
2177                platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-allowed.html
2178                platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-blocked.html
2179
2180         * loader/FrameLoader.cpp:
2181         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
2182         (WebCore::FrameLoader::checkIfRunInsecureContent):
2183         * loader/FrameLoaderClient.h:
2184         (WebCore::FrameLoaderClient::allowDisplayingInsecureContent):
2185         (WebCore::FrameLoaderClient::allowRunningInsecureContent):
2186
2187 2011-06-08  Kevin Ollivier  <kevino@theolliviers.com>
2188
2189         [wx] Build fix after introduction of FontCache::ShouldRetain
2190
2191         * platform/graphics/wx/FontCacheWx.cpp:
2192         (WebCore::FontCache::getFontDataForCharacters):
2193
2194 2011-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2195
2196         Unreviewed, rolling out r88365.
2197         http://trac.webkit.org/changeset/88365
2198         https://bugs.webkit.org/show_bug.cgi?id=62301
2199
2200         windows bots broken (Requested by loislo_ on #webkit).
2201
2202         * inspector/InspectorValues.cpp:
2203         (WebCore::InspectorBasicValue::writeJSON):
2204
2205 2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>
2206
2207         Reviewed by Pavel Feldman.
2208
2209         Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
2210         https://bugs.webkit.org/show_bug.cgi?id=52791
2211
2212         No new tests. The problem can be reproduced by trying to create InspectorValue
2213         from 1.0e-100 and call ->toJSONString() on this.
2214
2215         * inspector/InspectorValues.cpp:
2216         (WebCore::InspectorBasicValue::writeJSON):
2217         Added checking the predicted buffer size and choosing exponential format, or
2218         eventually "NaN" if the buffer is too small for decimal format.
2219
2220 2011-06-08  Nico Weber  <thakis@chromium.org>
2221
2222         Reviewed by Darin Adler.
2223
2224         Fix a ?: precedence error in ScrollbarThemeMac and ScrollbarThemeChromium
2225         https://bugs.webkit.org/show_bug.cgi?id=62295
2226
2227         This was found by a new warning recently added to clang's -Wparentheses
2228
2229         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2230         (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
2231         * platform/mac/ScrollbarThemeMac.mm:
2232         (WebCore::ScrollbarThemeMac::backButtonRect):
2233
2234 2011-06-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2235
2236         Reviewed by Andreas Kling.
2237
2238         [Qt] Remove dead code from our JSC bridge
2239         https://bugs.webkit.org/show_bug.cgi?id=62287
2240
2241         The m_defaultMethod member is not used since r36848 and QtMethod
2242         was replaced by QtRuntimeMethod and subclasses in r29729.
2243
2244         * bridge/qt/qt_instance.cpp:
2245         (JSC::Bindings::QtInstance::removeCachedMethod):
2246         (JSC::Bindings::QtInstance::visitAggregate):
2247         * bridge/qt/qt_instance.h:
2248         * bridge/qt/qt_runtime.h:
2249
2250 2011-06-08  Ryan Sleevi  <rsleevi@chromium.org>
2251
2252         Reviewed by Tony Chang.
2253
2254         Suppress C++0x compat warnings when compiling Chromium port with GCC 4.6
2255
2256         Compiling Chromium port under GCC 4.6 produces warnings about nullptr
2257         https://bugs.webkit.org/show_bug.cgi?id=62242
2258
2259         * WebCore.gyp/WebCore.gyp:
2260
2261 2011-05-25  Xiaomei Ji  <xji@chromium.org>
2262
2263         Reviewed by Ryosuke Niwa.
2264
2265         --webkit-visual-word does not work well in words separated by multiple spaces
2266         https://bugs.webkit.org/show_bug.cgi?id=61324
2267
2268         Remove positionBeforeNextWord and positionAfterPreviousWord short-cuts. They try to find the
2269         right word boundary (before the space or after the space) by using previousWordPosition and
2270         nextWordPosition. But they assume words are separated by single space and are not correct 
2271         for words separated by multiple spaces and words not separated by space.
2272
2273         Consider positionBeforeNextWord() for example, 
2274
2275         First, it checks whether the current position is after the current word by checking current
2276         position's previousWordPosition's nextWordPosition is the same as current position, which is
2277         wrong for words separated by multiple spaces. For example, given words A and B separated by 
2278         3 continuous spaces "A   B", position "A|", "A |", and "A  |" should all be considered as 
2279         position after current word. But for position "A |", its previousWordPosition's 
2280         nextWordPosition is position "A|", which is different from its current position, so the
2281         current position is not considered as a position after current word, consequently,
2282         instead of returning the right position as "A   |B", positionBeforeNextWord returns the
2283         position before next next word, as "A   B |C". Similar happens for position "A  |".
2284
2285         Second, given 3 Chinese words "ABC" that are not segmented by space, when cursor is at 
2286         "A|BC", positionBeforeNextWord() returns the same position after calling current position's
2287         nextWordPosition's previousWordPosition. It should returns position "AB|C".
2288
2289         For those cases, we will have to collect all the word breaks inside the box and look for
2290         the one at left or right of current position.
2291
2292         * editing/visible_units.cpp:
2293         (WebCore::leftWordPosition):
2294         (WebCore::rightWordPosition):
2295
2296 2011-06-08  Greg Simon  <gregsimon@chromium.org>
2297
2298         Reviewed by Dimitri Glazkov.
2299
2300         Control Indexeddb backends from LayoutTestController
2301         https://bugs.webkit.org/show_bug.cgi?id=61000
2302
2303         Test: storage/indexeddb/migrate-basics.html
2304
2305         * storage/IDBBackingStore.h:
2306         * storage/IDBFactoryBackendImpl.cpp:
2307         (WebCore::IDBFactoryBackendImpl::open):
2308         (WebCore::IDBFactoryBackendImpl::migrate):
2309         * storage/IDBFactoryBackendImpl.h:
2310         * storage/IDBFactoryBackendInterface.h:
2311         * storage/IDBLevelDBBackingStore.cpp:
2312         (WebCore::IDBLevelDBBackingStore::backingStoreExists):
2313         * storage/IDBLevelDBBackingStore.h:
2314         (WebCore::IDBLevelDBBackingStore::backingStoreType):
2315         * storage/IDBSQLiteBackingStore.cpp:
2316         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
2317         * storage/IDBSQLiteBackingStore.h:
2318         (WebCore::IDBSQLiteBackingStore::backingStoreType):
2319
2320 2011-06-08  Dmitry Lomov  <dslomov@google.com>
2321
2322         Reviewed by Adam Barth.
2323
2324         https://bugs.webkit.org/show_bug.cgi?id=62164
2325         Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
2326         This functionality is untested and unused:
2327         This is an old code from Lockers-based implementation of WebWorkers in
2328         V8 bindings, to make sure that DOM objects are released on the right thread
2329         even though GC could have happened on any thread. It is currently unused (since
2330         current model is one worker per process) and is being removed because new implementation
2331         of WebWorkers will be using V8 isolates.
2332
2333         * WebCore.gypi:
2334         * WebCore.pro:
2335         * bindings/v8/ChildThreadDOMData.cpp: Removed.
2336         * bindings/v8/ChildThreadDOMData.h: Removed.
2337         * bindings/v8/DOMData.cpp:
2338         (WebCore::DOMData::DOMData):
2339         (WebCore::DOMData::getCurrent):
2340         (WebCore::DOMData::getMainThreadStore):
2341         * bindings/v8/DOMData.h:
2342         (WebCore::DOMData::getStore):
2343         (WebCore::DOMData::getCurrentMainThreadStore):
2344         (WebCore::DOMData::handleWeakObject):
2345         * bindings/v8/DOMDataStore.cpp:
2346         (WebCore::DOMDataStore::DOMDataStore):
2347         (WebCore::DOMDataStore::~DOMDataStore):
2348         (WebCore::DOMDataStore::weakNodeCallback):
2349         * bindings/v8/DOMDataStore.h:
2350         * bindings/v8/MainThreadDOMData.cpp: Removed.
2351         * bindings/v8/MainThreadDOMData.h: Removed.
2352         * bindings/v8/V8DOMMap.cpp:
2353         (WebCore::getDOMDataStore):
2354         (WebCore::removeAllDOMObjects):
2355         (WebCore::visitDOMNodes):
2356         (WebCore::visitDOMObjects):
2357         (WebCore::visitActiveDOMObjects):
2358         (WebCore::visitDOMSVGElementInstances):
2359         * bindings/v8/V8DOMMap.h:
2360         * bindings/v8/V8GCController.cpp:
2361         (WebCore::V8GCController::gcPrologue):
2362         (WebCore::V8GCController::gcEpilogue):
2363         * bindings/v8/WorkerScriptController.cpp:
2364         (WebCore::WorkerScriptController::~WorkerScriptController):
2365
2366 2011-06-08  Yael Aharon  <yael.aharon@nokia.com>
2367
2368         Reviewed by Andreas Kling.
2369
2370         [Qt] Build fix for building QtWebKit inside of Qt.
2371         https://bugs.webkit.org/show_bug.cgi?id=62280
2372
2373         Remove CONFIG=staticlib, because it causes the configure script to add -lwebcore
2374         into QtWebKit.prl.
2375
2376         No new tests, as this is just a build fix.
2377
2378         * WebCore.pri:
2379
2380 2011-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
2381
2382         Reviewed by Pavel Feldman.
2383
2384         Web Inspector: Render non-document HTML resources as HTML
2385         https://bugs.webkit.org/show_bug.cgi?id=58886
2386
2387         * English.lproj/localizedStrings.js:
2388         * WebCore.gypi:
2389         * WebCore.vcproj/WebCore.vcproj:
2390         * inspector/front-end/NetworkItemView.js:
2391         (WebInspector.NetworkItemView):
2392         * inspector/front-end/Resource.js:
2393         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
2394         (WebInspector.Resource.prototype.hasErrorStatusCode):
2395         * inspector/front-end/ResourceHTMLView.js: Added.
2396         (WebInspector.ResourceHTMLView):
2397         (WebInspector.ResourceHTMLView.prototype.hasContent):
2398         (WebInspector.ResourceHTMLView.prototype.show):
2399         (WebInspector.ResourceHTMLView.prototype.hide):
2400         (WebInspector.ResourceHTMLView.prototype._createIFrame):
2401         * inspector/front-end/ResourcePreviewView.js: Added.
2402         (WebInspector.ResourcePreviewView):
2403         (WebInspector.ResourcePreviewView.prototype.hasContent):
2404         (WebInspector.ResourcePreviewView.prototype.show):
2405         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
2406         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
2407         (WebInspector.ResourcePreviewView.prototype._createInnerView):
2408         * inspector/front-end/Settings.js:
2409         (WebInspector.Settings):
2410         * inspector/front-end/WebKit.qrc:
2411         * inspector/front-end/inspector.css:
2412         (.resource-view.html iframe):
2413         * inspector/front-end/inspector.html:
2414
2415 2011-05-18  Pavel Podivilov  <podivilov@chromium.org>
2416
2417         Reviewed by Yury Semikhatsky.
2418
2419         Web Inspector: hide script location to ui location conversion details from ScriptsPanel.
2420         https://bugs.webkit.org/show_bug.cgi?id=61035
2421
2422         * inspector/front-end/DebuggerPresentationModel.js:
2423         (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
2424         (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation.didRequestSourceMapping):
2425         (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation):
2426         * inspector/front-end/ScriptsPanel.js:
2427         (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
2428         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
2429
2430 2011-06-08  Tommy Widenflycht  <tommyw@google.com>
2431
2432         Reviewed by Tony Gentilcore.
2433
2434         StreamEvent
2435
2436         Media Stream PeerConnection API: adding StreamEvent class
2437         https://bugs.webkit.org/show_bug.cgi?id=61537
2438
2439         Tests for the Media Stream API will be provided by the bug 56587.
2440
2441         * CMakeLists.txt:
2442         * CodeGenerators.pri:
2443         * DerivedSources.cpp:
2444         * DerivedSources.make:
2445         * GNUmakefile.list.am:
2446         * WebCore.gypi:
2447         * WebCore.pro:
2448         * WebCore.vcproj/WebCore.vcproj:
2449         * WebCore.xcodeproj/project.pbxproj:
2450         * bindings/js/JSEventCustom.cpp:
2451         (WebCore::toJS):
2452         * bindings/v8/custom/V8EventCustom.cpp:
2453         (WebCore::toV8):
2454         * dom/DOMAllInOne.cpp:
2455         * dom/Event.cpp:
2456         (WebCore::Event::isStreamEvent):
2457         * dom/Event.h:
2458         * dom/StreamEvent.cpp: Added.
2459         (WebCore::StreamEvent::create):
2460         (WebCore::StreamEvent::StreamEvent):
2461         (WebCore::StreamEvent::~StreamEvent):
2462         (WebCore::StreamEvent::initStreamEvent):
2463         (WebCore::StreamEvent::stream):
2464         * dom/StreamEvent.h: Added.
2465         (WebCore::StreamEvent::isStreamEvent):
2466         * dom/StreamEvent.idl: Added.
2467
2468 2011-06-08  Tommy Widenflycht  <tommyw@google.com>
2469
2470         Reviewed by Tony Gentilcore.
2471
2472         Media Stream API: integrate the Track List objects into the existing code.
2473         https://bugs.webkit.org/show_bug.cgi?id=60205
2474
2475         Tests for the Media Stream API will be provided by the bug 56587.
2476
2477         * dom/ExclusiveTrackList.cpp:
2478         (WebCore::ExclusiveTrackList::select):
2479         (WebCore::ExclusiveTrackList::trackFailed):
2480         * dom/ExclusiveTrackList.h:
2481         * dom/GeneratedStream.cpp:
2482         (WebCore::GeneratedStream::create):
2483         (WebCore::GeneratedStream::GeneratedStream):
2484         (WebCore::GeneratedStream::streamEnded):
2485         (WebCore::GeneratedStream::audioTracks):
2486         (WebCore::GeneratedStream::videoTracks):
2487         (WebCore::GeneratedStream::stop):
2488         * dom/GeneratedStream.h:
2489         * dom/GeneratedStream.idl:
2490         * dom/MultipleTrackList.cpp:
2491         (WebCore::MultipleTrackList::trackFailed):
2492         (WebCore::MultipleTrackList::enable):
2493         (WebCore::MultipleTrackList::disable):
2494         * dom/MultipleTrackList.h:
2495         * dom/Stream.h:
2496         * dom/TrackList.cpp:
2497         (WebCore::TrackList::clear):
2498         (WebCore::TrackList::associateStream):
2499         (WebCore::TrackList::associatedStreamLabel):
2500         (WebCore::TrackList::trackFailed):
2501         (WebCore::TrackList::scriptExecutionContext):
2502         * dom/TrackList.h:
2503         * page/MediaStreamClient.h:
2504         * page/MediaStreamController.cpp:
2505         (WebCore::MediaStreamController::enableAudioTrack):
2506         (WebCore::MediaStreamController::disableAudioTrack):
2507         (WebCore::MediaStreamController::selectVideoTrack):
2508         (WebCore::MediaStreamController::streamGenerated):
2509         (WebCore::MediaStreamController::audioTrackFailed):
2510         (WebCore::MediaStreamController::videoTrackFailed):
2511         * page/MediaStreamController.h:
2512         * page/MediaStreamFrameController.cpp:
2513         (WebCore::MediaStreamFrameController::unregister):
2514         (WebCore::MediaStreamFrameController::enterDetachedState):
2515         (WebCore::MediaStreamFrameController::disconnectFrame):
2516         (WebCore::MediaStreamFrameController::enableAudioTrack):
2517         (WebCore::MediaStreamFrameController::disableAudioTrack):
2518         (WebCore::MediaStreamFrameController::selectVideoTrack):
2519         (WebCore::MediaStreamFrameController::streamGenerated):
2520         (WebCore::MediaStreamFrameController::audioTrackFailed):
2521         (WebCore::MediaStreamFrameController::videoTrackFailed):
2522         * page/MediaStreamFrameController.h:
2523         (WebCore::MediaStreamFrameController::ClientBase::isGenericClient):
2524         (WebCore::MediaStreamFrameController::GenericClient::GenericClient):
2525         (WebCore::MediaStreamFrameController::GenericClient::~GenericClient):
2526         (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
2527         (WebCore::MediaStreamFrameController::GenericClient::unregister):
2528
2529 2011-06-08  Pavel Podivilov  <podivilov@chromium.org>
2530
2531         Reviewed by Yury Semikhatsky.
2532
2533         Web Inspector: [REGRESSION] breakpoints are not persisted.
2534         https://bugs.webkit.org/show_bug.cgi?id=62273
2535
2536         * inspector/front-end/Settings.js:
2537
2538 2011-06-08  Alexander Pavlov  <apavlov@chromium.org>
2539
2540         Reviewed by Yury Semikhatsky.
2541
2542         Web Inspector: node selection is slow in the Elements panel.
2543         https://bugs.webkit.org/show_bug.cgi?id=60813
2544
2545         Schedule full style updates rather than request all node styles from the backend immediately.
2546
2547         * inspector/front-end/StylesSidebarPane.js:
2548         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
2549         (WebInspector.StylesSidebarPane.prototype.update):
2550
2551 2011-06-08  Andreas Kling  <andreas.kling@nokia.com>
2552
2553         Reviewed by Laszlo Gombos.
2554
2555         [Symbian] Float{32,64}Array and Int16Array fail to build.
2556         https://bugs.webkit.org/show_bug.cgi?id=62219
2557
2558         For some reason, RVCT 2.x is moaning about "class member designated by
2559         a using-declaration must be visible in a direct base class".
2560         Apply same fix as r69122 and r76592.
2561
2562         * html/canvas/Float32Array.h:
2563         (WebCore::Float32Array::set):
2564         * html/canvas/Float64Array.h:
2565         (WebCore::Float64Array::set):
2566         * html/canvas/Int16Array.h:
2567         (WebCore::Int16Array::set):
2568
2569 2011-06-08  Syed Idris Shah  <syed.idris-shah@nokia.com>
2570
2571         Reviewed by Andreas Kling.
2572
2573         [Qt] GL_POINT_SPRITE and GL_VERTEX_PROGRAM_POINT_SIZE should be enabled for desktop WebGL
2574         https://bugs.webkit.org/show_bug.cgi?id=61945
2575
2576         For OpenGL ES we do not need these features. 
2577         These features are available via shaders in OpenGL ES. But for desktop WebGL using QtWebKit they should be enabled.
2578
2579         LayoutTests/fast/canvas/webgl/point-size.html
2580
2581         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2582         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2583
2584 2011-06-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2585
2586         Unreviewed. Fix style error.
2587
2588         * platform/efl/RenderThemeEfl.cpp:
2589         * platform/efl/RenderThemeEfl.h:
2590
2591 2011-06-08  Hironori Bono  <hbono@chromium.org>
2592
2593         Reviewed by Brent Fulgham.
2594
2595         Add SpellCheck API
2596         https://bugs.webkit.org/show_bug.cgi?id=59693
2597
2598         This change adds two SpellCheck API functions (addSpellcheckRange and
2599         removeSpellcheckRange) and one attribute (spellcheckRange) discussed in
2600         the public-webapps ML. This change is currently available only on Chromium.
2601
2602         Tests: editing/spelling/spellcheck-api-pixel.html
2603                editing/spelling/spellcheck-api.html
2604
2605         * WebCore.gypi:
2606         * bindings/generic/RuntimeEnabledFeatures.cpp:
2607         * bindings/generic/RuntimeEnabledFeatures.h:
2608         (WebCore::RuntimeEnabledFeatures::spellCheckAPIEnabled):
2609         (WebCore::RuntimeEnabledFeatures::setSpellCheckAPIEnabled):
2610         * dom/DocumentMarker.h:
2611         (WebCore::DocumentMarker::length):
2612         * dom/DocumentMarkerController.cpp:
2613         (WebCore::DocumentMarkerController::userSpellingMarkersForNode):
2614         (WebCore::DocumentMarkerController::addUserSpellingMarker):
2615         (WebCore::DocumentMarkerController::removeUserSpellingMarker):
2616         (WebCore::DocumentMarkerController::userSpellingNode):
2617         * dom/DocumentMarkerController.h:
2618         * html/HTMLDivElement.cpp:
2619         (WebCore::HTMLDivElement::spellcheckRanges):
2620         (WebCore::HTMLDivElement::addSpellcheckRange):
2621         (WebCore::HTMLDivElement::removeSpellcheckRange):
2622         * html/HTMLDivElement.h:
2623         * html/HTMLDivElement.idl:
2624         * html/HTMLInputElement.cpp:
2625         (WebCore::HTMLInputElement::spellcheckRanges):
2626         (WebCore::HTMLInputElement::addSpellcheckRange):
2627         (WebCore::HTMLInputElement::removeSpellcheckRange):
2628         * html/HTMLInputElement.h:
2629         * html/HTMLInputElement.idl:
2630         * html/HTMLTextAreaElement.cpp:
2631         (WebCore::HTMLTextAreaElement::spellcheckRanges):
2632         (WebCore::HTMLTextAreaElement::addSpellcheckRange):
2633         (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
2634         * html/HTMLTextAreaElement.h:
2635         * html/HTMLTextAreaElement.idl:
2636         * html/SpellcheckRange.cpp: Added.
2637         (WebCore::SpellcheckRange::SpellcheckRange):
2638         (WebCore::SpellcheckRange::~SpellcheckRange):
2639         * html/SpellcheckRange.h: Added.
2640         (WebCore::SpellcheckRange::create):
2641         (WebCore::SpellcheckRange::start):
2642         (WebCore::SpellcheckRange::length):
2643         (WebCore::SpellcheckRange::suggestions):
2644         (WebCore::SpellcheckRange::options):
2645         * html/SpellcheckRange.idl: Added.
2646         * html/SpellcheckRangeList.cpp: Added.
2647         (WebCore::SpellcheckRangeList::SpellcheckRangeList):
2648         (WebCore::SpellcheckRangeList::~SpellcheckRangeList):
2649         (WebCore::SpellcheckRangeList::item):
2650         * html/SpellcheckRangeList.h: Added.
2651         (WebCore::SpellcheckRangeList::create):
2652         (WebCore::SpellcheckRangeList::isEmpty):
2653         (WebCore::SpellcheckRangeList::clear):
2654         (WebCore::SpellcheckRangeList::append):
2655         (WebCore::SpellcheckRangeList::remove):
2656         (WebCore::SpellcheckRangeList::length):
2657         * html/SpellcheckRangeList.idl: Added.
2658         * rendering/InlineTextBox.cpp:
2659         (WebCore::textCheckingLineStyleForMarkerType):
2660         (WebCore::InlineTextBox::paintDocumentMarkers):
2661
2662 2011-06-07  Andrey Kosyakov  <caseq@chromium.org>
2663
2664         Reviewed by Pavel Feldman.
2665
2666         Web Inspector: remove shadow dom inspection from Elements panel by default.
2667         https://bugs.webkit.org/show_bug.cgi?id=62188
2668
2669         This reverts r85751
2670
2671         * dom/Element.cpp:
2672         (WebCore::Element::ensureShadowRoot):
2673         (WebCore::Element::removeShadowRoot):
2674         * inspector/Inspector.json:
2675         * inspector/InspectorDOMAgent.cpp:
2676         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2677         (WebCore::InspectorDOMAgent::buildObjectForNode):
2678         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2679         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2680         * inspector/InspectorDOMAgent.h:
2681         * inspector/front-end/DOMAgent.js:
2682         (WebInspector.DOMNode):
2683         (WebInspector.DOMNode.prototype._renumber):
2684         (WebInspector.DOMAgent.prototype._bindNodes):
2685         (WebInspector.DOMAgent.prototype.querySelectorAll):
2686         (WebInspector.DOMDispatcher.prototype.searchResults):
2687         * inspector/front-end/ElementsPanel.js:
2688         (WebInspector.ElementsPanel):
2689         (WebInspector.ElementsPanel.prototype._attributesUpdated):
2690         (WebInspector.ElementsPanel.prototype._characterDataModified):
2691         (WebInspector.ElementsPanel.prototype._nodeInserted):
2692         (WebInspector.ElementsPanel.prototype._nodeRemoved):
2693         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
2694         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2695         * inspector/front-end/ElementsTreeOutline.js:
2696         (WebInspector.ElementsTreeElement):
2697         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
2698         (WebInspector.ElementsTreeElement.prototype._updateChildren):
2699         ():
2700         * inspector/front-end/inspector.css:
2701         * inspector/front-end/utilities.js:
2702         (Element.prototype.query):
2703
2704 2011-06-08  Mark Rowe  <mrowe@apple.com>
2705
2706         Fix the build.
2707
2708         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2709         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
2710         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2711
2712 2011-06-07  Keishi Hattori  <keishi@webkit.org>
2713
2714         Reviewed by Kent Tamura.
2715
2716         Rename HTMLInputElement::m_value to m_valueIfDirty
2717         https://bugs.webkit.org/show_bug.cgi?id=61990
2718
2719         No new tests because no behavior change.
2720
2721         * html/HTMLInputElement.cpp: Replaced m_value with m_valueIfDirty.
2722         (WebCore::HTMLInputElement::tooLong):
2723         (WebCore::HTMLInputElement::updateType):
2724         (WebCore::HTMLInputElement::parseMappedAttribute):
2725         (WebCore::HTMLInputElement::copyNonAttributeProperties):
2726         (WebCore::HTMLInputElement::value):
2727         (WebCore::HTMLInputElement::setValue):
2728         (WebCore::HTMLInputElement::setValueFromRenderer):
2729         (WebCore::HTMLInputElement::updateValueIfNeeded):
2730         * html/HTMLInputElement.h: Renamed m_value to m_valueIfDirty.
2731         (WebCore::HTMLInputElement::hasDirtyValue): Added. Returns the dirty value flag.
2732
2733 2011-06-07  Ian Henderson  <ianh@apple.com>
2734
2735         Reviewed by Dan Bernstein.
2736
2737         (CG) Sub-image drawing clips unnecessarily
2738         https://bugs.webkit.org/show_bug.cgi?id=62258
2739
2740         If destRect completely encompasses the adjustedDestRect into which we
2741         draw, clipping to destRect will do nothing.  Skip the call to
2742         CGContextClipToRect in this case.
2743
2744         * platform/graphics/cg/ImageCG.cpp:
2745         (WebCore::BitmapImage::draw):
2746
2747 2011-06-07  Emil A Eklund  <eae@chromium.org>
2748
2749         Reviewed by Eric Seidel.
2750
2751         Convert nodeAtPoint to IntPoint
2752         https://bugs.webkit.org/show_bug.cgi?id=62145
2753
2754         Convert nodeAtPoint to take an IntPoint instead of a pair of ints for the
2755         accumulated offset.
2756
2757         Covered by existing tests.
2758
2759         * platform/graphics/FloatPoint.h:
2760         (WebCore::FloatPoint::moveBy):
2761         Add moveBy(IntPoint) method
2762         
2763         * rendering/EllipsisBox.cpp:
2764         (WebCore::EllipsisBox::nodeAtPoint):
2765         * rendering/EllipsisBox.h:
2766         * rendering/InlineBox.cpp:
2767         (WebCore::InlineBox::nodeAtPoint):
2768         * rendering/InlineBox.h:
2769         * rendering/InlineFlowBox.cpp:
2770         (WebCore::InlineFlowBox::nodeAtPoint):
2771         * rendering/InlineFlowBox.h:
2772         * rendering/InlineTextBox.cpp:
2773         (WebCore::InlineTextBox::nodeAtPoint):
2774         * rendering/InlineTextBox.h:
2775         * rendering/RenderBlock.cpp:
2776         (WebCore::RenderBlock::nodeAtPoint):
2777         (WebCore::RenderBlock::hitTestContents):
2778         * rendering/RenderBlock.h:
2779         * rendering/RenderBox.cpp:
2780         (WebCore::RenderBox::nodeAtPoint):
2781         * rendering/RenderBox.h:
2782         * rendering/RenderFrameSet.cpp:
2783         (WebCore::RenderFrameSet::nodeAtPoint):
2784         * rendering/RenderFrameSet.h:
2785         * rendering/RenderImage.cpp:
2786         (WebCore::RenderImage::nodeAtPoint):
2787         * rendering/RenderImage.h:
2788         * rendering/RenderInline.cpp:
2789         (WebCore::RenderInline::nodeAtPoint):
2790         * rendering/RenderInline.h:
2791         * rendering/RenderLineBoxList.cpp:
2792         (WebCore::RenderLineBoxList::hitTest):
2793         * rendering/RenderListBox.cpp:
2794         (WebCore::RenderListBox::nodeAtPoint):
2795         * rendering/RenderListBox.h:
2796         * rendering/RenderObject.cpp:
2797         (WebCore::RenderObject::hitTest):
2798         * rendering/RenderObject.h:
2799         * rendering/RenderTable.cpp:
2800         (WebCore::RenderTable::nodeAtPoint):
2801         * rendering/RenderTable.h:
2802         * rendering/RenderTableRow.cpp:
2803         (WebCore::RenderTableRow::nodeAtPoint):
2804         * rendering/RenderTableRow.h:
2805         * rendering/RenderTableSection.cpp:
2806         (WebCore::RenderTableSection::nodeAtPoint):
2807         * rendering/RenderTableSection.h:
2808         * rendering/RenderText.h:
2809         (WebCore::RenderText::nodeAtPoint):
2810         * rendering/RenderTextControlMultiLine.cpp:
2811         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2812         * rendering/RenderTextControlMultiLine.h:
2813         * rendering/RenderTextControlSingleLine.cpp:
2814         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2815         * rendering/RenderTextControlSingleLine.h:
2816         * rendering/RenderWidget.cpp:
2817         (WebCore::RenderWidget::nodeAtPoint):
2818         * rendering/RenderWidget.h:
2819         * rendering/RootInlineBox.cpp:
2820         (WebCore::RootInlineBox::nodeAtPoint):
2821         * rendering/RootInlineBox.h:
2822         * rendering/svg/RenderSVGForeignObject.cpp:
2823         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
2824         (WebCore::RenderSVGForeignObject::nodeAtPoint):
2825         * rendering/svg/RenderSVGForeignObject.h:
2826         * rendering/svg/RenderSVGModelObject.cpp:
2827         (WebCore::RenderSVGModelObject::nodeAtPoint):
2828         * rendering/svg/RenderSVGModelObject.h:
2829         * rendering/svg/RenderSVGRoot.cpp:
2830         (WebCore::RenderSVGRoot::nodeAtPoint):
2831         * rendering/svg/RenderSVGRoot.h:
2832         * rendering/svg/RenderSVGText.cpp:
2833         (WebCore::RenderSVGText::nodeAtFloatPoint):
2834         (WebCore::RenderSVGText::nodeAtPoint):
2835         * rendering/svg/RenderSVGText.h:
2836
2837 2011-06-07  Yi Shen  <yi.4.shen@nokia.com>
2838
2839         Reviewed by Simon Hausmann.
2840
2841         [Qt] Fix the error code for media resource failures when using QtMobility
2842         https://bugs.webkit.org/show_bug.cgi?id=55901
2843
2844         To indicate the media resource failures, set the network state to
2845         MediaPlayer::FormatError when receives QMediaPlayer::InvalidMedia or
2846         QMediaPlayer::ResourceError.
2847
2848         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2849         (WebCore::MediaPlayerPrivateQt::updateStates):
2850
2851 2011-06-07  Emil A Eklund  <eae@chromium.org>
2852
2853         Reviewed by Eric Seidel.
2854
2855         Change RenderBlock::hitTestFloats to IntPoint
2856         https://bugs.webkit.org/show_bug.cgi?id=62176
2857
2858         Covered by existing tests.
2859
2860         * rendering/RenderBlock.cpp:
2861         (WebCore::RenderBlock::nodeAtPoint):
2862         (WebCore::RenderBlock::hitTestFloats):
2863         (WebCore::RenderBlock::hitTestColumns):
2864         * rendering/RenderBlock.h:
2865
2866 2011-06-07  Tim Horton  <timothy_horton@apple.com>
2867
2868         Reviewed by Alexey Proskuryakov.
2869
2870         Use correct CFURLStorageSessionRef definition on Snow Leopard
2871         https://bugs.webkit.org/show_bug.cgi?id=62223
2872
2873         * platform/mac/WebCoreSystemInterface.h:
2874         * platform/network/ResourceHandle.h:
2875         * platform/network/cf/ResourceRequest.h:
2876
2877 2011-06-07  Emil A Eklund  <eae@chromium.org>
2878
2879         Reviewed by Eric Seidel.
2880
2881         Change RenderBlock::hitTestColumns to IntPoint
2882         https://bugs.webkit.org/show_bug.cgi?id=62172
2883
2884         Covered by existing tests.
2885
2886         * rendering/RenderBlock.cpp:
2887         (WebCore::RenderBlock::nodeAtPoint):
2888         (WebCore::RenderBlock::hitTestColumns):
2889         * rendering/RenderBlock.h:
2890
2891 2011-06-07  Simon Fraser  <simon.fraser@apple.com>
2892
2893         Reviewed by Darin Adler.
2894
2895         Opacity transition doesn't work while content property is set.
2896         https://bugs.webkit.org/show_bug.cgi?id=59301
2897         
2898         StyleRareNonInheritedData's copy constructor omitted to copy
2899         the m_content data, which caused us to detach and re-attach the renderer
2900         at the start of the transition, thereby killing the transition.
2901         
2902         Fix by making StyleRareNonInheritedData's copy ctor do the right thing.
2903
2904         Test: transitions/transition-on-element-with-content.html
2905
2906         * rendering/style/ContentData.h:
2907         * rendering/style/ContentData.cpp:
2908         (WebCore::ContentData::clone): New method to do a deep clone. (Can't use a copy
2909         ctor because of the subclasses.)
2910         * rendering/style/CounterDirectives.h: Pack the data members to save space.
2911         Add a clone() function for the HashMap.
2912         * rendering/style/CounterDirectives.cpp:
2913         (WebCore::clone): Make a new HashMap and copy the contents over.
2914         * rendering/style/StyleRareNonInheritedData.cpp:
2915         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Copy
2916         the content and counter directives over.
2917         (WebCore::StyleRareNonInheritedData::operator==): Rather than just comparing
2918         for pointer equality, do a correct check for m_counterDirectives equality.
2919         (WebCore::StyleRareNonInheritedData::counterDataEquivalent):
2920         * rendering/style/StyleRareNonInheritedData.h:
2921
2922 2011-06-07  Robert Kroeger  <rjkroege@chromium.org>
2923
2924         Reviewed by Adam Barth.
2925
2926         [chromium] Add a basic gesture recognizer to the Chromium platform
2927         https://bugs.webkit.org/show_bug.cgi?id=54417
2928
2929         Adds a basic gesture recognizer to the Chromium platform. Adds an entry
2930         point to the GestureRecognizer to reset any internal state on a page reset.
2931         Resetting the gesture recognizer on page load is necesary for reliable
2932         layout test execution and improves gesture recognizer operational
2933         robustness.
2934
2935         Added an additional constructor to permit building a synthetic
2936         PlatformWheelEvent.
2937
2938         Small modifications to the PlatformGestureRecognizer as required to
2939         implement the simple Chromium platform gesture recognizer.
2940
2941         Tests: fast/events/touch/touch-gesture-click.html
2942
2943         * WebCore.gypi:
2944         * page/EventHandler.cpp:
2945         (WebCore::EventHandler::resetGestureRecognizer):
2946         * page/EventHandler.h:
2947         * page/FrameView.cpp:
2948         (WebCore::FrameView::reset):
2949         * platform/PlatformGestureRecognizer.h:
2950         * platform/PlatformWheelEvent.h:
2951         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2952         * platform/chromium/GestureRecognizerChromium.cpp: Added.
2953         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
2954         (WebCore::InnerGestureRecognizer::reset):
2955         (WebCore::InnerGestureRecognizer::~InnerGestureRecognizer):
2956         (WebCore::InnerGestureRecognizer::addEdgeFunction):
2957         (WebCore::InnerGestureRecognizer::isInClickTimeWindow):
2958         (WebCore::InnerGestureRecognizer::isInsideManhattanSquare):
2959         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
2960         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
2961         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
2962         (WebCore::InnerGestureRecognizer::updateValues):
2963         (WebCore::InnerGestureRecognizer::signature):
2964         (WebCore::touchDown):
2965         (WebCore::noGesture):
2966         (WebCore::click):
2967         (WebCore::isClickOrScroll):
2968         (WebCore::inScroll):
2969         (WebCore::PlatformGestureRecognizer::create):
2970         (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
2971         (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
2972         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
2973         (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
2974         * platform/chromium/GestureRecognizerChromium.h: Added.
2975         (WebCore::InnerGestureRecognizer::setState):
2976         (WebCore::InnerGestureRecognizer::state):
2977         (WebCore::GestureRecognizerChromium::reset):
2978         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
2979
2980 2011-06-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
2981
2982         Reviewed by Andreas Kling.
2983
2984         [Texmap][Qt] Enable TextureMapper by default
2985         https://bugs.webkit.org/show_bug.cgi?id=61740
2986
2987         Enable TextureMapper on Windows+Symbian, disabling the direct OpenGL path. This would mean that
2988         for now QtWebKit on Windows/Symbian would use the Qt backend for TextureMapper.
2989
2990         No new functionality so no new tests.
2991
2992         * WebCore.pri:
2993         * WebCore.pro:
2994         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2995         * platform/graphics/qt/TextureMapperQt.cpp:
2996         (WebCore::TextureMapper::create):
2997
2998 2011-06-07  Emil A Eklund  <eae@chromium.org>
2999
3000         Reviewed by Eric Seidel.
3001
3002         Convert RenderBox::absoluteRects to IntPoint
3003         https://bugs.webkit.org/show_bug.cgi?id=62130
3004
3005         Covered by existing tests.
3006
3007         * dom/Node.cpp:
3008         (WebCore::Node::hasNonEmptyBoundingBox):
3009         * rendering/InlineBox.h:
3010         (WebCore::InlineBox::size):
3011         * rendering/RenderBlock.cpp:
3012         (WebCore::RenderBlock::absoluteRects):
3013         * rendering/RenderBlock.h:
3014         * rendering/RenderBox.cpp:
3015         (WebCore::RenderBox::absoluteRects):
3016         * rendering/RenderBox.h:
3017         * rendering/RenderInline.cpp:
3018         (WebCore::RenderInline::absoluteRects):
3019         * rendering/RenderInline.h:
3020         * rendering/RenderObject.cpp:
3021         (WebCore::RenderObject::absoluteBoundingBoxRect):
3022         * rendering/RenderObject.h:
3023         (WebCore::RenderObject::absoluteRects):
3024         * rendering/RenderText.cpp:
3025         (WebCore::RenderText::absoluteRects):
3026         * rendering/RenderText.h:
3027         * rendering/RenderView.cpp:
3028         (WebCore::RenderView::absoluteRects):
3029         * rendering/RenderView.h:
3030         * rendering/svg/RenderSVGBlock.cpp:
3031         (WebCore::RenderSVGBlock::absoluteRects):
3032         * rendering/svg/RenderSVGBlock.h:
3033         * rendering/svg/RenderSVGModelObject.cpp:
3034         (WebCore::RenderSVGModelObject::absoluteRects):
3035         * rendering/svg/RenderSVGModelObject.h:
3036
3037 2011-06-07  Kent Tamura  <tkent@chromium.org>
3038
3039         Reviewed by Andreas Kling.
3040
3041         [Qt] RenderThemeQt::adjustSliderThumbSize() should not refer to the parent style.
3042         https://bugs.webkit.org/show_bug.cgi?id=62207
3043
3044         * css/mediaControlsQt.css: Add comments.
3045         (audio::-webkit-media-controls-timeline):
3046         (video::-webkit-media-controls-timeline):
3047         (audio::-webkit-media-controls-volume-slider):
3048         (video::-webkit-media-controls-volume-slider):
3049         * platform/qt/RenderThemeQt.cpp: Use fixed values to avoid referring to o->parent().
3050         (WebCore::RenderThemeQt::adjustSliderThumbSize):
3051
3052 2011-06-07  Sailesh Agrawal  <sail@chromium.org>
3053
3054         Reviewed by Mihai Parparita.
3055
3056         Chromium Mac: Fork ScrollAnimatorMac to ScrollAnimatorChromiumMac for overlay scrollbar support
3057         https://bugs.webkit.org/show_bug.cgi?id=59753
3058
3059         No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.
3060
3061         * WebCore.gyp/WebCore.gyp: Added IntPointMac.mm. This is used by some functions in ScrollAnimatorChromiumMac. Also added filters for conflicting class names in ScrollAnimatorChromiumMac.
3062         * WebCore.gypi: Added ScrollAnimatorChromiumMac.h/mm.
3063         * platform/ScrollAnimator.cpp: Extended the #ifdef around ScrollAnimator::create() so that the chromium version will be created.
3064         * platform/chromium/ScrollAnimatorChromiumMac.h: Added.
3065         (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
3066         (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
3067         (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
3068         * platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file. Stubbed out ScrollAnimatorChromiumMac::scroll() if smooth scrolling is disabled.
3069         (abs):
3070         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
3071         (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
3072         (-[ScrollAnimationHelperDelegate bounds]):
3073         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
3074         (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
3075         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
3076         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
3077         (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
3078         (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
3079         (-[ScrollAnimationHelperDelegate superview]):
3080         (-[ScrollAnimationHelperDelegate documentView]):
3081         (-[ScrollAnimationHelperDelegate window]):
3082         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
3083         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
3084         (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
3085         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3086         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3087         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
3088         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3089         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3090         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3091         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
3092         (-[ScrollbarPartAnimation setCurrentProgress:]):
3093         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
3094         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
3095         (-[ScrollbarPainterDelegate cancelAnimations]):
3096         (-[ScrollbarPainterDelegate convertRectToBacking:]):
3097         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
3098         (-[ScrollbarPainterDelegate layer]):
3099         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
3100         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
3101         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
3102         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
3103         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
3104         (WebCore::ScrollAnimator::create):
3105         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
3106         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
3107         (WebCore::ScrollAnimatorChromiumMac::scroll):
3108         (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
3109         (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
3110         (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
3111         (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
3112         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
3113         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
3114         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
3115         (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
3116         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
3117         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
3118         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
3119         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
3120         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
3121         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
3122         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
3123         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
3124         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
3125         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
3126         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
3127         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
3128         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
3129         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
3130         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
3131         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
3132         (WebCore::elasticDeltaForTimeDelta):
3133         (WebCore::elasticDeltaForReboundDelta):
3134         (WebCore::reboundDeltaForElasticDelta):
3135         (WebCore::scrollWheelMultiplier):
3136         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
3137         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
3138         (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
3139         (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
3140         (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
3141         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
3142         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
3143         (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
3144         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
3145         (WebCore::roundTowardZero):
3146         (WebCore::roundToDevicePixelTowardZero):
3147         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
3148         (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
3149         (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
3150         (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
3151         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
3152         (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
3153         * platform/graphics/IntPoint.h: Exposed NSPoint conversion routines to chromium mac.
3154
3155 2011-06-07  Sam Weinig  <sam@webkit.org>
3156
3157         Reviewed by Anders Carlsson.
3158
3159         Remove repeated IPC traffic from SetRenderTreeSize message
3160         https://bugs.webkit.org/show_bug.cgi?id=62244
3161
3162         * WebCore.xcodeproj/project.pbxproj:
3163         Make RenderArena.h private so it can be called from WebKit2.
3164
3165         * loader/FrameLoaderClient.h:
3166         (WebCore::FrameLoaderClient::dispatchDidLayout):
3167         Added.
3168
3169         * page/ChromeClient.h:
3170         Remove setRenderTreeSize.
3171
3172         * page/FrameView.cpp:
3173         (WebCore::FrameView::performPostLayoutTasks):
3174         Call dispatchDidLayout for all frames instead of calling setRenderTreeSize
3175         for the main frame.
3176
3177 2011-06-07  Emil A Eklund  <eae@chromium.org>
3178
3179         Reviewed by Eric Seidel.
3180
3181         Change RenderBlock::hitTestContents to IntPoint
3182         https://bugs.webkit.org/show_bug.cgi?id=62170
3183
3184         Covered by existing tests.
3185
3186         * rendering/RenderBlock.cpp:
3187         (WebCore::RenderBlock::nodeAtPoint):
3188         (WebCore::RenderBlock::hitTestColumns):
3189         (WebCore::RenderBlock::hitTestContents):
3190         * rendering/RenderBlock.h:
3191
3192 2011-06-07  Jer Noble  <jer.noble@apple.com>
3193
3194         Reviewed by Eric Carlson.
3195
3196         Video with poster attribute will not display new frames when scrubbing.
3197         https://bugs.webkit.org/show_bug.cgi?id=62036
3198
3199         Remove our "detection" about the end of a scrub now that there is an explicit seek completion
3200         handler available in AVFoundation.  Move what we used to do upon detection in timeChanged()
3201         into seekCompleted().
3202
3203         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3204         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): 
3205         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
3206
3207 2011-06-07  James Simonsen  <simonjam@chromium.org>
3208
3209         Unreviewed, build fix, missing files from r88274.
3210
3211         * bindings/v8/ChildThreadDOMData.cpp: Added.
3212         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
3213         (WebCore::ChildThreadDOMData::getStore):
3214         * bindings/v8/ChildThreadDOMData.h: Added.
3215         * bindings/v8/MainThreadDOMData.cpp: Added.
3216         (WebCore::MainThreadDOMData::MainThreadDOMData):
3217         (WebCore::MainThreadDOMData::getCurrent):
3218         (WebCore::MainThreadDOMData::getMainThreadStore):
3219         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
3220         * bindings/v8/MainThreadDOMData.h: Added.
3221         (WebCore::MainThreadDOMData::getStore):
3222
3223 2011-06-07  Abhishek Arya  <inferno@chromium.org>
3224
3225         Reviewed by Dan Bernstein.
3226
3227         Replicate WidthIterator.cpp fix from r88139.
3228         https://bugs.webkit.org/show_bug.cgi?id=62238
3229
3230         No new tests. Covered by existing layout tests on XP debug bots.
3231
3232         * platform/graphics/win/UniscribeController.cpp:
3233         (WebCore::UniscribeController::advance):
3234
3235 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3236
3237         Unreviewed, rolling out r88221, r88224, and r88231.
3238         http://trac.webkit.org/changeset/88221
3239         http://trac.webkit.org/changeset/88224
3240         http://trac.webkit.org/changeset/88231
3241         https://bugs.webkit.org/show_bug.cgi?id=62233
3242
3243         assert failure on chromium linux debug (Requested by simonjam
3244         on #webkit).
3245
3246         * WebCore.gypi:
3247         * WebCore.pro:
3248         * bindings/v8/ChildThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
3249         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
3250         (WebCore::ChildThreadDOMData::getStore):
3251         * bindings/v8/ChildThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
3252         * bindings/v8/DOMData.cpp:
3253         (WebCore::DOMData::DOMData):
3254         (WebCore::DOMData::getCurrent):
3255         * bindings/v8/DOMData.h:
3256         (WebCore::DOMData::owningThread):
3257         (WebCore::DOMData::handleWeakObject):
3258         * bindings/v8/DOMDataStore.cpp:
3259         (WebCore::DOMDataStore::DOMDataStore):
3260         (WebCore::DOMDataStore::~DOMDataStore):
3261         (WebCore::DOMDataStore::allStoresMutex):
3262         (WebCore::DOMDataStore::weakNodeCallback):
3263         * bindings/v8/DOMDataStore.h:
3264         * bindings/v8/MainThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
3265         (WebCore::MainThreadDOMData::MainThreadDOMData):
3266         (WebCore::MainThreadDOMData::getCurrent):
3267         (WebCore::MainThreadDOMData::getMainThreadStore):
3268         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
3269         * bindings/v8/MainThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
3270         (WebCore::MainThreadDOMData::getStore):
3271         * bindings/v8/V8DOMMap.cpp:
3272         (WebCore::getDOMDataStore):
3273         (WebCore::removeAllDOMObjectsInCurrentThread):
3274         (WebCore::visitDOMNodesInCurrentThread):
3275         (WebCore::visitDOMObjectsInCurrentThread):
3276         (WebCore::visitActiveDOMObjectsInCurrentThread):
3277         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
3278         * bindings/v8/V8DOMMap.h:
3279         * bindings/v8/V8GCController.cpp:
3280         (WebCore::V8GCController::gcPrologue):
3281         (WebCore::V8GCController::gcEpilogue):
3282         * bindings/v8/WorkerScriptController.cpp:
3283         (WebCore::WorkerScriptController::~WorkerScriptController):
3284
3285 2011-06-07  Simon Fraser  <simon.fraser@apple.com>
3286
3287         Reviewed by Dave Hyatt.
3288
3289         Clean up ContentData
3290         https://bugs.webkit.org/show_bug.cgi?id=62185
3291
3292         ContentData did manual ref()/deref() and had a lot of awkward
3293         code from using a union to store data.
3294         
3295         Clean this up by adding ContentData subclasses for different
3296         content types, which are then able to use RefPtr and OwnPtr
3297         as appropriate.
3298
3299         * css/CSSComputedStyleDeclaration.cpp:
3300         (WebCore::contentToCSSValue): Cast to different ContentData types as
3301         appropriate.
3302
3303         * css/CSSStyleSelector.cpp: 
3304         (WebCore::CSSStyleSelector::loadPendingImages): Cast to ImageContentData, and do some
3305         const gyrations.
3306
3307         * html/HTMLBRElement.cpp:
3308         (WebCore::HTMLBRElement::createRenderer): Use hasContent().
3309         * html/HTMLFrameSetElement.cpp:
3310         (WebCore::HTMLFrameSetElement::createRenderer): Ditto
3311         * html/HTMLImageElement.cpp:
3312         (WebCore::HTMLImageElement::createRenderer): Ditto
3313         * rendering/RenderObject.cpp:
3314         (WebCore::RenderObject::createObject): Cast to ImageContentData.
3315         * rendering/RenderObjectChildList.cpp:
3316         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Cast to different ContentData types as
3317         appropriate.
3318
3319         * rendering/style/ContentData.h:
3320         (WebCore::ContentData::~ContentData):
3321         (WebCore::ContentData::isCounter):
3322         (WebCore::ContentData::isImage):
3323         (WebCore::ContentData::isQuote):
3324         (WebCore::ContentData::isText):
3325         (WebCore::ContentData::next):
3326         (WebCore::ContentData::setNext):
3327         (WebCore::ImageContentData::image):
3328         (WebCore::ImageContentData::setImage):
3329         (WebCore::ImageContentData::ImageContentData):
3330         (WebCore::ImageContentData::type):
3331         (WebCore::ImageContentData::isImage):
3332         (WebCore::TextContentData::text):
3333         (WebCore::TextContentData::setText):
3334         (WebCore::TextContentData::TextContentData):
3335         (WebCore::TextContentData::type):
3336         (WebCore::TextContentData::isText):
3337         (WebCore::CounterContentData::counter):
3338         (WebCore::CounterContentData::setCounter):
3339         (WebCore::CounterContentData::CounterContentData):
3340         (WebCore::CounterContentData::type):
3341         (WebCore::CounterContentData::isCounter):
3342         (WebCore::QuoteContentData::quote):
3343         (WebCore::QuoteContentData::setQuote):
3344         (WebCore::QuoteContentData::QuoteContentData):
3345         (WebCore::QuoteContentData::type):
3346         (WebCore::QuoteContentData::isQuote):
3347         Add subclasses for different content types, which are created
3348         via overloaded create() methods on the base class.
3349
3350         * rendering/style/ContentData.cpp:
3351         (WebCore::ContentData::create):
3352         (WebCore::operator==): Test for type equality, followed by comparing data.
3353         (WebCore::operator!=):
3354
3355         * rendering/style/RenderStyle.cpp:
3356         (WebCore::RenderStyle::clearContent):
3357         (WebCore::RenderStyle::appendContent): 
3358         (WebCore::RenderStyle::setContent): Replace the overly complex prepareToSetContent()
3359         code with code that either appends, or replaces the content.
3360         This loses an optimization where the existing ContentData object could get reused,
3361         but this seems to be rarely hit in practice.
3362         * rendering/style/RenderStyle.h:
3363         (WebCore::InheritedFlags::hasContent): Convenience method.
3364         * rendering/style/StyleRareNonInheritedData.cpp:
3365         (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Test
3366         that the pointers are non-null, then use the != operator.
3367         * rendering/style/StyleRareNonInheritedData.h: ContentData is a class now.
3368
3369 2011-06-07  Brian Weinstein  <bweinstein@apple.com>
3370
3371         Build fix after r88260.
3372
3373         * platform/graphics/win/FontCacheWin.cpp:
3374         (WebCore::FontCache::getFontDataForCharacters): Update to use enum instead of bool.
3375         * platform/graphics/wince/FontCacheWinCE.cpp:
3376
3377 2011-06-07  Rob Buis  <rbuis@rim.com>
3378
3379         Reviewed by Dirk Schulze.
3380
3381         stroke-dasharray does not handle "none"
3382         https://bugs.webkit.org/show_bug.cgi?id=62203
3383
3384         Use the initial strokeDashArray style for stroke-dasharray="none" to apply to SVGRenderStyle rather than bailing out.
3385
3386         Tests: svg/W3C-SVG-1.1-SE/styling-css-04-f.svg
3387                svg/custom/invalid-dasharray.svg
3388
3389         * css/SVGCSSStyleSelector.cpp:
3390         (WebCore::CSSStyleSelector::applySVGProperty):
3391
3392 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3393
3394         Unreviewed, rolling out r88259 and r88263.
3395         http://trac.webkit.org/changeset/88259
3396         http://trac.webkit.org/changeset/88263
3397         https://bugs.webkit.org/show_bug.cgi?id=62228
3398
3399         broke builds (Requested by rniwa on #webkit).
3400
3401         * platform/mac/WebCoreSystemInterface.h:
3402         * platform/network/ResourceHandle.h:
3403         * platform/network/cf/ResourceRequest.h:
3404
3405 2011-06-07  Emil A Eklund  <eae@chromium.org>
3406
3407         Reviewed by Eric Seidel.
3408
3409         Switch ContainerNode to use IntPoint
3410         https://bugs.webkit.org/show_bug.cgi?id=61893
3411
3412         Covered by existing tests.
3413
3414         * dom/ContainerNode.cpp:
3415         (WebCore::ContainerNode::getUpperLeftCorner):
3416         (WebCore::ContainerNode::getLowerRightCorner):
3417         (WebCore::ContainerNode::getRect):
3418         Change to use maxX/maxY instead of x+width/y+height
3419         
3420         * platform/graphics/FloatPoint.h:
3421         (WebCore::FloatPoint::move):
3422         (WebCore::FloatPoint::moveBy):
3423         (WebCore::FloatPoint::expandedTo):
3424         Add move, moveBy and expandedTo mirroring the IntPoint implementation of the same.
3425
3426 2011-06-07  Ryosuke Niwa  <rniwa@webkit.org>
3427
3428         Speculative build fix after r88259.
3429
3430         * platform/network/cf/ResourceRequest.h:
3431
3432 2011-06-07  Michael Saboff  <msaboff@apple.com>
3433
3434         Reviewed by Geoffrey Garen.
3435
3436         Need to enable font cache purging in MemoryPressureHandler
3437         https://bugs.webkit.org/show_bug.cgi?id=62060
3438
3439         Improve memory usage under pressure.
3440         Added call to fontCache()->purgeInactiveFontData() in 
3441         MemoryPressureHandler::respondToMemoryPressure().  Added protection to 
3442         MemoryPressureHandler::install() being called multiple times.
3443
3444         No new tests as funtionality wasn't changed.
3445
3446         * platform/MemoryPressureHandler.cpp:
3447         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
3448         * platform/MemoryPressureHandler.h:
3449         * platform/mac/MemoryPressureHandlerMac.mm:
3450         (WebCore::MemoryPressureHandler::install):
3451         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
3452
3453 2011-06-07  Michael Saboff  <msaboff@apple.com>
3454
3455         Reviewed by Geoffrey Garen.
3456
3457         Fonts returned by FontCache::getFontDataForCharacters() are never released
3458         https://bugs.webkit.org/show_bug.cgi?id=61875
3459
3460         This change allows fonts allocated as system fallback fonts to be 
3461         released.  Previously, the reference counts for these fonts grew 
3462         without bound.  This is implemented as an auto release class that wraps
3463         accesses to the cache for system fallback fonts. All such accesses are
3464         via the method FontCache::getFontDataForCharacters. The new class is
3465         called FontCachePurgePreventer. When such an object exists, it protects
3466         these fonts from deletion.
3467
3468         Most accesses to the font cache still use the reference counting
3469         implemented by FontCache::getCacheFontData() and 
3470         FontCache::releaseFontData() and that operation is not affected by
3471         this change.
3472
3473         Added local scoped instance of FontCachePurgePreventer to wrap code
3474         that directly or indirectly accesses fonts via getFontDataForCharacters.
3475         Did a few other miscellaneous bug fixes and changes to allow system
3476         fallback fonts to be pruned from the GlyphPageTree. Changed the
3477         calls to getFontData in the platform specific versions of
3478         Fontcache::getFontDataForCharacters to not increment the reference
3479         count.  Moved the purge font check
3480         outside of FontCache::getCachedFontData() into a separate method, 
3481         purgeInactiveFontDataIfNeeded() since almost all calls to 
3482         getCachedFontData() now happen when purging is not allowed.
3483         purgeInactiveFontDataIfNeeded is invoked in enablePurging() when
3484         m_purgePreventCount is 0.
3485
3486         No new test as the functionality has not changed. Improved font life
3487         cycle management.
3488
3489         * WebCore.exp.in: Added FontCache::purgeInactiveFontDataIfNeeded().
3490         * html/canvas/CanvasRenderingContext2D.cpp:
3491         (WebCore::CanvasRenderingContext2D::measureText):
3492         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3493         Wrapped code accessing fallback fonts with local 
3494         FontCachePurgePreventer in these methods.
3495
3496         * page/FrameView.cpp:
3497         (WebCore::FrameView::layout):
3498         (WebCore::FrameView::paintContents):
3499         Wrapped code accessing fallback fonts with local 
3500         FontCachePurgePreventer in these methods.
3501
3502         * platform/graphics/FontCache.cpp:
3503         (WebCore::FontCache::FontCache):
3504         (WebCore::FontCache::getCachedFontData):
3505         Moved purge check to new method since it likely can't happen here.
3506         (WebCore::FontCache::releaseFontData):
3507         (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
3508         (WebCore::FontCache::purgeInactiveFontData):
3509         Made purging conditional on m_purgePreventCount.  Now some fonts
3510         in the cache are reference counted while other can be purged 
3511         outside of code wrapped by in scope FontCachePurgePreventer objects.
3512
3513         * platform/graphics/FontCache.h:
3514         (WebCore::FontCache::disablePurging):
3515         (WebCore::FontCache::enablePurging):
3516         (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
3517         (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
3518         Added new simple purge prevention wrapper class and methods
3519         that it calls in FontCache actually prevent purging.  The
3520         simple methods inlined to reduce overhead.
3521
3522         * platform/graphics/FontFastPath.cpp:
3523         (WebCore::Font::glyphDataForCharacter): Update level in 
3524         glyph page tree for system fallback fonts so pruning works.
3525
3526         * platform/graphics/GlyphPage.h:
3527         (WebCore::GlyphPage::clearForFontData): New method used for pruning
3528         * platform/graphics/GlyphPageTreeNode.cpp:
3529         (WebCore::GlyphPageTreeNode::pruneFontData):
3530         Now we prune system fallback fonts.
3531
3532         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3533         (WebCore::FontCache::getFontDataForCharacters):
3534         * platform/graphics/freetype/FontCacheFreeType.cpp:
3535         (WebCore::FontCache::getFontDataForCharacters):
3536         * platform/graphics/haiku/FontCacheHaiku.cpp:
3537         (WebCore::FontCache::getFontDataForCharacters):
3538         * platform/graphics/mac/FontCacheMac.mm:
3539         (WebCore::FontCache::getFontDataForCharacters):
3540         * platform/graphics/qt/FontCacheQt.cpp:
3541         (WebCore::FontCache::getFontDataForCharacters):
3542         * platform/graphics/win/FontCacheWin.cpp:
3543         (WebCore::FontCache::getFontDataForCharacters):
3544         * platform/graphics/wince/FontCacheWinCE.cpp:
3545         * platform/graphics/wx/FontCacheWx.cpp:
3546         (WebCore::FontCache::getFontDataForCharacters):
3547         Changed the calls to getFontData() to not increment the reference
3548         count. The caller of this getFontDataForCharacters() (currently only
3549         Font::glyphDataForCharacter() in fontFastPath.cpp) and it's callers
3550         don't attempt to release the returned fonts so we use the purge
3551         protection described above.
3552
3553         * rendering/InlineTextBox.cpp:
3554         (WebCore::InlineTextBox::selectionRect):
3555         (WebCore::InlineTextBox::offsetForPosition):
3556         (WebCore::InlineTextBox::positionForOffset):
3557         Wrapped code accessing fallback fonts with local
3558         FontCachePurgePreventer in these methods.
3559
3560         * rendering/RenderImage.cpp:
3561         (WebCore::RenderImage::setImageSizeForAltText):
3562         Wrapped code accessing fallback fonts with local
3563         FontCachePurgePreventer in this method.
3564
3565         * rendering/RenderListBox.cpp:
3566         (WebCore::RenderListBox::updateFromElement):
3567         (WebCore::RenderListBox::paintItemForeground):
3568         Wrapped code accessing fallback fonts with local
3569         FontCachePurgePreventer in these methods
3570
3571         * rendering/svg/SVGInlineTextBox.cpp:
3572         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
3573         Wrapped code accessing fallback fonts with local
3574         FontCachePurgePreventer in this method.
3575
3576 2011-06-07  Tim Horton  <timothy_horton@apple.com>
3577
3578         Reviewed by Alexey Proskuryakov.
3579
3580         Use correct CFURLStorageSessionRef definition on Snow Leopard
3581         https://bugs.webkit.org/show_bug.cgi?id=62223
3582
3583         * platform/mac/WebCoreSystemInterface.h:
3584         * platform/network/ResourceHandle.h:
3585         * platform/network/cf/ResourceRequest.h:
3586
3587 2011-06-07  Alok Priyadarshi  <alokp@chromium.org>
3588
3589         Reviewed by Stephen White.
3590
3591         [chromium] PlatformContextSkia leaks SkDeviceFactory
3592         https://bugs.webkit.org/show_bug.cgi?id=62163
3593
3594         Valgrind tests should have caught this.
3595
3596         * platform/graphics/skia/PlatformContextSkia.cpp:
3597         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
3598
3599 2011-06-07  Emil A Eklund  <eae@chromium.org>
3600
3601         Reviewed by Eric Seidel.
3602
3603         Convert RenderTextControl::hitInnerTextElement to IntPoint
3604         https://bugs.webkit.org/show_bug.cgi?id=62167
3605
3606         Covered by existing tests.
3607
3608         * rendering/RenderTextControl.cpp:
3609         (WebCore::RenderTextControl::hitInnerTextElement):
3610         * rendering/RenderTextControl.h:
3611         * rendering/RenderTextControlMultiLine.cpp:
3612         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
3613         * rendering/RenderTextControlSingleLine.cpp:
3614         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3615
3616 2011-06-07  Levi Weintraub  <leviw@chromium.org>
3617
3618         Reviewed by Eric Seidel.
3619
3620         Switch paint to use IntPoint
3621         https://bugs.webkit.org/show_bug.cgi?id=62177
3622
3623         Flipping the switch on the remaining paint functions to have them all
3624         use IntPoint for the paint offset instead of tx/ty.
3625
3626         No new tests since this is just refactoring.
3627
3628         * page/FrameView.cpp:
3629         (WebCore::FrameView::paintScrollCorner):
3630         * rendering/InlineBox.cpp:
3631         (WebCore::InlineBox::paint):
3632         * rendering/RenderBlock.cpp:
3633         (WebCore::RenderBlock::paint):
3634         (WebCore::RenderBlock::paintContents):
3635         (WebCore::RenderBlock::paintChildren):
3636         (WebCore::RenderBlock::paintFloats):
3637         * rendering/RenderBlock.h:
3638         * rendering/RenderBox.cpp:
3639         (WebCore::RenderBox::paint):
3640         * rendering/RenderBox.h:
3641         * rendering/RenderBoxModelObject.cpp:
3642         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3643         * rendering/RenderDetailsMarker.cpp:
3644         (WebCore::RenderDetailsMarker::paint):
3645         * rendering/RenderDetailsMarker.h:
3646         * rendering/RenderEmbeddedObject.cpp:
3647         (WebCore::RenderEmbeddedObject::paint):
3648         * rendering/RenderEmbeddedObject.h:
3649         * rendering/RenderFrameSet.cpp:
3650         (WebCore::RenderFrameSet::paint):
3651         * rendering/RenderFrameSet.h:
3652         * rendering/RenderImage.cpp:
3653         (WebCore::RenderImage::paint):
3654         * rendering/RenderImage.h:
3655         * rendering/RenderInline.cpp:
3656         (WebCore::RenderInline::paint):
3657         * rendering/RenderInline.h:
3658         * rendering/RenderLayer.cpp:
3659         (WebCore::RenderLayer::paintScrollCorner):
3660         (WebCore::RenderLayer::paintResizer):
3661         (WebCore::RenderLayer::paintLayer):
3662         * rendering/RenderLayerBacking.cpp:
3663         (WebCore::RenderLayerBacking::paintIntoLayer):
3664         * rendering/RenderLineBoxList.cpp:
3665         (WebCore::RenderLineBoxList::paint):
3666         * rendering/RenderLineBoxList.h:
3667         * rendering/RenderListItem.cpp:
3668         (WebCore::RenderListItem::paint):
3669         * rendering/RenderListItem.h:
3670         * rendering/RenderListMarker.cpp:
3671         (WebCore::RenderListMarker::paint):
3672         * rendering/RenderListMarker.h:
3673         * rendering/RenderObject.cpp:
3674         (WebCore::RenderObject::paint):
3675         * rendering/RenderObject.h:
3676         * rendering/RenderReplaced.cpp:
3677         (WebCore::RenderReplaced::paint):
3678         * rendering/RenderReplaced.h:
3679         * rendering/RenderReplica.cpp:
3680         (WebCore::RenderReplica::paint):
3681         * rendering/RenderReplica.h:
3682         * rendering/RenderScrollbar.cpp:
3683         (WebCore::RenderScrollbar::paintPart):
3684         * rendering/RenderScrollbarPart.cpp:
3685         (WebCore::RenderScrollbarPart::paintIntoRect):
3686         * rendering/RenderScrollbarPart.h:
3687         * rendering/RenderTable.cpp:
3688         (WebCore::RenderTable::paint):
3689         (WebCore::RenderTable::paintObject):
3690         * rendering/RenderTable.h:
3691         * rendering/RenderTableCell.cpp:
3692         (WebCore::RenderTableCell::paint):
3693         * rendering/RenderTableCell.h:
3694         * rendering/RenderTableRow.cpp:
3695         (WebCore::RenderTableRow::paint):
3696         * rendering/RenderTableRow.h:
3697         * rendering/RenderTableSection.cpp:
3698         (WebCore::RenderTableSection::paint):
3699         (WebCore::RenderTableSection::paintCell):
3700         * rendering/RenderTableSection.h:
3701         * rendering/RenderText.h:
3702         (WebCore::RenderText::paint):
3703         * rendering/RenderTextControlSingleLine.cpp:
3704         (WebCore::RenderTextControlSingleLine::paint):
3705         * rendering/RenderTextControlSingleLine.h:
3706         * rendering/RenderView.cpp:
3707         (WebCore::RenderView::paint):
3708         * rendering/RenderView.h:
3709         * rendering/RenderWidget.cpp:
3710         (WebCore::RenderWidget::paint):
3711         * rendering/RenderWidget.h:
3712         * rendering/mathml/RenderMathMLBlock.cpp:
3713         (WebCore::RenderMathMLBlock::paint):
3714         * rendering/mathml/RenderMathMLBlock.h:
3715         * rendering/mathml/RenderMathMLFraction.cpp:
3716         (WebCore::RenderMathMLFraction::paint):
3717         * rendering/mathml/RenderMathMLFraction.h:
3718         * rendering/mathml/RenderMathMLRoot.cpp:
3719         (WebCore::RenderMathMLRoot::paint):
3720         * rendering/mathml/RenderMathMLRoot.h:
3721         * rendering/mathml/RenderMathMLSquareRoot.cpp:
3722         (WebCore::RenderMathMLSquareRoot::paint):
3723         * rendering/mathml/RenderMathMLSquareRoot.h:
3724         * rendering/svg/RenderSVGContainer.cpp:
3725         (WebCore::RenderSVGContainer::paint):
3726         * rendering/svg/RenderSVGContainer.h:
3727         * rendering/svg/RenderSVGForeignObject.cpp:
3728         (WebCore::RenderSVGForeignObject::paint):
3729         * rendering/svg/RenderSVGForeignObject.h:
3730         * rendering/svg/RenderSVGHiddenContainer.cpp:
3731         (WebCore::RenderSVGHiddenContainer::paint):
3732         * rendering/svg/RenderSVGHiddenContainer.h:
3733         * rendering/svg/RenderSVGImage.cpp:
3734         (WebCore::RenderSVGImage::paint):
3735         * rendering/svg/RenderSVGImage.h:
3736         * rendering/svg/RenderSVGPath.cpp:
3737         (WebCore::RenderSVGPath::paint):
3738         * rendering/svg/RenderSVGPath.h:
3739         * rendering/svg/RenderSVGResourceMarker.cpp:
3740         (WebCore::RenderSVGResourceMarker::draw):
3741         * rendering/svg/RenderSVGRoot.cpp:
3742         (WebCore::RenderSVGRoot::paint):
3743         * rendering/svg/RenderSVGRoot.h:
3744         * rendering/svg/RenderSVGText.cpp:
3745         (WebCore::RenderSVGText::paint):
3746         * rendering/svg/RenderSVGText.h:
3747         * rendering/svg/SVGImageBufferTools.cpp:
3748         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
3749
3750 2011-06-07  Young Han Lee  <joybro@company100.net>
3751
3752         Reviewed by Kenneth Rohde Christiansen.
3753
3754         [Texmap][Qt] Accelerated animation is not paused properly.
3755         https://bugs.webkit.org/show_bug.cgi?id=61446
3756
3757         The transform matrix of an accelerated animation shouldn't be synced with the matrix of the GraphicsLayer when the animation is paused.
3758
3759         Test: animations/play-state-paused.html
3760
3761         * platform/graphics/texmap/TextureMapperNode.cpp:
3762         (WebCore::TextureMapperNode::syncCompositingStateSelf):
3763         (WebCore::TextureMapperNode::hasOpacityAnimation):
3764         (WebCore::TextureMapperNode::hasTransformAnimation):
3765         * platform/graphics/texmap/TextureMapperNode.h:
3766
3767 2011-06-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3768
3769         Reviewed by Antonio Gomes.
3770
3771         [EFL] Remove Ecore_X bits from PlatformScreenEfl
3772         https://bugs.webkit.org/show_bug.cgi?id=61649
3773
3774         Remove the need for Ecore_X and some X calls by always using
3775         new functions available in EFL to get the screen size.
3776
3777         No new tests since the same functionality are done inside EFL now.
3778
3779         * platform/efl/PlatformScreenEfl.cpp:
3780         (WebCore::screenRect):
3781
3782 2011-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3783
3784         Reviewed by Martin Robinson.
3785
3786         [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
3787         https://bugs.webkit.org/show_bug.cgi?id=62200
3788
3789         In WebKit2 PluginPackage is used by the UI process to load plugins
3790         in order to get information about them, but it doesn't use any GTK
3791         symbol. So the UI process should be able to load plugins even when
3792         building with GTK3, but we should not allow the plugin view to use
3793         the plugin if it mixes GTK2 and GTK3 symbols.
3794
3795         * plugins/PluginPackage.h:
3796         (WebCore::PluginPackage::module): New method to return the
3797         platform module.
3798         * plugins/gtk/PluginPackageGtk.cpp:
3799         (WebCore::PluginPackage::load): Remove moduleMixesGtkSymbols().
3800         * plugins/gtk/PluginViewGtk.cpp:
3801         (WebCore::PluginView::updatePluginWidget): Check whether plugin
3802         was successfully loaded before trying to create the drawable.
3803         (WebCore::PluginView::paint): Return early if plugin didn't start
3804         or was not successfully loaded.
3805         (WebCore::PluginView::handleKeyboardEvent): Ditto.
3806         (WebCore::PluginView::handleMouseEvent): Ditto.
3807         (WebCore::PluginView::handleFocusInEvent): Ditto.
3808         (WebCore::PluginView::handleFocusOutEvent): Ditto.
3809         (WebCore::moduleMixesGtkSymbols):
3810         (WebCore::PluginView::platformStart): Check whether module is
3811         mixing GTK+ 2 and GTK+ 3 symbols.
3812
3813 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3814
3815         Unreviewed, rolling out r88238.
3816         http://trac.webkit.org/changeset/88238
3817         https://bugs.webkit.org/show_bug.cgi?id=62216
3818
3819         Broke a couple of inspector tests (Requested by apavlov on
3820         #webkit).
3821
3822         * inspector/front-end/StylesSidebarPane.js:
3823         (WebInspector.StylesSidebarPane.prototype.update):
3824
3825 2011-06-07  Dinu Jacob  <dinu.jacob@nokia.com>
3826
3827         Reviewed by Dimitri Glazkov.
3828
3829         Inform ChromeClient touch events are not needed by the webpage when navigating away from the page instead of in both Document:detach/CachedFrame
3830         https://bugs.webkit.org/show_bug.cgi?id=61543
3831
3832         Inform chrome client that touch events are not needed by the webpage 
3833         when navigating away from the page only once to avoid the flag being 
3834         overwritten later if a page is removed from the page cache
3835
3836         * dom/Document.cpp:
3837         (WebCore::Document::detach):
3838         * history/CachedFrame.cpp:
3839         (WebCore::CachedFrame::CachedFrame):
3840         * loader/FrameLoader.cpp:
3841         (WebCore::FrameLoader::transitionToCommitted):
3842
3843 2011-06-07  Alexander Pavlov  <apavlov@chromium.org>
3844
3845         Reviewed by Yury Semikhatsky.
3846
3847         Web Inspector: node selection is slow in the Elements panel.
3848         https://bugs.webkit.org/show_bug.cgi?id=60813
3849
3850         Schedule full style updates rather than request all node styles from the backend immediately.
3851
3852         * inspector/front-end/StylesSidebarPane.js:
3853         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
3854         (WebInspector.StylesSidebarPane.prototype.update):
3855
3856 2011-06-07  Yury Semikhatsky  <yurys@chromium.org>
3857
3858         Reviewed by Pavel Feldman.
3859
3860         Web Inspector: remove duplicate breakpoints from localStorage
3861         https://bugs.webkit.org/show_bug.cgi?id=62206
3862
3863         Perform one-time breakpoint storage cleanup to get rid of duplicate breakpoints in
3864         case when settings version is less than 1. 
3865
3866         * inspector/front-end/Settings.js:
3867         (WebInspector.Settings):
3868         (WebInspector.Settings.prototype._set):
3869         (WebInspector.Settings.prototype._migrateSettings.splitObjects):
3870         (WebInspector.Settings.prototype._migrateSettings.removeDuplicateObjects):
3871         (WebInspector.Settings.prototype._migrateSettings):
3872
3873 2011-06-03  Yury Semikhatsky  <yurys@chromium.org>
3874
3875         Reviewed by Pavel Feldman.
3876
3877         [Chromium] Web Inspector: correctly handle disconnect from worker when script execution is paused
3878         https://bugs.webkit.org/show_bug.cgi?id=62019
3879
3880         Dispatch disconnecFrontend message in debugger task mode to make sure
3881         it is processed even if execution is paused.
3882
3883         * bindings/v8/WorkerScriptDebugServer.cpp:
3884         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
3885         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
3886         * bindings/v8/WorkerScriptDebugServer.h:
3887
3888 2011-06-07  Felician Marton  <marton.felician.zoltan@stud.u-szeged.hu>
3889
3890         Reviewed by Nikolas Zimmermann.
3891
3892         SVG animation beginElement() does not restart the animation after endElement().
3893         https://bugs.webkit.org/show_bug.cgi?id=43452
3894
3895         Test: svg/animations/animate-endElement-beginElement.html
3896
3897         Calling beginElement() after calling endElement() previously does not restarted the animation when animation
3898         element's end attribute doesn't contains a bigger value than the current animation time.
3899
3900         * svg/animation/SVGSMILElement.cpp:
3901         (WebCore::SVGSMILElement::findInstanceTime):
3902
3903 2011-06-07  Naoki Takano  <takano.naoki@gmail.com>
3904
3905         Reviewed by Kent Tamura.
3906
3907         [Chromium] Click event is not fired for a menulist <select>
3908         https://bugs.webkit.org/show_bug.cgi?id=60563
3909
3910         Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.
3911
3912         * platform/chromium/PopupMenuChromium.cpp:
3913         (WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
3914         (WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
3915         (WebCore::PopupListBox::acceptIndex): Change to return accepted or not.
3916
3917 2011-06-07  Andras Becsi  <abecsi@webkit.org>
3918
3919         Reviewed by Yury Semikhatsky.
3920  
3921         REGRESSION(r88221): "Chromium debug compilation broken".
3922         https://bugs.webkit.org/show_bug.cgi?id=62197
3923
3924         No new tests needed.
3925
3926         * bindings/v8/V8GCController.cpp: Also rename call-sites.
3927         (WebCore::V8GCController::gcPrologue):
3928         (WebCore::V8GCController::gcEpilogue):
3929
3930 2011-06-07  MORITA Hajime  <morrita@google.com>
3931
3932         Unreviewed, rolling out r88212 and r88219.
3933         http://trac.webkit.org/changeset/88212
3934         http://trac.webkit.org/changeset/88219
3935         https://bugs.webkit.org/show_bug.cgi?id=57439
3936
3937         Tests get timeout at Snow Leopard
3938
3939         * css/html.css:
3940         (html:focus, body:focus, input[readonly]:focus):
3941         * rendering/RenderWidget.cpp:
3942         (WebCore::RenderWidget::paint):
3943
3944 2011-06-07  Andras Becsi  <abecsi@webkit.org>
3945
3946         Rubber-stamped by Csaba Osztrogonác.
3947
3948         [Qt][V8] Fix the build after 88221.
3949
3950         No new tests needed.
3951
3952         * WebCore.pro: Remove non-existing files.
3953         * bindings/v8/V8DOMMap.cpp: 
3954         (WebCore::removeAllDOMObjects): Also rename the definition of the function.
3955
3956 2011-06-06  Dmitry Lomov  <dslomov@google.com>
3957
3958         Reviewed by Adam Barth.
3959
3960         https://bugs.webkit.org/show_bug.cgi?id=62164
3961         Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
3962         This functionality is untested and unused:
3963         This is an old code from Lockers-based implementation of WebWorkers in
3964         V8 bindings, to make sure that DOM objects are released on the right thread
3965         even though GC could have happened on any thread. It is currently unused (since
3966         current model is one worker per process) and is being removed because new implementation
3967         of WebWorkers will be using V8 isolates.
3968
3969         * WebCore.gypi:
3970         * bindings/v8/ChildThreadDOMData.cpp: Removed.
3971         * bindings/v8/ChildThreadDOMData.h: Removed.
3972         * bindings/v8/DOMData.cpp:
3973         (WebCore::DOMData::DOMData):
3974         (WebCore::DOMData::getCurrent):
3975         (WebCore::DOMData::getMainThreadStore):
3976         * bindings/v8/DOMData.h:
3977         (WebCore::DOMData::getStore):
3978         (WebCore::DOMData::getCurrentMainThreadStore):
3979         (WebCore::DOMData::handleWeakObject):
3980         * bindings/v8/DOMDataStore.cpp:
3981         (WebCore::DOMDataStore::DOMDataStore):
3982         (WebCore::DOMDataStore::~DOMDataStore):
3983         (WebCore::DOMDataStore::weakNodeCallback):
3984         * bindings/v8/DOMDataStore.h:
3985         * bindings/v8/MainThreadDOMData.cpp: Removed.
3986         * bindings/v8/MainThreadDOMData.h: Removed.
3987         * bindings/v8/V8DOMMap.cpp:
3988         (WebCore::getDOMDataStore):
3989         (WebCore::visitDOMNodes):
3990         (WebCore::visitDOMObjects):
3991         (WebCore::visitActiveDOMObjects):
3992         (WebCore::visitDOMSVGElementInstances):
3993         * bindings/v8/V8DOMMap.h:
3994         * bindings/v8/V8GCController.cpp:
3995         (WebCore::V8GCController::gcPrologue):
3996         (WebCore::V8GCController::gcEpilogue):
3997         * bindings/v8/WorkerScriptController.cpp:
3998         (WebCore::WorkerScriptController::~WorkerScriptController):
3999
4000 2011-06-06  Nico Weber  <thakis@chromium.org>
4001
4002         Reviewed by Adam Barth.
4003
4004         [chromium] Make VideoFrameChromium's destructor virtual
4005         https://bugs.webkit.org/show_bug.cgi?id=62186
4006
4007         This fixes a real bug, since WebMediaPlayerClientImpl::putCurrentFrame
4008         deletes a VideoFrameChromium subclass type through this interface
4009         class, causing ~VideoFrameChromiumImpl's destructor not to run.
4010         (VideoFrameChroimumImpl happens to not have a destructor or any
4011         non-POD member variables, so it's more a latent bug.)
4012
4013         * platform/graphics/chromium/VideoFrameChromium.cpp:
4014         (WebCore::VideoFrameChromium::~VideoFrameChromium):
4015         * platform/graphics/chromium/VideoFrameChromium.h:
4016
4017 2011-06-06  Simon Fraser  <simon.fraser@apple.com>
4018
4019         Reviewed by Sammy Weinig.
4020
4021         Remove some unnecessary includes from AnimationBase.cpp
4022         https://bugs.webkit.org/show_bug.cgi?id=62183
4023
4024         * page/animation/AnimationBase.cpp:
4025
4026 2011-06-06  Kent Tamura  <tkent@chromium.org>
4027
4028         Unreviewed, a crash fix by a roll out.
4029
4030         REGRESSION(r87980): Null pointer dereference in RenderTextControl::setInnerText()
4031         https://bugs.webkit.org/show_bug.cgi?id=62116
4032
4033         Roll out the WebCore part of r87980.
4034
4035         * html/SearchInputType.cpp:
4036         (WebCore::SearchInputType::SearchInputType):
4037         (WebCore::SearchInputType::createShadowSubtree):
4038         (WebCore::SearchInputType::destroyShadowSubtree):
4039         * html/SearchInputType.h:
4040         (WebCore::SearchInputType::innerBlockElement):
4041         (WebCore::SearchInputType::resultsButtonElement):
4042         (WebCore::SearchInputType::cancelButtonElement):
4043         * html/TextFieldInputType.cpp:
4044         (WebCore::TextFieldInputType::TextFieldInputType):
4045         (WebCore::TextFieldInputType::createShadowSubtree):
4046         (WebCore::TextFieldInputType::destroyShadowSubtree):
4047         * html/TextFieldInputType.h:
4048         (WebCore::TextFieldInputType::innerTextElement):
4049         (WebCore::TextFieldInputType::innerSpinButtonElement):
4050         (WebCore::TextFieldInputType::speechButtonElement):
4051         (WebCore::TextFieldInputType::setInnerTextElement):
4052         (WebCore::TextFieldInputType::setSpeechButtonElement):
4053         * html/shadow/TextControlInnerElements.cpp:
4054         * html/shadow/TextControlInnerElements.h:
4055
4056 2011-06-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
4057
4058         Reviewed by Simon Fraser.
4059
4060         Allow copying of KeyframeValueList.
4061         https://bugs.webkit.org/show_bug.cgi?id=62171
4062
4063         Make a deep copy of KeyframeValueList, copying each of the keyframes with a virtual clone() function.
4064
4065         No new functionality so no new tests.
4066
4067         * platform/graphics/GraphicsLayer.h:
4068         (WebCore::FloatAnimationValue::clone):
4069         (WebCore::TransformAnimationValue::TransformAnimationValue):
4070         (WebCore::TransformAnimationValue::clone):
4071         (WebCore::TransformAnimationValue::value):
4072         (WebCore::KeyframeValueList::KeyframeValueList):
4073
4074 2011-06-06  Simon Fraser  <simon.fraser@apple.com>
4075
4076         Reviewed by Dan Bernstein.
4077
4078         Incorrect rounding of color values during transitions
4079         https://bugs.webkit.org/show_bug.cgi?id=62141
4080         
4081         When blending integers, round to the nearest integer, instead of always rounding down.
4082
4083         Test: transitions/color-transition-rounding.html
4084
4085         * page/animation/AnimationBase.cpp:
4086         (WebCore::blendFunc):
4087
4088 2011-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
4089
4090         Unreviewed, rolling out r88202.
4091         http://trac.webkit.org/changeset/88202
4092         https://bugs.webkit.org/show_bug.cgi?id=62182
4093
4094         This broke the mac clang bot (Requested by koz__ on #webkit).
4095
4096         * dom/Node.cpp:
4097         (WebCore::Node::hasNonEmptyBoundingBox):
4098         * rendering/InlineBox.h:
4099         * rendering/RenderBlock.cpp:
4100         (WebCore::RenderBlock::absoluteRects):
4101         * rendering/RenderBlock.h: