eb0e42f8eed9ea145756f1e5d9511878cf18afcd
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-02-04  Andrey Kosyakov  <caseq@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: support overriding user agent strings
6         https://bugs.webkit.org/show_bug.cgi?id=51485
7
8         Test: http/tests/inspector/extensions-useragent.html
9
10         * inspector/Inspector.idl:
11         * inspector/InspectorController.cpp:
12         (WebCore::InspectorController::disconnectFrontend):
13         (WebCore::InspectorController::setUserAgentOverride):
14         (WebCore::InspectorController::userAgentOverride):
15         * inspector/InspectorController.h:
16         * inspector/front-end/ExtensionAPI.js:
17         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
18         * inspector/front-end/ExtensionServer.js:
19         (WebInspector.ExtensionServer.prototype._onReload):
20         * loader/FrameLoader.cpp:
21         (WebCore::FrameLoader::userAgent):
22         (WebCore::FrameLoader::applyUserAgent):
23
24 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
25
26         Reviewed by Pavel Feldman.
27
28         Web Inspector: scripts panel displays wrong file name after reload.
29         https://bugs.webkit.org/show_bug.cgi?id=53761
30
31         * inspector/front-end/ScriptsPanel.js:
32         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
33
34 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
35
36         Reviewed by Pavel Feldman.
37
38         Web Inspector: remove settings related methods from InspectorClient
39         https://bugs.webkit.org/show_bug.cgi?id=53686
40
41         * WebCore.exp.in:
42         * inspector/CodeGeneratorInspector.pm:
43         * inspector/InspectorClient.h:
44         * inspector/InspectorFrontendClientLocal.cpp:
45         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
46         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
47         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
48         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
49         provide platform-specific settings accessor.
50         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
51         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
52         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
53         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
54         * loader/EmptyClients.h:
55
56 2011-02-03  Anton Muhin  <antonm@chromium.org>
57
58         Reviewed by Adam Barth.
59
60         [v8] frame several more JS code invocations into v8::TryCatch
61         https://bugs.webkit.org/show_bug.cgi?id=53594
62
63         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
64         in v8::ThrowException---currently sometimes exceptions thrown by this method
65         do not reach surrounding v8::TryCatch handler (see
66         http://code.google.com/p/v8/issues/detail?id=1072 and
67         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
68         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
69         one rebaseline as of now.)
70
71         * bindings/v8/V8Proxy.cpp:
72         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
73         * bindings/v8/V8WindowErrorHandler.cpp:
74         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
75
76 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
77
78         Reviewed by Dan Bernstein.
79
80         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
81         https://bugs.webkit.org/show_bug.cgi?id=52897
82         <rdar://problem/8898294>
83
84         * WebCore.exp.in: Add export now needed by WebKit2
85
86 2011-02-03  Victoria Kirst  <vrk@google.com>
87
88         Reviewed by James Robinson.
89
90         Replaces float literals with uniform values in shader code
91         so that buggy drivers unable to parse float values in different
92         locales will not produce a pink video.
93
94         [chromium] Fix pink video bug with gpu-acceleration enabled
95         https://bugs.webkit.org/show_bug.cgi?id=53568
96
97         * platform/graphics/chromium/VideoLayerChromium.cpp:
98         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
99         (WebCore::VideoLayerChromium::drawYUV):
100         * platform/graphics/chromium/VideoLayerChromium.h:
101         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
102
103 2011-02-03  James Kozianski  <koz@chromium.org>
104
105         Reviewed by Dimitri Glazkov.
106
107         Add navigator.registerProtocolHandler behind a flag.
108         https://bugs.webkit.org/show_bug.cgi?id=52609
109
110         This method is described in the HTML5 specification here,
111         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
112
113         This change is largely cribbed from B. Green's 29651 patches. It is
114         behind a flag so as not to break JS feature detection.
115
116         New layout test fast/dom/registerProtocolHandler.html.
117
118         * Configurations/FeatureDefines.xcconfig:
119         * loader/EmptyClients.h:
120         (WebCore::EmptyChromeClient::registerProtocolHandler):
121         * page/Chrome.cpp:
122         (WebCore::Chrome::registerProtocolHandler):
123         * page/Chrome.h:
124         * page/ChromeClient.h:
125         * page/Navigator.cpp:
126         (WebCore::verifyCustomHandlerURL):
127         (WebCore::verifyProtocolHandlerScheme):
128         (WebCore::Navigator::registerProtocolHandler):
129         * page/Navigator.h:
130         * page/Navigator.idl:
131
132 2011-02-03  Brian Ryner  <bryner@chromium.org>
133
134         Reviewed by Darin Fisher.
135
136         Add a field to the ResourceResponse for tracking the socket address
137         of the host that the resource was fetched from.  Patch was originally
138         by Paul Marks.
139         https://bugs.webkit.org/show_bug.cgi?id=53699
140
141         * platform/network/chromium/ResourceResponse.cpp:
142         (WebCore::ResourceResponse::doPlatformCopyData):
143         (WebCore::ResourceResponse::doPlatformAdopt):
144         * platform/network/chromium/ResourceResponse.h:
145         (WebCore::ResourceResponse::socketAddress):
146         (WebCore::ResourceResponse::setSocketAddress):
147
148 2011-02-03  Adam Langley  <agl@chromium.org>
149
150         Reviewed by Adam Barth.
151
152         Plumb mixed script URL to FrameLoaderClient
153         https://bugs.webkit.org/show_bug.cgi?id=52384
154
155         Regressions covered by http/tests/security/mixedContent/*
156
157         * loader/EmptyClients.h:
158         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
159         * loader/FrameLoader.cpp:
160         (WebCore::FrameLoader::checkIfRunInsecureContent):
161         * loader/FrameLoaderClient.h:
162
163 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
164
165         Reviewed by Dan Bernstein.
166
167         REGRESSION: Artifacts on box-shadow corners in some cases
168         https://bugs.webkit.org/show_bug.cgi?id=53731
169
170         Fix overdrawing artifacts in ShadowBlur's tiling code path,
171         which show up in shadows using a color with alpha.
172         
173         Test: fast/box-shadow/shadow-tiling-artifact.html
174
175         * platform/graphics/ShadowBlur.cpp:
176         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
177         that the inner rect that gets filled does not overlap with any
178         of the eight tiled areas by having the corner and side dimensions
179         be the same for contiguous areas.
180
181 2011-02-03  Adam Barth  <abarth@webkit.org>
182
183         Reviewed by Alexey Proskuryakov.
184
185         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
186         percent signs in large posted data
187         https://bugs.webkit.org/show_bug.cgi?id=53405
188
189         If the input string contains many non-% characters followed by a %
190         character that is not a valid URL escape sequence, then the old
191         algorithm would only advance the initial search by one character
192         (instead of jumping to just after the % character).  That would cause
193         the algorithm to take N^2 time (in the number of characters before the
194         first % character).  This patch just advances the search past the first
195         % character so we can start looking for next % character sooner.
196
197         * platform/KURL.cpp:
198         (WebCore::decodeURLEscapeSequences):
199
200 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
201
202         Reviewed by Pavel Feldman.
203
204         Web Inspector: click on a breakpoint highlights wrong line in source frame.
205         https://bugs.webkit.org/show_bug.cgi?id=53692
206
207         * inspector/front-end/BreakpointsSidebarPane.js:
208         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
209
210 2011-02-03  Anton Muhin  <antonm@chromium.org>
211
212         Reviewed by Adam Barth.
213
214         [v8] Bail out if to string conversion returned empty handle
215         https://bugs.webkit.org/show_bug.cgi?id=53687
216
217         This a temporary measure: actually one probably should never get empty handle
218         if there was no exception.  The root cause is under investigation.
219         The bailout though allows Chromium not to crash---attempt to convert an empty
220         v8 hande into WebCore string crashes with invalid memory access.
221
222         See http://code.google.com/p/chromium/issues/detail?id=71544
223
224         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
225
226         * bindings/v8/V8Binding.cpp:
227         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
228         * bindings/v8/V8Binding.h:
229         (WebCore::V8ParameterBase::prepareBase): Ditto
230
231 2011-02-03  Adam Barth  <abarth@webkit.org>
232
233         Attempt to fix Chromium build.
234
235         * html/parser/XSSFilter.cpp:
236
237 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
238
239         Unreviewed, rolling out r77562.
240         http://trac.webkit.org/changeset/77562
241         https://bugs.webkit.org/show_bug.cgi?id=53630
242
243         broke chromium mac build
244
245         * WebCore.gyp/WebCore.gyp:
246         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
247
248 2011-02-03  Adam Barth  <abarth@webkit.org>
249
250         Reviewed by Daniel Bates.
251
252         XSS Auditor severely affects loading performance after submitting a large form
253         https://bugs.webkit.org/show_bug.cgi?id=49845
254
255         Switch over from the XSSAuditor to the XSSFilter, improving performance
256         on this example.
257
258         * html/parser/XSSFilter.cpp:
259         (WebCore::XSSFilter::filterToken):
260         * page/XSSAuditor.cpp:
261         (WebCore::XSSAuditor::isEnabled):
262
263 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
264
265         Unreviewed, rolling out r77567.
266         http://trac.webkit.org/changeset/77567
267         https://bugs.webkit.org/show_bug.cgi?id=53468
268
269         broke chromium linux svg, canvas tests, possibly win also?
270
271         * platform/graphics/skia/ImageBufferSkia.cpp:
272         (WebCore::getImageData):
273         (WebCore::ImageBuffer::getUnmultipliedImageData):
274         (WebCore::ImageBuffer::getPremultipliedImageData):
275         (WebCore::putImageData):
276         (WebCore::ImageBuffer::putUnmultipliedImageData):
277         (WebCore::ImageBuffer::putPremultipliedImageData):
278
279 2011-02-02  MORITA Hajime  <morrita@google.com>
280
281         Reviewed by Dimitri Glazkov.
282
283         Refactoring: <progress> should not use ShadowElement
284         https://bugs.webkit.org/show_bug.cgi?id=53583
285
286         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
287           to be responsible for bar-part layout,
288           which adopted layout logic from ShadowBlockElement.
289         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
290         - Remove dependency from RenderProgress to HTMLProgressElement and
291           ShadowBlockElement.
292         - The shadow tree is no longer removed on detach(). It becomes persistent.
293           This is now possible because the ShadowBlockElement dependency is gone.
294         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
295           That didn't make sense.
296
297         * html/HTMLProgressElement.cpp:
298         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
299         * html/HTMLProgressElement.h:
300         * html/shadow/ProgressBarValueElement.h: Added.
301         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
302         (WebCore::ProgressBarValueElement::shadowPseudoId):
303         (WebCore::ProgressBarValueElement::createRenderer):
304         (WebCore::ProgressBarValueElement::create):
305         * rendering/RenderIndicator.cpp:
306         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
307         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
308         (WebCore::RenderIndicatorPart::layout):
309         (WebCore::RenderIndicatorPart::styleDidChange):
310         * rendering/RenderIndicator.h: Added RenderIndicatorPart class
311         (WebCore::RenderIndicatorPart::originalVisibility):
312         (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
313         (WebCore::RenderIndicatorPart::canHaveChildren):
314         * rendering/RenderProgress.cpp:
315         (WebCore::RenderProgressBarValuePart::preferredFrameRect):
316         (WebCore::RenderProgressBarValuePart::shouldBeHidden):
317         (WebCore::RenderProgress::updateFromElement):
318         (WebCore::RenderProgress::layoutParts):
319         (WebCore::RenderProgress::shouldHaveParts):
320         * rendering/RenderProgress.h:
321         (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
322
323 2011-02-03  Jia Pu  <jpu@apple.com>
324
325         Reversion should not be marked as misspelled.
326         https://bugs.webkit.org/show_bug.cgi?id=53255
327
328         This patch includes fix for reported bug, and also some housekeeping changes.
329
330         To implement desired behavior, we need:
331         1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
332            that shouldn't be spellchecked and text shouldn't be autocorrected.
333         2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
334            Otherwise the spell checking code in that function may interfere with autocorrection. This
335            is achieved by explicitly applying pending correction when user types space, line break or
336            paragraph break.
337
338         Housekeeping code changes include:
339         1. Change manual-tests that were broken by relocated WebCore directory.
340         2. Use TextIterator in various DocumentMarkerController functions instead of using
341            Node::traverseNextNode() directly.
342         3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
343            DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
344         4. Fixes of minor bugs that were exposed previously.
345
346         * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
347
348         * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
349
350         * dom/DocumentMarkerController.cpp:
351         (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
352            consistent with addMarker() function. Allow passing in multiple marker types in one call.
353            Added a boolean argument to specify the behavior when removing markers that partially
354            overlap the specified range.
355         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
356            multiple marker types in one call.
357         (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
358            consistent with addMarker() function. Allow passing in multiple marker types in one call.
359
360         * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
361            and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
362            removing markers that partially overlap the specified range.
363
364         * editing/Editor.cpp:
365         (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
366         (WebCore::markerTypesForReplacement): Ditto.
367         (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
368            setSelection() to make sure there is no pending correction when entering
369            markAllMisspellingsAndBadGrammarInRanges().
370         (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
371            is a top level command to improve efficiency.
372         (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
373         (WebCore::Editor::insertLineBreak): Ditto.
374         (WebCore::Editor::insertParagraphSeparator): Ditto.
375         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
376            text carries SpellCheckingExemption marker.
377         (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
378            from spellchecker is an empty string.
379         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
380            Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
381            efficiency and readability.
382         (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
383            applying correction, since it's unnecessary. Also, store pre-correction string together with
384            the marker for reversion panel to use.
385         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
386         (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
387            where we have access to EditCommand object.
388
389         * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
390
391         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
392            were broken by relocated WebCore directory.
393
394         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
395
396         * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
397
398         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
399
400         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
401
402         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
403
404         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
405
406         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
407
408         * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
409
410         * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
411
412         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
413            were broken by relocated WebCore directory.
414
415         * rendering/InlineTextBox.cpp:
416         (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
417
418 2011-02-03  Abhishek Arya  <inferno@chromium.org>
419
420         Unreviewed, qt build fix.
421
422         * rendering/RenderBlock.cpp:
423         (WebCore::RenderBlock::removeFloatingObject):
424
425 2011-02-03  Brian Salomon  <bsalomon@google.com>
426
427         Reviewed by James Robinson.
428
429         Handle non-raster backed images in getUnmultipliedImageData()
430         https://bugs.webkit.org/show_bug.cgi?id=53468
431
432         No new tests. Existing canvas tests sufficient
433         LayoutTests/canvas/philip/...
434
435         * platform/graphics/skia/ImageBufferSkia.cpp:
436         (WebCore::getImageData):
437         (WebCore::ImageBuffer::getUnmultipliedImageData):
438         (WebCore::ImageBuffer::getPremultipliedImageData):
439         (WebCore::putImageData):
440         (WebCore::ImageBuffer::putUnmultipliedImageData):
441         (WebCore::ImageBuffer::putPremultipliedImageData):
442
443 2011-02-03  Abhishek Arya  <inferno@chromium.org>
444
445         Reviewed by James Robinson.
446
447         Enforce more limits on root inline boxes height calculations.
448         https://bugs.webkit.org/show_bug.cgi?id=53729
449
450         Test: fast/overflow/overflow-height-float-not-removed-crash.html
451
452         * rendering/RenderBlock.cpp:
453         (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
454         become negative when logicalTop is INT_MAX.
455         (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
456         is INT_MAX, we should dirty everything. So, we bail out to make
457         afterLowest equal to the lastRootBox() or lowestDirstLine.
458
459 2011-02-03  David Levin  <levin@chromium.org>
460
461         Reviewed by Adam Barth and Oliver Hunt.
462
463         Worker.importScript() should clean errors for cross origin imports.
464         https://bugs.webkit.org/show_bug.cgi?id=52871
465
466         Test: http/tests/workers/worker-importScriptsOnError.html
467
468         * bindings/js/WorkerScriptController.cpp:
469         (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
470         to determine when to create a clean exception.
471         * bindings/v8/WorkerContextExecutionProxy.cpp:
472         (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
473         * dom/ScriptExecutionContext.cpp:
474         (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
475         if the error needs to be cleaned up.
476         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
477         sanitizeScriptError for use by other places.
478         * dom/ScriptExecutionContext.h:
479         * workers/WorkerContext.cpp:
480         (WebCore::WorkerContext::importScripts): Use the reponse url when
481         telling the evaluate where the script came fro.
482         * workers/WorkerScriptLoader.cpp:
483         (WebCore::WorkerScriptLoader::responseURL): Expose the url that
484         the script was loaded from (which may be different from url() due
485         to redirects).
486         (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
487         * workers/WorkerScriptLoader.h:
488
489 2011-02-03  Mark Mentovai  <mark@chromium.org>
490
491         Reviewed by Dimitri Glazkov.
492
493         Chromium GYP build fix.
494
495         When various settings were moved to webcore_prerequisites in r66364,
496         things that should have been direct_dependent_settings were not marked
497         as such. GYP 'defines', for example, make no sense on a 'none'-type
498         target such as webcore_prerequisites. It appears that it was intended
499         for these settings to be pushed to direct dependents, which would make
500         direct_dependent_settings correct.
501
502         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
503         http://crbug.com/71537, which at best causes Mac console log spew, and
504         at worst may result in Chromium's copy of WebCore using system
505         definitions of certain Objective-C classes at runtime, or vice-versa.
506
507         The build now includes a postbuild step to prevent
508         http://crbug.com/71537 from regressing again. The build will fail upon
509         regression.
510
511         https://bugs.webkit.org/show_bug.cgi?id=53630
512
513         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
514           direct_dependent_settings as needed, add the check_objc_rename
515           postbuild step.
516         * WebCore.gyp/mac/check_objc_rename.sh: Added.
517
518 2011-02-03  Adam Barth  <abarth@webkit.org>
519
520         Reviewed by Eric Seidel.
521
522         Make XSSFilter go fast by adding a SuffixTree
523         https://bugs.webkit.org/show_bug.cgi?id=53665
524
525         The SuffixTree lets us quickly reject snippets if the POST data is
526         large (because we can avoid a linear scan over the POST data).
527
528         * html/parser/XSSFilter.cpp:
529         (WebCore::XSSFilter::init):
530         (WebCore::XSSFilter::isContainedInRequest):
531         * html/parser/XSSFilter.h:
532
533 2011-02-03  Mihai Parparita  <mihaip@chromium.org>
534
535         Reviewed by Alexey Proskuryakov.
536
537         REGRESSION (r77355): Page cache layout tests crash
538         https://bugs.webkit.org/show_bug.cgi?id=53648
539
540         Test: fast/events/pagehide-timeout.html
541         
542         Suspend active DOM objects after all pagehide event handlers have run,
543         otherwise it's possible for them to create more objects that weren't
544         getting suspended.
545
546         * history/CachedFrame.cpp:
547         (WebCore::CachedFrame::CachedFrame):
548
549 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
550
551         Reviewed by Nate Chapin.
552
553         SerializedScriptValue should not require v8 to create undefined and null values
554         https://bugs.webkit.org/show_bug.cgi?id=53730
555
556         Instead of creating a v8 type and passing that into the constructor, just use
557         the writer class directly. While I was at it, I cleaned up the code a bit too
558         by getting rid of the WireData/StringValue enum as I found that personally
559         confusing.
560
561         This is necessary because these methods are called by IndexedDB in the browser
562         process where v8 is not spun up.
563
564         No functionality changed and not possible to test.
565
566         * bindings/v8/SerializedScriptValue.cpp:
567         (WebCore::SerializedScriptValue::createFromWire):
568         (WebCore::SerializedScriptValue::create):
569         (WebCore::SerializedScriptValue::nullValue):
570         (WebCore::SerializedScriptValue::undefinedValue):
571         (WebCore::SerializedScriptValue::release):
572         (WebCore::SerializedScriptValue::SerializedScriptValue):
573         * bindings/v8/SerializedScriptValue.h:
574
575 2011-02-03  Beth Dakin  <bdakin@apple.com>
576
577         Reviewed by Sam Weinig.
578
579         Fix for <rdar://problem/8944544> Ability to animate track
580         for WKPainter scrollers
581
582         Two new WebKitSystemInterface functions.
583         * WebCore.exp.in:
584         * platform/mac/WebCoreSystemInterface.h:
585         * platform/mac/WebCoreSystemInterface.mm:
586
587         Use Scrollbar::convertFromContainingView() to return the right point.
588         * platform/mac/ScrollAnimatorMac.mm:
589         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
590         
591         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
592         now be used to animate the knob or the track.
593         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
594         (-[ScrollbarPartAnimation setCurrentProgress:]):
595         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
596         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
597         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
598
599         Scrollbars need invalodating after the overlay state changes. 
600         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
601
602 2011-02-03  Sam Weinig  <sam@webkit.org>
603
604         Reviewed by Beth Dakin.
605
606         Scroll thumb jumps to top when resizing horizontally.
607
608         * platform/ScrollView.cpp:
609         (WebCore::ScrollView::updateScrollbars): Add call to update
610         the scrollbar's offset in the case where we may have created
611         a new scrollbar but have not changed the current position.
612
613 2011-02-03  Justin Schuh  <jschuh@chromium.org>
614
615         Reviewed by Dirk Schulze.
616
617         startAnimations should use a local, RefCounted Vector.
618         https://bugs.webkit.org/show_bug.cgi?id=53458
619
620         Test: svg/custom/use-animation-in-fill.html
621
622         * svg/SVGDocumentExtensions.cpp:
623         (WebCore::SVGDocumentExtensions::startAnimations):
624
625 2011-02-03  Adam Barth  <abarth@webkit.org>
626
627         Reviewed by Daniel Bates.
628
629         XSSFilter shouldn't bother to analyze pages without "injection"
630         characters in the request
631         https://bugs.webkit.org/show_bug.cgi?id=53664
632
633         If the request lacks these "injection" characters, then it's unlikely
634         that there's a reflective XSS attack happening.  This hueristic lets us
635         avoid analyzing the vast majority of responses for XSS.  Of course, the
636         hueristic isn't perfect.  Because of this huerstic, we miss out on
637         injections into unquoted attributes.  However, it's a trade-off that's
638         worked well in the XSSAuditor.
639
640         * html/parser/XSSFilter.cpp:
641         (WebCore::HTMLNames::isRequiredForInjection):
642         (WebCore::XSSFilter::XSSFilter):
643         (WebCore::XSSFilter::init):
644         (WebCore::XSSFilter::filterToken):
645         (WebCore::XSSFilter::isContainedInRequest):
646         * html/parser/XSSFilter.h:
647
648 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
649
650         Reviewed by Kenneth Russell.
651
652         [chromium] Fixing a compositor crash occurring on layers
653         without an associated RenderSurface.
654         https://bugs.webkit.org/show_bug.cgi?id=53679
655         Regression was introduced by in r77425 
656
657         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
658         anymore.
659
660         * platform/graphics/chromium/LayerRendererChromium.cpp:
661         (WebCore::LayerRendererChromium::drawLayer):
662
663 2011-02-03  Dan Bernstein  <mitz@apple.com>
664
665         Reviewed by Anders Carlsson.
666
667         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
668         https://bugs.webkit.org/show_bug.cgi?id=53709
669
670         Covered by rendering of fast/text/emphasis-vertical.html
671
672         * platform/graphics/mac/SimpleFontDataMac.mm:
673         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
674         has.
675
676 2011-02-02  Levi Weintraub  <leviw@chromium.org>
677
678         Reviewed by Ryosuke Niwa.
679
680         Moving cursor down in table cycles at the end of a row
681         https://bugs.webkit.org/show_bug.cgi?id=50012
682
683         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
684         end of a document due to a bug in nextLeafWithSameEditability.
685
686         Test: editing/selection/move-by-line-cycles-in-table.html
687
688         * editing/visible_units.cpp:
689         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
690         original leaf node.
691
692 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
693
694         Reviewed by Pavel Feldman.
695
696         Web Inspector: remove dead code related to changes panel.
697         https://bugs.webkit.org/show_bug.cgi?id=53688
698
699         * WebCore.gypi:
700         * WebCore.vcproj/WebCore.vcproj:
701         * inspector/front-end/ChangesView.js: Removed.
702         * inspector/front-end/WebKit.qrc:
703         * inspector/front-end/inspector.css:
704         (#error-warning-count):
705         (#error-warning-count:hover):
706         (#error-count + #warning-count):
707         * inspector/front-end/inspector.html:
708         * inspector/front-end/inspector.js:
709
710 2011-02-02  Sam Weinig  <sam@webkit.org>
711
712         Reviewed by Anders Carlsson.
713
714         Add notification of the end of a rubber band.
715         <rdar://problem/8940648>
716
717         * WebCore.exp.in:
718         Add additional exprots.
719
720         * page/ChromeClient.h:
721         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
722         * page/FrameView.cpp:
723         (WebCore::FrameView::didCompleteRubberBand):
724         * page/FrameView.h:
725         * platform/ScrollView.cpp:
726         (WebCore::ScrollView::didCompleteRubberBand):
727         * platform/ScrollView.h:
728         Add hook.
729
730         * platform/ScrollableArea.h:
731         (WebCore::ScrollableArea::inLiveResize):
732         (WebCore::ScrollableArea::maximumScrollPosition):
733         (WebCore::ScrollableArea::visibleWidth):
734         (WebCore::ScrollableArea::overhangAmount):
735         (WebCore::ScrollableArea::didCompleteRubberBand):
736         Reorganize and de-virtualize live resize notifications.
737
738         * platform/mac/ScrollAnimatorMac.mm:
739         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
740         Call the new hook when the rubberband ends.
741
742 2011-02-02  Evan Martin  <evan@chromium.org>
743
744         Reviewed by Tony Chang.
745
746         [chromium] complex joining characters positioned in wrong place
747         https://bugs.webkit.org/show_bug.cgi?id=53637
748
749         Provide the correct font metrics to Harfbuzz related to the font design space.
750         There are used in some fonts for GPOS positioning.
751
752         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
753
754         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
755         (WebCore::ComplexTextController::setupFontForScriptRun):
756         (WebCore::ComplexTextController::allocHarfbuzzFont):
757         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
758         (WebCore::FontPlatformData::FontPlatformData):
759         (WebCore::FontPlatformData::emSizeInFontUnits):
760         (WebCore::FontPlatformData::operator=):
761         * platform/graphics/chromium/FontPlatformDataLinux.h:
762         (WebCore::FontPlatformData::FontPlatformData):
763
764 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
765
766         Reviewed by Kent Tamura.
767
768         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
769         https://bugs.webkit.org/show_bug.cgi?id=53634
770
771         Test: fast/dom/HTMLInputElement/input-slider-update.html
772
773         * html/HTMLInputElement.cpp:
774         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
775         * html/InputType.cpp:
776         (WebCore::InputType::valueChanged): Added empty implementation.
777         * html/InputType.h: Added def.
778         * html/RangeInputType.cpp:
779         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
780             bit on the thumb.
781         * html/RangeInputType.h: Added def.
782
783 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
784
785         Reviewed by Pavel Feldman.
786
787         Web Inspector: do not share source frames between resources panel and scripts panel.
788         https://bugs.webkit.org/show_bug.cgi?id=53584
789
790         Currently, we show error messages only for resources. This change will allow showing error
791         messages in source frame even when resource is not available (eval scripts, inlined scripts).
792
793         * inspector/front-end/ConsoleView.js:
794         (WebInspector.ConsoleView.prototype.addMessage):
795         (WebInspector.ConsoleView.prototype.clearMessages):
796         * inspector/front-end/ResourceView.js:
797         (WebInspector.ResourceView.recreateResourceView):
798         * inspector/front-end/ResourcesPanel.js:
799         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
800         * inspector/front-end/ScriptsPanel.js:
801         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
802         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
803         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
804         (WebInspector.ScriptsPanel.prototype.reset):
805         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
806         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
807         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
808
809 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
810
811         Fix 32-bit builds.
812
813         * platform/graphics/ShadowBlur.cpp:
814         (WebCore::ShadowBlur::blurLayerImage):
815
816 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
817
818         Reviewed by Pavel Feldman.
819
820         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
821         https://bugs.webkit.org/show_bug.cgi?id=53592
822
823         In JSC there is no limit, thus 'undefined' value is returned.
824         For V8, the limit reported by the VM is returned.
825
826         * Android.jscbindings.mk:
827         * CMakeLists.txt:
828         * GNUmakefile.am:
829         * WebCore.gypi:
830         * WebCore.pro:
831         * WebCore.vcproj/WebCore.vcproj:
832         * WebCore.xcodeproj/project.pbxproj:
833         * bindings/js/JSBindingsAllInOne.cpp:
834         * bindings/js/JSMemoryInfoCustom.cpp: Added.
835         * bindings/js/ScriptGCEvent.cpp:
836         (WebCore::ScriptGCEvent::getHeapSize):
837         * bindings/js/ScriptGCEvent.h:
838         * bindings/v8/ScriptGCEvent.cpp:
839         (WebCore::ScriptGCEvent::getHeapSize):
840         * bindings/v8/ScriptGCEvent.h:
841         * inspector/InspectorTimelineAgent.cpp:
842         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
843         * page/MemoryInfo.cpp:
844         (WebCore::MemoryInfo::MemoryInfo):
845         * page/MemoryInfo.h:
846         (WebCore::MemoryInfo::jsHeapSizeLimit):
847         * page/MemoryInfo.idl:
848
849 2011-01-27  Philippe Normand  <pnormand@igalia.com>
850
851         Reviewed by Martin Robinson.
852
853         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
854         https://bugs.webkit.org/show_bug.cgi?id=53125
855
856         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
857         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
858
859 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
860
861         Reviewed by Sam Weinig.
862
863         ShadowBlur radius for CSS shadows is slightly too big
864         https://bugs.webkit.org/show_bug.cgi?id=53660
865         
866         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
867         shadows that extend further than the CSS "blur radius", which results
868         in the shadows being truncated.
869         
870         Fix with a small fudge factor to reduce the kernel diameter slightly
871         for CSS shadows.
872         
873         Also more closely follow the algorithm described in the SVG spec
874         for computing the kernel size for different diameters, and clean up
875         some variable naming relating to the shadow bounds.
876
877         * platform/graphics/ShadowBlur.cpp:
878         (WebCore::ShadowBlur::blurLayerImage):
879         (WebCore::ShadowBlur::drawRectShadowWithTiling):
880
881 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
882
883         Reviewed by Pavel Feldman.
884
885         Web Inspector: introduce new api for managing JavaScript breakpoints.
886         https://bugs.webkit.org/show_bug.cgi?id=53235
887
888         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
889         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
890         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
891
892         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
893         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
894
895         * bindings/js/ScriptDebugServer.cpp:
896         (WebCore::ScriptDebugServer::setBreakpoint):
897         (WebCore::ScriptDebugServer::removeBreakpoint):
898         * bindings/js/ScriptDebugServer.h:
899         * bindings/v8/DebuggerScript.js:
900         ():
901         * bindings/v8/ScriptDebugServer.cpp:
902         (WebCore::ScriptDebugServer::setBreakpoint):
903         * bindings/v8/ScriptDebugServer.h:
904         * inspector/Inspector.idl:
905         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
906         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
907         (WebCore::InspectorAgent::populateScriptObjects):
908         (WebCore::InspectorAgent::restoreDebugger):
909         (WebCore::InspectorAgent::showAndEnableDebugger):
910         (WebCore::InspectorAgent::enableDebugger):
911         * inspector/InspectorAgent.h:
912         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
913         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
914         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
915         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
916         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
917         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
918         (WebCore::InspectorDebuggerAgent::continueToLocation):
919         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
920         (WebCore::InspectorDebuggerAgent::getScriptSource):
921         (WebCore::InspectorDebuggerAgent::didParseSource):
922         (WebCore::InspectorDebuggerAgent::didPause):
923         * inspector/InspectorDebuggerAgent.h:
924         (WebCore::InspectorDebuggerAgent::Script::Script):
925         * inspector/InspectorValues.cpp:
926         (WebCore::InspectorValue::asNumber):
927         (WebCore::InspectorBasicValue::asNumber):
928         (WebCore::InspectorObject::remove):
929         * inspector/InspectorValues.h:
930         (WebCore::InspectorObject::getNumber):
931         (WebCore::InspectorObject::find):
932         * inspector/ScriptBreakpoint.h:
933         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
934         * inspector/front-end/Breakpoint.js:
935         (WebInspector.Breakpoint):
936         (WebInspector.Breakpoint.prototype.addLocation):
937         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
938         (WebInspector.BreakpointManager):
939         (WebInspector.BreakpointManager.prototype._projectChanged):
940         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
941         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
942         * inspector/front-end/BreakpointsSidebarPane.js:
943         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
944         * inspector/front-end/DebuggerModel.js:
945         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
946         * inspector/front-end/Script.js:
947         (WebInspector.Script.prototype.sourceLine):
948         * inspector/front-end/ScriptsPanel.js:
949         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
950         * inspector/front-end/Settings.js:
951         (WebInspector.Settings):
952         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
953         * inspector/front-end/inspector.js:
954
955 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
956
957         Reviewed by Dirk Schulze.
958
959         small text which is scaled to be large renders pixelated
960         https://bugs.webkit.org/show_bug.cgi?id=12448
961
962         SVG <text> with font-size smaller or equal to 1 does not paint correctly
963         https://bugs.webkit.org/show_bug.cgi?id=14242
964
965         misplaced text in SVG
966         https://bugs.webkit.org/show_bug.cgi?id=17053
967
968         Don't render very small (but zoomed) text inside SVG
969         https://bugs.webkit.org/show_bug.cgi?id=19393
970
971         Tiny fonts scaled up end up too large in Safari
972         https://bugs.webkit.org/show_bug.cgi?id=20192
973
974         Stretched SVG Text has awful glyph spacing 
975         https://bugs.webkit.org/show_bug.cgi?id=21774
976
977         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
978         https://bugs.webkit.org/show_bug.cgi?id=49846
979
980         [Gtk] Text height in zoomed SVG is 1px too high
981         https://bugs.webkit.org/show_bug.cgi?id=50313
982
983         SVG text smaller than 0.5px not displayed properly
984         https://bugs.webkit.org/show_bug.cgi?id=50528
985
986         When rendering text, we're selecting a font with a size, as specified in the markup.
987         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
988         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
989         problem becomes apparent.
990
991         Consider following two snippets, which should render exactly the same:
992         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
993         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
994
995         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
996         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
997         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
998
999         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
1000         remove any scaling from the context, draw the text using the scaled font size, then reapply
1001         the context scale. This makes the example snippets above render exactly the same and fixes
1002         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
1003         internally, depending on the scale of the document, it's very important to use the new
1004         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
1005
1006         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
1007                               svg/hixie/text/003.html (no more pixelation)
1008                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
1009                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
1010                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
1011
1012         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
1013                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
1014                svg/text/scaled-font.svg (reduction from bug 12448)
1015                svg/text/small-fonts-2.svg (reduction from bug 14242)
1016                svg/text/small-fonts-3.svg (reduction from bug 17053)
1017                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
1018                svg/text/small-fonts.svg (reduction from bug 20192))
1019
1020         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
1021         * rendering/svg/RenderSVGInlineText.h:
1022         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1023         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1024         * rendering/svg/SVGInlineTextBox.h:
1025         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1026         * rendering/svg/SVGTextMetrics.cpp: Ditto.
1027         * rendering/svg/SVGTextMetrics.h: Ditto.
1028         * rendering/svg/SVGTextQuery.cpp: Ditto.
1029         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1030         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1031         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1032         * svg/SVGTextPositioningElement.h: 
1033
1034 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
1035
1036         Reviewed by Yury Semikhatsky.
1037
1038         Web Inspector: resources panel doesn't show frames after reload.
1039         https://bugs.webkit.org/show_bug.cgi?id=53430
1040
1041         * inspector/front-end/ResourcesPanel.js:
1042         (WebInspector.ResourcesPanel.prototype.show):
1043         (WebInspector.ResourcesPanel.prototype.loadEventFired):
1044         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1045         (WebInspector.ResourcesPanel.prototype.reset):
1046         (WebInspector.ResourcesPanel.prototype.clear):
1047         * inspector/front-end/inspector.js:
1048         (WebInspector.loadEventFired):
1049
1050 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
1051
1052         Reviewed by Pavel Feldman.
1053
1054         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1055         https://bugs.webkit.org/show_bug.cgi?id=53492
1056
1057         * inspector/Inspector.idl:
1058         * inspector/InspectorCSSAgent.cpp:
1059         (WebCore::InspectorCSSAgent::getStylesForNode):
1060         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1061         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1062         (WebCore::InspectorCSSAgent::getAllStyles):
1063         (WebCore::InspectorCSSAgent::getStyleSheet):
1064         (WebCore::InspectorCSSAgent::getStyleSheetText):
1065         (WebCore::InspectorCSSAgent::setStyleSheetText):
1066         (WebCore::InspectorCSSAgent::setPropertyText):
1067         (WebCore::InspectorCSSAgent::toggleProperty):
1068         (WebCore::InspectorCSSAgent::setRuleSelector):
1069         (WebCore::InspectorCSSAgent::addRule):
1070         * inspector/InspectorCSSAgent.h:
1071         * inspector/front-end/AuditRules.js:
1072         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1073         * inspector/front-end/CSSStyleModel.js:
1074         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1075         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1076         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1077         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1078         (WebInspector.CSSStyleModel.prototype.addRule):
1079         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1080         (WebInspector.CSSStyleModel.prototype._onRevert):
1081         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1082         (WebInspector.CSSProperty.prototype.setText):
1083         (WebInspector.CSSProperty.prototype.setDisabled):
1084         (WebInspector.CSSStyleSheet.createForId):
1085         (WebInspector.CSSStyleSheet.prototype.setText):
1086
1087 2011-02-03  Adam Barth  <abarth@webkit.org>
1088
1089         Reviewed by Daniel Bates.
1090
1091         Teach XSSFilter about data URLs
1092         https://bugs.webkit.org/show_bug.cgi?id=53662
1093
1094         The XSS filter doesn't really make sense for data URLs because
1095         everything in a "response" from a data URL was part of the request.
1096
1097         Test: http/tests/security/xssAuditor/data-urls-work.html
1098
1099         * html/parser/XSSFilter.cpp:
1100         (WebCore::XSSFilter::init):
1101         (WebCore::XSSFilter::filterToken):
1102
1103 2011-02-02  Chris Evans  <cevans@chromium.org>
1104
1105         Reviewed by Darin Fisher.
1106
1107         window.find() can fail when switching case sensitivity
1108         https://bugs.webkit.org/show_bug.cgi?id=53654
1109
1110         Reset the pattern to a safe one when done, to avoid usearch_reset()
1111         indirectly touching the old, stale text pointer.
1112
1113         Test: fast/text/find-window.html
1114
1115         * editing/TextIterator.cpp:
1116         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1117
1118 2011-02-02  Adam Barth  <abarth@webkit.org>
1119
1120         Reviewed by Daniel Bates.
1121
1122         Teach XSSFilter that <param> elements can contain URLs
1123         https://bugs.webkit.org/show_bug.cgi?id=53652
1124
1125         When loading plugins for the <object> tag, we're "smart" enough to
1126         reach into the <param> elements and pull out the URL in some cases.
1127         This patch teaches the XSSFilter how to block injections into those
1128         sorts of param elements.
1129
1130         Fixes:
1131             http/tests/security/xssAuditor/object-*
1132
1133         * html/HTMLParamElement.cpp:
1134         (WebCore::HTMLParamElement::isURLParameter):
1135         (WebCore::HTMLParamElement::isURLAttribute):
1136         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1137         * html/HTMLParamElement.h:
1138             - Add a helper function so that HTMLParamElement can share the
1139               ground truth for these names with the XSSFilter.
1140         * html/parser/XSSFilter.cpp:
1141         (WebCore::XSSFilter::filterTokenInitial):
1142         (WebCore::XSSFilter::filterParamToken):
1143         * html/parser/XSSFilter.h:
1144
1145 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1146
1147         Reviewed by David Levin.
1148
1149         GCC compiler on ARM issues bogus warnings and fails to compile.
1150         https://bugs.webkit.org/show_bug.cgi?id=53620
1151
1152         Despite warnings explicitly being disallowed (-Wno-uninitialized),
1153         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1154
1155         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1156
1157         The fix is to add an extra condition, which somehow pacifies the compiler.
1158
1159         * css/CSSPrimitiveValue.cpp:
1160         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1161
1162 2011-02-02  Adam Barth  <abarth@webkit.org>
1163
1164         Reviewed by Daniel Bates.
1165
1166         Teach XSSFilter about X-XSS-Protection
1167         https://bugs.webkit.org/show_bug.cgi?id=53640
1168
1169         This patch causes us to pass:
1170             http/tests/security/xssAuditor/full-block-*
1171             http/tests/security/xssAuditor/no-protection-script-tag.html
1172
1173         * html/parser/XSSFilter.cpp:
1174         (WebCore::XSSFilter::XSSFilter):
1175         (WebCore::XSSFilter::init):
1176         (WebCore::XSSFilter::filterToken):
1177         * html/parser/XSSFilter.h:
1178
1179 2011-02-02  Adam Barth  <abarth@webkit.org>
1180
1181         Reviewed by Daniel Bates.
1182
1183         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1184         instead of the empty string
1185         https://bugs.webkit.org/show_bug.cgi?id=53643
1186
1187         In a URL context, the empty string completes to the URL of the current
1188         page, which causes these tests to go into an infinite loop.  Instead,
1189         we should use a "safe" JavaScript URL that does nothing.
1190
1191         Fixes:
1192             http/tests/security/xssAuditor/javascript-link*
1193
1194         * html/parser/XSSFilter.cpp:
1195         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1196
1197 2011-02-02  Dan Bernstein  <mitz@apple.com>
1198
1199         Reviewed by Sam Weinig.
1200
1201         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1202         https://bugs.webkit.org/show_bug.cgi?id=44942
1203
1204         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1205
1206         * platform/text/BidiResolver.h:
1207         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1208         a change to embedding levels.
1209         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1210         the explicit embedding sequence, then runs were not added, and we should continue normally.
1211
1212 2011-02-02  Sam Weinig  <sam@webkit.org>
1213
1214         Reviewed by Dan Bernstein.
1215
1216         Fix miscalculation of the overhang area used for painting. We were
1217         not correctly accounting for scrollbars resulting in an non-negative
1218         overhang even when we weren't over the edge.
1219
1220         * platform/ScrollView.cpp:
1221         (WebCore::ScrollView::calculateOverhangAreasForPainting):
1222
1223 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
1224
1225         Reviewed by Nate Chapin.
1226
1227         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1228         https://bugs.webkit.org/show_bug.cgi?id=52722
1229
1230         The solution is to change ScriptExecutionContext's destructor to iterate over
1231         the list in a way that handles the mutations. This new method is destructive,
1232         but that's OK since the object is going away. I've also added a several asserts.
1233
1234         There should be no behavior change.
1235
1236         * dom/ScriptExecutionContext.cpp:
1237         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1238         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1239         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1240         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1241         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1242         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1243         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1244         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1245         * dom/ScriptExecutionContext.h:
1246         * storage/IDBTransaction.cpp:
1247         (WebCore::IDBTransaction::contextDestroyed):
1248         * storage/IDBTransaction.h:
1249
1250 2011-02-02  Mark Rowe  <mrowe@apple.com>
1251
1252         Build fix.
1253
1254         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1255         * platform/mac/ScrollbarThemeMac.mm:
1256         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1257         up in the HashMap rather than relying on a local variable that doesn't
1258         exist.
1259
1260 2011-02-02  Adam Barth  <abarth@webkit.org>
1261
1262         Reviewed by Daniel Bates.
1263
1264         Teach XSSFilter about JavaScript URLs
1265         https://bugs.webkit.org/show_bug.cgi?id=53635
1266
1267         This patch teaches the XSSFilter to check for JavaScript URLs in
1268         attribute values.  If this approach has too many false positives, we
1269         can restrict which attribute names we examine.
1270
1271         Fixes these tests:
1272             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1273             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1274             http/tests/security/xssAuditor/iframe-javascript-url*
1275
1276         * html/parser/XSSFilter.cpp:
1277         (WebCore::HTMLNames::containsJavaScriptURL):
1278         (WebCore::XSSFilter::filterTokenInitial):
1279         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1280         * html/parser/XSSFilter.h:
1281
1282 2011-02-02  Dan Bernstein  <mitz@apple.com>
1283
1284         Reviewed by Sam Weinig, even though this is just a...
1285
1286         ...build fix.
1287
1288         * platform/mac/ScrollAnimatorMac.mm:
1289         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1290
1291 2011-02-02  Mark Rowe  <mrowe@apple.com>
1292
1293         Reviewed by Beth Dakin.
1294
1295         <rdar://problem/8952012> Crash on launch inside scrollbar code.
1296
1297         We need to ensure that we remove ourselves as the delegates of objects when we're going
1298         away as failing to do this can lead to crashes if the lifetime of the other objects
1299         is longer than ours.
1300
1301         * platform/mac/ScrollAnimatorMac.mm:
1302         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1303         * platform/mac/ScrollbarThemeMac.mm:
1304         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1305
1306 2011-02-02  Beth Dakin  <bdakin@apple.com>
1307
1308         Build fix.
1309
1310         * WebCore.exp.in:
1311
1312 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
1313
1314         Unreviewed WinCE build fix for r77397.
1315
1316         * page/wince/FrameWinCE.cpp:
1317         (WebCore::computePageRectsForFrame):
1318
1319 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
1320
1321         Unreviewed WinCE build fix for r77398.
1322
1323         * platform/graphics/wince/PlatformPathWinCE.cpp:
1324         (WebCore::containsPoint):
1325         (WebCore::inflateRectToContainPoint):
1326         (WebCore::PlatformPath::addRect):
1327         * platform/graphics/wince/SharedBitmap.cpp:
1328         (WebCore::SharedBitmap::drawPattern):
1329         * rendering/RenderThemeWinCE.cpp:
1330         (WebCore::RenderThemeWinCE::paintMenuListButton):
1331         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1332         (WebCore::RenderThemeWinCE::paintSliderTrack):
1333         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1334         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1335         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1336         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1337
1338 2011-02-02  Jian Li  <jianli@chromium.org>
1339
1340         Reviewed by Kenneth Russell.
1341
1342         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1343         https://bugs.webkit.org/show_bug.cgi?id=53559
1344
1345         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1346
1347         * html/canvas/DataView.h:
1348         (WebCore::DataView::beyondRange):
1349
1350 2011-02-02  Sam Weinig  <sam@webkit.org>
1351
1352         Reviewed by Beth Dakin.
1353
1354         Add ChromeClient function to paint custom overhang areas.
1355         https://bugs.webkit.org/show_bug.cgi?id=53639
1356
1357         * page/Chrome.cpp:
1358         (WebCore::ChromeClient::paintCustomOverhangArea):
1359         * page/ChromeClient.h:
1360         Add ChromeClient function.
1361
1362         * page/FrameView.cpp:
1363         (WebCore::FrameView::paintOverhangAreas):
1364         * page/FrameView.h:
1365         Call out the the ChromeClient, call ScrollView base implementation
1366         if the ChromeClient returns false.
1367
1368         * platform/ScrollView.cpp:
1369         (WebCore::ScrollView::paintOverhangAreas):
1370         * platform/ScrollView.h:
1371         Add dirty rect for use when painting overhang areas.
1372
1373 2011-02-02  Peter Kasting  <pkasting@google.com>
1374
1375         Not reviewed, build fix.
1376
1377         Fix compile after r77427.
1378         https://bugs.webkit.org/show_bug.cgi?id=53455
1379
1380         * platform/graphics/qt/ImageDecoderQt.cpp:
1381         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1382         * platform/image-decoders/ImageDecoder.cpp:
1383         (WebCore::ImageFrame::operator=):
1384         * platform/image-decoders/bmp/BMPImageReader.cpp:
1385         (WebCore::BMPImageReader::decodeBMP):
1386         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1387         (WebCore::JPEGImageDecoder::outputScanlines):
1388         * platform/image-decoders/png/PNGImageDecoder.cpp:
1389         (WebCore::PNGImageDecoder::rowAvailable):
1390         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1391         (WebCore::WEBPImageDecoder::decode):
1392
1393 2011-02-02  Peter Kasting  <pkasting@google.com>
1394
1395         Reviewed by David Levin.
1396
1397         Clean up ImageDecoder's comments (remove/trim/clarify).
1398         https://bugs.webkit.org/show_bug.cgi?id=53455
1399
1400         This also renames or eliminates a couple of functions for clarity, and
1401         switches a couple erroneous strncmp() calls to memcmp().
1402
1403         * platform/image-decoders/ImageDecoder.cpp:
1404         (WebCore::ImageDecoder::create):
1405         (WebCore::ImageFrame::clearPixelData):
1406         (WebCore::ImageFrame::zeroFillPixelData):
1407         (WebCore::ImageFrame::setSize):
1408         * platform/image-decoders/ImageDecoder.h:
1409         (WebCore::ImageFrame::originalFrameRect):
1410         (WebCore::ImageFrame::setOriginalFrameRect):
1411         (WebCore::ImageDecoder::ImageDecoder):
1412         (WebCore::ImageDecoder::~ImageDecoder):
1413         (WebCore::ImageDecoder::isSizeAvailable):
1414         (WebCore::ImageDecoder::size):
1415         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1416         (WebCore::ImageDecoder::clearFrameBufferCache):
1417         (WebCore::ImageDecoder::isOverSize):
1418         * platform/image-decoders/bmp/BMPImageReader.cpp:
1419         (WebCore::BMPImageReader::processNonRLEData):
1420         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1421         (WebCore::ImageFrame::setSize):
1422         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1423         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1424         (WebCore::GIFImageDecoder::frameComplete):
1425         (WebCore::GIFImageDecoder::initFrameBuffer):
1426         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1427         * platform/image-decoders/qt/ImageFrameQt.cpp:
1428         (WebCore::ImageFrame::operator=):
1429         (WebCore::ImageFrame::clearPixelData):
1430         (WebCore::ImageFrame::zeroFillPixelData):
1431         (WebCore::ImageFrame::setSize):
1432         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1433         (WebCore::ImageFrame::operator=):
1434         (WebCore::ImageFrame::clearPixelData):
1435         (WebCore::ImageFrame::zeroFillPixelData):
1436         (WebCore::ImageFrame::setSize):
1437         * platform/image-decoders/webp/WEBPImageDecoder.h:
1438
1439 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
1440
1441         [chromium] Adding support for reflections to the accelerated
1442         compositing path.
1443         https://bugs.webkit.org/show_bug.cgi?id=53179
1444
1445         All layout tests in compositing/reflections generate correct
1446         results with the exception of:
1447         1. nested-reflection-anchor-point.html : There appears to be
1448            some issue with the layer transform math that I haven't been
1449            able to track down yet.
1450         2. reflection-opacity.html : The current implementation applies
1451            opacity before doing the reflection which makes this test
1452            produce incorrect results.  This will affect reflected layers
1453            with opacity that overlap their original layer.  FIXME comment
1454            added in the code.
1455
1456         Tests: Covered by existing layout tests in compositing/reflections.
1457                Please see above for exceptions.
1458
1459         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1460         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1461         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1462         * platform/graphics/chromium/GraphicsLayerChromium.h:
1463         * platform/graphics/chromium/LayerChromium.cpp:
1464         (WebCore::LayerChromium::LayerChromium):
1465         * platform/graphics/chromium/LayerChromium.h:
1466         (WebCore::LayerChromium::setReplicaLayer):
1467         (WebCore::LayerChromium::replicaLayer):
1468         * platform/graphics/chromium/LayerRendererChromium.cpp:
1469         (WebCore::LayerRendererChromium::updateLayersRecursive):
1470         (WebCore::LayerRendererChromium::drawLayer):
1471         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1472         (WebCore::RenderSurfaceChromium::drawableContentRect):
1473         (WebCore::RenderSurfaceChromium::drawSurface):
1474         (WebCore::RenderSurfaceChromium::draw):
1475         * platform/graphics/chromium/RenderSurfaceChromium.h:
1476         (WebCore::RenderSurfaceChromium::drawTransform):
1477
1478 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
1479
1480         Reviewed by Tony Chang.
1481
1482         [Chromium] Select popup with padding has white strip on right
1483         https://bugs.webkit.org/show_bug.cgi?id=53602
1484
1485         No new tests as this change restores old behavior.
1486
1487         * platform/chromium/PopupMenuChromium.cpp:
1488         (WebCore::PopupListBox::layout):
1489
1490 2011-02-02  Beth Dakin  <bdakin@apple.com>
1491
1492         Reviewed by Mark Rowe.
1493
1494         Fix for <rdar://problem/8950343> CrashTracer: [USER]
1495         1 crash in WebProcess at com.apple.WebCore: 
1496         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1497
1498         It is possible for a Scrollbar's ScrollableArea to be null,
1499         so we must null check.
1500         * platform/mac/ScrollbarThemeMac.mm:
1501         (WebCore::ScrollbarThemeMac::registerScrollbar):
1502         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1503
1504 2011-02-02  Zhenyao Mo  <zmo@google.com>
1505
1506         Reviewed by Kenneth Russell.
1507
1508         bufferData and bufferSubData should generate INVALID_VALUE with negative input
1509         https://bugs.webkit.org/show_bug.cgi?id=53626
1510
1511         * html/canvas/WebGLRenderingContext.cpp:
1512         (WebCore::WebGLRenderingContext::bufferData):
1513         (WebCore::WebGLRenderingContext::bufferSubData):
1514
1515 2011-02-02  Jeff Miller  <jeffm@apple.com>
1516
1517         Reviewed by Darin Adler and Steve Falkenburg.
1518
1519         Add DerivedSources.make to some Visual Studio projects
1520         https://bugs.webkit.org/show_bug.cgi?id=53607
1521
1522         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1523
1524 2011-02-02  Cris Neckar  <cdn@chromium.org>
1525
1526         Reviewed by James Robinson.
1527
1528         Refcount domwindows when dispatching device orientation events.
1529         https://bugs.webkit.org/show_bug.cgi?id=53623
1530
1531         Test: fast/events/device-orientation-crash.html
1532
1533         * dom/DeviceMotionController.cpp:
1534         (WebCore::DeviceMotionController::timerFired):
1535         (WebCore::DeviceMotionController::didChangeDeviceMotion):
1536         * dom/DeviceMotionController.h:
1537         * dom/DeviceOrientationController.cpp:
1538         (WebCore::DeviceOrientationController::timerFired):
1539         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1540         * dom/DeviceOrientationController.h:
1541
1542 2011-02-02  Zhenyao Mo  <zmo@google.com>
1543
1544         Reviewed by Kenneth Russell.
1545
1546         A deleted object should never been bound again
1547         https://bugs.webkit.org/show_bug.cgi?id=53604
1548
1549         * html/canvas/WebGLRenderingContext.cpp:
1550         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1551         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1552         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1553         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1554         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1555         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1556         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1557         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1558         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1559         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1560         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1561         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1562         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1563         * html/canvas/WebGLRenderingContext.h:
1564         * html/canvas/WebGLTexture.h:
1565         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1566
1567 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1568
1569         Unreviewed Efl buildfix after r77399.
1570
1571         * CMakeListsEfl.txt:
1572
1573 2011-02-02  Kenneth Russell  <kbr@google.com>
1574
1575         Reviewed by James Robinson.
1576
1577         Rename Typed Array subset to subarray
1578         https://bugs.webkit.org/show_bug.cgi?id=53618
1579
1580         * html/canvas/Float32Array.cpp:
1581         (WebCore::Float32Array::subarray):
1582         * html/canvas/Float32Array.h:
1583         * html/canvas/Float32Array.idl:
1584         * html/canvas/Int16Array.cpp:
1585         (WebCore::Int16Array::subarray):
1586         * html/canvas/Int16Array.h:
1587         * html/canvas/Int16Array.idl:
1588         * html/canvas/Int32Array.cpp:
1589         (WebCore::Int32Array::subarray):
1590         * html/canvas/Int32Array.h:
1591         * html/canvas/Int32Array.idl:
1592         * html/canvas/Int8Array.cpp:
1593         (WebCore::Int8Array::subarray):
1594         * html/canvas/Int8Array.h:
1595         * html/canvas/Int8Array.idl:
1596         * html/canvas/TypedArrayBase.h:
1597         (WebCore::TypedArrayBase::subarrayImpl):
1598         * html/canvas/Uint16Array.cpp:
1599         (WebCore::Uint16Array::subarray):
1600         * html/canvas/Uint16Array.h:
1601         * html/canvas/Uint16Array.idl:
1602         * html/canvas/Uint32Array.cpp:
1603         (WebCore::Uint32Array::subarray):
1604         * html/canvas/Uint32Array.h:
1605         * html/canvas/Uint32Array.idl:
1606         * html/canvas/Uint8Array.cpp:
1607         (WebCore::Uint8Array::subarray):
1608         * html/canvas/Uint8Array.h:
1609         * html/canvas/Uint8Array.idl:
1610
1611 2011-02-02  Adam Barth  <abarth@webkit.org>
1612
1613         Reviewed by Eric Seidel.
1614
1615         Add an empty file for Content Security Policy
1616         https://bugs.webkit.org/show_bug.cgi?id=53573
1617
1618         Posting this as a separate patch because editing the build files is so
1619         painful.
1620
1621         * Android.mk:
1622         * CMakeLists.txt:
1623         * GNUmakefile.am:
1624         * WebCore.gypi:
1625         * WebCore.pro:
1626         * WebCore.vcproj/WebCore.vcproj:
1627         * WebCore.xcodeproj/project.pbxproj:
1628
1629 2011-02-02  Dan Winship  <danw@gnome.org>
1630
1631         Reviewed by Martin Robinson.
1632
1633         [GTK] remove old data: URI handler, fix the SoupRequest-based one
1634         to pass tests
1635         https://bugs.webkit.org/show_bug.cgi?id=50885
1636
1637         * platform/network/soup/ResourceHandleSoup.cpp:
1638         (WebCore::sendRequestCallback): Do content-type sniffing here for
1639         non-HTTP requests.
1640         (WebCore::startHTTPRequest): Rename to match WebKit style.
1641         (WebCore::ResourceHandle::start): Pass everything except HTTP to
1642         startNonHTTPRequest, letting the SoupRequester decide whether it's
1643         supported or not.
1644         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1645         code that was a no-op for file: URIs, but would break some data:
1646         URIs.
1647
1648 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1649
1650         Update even more references to right() and bottom() in Chromium. Sheesh.
1651
1652         * platform/graphics/chromium/LayerRendererChromium.cpp:
1653         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1654
1655 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1656
1657         Unreviewed Gtk3 buildfix after r77286.
1658
1659         https://bugs.webkit.org/show_bug.cgi?id=53520
1660         Remove the physical terminology from IntRect and FloatRect.
1661
1662         * platform/gtk/RenderThemeGtk3.cpp:
1663         (WebCore::RenderThemeGtk::paintMenuList):
1664
1665 2011-02-02  Anders Carlsson  <andersca@apple.com>
1666
1667         Fix build.
1668
1669         * platform/mac/ScrollAnimatorMac.mm:
1670         (WebCore::ScrollAnimatorMac::pinnedInDirection):
1671
1672 2011-02-02  David Hyatt  <hyatt@apple.com>
1673
1674         Reviewed by Dan Bernstein.
1675
1676         https://bugs.webkit.org/show_bug.cgi?id=53619
1677
1678         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1679         with maxX/maxY.  This matches IntRect.
1680
1681         * rendering/RenderBlock.cpp:
1682         (WebCore::RenderBlock::addOverflowFromFloats):
1683         (WebCore::RenderBlock::flipFloatForWritingMode):
1684         (WebCore::RenderBlock::paintFloats):
1685         (WebCore::RenderBlock::selectionGaps):
1686         (WebCore::RenderBlock::addOverhangingFloats):
1687         (WebCore::RenderBlock::addIntrudingFloats):
1688         (WebCore::RenderBlock::hitTestFloats):
1689         (WebCore::RenderBlock::adjustForBorderFit):
1690         * rendering/RenderBlock.h:
1691         (WebCore::RenderBlock::FloatingObject::x):
1692         (WebCore::RenderBlock::FloatingObject::maxX):
1693         (WebCore::RenderBlock::FloatingObject::y):
1694         (WebCore::RenderBlock::FloatingObject::maxY):
1695         (WebCore::RenderBlock::FloatingObject::setX):
1696         (WebCore::RenderBlock::FloatingObject::setY):
1697         (WebCore::RenderBlock::logicalTopForFloat):
1698         (WebCore::RenderBlock::logicalBottomForFloat):
1699         (WebCore::RenderBlock::logicalLeftForFloat):
1700         (WebCore::RenderBlock::logicalRightForFloat):
1701         (WebCore::RenderBlock::setLogicalTopForFloat):
1702         (WebCore::RenderBlock::setLogicalLeftForFloat):
1703         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1704         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1705
1706 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1707
1708         Update more references to right() and bottom() in Chromium Win.
1709
1710         * platform/graphics/chromium/TransparencyWin.cpp:
1711         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1712         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1713         * rendering/RenderThemeChromiumWin.cpp:
1714         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1715
1716 2011-02-02  Adam Roben  <aroben@apple.com>
1717
1718         Encode/decode FormData and FormDataElement objects consistently
1719
1720         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1721         that contains form data fails (asserts in Debug build)
1722
1723         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1724         now, even though we don't have an automated test for it yet. Writing a test is covered by
1725         <http://webkit.org/b/53616>.
1726
1727         Reviewed by Darin Adler.
1728
1729         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1730         FormData objects.
1731
1732         * platform/network/FormData.cpp:
1733         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1734         default-constructed FormDataElement. Failing to do this meant that all future uses of the
1735         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1736         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1737         to correctly set the FormDataElement's type based on this decoded type later in the
1738         function.
1739         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1740         matches its type and how we decode it.
1741
1742 2011-02-02  Dan Winship  <danw@gnome.org>
1743
1744         Reviewed by Martin Robinson.
1745
1746         [GTK] drop soup cache stuff, which has been moved to libsoup
1747         https://bugs.webkit.org/show_bug.cgi?id=50747
1748
1749         Use libsoup-based cache/requester API and remove the WebCore version
1750         of this functionality. This has been pushed upstream fully.
1751
1752         No new tests because this should not change functionality.
1753
1754         * GNUmakefile.am: Update for removed files.
1755         * platform/network/ResourceHandleInternal.h:
1756         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1757         type names, drop m_requester.
1758         * platform/network/soup/ResourceHandleSoup.cpp:
1759         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1760         session.
1761         (WebCore::parseDataUrl):
1762         (WebCore::startHttp): Get the requester from the session rather
1763         than using m_requester.
1764         (WebCore::sendRequestCallback):
1765         (WebCore::ResourceHandle::platformSetDefersLoading):
1766         (WebCore::readCallback):
1767         (WebCore::startGio): Update type names.
1768         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1769         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1770         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1771         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1772         * platform/network/soup/cache/soup-request-data.c: Removed.
1773         * platform/network/soup/cache/soup-request-data.h: Removed.
1774         * platform/network/soup/cache/soup-request-file.c: Removed.
1775         * platform/network/soup/cache/soup-request-file.h: Removed.
1776         * platform/network/soup/cache/soup-request-http.c: Removed.
1777         * platform/network/soup/cache/soup-request-http.h: Removed.
1778         * platform/network/soup/cache/soup-request.c: Removed.
1779         * platform/network/soup/cache/soup-request.h: Removed.
1780         * platform/network/soup/cache/soup-requester.c: Removed.
1781         * platform/network/soup/cache/soup-requester.h: Removed.
1782         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1783         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1784         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1785
1786 2011-02-02  David Hyatt  <hyatt@apple.com>
1787
1788         Reviewed by Darin Adler.
1789
1790         https://bugs.webkit.org/show_bug.cgi?id=53520
1791
1792         Remove physical accessors from IntRect and FloatRect.
1793
1794         * page/FrameView.cpp:
1795         (WebCore::FrameView::adjustPageHeightDeprecated):
1796         * platform/graphics/FloatRect.h:
1797         * platform/graphics/IntRect.h:
1798
1799 2011-02-02  David Hyatt  <hyatt@apple.com>
1800
1801         Reviewed by Dan Bernstein.
1802
1803         https://bugs.webkit.org/show_bug.cgi?id=53614
1804
1805         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
1806
1807         * rendering/InlineFlowBox.cpp:
1808         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1809         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1810         * rendering/InlineFlowBox.h:
1811         (WebCore::InlineFlowBox::minYLayoutOverflow):
1812         (WebCore::InlineFlowBox::maxYLayoutOverflow):
1813         (WebCore::InlineFlowBox::minXLayoutOverflow):
1814         (WebCore::InlineFlowBox::maxXLayoutOverflow):
1815         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1816         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1817         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1818         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1819         (WebCore::InlineFlowBox::minYVisualOverflow):
1820         (WebCore::InlineFlowBox::maxYVisualOverflow):
1821         (WebCore::InlineFlowBox::minXVisualOverflow):
1822         (WebCore::InlineFlowBox::maxXVisualOverflow):
1823         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1824         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1825         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1826         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1827         * rendering/RenderBlock.cpp:
1828         (WebCore::RenderBlock::adjustLinePositionForPagination):
1829         * rendering/RenderBlockLineLayout.cpp:
1830         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1831         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1832         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1833         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1834         * rendering/RenderBox.cpp:
1835         (WebCore::RenderBox::scrollWidth):
1836         (WebCore::RenderBox::scrollHeight):
1837         * rendering/RenderBox.h:
1838         (WebCore::RenderBox::minYLayoutOverflow):
1839         (WebCore::RenderBox::maxYLayoutOverflow):
1840         (WebCore::RenderBox::minXLayoutOverflow):
1841         (WebCore::RenderBox::maxXLayoutOverflow):
1842         (WebCore::RenderBox::logicalLeftLayoutOverflow):
1843         (WebCore::RenderBox::logicalRightLayoutOverflow):
1844         (WebCore::RenderBox::minYVisualOverflow):
1845         (WebCore::RenderBox::maxYVisualOverflow):
1846         (WebCore::RenderBox::minXVisualOverflow):
1847         (WebCore::RenderBox::maxXVisualOverflow):
1848         (WebCore::RenderBox::logicalLeftVisualOverflow):
1849         (WebCore::RenderBox::logicalRightVisualOverflow):
1850         * rendering/RenderInline.cpp:
1851         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1852         * rendering/RenderLayerCompositor.cpp:
1853         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1854         * rendering/RenderLineBoxList.cpp:
1855         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1856         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1857         (WebCore::RenderLineBoxList::paint):
1858         (WebCore::RenderLineBoxList::hitTest):
1859         * rendering/RenderMarquee.cpp:
1860         (WebCore::RenderMarquee::computePosition):
1861         * rendering/RenderOverflow.h:
1862         (WebCore::RenderOverflow::RenderOverflow):
1863         (WebCore::RenderOverflow::minYLayoutOverflow):
1864         (WebCore::RenderOverflow::maxYLayoutOverflow):
1865         (WebCore::RenderOverflow::minXLayoutOverflow):
1866         (WebCore::RenderOverflow::maxXLayoutOverflow):
1867         (WebCore::RenderOverflow::minYVisualOverflow):
1868         (WebCore::RenderOverflow::maxYVisualOverflow):
1869         (WebCore::RenderOverflow::minXVisualOverflow):
1870         (WebCore::RenderOverflow::maxXVisualOverflow):
1871         (WebCore::RenderOverflow::setminYVisualOverflow):
1872         (WebCore::RenderOverflow::visualOverflowRect):
1873         (WebCore::RenderOverflow::move):
1874         (WebCore::RenderOverflow::addVisualOverflow):
1875         (WebCore::RenderOverflow::setVisualOverflow):
1876         * rendering/RenderReplaced.cpp:
1877         (WebCore::RenderReplaced::shouldPaint):
1878         * rendering/RenderTable.cpp:
1879         (WebCore::RenderTable::layout):
1880         (WebCore::RenderTable::paint):
1881         * rendering/RenderTableCell.cpp:
1882         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1883         * rendering/RenderTreeAsText.cpp:
1884         (WebCore::writeLayers):
1885         * rendering/RenderView.cpp:
1886         (WebCore::RenderView::docTop):
1887
1888 2011-02-02  Steve Lacey  <sjl@chromium.org>
1889
1890         Reviewed by Eric Carlson.
1891
1892         Implement basic media statistics on media elements.
1893         https://bugs.webkit.org/show_bug.cgi?id=53322
1894
1895         * Configurations/FeatureDefines.xcconfig:
1896         * GNUmakefile.am:
1897         * features.pri:
1898         * html/HTMLMediaElement.cpp:
1899         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1900         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1901         * html/HTMLMediaElement.h:
1902         * html/HTMLMediaElement.idl:
1903         * html/HTMLVideoElement.cpp:
1904         (WebCore::HTMLVideoElement::webkitDecodedFrames):
1905         (WebCore::HTMLVideoElement::webkitDroppedFrames):
1906         * html/HTMLVideoElement.h:
1907         * html/HTMLVideoElement.idl:
1908         * platform/graphics/MediaPlayer.cpp:
1909         (WebCore::MediaPlayer::decodedFrames):
1910         (WebCore::MediaPlayer::droppedFrames):
1911         (WebCore::MediaPlayer::audioBytesDecoded):
1912         (WebCore::MediaPlayer::videoBytesDecoded):
1913         * platform/graphics/MediaPlayer.h:
1914         * platform/graphics/MediaPlayerPrivate.h:
1915         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1916         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1917         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1918         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1919
1920 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1921
1922         Reviewed by David Hyatt.
1923
1924         More conversion from right()/bottom() to maxX()/maxY().
1925
1926         * page/qt/FrameQt.cpp:
1927         (WebCore::Frame::dragImageForSelection):
1928         * platform/graphics/qt/GraphicsContextQt.cpp:
1929         (WebCore::GraphicsContext::roundToDevicePixels):
1930
1931 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
1932
1933         [wx] Build fixes for wxWebKit.
1934
1935         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1936         (documentWrite):
1937         * bindings/scripts/CodeGeneratorCPP.pm:
1938         * page/wx/DragControllerWx.cpp:
1939         (WebCore::DragController::dragOperation):
1940         * platform/graphics/wx/FontCustomPlatformData.h:
1941         * platform/graphics/wx/FontPlatformData.h:
1942         (WebCore::FontPlatformData::widthVariant):
1943         * platform/graphics/wx/FontPlatformDataWx.cpp:
1944         (WebCore::FontPlatformData::computeHash):
1945         * platform/graphics/wx/FontWx.cpp:
1946         * platform/graphics/wx/GraphicsContextWx.cpp:
1947         (WebCore::GraphicsContext::fillPath):
1948         (WebCore::GraphicsContext::strokePath):
1949         * platform/wx/RenderThemeWx.cpp:
1950
1951 2011-02-02  David Hyatt  <hyatt@apple.com>
1952
1953         Reviewed by Darin Adler.
1954
1955         More right()/bottom() to maxX()/maxY() conversion.
1956
1957         * page/chromium/FrameChromium.cpp:
1958         (WebCore::Frame::nodeImage):
1959         (WebCore::Frame::dragImageForSelection):
1960
1961 2011-02-02  Sam Weinig  <sam@webkit.org>
1962
1963         Fix windows clean build.
1964
1965         * DerivedSources.make:
1966
1967 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
1968
1969         Reviewed by Pavel Feldman.
1970
1971         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1972
1973         https://bugs.webkit.org/show_bug.cgi?id=53606
1974
1975         Display progress while taking a snapshot, and hints while loading
1976         and parsing. This is needed because taking detailed heap snapshots
1977         takes time.
1978
1979         * English.lproj/localizedStrings.js:
1980         * inspector/front-end/DetailedHeapshotView.js:
1981         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1982         * inspector/front-end/ProfilesPanel.js:
1983         (WebInspector.ProfilesPanel.prototype._reset):
1984         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1985         (WebInspector.ProfilesPanel.prototype.getProfiles):
1986         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1987         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1988         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1989         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1990         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1991         * inspector/front-end/SidebarTreeElement.js:
1992         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
1993
1994 2011-02-02  David Hyatt  <hyatt@apple.com>
1995
1996         Reviewed by Darin Adler.
1997
1998         More conversion from right()/bottom() to maxX()/maxY().
1999
2000         * platform/win/PopupMenuWin.cpp:
2001         (WebCore::PopupMenuWin::calculatePositionAndSize):
2002         (WebCore::PopupMenuWin::paint):
2003
2004 2011-02-02  David Hyatt  <hyatt@apple.com>
2005
2006         Reviewed by Darin Adler.
2007
2008         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
2009
2010         * platform/chromium/PopupMenuChromium.cpp:
2011         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2012         (WebCore::PopupListBox::scrollToRevealRow):
2013         (WebCore::PopupListBox::layout):
2014         * platform/graphics/FloatRect.h:
2015         * platform/graphics/IntRect.h:
2016         * platform/graphics/cairo/ImageBufferCairo.cpp:
2017         (WebCore::getImageData):
2018         (WebCore::putImageData):
2019         * platform/graphics/chromium/GLES2Canvas.cpp:
2020         (WebCore::GLES2Canvas::drawTexturedRect):
2021         * platform/graphics/chromium/LayerRendererChromium.cpp:
2022         (WebCore::LayerRendererChromium::verticalScrollbarRect):
2023         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2024         (WebCore::LayerRendererChromium::setScissorToRect):
2025         (WebCore::LayerRendererChromium::setDrawViewportRect):
2026         * platform/graphics/chromium/LayerTilerChromium.cpp:
2027         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2028         (WebCore::LayerTilerChromium::growLayerToContain):
2029         * platform/graphics/gpu/TilingData.cpp:
2030         (WebCore::TilingData::tileBoundsWithBorder):
2031         (WebCore::TilingData::overlappedTileIndices):
2032         * platform/graphics/qt/ImageBufferQt.cpp:
2033         (WebCore::getImageData):
2034         (WebCore::putImageData):
2035         * platform/graphics/skia/FloatRectSkia.cpp:
2036         (WebCore::FloatRect::operator SkRect):
2037         * platform/graphics/skia/ImageBufferSkia.cpp:
2038         (WebCore::getImageData):
2039         (WebCore::putImageData):
2040         * platform/graphics/skia/IntRectSkia.cpp:
2041         (WebCore::IntRect::operator SkIRect):
2042         (WebCore::IntRect::operator SkRect):
2043         * platform/graphics/skia/PlatformContextSkia.cpp:
2044         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2045         * platform/graphics/win/GraphicsContextWin.cpp:
2046         (WebCore::GraphicsContextPlatformPrivate::clip):
2047         * platform/graphics/win/IntRectWin.cpp:
2048         (WebCore::IntRect::operator RECT):
2049         * platform/graphics/win/UniscribeController.cpp:
2050         (WebCore::UniscribeController::shapeAndPlaceItem):
2051         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2052         (WebCore::roundRect):
2053         (WebCore::mapRect):
2054         (WebCore::TransparentLayerDC::TransparentLayerDC):
2055         (WebCore::GraphicsContext::drawRect):
2056         (WebCore::GraphicsContext::drawEllipse):
2057         (WebCore::GraphicsContext::strokeArc):
2058         (WebCore::GraphicsContext::clip):
2059         (WebCore::GraphicsContext::clipOut):
2060         (WebCore::GraphicsContext::strokeRect):
2061         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2062         (WebCore::GIFImageDecoder::initFrameBuffer):
2063         * platform/win/PopupMenuWin.cpp:
2064         (WebCore::PopupMenuWin::calculatePositionAndSize):
2065         (WebCore::PopupMenuWin::paint):
2066         * plugins/win/PluginViewWin.cpp:
2067         (WebCore::PluginView::updatePluginWidget):
2068         (WebCore::PluginView::invalidateRect):
2069         * rendering/RenderThemeSafari.cpp:
2070         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2071         (WebCore::RenderThemeSafari::paintMenuListButton):
2072         (WebCore::RenderThemeSafari::paintSliderTrack):
2073         * rendering/RenderThemeWin.cpp:
2074         (WebCore::RenderThemeWin::paintInnerSpinButton):
2075         (WebCore::RenderThemeWin::paintMenuListButton):
2076
2077 2011-02-02  Antti Koivisto  <antti@apple.com>
2078
2079         Reviewed by Maciej Stachowiak.
2080
2081         Use Vector instead of a linked list for rules in CSSStyleSelector
2082         https://bugs.webkit.org/show_bug.cgi?id=53581
2083         
2084         - eliminate CSSRuleDataList, replace with Vector<RuleData>
2085         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
2086           (these are selector internal classes, CSS prefix is better reserved for public ones).
2087         - constify a bit
2088         - shrink the vectors to fit after collecting the rules
2089
2090         * css/CSSStyleSelector.cpp:
2091         (WebCore::RuleData::RuleData):
2092         (WebCore::RuleData::position):
2093         (WebCore::RuleData::rule):
2094         (WebCore::RuleData::selector):
2095         (WebCore::RuleSet::disableAutoShrinkToFit):
2096         (WebCore::RuleSet::getIDRules):
2097         (WebCore::RuleSet::getClassRules):
2098         (WebCore::RuleSet::getTagRules):
2099         (WebCore::RuleSet::getPseudoRules):
2100         (WebCore::RuleSet::getUniversalRules):
2101         (WebCore::RuleSet::getPageRules):
2102         (WebCore::collectSiblingRulesInDefaultStyle):
2103         (WebCore::CSSStyleSelector::CSSStyleSelector):
2104         (WebCore::loadFullDefaultStyle):
2105         (WebCore::loadSimpleDefaultStyle):
2106         (WebCore::loadViewSourceStyle):
2107         (WebCore::CSSStyleSelector::matchRules):
2108         (WebCore::CSSStyleSelector::matchRulesForList):
2109         (WebCore::operator >):
2110         (WebCore::operator <=):
2111         (WebCore::CSSStyleSelector::sortMatchedRules):
2112         (WebCore::CSSStyleSelector::matchUARules):
2113         (WebCore::RuleSet::RuleSet):
2114         (WebCore::RuleSet::~RuleSet):
2115         (WebCore::RuleSet::addToRuleSet):
2116         (WebCore::RuleSet::addRule):
2117         (WebCore::RuleSet::addPageRule):
2118         (WebCore::RuleSet::addRulesFromSheet):
2119         (WebCore::RuleSet::addStyleRule):
2120         (WebCore::collectIdsAndSiblingRulesFromList):
2121         (WebCore::RuleSet::collectIdsAndSiblingRules):
2122         (WebCore::shrinkMapVectorsToFit):
2123         (WebCore::RuleSet::shrinkToFit):
2124         (WebCore::CSSStyleSelector::matchPageRules):
2125         (WebCore::CSSStyleSelector::matchPageRulesForList):
2126         * css/CSSStyleSelector.h:
2127         (WebCore::CSSStyleSelector::addMatchedRule):
2128
2129 2011-02-02  Andrey Adaikin  <aandrey@google.com>
2130
2131         Reviewed by Pavel Feldman.
2132
2133         Web Inspector: Use DIVs instead of TABLE in TextViewer
2134         https://bugs.webkit.org/show_bug.cgi?id=53299
2135
2136         * inspector/front-end/SourceFrame.js:
2137         (WebInspector.SourceFrame.prototype._createTextViewer):
2138         (WebInspector.SourceFrame.prototype._mouseDown):
2139         * inspector/front-end/TextViewer.js:
2140         (WebInspector.TextViewer):
2141         (WebInspector.TextViewer.prototype.set mimeType):
2142         (WebInspector.TextViewer.prototype.revealLine):
2143         (WebInspector.TextViewer.prototype.addDecoration):
2144         (WebInspector.TextViewer.prototype.removeDecoration):
2145         (WebInspector.TextViewer.prototype.markAndRevealRange):
2146         (WebInspector.TextViewer.prototype.highlightLine):
2147         (WebInspector.TextViewer.prototype.clearLineHighlight):
2148         (WebInspector.TextViewer.prototype.freeCachedElements):
2149         (WebInspector.TextViewer.prototype._handleKeyDown):
2150         (WebInspector.TextViewer.prototype.editLine.finishEditing):
2151         (WebInspector.TextViewer.prototype.editLine):
2152         (WebInspector.TextViewer.prototype.beginUpdates):
2153         (WebInspector.TextViewer.prototype.endUpdates):
2154         (WebInspector.TextViewer.prototype.resize):
2155         (WebInspector.TextViewer.prototype._textChanged):
2156         (WebInspector.TextViewer.prototype._updatePanelOffsets):
2157         (WebInspector.TextViewer.prototype._syncScroll):
2158         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2159         (WebInspector.TextEditorChunkedPanel):
2160         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2161         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2162         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2163         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2164         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2165         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2166         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2167         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2168         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2169         (WebInspector.TextEditorChunkedPanel.prototype.resize):
2170         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2171         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2172         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2173         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2174         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2175         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2176         (WebInspector.TextEditorGutterPanel):
2177         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2178         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2179         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2180         (WebInspector.TextEditorGutterChunk):
2181         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2182         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2183         (WebInspector.TextEditorGutterChunk.prototype.get height):
2184         (WebInspector.TextEditorGutterChunk.prototype._createRow):
2185         (WebInspector.TextEditorMainPanel):
2186         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2187         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2188         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2189         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2190         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2191         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2192         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2193         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2194         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2195         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2196         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2197         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2198         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2199         (WebInspector.TextEditorMainPanel.prototype._getSelection):
2200         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2201         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2202         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2203         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2204         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2205         (WebInspector.TextEditorMainChunk):
2206         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2207         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2208         (WebInspector.TextEditorMainChunk.prototype.get height):
2209         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2210         (WebInspector.TextEditorMainChunk.prototype._createRow):
2211         (WebInspector):
2212         * inspector/front-end/textViewer.css:
2213         (.text-editor-lines):
2214         (.text-editor-contents):
2215         (.text-editor-editable):
2216         (.webkit-line-decorations):
2217         (.webkit-line-number):
2218         (.webkit-execution-line.webkit-line-content):
2219         (.diff-container .webkit-added-line.webkit-line-content):
2220         (.diff-container .webkit-removed-line.webkit-line-content):
2221         (.diff-container .webkit-changed-line.webkit-line-content):
2222         (.webkit-highlighted-line.webkit-line-content):
2223
2224 2011-02-02  Hans Wennborg  <hans@chromium.org>
2225
2226         Reviewed by Jeremy Orlow.
2227
2228         IndexedDB: Implement support for cursor updates
2229         https://bugs.webkit.org/show_bug.cgi?id=53421
2230
2231         Implement support for cursor updates using the same pattern as cursor
2232         deletes: forward the calls to the IDBObjectStoreBackend::put().
2233         The put() function's signature needs to be changed to allow for a
2234         "cursor update mode". This makes the signature more clear anyway,
2235         since it replaces the boolean parameter.
2236
2237         Test: storage/indexeddb/cursor-update.html
2238
2239         * storage/IDBCursor.idl:
2240         * storage/IDBCursorBackendImpl.cpp:
2241         (WebCore::IDBCursorBackendImpl::key):
2242         (WebCore::IDBCursorBackendImpl::update):
2243         * storage/IDBCursorBackendImpl.h:
2244         * storage/IDBObjectStore.cpp:
2245         (WebCore::IDBObjectStore::add):
2246         (WebCore::IDBObjectStore::put):
2247         * storage/IDBObjectStoreBackendImpl.cpp:
2248         (WebCore::IDBObjectStoreBackendImpl::put):
2249         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2250         * storage/IDBObjectStoreBackendImpl.h:
2251         * storage/IDBObjectStoreBackendInterface.h:
2252
2253 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
2254
2255         Reviewed by Kent Tamura.
2256
2257         Fix popup menu RTL bug introduced by Changeset 75982.
2258         https://bugs.webkit.org/show_bug.cgi?id=53567
2259
2260         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2261
2262         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
2263
2264         * platform/chromium/PopupMenuChromium.cpp:
2265         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
2266         (WebCore::PopupContainer::showPopup): Change the passing parameter.
2267         (WebCore::PopupContainer::refresh): Change the passing parameter.
2268         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2269
2270 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
2271
2272         Reviewed by Martin Robinson.
2273
2274         [GTK] Fix dist compilation
2275         https://bugs.webkit.org/show_bug.cgi?id=53579
2276
2277         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2278         added in r77153.
2279
2280 2011-02-02  Dai Mikurube  <dmikurube@google.com>
2281
2282         Reviewed by David Levin.
2283
2284         Make mime type lookup in File::create(path) thread-safe
2285         https://bugs.webkit.org/show_bug.cgi?id=47700
2286
2287         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2288         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2289         both FILE_SYSTEM and WORKERS are enabled.
2290
2291         No tests for this patch. This patch itself doesn't change the behaviors.
2292         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2293         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2294         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2295         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2296
2297         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2298         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2299         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2300         * platform/android/TemporaryLinkStubs.cpp:
2301         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2302         * platform/brew/MIMETypeRegistryBrew.cpp:
2303         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2304         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2305         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2306         * platform/efl/MIMETypeRegistryEfl.cpp:
2307         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2308         * platform/gtk/MIMETypeRegistryGtk.cpp:
2309         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2310         * platform/haiku/MIMETypeRegistryHaiku.cpp:
2311         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2312         * platform/mac/MIMETypeRegistryMac.mm:
2313         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2314         * platform/qt/MIMETypeRegistryQt.cpp:
2315         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2316         * platform/win/MIMETypeRegistryWin.cpp:
2317         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2318         * platform/wince/MIMETypeRegistryWinCE.cpp:
2319         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2320         * platform/wx/MimeTypeRegistryWx.cpp:
2321         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2322
2323 2011-02-01  Adam Barth  <abarth@webkit.org>
2324
2325         Reviewed by Alexey Proskuryakov.
2326
2327         Improve readability of updateWidget by converting bool parameter to an enum
2328         https://bugs.webkit.org/show_bug.cgi?id=53576
2329
2330         As requested on webkit-dev.
2331
2332         * html/HTMLEmbedElement.cpp:
2333         (WebCore::HTMLEmbedElement::updateWidget):
2334         * html/HTMLEmbedElement.h:
2335         * html/HTMLMediaElement.cpp:
2336         (WebCore::HTMLMediaElement::updateWidget):
2337         * html/HTMLMediaElement.h:
2338         * html/HTMLObjectElement.cpp:
2339         (WebCore::HTMLObjectElement::updateWidget):
2340         * html/HTMLObjectElement.h:
2341         * html/HTMLPlugInImageElement.cpp:
2342         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2343         * html/HTMLPlugInImageElement.h:
2344         * page/FrameView.cpp:
2345         (WebCore::FrameView::updateWidget):
2346
2347 2011-02-01  James Robinson  <jamesr@chromium.org>
2348
2349         Reviewed by Adam Barth.
2350
2351         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2352         https://bugs.webkit.org/show_bug.cgi?id=53566
2353
2354         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2355         Other than being large enough for this one test case, this limit is arbitrary.
2356
2357         * bindings/v8/V8Proxy.h:
2358
2359 2011-02-01  Adam Barth  <abarth@webkit.org>
2360
2361         Reviewed by Andreas Kling.
2362
2363         Remove useless comment
2364         https://bugs.webkit.org/show_bug.cgi?id=53549
2365
2366         The reason for this parameter is captured in
2367         plugins/netscape-plugin-setwindow-size.html, which is a better place to
2368         capture it than in this comment (which otherwise just re-iterates the
2369         name of the parameter).
2370
2371         * html/HTMLPlugInImageElement.cpp:
2372         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2373
2374 2011-02-01  James Simonsen  <simonjam@chromium.org>
2375
2376         Reviewed by Tony Gentilcore.
2377
2378         [WebTiming] Remove asserts that verify timestamp order
2379         https://bugs.webkit.org/show_bug.cgi?id=53548
2380
2381         Covered by existing tests.
2382
2383         * loader/FrameLoader.cpp:
2384         (WebCore::FrameLoader::stopLoading): Remove assert.
2385         * page/DOMWindow.cpp:
2386         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2387
2388 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2389
2390         Add the 'default_targets' enclosure to the flags.
2391
2392         * WebCore.gyp/WebCore.gyp: Did it.
2393
2394 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
2395
2396         Reviewed by James Robinson.
2397
2398         Async event handlers should not fire within a modal dialog
2399         https://bugs.webkit.org/show_bug.cgi?id=53202
2400
2401         Asychronous events that use EventQueue would currently fire while a
2402         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2403         SuspendableTimer (which automatically gets suspended while dialogs are
2404         up and in other cases where JS execution is not allowed).
2405         
2406         Test: fast/events/scroll-event-during-modal-dialog.html
2407
2408         * dom/Document.cpp:
2409         (WebCore::Document::Document):
2410         * dom/EventQueue.cpp:
2411         (WebCore::EventQueueTimer::EventQueueTimer):
2412         (WebCore::EventQueueTimer::fired):
2413         (WebCore::EventQueue::EventQueue):
2414         (WebCore::EventQueue::enqueueEvent):
2415         (WebCore::EventQueue::pendingEventTimerFired):
2416         * dom/EventQueue.h:
2417         (WebCore::EventQueue::create):
2418         * page/SuspendableTimer.cpp:
2419         (WebCore::SuspendableTimer::SuspendableTimer):
2420         (WebCore::SuspendableTimer::suspend):
2421         (WebCore::SuspendableTimer::resume):
2422         * page/SuspendableTimer.h:
2423
2424 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2425
2426         Reviewed by Andreas Kling.
2427
2428         Change wrong PLATFORM(WIN) to USE(WININET)
2429         https://bugs.webkit.org/show_bug.cgi?id=53547
2430
2431         * platform/network/ResourceHandle.h:
2432
2433 2011-02-01  Beth Dakin  <bdakin@apple.com>
2434
2435         32-bit build fix.
2436
2437         * platform/mac/ScrollAnimatorMac.mm:
2438         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2439
2440 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
2441
2442         Reviewed by Gustavo Noronha Silva.
2443
2444         [GTK] Two tests crash after r76555
2445         https://bugs.webkit.org/show_bug.cgi?id=53057
2446
2447         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2448         This ensures that ::start() is not called when there is a scheduled failure and also
2449         reduces code duplication.
2450
2451         * platform/network/soup/ResourceHandleSoup.cpp:
2452         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2453
2454 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
2455
2456         Reviewed by Eric Seidel.
2457
2458         [GTK] GObject DOM bindings do no support the CallWith attribute
2459         https://bugs.webkit.org/show_bug.cgi?id=53331
2460
2461         Disable building GObject DOM bindings for IndexedDB because we do not support
2462         the CallWith attribute at this time.
2463
2464         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2465
2466 2011-02-01  Darin Adler  <darin@apple.com>
2467
2468         Reviewed by Brady Eidson.
2469
2470         Fix a couple loose ends from the back/forward tree encode/decode work
2471         https://bugs.webkit.org/show_bug.cgi?id=53537
2472
2473         * history/HistoryItem.cpp:
2474         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2475         original URL string; no need to encode it twice.
2476         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2477         * history/HistoryItem.h: Removed declaration for function that is no
2478         longer defined nor used.
2479
2480 2011-02-01  Tony Chang  <tony@chromium.org>
2481
2482         Reviewed by Kent Tamura.
2483
2484         [chromium] disable arm uninitialized variable warnings
2485         https://bugs.webkit.org/show_bug.cgi?id=53553
2486
2487         We just got another error:
2488         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2489         'colorTransparent.unstatic.4879' may be used uninitialized in this
2490         function
2491
2492         * WebCore.gyp/WebCore.gyp:
2493
2494 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
2495
2496         Reviewed by Adam Barth.
2497
2498         Self-replicating code makes Safari hang and eventually crash
2499         https://bugs.webkit.org/show_bug.cgi?id=15123
2500
2501        
2502         Here we are replicating the Firefox safeguard against
2503         recursive document.write( ) 's.
2504
2505         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
2506         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
2507             a) imposes a recursion limit of 20 on document.write( ) and
2508             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2509         To see why this is necessary, consider the script : 
2510
2511         <script>
2512            var t = document.body.innerHTML;
2513            document.write(t);
2514         </script> 
2515
2516         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
2517         we just return one level after the recursion limit is reached, we still allow millions of copies to 
2518         duplicate (and execute).   
2519
2520         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2521         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
2522
2523         Test: fast/dom/Document/document-write-recursion.html        
2524         Test: fast/dom/Document/document-close-iframe-load.html
2525         Test: fast/dom/Document/document-close-nested-iframe-load.html
2526
2527
2528         * dom/Document.cpp:
2529         (WebCore::Document::Document):
2530         (WebCore::Document::write):
2531         * dom/Document.h:
2532
2533 2011-02-01  Johnny Ding  <jnd@chromium.org>
2534
2535         Reviewed by Darin Adler.
2536
2537         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2538         https://bugs.webkit.org/show_bug.cgi?id=53424
2539
2540         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2541
2542         * html/HTMLAnchorElement.cpp:
2543         (WebCore::handleLinkClick):
2544
2545 2011-02-01  Csaba Osztrogon√°c  <ossy@webkit.org>
2546
2547         Unreviewed Qt buildfix after r77286.
2548
2549         https://bugs.webkit.org/show_bug.cgi?id=53520 
2550         Remove the physical terminology from IntRect and FloatRect.
2551
2552         * platform/graphics/TiledBackingStore.cpp:
2553         (WebCore::TiledBackingStore::createTiles):
2554
2555 2011-02-01  Sam Weinig  <sam@webkit.org>
2556
2557         Fix Mac production builds.
2558
2559         * DerivedSources.make:
2560         * WebCore.xcodeproj/project.pbxproj:
2561         * platform/mac/ScrollAnimatorMac.h:
2562         * platform/mac/ScrollbarThemeMac.h:
2563
2564 2011-02-01  Darin Adler  <darin@apple.com>
2565
2566         Reviewed by Chris Fleizach.
2567
2568         REGRESSION: Removing focus from area element causes unwanted scrolling
2569         https://bugs.webkit.org/show_bug.cgi?id=50169
2570
2571         Test: fast/images/imagemap-scroll.html
2572
2573         * html/HTMLAreaElement.cpp:
2574         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2575         RenderImage::areaElementFocusChanged function.
2576         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2577         here that calls setNeedsLayout on the image's renderer. This was an
2578         attempt to cause repaint of the renderer, but this function does not
2579         need to do that. Also changed this to use the imageElement function
2580         to avoid repeating code.
2581
2582         * html/HTMLAreaElement.h: Updated for above changes.
2583
2584         * rendering/RenderImage.cpp:
2585         (WebCore::RenderImage::paint): Updated for name change.
2586         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2587         paintFocusRing, because it only paints area focus rings, and should
2588         not be confused with paintFocusRing functions in other classes. Also
2589         removed the unused style argument. Removed the code that used an
2590         HTMLCollection to see if the focused area element is for this image
2591         and instead just call imageElement on the area element.
2592         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2593
2594         * rendering/RenderImage.h: Added a public areaElementFocusChanged
2595         function for HTMLAreaElement to call. Made the paintFocusRing function
2596         private, renamed it to paintAreaElementFocusRing, and removed its
2597         unused style argument.
2598
2599 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2600
2601         Unreviewed WinCE build fix for r77286.
2602
2603         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2604         (WebCore::TransparentLayerDC::TransparentLayerDC):
2605
2606 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
2607
2608         Reviewed by Darin Adler.
2609
2610         AX: AXPosition of AXScrollArea is wrong
2611         https://bugs.webkit.org/show_bug.cgi?id=53511
2612
2613         AccessibilityScrollView needed to return a valid documentFrameView() object.
2614         At the same time, the code from document() should be consolidated in 
2615         AccessibilityObject, so all objects can use it.
2616
2617         Test: platform/mac/accessibility/webkit-scrollarea-position.html
2618
2619         * accessibility/AccessibilityObject.cpp:
2620         (WebCore::AccessibilityObject::document):
2621         * accessibility/AccessibilityObject.h:
2622         * accessibility/AccessibilityScrollView.cpp:
2623         (WebCore::AccessibilityScrollView::accessibilityHitTest):
2624         (WebCore::AccessibilityScrollView::documentFrameView):
2625         * accessibility/AccessibilityScrollView.h:
2626
2627 2011-02-01  Zhenyao Mo  <zmo@google.com>
2628
2629         Reviewed by Kenneth Russell.
2630
2631         getUniform should support SAMPLER_2D or SAMPLER_CUBE
2632         https://bugs.webkit.org/show_bug.cgi?id=52190
2633
2634         * html/canvas/WebGLRenderingContext.cpp:
2635         (WebCore::WebGLRenderingContext::getUniform):
2636
2637 2011-02-01  Zhenyao Mo  <zmo@google.com>
2638
2639         Reviewed by Darin Adler.
2640
2641         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2642         https://bugs.webkit.org/show_bug.cgi?id=53531
2643
2644         With this fix, running WebGL conformance tests should no longer crash randomly.
2645
2646         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2647         (WebCore::GraphicsContext3D::getImageData):
2648
2649 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2650
2651         One more Chromium build fix after r77286.
2652
2653         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2654         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2655
2656 2011-02-01  Sam Weinig  <sam@webkit.org>
2657
2658         Fix the build for Beth.
2659
2660         * platform/mac/ScrollAnimatorMac.mm:
2661         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2662
2663 2011-02-01  Sam Weinig  <sam@webkit.org>
2664
2665         Reviewed by Beth Dakin.
2666
2667         Part 2 for <rdar://problem/8492788>
2668         Adopt WKScrollbarPainterController
2669
2670         Use header detection to define scrollbar painting controller #define.
2671
2672         * WebCore.exp.in:
2673         * platform/mac/ScrollAnimatorMac.h:
2674         * platform/mac/ScrollbarThemeMac.h:
2675         * platform/mac/WebCoreSystemInterface.h:
2676         * platform/mac/WebCoreSystemInterface.mm:
2677
2678 2011-02-01  David Hyatt  <hyatt@apple.com>
2679
2680         Reviewed by Oliver Hunt.
2681
2682         https://bugs.webkit.org/show_bug.cgi?id=53520
2683         
2684         Remove the physical terminology from IntRect and FloatRect.
2685         
2686         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2687         we need to update our terminology to be more accurate.
2688
2689         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2690         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
2691         even for flipped rectangles.
2692
2693         * accessibility/AccessibilityRenderObject.cpp:
2694         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2695         * accessibility/mac/AccessibilityObjectWrapper.mm:
2696         (-[AccessibilityObjectWrapper position]):
2697         * dom/ClientRect.h:
2698         (WebCore::ClientRect::right):
2699         (WebCore::ClientRect::bottom):
2700         * html/HTMLCanvasElement.cpp:
2701         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2702         * html/canvas/CanvasRenderingContext2D.cpp:
2703         (WebCore::normalizeRect):
2704         * inspector/InspectorAgent.cpp:
2705         (WebCore::InspectorAgent::drawElementTitle):
2706         * page/DOMWindow.cpp:
2707         (WebCore::DOMWindow::adjustWindowRect):
2708         * page/DragController.cpp:
2709         (WebCore::dragLocForSelectionDrag):
2710         * page/EventHandler.cpp:
2711         (WebCore::EventHandler::sendContextMenuEventForKey):
2712         * page/PrintContext.cpp:
2713         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2714         (WebCore::PrintContext::pageNumberForElement):
2715         * page/SpatialNavigation.cpp:
2716         (WebCore::end):
2717         (WebCore::areRectsFullyAligned):
2718         (WebCore::areRectsMoreThanFullScreenApart):
2719         (WebCore::below):
2720         (WebCore::rightOf):
2721         (WebCore::isRectInDirection):
2722         (WebCore::entryAndExitPointsForDirection):
2723         (WebCore::virtualRectForDirection):
2724         * page/WindowFeatures.cpp:
2725         (WebCore::WindowFeatures::WindowFeatures):
2726         * platform/ScrollView.cpp:
2727         (WebCore::ScrollView::wheelEvent):
2728         * platform/Scrollbar.cpp:
2729         (WebCore::Scrollbar::setFrameRect):
2730         * platform/ScrollbarThemeComposite.cpp:
2731         (WebCore::ScrollbarThemeComposite::splitTrack):
2732         * platform/chromium/ScrollbarThemeChromium.cpp:
2733         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2734         * platform/graphics/FloatQuad.h:
2735         (WebCore::FloatQuad::FloatQuad):
2736         * platform/graphics/FloatRect.cpp:
2737         (WebCore::FloatRect::intersects):
2738         (WebCore::FloatRect::contains):
2739         (WebCore::FloatRect::intersect):
2740         (WebCore::FloatRect::unite):
2741         (WebCore::enclosingIntRect):
2742         * platform/graphics/FloatRect.h:
2743         (WebCore::FloatRect::maxX):
2744         (WebCore::FloatRect::maxY):
2745         (WebCore::FloatRect::contains):
2746         * platform/graphics/IntRect.cpp:
2747         (WebCore::IntRect::intersects):
2748         (WebCore::IntRect::contains):
2749         (WebCore::IntRect::intersect):
2750         (WebCore::IntRect::unite):
2751         * platform/graphics/IntRect.h:
2752         (WebCore::IntRect::maxX):
2753         (WebCore::IntRect::maxY):
2754         (WebCore::IntRect::shiftXEdgeTo):
2755         (WebCore::IntRect::shiftMaxXEdgeTo):
2756         (WebCore::IntRect::shiftYEdgeTo):
2757         (WebCore::IntRect::shiftMaxYEdgeTo):
2758         (WebCore::IntRect::contains):
2759         * platform/graphics/WidthIterator.cpp:
2760         (WebCore::WidthIterator::advance):
2761         * platform/graphics/cg/GraphicsContextCG.cpp:
2762         (WebCore::GraphicsContext::drawRect):
2763         (WebCore::GraphicsContext::fillPath):
2764         (WebCore::GraphicsContext::fillRect):
2765         * platform/graphics/cg/ImageBufferCG.cpp:
2766         (WebCore::getImageData):
2767         (WebCore::putImageData):
2768         * platform/graphics/cg/ImageCG.cpp:
2769         (WebCore::BitmapImage::draw):
2770         * platform/graphics/filters/FilterEffect.cpp:
2771         (WebCore::FilterEffect::copyImageBytes):
2772         * platform/graphics/mac/ComplexTextController.cpp:
2773         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2774         * platform/graphics/mac/SimpleFontDataMac.mm:
2775         (WebCore::SimpleFontData::platformBoundsForGlyph):
2776         * platform/graphics/transforms/AffineTransform.cpp:
2777         (WebCore::AffineTransform::mapRect):
2778         * platform/graphics/win/FontCGWin.cpp:
2779         (WebCore::drawGDIGlyphs):
2780         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2781         (WebCore::MediaPlayerPrivate::paint):
2782         * platform/gtk/RenderThemeGtk.cpp:
2783         (WebCore::centerRectVerticallyInParentInputElement):
2784         * platform/mac/WidgetMac.mm:
2785         (WebCore::Widget::paint):
2786         * rendering/InlineFlowBox.cpp:
2787         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2788         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2789         * rendering/InlineTextBox.cpp:
2790         (WebCore::InlineTextBox::selectionRect):
2791         (WebCore::InlineTextBox::paint):
2792         (WebCore::InlineTextBox::positionForOffset):
2793         * rendering/RenderBlock.cpp:
2794         (WebCore::RenderBlock::addOverflowFromChildren):
2795         (WebCore::RenderBlock::paintChildren):
2796         (WebCore::RenderBlock::paintEllipsisBoxes):
2797         (WebCore::RenderBlock::inlineSelectionGaps):
2798         (WebCore::RenderBlock::adjustPointToColumnContents):
2799         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2800         (WebCore::RenderBlock::adjustForColumns):
2801         * rendering/RenderBlock.h:
2802         (WebCore::RenderBlock::FloatingObject::right):
2803         (WebCore::RenderBlock::FloatingObject::bottom):
2804         * rendering/RenderBox.cpp:
2805         (WebCore::RenderBox::reflectedRect):
2806         (WebCore::RenderBox::localCaretRect):
2807         (WebCore::RenderBox::addShadowOverflow):
2808         (WebCore::RenderBox::addLayoutOverflow):
2809         (WebCore::RenderBox::visualOverflowRectForPropagation):
2810         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2811         (WebCore::RenderBox::flipForWritingMode):
2812         * rendering/RenderFrameSet.cpp:
2813         (WebCore::RenderFrameSet::paintColumnBorder):
2814         (WebCore::RenderFrameSet::paintRowBorder):
2815         * rendering/RenderInline.cpp:
2816         (WebCore::RenderInline::paintOutlineForLine):
2817         * rendering/RenderLayer.cpp:
2818         (WebCore::RenderLayer::getRectToExpose):
2819         (WebCore::cornerRect):
2820         (WebCore::RenderLayer::positionOverflowControls):
2821         (WebCore::RenderLayer::overflowBottom):
2822         (WebCore::RenderLayer::overflowRight):
2823         (WebCore::RenderLayer::paintResizer):
2824         * rendering/RenderLineBoxList.cpp:
2825         (WebCore::RenderLineBoxList::rangeIntersectsRect):
2826         (WebCore::RenderLineBoxList::paint):
2827         * rendering/RenderListItem.cpp:
2828         (WebCore::RenderListItem::positionListMarker):
2829         * rendering/RenderListMarker.cpp:
2830         (WebCore::RenderListMarker::paint):
2831         * rendering/RenderObject.cpp:
2832         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2833         * rendering/RenderOverflow.h:
2834         (WebCore::RenderOverflow::RenderOverflow):
2835         (WebCore::RenderOverflow::addLayoutOverflow):
2836         (WebCore::RenderOverflow::addVisualOverflow):
2837         (WebCore::RenderOverflow::setLayoutOverflow):
2838         (WebCore::RenderOverflow::setVisualOverflow):
2839         (WebCore::RenderOverflow::resetLayoutOverflow):
2840         * rendering/RenderReplaced.cpp:
2841         (WebCore::RenderReplaced::shouldPaint):
2842         * rendering/RenderScrollbarTheme.cpp:
2843         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2844         * rendering/RenderTable.cpp:
2845         (WebCore::RenderTable::paint):
2846         * rendering/RenderTableCell.cpp:
2847         (WebCore::RenderTableCell::paint):
2848         * rendering/RenderTableSection.cpp:
2849         (WebCore::RenderTableSection::paintObject):
2850         * rendering/RenderText.cpp:
2851         (WebCore::RenderText::absoluteQuads):
2852         * rendering/RenderTextControlSingleLine.cpp:
2853         (WebCore::RenderTextControlSingleLine::forwardEvent):
2854         * rendering/RenderThemeMac.mm:
2855         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2856         (WebCore::RenderThemeMac::paintMenuListButton):
2857         (WebCore::RenderThemeMac::paintSliderTrack):
2858         * rendering/RenderView.cpp:
2859         (WebCore::RenderView::computeRectForRepaint):
2860         (WebCore::RenderView::docBottom):
2861         (WebCore::RenderView::docRight):
2862         * rendering/RootInlineBox.cpp:
2863         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2864         * rendering/svg/RenderSVGInlineText.cpp:
2865         (WebCore::RenderSVGInlineText::localCaretRect):
2866
2867 2011-02-01  Beth Dakin  <bdakin@apple.com>
2868
2869         Reviewed by Sam Weinig.
2870
2871         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2872
2873         Lots of new WebCoreSystemInterface functions to export.
2874         * WebCore.exp.in:
2875         * platform/mac/WebCoreSystemInterface.h:
2876         * platform/mac/WebCoreSystemInterface.mm:
2877
2878         Let the scrollAnimator know when the mouse has
2879         moved anywhere inside the page, and when the mouse 
2880         has moved in or out of the window. 
2881         * page/EventHandler.cpp:
2882         (WebCore::EventHandler::mouseMoved):
2883         (WebCore::EventHandler::updateMouseEventTargetNode):
2884
2885         Let the scrollAnimator know when the window has become
2886         active or inactive.
2887         * page/FocusController.cpp:
2888         (WebCore::FocusController::setActive):
2889         
2890         Let the scrollAnimator know when all of these things
2891         are happening.
2892         * page/FrameView.cpp:
2893         (WebCore::FrameView::setContentsSize):
2894         (WebCore::FrameView::didMoveOnscreen):
2895         (WebCore::FrameView::willMoveOffscreen):
2896         (WebCore::FrameView::currentMousePosition):
2897         (WebCore::FrameView::contentsResized):
2898         
2899         New functions called through WebKit2 that allow the
2900         scrollAnimator to know when a live resize starts and ends.
2901         (WebCore::FrameView::willStartLiveResize):
2902         (WebCore::FrameView::willEndLiveResize):
2903         * page/FrameView.h:
2904         
2905         New functions on ScrollAnimator that pass information
2906         to the WKPainterController when we're using one.
2907         * platform/ScrollAnimator.h:
2908         (WebCore::ScrollAnimator::scrollableArea):
2909         (WebCore::ScrollAnimator::contentAreaWillPaint):
2910         (WebCore::ScrollAnimator::mouseEnteredContentArea):
2911         (WebCore::ScrollAnimator::mouseExitedContentArea):
2912         (WebCore::ScrollAnimator::mouseMovedInContentArea):
2913         (WebCore::ScrollAnimator::willStartLiveResize):
2914         (WebCore::ScrollAnimator::contentsResized):
2915         (WebCore::ScrollAnimator::willEndLiveResize):
2916         (WebCore::ScrollAnimator::contentAreaDidShow):
2917         (WebCore::ScrollAnimator::contentAreaDidHide):
2918         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2919         (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2920         (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2921         (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2922         (WebCore::ScrollAnimatorMac::notityPositionChanged):
2923         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2924         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2925         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2926         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2927         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2928         (WebCore::ScrollAnimatorMac::contentsResized):
2929         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2930         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2931         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2932         
2933         Let the scrollAnimator know when this is happening.
2934         * platform/ScrollView.cpp:
2935         (WebCore::ScrollView::paint):
2936         
2937         New function lets the scrollAnimator get the current 
2938         mouse position.
2939         * platform/ScrollView.h:
2940         (WebCore::ScrollView::currentMousePosition):
2941         
2942         New function that returns the scrollAnimator when needed.
2943         * platform/ScrollableArea.h:
2944         (WebCore::ScrollableArea::scrollAnimator):
2945         
2946         Keep track of if we're in a live resize using a new memeber
2947         variable.
2948         * platform/mac/ScrollAnimatorMac.h:
2949         (WebCore::ScrollAnimatorMac::inLiveResize):
2950         * platform/mac/ScrollAnimatorMac.mm:
2951         (WebCore::view):
2952         
2953         New delegates for the WKPainter and WKPainterController
2954         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2955         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2956         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2957         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2958         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2959         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2960         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2961         (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2962         (-[ScrollKnobAnimation setCurrentProgress:]):
2963         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2964         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2965         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2966         (-[ScrollbarPainterDelegate layer]):
2967         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2968         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2969         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2970         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2971
2972         Get the WKScrollbarPainterRefs to synch up with the 
2973         WKScrollbarPainterControllerRefs when appropriate
2974         * platform/mac/ScrollbarThemeMac.h:
2975         * platform/mac/ScrollbarThemeMac.mm:
2976         (WebCore::ScrollbarThemeMac::registerScrollbar):
2977         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2978         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2979         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2980
2981         Implement ScrollableArea's virtual function contentsSize() for access
2982         through the scrollAnimator.
2983         * rendering/RenderLayer.h:
2984         (WebCore::RenderLayer::contentsSize):
2985
2986 2011-02-01  Carol Szabo  <carol.szabo@nokia.com>
2987
2988         Reviewed by David Hyatt.
2989
2990         layoutTestController.counterValueForElementById does not return the correct value
2991         https://bugs.webkit.org/show_bug.cgi?id=53037
2992
2993         Test: fast/css/counters/deep-before.html
2994
2995         * rendering/RenderTreeAsText.cpp:
2996         (WebCore::counterValueForElement):
2997         Modified to use the newly available RenderObject::beforePseudoElement()
2998         and RenderObject::afterPseudoElement() instead of the old imperfect
2999         algorithm to find the before and after pseudo elements.
3000
3001 2011-02-01  Anton Muhin  <antonm@chromium.org>
3002
3003         Reviewed by Adam Barth.
3004
3005         Allow access for security origin same as this.
3006         https://bugs.webkit.org/show_bug.cgi?id=53440
3007
3008         Hard to test as newly added path currently is never hit.
3009
3010         * page/SecurityOrigin.cpp:
3011         (WebCore::SecurityOrigin::canAccess): allow access if this == other
3012
3013 2011-01-31  Oliver Hunt  <oliver@apple.com>
3014
3015         Reviewed by Geoffrey Garen.
3016
3017         Update JSObject storage for new marking API
3018         https://bugs.webkit.org/show_bug.cgi?id=53467
3019
3020         Update WebCore to handle new anonymous slot behaviour.
3021
3022         * bindings/js/JSDOMWindowShell.cpp:
3023         (WebCore::JSDOMWindowShell::setWindow):
3024         * bindings/js/WorkerScriptController.cpp:
3025         (WebCore::WorkerScriptController::initScript):
3026         * bindings/scripts/CodeGeneratorJS.pm:
3027
3028 2011-02-01  Xiaomei Ji  <xji@chromium.org>
3029
3030         Reviewed by David Hyatt.
3031
3032         Fix a text rendering problem when enclosing block is RTL and text runs
3033         are in different directionality.
3034         https://bugs.webkit.org/show_bug.cgi?id=34176
3035
3036         The problem happens in the following example scenario (ABC represents 
3037         Hebrew characters):
3038         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3039
3040         The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3041         TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3042         TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3043
3044         The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3045
3046         Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3047         creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3048         the run's render object's ancestor (not only its parent) has already 
3049         been constructed or has something following it on the line, in which 
3050         case, create a new box for TextRun2 instead of sharing the same box with
3051         TextRun3.
3052
3053         In other words, the following 2 div should render the same results
3054         (ABC represents Hebrew characters).
3055         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3056         <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3057
3058         Test: fast/dom/34176.html
3059
3060         * rendering/RenderBlockLineLayout.cpp:
3061         (WebCore::parentIsConstructedOrHaveNext):
3062         (WebCore::RenderBlock::createLineBoxes):
3063
3064 2011-02-01  Abhishek Arya  <inferno@chromium.org>
3065
3066         Reviewed by Dan Bernstein.
3067
3068         Do not add a node in the document's stylesheet candidate node list if the
3069         node is already removed from document.
3070         https://bugs.webkit.org/show_bug.cgi?id=53441
3071
3072         Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3073
3074         * dom/Document.cpp:
3075         (WebCore::Document::addStyleSheetCandidateNode):
3076
3077 2011-02-01  Dave Hyatt  <hyatt@apple.com>
3078
3079         Reviewed by Darin Adler.
3080
3081         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3082         with vertical text.
3083
3084         Change printing functions to check writing-mode and properly swap width and height
3085         as needed.
3086         
3087         Fix the setScrollOrigin function so that the origin doesn't cause
3088         scroll spasming during printing (this is only partially successful, but it's better
3089         than it was).
3090
3091         Rewrite computePageRects to handle both RTL documents properly as well as vertical
3092         text documents properly.
3093
3094         * WebCore.exp.in:
3095         * page/FrameView.cpp:
3096         (WebCore::FrameView::adjustViewSize):
3097         (WebCore::FrameView::forceLayoutForPagination):
3098         * page/PrintContext.cpp:
3099         (WebCore::PrintContext::computePageRects):
3100         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3101         (WebCore::PrintContext::computeAutomaticScaleFactor):
3102         (WebCore::PrintContext::spoolPage):
3103         (WebCore::PrintContext::spoolRect):
3104         * page/PrintContext.h:
3105         * page/mac/WebCoreFrameView.h:
3106         * platform/ScrollView.cpp:
3107         (WebCore::ScrollView::wheelEvent):
3108         * platform/ScrollView.h:
3109         * platform/mac/ScrollViewMac.mm:
3110         (WebCore::ScrollView::platformSetScrollOrigin):
3111         * rendering/RenderView.cpp:
3112         (WebCore::RenderView::layout):
3113
3114 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
3115
3116         Reviewed by Pavel Feldman.
3117
3118         Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3119
3120         https://bugs.webkit.org/show_bug.cgi?id=53500
3121
3122         * inspector/InspectorProfilerAgent.cpp:
3123         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3124
3125 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
3126
3127         Reviewed by Pavel Feldman.
3128
3129         Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3130
3131         https://bugs.webkit.org/show_bug.cgi?id=53173
3132
3133         Adding code for accessing heap snapshot data and
3134         performing graph calculations.
3135
3136         * English.lproj/localizedStrings.js:
3137         * inspector/front-end/HeapSnapshot.js:
3138         (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3139         (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3140         (WebInspector.HeapSnapshotEdgeIterator):
3141         (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3142         (WebInspector.HeapSnapshotNodeIterator):
3143         (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3144         (WebInspector.HeapSnapshotFilteredOrderedIterator):
3145         (WebInspector.HeapSnapshotEdgesProvider):
3146         (WebInspector.HeapSnapshotNodesProvider):
3147         (WebInspector.HeapSnapshotPathFinder):
3148         * inspector/front-end/HeapSnapshotView.js:
3149         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3150
3151 2011-02-01  Adam Roben  <aroben@apple.com>
3152
3153         Fix linker warnings in Release_LTCG builds
3154
3155         * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3156         configurations, since they get pulled in via DOMAllInOne.cpp.
3157
3158 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
3159
3160         Reviewed by Yury Semikhatsky.
3161
3162         Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3163         https://bugs.webkit.org/show_bug.cgi?id=53482
3164
3165         * English.lproj/localizedStrings.js:
3166         * inspector/front-end/ElementsPanel.js:
3167         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3168         * inspector/front-end/inspector.js:
3169         (WebInspector.resourceForURL):
3170         (WebInspector.openLinkExternallyLabel):
3171
3172 2011-02-01  Anton Muhin  <antonm@chromium.org>
3173
3174         Reviewed by Adam Barth.
3175
3176         Propagate parent document security origin to newly create Document XML response
3177         https://bugs.webkit.org/show_bug.cgi?id=53444
3178
3179         Covered by the existing tests.
3180
3181         * xml/XMLHttpRequest.cpp:
3182         (WebCore::XMLHttpRequest::responseXML):
3183
3184 2011-02-01  Yury Semikhatsky  <yurys@chromium.org>
3185
3186         Unreviewed. Rollout r77230 which caused many layout tests
3187         crashes on Chromium Debug bots.
3188
3189         Async event handlers should not fire within a modal dialog
3190         https://bugs.webkit.org/show_bug.cgi?id=53202
3191
3192         * dom/Document.cpp:
3193         (WebCore::Document::Document):
3194         * dom/EventQueue.cpp:
3195         (WebCore::EventQueue::EventQueue):
3196         (WebCore::EventQueue::enqueueEvent):
3197         (WebCore::EventQueue::pendingEventTimerFired):
3198         * dom/EventQueue.h:
3199
3200 2011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
3201
3202         Reviewed by Dirk Schulze.
3203
3204         LightElement changes does not require relayout.
3205         https://bugs.webkit.org/show_bug.cgi?id=53232
3206
3207         When an attribute of a LightElement changes, it
3208         send an update message to the lighting filters
3209         to update its corresponding LightSource objects,
3210         and repaint the filters.
3211
3212         Duplicated 'id' attributes removed from svg-filter-animation.svg.
3213
3214         Existing dynamic-update tests covers this feature.
3215
3216         5x speedup on manual-tests/svg-filter-animation.svg
3217
3218         * manual-tests/svg-filter-animation.svg:
3219         * platform/graphics/filters/DistantLightSource.h:
3220         * platform/graphics/filters/FEDiffuseLighting.cpp:
3221         (WebCore::FEDiffuseLighting::setLightingColor):
3222         (WebCore::FEDiffuseLighting::setSurfaceScale):
3223         (WebCore::FEDiffuseLighting::setDiffuseConstant):
3224         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3225         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3226         * platform/graphics/filters/FEDiffuseLighting.h:
3227         * platform/graphics/filters/LightSource.cpp:
3228         (WebCore::PointLightSource::setX):
3229         (WebCore::PointLightSource::setY):
3230         (WebCore::PointLightSource::setZ):
3231         (WebCore::SpotLightSource::setX):
3232         (WebCore::SpotLightSource::setY):
3233         (WebCore::SpotLightSource::setZ):
3234         (WebCore::SpotLightSource::setPointsAtX):
3235         (WebCore::SpotLightSource::setPointsAtY):
3236         (WebCore::SpotLightSource::setPointsAtZ):
3237         (WebCore::SpotLightSource::setSpecularExponent):
3238         (WebCore::SpotLightSource::setLimitingConeAngle):
3239         (WebCore::DistantLightSource::setAzimuth):
3240         (WebCore::DistantLightSource::setElevation):
3241         (WebCore::LightSource::setAzimuth):
3242         (WebCore::LightSource::setElevation):
3243         (WebCore::LightSource::setX):
3244         (WebCore::LightSource::setY):
3245         (WebCore::LightSource::setZ):
3246         (WebCore::LightSource::setPointsAtX):
3247         (WebCore::LightSource::setPointsAtY):
3248         (WebCore::LightSource::setPointsAtZ):
3249         (WebCore::LightSource::setSpecularExponent):
3250         (WebCore::LightSource::setLimitingConeAngle):
3251         * platform/graphics/filters/LightSource.h:
3252         * platform/graphics/filters/PointLightSource.h:
3253         * platform/graphics/filters/SpotLightSource.h:
3254         * rendering/svg/RenderSVGResourceFilter.cpp:
3255         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3256         * svg/SVGFEDiffuseLightingElement.cpp:
3257         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3258         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3259         (WebCore::SVGFEDiffuseLightingElement::build):
3260         (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3261         (WebCore::SVGFEDiffuseLightingElement::findLight):
3262         * svg/SVGFEDiffuseLightingElement.h:
3263         * svg/SVGFELightElement.cpp:
3264         (WebCore::SVGFELightElement::svgAttributeChanged):
3265         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3266         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3267         * svg/SVGFilterPrimitiveStandardAttributes.h:
3268
3269 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3270
3271         Reviewed by Dimitri Glazkov.
3272
3273         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3274         https://bugs.webkit.org/show_bug.cgi?id=53289
3275
3276         Moving the nested class DocumentOrderedMap from Document into separate files,
3277         updating code where necessary.
3278
3279         No new tests. (refactoring)
3280
3281         * Android.mk:
3282         * CMakeLists.txt:
3283         * GNUMakefile.am:
3284         * WebCore.gypi:
3285         * WebCore.pro:
3286         * WebCore.vcproj/WebCore.vcproj:
3287         * WebCore.xcodeproj/project.pbxproj:
3288         * dom/Document.cpp:
3289         (WebCore::Document::getElementById):
3290         (WebCore::Document::getImageMap):
3291         * dom/Document.h:
3292         * dom/DocumentOrderedMap.cpp: Added.
3293         (WebCore::keyMatchesId):
3294         (WebCore::keyMatchesMapName):
3295         (WebCore::keyMatchesLowercasedMapName):
3296         (WebCore::DocumentOrderedMap::clear):
3297         (WebCore::DocumentOrderedMap::add):
3298         (WebCore::DocumentOrderedMap::remove):
3299         (WebCore::DocumentOrderedMap::get):
3300         (WebCore::DocumentOrderedMap::getElementById):
3301         (WebCore::DocumentOrderedMap::getElementByMapName):
3302         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3303         * dom/DocumentOrderedMap.h: Added.
3304         (WebCore::DocumentOrderedMap::contains):
3305         (WebCore::DocumentOrderedMap::containsMultiple):
3306         * dom/DOMAllInOne.cpp:
3307
3308 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3309
3310         Reviewed by Martin Robinson.
3311
3312         [Gtk] atk_text_set_caret_offset fails for list items
3313         https://bugs.webkit.org/show_bug.cgi?id=53388
3314
3315         Allow using text ranges across list items.
3316
3317         * accessibility/gtk/AccessibilityObjectAtk.cpp:
3318         (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3319         to the list of accessibility objects supporting text ranges.
3320
3321 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3322
3323         Reviewed by Martin Robinson.
3324
3325         [GTK] character range extents is off when the end of a wrapped line is included
3326         https://bugs.webkit.org/show_bug.cgi?id=53323
3327
3328         Fixed wrong calculation getting the range extents.
3329
3330         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3331         (webkit_accessible_text_get_range_extents): Removed '+1' since the
3332         requested interval shouldn't include the last character.
3333
3334 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3335
3336         Reviewed by Martin Robinson.
3337
3338         [GTK] Caret Offset is one off at the end of wrapped lines
3339         https://bugs.webkit.org/show_bug.cgi?id=53300
3340
3341         Consider linebreaks as special cases.
3342
3343         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3344         (objectAndOffsetUnignored): In order to avoid getting wrong values
3345         when around linebreaks, we need to workaround this by explicitly
3346         avoiding those '\n' text nodes from affecting the result of
3347         calling to TextIterator:rangeLength().
3348
3349 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3350
3351         Unreviewed, rolling out r77229.
3352         http://trac.webkit.org/changeset/77229
3353         https://bugs.webkit.org/show_bug.cgi?id=53289
3354
3355         revert mysterious build breakage
3356
3357         * Android.mk:
3358         * CMakeLists.txt:
3359         * GNUmakefile.am:
3360         * WebCore.gypi:
3361         * WebCore.pro:
3362         * WebCore.vcproj/WebCore.vcproj:
3363         * WebCore.xcodeproj/project.pbxproj:
3364         * dom/DOMAllInOne.cpp:
3365         * dom/Document.cpp:
3366         (WebCore::Document::DocumentOrderedMap::clear):
3367         (WebCore::Document::DocumentOrderedMap::add):
3368         (WebCore::Document::DocumentOrderedMap::remove):
3369         (WebCore::Document::DocumentOrderedMap::get):
3370         (WebCore::keyMatchesId):
3371         (WebCore::Document::getElementById):
3372         (WebCore::keyMatchesMapName):
3373         (WebCore::keyMatchesLowercasedMapName):
3374         (WebCore::Document::getImageMap):
3375         * dom/Document.h:
3376         (WebCore::Document::DocumentOrderedMap::contains):
3377         (WebCore::Document::DocumentOrderedMap::containsMultiple):
3378         * dom/DocumentOrderedMap.cpp: Removed.
3379         * dom/DocumentOrderedMap.h: Removed.
3380
3381 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
3382
3383         Reviewed by James Robinson.
3384
3385         Async event handlers should not fire within a modal dialog
3386         https://bugs.webkit.org/show_bug.cgi?id=53202
3387
3388         Asychronous events that use EventQueue would currently fire while a
3389         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3390         SuspendableTimer (which automatically gets suspended while dialogs are
3391         up and in other cases where JS execution is not allowed).
3392         
3393         Test: fast/events/scroll-event-during-modal-dialog.html
3394
3395         * dom/Document.cpp:
3396         (WebCore::Document::Document):
3397         * dom/EventQueue.cpp:
3398         (WebCore::EventQueueTimer::EventQueueTimer):
3399         (WebCore::EventQueueTimer::fired):
3400         (WebCore::EventQueue::EventQueue):
3401         (WebCore::EventQueue::enqueueEvent):
3402         (WebCore::EventQueue::pendingEventTimerFired):
3403         * dom/EventQueue.h:
3404         (WebCore::EventQueue::create):
3405
3406 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3407
3408         Reviewed by Dimitri Glazkov.
3409
3410         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3411         https://bugs.webkit.org/show_bug.cgi?id=53289
3412
3413         Moving the nested class DocumentOrderedMap from Document into separate files,
3414         updating code where necessary.
3415
3416         No new tests. (refactoring)
3417
3418         * Android.mk:
3419         * CMakeLists.txt:
3420         * GNUMakefile.am:
3421         * WebCore.gypi:
3422         * WebCore.pro:
3423         * WebCore.vcproj/WebCore.vcproj:
3424         * WebCore.xcodeproj/project.pbxproj:
3425         * dom/Document.cpp:
3426         (WebCore::Document::getElementById):
3427         (WebCore::Document::getImageMap):
3428         * dom/Document.h:
3429         * dom/DocumentOrderedMap.cpp: Added.
3430         (WebCore::keyMatchesId):
3431         (WebCore::keyMatchesMapName):
3432         (WebCore::keyMatchesLowercasedMapName):
3433         (WebCore::DocumentOrderedMap::clear):
3434         (WebCore::DocumentOrderedMap::add):
3435         (WebCore::DocumentOrderedMap::remove):
3436         (WebCore::DocumentOrderedMap::get):
3437         (WebCore::DocumentOrderedMap::getElementById):
3438         (WebCore::DocumentOrderedMap::getElementByMapName):
3439         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3440         * dom/DocumentOrderedMap.h: Added.
3441         (WebCore::DocumentOrderedMap::contains):
3442         (WebCore::DocumentOrderedMap::containsMultiple):
3443         * dom/DOMAllInOne.cpp:
3444
3445 2011-02-01  Naoki Takano  <takano.naoki@gmail.com>
3446
3447         Reviewed by Darin Fisher.
3448
3449         [Chromium] Autofill should work with HTML5 form elements
3450         https://bugs.webkit.org/show_bug.cgi?id=51809
3451         http://crbug.com/65654
3452
3453         No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
3454
3455         * html/InputType.h: Insert comment for canSetSuggestedValue().
3456         * html/TextFieldInputType.cpp:
3457         (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
3458         * html/TextFieldInputType.h: Declare canSetSuggestedValue().
3459         * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
3460         * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
3461
3462 2011-02-01  Kent Tamura  <tkent@chromium.org>
3463
3464         Reviewed by Dan Bernstein.
3465
3466         REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3467         https://bugs.webkit.org/show_bug.cgi?id=53272
3468
3469         * editing/TextIterator.cpp:
3470         (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3471
3472 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
3473
3474         Reviewed by Maciej Stachowiak.
3475
3476         https://bugs.webkit.org/show_bug.cgi?id=53466
3477         Move WebKit2 to printing via API methods
3478
3479         * WebCore.exp.in: Export IntRect::scale().
3480
3481 2011-01-31  Patrick Gansterer  <paroga@webkit.org>
3482
3483         Reviewed by Adam Barth.
3484
3485         Remove obsolete comment after r41871
3486         https://bugs.webkit.org/show_bug.cgi?id=53406
3487
3488         * dom/Document.h:
3489
3490 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
3491
3492         Fix according to reviewer comments: can just use Color::black now.
3493
3494         * platform/graphics/ShadowBlur.cpp:
3495         (WebCore::ShadowBlur::drawInsetShadow):
3496         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3497
3498 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
3499
3500         Reviewed by Sam Weinig.
3501
3502         Clean up ShadowBlur
3503         https://bugs.webkit.org/show_bug.cgi?id=53472
3504
3505         Some minor ShadowBlur cleanup.
3506
3507         * platform/graphics/ShadowBlur.h:
3508         * platform/graphics/ShadowBlur.cpp:
3509         (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
3510         paramter.
3511         (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
3512         (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
3513         layerRect. Make frameSize a float.
3514         (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
3515         layerRect rather than calling calculateLayerBoundingRect() to compute
3516         it itself, since we were calling calculateLayerBoundingRect() twice.
3517         (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
3518         only once. The shadowRect variable was unused, so two return paths could be
3519         collapsed into one.
3520         (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
3521         beginShadowLayer() now.
3522         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
3523         We always used alpha=1, so no need to pass that in.
3524         (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
3525         pass that in. Move shadowRect down to first use.
3526         ShadowBlur::clipBounds() was unused.
3527
3528 2011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
3529
3530         Reviewed by Kenneth Rohde Christiansen.
3531
3532         [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
3533         https://bugs.webkit.org/show_bug.cgi?id=46748
3534
3535         This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
3536         Added a regression test to tst_QWebFrame.
3537
3538         * bridge/qt/qt_instance.cpp:
3539         (JSC::Bindings::QtInstance::QtInstance):
3540
3541 2011-01-27  MORITA Hajime  <morrita@google.com>
3542
3543         Reviewed by Dimitri Glazkov.
3544         
3545         Convert <progress> shadow DOM to a DOM-based shadow.
3546         https://bugs.webkit.org/show_bug.cgi?id=50660
3547
3548         * Removed RenderProgress::m_valuePart, moved the shadow node
3549           to the shadow root of HTMLProgressElement.
3550         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
3551           ProgressBarValueElement is defined only for overriding
3552           shadowPseudoId().
3553         
3554         No new tests. No behavioral change.
3555
3556         * css/CSSSelector.cpp:
3557         (WebCore::CSSSelector::pseudoId):
3558         (WebCore::nameToPseudoTypeMap):
3559         (WebCore::CSSSelector::extractPseudoType):
3560         * css/CSSSelector.h:
3561         * html/HTMLProgressElement.cpp:
3562         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3563         (WebCore::ProgressBarValueElement::shadowPseudoId):
3564         (WebCore::ProgressBarValueElement::create):