Move the shared LineBreakIteratorPool from ThreadGlobalData into its own ThreadSpecific
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-06  Dan Bernstein  <mitz@apple.com>
2
3         Move the shared LineBreakIteratorPool from ThreadGlobalData into its own ThreadSpecific
4         https://bugs.webkit.org/show_bug.cgi?id=65809
5
6         Reviewed by Darin Adler and Sam Weinig.
7
8         * platform/ThreadGlobalData.cpp:
9         (WebCore::ThreadGlobalData::destroy): Removed code to clear the m_lineBreakIteratorPool member
10         variable, which was removed.
11         * platform/ThreadGlobalData.h: Removed lineBreakIteratorPool() and associated member variable.
12         * platform/text/LineBreakIteratorPoolICU.h:
13         (WebCore::LineBreakIteratorPool::sharedPool): Changed to return a thread-specific pool.
14
15 2011-08-06  Joseph Pecoraro  <joepeck@webkit.org>
16
17         Potential Leaks - RetainPtr<> over retaining Create'd objects
18         https://bugs.webkit.org/show_bug.cgi?id=65806
19
20         Reviewed by Darin Adler.
21
22         Fix a possible leak by adopting an allocation instead of retaining it.
23
24         * platform/network/mac/NetworkStateNotifierMac.cpp:
25         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
26         * plugins/mac/PluginPackageMac.cpp:
27         (WebCore::stringListFromResourceId):
28         (WebCore::PluginPackage::fetchInfo):
29
30 2011-08-06  Rafael Brandao  <rafael.lobo@openbossa.org>
31
32         REGRESSION (r91540): Favicons are not loaded
33         https://bugs.webkit.org/show_bug.cgi?id=65692
34
35         Reviewed by Darin Adler.
36
37         The policy that evaluates whether a page can have icon or not should not
38         need to be reimplemented each time a new IconDatabaseBase is derived,
39         so it was moved to WebCore's scope.
40
41         * loader/icon/IconController.cpp:
42         (WebCore::IconController::startLoader):
43         * loader/icon/IconDatabase.cpp:
44         * loader/icon/IconDatabase.h:
45         * loader/icon/IconDatabaseBase.cpp:
46         (WebCore::documentCanHaveIcon):
47         * loader/icon/IconDatabaseBase.h:
48
49 2011-08-06  Kenichi Ishibashi  <bashi@chromium.org>
50
51         Should use C++-style cast in CSSParser.cpp
52         https://bugs.webkit.org/show_bug.cgi?id=65807
53
54         Replaces C-style cast with C++style cast.
55
56         Reviewed by Shinichiro Hamaji.
57
58         No new tests because no behavior change.
59
60         * css/CSSParser.cpp:
61         (WebCore::CSSParser::parseAnimationTimingFunction):
62         (WebCore::CSSParser::parseFont):
63         (WebCore::CSSParser::parseColorFromValue):
64         (WebCore::CSSParser::parseFontFeatureTag):
65
66 2011-08-05  Noel Gordon  <noel.gordon@gmail.com>
67
68         [Chromium] Remove HaltablePlugin references from gyp project files
69         https://bugs.webkit.org/show_bug.cgi?id=65808
70
71         HaltablePlugin and related classes were removed in r92492.  Remove any
72         reference to the deleted files from the gyp project files.
73
74         Reviewed by Adam Barth.
75
76         * WebCore.gypi: remove HaltablePlugin.h reference.
77
78 2011-08-05  Mark Rowe  <mrowe@apple.com>
79
80         Attempt to fix the build after r92538.
81
82         Like all of the recent "track"-related work the new files in r92538 appear to have
83         been added to completely random places in the Xcode project. However, this time
84         the file paths were marked as being relative to their containing group resulting in
85         Xcode being unable to find the files on disk.
86
87         I've attempted to clean up all of the "track"-related mess in the Xcode project.
88         The location of the files in the project now reflect their locations on disk, and
89         are all correctly marked as being relative to their containing group as is our
90         convention.
91
92         * WebCore.xcodeproj/project.pbxproj:
93
94 2011-08-05  Tom Hudson  <tomhudson@google.com>
95
96         https://bugs.webkit.org/show_bug.cgi?id=64613
97         Use supported framebuffer renderbuffer mode; chromium command buffer
98         allows DEPTH and STENCIL but not DEPTH_STENCIL.
99
100         Reviewed by James Robinson.
101
102         No new tests because was caught by extant tests, albeit only when
103         accelerated drawing and forced compositing were both turned on.
104
105         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
106         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
107
108 2011-08-05  Anna Cavender  <annacc@chromium.org>
109
110         Adding a WebVTTParser for <track>.
111         https://bugs.webkit.org/show_bug.cgi?id=62882
112
113         Reviewed by Eric Carlson.
114
115         Feature is hidden behind VIDEO_TRACK feature define, which is turned off, but
116         new tests have been added in media/track/ (and are skipped).
117
118         * CMakeLists.txt:
119         * GNUmakefile.list.am:
120         * WebCore.gypi:
121         * WebCore.pro:
122         * WebCore.xcodeproj/project.pbxproj:
123         * html/TextTrackCue.cpp:
124         * html/TextTrackCue.h:
125         * platform/track/CueParser.cpp:
126         * platform/track/CueParser.h:
127         * platform/track/CueParserPrivate.h:
128         * platform/track/WebVTTParser.cpp: Added.
129         * platform/track/WebVTTParser.h: Added.
130
131 2011-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
132
133         Unreviewed, rolling out r92330.
134         http://trac.webkit.org/changeset/92330
135         https://bugs.webkit.org/show_bug.cgi?id=65804
136
137         caused various regressions in paste (Requested by rniwa on
138         #webkit).
139
140         * editing/ReplaceSelectionCommand.cpp:
141         (WebCore::isInlineNodeWithStyle):
142         (WebCore::ReplaceSelectionCommand::doApply):
143         * editing/markup.cpp:
144         (WebCore::ancestorToRetainStructureAndAppearance):
145         * editing/markup.h:
146
147 2011-08-05  Kent Tamura  <tkent@chromium.org>
148
149         Unreviewed, rolling out r92477.
150         http://trac.webkit.org/changeset/92477
151         https://bugs.webkit.org/show_bug.cgi?id=62619
152
153         Layering violation. We should not use WebCore/dom/ in
154         WebCore/platform/.
155
156         * WebCore.exp.in:
157         * WebCore.xcodeproj/project.pbxproj:
158         * html/ColorInputType.cpp:
159         (WebCore::ColorInputType::valueChanged):
160         * html/ColorInputType.h:
161         * html/FileInputType.cpp:
162         (WebCore::FileInputType::chrome):
163         * html/FileInputType.h:
164         * html/HTMLInputElement.cpp:
165         (WebCore::HTMLInputElement::detach):
166         * html/InputType.cpp:
167         * html/InputType.h:
168         * loader/EmptyClients.h:
169         * loader/FrameLoader.cpp:
170         (WebCore::FrameLoader::transitionToCommitted):
171         * page/Chrome.cpp:
172         * page/Chrome.h:
173         * page/ChromeClient.h:
174         * platform/ColorChooser.cpp: Removed.
175         * platform/ColorChooser.h: Removed.
176
177 2011-08-05  Darin Adler  <darin@apple.com>
178
179         Try to fix Qt Mac build.
180
181         * plugins/mac/PluginViewMac.mm: Removed PluginHalter functions.
182
183 2011-08-05  Joseph Pecoraro  <joepeck@webkit.org>
184
185         Leak in CFNetwork Loader RetainPtr<> should Adopt a Copy allocation
186         https://bugs.webkit.org/show_bug.cgi?id=65789
187
188         Reviewed by David Kilzer.
189
190         Fix a leak by adopting an allocation instead of retaining it.
191
192         * platform/network/cf/FormDataStreamCFNet.cpp:
193         (WebCore::httpBodyFromRequest):
194
195 2011-08-05  Ben Wells  <benwells@chromium.org>
196
197         Introduced fast path for border rendering when all visible sides are solid, same rgba color but not all visible
198         https://bugs.webkit.org/show_bug.cgi?id=65762
199
200         Reviewed by Simon Fraser.
201
202         No intended change in behaviour, no new tests.
203
204         * rendering/RenderBoxModelObject.cpp:
205         (WebCore::calculateSideRect):
206         (WebCore::RenderBoxModelObject::paintBorderSides):
207         (WebCore::RenderBoxModelObject::paintBorder):
208
209 2011-08-05  Kenichi Ishibashi  <bashi@chromium.org>
210
211         Unreviewed build fix on 32-bit Mac.
212
213         * css/CSSParser.cpp:
214         (WebCore::CSSParser::parseFontFeatureTag): Added a cast to int.
215
216 2011-08-05  Ryosuke Niwa  <rniwa@webkit.org>
217
218         Upwards cursor movement incorrect when previous block ends with <br>
219         https://bugs.webkit.org/show_bug.cgi?id=33247
220
221         Reviewed by Tony Chang.
222
223         The bug was caused by previousLinePosition's trying to obtain the root line box at the position
224         after the previous line's br. This obviously fails because the the position after br is considered
225         as a part of the next line.
226
227         Fixed the bug by obtaining root inline boxes using position at the minimum caret offset as supposed
228         to maximum caret offset. The code was initially introduced by r32508 to fix arrow key movement in RTL text
229         but the test added by the revision continues to pass after this change. Furthermore, this change makes
230         new code consistent with nextLinePosition.
231
232         Also reverted the change added by r55613 because it is no longer needed.
233
234         Tests: editing/execCommand/move-selection-back-line-rtl.html
235                editing/execCommand/move-selection-back-line-strict.html
236
237         * editing/visible_units.cpp:
238         (WebCore::previousLinePosition):
239
240 2011-08-05  James Robinson  <jamesr@chromium.org>
241
242         [chromium] Accelerated canvas breaks when moving canvases or resources between Pages
243         https://bugs.webkit.org/show_bug.cgi?id=65402
244
245         Reviewed by Stephen White.
246
247         Use one shared GraphicsContext3D for the whole process instead of one per Page as canvases can move between
248         pages and directly draw into contexts in different pages.  Also switches DrawingBufferChromium over to use a
249         directly shared the color attachment instead of copying it to a separate texture and removes the now-unnecessary
250         DrawingBuffer::didReset() call and WillPublishCallback mechanism.
251
252         * page/Page.cpp:
253         (WebCore::Page::sharedGraphicsContext3D):
254         * page/Page.h:
255         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
256         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
257         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
258         (WebCore::Canvas2DLayerChromium::textureId):
259         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
260         * platform/graphics/chromium/CanvasLayerChromium.cpp:
261         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
262         * platform/graphics/chromium/CanvasLayerChromium.h:
263         * platform/graphics/chromium/DrawingBufferChromium.cpp:
264         (WebCore::DrawingBuffer::DrawingBuffer):
265         (WebCore::DrawingBuffer::publishToPlatformLayer):
266         * platform/graphics/chromium/Extensions3DChromium.h:
267         * platform/graphics/chromium/WebGLLayerChromium.cpp:
268         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
269         * platform/graphics/chromium/WebGLLayerChromium.h:
270
271 2011-08-05  Anders Carlsson  <andersca@apple.com>
272
273         Fix Chromium build.
274
275         * WebCore.gypi:
276
277 2011-08-05  Anders Carlsson  <andersca@apple.com>
278
279         Remove PluginHalter
280         https://bugs.webkit.org/show_bug.cgi?id=65729
281
282         Reviewed by Darin Adler.
283
284         Remove plug-in halter and associated classes.
285
286         * CMakeLists.txt:
287         * GNUmakefile.list.am:
288         * WebCore.exp.in:
289         * WebCore.pro:
290         * WebCore.vcproj/WebCore.vcproj:
291         * WebCore.xcodeproj/project.pbxproj:
292         * loader/EmptyClients.h:
293         * page/HaltablePlugin.h: Removed.
294         * page/Page.cpp:
295         (WebCore::Page::Page):
296         * page/Page.h:
297         * page/PluginHalter.cpp: Removed.
298         * page/PluginHalter.h: Removed.
299         * page/PluginHalterClient.h: Removed.
300         * page/Settings.cpp:
301         (WebCore::Settings::Settings):
302         * page/Settings.h:
303         * plugins/PluginView.cpp:
304         (WebCore::PluginView::start):
305         (WebCore::PluginView::stop):
306         (WebCore::PluginView::PluginView):
307         * plugins/PluginView.h:
308         * plugins/PluginViewNone.cpp:
309         * plugins/gtk/PluginViewGtk.cpp:
310         * plugins/qt/PluginViewQt.cpp:
311         * plugins/win/PluginViewWin.cpp:
312         * rendering/RenderWidget.cpp:
313         (WebCore::RenderWidget::paint):
314         * rendering/RenderWidget.h:
315
316 2011-08-05  Jochen Eisinger  <jochen@chromium.org>
317
318         Introduce a new ResourceRequest::TargetType for XHRs
319         https://bugs.webkit.org/show_bug.cgi?id=65544
320
321         Reviewed by Darin Fisher.
322
323         * platform/network/chromium/ResourceRequest.h:
324         * xml/XMLHttpRequest.cpp:
325         (WebCore::XMLHttpRequest::createRequest):
326
327 2011-08-05  Yael Aharon  <yael.aharon@nokia.com>
328
329         dir=auto needs to work on value of input and textarea elements
330         https://bugs.webkit.org/show_bug.cgi?id=65428
331
332         Reviewed by Darin Adler.
333
334         Changed the directionality algorithm to evaluate the value of input elements and textarea elements when
335         they have the attribute dir-auto Set.
336         Also skip these elements when evaluating the directionality of their ancestors.
337
338         HTMLTextAreaElement::childrenChanged is not called when a user types into the textarea, so call
339         calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
340
341         HTMLInputElement::childrenChanged is not called when a user types into the textarea, so call
342         calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
343
344         Tests: fast/dom/HTMLElement/attr-dir-auto-changed-text-form-control.html
345                fast/dom/HTMLElement/attr-dir-auto-text-form-control-child.html
346                fast/dom/HTMLElement/attr-dir-auto-text-form-control.html
347
348         * html/HTMLElement.cpp:
349         (WebCore::HTMLElement::directionality):
350         * html/HTMLElement.h:
351         * html/HTMLTextAreaElement.cpp:
352         (WebCore::HTMLTextAreaElement::subtreeHasChanged):
353
354 2011-08-05  Keishi Hattori  <keishi@webkit.org>
355
356         Implement <input type=color> UI behavior WebCore part
357         https://bugs.webkit.org/show_bug.cgi?id=62619
358
359         Reviewed by Kent Tamura.
360
361         * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
362         __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
363         * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
364         * html/ColorInputType.cpp:
365         (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
366         (WebCore::ColorInputType::valueAsColor): Added.
367         (WebCore::ColorInputType::setValueAsColor): Added.
368         (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
369         (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
370         (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
371         when it was initiated by a user interaction.
372         (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
373         or is removed from DOM.
374         (WebCore::ColorInputType::colorSelected): Callback from color chooser.
375         (WebCore::ColorInputType::closeColorChooserIfClientIsInDocument): Close color chooser if element is in
376         document. Called when the page navigates away.
377         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
378         * html/ColorInputType.h:
379         * html/FileInputType.cpp:
380         * html/FileInputType.h:
381         * html/HTMLInputElement.cpp:
382         (WebCore::HTMLInputElement::detach): Calls InputType::detach
383         * html/InputType.cpp:
384         (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
385         (WebCore::InputType::detach): ColorInputType overrides this.
386         * html/InputType.h:
387         * loader/EmptyClients.h:
388         (WebCore::EmptyChromeClient::openColorChooser): Added.
389         (WebCore::EmptyChromeClient::closeColorChooser): Added.
390         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Added.
391         * loader/FrameLoader.cpp:
392         (WebCore::FrameLoader::transitionToCommitted): Close color chooser when
393         navigating away from the page.
394         * page/Chrome.cpp:
395         (WebCore::Chrome::openColorChooser): Added. Opens the color chooser.
396         (WebCore::Chrome::closeColorChooser): Added. Tries to close the color chooser. Might not close if the
397         listener of the color chooser is another part of the browser or another render process.
398         (WebCore::Chrome::setSelectedColorInColorChooser): Added. Sets the selected color in the color chooser.
399         Again, might not be executed if the listener of the color chooser is another part of the browser or another render process.
400         * page/Chrome.h:
401         * page/ChromeClient.h:
402         * platform/ColorChooser.cpp: Added.
403         (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
404         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
405         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
406         (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
407         (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
408         (WebCore::ColorChooser::closeColorChooserIfClientIsInDocument): Close the color chooser if the client is
409         inside the document.
410         (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
411         * platform/ColorChooser.h: Added.
412         (WebCore::ColorChooser::client): Added. Returns the current connected client.
413         (WebCore::ColorChooser::ColorChooser): Added.
414
415 2011-08-05  Yury Semikhatsky  <yurys@chromium.org>
416
417         Web Inspector: check that detaching frame has been attached before removing it from the console selector
418         https://bugs.webkit.org/show_bug.cgi?id=65686
419
420         Reviewed by Pavel Feldman.
421
422         * inspector/front-end/JavaScriptContextManager.js:
423         (WebInspector.JavaScriptContextManager.prototype._frameDetached):
424
425 2011-08-05  Keishi Hattori  <keishi@webkit.org>
426
427         Sort WebCore.xcodeproj
428         Accomplished using sort-Xcode-project-file.
429
430         * WebCore.xcodeproj/project.pbxproj:
431
432 2011-08-05  Yury Semikhatsky  <yurys@chromium.org>
433
434         Web Inspector: constrain maximum depth for returnByValue objects
435         https://bugs.webkit.org/show_bug.cgi?id=65761
436
437         Set maximum depth to 20 for objects returned by value as a result of evaluations.
438
439         Reviewed by Pavel Feldman.
440
441         * bindings/js/ScriptValue.cpp:
442         (WebCore::jsToInspectorValue):
443         (WebCore::ScriptValue::toInspectorValue):
444         * bindings/v8/ScriptValue.cpp:
445         (WebCore::v8ToInspectorValue):
446         (WebCore::ScriptValue::toInspectorValue):
447         * inspector/InjectedScript.cpp:
448         (WebCore::InjectedScript::makeCall):
449         * inspector/InspectorValues.h:
450
451 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
452
453         Remove LegacyDefaultOptionalArguments flag from appcache IDL files
454         https://bugs.webkit.org/show_bug.cgi?id=65752
455
456         Reviewed by Adam Barth.
457
458         No new tests, all existing tests pass.
459
460         * loader/appcache/DOMApplicationCache.idl:
461
462 2011-08-04  Hans Wennborg  <hans@chromium.org>
463
464         IndexedDB: Stop using free-lists for database/object store/index ids.
465         https://bugs.webkit.org/show_bug.cgi?id=65678
466
467         Reviewed by Tony Chang.
468
469         Don't use free-lists for database/object store/index ids,
470         just assign increasing numbers.
471
472         It turns out that deleting an object store and creating a new one with
473         the same id would cause the delete markers from the old object store to
474         slow down lookups into the new one. Therefore we should generate
475         a new id every time. Running out of ids (64 bits for databases and
476         object stores, 32 bits for indices) is not realistic.
477
478         Also make functions that generate new ids report errors, and make the
479         callers of those functions check the return values.
480
481         We must still delete free-lists when deleting an object store, and we
482         must keep the code for encoding/decoding/comparison of free-list keys
483         since users might have them in their databases.
484
485         This is just a performance optimization, so no new tests.
486
487         * storage/IDBLevelDBBackingStore.cpp:
488         (WebCore::getNewDatabaseId):
489         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
490         (WebCore::getNewObjectStoreId):
491         (WebCore::IDBLevelDBBackingStore::createObjectStore):
492         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
493         (WebCore::getNewIndexId):
494         (WebCore::IDBLevelDBBackingStore::createIndex):
495         (WebCore::IDBLevelDBBackingStore::deleteIndex):
496
497 2011-08-05  Roland Steiner  <rolandsteiner@chromium.org>
498
499         Unreviewed: change an instance of isImportRule() that was overlooked in commit 92448.
500
501         No new tests. (No functional change)
502
503         * xml/XSLImportRule.h:
504         (WebCore::XSLImportRule::isImportRule):
505
506 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
507
508         Remove LegacyDefaultOptionalArguments flag from remaining SVG IDL files
509         https://bugs.webkit.org/show_bug.cgi?id=65751
510
511         Reviewed by Adam Barth.
512
513         No new tests, all existing tests pass.
514
515         * svg/SVGElementInstance.idl:
516
517 2011-08-05  Pavel Feldman  <pfeldman@google.com>
518
519         Web Inspector: do not delay scroll event handling - scroll is already async.
520         https://bugs.webkit.org/show_bug.cgi?id=65693
521
522         Reviewed by Yury Semikhatsky.
523
524         * inspector/front-end/TextViewer.js:
525         (WebInspector.TextViewer.prototype._syncScroll):
526
527 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
528
529         Remove LegacyDefaultOptionalArguments flag from web audio API
530         https://bugs.webkit.org/show_bug.cgi?id=65750
531
532         Reviewed by Adam Barth.
533
534         No new tests, all existing tests pass.
535
536         * webaudio/AudioBufferSourceNode.idl:
537
538 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
539
540         Remove LegacyDefaultOptionalArguments flag from Web Workers
541         https://bugs.webkit.org/show_bug.cgi?id=65746
542
543         Reviewed by Adam Barth.
544
545         No new tests, all existing tests pass.
546
547         * workers/AbstractWorker.idl:
548         * workers/DedicatedWorkerContext.idl:
549         * workers/Worker.idl:
550         * workers/WorkerContext.idl:
551
552 2011-08-05  Kenichi Ishibashi  <bashi@chromium.org>
553
554         Parsing CSS3 font-feature-settings property
555         https://bugs.webkit.org/show_bug.cgi?id=63618
556
557         Introduces CSS3 font-feature-settings property as -webkit-font-feature-settings.  This change only contains parsing part.  Parsed information are stored in FontDescription class.
558
559         Reviewed by Shinichiro Hamaji.
560
561         Test: css3/font-feature-settings-parsing.html
562
563         * CMakeLists.txt: Added FontFeatureValue.{h,cpp} and FontFeatureSettings.{h,cpp}.
564         * GNUmakefile.list.am: Ditto.
565         * WebCore.gypi: Ditto.
566         * WebCore.pro: Ditto.
567         * WebCore.vcproj/WebCore.vcproj: Ditto.
568         * WebCore.xcodeproj/project.pbxproj: Ditto.
569         * css/CSSComputedStyleDeclaration.cpp:
570         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added CSSPropertyWebkitFontFeatureSettings.
571         * css/CSSParser.cpp:
572         (WebCore::CSSParser::parseValue): Added parsing code for -webkit-font-feature-settings.
573         (WebCore::CSSParser::parseFontFeatureTag): Added.
574         (WebCore::CSSParser::parseFontFeatureSettings): Added.
575         * css/CSSParser.h: Added parseFontFeatureSettings().
576         * css/CSSPropertyNames.in: Added -webkit-font-feature-settings.
577         * css/CSSStyleSelector.cpp:
578         (WebCore::CSSStyleSelector::applyDeclarations): Modified a compile assert to follow adding -webkit-font-feature-settings.
579         (WebCore::CSSStyleSelector::applyProperty): Added a case clause for CSSPropertyWebkitFontFeatureSettings.
580         * css/CSSValue.h:
581         (WebCore::CSSValue::isFontFeatureValue): Added.
582         * css/CSSValueKeywords.in: Added 'on' and 'off' keywords.
583         * css/FontFeatureValue.cpp: Added.
584         (WebCore::FontFeatureValue::FontFeatureValue):
585         (WebCore::FontFeatureValue::value):
586         (WebCore::FontFeatureValue::cssText):
587         * css/FontFeatureValue.h: Added.
588         (WebCore::FontFeatureValue::create):
589         (WebCore::FontFeatureValue::tag):
590         (WebCore::FontFeatureValue::isFontFeatureValue):
591         * platform/graphics/FontDescription.cpp:
592         (WebCore::FontDescription::makeNormalFeatureSettings): Added.
593         * platform/graphics/FontDescription.h:
594         (WebCore::FontDescription::FontDescription): Added m_featureSettings member variable.
595         (WebCore::FontDescription::featureSettings): Added.
596         (WebCore::FontDescription::setFeatureSettings): Added.
597         (WebCore::FontDescription::operator==): Modified to take into account m_featureSettings
598         * platform/graphics/FontFeatureSettings.cpp: Added.
599         (WebCore::FontFeature::FontFeature):
600         (WebCore::FontFeature::operator=):
601         (WebCore::FontFeature::operator==):
602         (WebCore::FontFeatureSettings::FontFeatureSettings):
603         * platform/graphics/FontFeatureSettings.h: Added.
604         (WebCore::FontFeature::tag):
605         (WebCore::FontFeature::value):
606         (WebCore::FontFeatureSettings::create):
607         (WebCore::FontFeatureSettings::append):
608         (WebCore::FontFeatureSettings::size):
609         (WebCore::FontFeatureSettings::operator[]):
610         (WebCore::FontFeatureSettings::at):
611
612 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
613
614         Remove LegacyDefaultOptionalArguments flag from websockets
615         https://bugs.webkit.org/show_bug.cgi?id=65749
616
617         Reviewed by Adam Barth.
618
619         No new tests, all existing tests pass.
620
621         * websockets/WebSocket.idl:
622
623 2011-08-05  Adam Barth  <abarth@webkit.org>
624
625         Attempt to heal media/video-can-play-type.html and media/video-src-change.html.
626
627         * html/HTMLMediaElement.idl:
628
629 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
630
631         Remove LegacyDefaultOptionalArguments flag from notifications IDL files
632         https://bugs.webkit.org/show_bug.cgi?id=65747
633
634         Reviewed by Adam Barth.
635
636         No new tests, all existing tests pass.
637
638         * notifications/Notification.idl:
639         * notifications/NotificationCenter.idl:
640
641 2011-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
642
643         Unreviewed, rolling out r92439.
644         http://trac.webkit.org/changeset/92439
645         https://bugs.webkit.org/show_bug.cgi?id=65753
646
647         Caused 9 tests to fail on Qt (Requested by abarth on #webkit).
648
649         * dom/Document.cpp:
650         (WebCore::Document::implicitOpen):
651         * loader/FrameLoader.cpp:
652         (WebCore::FrameLoader::transitionToCommitted):
653         (WebCore::FrameLoader::detachChildren):
654
655 2011-08-04  Ryosuke Niwa  <rniwa@webkit.org>
656
657         Use RenderedPosition instead of getInlineBoxAndOffset in Editor and AccessibilityObject
658         https://bugs.webkit.org/show_bug.cgi?id=65647
659
660         Reviewed by Hajime Morita.
661
662         Encapsulated the use of getInlineBoxAndOffset in Editor.cpp and AccessibilityObject.cpp by RenderedPosition.
663
664         Also added rendererFromPosition that returns the renderer of deprecatedNode but using a proper Position interface.
665
666         * accessibility/AccessibilityObject.cpp:
667         (WebCore::updateAXLineStartForVisiblePosition):
668         * editing/Editor.cpp:
669         (WebCore::Editor::firstRectForRange):
670         * editing/RenderedPosition.cpp:
671         (WebCore::rendererFromPosition):
672         (WebCore::RenderedPosition::RenderedPosition):
673         (WebCore::RenderedPosition::absoluteRect):
674         * editing/RenderedPosition.h:
675         (WebCore::RenderedPosition::absoluteRect):
676
677 2011-08-04  Hayato Ito  <hayato@chromium.org>
678
679         Make ScopedEventQueue enqueue an EventDispatchMediator, instead of an Event.
680         https://bugs.webkit.org/show_bug.cgi?id=65613
681
682         Reviewed by Dimitri Glazkov.
683
684         No changes to functionality so no new tests.
685
686         * dom/Event.h:
687         * dom/EventDispatcher.cpp:
688         (WebCore::EventDispatcher::dispatchScopedEvent):
689         * dom/EventDispatcher.h:
690         * dom/Node.cpp:
691         (WebCore::Node::dispatchScopedEvent):
692         (WebCore::Node::dispatchScopedEventDispatchMediator):
693         * dom/Node.h:
694         * dom/ScopedEventQueue.cpp:
695         (WebCore::ScopedEventQueue::~ScopedEventQueue):
696         (WebCore::ScopedEventQueue::enqueueEventDispatchMediator):
697         (WebCore::ScopedEventQueue::dispatchAllEvents):
698         (WebCore::ScopedEventQueue::dispatchEvent):
699         * dom/ScopedEventQueue.h:
700
701 2011-08-04  James Robinson  <jamesr@chromium.org>
702
703         Unreviewed build fix.  gcc 4.5 can't figure out that the 'data' variables are always initialized in these functions.
704
705         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
706         (WebCore::jsArrayToFloatArray):
707         (WebCore::jsArrayToIntArray):
708
709 2011-08-05  Roland Steiner  <rolandsteiner@chromium.org>
710
711         Improve const-correctness in CSS code: type information methods
712         https://bugs.webkit.org/show_bug.cgi?id=65506
713
714         Reviewed by Simon Fraser.
715
716         Make "is...()" functions (e.g., "isStyleRule()") const.
717         Also, change CSSRule's type() function to return CSSRuleType.
718
719         No new tests. (no change in semantics)
720
721         * css/CSSCharsetRule.h:
722         (WebCore::CSSCharsetRule::isCharsetRule):
723         (WebCore::CSSCharsetRule::type):
724         * css/CSSFontFaceRule.h:
725         (WebCore::CSSFontFaceRule::isFontFaceRule):
726         (WebCore::CSSFontFaceRule::type):
727         * css/CSSImportRule.h:
728         (WebCore::CSSImportRule::isImportRule):
729         (WebCore::CSSImportRule::type):
730         * css/CSSMediaRule.h:
731         (WebCore::CSSMediaRule::isMediaRule):
732         (WebCore::CSSMediaRule::type):
733         * css/CSSPageRule.h:
734         (WebCore::CSSPageRule::isPageRule):
735         (WebCore::CSSPageRule::type):
736         * css/CSSRule.h:
737         (WebCore::CSSRule::isRule):
738         * css/CSSStyleRule.h:
739         (WebCore::CSSStyleRule::isStyleRule):
740         (WebCore::CSSStyleRule::type):
741         * css/CSSUnknownRule.h:
742         (WebCore::CSSUnknownRule::type):
743         * css/StyleBase.h:
744         (WebCore::StyleBase::isCharsetRule):
745         (WebCore::StyleBase::isFontFaceRule):
746         (WebCore::StyleBase::isImportRule):
747         (WebCore::StyleBase::isKeyframeRule):
748         (WebCore::StyleBase::isKeyframesRule):
749         (WebCore::StyleBase::isMediaRule):
750         (WebCore::StyleBase::isPageRule):
751         (WebCore::StyleBase::isRule):
752         (WebCore::StyleBase::isStyleRule):
753         * css/WebKitCSSKeyframeRule.h:
754         (WebCore::WebKitCSSKeyframeRule::isKeyframeRule):
755         (WebCore::WebKitCSSKeyframeRule::type):
756         * css/WebKitCSSKeyframesRule.h:
757         (WebCore::WebKitCSSKeyframesRule::isKeyframesRule):
758         (WebCore::WebKitCSSKeyframesRule::type):
759
760 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
761
762         Remove LegacyDefaultOptionalArguments flag from plugin IDL files
763         https://bugs.webkit.org/show_bug.cgi?id=65745
764
765         Reviewed by Adam Barth.
766
767         No new tests, all existing tests pass.
768
769         * plugins/DOMMimeTypeArray.idl:
770         * plugins/DOMPlugin.idl:
771         * plugins/DOMPluginArray.idl:
772
773 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
774
775         Remove LegacyDefaultOptionalArguments flag from XML/XSL IDL files
776         https://bugs.webkit.org/show_bug.cgi?id=65740
777
778         Reviewed by Adam Barth.
779
780         No new tests, all existing tests pass.
781
782         * xml/DOMParser.idl:
783         * xml/XMLSerializer.idl:
784         * xml/XPathEvaluator.idl:
785         * xml/XPathExpression.idl:
786         * xml/XPathNSResolver.idl:
787         * xml/XPathResult.idl:
788         * xml/XSLTProcessor.idl:
789
790 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
791
792         Remove LegacyDefaultOptionalArguments flag from canvas IDL files
793         https://bugs.webkit.org/show_bug.cgi?id=65737
794
795         Reviewed by Adam Barth.
796
797         No new tests, all existing tests pass.
798
799         * html/canvas/CanvasGradient.idl:
800         * html/canvas/Float32Array.idl:
801         * html/canvas/Float64Array.idl:
802         * html/canvas/Int16Array.idl:
803         * html/canvas/Int32Array.idl:
804         * html/canvas/Int8Array.idl:
805         * html/canvas/OESVertexArrayObject.idl:
806         * html/canvas/Uint16Array.idl:
807         * html/canvas/Uint32Array.idl:
808         * html/canvas/Uint8Array.idl:
809
810 2011-08-04  MORITA Hajime  <morrita@google.com>
811
812         Reviewed by Ryosuke Niwa.
813
814         DocumentMarker: Type specific details should be separately held by other object.
815         https://bugs.webkit.org/show_bug.cgi?id=59855
816
817         - Introduced DocumentMarkerDetails abstract class and two its subclasses
818           DocumentMarkerDescription and DocumentMarkerActiveMatch,
819         
820         - Replacing DocumentMarker::m_description and
821           DocumentMarker::m_activeMatch with these new details classes.
822         
823         No new tests. No behavior change.
824
825         * CMakeLists.txt:
826         * GNUmakefile.list.am:
827         * WebCore.gypi:
828         * WebCore.pro:
829         * WebCore.vcproj/WebCore.vcproj:
830         * WebCore.xcodeproj/project.pbxproj:
831         * dom/DOMAllInOne.cpp:
832         * dom/DocumentMarker.cpp: Added.
833         (WebCore::emptyDescription):
834         (WebCore::DocumentMarkerDetails::DocumentMarkerDetails):
835         (WebCore::DocumentMarkerDetails::~DocumentMarkerDetails):
836         (WebCore::DocumentMarkerDescription::description):
837         (WebCore::DocumentMarkerDescription::isDescription):        
838         (WebCore::DocumentMarkerDescription::DocumentMarkerDescription):
839         (WebCore::DocumentMarkerDescription::createUnlessEmpty):
840         (WebCore::DocumentMarkerDescription::compatibleTypes):
841         (WebCore::DocumentMarkerTextMatch::activeMatch):    
842         (WebCore::DocumentMarkerTextMatch::isTextMatch):
843         (WebCore::DocumentMarkerTextMatch::DocumentMarkerTextMatch):
844         (WebCore::DocumentMarkerTextMatch::instanceFor):
845         (WebCore::DocumentMarkerTextMatch::compatibleTypes):
846         (WebCore::DocumentMarker::DocumentMarker):
847         (WebCore::DocumentMarker::shiftOffsets):
848         (WebCore::DocumentMarker::setActiveMatch):
849         (WebCore::DocumentMarker::description):
850         (WebCore::DocumentMarker::activeMatch):
851         * dom/DocumentMarker.h:
852         (WebCore::DocumentMarker::details):
853         (WebCore::DocumentMarker::clearDetails):
854         (WebCore::DocumentMarkerDetails::isDescription):
855         (WebCore::DocumentMarkerDetails::isTextMatch):
856         (WebCore::DocumentMarkerDetails::isAllowedFor):
857         * dom/DocumentMarkerController.cpp:
858         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
859         * editing/CompositeEditCommand.cpp:
860         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
861
862 2011-08-04  Scott Graham  <scottmg@chromium.org>
863
864         Bad interaction between document destruction and unload events
865         https://bugs.webkit.org/show_bug.cgi?id=64741
866
867         Reviewed by Adam Barth.
868
869         Three different errors triggered by this test case. The case to
870         consider is a subdocument with an onunload on an element, that
871         destroys the parent document during the onunload. One fix was a
872         lifetime issue fixed by a protecting RefPtr, and another was an
873         additional cancel of event triggers. The main fix was that during the
874         transition to commited state, the documentLoader is being replaced by
875         the provisionalDocumentLoader. But, because during firing events in
876         the subdocument the parent is destroyed, that subevent caused the
877         provisionalDocumentLoader to be detached from its frame. By marking
878         the page as being in committed state before the parent documentLoader
879         is set, this is avoided.
880
881         Test: loader/document-destruction-within-unload.html
882
883         * dom/Document.cpp:
884         (WebCore::Document::implicitOpen):
885         * loader/FrameLoader.cpp:
886         (WebCore::FrameLoader::transitionToCommitted):
887         (WebCore::FrameLoader::detachChildren):
888
889 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
890
891         Add code to determine whether a Range in inside fixed position content
892         https://bugs.webkit.org/show_bug.cgi?id=65720
893
894         Reviewed by Sam Weinig.
895
896         Propagate the 'wasFixed' flag out from various methods that
897         are used when computing the collection of rects or quads
898         for a range. Use the flag in Range to computer whether
899         the Range is entirely within, partially within, or outside
900         of fixed-position content.
901
902         * WebCore.exp.in:
903         * accessibility/AccessibilityRenderObject.cpp:
904         (WebCore::AccessibilityRenderObject::boundingBoxRect):
905         * dom/Range.cpp:
906         (WebCore::Range::textRects):
907         (WebCore::Range::textQuads):
908         * dom/Range.h:
909         * rendering/RenderBlock.cpp:
910         (WebCore::RenderBlock::absoluteQuads):
911         * rendering/RenderBlock.h:
912         * rendering/RenderBox.cpp:
913         (WebCore::RenderBox::absoluteQuads):
914         * rendering/RenderBox.h:
915         * rendering/RenderInline.cpp:
916         (WebCore::RenderInline::absoluteQuads):
917         * rendering/RenderInline.h:
918         * rendering/RenderObject.h:
919         (WebCore::RenderObject::absoluteQuads):
920         * rendering/RenderText.cpp:
921         (WebCore::RenderText::absoluteRectsForRange):
922         (WebCore::RenderText::absoluteQuads):
923         (WebCore::RenderText::absoluteQuadsForRange):
924         * rendering/RenderText.h:
925         * rendering/RenderView.cpp:
926         (WebCore::RenderView::absoluteQuads):
927         * rendering/RenderView.h:
928         * rendering/svg/RenderSVGHiddenContainer.cpp:
929         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
930         * rendering/svg/RenderSVGHiddenContainer.h:
931         * rendering/svg/RenderSVGInline.cpp:
932         (WebCore::RenderSVGInline::absoluteQuads):
933         * rendering/svg/RenderSVGInline.h:
934         * rendering/svg/RenderSVGModelObject.cpp:
935         (WebCore::RenderSVGModelObject::absoluteQuads):
936         * rendering/svg/RenderSVGModelObject.h:
937         * rendering/svg/RenderSVGText.cpp:
938         (WebCore::RenderSVGText::absoluteQuads):
939         * rendering/svg/RenderSVGText.h:
940
941 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
942
943         Remove LegacyDefaultOptionalArguments flag from Document.idl
944         https://bugs.webkit.org/show_bug.cgi?id=65717
945
946         Reviewed by Adam Barth.
947
948         No new tests, all existing tests pass.
949
950         * dom/Document.idl:
951
952 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
953
954         Fix release build failure with last commit.
955
956         * rendering/RenderView.cpp:
957         (WebCore::RenderView::mapLocalToContainer):
958
959 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
960
961         Add code to determine whether a Range in inside fixed position content
962         https://bugs.webkit.org/show_bug.cgi?id=65720
963
964         Reviewed by Dan Bernstein.
965
966         Add an out param for various coordinate mapping functions
967         that tells us whether the point or rectangle being
968         mapped is inside fixed-position content.
969         
970         This brings back some of the changes from r89754.
971         
972         No behavior changes, so no tests.
973
974         * rendering/RenderBox.cpp:
975         (WebCore::RenderBox::mapLocalToContainer):
976         * rendering/RenderBox.h:
977         * rendering/RenderInline.cpp:
978         (WebCore::RenderInline::mapLocalToContainer):
979         * rendering/RenderInline.h:
980         * rendering/RenderObject.cpp:
981         (WebCore::RenderObject::mapLocalToContainer):
982         (WebCore::RenderObject::localToContainerQuad):
983         * rendering/RenderObject.h:
984         (WebCore::RenderObject::localToAbsoluteQuad):
985         * rendering/RenderView.cpp:
986         (WebCore::RenderView::mapLocalToContainer):
987         * rendering/RenderView.h:
988         * rendering/svg/RenderSVGForeignObject.cpp:
989         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
990         * rendering/svg/RenderSVGForeignObject.h:
991         * rendering/svg/RenderSVGInline.cpp:
992         (WebCore::RenderSVGInline::mapLocalToContainer):
993         * rendering/svg/RenderSVGInline.h:
994         * rendering/svg/RenderSVGModelObject.cpp:
995         (WebCore::RenderSVGModelObject::mapLocalToContainer):
996         * rendering/svg/RenderSVGModelObject.h:
997         * rendering/svg/RenderSVGRoot.cpp:
998         (WebCore::RenderSVGRoot::mapLocalToContainer):
999         * rendering/svg/RenderSVGRoot.h:
1000         * rendering/svg/RenderSVGText.cpp:
1001         (WebCore::RenderSVGText::mapLocalToContainer):
1002         * rendering/svg/RenderSVGText.h:
1003         * rendering/svg/SVGRenderSupport.cpp:
1004         (WebCore::SVGRenderSupport::mapLocalToContainer):
1005         * rendering/svg/SVGRenderSupport.h:
1006
1007 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
1008
1009         Remove LegacyDefaultOptionalArguments flag from DOM-related files except Document.idl
1010         https://bugs.webkit.org/show_bug.cgi?id=65715
1011
1012         Reviewed by Adam Barth.
1013
1014         No new tests, all existing tests pass.
1015
1016         * dom/CharacterData.idl:
1017         * dom/ClientRectList.idl:
1018         * dom/Clipboard.idl:
1019         * dom/DOMImplementation.idl:
1020         * dom/DOMStringList.idl:
1021         * dom/DataTransferItem.idl:
1022         * dom/DataTransferItems.idl:
1023         * dom/DocumentFragment.idl:
1024         * dom/Element.idl:
1025         * dom/EventListener.idl:
1026         * dom/EventTarget.idl:
1027         * dom/MediaStream.idl:
1028         * dom/MediaStreamList.idl:
1029         * dom/MediaStreamTrackList.idl:
1030         * dom/MessagePort.idl:
1031         * dom/NamedNodeMap.idl:
1032         * dom/Node.idl:
1033         * dom/NodeFilter.idl:
1034         * dom/NodeList.idl:
1035         * dom/Range.idl:
1036         * dom/RequestAnimationFrameCallback.idl:
1037         * dom/StringCallback.idl:
1038         * dom/Text.idl:
1039         * dom/TouchList.idl:
1040
1041 2011-08-04  Mark Rowe  <mrowe@apple.com>
1042
1043         Future-proof Xcode configuration settings.
1044
1045         * Configurations/Base.xcconfig:
1046         * Configurations/DebugRelease.xcconfig:
1047         * Configurations/Version.xcconfig:
1048         * Configurations/WebCore.xcconfig:
1049
1050 2011-08-04  Van Lam  <vanlam@google.com>
1051
1052         A few purely stylistic modifications to visible_units.cpp
1053         https://bugs.webkit.org/show_bug.cgi?id=65723
1054
1055         Reviewed by Ryosuke Niwa.
1056
1057         Renamed greatestValueUnder to greatestOffsetUnder, positionIsInsideBox
1058         to positionIsInBoxButNotOnBoundary (to avoid confusion with
1059         positionIsInBox, which is just a getInlineBoxAndOffset check).
1060         Removed use of invalidOffset as an error value in greatestOffsetUnder
1061         and smallestOffsetAbove since semantically it should only be used to
1062         check if it makes sense to compare offsets in a single box.
1063
1064         * editing/visible_units.cpp:
1065         (WebCore::greatestOffsetUnder):
1066         (WebCore::smallestOffsetAbove):
1067         (WebCore::positionIsInBoxButNotOnBoundary):
1068         (WebCore::leftWordPositionAcrossBoundary):
1069         (WebCore::rightWordPositionAcrossBoundary):
1070
1071 2011-08-04  James Robinson  <jamesr@chromium.org>
1072
1073         [chromium] Implement a global resource limit for DrawingBuffer to limit the amount of GPU memory used by 2d canvas backing stores
1074         https://bugs.webkit.org/show_bug.cgi?id=65655
1075
1076         Reviewed by Kenneth Russell.
1077
1078         * platform/graphics/gpu/DrawingBuffer.cpp:
1079         (WebCore::DrawingBuffer::setResourceLimit):
1080         (WebCore::DrawingBuffer::clear):
1081         (WebCore::DrawingBuffer::reset):
1082         * platform/graphics/gpu/DrawingBuffer.h:
1083
1084 2011-08-04  Kenichi Ishibashi  <bashi@chromium.org>
1085
1086         [Chromium] Reduce memory consumption of HarfbuzzFace
1087         https://bugs.webkit.org/show_bug.cgi?id=65688
1088
1089         Adds a cache for HB_FaceRec to eliminate multiple allocation for the same font.
1090
1091         Reviewed by Tony Chang.
1092
1093         No new tests since there is no behavior change.
1094
1095         * platform/graphics/chromium/HarfbuzzSkia.cpp:
1096         (WebCore::getCachedHarfbuzzFace): Added.
1097         (WebCore::releaseCachedHarfbuzzFace): Ditto.
1098         (WebCore::HarfbuzzFace::HarfbuzzFace): Calls getCachedHarfbuzzFace() instead of allocating HB_FaceRec.
1099         (WebCore::HarfbuzzFace::~HarfbuzzFace): Calls releaseCachedHarfbuzzFace() to release the onership of the cache.
1100         * platform/graphics/chromium/HarfbuzzSkia.h:
1101
1102 2011-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1103
1104         Unreviewed, rolling out r92415.
1105         http://trac.webkit.org/changeset/92415
1106         https://bugs.webkit.org/show_bug.cgi?id=65728
1107
1108         Causes many DEBUG crashes (Requested by abarth on #webkit).
1109
1110         * platform/network/chromium/ResourceRequest.h:
1111         * xml/XMLHttpRequest.cpp:
1112         (WebCore::XMLHttpRequest::createRequest):
1113
1114 2011-08-04  Tim Horton  <timothy_horton@apple.com>
1115
1116         Reviewed by Nikolas Zimmerman.
1117
1118         Errors encountered within SVG documents should be reported to the console
1119         https://bugs.webkit.org/show_bug.cgi?id=62599
1120         <rdar://problem/9727074>
1121
1122         Make use of SVGLength::construct when parsing Length attributes; we will
1123         now propagate errors which occur while parsing SVGLength attributes to the
1124         Web Inspector console.
1125
1126         * svg/SVGCircleElement.cpp:
1127         (WebCore::SVGCircleElement::parseMappedAttribute):
1128         * svg/SVGCursorElement.cpp:
1129         (WebCore::SVGCursorElement::parseMappedAttribute):
1130         * svg/SVGEllipseElement.cpp:
1131         (WebCore::SVGEllipseElement::parseMappedAttribute):
1132         * svg/SVGFilterElement.cpp:
1133         (WebCore::SVGFilterElement::parseMappedAttribute):
1134         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1135         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
1136         * svg/SVGForeignObjectElement.cpp:
1137         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1138         * svg/SVGImageElement.cpp:
1139         (WebCore::SVGImageElement::parseMappedAttribute):
1140         * svg/SVGLineElement.cpp:
1141         (WebCore::SVGLineElement::parseMappedAttribute):
1142         * svg/SVGLinearGradientElement.cpp:
1143         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
1144         * svg/SVGMarkerElement.cpp:
1145         (WebCore::SVGMarkerElement::parseMappedAttribute):
1146         * svg/SVGMaskElement.cpp:
1147         (WebCore::SVGMaskElement::parseMappedAttribute):
1148         * svg/SVGPatternElement.cpp:
1149         (WebCore::SVGPatternElement::parseMappedAttribute):
1150         * svg/SVGRadialGradientElement.cpp:
1151         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
1152         * svg/SVGRectElement.cpp:
1153         (WebCore::SVGRectElement::parseMappedAttribute):
1154         * svg/SVGSVGElement.cpp:
1155         (WebCore::SVGSVGElement::parseMappedAttribute):
1156         * svg/SVGTextContentElement.cpp:
1157         (WebCore::SVGTextContentElement::parseMappedAttribute):
1158         * svg/SVGTextPathElement.cpp:
1159         (WebCore::SVGTextPathElement::parseMappedAttribute):
1160         * svg/SVGUseElement.cpp:
1161         (WebCore::SVGUseElement::parseMappedAttribute):
1162
1163 2011-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1164
1165         Unreviewed, rolling out r92419.
1166         http://trac.webkit.org/changeset/92419
1167         https://bugs.webkit.org/show_bug.cgi?id=65726
1168
1169         "committed partially to branch" (Requested by thorton on
1170         #webkit).
1171
1172         * svg/SVGCircleElement.cpp:
1173         (WebCore::SVGCircleElement::parseMappedAttribute):
1174         * svg/SVGCursorElement.cpp:
1175         (WebCore::SVGCursorElement::parseMappedAttribute):
1176         * svg/SVGEllipseElement.cpp:
1177         (WebCore::SVGEllipseElement::parseMappedAttribute):
1178         * svg/SVGFilterElement.cpp:
1179         (WebCore::SVGFilterElement::parseMappedAttribute):
1180         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1181         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
1182         * svg/SVGForeignObjectElement.cpp:
1183         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1184         * svg/SVGImageElement.cpp:
1185         (WebCore::SVGImageElement::parseMappedAttribute):
1186         * svg/SVGLineElement.cpp:
1187         (WebCore::SVGLineElement::parseMappedAttribute):
1188         * svg/SVGLinearGradientElement.cpp:
1189         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
1190         * svg/SVGMarkerElement.cpp:
1191         (WebCore::SVGMarkerElement::parseMappedAttribute):
1192         * svg/SVGMaskElement.cpp:
1193         (WebCore::SVGMaskElement::parseMappedAttribute):
1194         * svg/SVGPatternElement.cpp:
1195         (WebCore::SVGPatternElement::parseMappedAttribute):
1196         * svg/SVGRadialGradientElement.cpp:
1197         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
1198         * svg/SVGRectElement.cpp:
1199         (WebCore::SVGRectElement::parseMappedAttribute):
1200         * svg/SVGSVGElement.cpp:
1201         (WebCore::SVGSVGElement::parseMappedAttribute):
1202         * svg/SVGTextContentElement.cpp:
1203         (WebCore::SVGTextContentElement::parseMappedAttribute):
1204         * svg/SVGTextPathElement.cpp:
1205         (WebCore::SVGTextPathElement::parseMappedAttribute):
1206         * svg/SVGUseElement.cpp:
1207         (WebCore::SVGUseElement::parseMappedAttribute):
1208
1209 2011-08-04  Fady Samuel  <fsamuel@chromium.org>
1210
1211         Background Does Not Scale Correctly with Page
1212         https://bugs.webkit.org/show_bug.cgi?id=65690
1213
1214         Reviewed by Simon Fraser.
1215
1216         Test: fast/repaint/background-scaling.html
1217
1218         * rendering/RenderBox.cpp:
1219         (WebCore::RenderBox::paintRootBoxFillLayers):
1220         * rendering/RenderView.cpp:
1221         (WebCore::RenderView::unscaledDocumentRect):
1222         (WebCore::RenderView::documentRect):
1223         * rendering/RenderView.h:
1224
1225 2011-08-04  Jochen Eisinger  <jochen@chromium.org>
1226
1227         Introduce a new ResourceRequest::TargetType for XHRs
1228         https://bugs.webkit.org/show_bug.cgi?id=65544
1229
1230         Reviewed by Darin Fisher.
1231
1232         * platform/network/chromium/ResourceRequest.h:
1233         * xml/XMLHttpRequest.cpp:
1234         (WebCore::XMLHttpRequest::createRequest):
1235
1236 2011-08-04  Sergey Glazunov  <serg.glazunov@gmail.com>
1237
1238         Fix integer overflow in custom bindings for WebGLRenderingContext
1239         https://bugs.webkit.org/show_bug.cgi?id=65646
1240
1241         Reviewed by Kenneth Russell.
1242
1243         Test: fast/canvas/webgl/uniform-array-length-overflow.html
1244
1245         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1246         (WebCore::toVector): Don't crash if allocation fails.
1247         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1248         (WebCore::jsArrayToFloatArray):
1249         (WebCore::jsArrayToIntArray):
1250
1251 2011-08-04  Pratik Solanki  <psolanki@apple.com>
1252
1253         Implement CERTIFICATE_CREDENTIALS_SUPPORTED for CFNetwork
1254         https://bugs.webkit.org/show_bug.cgi?id=65704
1255         <rdar://problem/9877734>
1256
1257         Reviewed by Oliver Hunt.
1258
1259         Implement support for client side certificate authentication in the CFNetwork based loader.
1260
1261         * platform/network/cf/AuthenticationCF.cpp:
1262         (WebCore::createCF):
1263         (WebCore::core): Also fix leak of password string.
1264
1265 2011-08-04  Chris Rogers  <crogers@google.com>
1266
1267         Make sure that AudioArray is 16-byte aligned
1268         https://bugs.webkit.org/show_bug.cgi?id=65651
1269
1270         Reviewed by Kenneth Russell.
1271
1272         No new tests - this does not change JavaScript API.
1273
1274         * platform/audio/AudioArray.h:
1275         (WebCore::AudioArray::AudioArray):
1276         (WebCore::AudioArray::~AudioArray):
1277         (WebCore::AudioArray::allocate):
1278         (WebCore::AudioArray::data):
1279         (WebCore::AudioArray::size):
1280         (WebCore::AudioArray::at):
1281         (WebCore::AudioArray::operator[]):
1282         (WebCore::AudioArray::alignedAddress):
1283         * platform/audio/Biquad.cpp:
1284         (WebCore::Biquad::Biquad):
1285         * platform/audio/ReverbConvolverStage.cpp:
1286         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
1287         * webaudio/DelayDSPKernel.cpp:
1288         (WebCore::DelayDSPKernel::DelayDSPKernel):
1289         * webaudio/RealtimeAnalyser.cpp:
1290         (WebCore::RealtimeAnalyser::setFftSize):
1291
1292 2011-08-04  Brady Eidson  <beidson@apple.com>
1293
1294         <rdar://problem/9882581>, <rdar://problem/9868015>, and https://bugs.webkit.org/show_bug.cgi?id=65712
1295         REGRESSION (91931) - Two LocalStorage threads started, thread unsafe operations can cause crash or other problems later.
1296
1297         Reviewed by Darin Adler.
1298
1299         * storage/StorageTracker.cpp:
1300         (WebCore::StorageTracker::internalInitialize): Set the "needs initialization" flag before doing a 
1301           whole bunch of stuff that might need to check it.
1302
1303 2011-08-04  Jeff Miller  <jeffm@apple.com>
1304
1305         Adopt AVCF media back end on Windows
1306         https://bugs.webkit.org/show_bug.cgi?id=65400
1307         <rdar://problem/9894105>
1308         
1309         First cut at implementation in MediaPlayerPrivateAVFoundationCF.cpp/.h, based on
1310         work by Eric Carlson. Note that use of AVFoundation is determined at runtime, and
1311         defaults to off.
1312
1313         Reviewed by Darin Adler.
1314
1315         No new tests, uses existing media tests.
1316
1317         * config.h: Turn on WTF_USE_AVFOUNDATION on Windows if AVFoundationCF is available.
1318         
1319         * platform/graphics/MediaPlayer.cpp:
1320         (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationCF on Windows.
1321         * platform/graphics/MediaPlayer.h: Add support for an AVCFPlayer.
1322         
1323         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1324         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Workaround an AVCF limitation that prevents an AVCFPlayer from being created without an AVCFItem.
1325         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Added support for ContentsNeedsDisplay notification.
1326         
1327         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1328         (WebCore::MediaPlayerPrivateAVFoundation::contentsNeedsDisplay): Added support for ContentsNeedsDisplay notification.
1329         
1330         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added implementation.
1331         (WebCore::AVFWrapper::caVideoLayer):
1332         (WebCore::AVFWrapper::videoLayerWrapper):
1333         (WebCore::AVFWrapper::videoLayer):
1334         (WebCore::AVFWrapper::avPlayer):
1335         (WebCore::AVFWrapper::avAsset):
1336         (WebCore::AVFWrapper::avPlayerItem):
1337         (WebCore::AVFWrapper::timeObserver):
1338         (WebCore::AVFWrapper::imageGenerator):
1339         (WebCore::AVFWrapper::dispatchQueue):
1340         (WebCore::LayerClient::LayerClient):
1341         (WebCore::LayerClient::~LayerClient):
1342         (WebCore::LayerClient::platformCALayerRespondsToLayoutChanges):
1343         (WebCore::LayerClient::platformCALayerAnimationStarted):
1344         (WebCore::LayerClient::platformCALayerContentsOrientation):
1345         (WebCore::LayerClient::platformCALayerPaintContents):
1346         (WebCore::LayerClient::platformCALayerShowDebugBorders):
1347         (WebCore::LayerClient::platformCALayerShowRepaintCounter):
1348         (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
1349         (WebCore::LayerClient::platformCALayerContentsOpaque):
1350         (WebCore::LayerClient::platformCALayerDrawsContent):
1351         (WebCore::LayerClient::platformCALayerLayerDidDisplay):
1352         (WebCore::boolString):
1353         (WebCore::metadataKeyNames):
1354         (WebCore::CMTimeRangeStartKey):
1355         (WebCore::CMTimeRangeDurationKey):
1356         (WebCore::CACFContextNeedsFlushNotification):
1357         (WebCore::videoLayer):
1358         (WebCore::avPlayer):
1359         (WebCore::avAsset):
1360         (WebCore::avPlayerItem):
1361         (WebCore::imageGenerator):
1362         (WebCore::MediaPlayerPrivateAVFoundationCF::create):
1363         (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
1364         (WebCore::MediaPlayerPrivateAVFoundationCF::MediaPlayerPrivateAVFoundationCF):
1365         (WebCore::MediaPlayerPrivateAVFoundationCF::~MediaPlayerPrivateAVFoundationCF):
1366         (WebCore::MediaPlayerPrivateAVFoundationCF::cancelLoad):
1367         (WebCore::MediaPlayerPrivateAVFoundationCF::hasLayerRenderer):
1368         (WebCore::MediaPlayerPrivateAVFoundationCF::hasContextRenderer):
1369         (WebCore::MediaPlayerPrivateAVFoundationCF::createContextVideoRenderer):
1370         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyContextVideoRenderer):
1371         (WebCore::MediaPlayerPrivateAVFoundationCF::createVideoLayer):
1372         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyVideoLayer):
1373         (WebCore::MediaPlayerPrivateAVFoundationCF::hasAvailableVideoFrame):
1374         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer):
1375         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayerItem):
1376         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL):
1377         (WebCore::MediaPlayerPrivateAVFoundationCF::checkPlayability):
1378         (WebCore::MediaPlayerPrivateAVFoundationCF::beginLoadingMetadata):
1379         (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus):
1380         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMedia):
1381         (WebCore::MediaPlayerPrivateAVFoundationCF::platformLayer):
1382         (WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible):
1383         (WebCore::MediaPlayerPrivateAVFoundationCF::platformPlay):
1384         (WebCore::MediaPlayerPrivateAVFoundationCF::platformPause):
1385         (WebCore::MediaPlayerPrivateAVFoundationCF::updateRate):
1386         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
1387         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
1388         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
1389         (WebCore::MediaPlayerPrivateAVFoundationCF::setVolume):
1390         (WebCore::MediaPlayerPrivateAVFoundationCF::setClosedCaptionsVisible):
1391         (WebCore::MediaPlayerPrivateAVFoundationCF::rate):
1392         (WebCore::timeRangeIsValidAndNotEmpty):
1393         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
1394         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
1395         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
1396         (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes):
1397         (WebCore::MediaPlayerPrivateAVFoundationCF::assetStatus):
1398         (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
1399         (WebCore::MediaPlayerPrivateAVFoundationCF::paint):
1400         (WebCore::mimeTypeCache):
1401         (WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes):
1402         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):
1403         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):
1404         (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue):
1405         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged):
1406         (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged):
1407         (WebCore::MediaPlayerPrivateAVFoundationCF::contentsNeedsDisplay):
1408         (WebCore::AVFWrapper::AVFWrapper):
1409         (WebCore::AVFWrapper::~AVFWrapper):
1410         (WebCore::AVFWrapper::scheduleDisconnectAndDelete):
1411         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper):
1412         (WebCore::AVFWrapper::deleteAVFWrapper):
1413         (WebCore::AVFWrapper::createAssetForURL):
1414         (WebCore::AVFWrapper::createPlayer):
1415         (WebCore::AVFWrapper::createPlayerItem):
1416         (WebCore::AVFWrapper::periodicTimeObserverCallback):
1417         (WebCore::AVFWrapper::notificationCallback):
1418         (WebCore::AVFWrapper::loadPlayableCompletionCallback):
1419         (WebCore::AVFWrapper::checkPlayability):
1420         (WebCore::AVFWrapper::loadMetadataCompletionCallback):
1421         (WebCore::AVFWrapper::beginLoadingMetadata):
1422         (WebCore::AVFWrapper::seekCompletedCallback):
1423         (WebCore::AVFWrapper::seekToTime):
1424         (WebCore::AVFWrapper::setAsset):
1425         (WebCore::AVFWrapper::platformLayer):
1426         (WebCore::AVFWrapper::createAVCFVideoLayer):
1427         (WebCore::AVFWrapper::destroyVideoLayer):
1428         (WebCore::AVFWrapper::setVideoLayerNeedsCommit):
1429         (WebCore::AVFWrapper::setVideoLayerHidden):
1430         (WebCore::AVFWrapper::createImageGenerator):
1431         (WebCore::AVFWrapper::destroyImageGenerator):
1432         (WebCore::AVFWrapper::createImageForTimeInRect):
1433         (WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer):
1434
1435         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added implementation.
1436
1437 2011-08-04  Jochen Eisinger  <jochen@chromium.org>
1438
1439         Get rid of ResourceRequestBase::m_targetType. Move it to chromium's ResourceRequest.
1440         https://bugs.webkit.org/show_bug.cgi?id=48483
1441
1442         Reviewed by Alexey Proskuryakov.
1443
1444         * loader/PingLoader.cpp:
1445         (WebCore::PingLoader::loadImage):
1446         (WebCore::PingLoader::sendPing):
1447         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
1448         * loader/cache/CachedResourceRequest.cpp:
1449         (WebCore::CachedResourceRequest::load):
1450         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1451         (webKitWebSrcStart):
1452         * platform/network/ResourceRequestBase.cpp:
1453         (WebCore::ResourceRequestBase::adopt):
1454         (WebCore::ResourceRequestBase::copyData):
1455         * platform/network/ResourceRequestBase.h:
1456         (WebCore::ResourceRequestBase::ResourceRequestBase):
1457         * platform/network/chromium/ResourceRequest.cpp:
1458         (WebCore::ResourceRequest::doPlatformCopyData):
1459         (WebCore::ResourceRequest::doPlatformAdopt):
1460         * platform/network/chromium/ResourceRequest.h:
1461         (WebCore::ResourceRequest::ResourceRequest):
1462         (WebCore::ResourceRequest::targetType):
1463         (WebCore::ResourceRequest::setTargetType):
1464         * workers/DefaultSharedWorkerRepository.cpp:
1465         (WebCore::SharedWorkerScriptLoader::load):
1466         * workers/Worker.cpp:
1467         (WebCore::Worker::create):
1468         * workers/WorkerContext.cpp:
1469         (WebCore::WorkerContext::importScripts):
1470         * workers/WorkerScriptLoader.cpp:
1471         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
1472         (WebCore::WorkerScriptLoader::createResourceRequest):
1473         * workers/WorkerScriptLoader.h:
1474         (WebCore::WorkerScriptLoader::create):
1475         (WebCore::WorkerScriptLoader::setTargetType):
1476
1477 2011-08-04  Jeff Miller  <jeffm@apple.com>
1478
1479         Fix WinCE build after r92308.
1480
1481         * config.h: Don't try to include WebCoreHeaderDetection.h for WinCE.
1482
1483 2011-08-04  Darin Fisher  <darin@chromium.org>
1484
1485         webkitRequestAnimationFrame's element argument needs to be marked optional
1486         https://bugs.webkit.org/show_bug.cgi?id=65698
1487
1488         Reviewed by James Robinson.
1489
1490         * page/DOMWindow.idl:
1491
1492 2011-08-04  Adam Roben  <aroben@apple.com>
1493
1494         Delete some unused code from platform/graphics/win
1495
1496         MediaPlayerPrivateQuickTimeWin has been unused since r72117, and the GraphicsLayer-related
1497         classes have been unused since r75262.
1498
1499         Fixes <http://webkit.org/b/65689> platform/graphics/win has a bunch of unused code
1500
1501         Reviewed by Eric Carlson.
1502
1503         * WebCore.gypi:
1504         * WebCore.vcproj/WebCore.vcproj:
1505         Removed now-deleted files.
1506
1507         * platform/graphics/win/GraphicsLayerCACF.cpp: Removed.
1508         * platform/graphics/win/GraphicsLayerCACF.h: Removed.
1509         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Removed.
1510         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Removed.
1511         * platform/graphics/win/WebLayer.cpp: Removed.
1512         * platform/graphics/win/WebLayer.h: Removed.
1513         * platform/graphics/win/WebTiledLayer.cpp: Removed.
1514         * platform/graphics/win/WebTiledLayer.h: Removed.
1515
1516 2011-08-03  Adam Roben  <aroben@apple.com>
1517
1518         Detect and handle overflow in PlatformCALayerWinInternal::constrainedSize
1519
1520         Google Maps sometimes requests very large (i.e., 2^50 pixels or greater) layers when
1521         zooming. PlatformCALayerWinInternal has code to limit tiled layers to 2^27 pixels, but it
1522         was not correctly handling overflow. In some cases, this would lead to creating a tiled
1523         layer with 0 tiles, which was the cause of this crash.
1524
1525         Fixes <http://webkit.org/b/65637> <rdar://problem/9784849> Crash beneath
1526         PlatformCALayerWinInternal::updateTiles when zooming on Google Maps
1527
1528         Reviewed by Sam Weinig.
1529
1530         Test: compositing/tiling/crash-huge-layer.html
1531
1532         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
1533         (PlatformCALayerWinInternal::constrainedSize): Check for overflow before seeing if the
1534         number of required tiles is larger than the maximum number of allowed tiles.
1535         (PlatformCALayerWinInternal::updateTiles): Added an assertion to catch cases where we have a
1536         non-empty tiled layer that contains 0 tiles, which would cause the crash in this bug report.
1537
1538 2011-08-04  Stephen White  <senorblanco@chromium.org>
1539
1540         Set graphics context current before canvas.toDataURL().
1541         https://bugs.webkit.org/show_bug.cgi?id=65700
1542
1543         Reviewed by James Robinson.
1544
1545         No new tests, unfortunately.  The test infrastucture doesn't seem
1546         to be conducive to writing multiple-context tests.
1547
1548         * platform/graphics/skia/ImageBufferSkia.cpp:
1549         (WebCore::ImageBuffer::toDataURL):
1550
1551 2011-08-01  Brian Weinstein  <bweinstein@apple.com>
1552
1553         WebKit2: Web Inspector always starts in undocked mode
1554         https://bugs.webkit.org/show_bug.cgi?id=65493
1555         <rdar://problem/9353114>
1556         
1557         Reviewed by Adam Roben.
1558         
1559         Expose some methods on InspectorFrontendClient through the InspectorController so WebKit2
1560         can request the inspector be docked, or ask whether or not it can be docked.
1561
1562         * WebCore.exp.in: Export needed methods.
1563         * inspector/InspectorController.cpp:
1564         (WebCore::InspectorController::requestAttachWindow): Call through to InspectorFrontendClient.
1565         (WebCore::InspectorController::canAttachWindow): Ditto.
1566         * inspector/InspectorController.h:
1567         * inspector/InspectorFrontendClient.h:
1568         * inspector/InspectorFrontendClientLocal.h:
1569
1570 2011-08-04  Luke Macpherson   <macpherson@chromium.org>
1571
1572         Support cast between CSSPrimitiveValue and EborderFit, use in CSSStyleSelector.
1573         https://bugs.webkit.org/show_bug.cgi?id=65665
1574
1575         Reviewed by Simon Fraser.
1576
1577         No new tests / refactoring only.
1578
1579         * css/CSSPrimitiveValueMappings.h:
1580         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1581         Support cast from EBorderFit.
1582         (WebCore::CSSPrimitiveValue::operator EBorderFit):
1583         Support cast to EBorderFit.
1584         * css/CSSStyleSelector.cpp:
1585         (WebCore::CSSStyleSelector::applyProperty):
1586         Use new cast to allow use of appropriate macro.
1587
1588 2011-08-04  Pavel Feldman  <pfeldman@google.com>
1589
1590         Web Inspector: rename sendResultByValue to returnByValue in Runtime agent.
1591         https://bugs.webkit.org/show_bug.cgi?id=65687
1592
1593         Reviewed by Yury Semikhatsky.
1594
1595         * inspector/InjectedScript.cpp:
1596         (WebCore::InjectedScript::evaluate):
1597         (WebCore::InjectedScript::callFunctionOn):
1598         * inspector/InjectedScript.h:
1599         * inspector/InjectedScriptSource.js:
1600         * inspector/Inspector.json:
1601         * inspector/InspectorRuntimeAgent.cpp:
1602         (WebCore::InspectorRuntimeAgent::evaluate):
1603         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1604         * inspector/InspectorRuntimeAgent.h:
1605
1606 2011-08-04  Matt Falkenhagen  <falken@chromium.org>
1607
1608         Use -webkit-locale for font selection.
1609         https://bugs.webkit.org/show_bug.cgi?id=10874
1610
1611         Reviewed by Dan Bernstein.
1612
1613         Infer a script from -webkit-locale to use to choose a font for generic
1614         font families and the default unstyled font.  The font is retrieved
1615         from per-script font settings (see bug 20797).  Since these settings
1616         have not changed there should be no visible effect yet.
1617
1618         * CMakeLists.txt:
1619         * GNUmakefile.list.am:
1620         * WebCore.gyp/WebCore.gyp:
1621         * WebCore.gypi:
1622         * WebCore.pro:
1623         * WebCore.vcproj/WebCore.vcproj:
1624         * WebCore.xcodeproj/project.pbxproj:
1625         * css/CSSFontSelector.cpp: Use script when getting font from Settings
1626         (WebCore::fontDataForGenericFamily):
1627         (WebCore::CSSFontSelector::getFontData):
1628         * css/CSSPropertyNames.in: Increase priority of -webkit-locale since it affects font
1629         * css/CSSStyleSelector.cpp:
1630         (WebCore::CSSStyleSelector::styleForDocument):
1631         (WebCore::CSSStyleSelector::applyDeclarations):
1632         (WebCore::CSSStyleSelector::applyProperty): Set script in font based on -webkit-locale
1633         * page/Settings.cpp:
1634         (WebCore::getGenericFontFamilyForScript): Fallback to USCRIPT_COMMON
1635         * platform/graphics/FontDescription.h: Add m_script
1636         (WebCore::FontDescription::FontDescription):
1637         (WebCore::FontDescription::script):
1638         (WebCore::FontDescription::setScript):
1639         (WebCore::FontDescription::operator==):
1640         * platform/text/LocaleToScriptMapping.h: Added.
1641         * platform/text/LocaleToScriptMappingDefault.cpp: Added.
1642         (WebCore::localeToScriptCodeForFontSelection):
1643         (WebCore::LocaleScript::if):
1644         (WebCore::LocaleScript::while):
1645         * platform/text/LocaleToScriptMappingICU.cpp: Added.
1646         (WebCore::scriptCodeForFontSelection):
1647         (WebCore::localeToScriptCodeForFontSelection):
1648
1649 2011-08-04  Vsevolod Vlasov  <vsevik@chromium.org>
1650
1651         Web Inspector: Pretty print JSONP in network panel preview tab.
1652         https://bugs.webkit.org/show_bug.cgi?id=65559
1653
1654         Reviewed by Pavel Feldman.
1655
1656         Test: http/tests/inspector/network/network-preview-json.html
1657
1658         * inspector/front-end/ResourceJSONView.js:
1659         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.parseJSONP):
1660         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
1661         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ParsedJSON):
1662         * inspector/front-end/ResourcePreviewView.js:
1663         (WebInspector.ResourcePreviewView.prototype._createPreviewView):
1664
1665 2011-08-04  Pavel Feldman  <pfeldman@google.com>
1666
1667         Web Inspector: replace isRegex with urlRegex in setBreakpointByUrl
1668         https://bugs.webkit.org/show_bug.cgi?id=65684
1669
1670         Reviewed by Yury Semikhatsky.
1671
1672         * inspector/Inspector.json:
1673         * inspector/InspectorDebuggerAgent.cpp:
1674         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1675         * inspector/InspectorDebuggerAgent.h:
1676         * inspector/front-end/DebuggerModel.js:
1677         (WebInspector.DebuggerModel.prototype.setBreakpoint):
1678
1679 2011-08-03  Philippe Normand  <pnormand@igalia.com>
1680
1681         [GTK] fullscreen/video-controls-override.html fails
1682         https://bugs.webkit.org/show_bug.cgi?id=65618
1683
1684         Reviewed by Martin Robinson.
1685
1686         Implement extraFullScreenStyleSheet() and provide the QuickTime
1687         stylesheet for now, later we might want our own stylesheet.
1688
1689         * GNUmakefile.am:
1690         * platform/gtk/RenderThemeGtk.cpp:
1691         (WebCore::RenderThemeGtk::extraFullScreenStyleSheet):
1692         * platform/gtk/RenderThemeGtk.h:
1693
1694 2011-08-04  Pavel Feldman  <pfeldman@google.com>
1695
1696         Web Inspector: Rename sourceId -> scriptId in the protocol and the source code.
1697         https://bugs.webkit.org/show_bug.cgi?id=65682
1698
1699         Reviewed by Yury Semikhatsky.
1700
1701         * inspector/InjectedScriptSource.js:
1702         ():
1703         * inspector/Inspector.json:
1704         * inspector/InspectorConsoleAgent.cpp:
1705         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1706         * inspector/InspectorConsoleAgent.h:
1707         * inspector/InspectorConsoleInstrumentation.h:
1708         (WebCore::InspectorInstrumentation::addMessageToConsole):
1709         * inspector/InspectorDOMAgent.cpp:
1710         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1711         * inspector/InspectorDebuggerAgent.cpp:
1712         (WebCore::parseLocation):
1713         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1714         (WebCore::InspectorDebuggerAgent::continueToLocation):
1715         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1716         (WebCore::InspectorDebuggerAgent::setScriptSource):
1717         (WebCore::InspectorDebuggerAgent::getScriptSource):
1718         (WebCore::InspectorDebuggerAgent::didParseSource):
1719         * inspector/InspectorDebuggerAgent.h:
1720         * inspector/InspectorInstrumentation.cpp:
1721         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1722         * inspector/InspectorInstrumentation.h:
1723         * inspector/ScriptDebugListener.h:
1724         * inspector/front-end/DebuggerModel.js:
1725         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
1726         (WebInspector.DebuggerModel.prototype.queryScripts):
1727         (WebInspector.DebuggerModel.prototype.setScriptSource):
1728         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1729         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1730         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1731         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
1732         * inspector/front-end/DebuggerPresentationModel.js:
1733         (WebInspector.DebuggerPresentationModel.prototype.registerAnchor):
1734         (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
1735         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
1736         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
1737         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didGetScriptLocation):
1738         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
1739         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1740         (WebInspector.DebuggerPresentationModel.prototype.set _debuggerPaused):
1741         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1742         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1743         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
1744         (WebInspector.PresenationCallFrame):
1745         (WebInspector.PresenationCallFrame.prototype.sourceLine):
1746         * inspector/front-end/EventListenersSidebarPane.js:
1747         (.):
1748         ():
1749         * inspector/front-end/Script.js:
1750         (WebInspector.Script):
1751         (WebInspector.Script.prototype.requestSource):
1752         (WebInspector.Script.prototype.editSource):
1753         * inspector/front-end/SourceFile.js:
1754         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
1755         (WebInspector.RawSourceCode.prototype.forceLoadContent):
1756         (WebInspector.RawSourceCode.prototype._concatenateScriptsContent):
1757
1758 2011-08-04  Tommy Widenflycht  <tommyw@google.com>
1759
1760         MediaStream API: Rename StreamEvent to MediaStreamEvent
1761         https://bugs.webkit.org/show_bug.cgi?id=65669
1762
1763         Reviewed by Tony Gentilcore.
1764
1765         * CMakeLists.txt:
1766         * CodeGenerators.pri:
1767         * DerivedSources.cpp:
1768         * DerivedSources.make:
1769         * GNUmakefile.list.am:
1770         * WebCore.gypi:
1771         * WebCore.pro:
1772         * WebCore.vcproj/WebCore.vcproj:
1773         * WebCore.xcodeproj/project.pbxproj:
1774         * bindings/js/JSEventCustom.cpp:
1775         (WebCore::toJS):
1776         * bindings/v8/custom/V8EventCustom.cpp:
1777         (WebCore::toV8):
1778         * dom/DOMAllInOne.cpp:
1779         * dom/Event.cpp:
1780         (WebCore::Event::isMediaStreamEvent):
1781         * dom/Event.h:
1782         * p2p/MediaStreamEvent.cpp: Renamed from Source/WebCore/dom/StreamEvent.cpp.
1783         (WebCore::MediaStreamEvent::create):
1784         (WebCore::MediaStreamEvent::MediaStreamEvent):
1785         (WebCore::MediaStreamEvent::~MediaStreamEvent):
1786         (WebCore::MediaStreamEvent::initMediaStreamEvent):
1787         (WebCore::MediaStreamEvent::stream):
1788         * p2p/MediaStreamEvent.h: Renamed from Source/WebCore/dom/StreamEvent.h.
1789         (WebCore::MediaStreamEvent::isMediaStreamEvent):
1790         * p2p/MediaStreamEvent.idl: Renamed from Source/WebCore/dom/StreamEvent.idl.
1791         * p2p/PeerConnection.cpp:
1792         (WebCore::PeerConnection::dispatchStreamEvent):
1793
1794 2011-08-02  Hans Wennborg  <hans@chromium.org>
1795
1796         IndexedDB: Fix index data invalidation bugs.
1797         https://bugs.webkit.org/show_bug.cgi?id=65547
1798
1799         Reviewed by Tony Chang.
1800
1801         The function that checks whether a key exists in an index failed
1802         to check whether that key was still valid or not.
1803
1804         Deleting a record from an object store must also delete its exists
1805         entry, thus invalidating index keys pointing to that record.
1806
1807         Test: storage/indexeddb/index-unique.html
1808
1809         * storage/IDBLevelDBBackingStore.cpp:
1810         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
1811         (WebCore::findKeyInIndex):
1812         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
1813         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
1814         (WebCore::CursorOptions::IndexKeyCursorImpl::loadCurrentRow):
1815
1816 2011-08-04  Alexandru Chiculita  <achicu@adobe.com>
1817
1818         Move PODIntervalTree to Source/WebCore/platform
1819         https://bugs.webkit.org/show_bug.cgi?id=65667
1820
1821         It seems the files were not part of any project, so no project files were modified.
1822
1823         Reviewed by Adam Barth.
1824
1825         No new tests, just moving files from one folder to the other.
1826
1827         * platform/PODArena.h: Renamed from Source/WebCore/platform/graphics/gpu/PODArena.h.
1828         (WebCore::PODArena::Allocator::~Allocator):
1829         (WebCore::PODArena::FastMallocAllocator::create):
1830         (WebCore::PODArena::FastMallocAllocator::allocate):
1831         (WebCore::PODArena::FastMallocAllocator::free):
1832         (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
1833         (WebCore::PODArena::create):
1834         (WebCore::PODArena::allocateObject):
1835         (WebCore::PODArena::~PODArena):
1836         (WebCore::PODArena::PODArena):
1837         (WebCore::PODArena::minAlignment):
1838         (WebCore::PODArena::allocateBase):
1839         (WebCore::PODArena::roundUp):
1840         (WebCore::PODArena::Chunk::Chunk):
1841         (WebCore::PODArena::Chunk::~Chunk):
1842         (WebCore::PODArena::Chunk::allocate):
1843         * platform/PODInterval.h: Renamed from Source/WebCore/platform/graphics/gpu/PODInterval.h.
1844         (WebCore::PODInterval::PODInterval):
1845         (WebCore::PODInterval::low):
1846         (WebCore::PODInterval::high):
1847         (WebCore::PODInterval::data):
1848         (WebCore::PODInterval::overlaps):
1849         (WebCore::PODInterval::operator<):
1850         (WebCore::PODInterval::operator==):
1851         (WebCore::PODInterval::maxHigh):
1852         (WebCore::PODInterval::setMaxHigh):
1853         (WebCore::PODInterval::toString):
1854         * platform/PODIntervalTree.h: Renamed from Source/WebCore/platform/graphics/gpu/PODIntervalTree.h.
1855         (WebCore::PODIntervalTree::PODIntervalTree):
1856         (WebCore::PODIntervalTree::allOverlaps):
1857         (WebCore::PODIntervalTree::createInterval):
1858         (WebCore::PODIntervalTree::checkInvariants):
1859         (WebCore::PODIntervalTree::init):
1860         (WebCore::PODIntervalTree::searchForOverlapsFrom):
1861         (WebCore::PODIntervalTree::updateNode):
1862         (WebCore::PODIntervalTree::checkInvariantsFromNode):
1863         * platform/PODRedBlackTree.h: Renamed from Source/WebCore/platform/graphics/gpu/PODRedBlackTree.h.
1864         (WebCore::PODRedBlackTree::Visitor::~Visitor):
1865         (WebCore::PODRedBlackTree::PODRedBlackTree):
1866         (WebCore::PODRedBlackTree::~PODRedBlackTree):
1867         (WebCore::PODRedBlackTree::add):
1868         (WebCore::PODRedBlackTree::remove):
1869         (WebCore::PODRedBlackTree::contains):
1870         (WebCore::PODRedBlackTree::visitInorder):
1871         (WebCore::PODRedBlackTree::size):
1872         (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
1873         (WebCore::PODRedBlackTree::checkInvariants):
1874         (WebCore::PODRedBlackTree::dump):
1875         (WebCore::PODRedBlackTree::setVerboseDebugging):
1876         (WebCore::PODRedBlackTree::Node::Node):
1877         (WebCore::PODRedBlackTree::Node::~Node):
1878         (WebCore::PODRedBlackTree::Node::color):
1879         (WebCore::PODRedBlackTree::Node::setColor):
1880         (WebCore::PODRedBlackTree::Node::data):
1881         (WebCore::PODRedBlackTree::Node::copyFrom):
1882         (WebCore::PODRedBlackTree::Node::left):
1883         (WebCore::PODRedBlackTree::Node::setLeft):
1884         (WebCore::PODRedBlackTree::Node::right):
1885         (WebCore::PODRedBlackTree::Node::setRight):
1886         (WebCore::PODRedBlackTree::Node::parent):
1887         (WebCore::PODRedBlackTree::Node::setParent):
1888         (WebCore::PODRedBlackTree::root):
1889         (WebCore::PODRedBlackTree::updateNode):
1890         (WebCore::PODRedBlackTree::treeSearch):
1891         (WebCore::PODRedBlackTree::treeSearchNormal):
1892         (WebCore::PODRedBlackTree::treeSearchFullComparisons):
1893         (WebCore::PODRedBlackTree::treeInsert):
1894         (WebCore::PODRedBlackTree::treeSuccessor):
1895         (WebCore::PODRedBlackTree::treeMinimum):
1896         (WebCore::PODRedBlackTree::propagateUpdates):
1897         (WebCore::PODRedBlackTree::leftRotate):
1898         (WebCore::PODRedBlackTree::rightRotate):
1899         (WebCore::PODRedBlackTree::insertNode):
1900         (WebCore::PODRedBlackTree::deleteFixup):
1901         (WebCore::PODRedBlackTree::deleteNode):
1902         (WebCore::PODRedBlackTree::visitInorderImpl):
1903         (WebCore::PODRedBlackTree::Counter::Counter):
1904         (WebCore::PODRedBlackTree::Counter::visit):
1905         (WebCore::PODRedBlackTree::Counter::count):
1906         (WebCore::PODRedBlackTree::checkInvariantsFromNode):
1907         (WebCore::PODRedBlackTree::logIfVerbose):
1908         (WebCore::PODRedBlackTree::dumpFromNode):
1909
1910 2011-08-03  Alice Boxhall  <aboxhall@chromium.org>
1911
1912         An element with role=textbox should have settable AXValue unless read-only
1913         https://bugs.webkit.org/show_bug.cgi?id=65664
1914
1915         Reviewed by Chris Fleizach.
1916
1917         * accessibility/AccessibilityRenderObject.cpp:
1918         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
1919         Return true for non-native text field with aria-readonly not set.
1920
1921 2011-08-03  Luke Macpherson   <macpherson@chromium.org>
1922
1923         Clean up value clamping in CSSStyleSelector.
1924         https://bugs.webkit.org/show_bug.cgi?id=65588
1925
1926         Reviewed by Darin Adler.
1927
1928         No new tests / trivial code cleanup only.
1929
1930         * css/CSSStyleSelector.cpp:
1931         (WebCore::CSSStyleSelector::applyProperty):
1932         Replace (unsigned int)primitiveValue->getDoubleValue() with primtiveValue->getValue<unsigned>() for correct clamping.
1933         Replace clampToInteger(primitiveValue->getDoubleValue()) with primitiveValue->getIntValue().
1934
1935 2011-08-03  Kent Tamura  <tkent@chromium.org>
1936
1937         Fix incorrect checks for HTMLMediaElement
1938         https://bugs.webkit.org/show_bug.cgi?id=65590
1939
1940         Reviewed by Dimitri Glazkov.
1941
1942         <video> and <audio> can be an HTMLElement instance instead of
1943         HTMLMediaElement if MediaPlayer::isAvailable() returns false or
1944         the media feature is disabled at runtime.
1945
1946         * html/HTMLSourceElement.cpp:
1947         (WebCore::HTMLSourceElement::insertedIntoTree):
1948         (WebCore::HTMLSourceElement::willRemove):
1949         * html/HTMLTrackElement.cpp:
1950         (WebCore::HTMLTrackElement::insertedIntoTree):
1951         (WebCore::HTMLTrackElement::willRemove):
1952         * html/shadow/MediaControlElements.cpp:
1953         (WebCore::toParentMediaElement):
1954         * page/FrameView.cpp:
1955         (WebCore::FrameView::updateWidget):
1956         * platform/efl/RenderThemeEfl.cpp:
1957         (WebCore::RenderThemeEfl::paintMediaMuteButton):
1958         * platform/gtk/RenderThemeGtk.cpp:
1959         (WebCore::getMediaElementFromRenderObject):
1960         * rendering/RenderThemeMac.mm:
1961         (WebCore::RenderThemeMac::paintMediaSliderTrack):
1962         * rendering/RenderThemeWinCE.cpp:
1963         (WebCore::mediaElementParent):
1964
1965 2011-08-03  Sailesh Agrawal  <sail@chromium.org>
1966
1967         Chromium Mac: Make ScrollbarOverlayUtilitiesChromiumMac.h c++ compatible
1968         https://bugs.webkit.org/show_bug.cgi?id=65659
1969
1970         Reviewed by James Robinson.
1971
1972         ScrollbarOverlayUtilitiesChromiumMac.h couldn't be included from pure c++ code because it used NSInteger. I fixed this by checking for __OBJC__ before using NSInteger.
1973
1974         Currently no pure c++ files are including ScrollbarOverlayUtilitiesChromiumMac.h but this will change in future patches from jam@chromium.org.
1975
1976         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
1977         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
1978         (wkScrollbarPainterControllerStyle):
1979         (wkSetScrollbarPainterControllerStyle):
1980
1981 2011-08-03  Luke Macpherson   <macpherson@chromium.org>
1982
1983         Support cast between CSSPrimitiveValue and EBoxSizing, use in CSSStyleSelector.
1984         https://bugs.webkit.org/show_bug.cgi?id=65657
1985
1986         Reviewed by Simon Fraser.
1987
1988         No new tests / refactoring only.
1989
1990         * css/CSSPrimitiveValueMappings.h:
1991         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1992         Implement cast from EBoxSizing.
1993         (WebCore::CSSPrimitiveValue::operator EBoxSizing):
1994         Implement cast to EBoxSizing.
1995         * css/CSSStyleSelector.cpp:
1996         (WebCore::CSSStyleSelector::applyProperty):
1997         Use appropriate macro to simplify code using cast.
1998
1999 2011-08-03  Ian Henderson  <ianh@apple.com>
2000
2001         Draw rectangular box shadow for elements with border-radius if no corners are visible
2002         https://bugs.webkit.org/show_bug.cgi?id=65006
2003
2004         Reviewed by Simon Fraser.
2005
2006         Change "unroundClippedCorners" to "allCornersClippedOut" and use it to
2007         determine when the corners' influence affects the blurred shadow in
2008         the current drawing region.
2009
2010         Test: fast/box-shadow/box-shadow-clipped-slices.html
2011
2012         * rendering/InlineFlowBox.cpp:
2013         (WebCore::InlineFlowBox::paintBoxShadow): Pass PaintInfo through to
2014         RenderBoxModelObject::paintBoxShadow.
2015         (WebCore::InlineFlowBox::paintBoxDecorations): Ditto.
2016         * rendering/InlineFlowBox.h:
2017         * rendering/RenderBox.cpp:
2018         (WebCore::RenderBox::paintBoxDecorations): Ditto.
2019         * rendering/RenderBoxModelObject.cpp:
2020         (WebCore::allCornersClippedOut): Determines whether the bounding rects
2021         for any of the given rounded rect's corners intersects the clip rect.
2022         (WebCore::RenderBoxModelObject::paintBorder): Instead of "unrounding"
2023         any corner outside the clip rect, unround all corners at once, and
2024         only if they are all outside the clip rect.
2025         (WebCore::RenderBoxModelObject::paintBoxShadow): Determine whether any
2026         corner will influence shadow drawing using allCornersClippedOut on the
2027         influenceRect, whose corners extend past the fillRect's corners by the
2028         blur radius and inside the fillRect's corners by the blur radius.
2029         * rendering/RenderBoxModelObject.h:
2030         * rendering/RenderFieldset.cpp:
2031         (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
2032         RenderBoxModelObject::paintBoxShadow.
2033         * rendering/RenderTable.cpp:
2034         (WebCore::RenderTable::paintBoxDecorations): Ditto.
2035         * rendering/RenderTableCell.cpp:
2036         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
2037
2038 2011-08-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
2039
2040         [Qt][Texmap][REGRESSION] http://webkit.org/blog-files/transform-style.html doesn't show composited content
2041         https://bugs.webkit.org/show_bug.cgi?id=65629
2042
2043         Reviewed by Benjamin Poulain.
2044
2045         Some non-ES2 initialization was wrongfully #ifdefed in CPU(X86) and thus compiled-out.
2046         When put it in the correct #ifdef, composited layers which require an intermediate buffer
2047         work again.
2048
2049         No new tests. Existing opacity tests in LayoutTests/compositing test this.
2050
2051         * platform/graphics/opengl/TextureMapperGL.cpp:
2052         (WebCore::BitmapTextureGL::bind):
2053
2054 2011-08-03  Mark Rowe  <mrowe@apple.com>
2055
2056         Bring some order to FeatureDefines.xcconfig to make it easier to follow.
2057
2058         Reviewed by Sam Weinig.
2059
2060         * Configurations/FeatureDefines.xcconfig:
2061
2062 2011-08-03  Mark Rowe  <mrowe@apple.com>
2063
2064         Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
2065
2066         Reviewed by Dave Kilzer.
2067
2068         * Configurations/FeatureDefines.xcconfig:
2069
2070 2011-08-02  Adrienne Walker  <enne@google.com>
2071
2072         [chromium] Fix issue where switching composited tabs evicts root textures
2073         https://bugs.webkit.org/show_bug.cgi?id=65562
2074
2075         Reviewed by James Robinson.
2076
2077         LayerTilerChromium::protectTileTextures was hard-coding texture sizes
2078         and texture formats. Because this didn't always match textures' actual
2079         sizes and formats, they weren't getting protected during eviction.
2080
2081         * platform/graphics/chromium/LayerTilerChromium.cpp:
2082         (WebCore::LayerTilerChromium::protectTileTextures):
2083
2084 2011-08-03  Ryosuke Niwa  <rniwa@webkit.org>
2085
2086         select-all, copy, paste of specialAncestorElements (e.g. pre, h1, etc) nests the element inside itself
2087         https://bugs.webkit.org/show_bug.cgi?id=26483
2088
2089         Reviewed by Enrica Casucci.
2090
2091         The bug was caused by WebKit serializing pre, h1, etc... to retain structure and appearance when copying
2092         rich content and pasting did not remove such nodes wrapping the copied contents.
2093
2094         Fixed the bug by extending r81887 and r83322 to remove those elements from where WebKit pastes into.
2095
2096         Test: editing/pasteboard/copy-paste-text-in-h1.html
2097
2098         * editing/ReplaceSelectionCommand.cpp:
2099         (WebCore::nodeHasAttributesToPreserve): Extracted from isInlineNodeWithStyle.
2100         (WebCore::isInlineNodeWithStyle): Calls nodeHasAttributesToPreserve.
2101         (WebCore::ReplaceSelectionCommand::doApply): Calls ancestorToRetainStructureAndAppearance.
2102         Remove nodes copied by ancestorToRetainStructureAndAppearance at insertionPos before pasting the fragment.
2103         * editing/markup.cpp:
2104         (WebCore::ancestorToRetainStructureAndAppearance): Takes ShouldIncludeParagraphSeparators.
2105         * editing/markup.h:
2106
2107 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
2108
2109         Remove LegacyDefaultOptionalArguments flag from Console.idl
2110         https://bugs.webkit.org/show_bug.cgi?id=65569
2111
2112         Reviewed by Adam Barth.
2113
2114         No new tests, all existing tests pass.
2115
2116         * page/Console.idl:
2117
2118 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
2119
2120         Remove LegacyDefaultOptionalArguments flag from HTML DOM IDL files
2121         https://bugs.webkit.org/show_bug.cgi?id=65338
2122
2123         Reviewed by Adam Barth.
2124
2125         * html/DOMFormData.idl:
2126         * html/DOMTokenList.idl:
2127         * html/DOMURL.idl:
2128         * html/HTMLAllCollection.idl:
2129         * html/HTMLAnchorElement.idl:
2130         * html/HTMLAudioElement.idl:
2131         * html/HTMLButtonElement.idl:
2132         * html/HTMLCanvasElement.idl:
2133         * html/HTMLCollection.idl:
2134         * html/HTMLDivElement.idl:
2135         * html/HTMLDocument.idl:
2136         * html/HTMLElement.idl:
2137         * html/HTMLFieldSetElement.idl:
2138         * html/HTMLInputElement.idl:
2139         * html/HTMLKeygenElement.idl:
2140         * html/HTMLMediaElement.idl:
2141         * html/HTMLObjectElement.idl:
2142         * html/HTMLOptionsCollection.idl:
2143         * html/HTMLOutputElement.idl:
2144         * html/HTMLSelectElement.idl:
2145         * html/HTMLTableElement.idl:
2146         * html/HTMLTableRowElement.idl:
2147         * html/HTMLTableSectionElement.idl:
2148         * html/HTMLTextAreaElement.idl:
2149         * html/HTMLVideoElement.idl:
2150         * html/TimeRanges.idl:
2151
2152 2011-08-03  Jeffrey Pfau  <jpfau@apple.com>
2153
2154         Make atomic XML token
2155         https://bugs.webkit.org/show_bug.cgi?id=65639
2156
2157         Reviewed by Adam Barth.
2158
2159         Create a shared AtomicMarkupTokenBase that is shared by AtomicHTMLToken and the new AtomicXMLToken
2160
2161         * html/parser/HTMLToken.h:
2162         (WebCore::HTMLToken::setForceQuirks):
2163         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2164         (WebCore::AtomicHTMLToken::forceQuirks):
2165         * html/parser/HTMLTokenizer.cpp:
2166         (WebCore::::nameForAttribute):
2167         (WebCore::::usesName):
2168         (WebCore::::usesAttributes):
2169         * xml/parser/MarkupTokenBase.h:
2170         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
2171         (WebCore::AtomicMarkupTokenBase::type):
2172         (WebCore::AtomicMarkupTokenBase::name):
2173         (WebCore::AtomicMarkupTokenBase::setName):
2174         (WebCore::AtomicMarkupTokenBase::selfClosing):
2175         (WebCore::AtomicMarkupTokenBase::getAttributeItem):
2176         (WebCore::AtomicMarkupTokenBase::attributes):
2177         (WebCore::AtomicMarkupTokenBase::takeAtributes):
2178         (WebCore::AtomicMarkupTokenBase::characters):
2179         (WebCore::AtomicMarkupTokenBase::comment):
2180         (WebCore::AtomicMarkupTokenBase::publicIdentifier):
2181         (WebCore::AtomicMarkupTokenBase::systemIdentifier):
2182         (WebCore::::initializeAttributes):
2183         * xml/parser/XMLToken.h:
2184         (WebCore::AtomicXMLToken::AtomicXMLToken):
2185         (WebCore::AtomicXMLToken::prefix):
2186         (WebCore::AtomicXMLToken::target):
2187         (WebCore::AtomicXMLToken::data):
2188         (WebCore::AtomicXMLToken::xmlVersion):
2189         (WebCore::AtomicXMLToken::xmlStandalone):
2190         * xml/parser/XMLTokenizer.cpp:
2191         (WebCore::::nameForAttribute):
2192         (WebCore::::usesName):
2193         (WebCore::::usesAttributes):
2194
2195 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
2196
2197         Remove LegacyDefaultOptionalArguments flag from geolocation IDL files
2198         https://bugs.webkit.org/show_bug.cgi?id=65355
2199
2200         Reviewed by Adam Barth.
2201
2202         No new tests, all existing tests pass.
2203
2204         * page/Geolocation.idl:
2205         * page/PositionCallback.idl:
2206         * page/PositionErrorCallback.idl:
2207
2208 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
2209
2210         Remove LegacyDefaultOptionalArguments flag from DOMSelection.idl
2211         https://bugs.webkit.org/show_bug.cgi?id=65566
2212
2213         Reviewed by Adam Barth.
2214
2215         No new tests, all existing tests pass.
2216
2217         * page/DOMSelection.idl:
2218
2219 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
2220
2221         Remove LegacyDefaultOptionalArguments flag from Location.idl
2222         https://bugs.webkit.org/show_bug.cgi?id=65565
2223
2224         Reviewed by Darin Adler.
2225
2226         No new tests, all existing tests pass.
2227
2228         * page/Location.idl:
2229
2230 2011-08-03  Sailesh Agrawal  <sail@chromium.org>
2231
2232         Chromium Mac: Fix position of search tickmarks
2233         https://bugs.webkit.org/show_bug.cgi?id=65575
2234
2235         This change adjusts the position of search tickmarks so that they are correctly centered.
2236
2237         Also, insetting the tickmark rect by 5 pixels caused tickmarks on the overlay scrollbar to look very small. I changed this to inset by 4 pixels instead. The tickmark is the same width as the overlay scrollbar which looks much better.
2238
2239         Reviewed by James Robinson.
2240
2241         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2242         (WebCore::ScrollbarThemeChromiumMac::paint):
2243
2244 2011-08-03  Sailesh Agrawal  <sail@chromium.org>
2245
2246         Chromium Mac: Make sure scrollbars flash when web page loads
2247         https://bugs.webkit.org/show_bug.cgi?id=65586
2248
2249         On slow web pages scrollbars wouldn't flash when the page was done loading. The problem was that we were flashing the scrollbar 0.1 second after the load operation had started. If the page was slow to load then we might not have scrollbars to flash. To work around this I added an extra check to make sure that we had indeed finished loading the page before flashing the scrollbars.
2250
2251         Reviewed by James Robinson.
2252
2253         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2254         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
2255
2256 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
2257
2258         Remove LegacyDefaultOptionalArguments flag from navigator IDL files
2259         https://bugs.webkit.org/show_bug.cgi?id=65370
2260
2261         Reviewed by Adam Barth.
2262
2263         * page/Navigator.idl:
2264         * page/NavigatorUserMediaErrorCallback.idl:
2265         * page/NavigatorUserMediaSuccessCallback.idl:
2266
2267 2011-08-03  Anders Carlsson  <andersca@apple.com>
2268
2269         webarchive/loading/missing-data.html is failing on Mac
2270         https://bugs.webkit.org/show_bug.cgi?id=63507
2271
2272         Reviewed by Adam Barth.
2273
2274         When loading a main resource from a web archive, make sure that the working URL is actually
2275         the URL of the resource, and not the URL of the web archive itself.
2276
2277         * loader/FrameLoader.cpp:
2278         (WebCore::FrameLoader::receivedFirstData):
2279
2280 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
2281
2282         Remove LegacyDefaultOptionalArguments flag from DOMWindow.idl
2283         https://bugs.webkit.org/show_bug.cgi?id=65353
2284
2285         Reviewed by Adam Barth.
2286
2287         No new tests, all existing tests pass.
2288
2289         * bindings/scripts/CodeGeneratorJS.pm:
2290         (GenerateImplementation):
2291         * bindings/scripts/CodeGeneratorV8.pm:
2292         (GenerateFunctionCallback):
2293         * page/DOMWindow.idl:
2294
2295 2011-08-03  Jeff Miller  <jeffm@apple.com>
2296
2297         Fix Chromimum and Qt builds after r92308.
2298
2299         * config.h: Don't try to include WebCoreHeaderDetection.h for Chromimum and Qt.
2300
2301 2011-08-03  Jeff Miller  <jeffm@apple.com>
2302
2303         Generate WebCoreHeaderDetection.h on Windows to define HAVE_AVCF
2304         https://bugs.webkit.org/show_bug.cgi?id=65634
2305         
2306         AVFoundation support on Windows will (eventually) be predicated on the
2307         availability of AVFoundationCF headers and libraries in the WebKit Support
2308         Libraries, so we test for the existence of one of the header files (AVCFBase.h)
2309         to determine whether to AVCF is available.
2310         
2311         For now, even if AVFoundationCF is available, leave WTF_USE_AVFOUNDATION off, since
2312         it's not ready to be turned on yet (which is covered by http://webkit.org/b/65400).
2313         
2314         Ideally, we would generate WebCoreHeaderDetection.h on all platforms so we could
2315         include it unconditionally in WebCore's config.h, but unfortunately the Mac-only file
2316         ExportFileGenerator.cpp depends on WTF_USE_AVFOUNDATION being set correctly, and since this
2317         .cpp file is also generated it doesn't have access to WebCoreHeaderDetection.h.
2318
2319         Reviewed by Adam Roben.
2320
2321         No change in functionality, so new tests.
2322
2323         * DerivedSources.make: Add rule to generate WebCoreHeaderDetection.h to set HAVE_AVCF on Windows.
2324         * config.h: Include WebCoreHeaderDetection.h on Windows, check for HAVE(AVCF) but always leave WTF_USE_AVFOUNDATION off on Windows for now.
2325
2326 2011-08-03  Tommy Widenflycht  <tommyw@google.com>
2327
2328         MediaStream API: Implement PeerConnection and SignalingCallback
2329         https://bugs.webkit.org/show_bug.cgi?id=65101
2330
2331         Reviewed by Adam Barth.
2332
2333         LayoutTests will be provided by a follow-up CL, see <https://bugs.webkit.org/show_bug.cgi?id=56587>.
2334
2335         * CMakeLists.txt:
2336         * CodeGenerators.pri:
2337         * DerivedSources.cpp:
2338         * DerivedSources.make:
2339         * GNUmakefile.am:
2340         * GNUmakefile.list.am:
2341         * UseJSC.cmake:
2342         * WebCore.gyp/WebCore.gyp:
2343         * WebCore.gypi:
2344         * WebCore.pro:
2345         * WebCore.vcproj/WebCore.vcproj:
2346         * WebCore.xcodeproj/project.pbxproj:
2347         * bindings/generic/RuntimeEnabledFeatures.h:
2348         (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
2349         * bindings/js/JSBindingsAllInOne.cpp:
2350         * bindings/js/JSPeerConnectionCustom.cpp: Copied from Source/WebCore/page/MediaStreamClient.h.
2351         (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
2352         * bindings/v8/V8DOMWrapper.cpp:
2353         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2354         * bindings/v8/custom/V8PeerConnectionCustom.cpp: Added.
2355         (WebCore::V8PeerConnection::constructorCallback):
2356         * dom/DispatchTask.h: Added.
2357         (WebCore::SimpleDispatchTask::create):
2358         (WebCore::SimpleDispatchTask::performTask):
2359         (WebCore::SimpleDispatchTask::SimpleDispatchTask):
2360         (WebCore::DispatchTask::create):
2361         (WebCore::DispatchTask::performTask):
2362         (WebCore::DispatchTask::DispatchTask):
2363         * dom/EventNames.h:
2364         * dom/EventTarget.cpp:
2365         (WebCore::EventTarget::toPeerConnection):
2366         * dom/EventTarget.h:
2367         * p2p/PeerConnection.cpp: Added.
2368         (WebCore::PeerConnection::create):
2369         (WebCore::PeerConnection::PeerConnection):
2370         (WebCore::PeerConnection::init):
2371         (WebCore::PeerConnection::~PeerConnection):
2372         (WebCore::PeerConnection::localStreams):
2373         (WebCore::PeerConnection::remoteStreams):
2374         (WebCore::PeerConnection::processSignalingMessage):
2375         (WebCore::PeerConnection::send):
2376         (WebCore::PeerConnection::addStream):
2377         (WebCore::PeerConnection::removeStream):
2378         (WebCore::PeerConnection::close):
2379         (WebCore::PeerConnection::onNegotiationStarted):
2380         (WebCore::PeerConnection::onNegotiationDone):
2381         (WebCore::PeerConnection::streamAdded):
2382         (WebCore::PeerConnection::streamRemoved):
2383         (WebCore::PeerConnection::onMessage):
2384         (WebCore::PeerConnection::onSignalingMessage):
2385         (WebCore::PeerConnection::toPeerConnection):
2386         (WebCore::PeerConnection::scriptExecutionContext):
2387         (WebCore::PeerConnection::eventTargetData):
2388         (WebCore::PeerConnection::ensureEventTargetData):
2389         (WebCore::PeerConnection::postMessageEvent):
2390         (WebCore::PeerConnection::postSignalingEvent):
2391         (WebCore::PeerConnection::postStreamAddedEvent):
2392         (WebCore::PeerConnection::postStreamRemovedEvent):
2393         (WebCore::PeerConnection::postSimpleEvent):
2394         (WebCore::PeerConnection::postStartNegotiationTask):
2395         (WebCore::PeerConnection::dispatchMessageEvent):
2396         (WebCore::PeerConnection::dispatchSignalingEvent):
2397         (WebCore::PeerConnection::dispatchStreamEvent):
2398         (WebCore::PeerConnection::dispatchSimpleEvent):
2399         (WebCore::PeerConnection::dispatchStartNegotiationTask):
2400         * p2p/PeerConnection.h: Added.
2401         (WebCore::PeerConnection::readyState):
2402         (WebCore::PeerConnection::refEventTarget):
2403         (WebCore::PeerConnection::derefEventTarget):
2404         * p2p/PeerConnection.idl: Added.
2405         * p2p/SignalingCallback.h: Copied from Source/WebCore/page/MediaStreamClient.h.
2406         (WebCore::SignalingCallback::~SignalingCallback):
2407         * p2p/SignalingCallback.idl: Added.
2408         * page/DOMWindow.idl:
2409         * page/MediaStreamClient.h:
2410         * page/MediaStreamController.cpp:
2411         (WebCore::MediaStreamController::MediaStreamController):
2412         (WebCore::MediaStreamController::unregisterFrameController):
2413         (WebCore::MediaStreamController::onSignalingMessage):
2414         (WebCore::MediaStreamController::frameToPagePeerConnectionId):
2415         (WebCore::MediaStreamController::processSignalingMessage):
2416         (WebCore::MediaStreamController::message):
2417         (WebCore::MediaStreamController::onMessage):
2418         (WebCore::MediaStreamController::addStream):
2419         (WebCore::MediaStreamController::onAddStream):
2420         (WebCore::MediaStreamController::removeStream):
2421         (WebCore::MediaStreamController::onRemoveStream):
2422         (WebCore::MediaStreamController::newPeerConnection):
2423         (WebCore::MediaStreamController::closePeerConnection):
2424         (WebCore::MediaStreamController::startNegotiation):
2425         (WebCore::MediaStreamController::onNegotiationStarted):
2426         (WebCore::MediaStreamController::onNegotiationDone):
2427         * page/MediaStreamController.h:
2428         * page/MediaStreamFrameController.cpp:
2429         (WebCore::MediaStreamFrameController::Request::isSignalingRequest):
2430         (WebCore::MediaStreamFrameController::createPeerConnection):
2431         (WebCore::MediaStreamFrameController::newPeerConnection):
2432         (WebCore::MediaStreamFrameController::closePeerConnection):
2433         (WebCore::MediaStreamFrameController::startNegotiation):
2434         (WebCore::MediaStreamFrameController::processSignalingMessage):
2435         (WebCore::MediaStreamFrameController::message):
2436         (WebCore::MediaStreamFrameController::addStream):
2437         (WebCore::MediaStreamFrameController::removeStream):
2438         (WebCore::MediaStreamFrameController::onMessage):
2439         (WebCore::MediaStreamFrameController::onAddStream):
2440         (WebCore::MediaStreamFrameController::onRemoveStream):
2441         (WebCore::MediaStreamFrameController::onSignalingMessage):
2442         (WebCore::MediaStreamFrameController::onNegotiationStarted):
2443         (WebCore::MediaStreamFrameController::onNegotiationDone):
2444         * page/MediaStreamFrameController.h:
2445         (WebCore::MediaStreamFrameController::ClientBase::isPeerConnection):
2446         (WebCore::MediaStreamFrameController::PeerConnectionClient::PeerConnectionClient):
2447         (WebCore::MediaStreamFrameController::PeerConnectionClient::~PeerConnectionClient):
2448         (WebCore::MediaStreamFrameController::PeerConnectionClient::isPeerConnection):
2449
2450 2011-08-03  Joseph Pecoraro  <joepeck@webkit.org>
2451
2452         Web Inspector: Remove InspectorFrontendHost load/saveSessionSetting
2453         https://bugs.webkit.org/show_bug.cgi?id=65582
2454
2455         Reviewed by Pavel Feldman.
2456
2457         Remove stale code. WebInspector.settings uses localStorage and
2458         handles the "debuggerEnabled" state. So remove the only remaining
2459         usage of load/saveSessionSetting.
2460
2461         * inspector/InspectorFrontendClient.h:
2462         * inspector/InspectorFrontendHost.cpp:
2463         * inspector/InspectorFrontendHost.h:
2464         * inspector/InspectorFrontendHost.idl:
2465         * inspector/front-end/InspectorFrontendHostStub.js:
2466         * inspector/front-end/ScriptsPanel.js:
2467         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
2468
2469 2011-08-03  Adam Barth  <abarth@webkit.org>
2470
2471         Crash in DocumentWriter::endIfNotLoadingMainResource
2472         https://bugs.webkit.org/show_bug.cgi?id=65581
2473
2474         Reviewed by Nate Chapin.
2475
2476         This function is poorly designed because isLoadingMainResource is a
2477         poor proxy for determing whether to flush/finish the parser.  Really,
2478         we should change how loads complete to match the model in HTML5, but
2479         that's pretty tricky.  In the meantime, this null check fixes the
2480         crash.
2481
2482         I'm sure there's another bug on file about this crash, but we've never
2483         been able to reproduce it.  Thanks to Berend-Jan Wever for the test
2484         case!
2485
2486         Test: fast/loader/reload-zero-byte-plugin.html
2487
2488         * loader/DocumentWriter.cpp:
2489         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
2490
2491 2011-08-03  Anders Carlsson  <andersca@apple.com>
2492
2493         WebCore images backing CG patterns should be released on the main thread
2494         https://bugs.webkit.org/show_bug.cgi?id=65630
2495
2496         Reviewed by Sam Weinig.
2497
2498         * platform/graphics/cg/PatternCG.cpp:
2499         (WebCore::patternReleaseOnMainThreadCallback):
2500         Deref the image.
2501
2502         (WebCore::patternReleaseCallback):
2503         Call callOnMainThread.
2504
2505 2011-08-03  Luke Macpherson   <macpherson@chromium.org>
2506
2507         Use appropriate macro for CSSPropertyImageRendering.
2508         https://bugs.webkit.org/show_bug.cgi?id=65594
2509
2510         Reviewed by Simon Fraser.
2511
2512         No new tests / trivial code cleanup only.
2513
2514         * css/CSSStyleSelector.cpp:
2515         (WebCore::CSSStyleSelector::applyProperty):
2516         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
2517
2518 2011-08-03  Dan Bernstein  <mitz@apple.com>
2519
2520         FontCache::getFontData() does not set the familyIndex to cAllFamiliesScanned if the last font is a custom font
2521         https://bugs.webkit.org/show_bug.cgi?id=65597
2522
2523         Reviewed by Simon Fraser.
2524
2525         No test added because behavior is unchanged, but this saves a call to getFontData().
2526
2527         * platform/graphics/FontCache.cpp:
2528         (WebCore::FontCache::getFontData): Eliminated early return inside the loop, allowing execution
2529         to continue and familyIndex to be set.
2530
2531 2011-08-03  Ryosuke Niwa  <rniwa@webkit.org>
2532
2533         Add RenderedPosition
2534         https://bugs.webkit.org/show_bug.cgi?id=65221
2535
2536         Reviewed by Hajime Morita.
2537
2538         Add the skeleton for RenderedPosition and use it in rootBoxForLine.
2539
2540         * CMakeLists.txt:
2541         * GNUmakefile.list.am:
2542         * WebCore.gypi:
2543         * WebCore.pro:
2544         * WebCore.vcproj/WebCore.vcproj:
2545         * WebCore.xcodeproj/project.pbxproj:
2546         * editing/EditingAllInOne.cpp:
2547         * editing/RenderedPosition.cpp: Added.
2548         (WebCore::RenderedPosition::RenderedPosition):
2549         * editing/RenderedPosition.h: Added.
2550         (WebCore::RenderedPosition::isNull):
2551         (WebCore::RenderedPosition::rootBox):
2552         (WebCore::RenderedPosition::RenderedPosition):
2553         * editing/visible_units.cpp:
2554         (WebCore::startPositionForLine):
2555         (WebCore::endPositionForLine):
2556         (WebCore::logicalStartPositionForLine):
2557         (WebCore::logicalEndPositionForLine):
2558
2559 2011-08-03  Roland Steiner  <rolandsteiner@chromium.org>
2560
2561         [V8] V8CSSRuleCustom.cpp: not all enum values are listed in switch statement
2562         https://bugs.webkit.org/show_bug.cgi?id=65598
2563
2564         Reviewed by Dimitri Glazkov.
2565
2566         Added UNKNOWN_RULE to the switch statement.
2567
2568         No new tests. (No semantic change)
2569
2570         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2571         (WebCore::toV8):
2572
2573 2011-08-03  Pavel Feldman  <pfeldman@google.com>
2574
2575         Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
2576         https://bugs.webkit.org/show_bug.cgi?id=65510
2577
2578         Reviewed by Yury Semikhatsky.
2579
2580         * WebCore.exp.in:
2581         * WebCore.order:
2582         * inspector/DOMNodeHighlighter.cpp:
2583         (WebCore::DOMNodeHighlighter::drawRectHighlight):
2584         * inspector/DOMNodeHighlighter.h:
2585         * inspector/Inspector.json:
2586         * inspector/InspectorController.cpp:
2587         (WebCore::InspectorController::drawHighlight):
2588         * inspector/InspectorController.h:
2589         * inspector/InspectorDOMAgent.cpp:
2590         (WebCore::InspectorDOMAgent::highlightRect):
2591         (WebCore::InspectorDOMAgent::hideHighlight):
2592         (WebCore::InspectorDOMAgent::drawHighlight):
2593         * inspector/InspectorDOMAgent.h:
2594         * inspector/front-end/ResourcesPanel.js:
2595         (WebInspector.FrameTreeElement.prototype.onselect):
2596         (WebInspector.FrameTreeElement.prototype.set hovered):
2597         * inspector/front-end/TimelinePanel.js:
2598         (WebInspector.TimelinePanel):
2599         (WebInspector.TimelinePanel.prototype._mouseOut):
2600         (WebInspector.TimelinePanel.prototype._mouseMove):
2601         (WebInspector.TimelinePanel.prototype._highlightRect):
2602         (WebInspector.TimelinePanel.prototype._hideRectHighlight):
2603         * inspector/front-end/inspector.js:
2604         (WebInspector.highlightDOMNode):
2605
2606 2011-08-03  Pavel Feldman  <pfeldman@google.com>
2607
2608         Web Inspector: make text in popover selectable + make popover re-appear faster.
2609         https://bugs.webkit.org/show_bug.cgi?id=65603
2610
2611         Reviewed by Yury Semikhatsky.
2612
2613         * inspector/front-end/Popover.js:
2614         (WebInspector.PopoverHelper.prototype.setTimeout):
2615         (WebInspector.PopoverHelper.prototype._mouseMove):
2616         (WebInspector.PopoverHelper.prototype._handleMouseAction):
2617         * inspector/front-end/popover.css:
2618         (.popover .content):
2619
2620 2011-08-03  Vsevolod Vlasov  <vsevik@chromium.org>
2621
2622         Web Inspector: Console scroll position should be saved when switching panels.
2623         https://bugs.webkit.org/show_bug.cgi?id=65607
2624
2625         Reviewed by Pavel Feldman.
2626
2627         * inspector/front-end/ConsoleView.js:
2628         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
2629         (WebInspector.ConsoleView.prototype.get scrollLeft):
2630         (WebInspector.ConsoleView.prototype.set scrollLeft):
2631         (WebInspector.ConsoleView.prototype.get scrollTop):
2632         (WebInspector.ConsoleView.prototype.set scrollTop):
2633         * inspector/front-end/Drawer.js:
2634         (WebInspector.Drawer.prototype.show):
2635         (WebInspector.Drawer.prototype._endStatusBarDragging):
2636         (WebInspector.Drawer.prototype.get scrollLeft):
2637         (WebInspector.Drawer.prototype.set scrollLeft):
2638         (WebInspector.Drawer.prototype.get scrollTop):
2639         (WebInspector.Drawer.prototype.set scrollTop):
2640
2641 2011-08-03  Philippe Normand  <pnormand@igalia.com>
2642
2643         libsoup-CRITICAL **: soup_message_io_pause: assertion `io != NULL' failed
2644         https://bugs.webkit.org/show_bug.cgi?id=64263
2645
2646         Reviewed by Martin Robinson.
2647
2648         Avoid any operation on not yet started messages and completed messages.
2649
2650         * platform/network/ResourceHandleInternal.h:
2651         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2652         * platform/network/soup/ResourceHandleSoup.cpp:
2653         (WebCore::finishedCallback):
2654         (WebCore::startHTTPRequest):
2655         (WebCore::ResourceHandle::platformSetDefersLoading):
2656
2657 2011-08-03  Jeremy Moskovich  <jeremy@chromium.org>
2658
2659         [Chromium] Fix OOP font loading to work on 10.6.6 and above.
2660         https://bugs.webkit.org/show_bug.cgi?id=65543
2661
2662         In 10.6.6 the function used to get the unique ID for an NSFont in the 
2663         renderer was changed so it fails in the sandbox (it now tries to access
2664         the on-disk font file). In order to work around this, we get the font
2665         ID from the browser process.
2666
2667         To speed things up, we introduce 2 levels of caching in WebKit. A font
2668         name cache where we can perform a quick lookup without the need for the
2669         font id and a font id cache which we can only lookup in after getting
2670         the unique ID from the browser process.
2671
2672         Reviewed by Kenneth Russell.
2673
2674         No new tests since this is not readily testable.
2675
2676         * platform/chromium/PlatformBridge.h:
2677         * platform/graphics/chromium/CrossProcessFontLoading.h:
2678         * platform/graphics/chromium/CrossProcessFontLoading.mm:
2679         (WebCore::MemoryActivatedFont::create):
2680         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
2681         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
2682
2683 2011-08-03  Hayato Ito  <hayato@chromium.org>
2684
2685         Make EventDispatchMediator RefCounted.
2686         https://bugs.webkit.org/show_bug.cgi?id=65529
2687
2688         Reviewed by Hajime Morita.
2689
2690         Make EventDispatchMediator RefCounted so that it can be enqueued into a
2691         ScopedEventQueue and called later.
2692         A necessary change for ScopedEventQueue should be addressed in another patch.
2693
2694         This is a minor update of r92256, which failed on chromium win builds.
2695
2696         No changes to functionality so no new tests.
2697
2698         * dom/Event.cpp:
2699         (WebCore::EventDispatchMediator::create):
2700         * dom/Event.h:
2701         * dom/EventDispatcher.cpp:
2702         (WebCore::EventDispatcher::dispatchEvent):
2703         * dom/EventDispatcher.h:
2704         * dom/KeyboardEvent.cpp:
2705         (WebCore::KeyboardEventDispatchMediator::create):
2706         * dom/KeyboardEvent.h:
2707         * dom/MouseEvent.cpp:
2708         (WebCore::MouseEventDispatchMediator::create):
2709         * dom/MouseEvent.h:
2710         * dom/Node.cpp:
2711         (WebCore::Node::dispatchEvent):
2712         (WebCore::Node::dispatchKeyEvent):
2713         (WebCore::Node::dispatchMouseEvent):
2714         (WebCore::Node::dispatchWheelEvent):
2715         * dom/WheelEvent.cpp:
2716         (WebCore::WheelEventDispatchMediator::create):
2717         * dom/WheelEvent.h:
2718
2719 2011-08-03  Pavel Feldman  <pfeldman@chromium.org>
2720
2721         Web Inspector: remove Node parameter from the InspectorClient::highlight
2722         https://bugs.webkit.org/show_bug.cgi?id=65549
2723
2724         Reviewed by Yury Semikhatsky.
2725
2726         * inspector/InspectorClient.h:
2727         * inspector/InspectorDOMAgent.cpp:
2728         (WebCore::InspectorDOMAgent::highlight):
2729         * loader/EmptyClients.h:
2730         (WebCore::EmptyInspectorClient::highlight):
2731
2732 2011-08-03  Antti Koivisto  <antti@apple.com>
2733
2734         https://bugs.webkit.org/show_bug.cgi?id=65599
2735         Image loads should trigger didFirstVisuallyNonEmptyLayout more easily
2736
2737         Reviewed by Dan Bernstein.
2738
2739         Tweak the heuristic pixel count so logo-sized images trigger didFirstVisuallyNonEmptyLayout.
2740
2741         * page/FrameView.h:
2742         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
2743
2744 2011-08-03  Takashi Toyoshima  <toyoshim@chromium.org>
2745
2746         WebSocket: Could not handle zero length text frame.
2747         https://bugs.webkit.org/show_bug.cgi?id=65592
2748
2749         Reviewed by Kent Tamura.
2750
2751         Test: http/tests/websocket/tests/hybi/zero-length-text.html
2752
2753         * websockets/WebSocketChannel.cpp:
2754         (WebCore::WebSocketChannel::processFrame):
2755
2756 2011-08-02  Pratik Solanki  <psolanki@apple.com>
2757
2758         Crash in ResourceResponse::platformCompare() with USE(CFNETWORK)
2759         https://bugs.webkit.org/show_bug.cgi?id=65584
2760
2761         Reviewed by David Kilzer.
2762
2763         * platform/network/cf/ResourceResponseCFNet.cpp:
2764         (WebCore::ResourceResponse::platformCompare): Don't call CFEqual with 0 as an argument.
2765
2766 2011-08-02  Takashi Toyoshima  <toyoshim@chromium.org>
2767
2768         WebSocket: Should be closed by receiving invalid continuation frame.
2769
2770         https://bugs.webkit.org/show_bug.cgi?id=65527
2771
2772         Reviewed by Kent Tamura.
2773
2774         Test: http/tests/websocket/tests/hybi/invalid-continuation.html
2775
2776         * websockets/WebSocketChannel.cpp:
2777         (WebCore::WebSocketChannel::processFrame):
2778
2779 2011-08-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2780
2781         Unreviewed, rolling out r92256.
2782         http://trac.webkit.org/changeset/92256
2783         https://bugs.webkit.org/show_bug.cgi?id=65593
2784
2785         Causing tons of crashes on the chromium win bots (Requested by
2786         jamesr on #webkit).
2787
2788         * dom/Event.cpp:
2789         * dom/Event.h:
2790         * dom/EventDispatcher.cpp:
2791         (WebCore::EventDispatcher::dispatchEvent):
2792         * dom/EventDispatcher.h:
2793         * dom/KeyboardEvent.cpp:
2794         * dom/KeyboardEvent.h:
2795         * dom/MouseEvent.cpp:
2796         * dom/MouseEvent.h:
2797         * dom/Node.cpp:
2798         (WebCore::Node::dispatchEvent):
2799         (WebCore::Node::dispatchKeyEvent):
2800         (WebCore::Node::dispatchMouseEvent):
2801         (WebCore::Node::dispatchWheelEvent):
2802         * dom/WheelEvent.cpp:
2803         * dom/WheelEvent.h:
2804
2805 2011-08-02  Hayato Ito  <hayato@chromium.org>
2806
2807         Make EventDispatchMediator RefCounted.
2808         https://bugs.webkit.org/show_bug.cgi?id=65529
2809
2810         Reviewed by Dimitri Glazkov.
2811
2812         Make EventDispatchMediator RefCounted so that it can be enqueued into a
2813         ScopedEventQueue and called later.
2814         A necessary change for ScopedEventQueue should be addressed in another patch.
2815
2816         No changes to functionality so no new tests.
2817
2818         * dom/Event.cpp:
2819         (WebCore::EventDispatchMediator::create):
2820         * dom/Event.h:
2821         * dom/EventDispatcher.cpp:
2822         (WebCore::EventDispatcher::dispatchEvent):
2823         * dom/EventDispatcher.h:
2824         * dom/KeyboardEvent.cpp:
2825         (WebCore::KeyboardEventDispatchMediator::create):
2826         * dom/KeyboardEvent.h:
2827         * dom/MouseEvent.cpp:
2828         (WebCore::MouseEventDispatchMediator::create):
2829         * dom/MouseEvent.h:
2830         * dom/Node.cpp:
2831         (WebCore::Node::dispatchEvent):
2832         (WebCore::Node::dispatchKeyEvent):
2833         (WebCore::Node::dispatchMouseEvent):
2834         (WebCore::Node::dispatchWheelEvent):
2835         * dom/WheelEvent.cpp:
2836         (WebCore::WheelEventDispatchMediator::create):
2837         * dom/WheelEvent.h:
2838
2839 2011-08-02  David Reveman  <reveman@chromium.org>
2840
2841         [Chromium] Use edge-distance method for layer anti-aliasing.
2842         https://bugs.webkit.org/show_bug.cgi?id=64942
2843
2844         Reviewed by James Robinson.
2845
2846         Use an edge distance based method instead of the current linear
2847         filtering method for producing anti-aliased edges on 3D transformed
2848         layers. This removes the outer border handling from TilingData as
2849         it's no longer needed for anti-aliasing.
2850
2851         Tests: platform/chromium/compositing/tiny-layer-rotated.html (existing)
2852                platform/chromium/compositing/huge-layer-rotated.html (existing)
2853                compositing/images/content-image-change.html (existing)
2854                TilingDataTest in webkit_unit_tests
2855
2856         * platform/graphics/chromium/LayerRendererChromium.cpp:
2857         (WebCore::screenMatrix):
2858         (WebCore::LayerRendererChromium::drawLayers):
2859         (WebCore::LayerRendererChromium::setDrawViewportRect):
2860         (WebCore::LayerRendererChromium::tilerProgramAA):
2861         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
2862         * platform/graphics/chromium/LayerRendererChromium.h:
2863         (WebCore::LayerRendererChromium::windowMatrix):
2864         * platform/graphics/chromium/LayerTilerChromium.cpp:
2865         (WebCore::LayerTilerChromium::setTileSize):
2866         (WebCore::LayerTilerChromium::tileLayerRect):
2867         (WebCore::LayerTilerChromium::invalidateRect):
2868         (WebCore::LayerTilerChromium::prepareToUpdate):
2869         (WebCore::LayerTilerChromium::updateRect):
2870         (WebCore::LayerTilerChromium::draw):
2871         (WebCore::LayerTilerChromium::growLayerToContain):
2872         (WebCore::LayerTilerChromium::drawTiles):
2873         * platform/graphics/chromium/LayerTilerChromium.h:
2874         * platform/graphics/chromium/ShaderChromium.cpp:
2875         (WebCore::VertexShaderTile::VertexShaderTile):
2876         (WebCore::VertexShaderTile::init):
2877         (WebCore::VertexShaderTile::getShaderString):
2878         (WebCore::FragmentTexAlphaAABinding::FragmentTexAlphaAABinding):
2879         (WebCore::FragmentTexAlphaAABinding::init):
2880         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
2881         (WebCore::FragmentShaderRGBATexSwizzleAlphaAA::getShaderString):
2882         * platform/graphics/chromium/ShaderChromium.h:
2883         (WebCore::VertexShaderTile::vertexTexTransformLocation):
2884         (WebCore::FragmentTexAlphaAABinding::alphaLocation):
2885         (WebCore::FragmentTexAlphaAABinding::samplerLocation):
2886         (WebCore::FragmentTexAlphaAABinding::fragmentTexTransformLocation):
2887         (WebCore::FragmentTexAlphaAABinding::edgeLocation):
2888         * platform/graphics/chromium/TiledLayerChromium.cpp:
2889         (WebCore::TiledLayerChromium::TiledLayerChromium):
2890         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
2891         (WebCore::TiledLayerChromium::createTilerIfNeeded):
2892         (WebCore::TiledLayerChromium::setIsMask):
2893         * platform/graphics/chromium/TiledLayerChromium.h:
2894         * platform/graphics/gpu/TilingData.cpp:
2895         (WebCore::computeNumTiles):
2896         (WebCore::TilingData::tileXIndexFromSrcCoord):
2897         (WebCore::TilingData::tileYIndexFromSrcCoord):
2898         (WebCore::TilingData::tileSizeX):
2899         (WebCore::TilingData::tileSizeY):
2900         (WebCore::TilingData::intersectDrawQuad):
2901         (WebCore::TilingData::textureOffset):
2902         * platform/graphics/gpu/TilingData.h:
2903
2904 2011-08-01  David Levin  <levin@chromium.org>
2905
2906         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
2907         https://bugs.webkit.org/show_bug.cgi?id=31639
2908
2909         Reviewed by Dmitry Titov.
2910
2911         No new functionality exposed so no new tests. (The change is basically adding
2912         more testing.)
2913
2914         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
2915         * loader/icon/IconDatabase.cpp:
2916         (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
2917         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
2918         (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
2919         (WebCore::IconDatabase::readFromDatabase): Ditto.
2920
2921 2011-08-02  Luke Macpherson   <macpherson@chromium.org>
2922
2923         Clean up value clampling in CSSStyleSelector and CSSPrimitiveValue.
2924         https://bugs.webkit.org/show_bug.cgi?id=65441
2925
2926         Reviewed by Simon Fraser.
2927
2928         No new tests / refactoring only.
2929
2930         * css/CSSPrimitiveValue.h:
2931         (WebCore::CSSPrimitiveValue::getFloatValue):
2932         Implement in terms of the new templated getValue().
2933         (WebCore::CSSPrimitiveValue::getIntValue):
2934         Implement in terms of the new templated getValue().
2935         (WebCore::CSSPrimitiveValue::getValue):
2936         Templated getValue that works for all numeric types.
2937
2938         * css/CSSStyleSelector.cpp:
2939         (WebCore::CSSStyleSelector::applyProperty):
2940         Use getValue<short> instead of rolling-your-own clamp to short.
2941
2942 2011-08-02  Julien Chaffraix  <jchaffraix@webkit.org>
2943
2944         RenderObject::computeRectForRepaint and clippedOverflowRectForRepaint should be const
2945         https://bugs.webkit.org/show_bug.cgi?id=65494
2946
2947         Reviewed by Darin Adler.
2948
2949         No new tests, const-ness change only.
2950
2951         * rendering/RenderObject.h:
2952         (WebCore::RenderObject::absoluteClippedOverflowRect):
2953         (WebCore::RenderObject::computeAbsoluteRepaintRect):
2954         Made those 2 const as they call a const method now.
2955
2956         * rendering/RenderInline.cpp:
2957         (WebCore::RenderInline::clippedOverflowRectForRepaint): Use a const RenderObject* for iterating as
2958         this is const.
2959
2960         * rendering/RenderBlock.cpp:
2961         (WebCore::RenderBlock::rectWithOutlineForRepaint):
2962         * rendering/RenderBlock.h:
2963         * rendering/RenderBox.cpp:
2964         (WebCore::RenderBox::clippedOverflowRectForRepaint):
2965         (WebCore::RenderBox::computeRectForRepaint):
2966         * rendering/RenderBox.h:
2967         * rendering/RenderInline.cpp:
2968         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2969         (WebCore::RenderInline::rectWithOutlineForRepaint):
2970         (WebCore::RenderInline::computeRectForRepaint):
2971         * rendering/RenderInline.h:
2972         * rendering/RenderObject.cpp:
2973         (WebCore::RenderObject::rectWithOutlineForRepaint):
2974         (WebCore::RenderObject::clippedOverflowRectForRepaint):
2975         (WebCore::RenderObject::computeRectForRepaint):
2976         * rendering/RenderReplaced.cpp:
2977         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2978         * rendering/RenderReplaced.h:
2979         * rendering/RenderTableCell.cpp:
2980         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2981         (WebCore::RenderTableCell::computeRectForRepaint):
2982         * rendering/RenderTableCell.h:
2983         * rendering/RenderTableCol.cpp:
2984         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
2985         * rendering/RenderTableCol.h:
2986         * rendering/RenderTableRow.cpp:
2987         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
2988         * rendering/RenderTableRow.h:
2989         * rendering/RenderText.cpp:
2990         (WebCore::RenderText::clippedOverflowRectForRepaint):
2991         * rendering/RenderText.h:
2992         * rendering/RenderView.cpp:
2993         (WebCore::RenderView::computeRectForRepaint):
2994         * rendering/RenderView.h:
2995         * rendering/svg/RenderSVGForeignObject.cpp:
2996         (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
2997         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
2998         * rendering/svg/RenderSVGForeignObject.h:
2999         * rendering/svg/RenderSVGGradientStop.h:
3000         (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
3001         * rendering/svg/RenderSVGHiddenContainer.h:
3002         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
3003         * rendering/svg/RenderSVGInline.cpp:
3004         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
3005         (WebCore::RenderSVGInline::computeRectForRepaint):
3006         * rendering/svg/RenderSVGInline.h:
3007         * rendering/svg/RenderSVGModelObject.cpp:
3008         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
3009         (WebCore::RenderSVGModelObject::computeRectForRepaint):
3010         * rendering/svg/RenderSVGModelObject.h:
3011         * rendering/svg/RenderSVGRoot.cpp:
3012         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
3013         (WebCore::RenderSVGRoot::computeRectForRepaint):
3014         * rendering/svg/RenderSVGRoot.h:
3015         * rendering/svg/RenderSVGText.cpp:
3016         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
3017         (WebCore::RenderSVGText::computeRectForRepaint):
3018         * rendering/svg/RenderSVGText.h:
3019         * rendering/svg/SVGRenderSupport.cpp:
3020         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
3021         (WebCore::SVGRenderSupport::computeRectForRepaint):
3022         * rendering/svg/SVGRenderSupport.h:
3023         Updated the following method's signature to use a const object.
3024
3025 2011-08-02  Jeffrey Pfau  <jpfau@apple.com>
3026
3027         Add namespace prefix support in XML tokenizer
3028         https://bugs.webkit.org/show_bug.cgi?id=65578
3029
3030         Reviewed by Adam Barth.
3031
3032         This also changes markup debug printing to print to stderr instead of stdout
3033
3034         * xml/parser/MarkupTokenBase.h:
3035         (WebCore::MarkupTokenBase::printString):
3036         * xml/parser/XMLToken.h:
3037         (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
3038         (WebCore::XMLToken::clear):
3039         (WebCore::XMLToken::appendToName):
3040         (WebCore::XMLToken::name):
3041         (WebCore::XMLToken::target):
3042         (WebCore::XMLToken::data):
3043         (WebCore::XMLToken::prefix):
3044         (WebCore::XMLToken::xmlDeclarationData):
3045         (WebCore::XMLToken::endPrefix):
3046         (WebCore::XMLToken::hasPrefix):
3047         (WebCore::XMLToken::endAttributePrefix):
3048         (WebCore::XMLToken::attributeHasPrefix):
3049         (WebCore::XMLToken::printAttrs):
3050         (WebCore::XMLToken::print):
3051         * xml/parser/XMLTokenizer.cpp:
3052         (WebCore::XMLTokenizer::nextToken):
3053
3054 2011-08-02  Zhenyao Mo  <zmo@google.com>
3055
3056         Unreviewed, rolling out r92238.
3057         http://trac.webkit.org/changeset/92238
3058         https://bugs.webkit.org/show_bug.cgi?id=65555
3059
3060         fail fast/events/scrollbar-double-click.html on Mac
3061
3062         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
3063         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
3064         * platform/chromium/ScrollbarThemeChromiumMac.h:
3065         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3066         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
3067         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
3068         (WebCore::toScrollbarPainterKnobStyle):
3069         (WebCore::ScrollbarThemeChromiumMac::paint):
3070
3071 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
3072
3073         Remove LegacyDefaultOptionalArguments flag from History.idl
3074         https://bugs.webkit.org/show_bug.cgi?id=65572
3075
3076         Reviewed by Adam Barth.
3077
3078         No new tests, all existing tests pass.
3079
3080         * page/History.idl:
3081
3082 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
3083
3084         Remove LegacyDefaultOptionalArguments flag from WebKitAnimationList.idl
3085         https://bugs.webkit.org/show_bug.cgi?id=65571
3086
3087         Reviewed by Adam Barth.
3088
3089         No new tests, all existing tests pass.
3090
3091         * page/WebKitAnimationList.idl:
3092
3093 2011-08-02  James Robinson  <jamesr@chromium.org>
3094
3095         [chromium] Decouple layer visibility calculations from render surfaces / computed draw transforms
3096         https://bugs.webkit.org/show_bug.cgi?id=58840
3097
3098         Reviewed by Kenneth Russell.
3099
3100         This decouples the layer visibility related calculations from the LayerChromium and CCLayerImpl trees.  This is
3101         done by making LayerRendererChromium's "calculate the world" function (renamed
3102         calculateDrawTransformsAndVisibility()) a templated, free function that can operate on either LayerChromium +
3103         RenderSurfaceChromium pairs or on CCLayerImpl + CCRenderSurface pairs and invoking it twice, once before
3104         painting and once before drawing.  Before painting, these calculations are used to determine which layers are
3105         potentially visible and should be painted, which depends on the calculated opacity, render surface bounds, and
3106         draw transforms.  Before drawing, these calculations are used to figure out everything needed to draw.
3107
3108         RenderSurfaceChromium is now used just for visibility calculations when painting.  CCRenderSurfaceChromium is
3109         responsible for actually drawing the render surfaces.
3110
3111         This does mean that in the current implementation the second calculations are redundant, but in the future this
3112         won't be the case since the pre-draw time calculations might be influenced by animations or gestures.  I've
3113         added some traces to try to monitor if this math is a significant amount of the per-frame computation.  Note
3114         that layer sorting only happens on the CCLayerImpl tree and the layer sort algorithm is the most expensive part
3115         of the calculations currently.
3116
3117         This removes all of the weak back/forward pointers between LayerChromium and CCLayerImpls, the trees are now
3118         truly decoupled.
3119
3120         Covered by compositing/ tests.
3121
3122         * WebCore.gypi:
3123         * platform/graphics/chromium/CanvasLayerChromium.cpp:
3124         (WebCore::CanvasLayerChromium::createCCLayerImpl):
3125         * platform/graphics/chromium/LayerChromium.cpp:
3126         (WebCore::LayerChromium::LayerChromium):
3127         (WebCore::LayerChromium::~LayerChromium):
3128         (WebCore::LayerChromium::createCCLayerImpl):
3129         (WebCore::LayerChromium::createRenderSurface):
3130         (WebCore::LayerChromium::descendantsDrawsContent):
3131         * platform/graphics/chromium/LayerChromium.h:
3132         (WebCore::LayerChromium::setUsesLayerScissor):
3133         (WebCore::LayerChromium::usesLayerScissor):
3134         (WebCore::LayerChromium::clearRenderSurface):
3135         (WebCore::LayerChromium::renderSurface):
3136         (WebCore::LayerChromium::drawOpacity):
3137         (WebCore::LayerChromium::setDrawOpacity):
3138         (WebCore::LayerChromium::scissorRect):
3139         (WebCore::LayerChromium::setScissorRect):
3140         (WebCore::LayerChromium::targetRenderSurface):
3141         (WebCore::LayerChromium::setTargetRenderSurface):
3142         (WebCore::LayerChromium::drawTransform):
3143         (WebCore::LayerChromium::setDrawTransform):
3144         (WebCore::LayerChromium::drawableContentRect):
3145         (WebCore::LayerChromium::setDrawableContentRect):
3146         * platform/graphics/chromium/LayerRendererChromium.cpp:
3147         (WebCore::LayerRendererChromium::updateLayers):
3148         (WebCore::LayerRendererChromium::drawLayers):
3149         (WebCore::LayerRendererChromium::paintLayerContents):
3150         (WebCore::LayerRendererChromium::drawLayersInternal):
3151         (WebCore::LayerRendererChromium::updateCompositorResources):
3152         (WebCore::LayerRendererChromium::setCompositeOffscreen):
3153         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
3154         (WebCore::LayerRendererChromium::useRenderSurface):
3155         (WebCore::LayerRendererChromium::drawLayer):
3156         (WebCore::LayerRendererChromium::initializeSharedObjects):
3157         (WebCore::LayerRendererChromium::renderSurfaceProgram):
3158         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
3159         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
3160         * platform/graphics/chromium/LayerRendererChromium.h:
3161         * platform/graphics/chromium/PluginLayerChromium.cpp:
3162         (WebCore::PluginLayerChromium::createCCLayerImpl):
3163         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3164         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
3165         (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
3166         * platform/graphics/chromium/RenderSurfaceChromium.h:
3167         (WebCore::RenderSurfaceChromium::clearLayerList):
3168         (WebCore::RenderSurfaceChromium::layerList):
3169         (WebCore::RenderSurfaceChromium::setMaskLayer):
3170         * platform/graphics/chromium/TiledLayerChromium.cpp:
3171         (WebCore::TiledLayerChromium::createCCLayerImpl):
3172         (WebCore::TiledLayerChromium::tilingTransform):
3173         * platform/graphics/chromium/TreeSynchronizer.cpp:
3174         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
3175         * platform/graphics/chromium/VideoLayerChromium.cpp:
3176         (WebCore::VideoLayerChromium::createCCLayerImpl):
3177         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
3178         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
3179         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
3180         (WebCore::CCCanvasLayerImpl::create):
3181         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3182         (WebCore::CCLayerImpl::CCLayerImpl):
3183         (WebCore::CCLayerImpl::~CCLayerImpl):
3184         (WebCore::CCLayerImpl::createRenderSurface):
3185         (WebCore::CCLayerImpl::bindContentsTexture):
3186         * platform/graphics/chromium/cc/CCLayerImpl.h:
3187         (WebCore::CCLayerImpl::create):
3188         (WebCore::CCLayerImpl::renderSurface):
3189         (WebCore::CCLayerImpl::targetRenderSurface):
3190         (WebCore::CCLayerImpl::setTargetRenderSurface):
3191         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
3192         (WebCore::CCLayerSorter::createGraphNodes):
3193         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3194         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
3195         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3196         (WebCore::CCPluginLayerImpl::create):
3197         * platform/graphics/chromium/cc/CCRenderSurface.cpp: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp.
3198         (WebCore::CCRenderSurface::CCRenderSurface):
3199         (WebCore::CCRenderSurface::~CCRenderSurface):
3200         (WebCore::CCRenderSurface::cleanupResources):
3201         (WebCore::CCRenderSurface::layerRenderer):
3202         (WebCore::CCRenderSurface::drawableContentRect):
3203         (WebCore::CCRenderSurface::prepareContentsTexture):
3204         (WebCore::CCRenderSurface::releaseContentsTexture):
3205         (WebCore::CCRenderSurface::drawSurface):
3206         (WebCore::CCRenderSurface::draw):
3207         (WebCore::CCRenderSurface::name):
3208         (WebCore::writeIndent):
3209         (WebCore::CCRenderSurface::dumpSurface):
3210         (WebCore::CCRenderSurface::owningLayerId):
3211         * platform/graphics/chromium/cc/CCRenderSurface.h: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h.
3212         (WebCore::CCRenderSurface::contentRectCenter):
3213         (WebCore::CCRenderSurface::drawOpacity):
3214         (WebCore::CCRenderSurface::setDrawOpacity):
3215         (WebCore::CCRenderSurface::setDrawTransform):
3216         (WebCore::CCRenderSurface::drawTransform):
3217         (WebCore::CCRenderSurface::setReplicaDrawTransform):
3218         (WebCore::CCRenderSurface::replicaDrawTransform):
3219         (WebCore::CCRenderSurface::setOriginTransform):
3220         (WebCore::CCRenderSurface::originTransform):
3221         (WebCore::CCRenderSurface::setScissorRect):
3222         (WebCore::CCRenderSurface::scissorRect):
3223         (WebCore::CCRenderSurface::setContentRect):
3224         (WebCore::CCRenderSurface::contentRect):
3225         (WebCore::CCRenderSurface::setSkipsDraw):
3226         (WebCore::CCRenderSurface::skipsDraw):
3227         (WebCore::CCRenderSurface::clearLayerList):
3228         (WebCore::CCRenderSurface::layerList):
3229         (WebCore::CCRenderSurface::setMaskLayer):
3230         (WebCore::CCRenderSurface::contentsTexture):
3231         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3232         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
3233         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3234         (WebCore::CCTiledLayerImpl::create):
3235         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3236         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
3237         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3238         (WebCore::CCVideoLayerImpl::create):
3239
3240 2011-08-02  Luke Macpherson   <macpherson@chromium.org>
3241
3242         Implement CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition and CSSPropertyWebkitTextEmphasisStyle in CSSStyleApplyProperty.
3243         https://bugs.webkit.org/show_bug.cgi?id=65517
3244
3245         Reviewed by Dimitri Glazkov.
3246
3247         No new tests. Just refactoring and moving code around.
3248
3249         * css/CSSStyleApplyProperty.cpp:
3250         Added class ApplyPropertyTextEmphasisStyle to handle the special TextEmphasisStyle logic.
3251         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
3252         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
3253         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
3254         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3255         Added initializations for CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition, CSSPropertyWebkitTextEmphasisStyle.
3256         * css/CSSStyleSelector.cpp:
3257         (WebCore::CSSStyleSelector::applyProperty):
3258         Remove existing implementations.
3259
3260 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
3261
3262         Remove LegacyDefaultOptionalArguments flag from SpeechInputResultList.idl
3263         https://bugs.webkit.org/show_bug.cgi?id=65570
3264
3265         Reviewed by Adam Barth.
3266
3267         No new tests, all existing tests pass
3268
3269         * page/SpeechInputResultList.idl:
3270
3271 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
3272
3273         Remove LegacyDefaultOptionalArguments flag from EventSource.idl
3274         https://bugs.webkit.org/show_bug.cgi?id=65568
3275
3276         Reviewed by Adam Barth.
3277
3278         No new tests, all existing tests pass.
3279
3280         * page/EventSource.idl:
3281
3282 2011-08-02  Gavin Peters  <gavinp@chromium.org>
3283
3284         fail earlier to track down null CachedScript execution
3285         https://bugs.webkit.org/show_bug.cgi?id=65563
3286
3287         Over in http://code.google.com/p/chromium/issues/detail?id=75604 I can't reproduce the problem.  Careful reading of the code hasn't led me
3288         to an obvious cause either.  This patch should cause failure earlier, and lead to better stacks.  I'll watch Chrome Canary's crash
3289         uploads carefully, and remove this CRASH() (and fix the underlying problem) once I understand it.
3290
3291         Reviewed by Alexey Proskuryakov.
3292
3293         No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
3294
3295         * dom/ScriptRunner.cpp:
3296         (WebCore::ScriptRunner::queueScriptForExecution):
3297
3298 2011-08-02  Sailesh Agrawal  <sail@chromium.org>
3299
3300         Chromium: Update forked ScrollbarThemeChromiumMac.mm
3301         https://bugs.webkit.org/show_bug.cgi?id=65555
3302
3303         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
3304
3305         Reviewed by James Robinson.
3306
3307         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
3308         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
3309         (wkScrollbarPainterSetEnabled):
3310         * platform/chromium/ScrollbarThemeChromiumMac.h:
3311         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
3312         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3313         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
3314         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
3315         (WebCore::toScrollbarPainterKnobStyle):
3316         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
3317         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
3318         (WebCore::ScrollbarThemeChromiumMac::paint):
3319
3320 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
3321
3322         Remove LegacyDefaultOptionalArguments flag from SVG IDL files
3323         https://bugs.webkit.org/show_bug.cgi?id=65337
3324
3325         Reviewed by Nikolas Zimmermann.
3326
3327         No new tests, all existing tests pass.
3328
3329         * svg/ElementTimeControl.idl:
3330         * svg/SVGAnimationElement.idl:
3331         * svg/SVGDocument.idl:
3332         * svg/SVGElementInstance.idl:
3333         * svg/SVGElementInstanceList.idl:
3334         * svg/SVGException.idl:
3335         * svg/SVGFEDropShadowElement.idl:
3336         * svg/SVGFEGaussianBlurElement.idl:
3337         * svg/SVGFEMorphologyElement.idl:
3338         * svg/SVGFilterElement.idl:
3339         * svg/SVGLocatable.idl:
3340         * svg/SVGMarkerElement.idl:
3341         * svg/SVGPathElement.idl:
3342         * svg/SVGSVGElement.idl:
3343         * svg/SVGStylable.idl:
3344         * svg/SVGStyleElement.idl:
3345         * svg/SVGTests.idl:
3346         * svg/SVGTextContentElement.idl:
3347
3348 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
3349
3350         Remove LegacyDefaultOptionalArguments flag from CSS IDL files
3351         https://bugs.webkit.org/show_bug.cgi?id=65341
3352
3353         Reviewed by Adam Barth.
3354
3355         No new tests. All existing tests pass.
3356
3357         * css/CSSMediaRule.idl:
3358         * css/CSSPrimitiveValue.idl:
3359         * css/CSSRuleList.idl:
3360         * css/CSSStyleDeclaration.idl:
3361         * css/CSSStyleSheet.idl:
3362         * css/CSSValueList.idl:
3363         * css/MediaList.idl:
3364         * css/MediaQueryList.idl:
3365         * css/MediaQueryListListener.idl:
3366         * css/StyleMedia.idl:
3367         * css/StyleSheetList.idl:
3368         * css/WebKitCSSKeyframesRule.idl:
3369         * css/WebKitCSSMatrix.idl:
3370
3371 2011-08-02  Robert Kroeger  <rjkroege@chromium.org>
3372
3373         [chromium] Layering violations in gesture recognizer
3374         https://bugs.webkit.org/show_bug.cgi?id=65044
3375
3376         Reviewed by Adam Barth.
3377
3378         Divided the gesture recognizer up to correct a layering
3379         violation by moving gesture implementation from it to
3380         EventHandler::handleGestureEvent so that the gesture recognizer
3381         could simply be an engine for generating gesture events from
3382         touch events.
3383
3384         * dom/WheelEvent.cpp:
3385         (WebCore::WheelEvent::WheelEvent):
3386         (WebCore::WheelEvent::initWheelEvent):
3387         * dom/WheelEvent.h:
3388         Added symbolic contstant for tick multiplier.
3389         * page/EventHandler.cpp:
3390         (WebCore::EventHandler::EventHandler):
3391         Removed construction of gesture recognizer.
3392         (WebCore::EventHandler::handleGestureEvent):
3393         Extended for new gesture events added in this patch.
3394         (WebCore::EventHandler::handleTouchEvent):
3395         Removed call into gesture recognizer.
3396         * page/EventHandler.h:
3397         * page/FrameView.cpp:
3398         (WebCore::FrameView::reset):
3399         Removed code to reset gesture recognizer.
3400         * platform/PlatformGestureEvent.h:
3401         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
3402         (WebCore::PlatformGestureEvent::deltaX):
3403         (WebCore::PlatformGestureEvent::deltaY):
3404         (WebCore::PlatformGestureEvent::shiftKey):
3405         (WebCore::PlatformGestureEvent::ctrlKey):
3406         (WebCore::PlatformGestureEvent::altKey):
3407         (WebCore::PlatformGestureEvent::metaKey):
3408         Added additional gesture types and parameters.
3409         * platform/PlatformGestureRecognizer.h:
3410         * platform/chromium/FramelessScrollView.h:
3411         Added support for displatching gesture and touch events.
3412         * platform/chromium/GestureRecognizerChromium.cpp:
3413         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
3414         (WebCore::InnerGestureRecognizer::reset):
3415         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
3416         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
3417         Removed all depedencies on EventHandler. Instead, create gesture
3418         events from touch event stream.
3419         (WebCore::InnerGestureRecognizer::constructScrollGesture):
3420         (WebCore::touchDown):
3421         (WebCore::noGesture):
3422         (WebCore::click):
3423         (WebCore::isClickOrScroll):
3424         (WebCore::inScroll):
3425         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
3426         (WebCore::GestureRecognizerChromium::reset):
3427         * platform/chromium/GestureRecognizerChromium.h:
3428         * platform/chromium/PopupMenuChromium.cpp:
3429         Added support to handle touch events and gesture events.
3430         (WebCore::PopupContainer::handleTouchEvent):
3431         (WebCore::PopupContainer::handleGestureEvent):
3432         (WebCore::PopupListBox::handleTouchEvent):
3433         (WebCore::PopupListBox::handleGestureEvent):
3434         * platform/chromium/PopupMenuChromium.h:
3435         * platform/mac/ScrollAnimatorMac.mm:
3436         (WebCore::ScrollAnimatorMac::handleGestureEvent):
3437         Ignores the newly added gesture event types.
3438
3439 2011-08-01  Michael Saboff  <msaboff@apple.com>
3440
3441         Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
3442         https://bugs.webkit.org/show_bug.cgi?id=65502
3443
3444         Reviewed by Anders Carlsson.
3445
3446         Change the vm_copy in PurgeableBuffer::create to be a memcpy.  The
3447         vm_copy causes the process to have additional references to the same
3448         memory region.  These additional reference caused madvise(MADV_FREE_REUSABLE)
3449         to fail when it encountered such pages.
3450
3451         No tests added this is a resource defect and not a functional issue.
3452
3453         * platform/mac/PurgeableBufferMac.cpp:
3454         (WebCore::PurgeableBuffer::create):
3455
3456 2011-08-02  Stephen White  <senorblanco@chromium.org>
3457
3458         [Chromium] Remove an unnecessary readback during accelerated 
3459         canvas-to-canvas draws.
3460         https://bugs.webkit.org/show_bug.cgi?id=65560
3461
3462         Reviewed by James Robinson.
3463
3464         No new tests.  (Printing has few tests, sadly.)
3465
3466         * platform/graphics/skia/ImageBufferSkia.cpp:
3467         (WebCore::ImageBuffer::draw):
3468         Revert most of the changes to this file from
3469         http://trac.webkit.org/changeset/91870, except for the call which makes
3470         the source context current, so that the readPixels() still works.
3471
3472
3473 2011-08-02  Filip Pizlo  <fpizlo@apple.com>
3474
3475         JSC GC is far too conservative about growing the heap size, particularly
3476         on desktop platforms
3477         https://bugs.webkit.org/show_bug.cgi?id=65438
3478
3479         Reviewed by Oliver Hunt.
3480
3481         No change in behavior, thus no new tests.
3482         
3483         Pass the LargeHeap hint to JSGlobalData when creating the JSC runtime
3484         instance corresponding to non-worker JS code.
3485
3486         * bindings/js/JSDOMWindowBase.cpp:
3487         (WebCore::JSDOMWindowBase::commonJSGlobalData):
3488
3489 2011-08-02  Van Lam  <vanlam@google.com>
3490
3491         --webkit-visual-word: ctrl-arrow is not able to reach the boundary of line
3492         https://bugs.webkit.org/show_bug.cgi?id=61346
3493
3494         Reviewed by Ryosuke Niwa.
3495
3496         When collecintg word boundaries in a box, explicitly check if the box
3497         is at the end of line (so it should contain the end-of-line position)
3498         and collect the end-of-line position.
3499
3500         * editing/visible_units.cpp:
3501         (WebCore::isBoxVisuallyLastInLine):
3502         (WebCore::appendPositionAtLogicalEndOfLine):
3503         (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
3504         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
3505
3506 2011-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
3507