Bug 148212 - Web Inspector: Truncate data URIs
Summary: Web Inspector: Truncate data URIs
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (show other bugs)
Version: WebKit Local Build
Hardware: All All
: P2 Normal
Assignee: Nikita Vasilyev
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-08-19 21:49 PDT by Nikita Vasilyev
Modified: 2015-08-20 19:34 PDT (History)
8 users (show)

See Also:


Attachments
[Animated GIF] Bug (1.33 MB, image/gif)
2015-08-19 21:49 PDT, Nikita Vasilyev
no flags Details
[Animated GIF] With the patch applied (483.26 KB, image/gif)
2015-08-19 22:26 PDT, Nikita Vasilyev
no flags Details
Patch (5.95 KB, patch)
2015-08-19 22:37 PDT, Nikita Vasilyev
no flags Details | Formatted Diff | Diff
Patch (6.19 KB, patch)
2015-08-19 23:07 PDT, Nikita Vasilyev
timothy: review-
Details | Formatted Diff | Diff
[Animated GIF] With the patch applied (378.02 KB, image/gif)
2015-08-19 23:17 PDT, Nikita Vasilyev
no flags Details
Patch (6.55 KB, patch)
2015-08-20 01:14 PDT, Nikita Vasilyev
timothy: review+
Details | Formatted Diff | Diff
Patch (6.19 KB, patch)
2015-08-20 17:15 PDT, Nikita Vasilyev
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nikita Vasilyev 2015-08-19 21:49:07 PDT
Created attachment 259446 [details]
[Animated GIF] Bug

Data URI can be megabytes in size, we shouldn't display them as is.

Test case:

data:text/html;base64,PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCiAgICA8dGl0bGU+QmFzZTY0IHRlc3Q8L3RpdGxlPg0KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iZGF0YTp0ZXh0L2NzcztiYXNlNjQsUUdOb1lYSnpaWFFnSWxWVVJpMDRJanNxZTJKdmVDMXphWHBwYm1jNlltOXlaR1Z5TFdKdmVIMW9kRzFzTEdKdlpIbDdhR1ZwWjJoME9qRXdNQ1Y5WW05a2VYdG1iMjUwT2pnM0xqVWxMekV1TlNCV1pYSmtZVzVoTENKSVpXeDJaWFJwWTJFZ1RtVjFaU0lzUVhKcFlXd3NjMkZ1Y3kxelpYSnBaanRpWVdOclozSnZkVzVrT2lObE5HVTNaakU3WTI5c2IzSTZJek16TXp0MFlXSXRjMmw2WlRveU95MXRiM290ZEdGaUxYTnBlbVU2TWp0dFlYSm5hVzQ2TUR0d2IzTnBkR2x2YmpweVpXeGhkR2wyWlgxb01TeG9NaXhvTXl4b05DeG9OU3hvTm50bWIyNTBMV1poYldsc2VUcEhaVzl5WjJsaExFMWhjbWx2Yml4TFpXWmhMSE5sY21sbU8yeHBibVV0YUdWcFoyaDBPakV1TW4xb01udG1iMjUwTFhOcGVtVTZNVFV3SlR0bWIyNTBMWGRsYVdkb2REcHViM0p0WVd3N2JXRnlaMmx1T2pGbGJTQXdJQzQxWlcxOWFETjdabTl1ZEMxemFYcGxPakV3TUNVN1ptOXVkQzEzWldsbmFIUTZibTl5YldGc08yMWhjbWRwYmpveExqSTFaVzBnTUNBdU56VmxiVHQwWlhoMExYUnlZVzV6Wm05eWJUcDFjSEJsY21OaGMyVTdiR1YwZEdWeUxYTndZV05wYm1jNkxqRmxiWDFvTkh0bWIyNTBMWE5wZW1VNk1UQXdKVHRtYjI1MExYZGxhV2RvZERwaWIyeGtPMjFoY21kcGJqb3hMakkxWlcwZ01DQXVOelZsYlgxd0xIVnNMRzlzTEdSc0xHSnNiMk5yY1hWdmRHVjdiV0Z5WjJsdU9qQWdNQ0F3TGpjMVpXMTljQ3hzYVN4a2JDeGliRzlqYTNGMWIzUmxlMjFoZUMxM2FXUjBhRG8yTURCd2VIMWtaSHR0WVhKbmFXNHRZbTkwZEc5dE9pNHlOV1Z0ZldsdWNIVjBMR0oxZEhSdmJpeHpaV3hsWTNSN1ptOXVkQzF6YVhwbE9qRXpjSGg5YVc1d2RYUmJkSGx3WlQxamFHVmphMkp2ZUYwc2FXNXdkWFJiZEhsd1pUMXlZV1JwYjEwc2FXNXdkWFJiZEhsd1pUMXlZVzVuWlYxN1ptOXVkQzF6YVhwbE9qRTJjSGg5WTI5a1pYdG1iMjUwTFdaaGJXbHNlVHBEYjI1emIyeGhjeXhOWlc1c2J5eHRiMjV2YzNCaFkyVTdabTl1ZEMxemFYcGxPamt5TGpnMUpYMXdjbVUrWTI5a1pYdG1iMjUwTFhOcGVtVTZNVE53ZUgxMGFIdG1iMjUwTFdaaGJXbHNlVHBIWlc5eVoybGhMRTFoY21sdmJpeExaV1poTEhObGNtbG1PM1JsZUhRdFlXeHBaMjQ2YkdWbWREdDJaWEowYVdOaGJDMWhiR2xuYmpwMGIzQTdjR0ZrWkdsdVp5MXlhV2RvZERveFpXMTlkR1I3ZG1WeWRHbGpZV3d0WVd4cFoyNDZkRzl3ZlhCeVpYdHRZWEpuYVc0Nk1DQXdJREF1TnpWbGJUdDNhR2wwWlMxemNHRmpaVHB3Y21VdGQzSmhjSDF3Y21VZ2FYdG1iMjUwTFhOMGVXeGxPbTV2Y20xaGJIMWliRzlqYTNGMWIzUmxlM0JoWkdScGJtY3RiR1ZtZERveUxqRmxiVHRqYjJ4dmNqb2pOalkyZldKc2IyTnJjWFZ2ZEdVNlltVm1iM0psZTJOdmJuUmxiblE2SitLQW5DYzdabXh2WVhRNmJHVm1kRHRtYjI1ME9qTXdNQ1VnUjJWdmNtZHBZU3hOWVhKcGIyNHNTMlZtWVN4elpYSnBaanR0WVhKbmFXNHRkRzl3T2kwd0xqQTFaVzA3ZEdWNGRDMXBibVJsYm5RNkxUQXVObVZ0ZldGaVluSjdiR1YwZEdWeUxYTndZV05wYm1jNkxqQTFaVzE5YTJKa2UyWnZiblF0YzJsNlpUb3hNM0I0TzJadmJuUXRabUZ0YVd4NU9pSklaV3gyWlhScFkyRWdUbVYxWlNJc1FYSnBZV3dzYzJGdWN5MXpaWEpwWmp0d1lXUmthVzVuT2pBZ01DNDFaVzA3WW1GamEyZHliM1Z1WkMxamIyeHZjam9qWmpkbU4yWTNPMk52Ykc5eU9pTXpNek03WW05NExYTm9ZV1J2ZHpvd0lERndlQ0F3SUhKblltRW9NQ3d3TERBc01DNHhLU3d3SURBZ01DQXhjSGdnSTJabVppQnBibk5sZER0aWIzSmtaWEl0Y21Ga2FYVnpPak53ZUR0a2FYTndiR0Y1T21sdWJHbHVaUzFpYkc5amF6dHRZWEpuYVc0NkxURndlQ0F3TzNkb2FYUmxMWE53WVdObE9tNXZkM0poY0R0aWIzSmtaWEk2TVhCNElITnZiR2xrSUNOak9XTTVZems3WW05eVpHVnlMV0p2ZEhSdmJTMWpiMnh2Y2pvalFVRkJPMkp2Y21SbGNpMTBiM0F0WTI5c2IzSTZJMlJpWkdKa1luMXJZbVFyYTJKa2UyMWhjbWRwYmkxc1pXWjBPaTB1TW1WdGZYWmhjbnRtYjI1MExYTjBlV3hsT201dmNtMWhiSDF6WVcxd2UyWnZiblF0YzJsNlpUcHBibWhsY21sMGZTNXNhWE4wTFdobFlXUmxjbnR0WVhKbmFXNHRZbTkwZEc5dE9qQmxiWDBqWTI5dWRHVnVkSHR0YVc0dGFHVnBaMmgwT2pFd01DVjlZVHBzYVc1cmUyTnZiRzl5T2lNd1pUY3lZMlY5WVRwMmFYTnBkR1ZrZTJOdmJHOXlPaU00WmpZMVlURjlZVHBvYjNabGNpeGhPbVp2WTNWemUyTnZiRzl5T2lNd01EZzFabVo5WVRwaFkzUnBkbVY3WTI5c2IzSTZJemhtTmpWaE1YMGpkRzl3TEM1bGJuUnllUzEwYVhSc1pTd3VaVzUwY25rdFpYaGpaWEp3ZEN3dVpXNTBjbmt0Ylc5eVpYdHdZV1JrYVc1bkxXeGxablE2TmlVN2NHRmtaR2x1Wnkxc1pXWjBPamgyZHp0d1lXUmthVzVuTFhKcFoyaDBPallsTzNCaFpHUnBibWN0Y21sbmFIUTZPSFozZldGeWRHbGpiR1Y3YjNabGNtWnNiM2M2YUdsa1pHVnVPM0J2YzJsMGFXOXVPbkpsYkdGMGFYWmxPMkp2Y21SbGNpMWliM1IwYjIwNk1YQjRJSE52Ykdsa0lDTkRRME03WW05eVpHVnlMWFJ2Y0RveGNIZ2djMjlzYVdRZ0kwWTVSamxHT1R0aVlXTnJaM0p2ZFc1a09pTmxaV1U3TFhkbFltdHBkQzEwY21GdWMybDBhVzl1TFdSMWNtRjBhVzl1T2pBdU1uTTdMVzF2ZWkxMGNtRnVjMmwwYVc5dUxXUjFjbUYwYVc5dU9qQXVNbk03TFc4dGRISmhibk5wZEdsdmJpMWtkWEpoZEdsdmJqb3dMakp6TzNSeVlXNXphWFJwYjI0dFpIVnlZWFJwYjI0Nk1DNHljenN0ZDJWaWEybDBMWFJ5WVc1emFYUnBiMjR0ZEdsdGFXNW5MV1oxYm1OMGFXOXVPbVZoYzJVdGIzVjBPeTF0YjNvdGRISmhibk5wZEdsdmJpMTBhVzFwYm1jdFpuVnVZM1JwYjI0NlpXRnpaUzF2ZFhRN0xXOHRkSEpoYm5OcGRHbHZiaTEwYVcxcGJtY3RablZ1WTNScGIyNDZaV0Z6WlMxdmRYUTdkSEpoYm5OcGRHbHZiaTEwYVcxcGJtY3RablZ1WTNScGIyNDZaV0Z6WlMxdmRYUTdMWGRsWW10cGRDMTBjbUZ1YzJsMGFXOXVMWEJ5YjNCbGNuUjVPbTl3WVdOcGRIazdMVzF2ZWkxMGNtRnVjMmwwYVc5dUxYQnliM0JsY25SNU9tOXdZV05wZEhrN0xXOHRkSEpoYm5OcGRHbHZiaTF3Y205d1pYSjBlVHB2Y0dGamFYUjVPM1J5WVc1emFYUnBiMjR0Y0hKdmNHVnlkSGs2YjNCaFkybDBlWDBqZEc5d2UyWnZiblF0Wm1GdGFXeDVPa2RsYjNKbmFXRXNUV0Z5YVc5dUxFdGxabUVzYzJWeWFXWTdjR0ZrWkdsdVp5MTBiM0E2TGpabGJUdHdZV1JrYVc1bkxXSnZkSFJ2YlRvdU5tVnRPMkp2Y21SbGNpMWliM1IwYjIwNk1YQjRJSE52Ykdsa0lDTmpaV1F6WlRRN1ltRmphMmR5YjNWdVpEb2paVFJsTjJZeE8yTnZiRzl5T2lNMk5qY3pPVGw5TG5acFpYY3RhRzl0WlNBamRHOXdleTEzWldKcmFYUXRkSEpoYm5OcGRHbHZiaTFrZFhKaGRHbHZiam93TGpKek95MXRiM290ZEhKaGJuTnBkR2x2Ymkxa2RYSmhkR2x2Ympvd0xqSnpPeTF2TFhSeVlXNXphWFJwYjI0dFpIVnlZWFJwYjI0Nk1DNHljenQwY21GdWMybDBhVzl1TFdSMWNtRjBhVzl1T2pBdU1uTTdMWGRsWW10cGRDMTBjbUZ1YzJsMGFXOXVMWFJwYldsdVp5MW1kVzVqZEdsdmJqcGxZWE5sTFc5MWREc3RiVzk2TFhSeVlXNXphWFJwYjI0dGRHbHRhVzVuTFdaMWJtTjBhVzl1T21WaGMyVXRiM1YwT3kxdkxYUnlZVzV6YVhScGIyNHRkR2x0YVc1bkxXWjFibU4wYVc5dU9tVmhjMlV0YjNWME8zUnlZVzV6YVhScGIyNHRkR2x0YVc1bkxXWjFibU4wYVc5dU9tVmhjMlV0YjNWME95MTNaV0pyYVhRdGRISmhibk5wZEdsdmJpMXdjbTl3WlhKMGVUcGlZV05yWjNKdmRXNWtMV052Ykc5eUxDQm1iMjUwTFhOcGVtVXNJR0p2Y21SbGNpMWliM1IwYjIwdFkyOXNiM0k3TFcxdmVpMTBjbUZ1YzJsMGFXOXVMWEJ5YjNCbGNuUjVPbUpoWTJ0bmNtOTFibVF0WTI5c2IzSXNJR1p2Ym5RdGMybDZaU3dnWW05eVpHVnlMV0p2ZEhSdmJTMWpiMnh2Y2pzdGJ5MTBjbUZ1YzJsMGFXOXVMWEJ5YjNCbGNuUjVPbUpoWTJ0bmNtOTFibVF0WTI5c2IzSXNJR1p2Ym5RdGMybDZaU3dnWW05eVpHVnlMV0p2ZEhSdmJTMWpiMnh2Y2p0MGNtRnVjMmwwYVc5dUxYQnliM0JsY25SNU9tSmhZMnRuY205MWJtUXRZMjlzYjNJc0lHWnZiblF0YzJsNlpTd2dZbTl5WkdWeUxXSnZkSFJ2YlMxamIyeHZjbjB1ZG1sbGR5MW9iMjFsTFdSdmJtVWdMbVZ1ZEhKNUxXMXZjbVY3WkdsemNHeGhlVHB1YjI1bGZTTjBhWFJzWlh0MFpYaDBMV1JsWTI5eVlYUnBiMjQ2Ym05dVpUdGthWE53YkdGNU9tbHViR2x1WlMxaWJHOWphenR3WVdSa2FXNW5PakE3YldGeVoybHVPakE3ZDJocGRHVXRjM0JoWTJVNmJtOTNjbUZ3ZlM1bGJuUnllUzEwYVhSc1pYdG1iMjUwT2pFNE1DVXZNUzR5SUVkbGIzSm5hV0VzVFdGeWFXOXVMRXRsWm1Fc2MyVnlhV1lnYm05eWJXRnNJRzV2Y20xaGJEdHRZWEpuYVc0Nk1EdHdZV1JrYVc1bkxYUnZjRG95TkhCNE8zQmhaR1JwYm1jdFltOTBkRzl0T2pFNGNIZzdkbVZ5ZEdsallXd3RZV3hwWjI0NmRHOXdPMk52Ykc5eU9pTXdNREE3TFhkbFltdHBkQzEwY21GdWMybDBhVzl1TFhCeWIzQmxjblI1T21admJuUXRjMmw2WlN3Z2JHbHVaUzFvWldsbmFIUXNJSEJoWkdScGJtY3RkRzl3TENCd1lXUmthVzVuTFdKdmRIUnZiVHN0Ylc5NkxYUnlZVzV6YVhScGIyNHRjSEp2Y0dWeWRIazZabTl1ZEMxemFYcGxMQ0JzYVc1bExXaGxhV2RvZEN3Z2NHRmtaR2x1WnkxMGIzQXNJSEJoWkdScGJtY3RZbTkwZEc5dE95MXZMWFJ5WVc1emFYUnBiMjR0Y0hKdmNHVnlkSGs2Wm05dWRDMXphWHBsTENCc2FXNWxMV2hsYVdkb2RDd2djR0ZrWkdsdVp5MTBiM0FzSUhCaFpHUnBibWN0WW05MGRHOXRPM1J5WVc1emFYUnBiMjR0Y0hKdmNHVnlkSGs2Wm05dWRDMXphWHBsTENCc2FXNWxMV2hsYVdkb2RDd2djR0ZrWkdsdVp5MTBiM0FzSUhCaFpHUnBibWN0WW05MGRHOXRPeTEzWldKcmFYUXRkSEpoYm5OcGRHbHZiaTFrZFhKaGRHbHZiam93TGpKek95MXRiM290ZEhKaGJuTnBkR2x2Ymkxa2RYSmhkR2x2Ympvd0xqSnpPeTF2TFhSeVlXNXphWFJwYjI0dFpIVnlZWFJwYjI0Nk1DNHljenQwY21GdWMybDBhVzl1TFdSMWNtRjBhVzl1T2pBdU1uTTdMWGRsWW10cGRDMTBjbUZ1YzJsMGFXOXVMWFJwYldsdVp5MW1kVzVqZEdsdmJqcGxZWE5sTFc5MWREc3RiVzk2TFhSeVlXNXphWFJwYjI0dGRHbHRhVzVuTFdaMWJtTjBhVzl1T21WaGMyVXRiM1YwT3kxdkxYUnlZVzV6YVhScGIyNHRkR2x0YVc1bkxXWjFibU4wYVc5dU9tVmhjMlV0YjNWME8zUnlZVzV6YVhScGIyNHRkR2x0YVc1bkxXWjFibU4wYVc5dU9tVmhjMlV0YjNWMGZTNWxiblJ5ZVMxc2FXNXJlM1JsZUhRdFpHVmpiM0poZEdsdmJqcHViMjVsTzJKdmNtUmxjaTFpYjNSMGIyMDZNWEI0SUhOdmJHbGtmUzVsYm5SeWVTMXNhVzVyT214cGJtdDdZbTl5WkdWeUxXSnZkSFJ2YlMxamIyeHZjam9qTnpsaFkyUm1mUzVsYm5SeWVTMXNhVzVyT25acGMybDBaV1I3WW05eVpHVnlMV0p2ZEhSdmJTMWpiMnh2Y2pvallqbGhObU01ZlM1bGJuUnllUzFzYVc1ck9taHZkbVZ5TEM1bGJuUnllUzFzYVc1ck9tWnZZM1Z6ZTJKdmNtUmxjaTFpYjNSMGIyMHRZMjlzYjNJNkl6Y3lZalptT0gwdVpXNTBjbmt0YkdsdWF6cGhZM1JwZG1WN1ltOXlaR1Z5TFdKdmRIUnZiUzFqYjJ4dmNqb2pZamxoTm1NNWZTNWxiblJ5ZVMxbGVHTmxjbkIwZTIxaGNtZHBiaTFpYjNSMGIyMDZNbVZ0T3kxM1pXSnJhWFF0ZEhKaGJuTnBkR2x2Ymkxd2NtOXdaWEowZVRwdFlYSm5hVzR0WW05MGRHOXRPeTF0YjNvdGRISmhibk5wZEdsdmJpMXdjbTl3WlhKMGVUcHRZWEpuYVc0dFltOTBkRzl0T3kxdkxYUnlZVzV6YVhScGIyNHRjSEp2Y0dWeWRIazZiV0Z5WjJsdUxXSnZkSFJ2YlR0MGNtRnVjMmwwYVc5dUxYQnliM0JsY25SNU9tMWhjbWRwYmkxaWIzUjBiMjA3TFhkbFltdHBkQzEwY21GdWMybDBhVzl1TFdSMWNtRjBhVzl1T2pBdU1uTTdMVzF2ZWkxMGNtRnVjMmwwYVc5dUxXUjFjbUYwYVc5dU9qQXVNbk03TFc4dGRISmhibk5wZEdsdmJpMWtkWEpoZEdsdmJqb3dMakp6TzNSeVlXNXphWFJwYjI0dFpIVnlZWFJwYjI0Nk1DNHljenN0ZDJWaWEybDBMWFJ5WVc1emFYUnBiMjR0ZEdsdGFXNW5MV1oxYm1OMGFXOXVPbXhwYm1WaGNqc3RiVzk2TFhSeVlXNXphWFJwYjI0dGRHbHRhVzVuTFdaMWJtTjBhVzl1T214cGJtVmhjanN0YnkxMGNtRnVjMmwwYVc5dUxYUnBiV2x1WnkxbWRXNWpkR2x2Ympwc2FXNWxZWEk3ZEhKaGJuTnBkR2x2YmkxMGFXMXBibWN0Wm5WdVkzUnBiMjQ2YkdsdVpXRnlmUzVsYm5SeWVTMWxlR05sY25CMFBtZ3lPbVpwY25OMExXTm9hV3hrZTIxaGNtZHBiaTEwYjNBNkxqVmxiWDB1Wlc1MGNua3RiVzl5Wlh0dmRtVnlabXh2ZHpwb2FXUmtaVzQ3YUdWcFoyaDBPakI5TG1GeWRHbGpiR1V0WTNWeWNtVnVkQ0F1Wlc1MGNua3RkR2wwYkdWN1ptOXVkQzF6YVhwbE9qSTFNQ1U3Y0dGa1pHbHVaeTEwYjNBNk16SndlRHR3WVdSa2FXNW5MV0p2ZEhSdmJUb3lOSEI0ZlM1aGNuUnBZMnhsTFdOMWNuSmxiblFnTG1WdWRISjVMV3hwYm10N1ltOXlaR1Z5TFdKdmRIUnZiUzFqYjJ4dmNqb2paV1ZsZlM1aGNuUnBZMnhsTFdOMWNuSmxiblFnTG1WdWRISjVMV1Y0WTJWeWNIUjdiV0Z5WjJsdUxXSnZkSFJ2YlRvdU56VmxiWDB1WVhKMGFXTnNaUzFqZFhKeVpXNTBJQzVsYm5SeWVTMXRiM0psZTJobGFXZG9kRHBoZFhSdmZTNTJhV1YzTFdodmJXVWdJM1JwZEd4bExDNWhjblJwWTJ4bExXTjFjbkpsYm5RZ0xtVnVkSEo1TFd4cGJtdDdZMjlzYjNJNkl6QXdNRHRqZFhKemIzSTZZWFYwYnp0d2IybHVkR1Z5TFdWMlpXNTBjenB1YjI1bGZTTm9aV0ZrYkdsdVpYdGpiMnh2Y2pvak5qWTNNems1ZlM1MmFXVjNMV2h2YldVZ0kzUnZjSHRtYjI1MExYTnBlbVU2TVRVd0pYMHVkbWxsZHkxd1lXZGxMV1J2Ym1VZ1lYSjBhV05zWlRwdWIzUW9MbUZ5ZEdsamJHVXRZM1Z5Y21WdWRDbDdaR2x6Y0d4aGVUcHViMjVsZlM1MmFXVjNMWEJoWjJVdFpHOXVaU0FqWVdKdmRYUXNMblpwWlhjdGNHRm5aUzFrYjI1bElDTm9aV0ZrYkdsdVpYdGthWE53YkdGNU9tNXZibVY5TG5acFpYY3RjR0ZuWlMxa2IyNWxJQzVsYm5SeWVTMXRiM0psZTI5MlpYSm1iRzkzT21GMWRHOTlMbk5vWld4c0xYQnliMjF3ZERwaVpXWnZjbVVzTG5SbGNtMXBibUZzSUdOdlpHVTZZbVZtYjNKbGUyTnZiblJsYm5RNkp5UWdKenRqYjJ4dmNqb2pPVGs1ZlNOaFltOTFkSHR2ZG1WeVpteHZkenBvYVdSa1pXNDdabTl1ZEMxemFYcGxPamMxSlgwallXSnZkWFFzSTJGaWIzVjBJR3hwZTIxaGNtZHBiaTFzWldaME9qQTdjR0ZrWkdsdVp5MXNaV1owT2pBN2JHbHpkQzF6ZEhsc1pUcHViMjVsZlNOaFltOTFkQ0JzYVh0a2FYTndiR0Y1T21sdWJHbHVaUzFpYkc5amF6dHRZWEpuYVc0dGNtbG5hSFE2TVRKd2VIMGpjMlZ5ZG1salpYTjdiV0Z5WjJsdU9qQTdjR0ZrWkdsdVp6b3dmU050WlNCa1pXeDdaR2x6Y0d4aGVUcHViMjVsZlM1dFpYUmhlMjFoY21kcGJqb3hMalZsYlNBd0lEQTdZMjlzYjNJNkl6azVPVHRtYjI1MExXWmhiV2xzZVRwSFpXOXlaMmxoTEUxaGNtbHZiaXhMWldaaExITmxjbWxtZlM1dFpYUmhQbUZrWkhKbGMzTjdaR2x6Y0d4aGVUcHBibXhwYm1VN1ptOXVkQzF6ZEhsc1pUcHViM0p0WVd4OUxtWjFiR3d0ZDJsa2RHZ3NMbUZ3Y0dWdVpHbDRlMkp2ZUMxemFYcHBibWM2WTI5dWRHVnVkQzFpYjNnN2NHRmtaR2x1Wnkxc1pXWjBPallsTzNCaFpHUnBibWN0YkdWbWREbzRkbmM3Y0dGa1pHbHVaeTF5YVdkb2REbzJKVHR3WVdSa2FXNW5MWEpwWjJoME9qaDJkenQzYVdSMGFEb3hNREFsTzIxaGNtZHBiaTFzWldaME9pMDJKVHR0WVhKbmFXNHRiR1ZtZERvdE9IWjNmUzVoY0hCbGJtUnBlSHRpWVdOclozSnZkVzVrT2lObE5HVTNaakU3WW05eVpHVnlMWFJ2Y0RveGNIZ2djMjlzYVdRZ0kyTmxaRE5sTkR0dFlYSm5hVzR0ZEc5d09qRXVOV1Z0TzNCaFpHUnBibWN0ZEc5d09qRXVOV1Z0TzIxcGJpMW9aV2xuYUhRNk16WTFjSGg5TG1OdmJXMWxiblJ6ZTIxaGVDMTNhV1IwYURvNE1EQndlSDB1YVcxaFoyVXRkRzluWjJ4bGUySnZlQzF6YUdGa2IzYzZNQ0F3SURGd2VDQWpZMlZrTTJVME8ySnZlQzF6YVhwcGJtYzZZMjl1ZEdWdWRDMWliM2c3ZEhKaGJuTnBkR2x2Ymkxd2NtOXdaWEowZVRwM2FXUjBhQ3dnYldGeVoybHVMV3hsWm5RN2RISmhibk5wZEdsdmJpMWtkWEpoZEdsdmJqb3VOSE03ZEhKaGJuTnBkR2x2YmkxMGFXMXBibWN0Wm5WdVkzUnBiMjQ2WTNWaWFXTXRZbVY2YVdWeUtEQXNJREF1T1N3Z01DNHlMQ0F4S1gwdWFXMWhaMlV0ZEc5bloyeGxPbWh2ZG1WeUxDNXBiV0ZuWlMxMGIyZG5iR1U2Wm05amRYTjdZbTk0TFhOb1lXUnZkem93SURBZ01YQjRJQ00yTmpjek9UbDlMbXB6SUM1cGJXRm5aUzEwYjJkbmJHVXRiV2x1ZTJOMWNuTnZjanA2YjI5dExXbHVPMk4xY25OdmNqb3RkMlZpYTJsMExYcHZiMjB0YVc0N2JXRnlaMmx1TFd4bFpuUTZNSDB1YW5NZ0xtbHRZV2RsTFhSdloyZHNaUzF0WVhoN1kzVnljMjl5T25wdmIyMHRiM1YwTzJOMWNuTnZjam90ZDJWaWEybDBMWHB2YjIwdGIzVjBPMjFoY21kcGJpMXNaV1owT2kwNGRuZDlkbWxrWlc5N1kzVnljMjl5T25CdmFXNTBaWEo5ZG1sa1pXODZhRzkyWlhJc0xuWnBaR1Z2TFhCaGRYTmxaSHRpYjNndGMyaGhaRzkzT2pBZ01DQXhjSGdnSXpZMk56TTVPWDFvY250aVlXTnJaM0p2ZFc1a09tNXZibVU3WW05eVpHVnlMWGRwWkhSb09qQTdZbTl5WkdWeUxXSnZkSFJ2YlRveGNIZ2djMjlzYVdRZ0kwUkVSRHR0WVhKbmFXNDZNUzQxWlcwZ01EdHRZWGd0ZDJsa2RHZzZOakF3Y0hoOUxuQmhaMlV0WlhKeWIzSjdZbUZqYTJkeWIzVnVaRG9qWmpobE1tVm1mUzV3YVhobGJHRjBaV1I3YVcxaFoyVXRjbVZ1WkdWeWFXNW5PbTl3ZEdsdGFYcGxVM0JsWldRN2FXMWhaMlV0Y21WdVpHVnlhVzVuT2kxdGIzb3RZM0pwYzNBdFpXUm5aWE03YVcxaFoyVXRjbVZ1WkdWeWFXNW5PaTEzWldKcmFYUXRiM0IwYVcxcGVtVXRZMjl1ZEhKaGMzUTdhVzFoWjJVdGNtVnVaR1Z5YVc1bk9tOXdkR2x0YVhwbExXTnZiblJ5WVhOME8ybHRZV2RsTFhKbGJtUmxjbWx1WnpwamNtbHpjQzFsWkdkbGN6dHBiV0ZuWlMxeVpXNWtaWEpwYm1jNmNHbDRaV3hoZEdWa095MXRjeTFwYm5SbGNuQnZiR0YwYVc5dUxXMXZaR1U2Ym1WaGNtVnpkQzF1WldsbmFHSnZjbjFBYldWa2FXRWdLRzFoZUMxM2FXUjBhRG9nTVRBd01IQjRLWHR3Y21VK1kyOWtaWHRtYjI1MExYTnBlbVU2TVRKd2VIMTlRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJRGN3TUhCNEtYdHdjbVUrWTI5a1pYdG1iMjUwTFhOcGVtVTZNVEZ3ZUgxOSIvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJjb25zb2xlLmxvZygnbG9hZGVkJykiPg0KQmFzZTY0IHRlc3QNCjxwPjxidXR0b24gb25jbGljaz0iY29uc29sZS5sb2coTWF0aC5yYW5kb20oKSkiPk1hdGgucmFuZG9tKCk8L2J1dHRvbj48L3A+DQo8c2NyaXB0IHNyYz0iZGF0YTp0ZXh0L2phdmFzY3JpcHQ7YmFzZTY0LEx5b2dkR1Z6ZENCcVlYWmhjMk55YVhCMElDb3ZEUW9OQ25kcGJtUnZkeTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ0pzYjJGa0lpd2dablZ1WTNScGIyNG9aU2tnZXcwS0lDQWdJR052Ym5OdmJHVXVkSEpoWTJVb0tUc05DaUFnSUNCamIyNXpiMnhsTG1sdVptOG9Ja3h2WVdSbFpDQm1jbTl0SUhOdmRYSmpaUzExY213dWFuTWlLVHNOQ24wcE93MEtEUW92THlNZ2MyOTFjbU5sVlZKTVBYTnZkWEpqWlMxMWNtd3Vhbk09Ij48L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD4=
Comment 1 Radar WebKit Bug Importer 2015-08-19 21:49:27 PDT
<rdar://problem/22356591>
Comment 2 Nikita Vasilyev 2015-08-19 22:26:11 PDT
(In reply to comment #0)
> Created attachment 259446 [details]
> [Animated GIF] Bug

You couldn't see it there, but the title popovers went all the way to the upper edge of my screen.
Comment 3 Nikita Vasilyev 2015-08-19 22:26:43 PDT
Created attachment 259449 [details]
[Animated GIF] With the patch applied
Comment 4 Nikita Vasilyev 2015-08-19 22:37:36 PDT
Created attachment 259450 [details]
Patch
Comment 5 Nikita Vasilyev 2015-08-19 23:07:35 PDT
Created attachment 259452 [details]
Patch
Comment 6 Nikita Vasilyev 2015-08-19 23:17:25 PDT
Created attachment 259453 [details]
[Animated GIF] With the patch applied
Comment 7 Timothy Hatcher 2015-08-19 23:37:03 PDT
Comment on attachment 259452 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=259452&action=review

> Source/WebInspectorUI/UserInterface/Base/URLUtilities.js:213
> +WebInspector.displayDataUri = function(uri)

URI

> Source/WebInspectorUI/UserInterface/Base/URLUtilities.js:219
> +    else

No else after a return.

> Source/WebInspectorUI/UserInterface/Base/URLUtilities.js:220
> +        return matched[1] + "â¦" + uri.slice(-3);

Should escape the ellipsis.

> Source/WebInspectorUI/UserInterface/Models/Resource.js:126
> +    get displayUrl()

URL

> Source/WebInspectorUI/UserInterface/Models/Resource.js:128
> +        if (this._url.startsWith("data:")) {

Why two different approaches?

> Source/WebInspectorUI/UserInterface/Models/Resource.js:134
> +            else

No else after a return.

> Source/WebInspectorUI/UserInterface/Models/Resource.js:136
> +        } else

Ditto.

> Source/WebInspectorUI/UserInterface/Models/SourceCodeLocation.js:336
> +            let displayUrl = sourceCode.displayUrl;

Can this use the global function you added?
Comment 8 Nikita Vasilyev 2015-08-19 23:54:07 PDT
Comment on attachment 259452 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=259452&action=review

>> Source/WebInspectorUI/UserInterface/Models/Resource.js:128
>> +        if (this._url.startsWith("data:")) {
> 
> Why two different approaches?

Good question. I only now noticed that this code is almost the same as WebInspector.displayDataUri.

This method is used to display tooltips. There are two differences:
— An extra line break after the header for displayDataUri, e.g. "data:text/css;base64,", which only makes sense for tooltips.
— Preview size: 64 chars for displayUrl and 6 chars for WebInspector.displayDataUri.

I'll rewrite this.
Comment 9 Nikita Vasilyev 2015-08-20 01:14:27 PDT
Created attachment 259457 [details]
Patch
Comment 10 Timothy Hatcher 2015-08-20 06:28:31 PDT
Comment on attachment 259457 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=259457&action=review

> Source/WebInspectorUI/UserInterface/Base/URLUtilities.js:213
> +WebInspector.truncateURL = function(url, multiline=false, dataURIMaxSize=6)

We are putting spaces around default argument assignments.

> Source/WebInspectorUI/UserInterface/Models/Resource.js:666
> +WebInspector.Resource.DataURIMaxSize = 64;

Could just inline as a const.

> Source/WebInspectorUI/UserInterface/Models/SourceCodeLocation.js:336
> +            const displayUrl = sourceCode.displayURL;

URL
Comment 11 Nikita Vasilyev 2015-08-20 17:15:29 PDT
Created attachment 259535 [details]
Patch
Comment 12 WebKit Commit Bot 2015-08-20 19:34:44 PDT
Comment on attachment 259535 [details]
Patch

Clearing flags on attachment: 259535

Committed r188739: <http://trac.webkit.org/changeset/188739>
Comment 13 WebKit Commit Bot 2015-08-20 19:34:49 PDT
All reviewed patches have been landed.  Closing bug.